general-library-union 2.3.99 → 2.4.1

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.
@@ -75,7 +75,11 @@ export class AuthService {
75
75
  this.storageService.setItem('moduloSeleccionado', this.storageService.getItem('moduloFavorito'));
76
76
  }
77
77
  else {
78
- this.storageService.setItem('moduloSeleccionado', data?.modulodefecto);
78
+ let modulodefecto = data?.modulodefecto;
79
+ if (!modulodefecto) {
80
+ modulodefecto = modulos[0].llave;
81
+ }
82
+ this.storageService.setItem('moduloSeleccionado', modulodefecto);
79
83
  }
80
84
  }
81
85
  let tokenDecrypt = CryptoJS.AES.encrypt(JSON.stringify(data?.autenticacionUsuarioDTO), environment.crypto_secret_key);
@@ -178,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
178
182
  providedIn: 'root',
179
183
  }]
180
184
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.StorageService }, { type: i3.CargarControlFuncionalidadService }, { type: i4.CookieService }] });
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2lvcy9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQW1CLE1BQU0sTUFBTSxDQUFDO0FBRXhELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBT3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQzs7Ozs7O0FBTXRDLE1BQU0sT0FBTyxXQUFXO0lBRVo7SUFDQTtJQUNBO0lBQ0E7SUFKVixZQUNVLElBQWdCLEVBQ2hCLGNBQThCLEVBQzlCLG9CQUF1RCxFQUN2RCxhQUE0QjtRQUg1QixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQW1DO1FBQ3ZELGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUcsQ0FBQztJQUUxQzs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLFdBQWlDLEVBQUUsWUFBWSxFQUFFLFlBQVk7UUFDakUsTUFBTSxHQUFHLEdBQUcsR0FBRyxZQUFZLHVCQUF1QixDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsSUFBSSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUs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aW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgT2JzZXJ2YWJsZSwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVc2VyTG9naW5DcmVkZW50aWFscyB9IGZyb20gJy4uL21vZGVsb3MvdXNlci5tb2RlbCc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvbkVycm9yIH0gZnJvbSAnLi4vZXJyb3Jlcy9hdXRoZW50aWNhdGlvbi5lcnJvcic7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IENhcmdhckNvbnRyb2xGdW5jaW9uYWxpZGFkU2VydmljZSB9IGZyb20gJy4vY2FyZ2FyLWNvbnRyb2wtZnVuY2lvbmFsaWRhZC5zZXJ2aWNlJztcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xuaW1wb3J0IHsgVGFyZWFzTW9kZWwgfSBmcm9tICcuLi8uLi9zZWd1cmlkYWQvbW9kZWxvcy9UYXJlYXNNb2RlbCc7XG5pbXBvcnQgeyBNb2R1bG9zTW9kZWwgfSBmcm9tICcuLi8uLi9zZWd1cmlkYWQvbW9kZWxvcy9Nb2R1bG9zTW9kZWwnO1xuaW1wb3J0IHsgUm9sTW9kZWwgfSBmcm9tICcuLi8uLi9zZWd1cmlkYWQvbW9kZWxvcy9Sb2xNb2RlbCc7IFxuaW1wb3J0IHsgZW52aXJvbm1lbnQgfSBmcm9tICcuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnO1xuaW1wb3J0ICogYXMgQ3J5cHRvSlMgZnJvbSAnY3J5cHRvLWpzJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsIFxuICAgIHByaXZhdGUgY29udHJvbEZ1bmNpb25hbGlkYWQ6IENhcmdhckNvbnRyb2xGdW5jaW9uYWxpZGFkU2VydmljZSxcbiAgICBwcml2YXRlIGNvb2tpZVNlcnZpY2U6IENvb2tpZVNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIFJlYWxpemEgbGEgcGV0aWNpw7NuIHBhcmEgYXV0ZW50aWNhciBhbCB1c3VhcmlvLiBEZXZ1ZWx2ZSBlbCB0b2tlbiBxdWUgZ2VuZXLDsyBlbCBzZXJ2aWNpby5cbiAgICogQHBhcmFtIGNyZWRlbnRpYWxzIE9iamV0byBjb24gbG9zIGRhdG9zIGRlIGFjY2Vzb1xuICAgKiBAcmV0dXJucyBUb2tlbiB2w6FsaWRvXG4gICAqL1xuICBsb2dpbihjcmVkZW50aWFsczogVXNlckxvZ2luQ3JlZGVudGlhbHMsIHVybGFwaW51Y2xlbywgdG9rZW5QdWJsaWNvKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt1cmxhcGludWNsZW99L2F1dGhlbnRpY2F0aW9uL2xvZ2luYDtcbiAgICBpZiAoIXRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpKXtcbiAgICAgIHRoaXMuY29va2llU2VydmljZS5zZXQoJ3VybG51Y2xlbycsIHVybGFwaW51Y2xlbyk7XG4gICAgfVxuICAgIHZhciBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdBdXRob3JpemF0aW9uJywgYEJlYXJlciAke3Rva2VuUHVibGljb31gKVxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxzdHJpbmc+KHVybCwgY3JlZGVudGlhbHMsIHtoZWFkZXJzfSkucGlwZShcbiAgICAgIG1hcCgoZGF0YSkgPT4ge1xuICAgICAgICBjb25zdCB0b2tlbiA9IChkYXRhIGFzIGFueSk/LnRva2VuIGFzIHN0cmluZztcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCd0b2tlbicsIHRva2VuKTtcblxuICAgICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgKiBDb250cm9sIGZ1bmNpb25hbGlkYWRlc1xuICAgICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgICAgICAvKiBsZXQgcm9sOiBhbnkgPSB7fVxuICAgICAgICByb2wuY29kaWdvUm9sID0gdGhpcy5nZXRUb2tlbktleSgnbGxhdmVSb2wnKTtcbiAgICAgICAgdGhpcy5jb250cm9sRnVuY2lvbmFsaWRhZC5jYXJnYXJGdW5jaW9uYWxpZGFkKHJvbCwgYCR7dXJsYXBpbnVjbGVvfS9hdXRoZW50aWNhdGlvbi9mdW5jaW9uYWxpZGFkZXNgLCBoZWFkZXJzKS5zdWJzY3JpYmUoe30pO1xuICAgICAgICovXG4gICAgICAgIHZhciBsaXN0Um9sZXMgPSAoZGF0YSBhcyBhbnkpPy5saXN0YVJvbGVzO1xuICAgICAgICBjb25zb2xlLmxvZyhsaXN0Um9sZXMpXG4gICAgICBpZiAobGlzdFJvbGVzLmxlbmd0aCA+IDEgKXtcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCdyb2xlcycsIEpTT04uc3RyaW5naWZ5KGxpc3RSb2xlcykpO1xuICAgICAgICAvL3RoaXMubW9zdHJhclJvbGVzID0gdHJ1ZTtcbiAgICAgIH1pZiAobGlzdFJvbGVzLmxlbmd0aCA9PSAxICl7XG4gICAgICAgIGxldCByb2w6IGFueSA9IHt9XG4gICAgICAgIHJvbC5jb2RpZ29Sb2wgPSB0aGlzLmdldFRva2VuS2V5KCdsbGF2ZVJvbCcpO1xuICAgICAgICByb2wuYXBsaWNhY2lvbiA9IHRoaXMuZ2V0VG9rZW5LZXkoJ2FwbGljYWNpb24nKTtcbiAgICAgICAgdGhpcy5jb250cm9sRnVuY2lvbmFsaWRhZC5jYXJnYXJGdW5jaW9uYWxpZGFkKHJvbCwgYCR7dXJsYXBpbnVjbGVvfS9hdXRoZW50aWNhdGlvbi9mdW5jaW9uYWxpZGFkZXNgLCBoZWFkZXJzKS5zdWJzY3JpYmUoe30pO1xuICAgICAgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAgICAgICAvKiBDb2RpZ28gdGVtcG9yYWwgcGFyYSBtYW50ZW5lciBsYXMgdGFyZWFzLCBwZXJvIGVzdGFzIGRlYmVuIHNlciBvYnRlbmlkYXMgcG9yIHVuIHNlcnZpY2lvICovXG4gICAgICAgIHZhciB0YXJlYXM6IFRhcmVhc01vZGVsW10gPSAoZGF0YSBhcyBhbnkpLnRhcmVhc21vZHVsbztcbiAgICAgICAgY29uc29sZS5sb2codGFyZWFzKVxuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ19fdGFyZWFzJywgIEpTT04uc3RyaW5naWZ5KHRhcmVhcykpO1xuICAgICAgICB2YXIgbW9kdWxvc0RlVGFyZWFzID0gdGFyZWFzLmZpbHRlcigob2JqLCBpbmRleCwgc2VsZikgPT4ge1xuICAgICAgICAgIHJldHVybiBpbmRleCA9PT0gc2VsZi5maW5kSW5kZXgoKG8pID0+IG8ubW9kdWxvID09PSBvYmoubW9kdWxvKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciBtb2R1bG9zOiBNb2R1bG9zTW9kZWxbXSA9IFtdO1xuICAgICAgICBtb2R1bG9zRGVUYXJlYXMuZm9yRWFjaChkYXRhID0+IHtcbiAgICAgICAgICBsZXQgbW9kdWxvOiBNb2R1bG9zTW9kZWwgPSB7XG4gICAgICAgICAgICBsbGF2ZTogZGF0YS5tb2R1bG8sXG4gICAgICAgICAgICBkZXNjcmlwY2lvbjogZGF0YS5ub21icmVNb2R1bG8sXG4gICAgICAgICAgICBpY29ubzogZGF0YS5pY29ub01vZHVsb1xuICAgICAgICAgIH1cbiAgICAgICAgICBtb2R1bG9zLnB1c2gobW9kdWxvKVxuICAgICAgICB9KVxuICAgICAgICBjb25zb2xlLmxvZygnZW50cmEgYWNhICBsb2dpbiBnZW5lcmFsJyk7XG5cbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCdtb2R1bG9zJywgSlNPTi5zdHJpbmdpZnkobW9kdWxvcykpO1xuICAgICAgICBpZiAodGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKCdtb2R1bG9GYXZvcml0bycpICE9PSB1bmRlZmluZWQgJiYgdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKCdtb2R1bG9GYXZvcml0bycpKXtcbiAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ21vZHVsb1NlbGVjY2lvbmFkbycsIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnbW9kdWxvRmF2b3JpdG8nKSk7XG4gICAgICAgIH1lbHNlIHtcbiAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ21vZHVsb1NlbGVjY2lvbmFkbycsIChkYXRhIGFzIGFueSk/Lm1vZHVsb2RlZmVjdG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBsZXQgdG9rZW5EZWNyeXB0ID0gQ3J5cHRvSlMuQUVTLmVuY3J5cHQoSlNPTi5zdHJpbmdpZnkoKGRhdGEgYXMgYW55KT8uYXV0ZW50aWNhY2lvblVzdWFyaW9EVE8pLCBlbnZpcm9ubWVudC5jcnlwdG9fc2VjcmV0X2tleSlcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnYXV0ZW50aWNhY2lvblVzdWFyaW9EVE8nLCB0b2tlbkRlY3J5cHQudG9TdHJpbmcoKSk7XG4gICAgICAgXG4gICAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgICAgICAgcmV0dXJuIHRva2VuO1xuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID49IDQwMCkge1xuICAgICAgICAgIHRocm93IG5ldyBBdXRoZW50aWNhdGlvbkVycm9yKCdVc3VhcmlvL2NvbnRyYXNlw7FhIGludsOhbGlkby4nKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXZ1ZWx2ZSBlbCB0b2tlbiBhbG1hY2VuYWRvIGVuIGVsIHN0b3JhZ2UgbyB2YWNpbyBzaSBubyBsbyBlbmN1ZW50cmFcbiAgICogQHJldHVybnMgVG9rZW5cbiAgICovXG4gIGdldFRva2VuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndG9rZW4nLCAnJyk7XG4gIH1cblxuICAvKipcbiAgICogRGV2dWVsdmUgZWwgdmFsb3IgYXNvY2lhZG8gYSBsYSBsbGF2ZSBxdWUgc2UgZW5jdWVudHJhIGFsbWFjZW5hZG8gZW4gZWwgdG9rZW4uXG4gICAqIEBwYXJhbSBrZXkgTGxhdmUgcHJlc2VudGUgZW4gZWwgb2JqZXRvIGRlbCB0b2tlblxuICAgKiBAcmV0dXJucyBWYWxvciBhbG1hY2VuYWRvXG4gICAqL1xuICBnZXRUb2tlbktleShrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9kZWNvZGVUb2tlbigpO1xuICAgICAgcmV0dXJuIGRhdGFba2V5XS50b1N0cmluZygpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2Egc2kgZWwgdG9rZW4gYWxtYWNlbmFkbyBlbiBlbCBzdG9yYWdlIGVzIHbDoWxpZG8gdmVyaWZpY2FuZG8gcXVlIHNlXG4gICAqIHB1ZWRhIGRlY29kaWZpY2FyIHkgcXVlIGVsIHRpZW1wbyBhY3R1YWwgc2VhIG1lbm9yIGFsIGRlIGV4cGlyYWNpw7NuLlxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgaXNUb2tlblZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkYXRhID0gdGhpcy5fZGVjb2RlVG9rZW4oKTtcbiAgICAgIGNvbnN0IGV4cGlyeVRpbWUgPSBkYXRhLmV4cDtcbiAgICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gTWF0aC5mbG9vcihuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApO1xuICAgICAgaWYoKGN1cnJlbnRUaW1lIDw9IGV4cGlyeVRpbWUpICYmIHRoaXMuZ2V0VG9rZW5LZXkoJ251bWVyb0VtcHJlc2EnKSAmJiB0aGlzLmdldFRva2VuS2V5KCdub21icmVDb25leGlvbicpKXtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBCb3JyYSBlbCB0b2tlbiBkZWwgdXN1YXJpbyBwYXJhIGludmFsaWRhciBsYSBzZXNpw7NuXG4gICAqL1xuICBkZWxldGVUb2tlbigpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ3Rva2VuJyk7XG4gIH1cblxuICAvKipcbiAgICogRGVjb2RpZmljYSBlbCB0b2tlbiBxdWUgZXN0YSBhbG1hY2VuYWRvIHkgZGV2dWVsdmUgZWwgb2JqZXRvIHF1ZSByZXByZXNlbnRhXG4gICAqIEByZXR1cm5zIEluZm9ybWFjacOzbiBhbG1hY2VuYWRhIGVuIGVsIFRva2VuXG4gICAqL1xuICBwcml2YXRlIF9kZWNvZGVUb2tlbigpOiBhbnkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB0b2tlbiA9IHRoaXMuZ2V0VG9rZW4oKTtcbiAgICAgIGNvbnN0IGRhdGEgPSB0b2tlbi5zcGxpdCgnLicpWzFdO1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoYXRvYihkYXRhKSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNjYXJUb2tlbihvYmpldG86IGFueSwgdG9rZW4pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCB1cmwgPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KCd1cmxudWNsZW8nKVxuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKClcbiAgICAgIC5zZXQoJ0F1dGhvcml6YXRpb24nLCBgQmVhcmVyICR7dG9rZW59YCk7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt1cmx9L2F1dGhlbnRpY2F0aW9uL3JlZnJlc2NhclRva2VuYCwgb2JqZXRvLCB7IGhlYWRlcnMgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2VuZXJhclRva2VuUHVibGljbyh1cmxudWNsZW8/KSB7XG4gICAgbGV0IHVybCA9IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpXG4gICAgaWYgKCF1cmwpe1xuICAgICAgdXJsID0gdXJsbnVjbGVvXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dXJsfS9hdXRoZW50aWNhdGlvbi9nZW5lcmFyVG9rZW5QdWJsaWNvYCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWNjaW9uUm9sKF9yb2xTZWxlY2Npb25hZG86IFJvbE1vZGVsLCB1cmxudWNsZW8/KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgdXJsID0gdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJylcbiAgICBpZiAoIXVybCl7XG4gICAgICB1cmwgPSB1cmxudWNsZW9cbiAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3VybH0vcmVxdWllcmV0b2tlbi9yb2wvc2VsZWNjaW9uYWRvYCwgX3JvbFNlbGVjY2lvbmFkbyk7XG4gICAgfVxuIFxufSJdfQ==
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL3NlcnZpY2lvcy9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQW1CLE1BQU0sTUFBTSxDQUFDO0FBRXhELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBT3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQzs7Ozs7O0FBTXRDLE1BQU0sT0FBTyxXQUFXO0lBRVo7SUFDQTtJQUNBO0lBQ0E7SUFKVixZQUNVLElBQWdCLEVBQ2hCLGNBQThCLEVBQzlCLG9CQUF1RCxFQUN2RCxhQUE0QjtRQUg1QixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQW1DO1FBQ3ZELGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUcsQ0FBQztJQUUxQzs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLFdBQWlDLEVBQUUsWUFBWSxFQUFFLFlBQVk7UUFDakUsTUFBTSxHQUFHLEdBQUcsR0FBRyxZQUFZLHVCQUF1QixDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsSUFBSSxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUs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Q0FBQztJQUMxRixDQUFDO3VHQXhLUSxXQUFXOzJHQUFYLFdBQVcsY0FGVixNQUFNOzsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIE9ic2VydmFibGUsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXNlckxvZ2luQ3JlZGVudGlhbHMgfSBmcm9tICcuLi9tb2RlbG9zL3VzZXIubW9kZWwnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25FcnJvciB9IGZyb20gJy4uL2Vycm9yZXMvYXV0aGVudGljYXRpb24uZXJyb3InO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBDYXJnYXJDb250cm9sRnVuY2lvbmFsaWRhZFNlcnZpY2UgfSBmcm9tICcuL2Nhcmdhci1jb250cm9sLWZ1bmNpb25hbGlkYWQuc2VydmljZSc7XG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZS1zZXJ2aWNlJztcbmltcG9ydCB7IFRhcmVhc01vZGVsIH0gZnJvbSAnLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvVGFyZWFzTW9kZWwnO1xuaW1wb3J0IHsgTW9kdWxvc01vZGVsIH0gZnJvbSAnLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvTW9kdWxvc01vZGVsJztcbmltcG9ydCB7IFJvbE1vZGVsIH0gZnJvbSAnLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvUm9sTW9kZWwnOyBcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcbmltcG9ydCAqIGFzIENyeXB0b0pTIGZyb20gJ2NyeXB0by1qcyc7XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLCBcbiAgICBwcml2YXRlIGNvbnRyb2xGdW5jaW9uYWxpZGFkOiBDYXJnYXJDb250cm9sRnVuY2lvbmFsaWRhZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb29raWVTZXJ2aWNlOiBDb29raWVTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBSZWFsaXphIGxhIHBldGljacOzbiBwYXJhIGF1dGVudGljYXIgYWwgdXN1YXJpby4gRGV2dWVsdmUgZWwgdG9rZW4gcXVlIGdlbmVyw7MgZWwgc2VydmljaW8uXG4gICAqIEBwYXJhbSBjcmVkZW50aWFscyBPYmpldG8gY29uIGxvcyBkYXRvcyBkZSBhY2Nlc29cbiAgICogQHJldHVybnMgVG9rZW4gdsOhbGlkb1xuICAgKi9cbiAgbG9naW4oY3JlZGVudGlhbHM6IFVzZXJMb2dpbkNyZWRlbnRpYWxzLCB1cmxhcGludWNsZW8sIHRva2VuUHVibGljbyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dXJsYXBpbnVjbGVvfS9hdXRoZW50aWNhdGlvbi9sb2dpbmA7XG4gICAgaWYgKCF0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KCd1cmxudWNsZW8nKSl7XG4gICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KCd1cmxudWNsZW8nLCB1cmxhcGludWNsZW8pO1xuICAgIH1cbiAgICB2YXIgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldCgnQXV0aG9yaXphdGlvbicsIGBCZWFyZXIgJHt0b2tlblB1YmxpY299YClcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8c3RyaW5nPih1cmwsIGNyZWRlbnRpYWxzLCB7aGVhZGVyc30pLnBpcGUoXG4gICAgICBtYXAoKGRhdGEpID0+IHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSAoZGF0YSBhcyBhbnkpPy50b2tlbiBhcyBzdHJpbmc7XG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgndG9rZW4nLCB0b2tlbik7XG5cbiAgICAgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICogQ29udHJvbCBmdW5jaW9uYWxpZGFkZXNcbiAgICAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICAgICAgLyogbGV0IHJvbDogYW55ID0ge31cbiAgICAgICAgcm9sLmNvZGlnb1JvbCA9IHRoaXMuZ2V0VG9rZW5LZXkoJ2xsYXZlUm9sJyk7XG4gICAgICAgIHRoaXMuY29udHJvbEZ1bmNpb25hbGlkYWQuY2FyZ2FyRnVuY2lvbmFsaWRhZChyb2wsIGAke3VybGFwaW51Y2xlb30vYXV0aGVudGljYXRpb24vZnVuY2lvbmFsaWRhZGVzYCwgaGVhZGVycykuc3Vic2NyaWJlKHt9KTtcbiAgICAgICAqL1xuICAgICAgICB2YXIgbGlzdFJvbGVzID0gKGRhdGEgYXMgYW55KT8ubGlzdGFSb2xlcztcbiAgICAgICAgY29uc29sZS5sb2cobGlzdFJvbGVzKVxuICAgICAgaWYgKGxpc3RSb2xlcy5sZW5ndGggPiAxICl7XG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgncm9sZXMnLCBKU09OLnN0cmluZ2lmeShsaXN0Um9sZXMpKTtcbiAgICAgICAgLy90aGlzLm1vc3RyYXJSb2xlcyA9IHRydWU7XG4gICAgICB9aWYgKGxpc3RSb2xlcy5sZW5ndGggPT0gMSApe1xuICAgICAgICBsZXQgcm9sOiBhbnkgPSB7fVxuICAgICAgICByb2wuY29kaWdvUm9sID0gdGhpcy5nZXRUb2tlbktleSgnbGxhdmVSb2wnKTtcbiAgICAgICAgcm9sLmFwbGljYWNpb24gPSB0aGlzLmdldFRva2VuS2V5KCdhcGxpY2FjaW9uJyk7XG4gICAgICAgIHRoaXMuY29udHJvbEZ1bmNpb25hbGlkYWQuY2FyZ2FyRnVuY2lvbmFsaWRhZChyb2wsIGAke3VybGFwaW51Y2xlb30vYXV0aGVudGljYXRpb24vZnVuY2lvbmFsaWRhZGVzYCwgaGVhZGVycykuc3Vic2NyaWJlKHt9KTtcbiAgICAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgICAgICAgLyogQ29kaWdvIHRlbXBvcmFsIHBhcmEgbWFudGVuZXIgbGFzIHRhcmVhcywgcGVybyBlc3RhcyBkZWJlbiBzZXIgb2J0ZW5pZGFzIHBvciB1biBzZXJ2aWNpbyAqL1xuICAgICAgICB2YXIgdGFyZWFzOiBUYXJlYXNNb2RlbFtdID0gKGRhdGEgYXMgYW55KS50YXJlYXNtb2R1bG87XG4gICAgICAgIGNvbnNvbGUubG9nKHRhcmVhcylcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCdfX3RhcmVhcycsICBKU09OLnN0cmluZ2lmeSh0YXJlYXMpKTtcbiAgICAgICAgdmFyIG1vZHVsb3NEZVRhcmVhcyA9IHRhcmVhcy5maWx0ZXIoKG9iaiwgaW5kZXgsIHNlbGYpID0+IHtcbiAgICAgICAgICByZXR1cm4gaW5kZXggPT09IHNlbGYuZmluZEluZGV4KChvKSA9PiBvLm1vZHVsbyA9PT0gb2JqLm1vZHVsbyk7XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgbW9kdWxvczogTW9kdWxvc01vZGVsW10gPSBbXTtcbiAgICAgICAgbW9kdWxvc0RlVGFyZWFzLmZvckVhY2goZGF0YSA9PiB7XG4gICAgICAgICAgbGV0IG1vZHVsbzogTW9kdWxvc01vZGVsID0ge1xuICAgICAgICAgICAgbGxhdmU6IGRhdGEubW9kdWxvLFxuICAgICAgICAgICAgZGVzY3JpcGNpb246IGRhdGEubm9tYnJlTW9kdWxvLFxuICAgICAgICAgICAgaWNvbm86IGRhdGEuaWNvbm9Nb2R1bG9cbiAgICAgICAgICB9XG4gICAgICAgICAgbW9kdWxvcy5wdXNoKG1vZHVsbylcbiAgICAgICAgfSlcbiAgICAgICAgY29uc29sZS5sb2coJ2VudHJhIGFjYSAgbG9naW4gZ2VuZXJhbCcpO1xuXG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnbW9kdWxvcycsIEpTT04uc3RyaW5naWZ5KG1vZHVsb3MpKTtcbiAgICAgICAgaWYgKHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnbW9kdWxvRmF2b3JpdG8nKSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnbW9kdWxvRmF2b3JpdG8nKSl7XG4gICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCdtb2R1bG9TZWxlY2Npb25hZG8nLCB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ21vZHVsb0Zhdm9yaXRvJykpO1xuICAgICAgICB9ZWxzZSB7XG4gICAgICAgICAgbGV0IG1vZHVsb2RlZmVjdG8gPSAoZGF0YSBhcyBhbnkpPy5tb2R1bG9kZWZlY3RvO1xuICAgICAgICAgIGlmICghbW9kdWxvZGVmZWN0bykge1xuICAgICAgICAgICAgbW9kdWxvZGVmZWN0byA9IG1vZHVsb3NbMF0ubGxhdmU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnbW9kdWxvU2VsZWNjaW9uYWRvJywgbW9kdWxvZGVmZWN0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGxldCB0b2tlbkRlY3J5cHQgPSBDcnlwdG9KUy5BRVMuZW5jcnlwdChKU09OLnN0cmluZ2lmeSgoZGF0YSBhcyBhbnkpPy5hdXRlbnRpY2FjaW9uVXN1YXJpb0RUTyksIGVudmlyb25tZW50LmNyeXB0b19zZWNyZXRfa2V5KVxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCdhdXRlbnRpY2FjaW9uVXN1YXJpb0RUTycsIHRva2VuRGVjcnlwdC50b1N0cmluZygpKTtcbiAgICAgICBcbiAgICAgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAgICAgICByZXR1cm4gdG9rZW47XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPj0gNDAwKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEF1dGhlbnRpY2F0aW9uRXJyb3IoJ1VzdWFyaW8vY29udHJhc2XDsWEgaW52w6FsaWRvLicpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIERldnVlbHZlIGVsIHRva2VuIGFsbWFjZW5hZG8gZW4gZWwgc3RvcmFnZSBvIHZhY2lvIHNpIG5vIGxvIGVuY3VlbnRyYVxuICAgKiBAcmV0dXJucyBUb2tlblxuICAgKi9cbiAgZ2V0VG9rZW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKCd0b2tlbicsICcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXZ1ZWx2ZSBlbCB2YWxvciBhc29jaWFkbyBhIGxhIGxsYXZlIHF1ZSBzZSBlbmN1ZW50cmEgYWxtYWNlbmFkbyBlbiBlbCB0b2tlbi5cbiAgICogQHBhcmFtIGtleSBMbGF2ZSBwcmVzZW50ZSBlbiBlbCBvYmpldG8gZGVsIHRva2VuXG4gICAqIEByZXR1cm5zIFZhbG9yIGFsbWFjZW5hZG9cbiAgICovXG4gIGdldFRva2VuS2V5KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZGF0YSA9IHRoaXMuX2RlY29kZVRva2VuKCk7XG4gICAgICByZXR1cm4gZGF0YVtrZXldLnRvU3RyaW5nKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYSBzaSBlbCB0b2tlbiBhbG1hY2VuYWRvIGVuIGVsIHN0b3JhZ2UgZXMgdsOhbGlkbyB2ZXJpZmljYW5kbyBxdWUgc2VcbiAgICogcHVlZGEgZGVjb2RpZmljYXIgeSBxdWUgZWwgdGllbXBvIGFjdHVhbCBzZWEgbWVub3IgYWwgZGUgZXhwaXJhY2nDs24uXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBpc1Rva2VuVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLl9kZWNvZGVUb2tlbigpO1xuICAgICAgY29uc3QgZXhwaXJ5VGltZSA9IGRhdGEuZXhwO1xuICAgICAgY29uc3QgY3VycmVudFRpbWUgPSBNYXRoLmZsb29yKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMCk7XG4gICAgICBpZigoY3VycmVudFRpbWUgPD0gZXhwaXJ5VGltZSkgJiYgdGhpcy5nZXRUb2tlbktleSgnbnVtZXJvRW1wcmVzYScpICYmIHRoaXMuZ2V0VG9rZW5LZXkoJ25vbWJyZUNvbmV4aW9uJykpe1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJvcnJhIGVsIHRva2VuIGRlbCB1c3VhcmlvIHBhcmEgaW52YWxpZGFyIGxhIHNlc2nDs25cbiAgICovXG4gIGRlbGV0ZVRva2VuKCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbSgndG9rZW4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWNvZGlmaWNhIGVsIHRva2VuIHF1ZSBlc3RhIGFsbWFjZW5hZG8geSBkZXZ1ZWx2ZSBlbCBvYmpldG8gcXVlIHJlcHJlc2VudGFcbiAgICogQHJldHVybnMgSW5mb3JtYWNpw7NuIGFsbWFjZW5hZGEgZW4gZWwgVG9rZW5cbiAgICovXG4gIHByaXZhdGUgX2RlY29kZVRva2VuKCk6IGFueSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5nZXRUb2tlbigpO1xuICAgICAgY29uc3QgZGF0YSA9IHRva2VuLnNwbGl0KCcuJylbMV07XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShhdG9iKGRhdGEpKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZnJlc2NhclRva2VuKG9iamV0bzogYW55LCB0b2tlbik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHVybCA9IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKVxuICAgICAgLnNldCgnQXV0aG9yaXphdGlvbicsIGBCZWFyZXIgJHt0b2tlbn1gKTtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3VybH0vYXV0aGVudGljYXRpb24vcmVmcmVzY2FyVG9rZW5gLCBvYmpldG8sIHsgaGVhZGVycyB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZW5lcmFyVG9rZW5QdWJsaWNvKHVybG51Y2xlbz8pIHtcbiAgICBsZXQgdXJsID0gdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJylcbiAgICBpZiAoIXVybCl7XG4gICAgICB1cmwgPSB1cmxudWNsZW9cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHt1cmx9L2F1dGhlbnRpY2F0aW9uL2dlbmVyYXJUb2tlblB1YmxpY29gKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY2Npb25Sb2woX3JvbFNlbGVjY2lvbmFkbzogUm9sTW9kZWwsIHVybG51Y2xlbz8pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCB1cmwgPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KCd1cmxudWNsZW8nKVxuICAgIGlmICghdXJsKXtcbiAgICAgIHVybCA9IHVybG51Y2xlb1xuICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dXJsfS9yZXF1aWVyZXRva2VuL3JvbC9zZWxlY2Npb25hZG9gLCBfcm9sU2VsZWNjaW9uYWRvKTtcbiAgICB9XG4gXG59Il19
@@ -104,7 +104,6 @@ export class SeleccionRolComponent {
104
104
  this.rolSeleccionado.aplicacion = this.codigoAplicacion;
105
105
  this.storageService.setRolSeleccionado(this.rolSeleccionado);
106
106
  this.authService.seleccionRol(this.rolSeleccionado).subscribe((data) => {
107
- console.log(data);
108
107
  /*let rol: any = {}
109
108
  rol.codigoRol = this.authService.getTokenKey('llaveRol');
110
109
  this.authService.generarTokenPublico().subscribe(data2 => {
@@ -129,12 +128,15 @@ export class SeleccionRolComponent {
129
128
  modulos.push(modulo);
130
129
  });
131
130
  this.storageService.setItem('modulos', JSON.stringify(modulos));
132
- console.log('entra aca er action seleccion rol');
133
131
  if (this.storageService.getItem('moduloFavorito') !== undefined && this.storageService.getItem('moduloFavorito')) {
134
132
  this.storageService.setItem('moduloSeleccionado', this.storageService.getItem('moduloFavorito'));
135
133
  }
136
134
  else {
137
- this.storageService.setItem('moduloSeleccionado', data?.modulodefecto);
135
+ let modulodefecto = data?.modulodefecto;
136
+ if (!modulodefecto) {
137
+ modulodefecto = modulos[0].llave;
138
+ }
139
+ this.storageService.setItem('moduloSeleccionado', modulodefecto);
138
140
  }
139
141
  this.regresarRegistro();
140
142
  if (window.location.href.toString().includes('admonPortal')) {
@@ -162,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
162
164
  }], regresar: [{
163
165
  type: Output
164
166
  }] } });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWNjaW9uLXJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3B1YmxpY28vcGFnZXMvc2VsZWNjaW9uLXJvbC9zZWxlY2Npb24tcm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvcHVibGljby9wYWdlcy9zZWxlY2Npb24tcm9sL3NlbGVjY2lvbi1yb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVUvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBUzVDLE1BQU0sT0FBTyxxQkFBcUI7SUFpQnRCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQXJCRCxPQUFPLENBQVU7SUFDakIsZ0JBQWdCLENBQVM7SUFDeEIsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFeEMsU0FBUyxDQUFhO0lBQ3RCLGVBQWUsQ0FBVztJQUMxQixnQkFBZ0IsQ0FBTTtJQUN0QixvQkFBb0IsQ0FBYTtJQUNqQywyQkFBMkIsQ0FBYTtJQUN4QyxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN6QixhQUFhLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMxQixlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUM1QixpQkFBaUIsR0FBVyxJQUFJLENBQUM7SUFDakMsV0FBVyxHQUFZLEtBQUssQ0FBQztJ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LENBQUM7WUFDckYsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUM7WUFDekUsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzt1R0FySlUscUJBQXFCOzJGQUFyQixxQkFBcUIsc0xDdEJsQywwcEdBeURXLG1pQ0R4Q0csWUFBWSw4MEJBQUUsV0FBVyw4bUJBQUUsWUFBWSxpTUFBRSxXQUFXOzsyRkFLckQscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNFLG1CQUFtQixXQUNsQixDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxjQUNwRCxJQUFJO3lPQUtULE9BQU87c0JBQWYsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBSb2xNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3NlZ3VyaWRhZC9tb2RlbG9zL1JvbE1vZGVsJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNpb3MvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNpb3Mvc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FyZ2FyQ29udHJvbEZ1bmNpb25hbGlkYWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNpb3MvY2FyZ2FyLWNvbnRyb2wtZnVuY2lvbmFsaWRhZC5zZXJ2aWNlJztcbmltcG9ydCB7IE1vZHVsb3NNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3NlZ3VyaWRhZC9tb2RlbG9zL01vZHVsb3NNb2RlbCc7XG5pbXBvcnQgeyBUYXJlYXNNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3NlZ3VyaWRhZC9tb2RlbG9zL1RhcmVhc01vZGVsJztcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljaW9zL3V0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhYmxlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXNlbGVjY2lvbi1yb2wnLFxuICAgIGltcG9ydHM6IFtEaWFsb2dNb2R1bGUsIEZvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGUsIFRhYmxlTW9kdWxlLF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWNjaW9uLXJvbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjY2lvbi1yb2wuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWNjaW9uUm9sQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgbW9zdHJhcjogYm9vbGVhbjtcbiAgQElucHV0KCkgY29kaWdvQXBsaWNhY2lvbjogc3RyaW5nO1xuICBAT3V0cHV0KCkgcmVncmVzYXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgbGlzdFJvbGVzOiBSb2xNb2RlbFtdO1xuICByb2xTZWxlY2Npb25hZG86IFJvbE1vZGVsO1xuICByb3dHcm91cE1ldGFkYXRhOiBhbnk7XG4gIHJvbGVzQ29uZXhpb25FbXByZXNhOiBSb2xNb2RlbFtdO1xuICBmaWx0cm9sUm9sZXNDb25leGlvbkVtcHJlc2E6IFJvbE1vZGVsW107XG4gIGxpc3RhRW1wcmVzYSA9IG5ldyBNYXAoKTtcbiAgbGlzdGFQZXJmaWxlcyA9IG5ldyBNYXAoKTtcbiAgbGlzdGFDb25leGlvbmVzID0gbmV3IE1hcCgpO1xuICBwYXJhbWV0cm9CdXNxdWVkYTogc3RyaW5nID0gbnVsbDtcbiAgYWRtb25Qb3J0YWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29va2llU2VydmljZTogQ29va2llU2VydmljZSxcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICBwcml2YXRlIHV0aWxzU2VydmljZTogVXRpbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udHJvbEZ1bmNpb25hbGlkYWQ6IENhcmdhckNvbnRyb2xGdW5jaW9uYWxpZGFkU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucGFyYW1ldHJvQnVzcXVlZGEgPSAnJztcbiAgICB0aGlzLnJvbGVzQ29uZXhpb25FbXByZXNhID0gW107XG4gICAgdGhpcy5saXN0Um9sZXMgPSBbXTtcbiAgfVxuXG4gIHB1YmxpYyBjYXJnYXIobGlzdGFSb2xlcywgYWRtb25Qb3J0YWwpIHtcblxuICAgIHRoaXMucm9sU2VsZWNjaW9uYWRvID0gbnVsbDtcbiAgICB0aGlzLmFkbW9uUG9ydGFsID0gYWRtb25Qb3J0YWw7XG5cbiAgICB0aGlzLmxpc3RSb2xlcyA9IGxpc3RhUm9sZXM7XG5cbiAgICB0aGlzLnJvbGVzQ29uZXhpb25FbXByZXNhID0gW107XG5cbiAgICBmb3IgKGxldCByb2wgb2YgdGhpcy5saXN0Um9sZXMpIHtcblxuICAgICAgaWYgKCF0aGlzLnJvbGVzQ29uZXhpb25FbXByZXNhLnNvbWUociA9PlxuICAgICAgICByLmNvZGlnb0NvbmV4aW9uID09PSByb2wuY29kaWdvQ29uZXhpb24gJiZcbiAgICAgICAgci5ub21icmVDb25leGlvbiA9PT0gcm9sLm5vbWJyZUNvbmV4aW9uICYmXG4gICAgICAgIHIuY29kaWdvRW1wcmVzYSA9PT0gcm9sLmNvZGlnb0VtcHJlc2EgJiZcbiAgICAgICAgci5ub21icmVFbXByZXNhID09PSByb2wubm9tYnJlRW1wcmVzYSAmJlxuICAgICAgICByLm51bWVyb0VtcHJlc2EgPT09IHJvbC5udW1lcm9FbXByZXNhICYmXG4gICAgICAgIHIubGxhdmVSb2wgPT09IHJvbC5sbGF2ZVJvbCAmJlxuICAgICAgICByLm5vbWJyZVJvbCA9PT0gcm9sLm5vbWJyZVJvbCkpIHtcbiAgICAgICAgdGhpcy5yb2xlc0NvbmV4aW9uRW1wcmVzYS5wdXNoKHJvbCk7XG4gICAgICAgIHRoaXMubGlzdGFFbXByZXNhLnNldChyb2wuY29kaWdvRW1wcmVzYSwgcm9sLm5vbWJyZUVtcHJlc2EpO1xuICAgICAgICB0aGlzLmxpc3RhUGVyZmlsZXMuc2V0KHJvbC5sbGF2ZVJvbCwgcm9sLm5vbWJyZVJvbCk7XG4gICAgICAgIHRoaXMubGlzdGFDb25leGlvbmVzLnNldChyb2wuY29kaWdvQ29uZXhpb24sIHJvbC5ub21icmVDb25leGlvbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5maWx0cm9sUm9sZXNDb25leGlvbkVtcHJlc2EgPSBbLi4udGhpcy5yb2xlc0NvbmV4aW9uRW1wcmVzYV07XG4gIH1cblxuICBwdWJsaWMgZ2V0Tm9tYnJlUm9sKCk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICh0aGlzLmxpc3RhUGVyZmlsZXMuc2l6ZSA+IDEgfHwgdGhpcy5yb2xlc0NvbmV4aW9uRW1wcmVzYS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yb2xlc0NvbmV4aW9uRW1wcmVzYVswXS5ub21icmVSb2w7XG4gIH1cblxuICBwdWJsaWMgZ2V0Tm9tYnJlRW1wcmVzYSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodGhpcy5saXN0YUVtcHJlc2Euc2l6ZSA+IDEgfHwgdGhpcy5yb2xlc0NvbmV4aW9uRW1wcmVzYS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yb2xlc0NvbmV4aW9uRW1wcmVzYVswXS5ub21icmVFbXByZXNhO1xuICB9XG5cbiAgcHVibGljIGdldE5vbWJyZUNvbmV4aW9uKCk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICh0aGlzLmxpc3RhQ29uZXhpb25lcy5zaXplID4gMSB8fCB0aGlzLnJvbGVzQ29uZXhpb25FbXByZXNhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJvbGVzQ29uZXhpb25FbXByZXNhWzBdLm5vbWJyZUNvbmV4aW9uO1xuICB9XG5cbiAgY2FyZ2FyTGlzdGFkb0ZpbHRybygpIHtcblxuICAgIGlmICh0aGlzLnBhcmFtZXRyb0J1c3F1ZWRhLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIHRoaXMuZmlsdHJvbFJvbGVzQ29uZXhpb25FbXByZXNhID0gWy4uLnRoaXMucm9sZXNDb25leGlvbkVtcHJlc2FdO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRyb2xSb2xlc0NvbmV4aW9uRW1wcmVzYSA9IHRoaXMucm9sZXNDb25leGlvbkVtcHJlc2EuZmlsdGVyKHJvbCA9PlxuICAgICAgICByb2wubm9tYnJlRW1wcmVzYS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMucGFyYW1ldHJvQnVzcXVlZGEudG9Mb3dlckNhc2UoKSkgfHxcbiAgICAgICAgcm9sLm5vbWJyZUNvbmV4aW9uLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5wYXJhbWV0cm9CdXNxdWVkYS50b0xvd2VyQ2FzZSgpKSB8fFxuICAgICAgICByb2wubm9tYnJlUm9sLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5wYXJhbWV0cm9CdXNxdWVkYS50b0xvd2VyQ2FzZSgpKVxuICAgICAgKTtcbiAgICB9XG5cbiAgfVxuXG4gIHZlckFjdGlvbigpIHtcbiAgICB2YXIgdXJsYXBpbnVjbGVvID0gdGhpcy5jb29raWVTZXJ2aWNlLmdldCgndXJsbnVjbGVvJylcbiAgICB0aGlzLnJvbFNlbGVjY2lvbmFkby5hZG1vblBvcnRhbCA9IHRoaXMuYWRtb25Qb3J0YWxcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oXG4gICAgICAncm9sX3NlbGVjY2lvbmFkbycsXG4gICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnJvbFNlbGVjY2lvbmFkbylcbiAgICApO1xuICAgIHRoaXMucm9sU2VsZWNjaW9uYWRvLmFwbGljYWNpb24gPSB0aGlzLmNvZGlnb0FwbGljYWNpb247XG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRSb2xTZWxlY2Npb25hZG8odGhpcy5yb2xTZWxlY2Npb25hZG8pO1xuICAgIHRoaXMuYXV0aFNlcnZpY2Uuc2VsZWNjaW9uUm9sKHRoaXMucm9sU2VsZWNjaW9uYWRvKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKGRhdGEpXG4gICAgICAvKmxldCByb2w6IGFueSA9IHt9XG4gICAgICAgIHJvbC5jb2RpZ29Sb2wgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuS2V5KCdsbGF2ZVJvbCcpO1xuICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5nZW5lcmFyVG9rZW5QdWJsaWNvKCkuc3Vic2NyaWJlKGRhdGEyID0+IHtcbiAgICAgICAgdGhpcy5jb250cm9sRnVuY2lvbmFsaWRhZC5jYXJnYXJGdW5jaW9uYWxpZGFkKHJvbCwgYCR7dXJsYXBpbnVjbGVvfS9hdXRoZW50aWNhdGlvbi9mdW5jaW9uYWxpZGFkZXNgLCBkYXRhMi50b2tlbikuc3Vic2NyaWJlKHt9KTsqL1xuICAgICAgY29uc3QgdG9rZW4gPSAoZGF0YSBhcyBhbnkpPy50b2tlbiBhcyBzdHJpbmc7XG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ3Rva2VuJywgdG9rZW4pO1xuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCdjb250cm9sRnVuY2lvbmFsaWRhZGVzJywgKGRhdGEgYXMgYW55KS5jb250cm9sZXNmdW5jaW9uYWxpZGFkZXMpO1xuICAgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAgICAgLyogQ29kaWdvIHRlbXBvcmFsIHBhcmEgbWFudGVuZXIgbGFzIHRhcmVhcywgcGVybyBlc3RhcyBkZWJlbiBzZXIgb2J0ZW5pZGFzIHBvciB1biBzZXJ2aWNpbyAqL1xuICAgICAgdmFyIHRhcmVhczogVGFyZWFzTW9kZWxbXSA9IChkYXRhIGFzIGFueSkudGFyZWFzbW9kdWxvO1xuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCdfX3RhcmVhcycsIEpTT04uc3RyaW5naWZ5KHRhcmVhcykpO1xuICAgICAgdmFyIG1vZHVsb3NEZVRhcmVhcyA9IHRhcmVhcy5maWx0ZXIoKG9iaiwgaW5kZXgsIHNlbGYpID0+IHtcbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSBzZWxmLmZpbmRJbmRleCgobykgPT4gby5tb2R1bG8gPT09IG9iai5tb2R1bG8pO1xuICAgICAgfSk7XG4gICAgICB2YXIgbW9kdWxvczogTW9kdWxvc01vZGVsW10gPSBbXTtcbiAgICAgIG1vZHVsb3NEZVRhcmVhcy5mb3JFYWNoKGRhdGEgPT4ge1xuICAgICAgICBsZXQgbW9kdWxvOiBNb2R1bG9zTW9kZWwgPSB7XG4gICAgICAgICAgbGxhdmU6IGRhdGEubW9kdWxvLFxuICAgICAgICAgIGRlc2NyaXBjaW9uOiBkYXRhLm5vbWJyZU1vZHVsbyxcbiAgICAgICAgICBpY29ubzogZGF0YS5pY29ub01vZHVsb1xuICAgICAgICB9XG4gICAgICAgIG1vZHVsb3MucHVzaChtb2R1bG8pXG4gICAgICB9KVxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCdtb2R1bG9zJywgSlNPTi5zdHJpbmdpZnkobW9kdWxvcykpO1xuICAgICAgY29uc29sZS5sb2coJ2VudHJhIGFjYSBlciBhY3Rpb24gc2VsZWNjaW9uIHJvbCcpO1xuICAgICAgaWYgKHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnbW9kdWxvRmF2b3JpdG8nKSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnbW9kdWxvRmF2b3JpdG8nKSkge1xuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ21vZHVsb1NlbGVjY2lvbmFkbycsIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnbW9kdWxvRmF2b3JpdG8nKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ21vZHVsb1NlbGVjY2lvbmFkbycsIChkYXRhIGFzIGFueSk/Lm1vZHVsb2RlZmVjdG8pO1xuICAgICAgfVxuICAgICAgdGhpcy5yZWdyZXNhclJlZ2lzdHJvKClcbiAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uaHJlZi50b1N0cmluZygpLmluY2x1ZGVzKCdhZG1vblBvcnRhbCcpKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArICcvYWRtb25Qb3J0YWwvaW5pY2lvJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMudXRpbHNTZXJ2aWNlLm9idGVuZXJCYXNlKCkgKyAnL2luaWNpbycpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cblxuICByZWdyZXNhclJlZ2lzdHJvKCkge1xuICAgIHRoaXMubW9zdHJhciA9IGZhbHNlO1xuICAgIHRoaXMucmVncmVzYXIuZW1pdCgpO1xuICB9XG5cbn0iLCI8cC1kaWFsb2cgaWQ9J3BvcHVwU2VsZWNjaW9uUGxhbnRpbGxhJyBoZWFkZXI9XCJQZXJmaWxcIiBbKHZpc2libGUpXT1cIm1vc3RyYXJcIiBhcHBlbmRUbz1cImJvZHlcIlxuICAgIChvbkhpZGUpPVwicmVncmVzYXJSZWdpc3RybygpXCIgW2JyZWFrcG9pbnRzXT1cInsnOTYwcHgnOiAnNzV2dycsICc2NDBweCc6ICcxMDB2dyd9XCIgW3N0eWxlXT1cInsnbWluLXdpZHRoJzonMjB2dyd9XCJcbiAgICBbbW9kYWxdPVwidHJ1ZVwiIFtkcmFnZ2FibGVdPVwiZmFsc2VcIj5cblxuICAgIDxzcGFuIGNsYXNzPVwicC1pbnB1dC1pY29uLWxlZnQgbWItMyB3LWZ1bGxcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1zZWFyY2hcIj48L2k+XG4gICAgICAgIDxpbnB1dCBjbGFzcz1cIiB3LWZ1bGwgcC1pbnB1dHRleHRcIiB0eXBlPVwidGV4dFwiIHBJbnB1dFRleHQgWyhuZ01vZGVsKV09XCJwYXJhbWV0cm9CdXNxdWVkYVwiIChrZXl1cC5lbnRlcik9XCJjYXJnYXJMaXN0YWRvRmlsdHJvKClcIiAvPlxuICAgIDwvc3Bhbj5cblxuICAgIDwhLS0gQ29udGVuaWRvIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IG1iLTNcIj5cbiAgICAgICAgPCEtLUVtcHJlc2EgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtci00XCIgcFRvb2x0aXA9XCJFbXByZXNhXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICAgICpuZ0lmPVwiZ2V0Tm9tYnJlRW1wcmVzYSgpICE9IG51bGxcIj5cbiAgICAgICAgICAgIDxpIHN0eWxlPVwiZm9udC1zaXplOiAxLjJyZW0gIWltcG9ydGFudFwiIGNsYXNzPVwiZ2x5cGhpY29ucyBnbHlwaGljb25zLWJ1aWxkaW5nIGNvbG9yLTQwMFwiPjwvaT5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvbnQtc2VtaWJvbGRcIiBodG1sRm9yPVwiaWRfZW1wcmVzYVwiPiB7e2dldE5vbWJyZUVtcHJlc2EoKSB8IHVwcGVyY2FzZX19PC9sYWJlbD5cbiAgICAgICAgICAgIDwhLS0gPGxhYmVsIGh0bWxGb3I9XCJlbXByZXNhXCI+e3snZW1wcmVzYScgfCB0cmFuc2xhdGV9fTwvbGFiZWw+IC0tPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLUNvbmV4aW9uIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXItNFwiIHBUb29sdGlwPVwiQ29uZXhpw7NuXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICAgICpuZ0lmPVwiZ2V0Tm9tYnJlQ29uZXhpb24oKSAhPSBudWxsXCI+XG4gICAgICAgICAgICA8aSBzdHlsZT1cImZvbnQtc2l6ZTogMS4ycmVtICFpbXBvcnRhbnRcIiBjbGFzcz1cImdseXBoaWNvbnMgZ2x5cGhpY29ucy1ib29rIGNvbG9yLTQwMCBmb250LXNlbWlib2xkXCI+PC9pPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9udC1zZW1pYm9sZFwiIGh0bWxGb3I9XCJpZF9yb2xcIj4ge3tnZXROb21icmVDb25leGlvbigpIHwgdXBwZXJjYXNlfX08L2xhYmVsPlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tUm9sIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiBwVG9vbHRpcD1cIlJvbFwiIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiICpuZ0lmPVwiZ2V0Tm9tYnJlUm9sKCkgIT0gbnVsbFwiPlxuICAgICAgICAgICAgPGkgc3R5bGU9XCJmb250LXNpemU6IDEuMnJlbSAhaW1wb3J0YW50XCIgY2xhc3M9XCJnbHlwaGljb25zIGdseXBoaWNvbnMtdXNlciBjb2xvci00MDBcIj48L2k+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb250LXNlbWlib2xkXCIgaHRtbEZvcj1cImlkX3JvbFwiPiB7e2dldE5vbWJyZVJvbCgpfX08L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxwLXRhYmxlIFt2YWx1ZV09XCJmaWx0cm9sUm9sZXNDb25leGlvbkVtcHJlc2FcIiByZXNwb25zaXZlTGF5b3V0PVwic2Nyb2xsXCIgW3BhZ2luYXRvcl09XCJsaXN0Um9sZXMubGVuZ3RoID4gMTBcIiBbcm93c109XCIxMFwiXG4gICAgICAgIFsoc2VsZWN0aW9uKV09XCJyb2xTZWxlY2Npb25hZG9cIiBkYXRhS2V5PVwibGxhdmVUYWJsYVwiIChvblJvd1NlbGVjdCk9XCJ2ZXJBY3Rpb24oKVwiIHNlbGVjdGlvbk1vZGU9XCJzaW5nbGVcIj5cbiAgICAgICAgPCEtLSBoZWFkZXIgZGUgbGEgdGFibGEgZGUgc2VsZWNjaW9uIHJvbCAtLT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZm9uZG9UYWJsYVBpbmNpcGFsXCI+XG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwiZ2V0Tm9tYnJlRW1wcmVzYSgpICA9PSBudWxsXCI+Tm9tYnJlIEVtcHJlc2E8L3RoPlxuICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImdldE5vbWJyZUNvbmV4aW9uKCkgID09IG51bGxcIj5Db25leGnDs248L3RoPlxuICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cImdldE5vbWJyZVJvbCgpICA9PSBudWxsXCI+Um9sPC90aD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwhLS0gY3VlcnBvIGRlIGxhIHRhYmxhIC0tPlxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1yb2wgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cbiAgICAgICAgICAgIDx0ciBbcFNlbGVjdGFibGVSb3ddPVwicm9sXCI+XG4gICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiZ2V0Tm9tYnJlRW1wcmVzYSgpID09IG51bGxcIiBzdHlsZT1cIm1pbi13aWR0aDogMjAwcHhcIj5cbiAgICAgICAgICAgICAgICAgICAge3tyb2wubm9tYnJlRW1wcmVzYX19XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJnZXROb21icmVDb25leGlvbigpICA9PSBudWxsXCIgc3R5bGU9XCJtaW4td2lkdGg6IDIwMHB4XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHJvbC5ub21icmVDb25leGlvbn19XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJnZXROb21icmVSb2woKSAgPT0gbnVsbFwiIHN0eWxlPVwibWluLXdpZHRoOiAyMDBweFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyByb2wubm9tYnJlUm9sIH19XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9wLXRhYmxlPlxuPC9wLWRpYWxvZz4iXX0=
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWNjaW9uLXJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3B1YmxpY28vcGFnZXMvc2VsZWNjaW9uLXJvbC9zZWxlY2Npb24tcm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvcHVibGljby9wYWdlcy9zZWxlY2Npb24tcm9sL3NlbGVjY2lvbi1yb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVUvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBUzVDLE1BQU0sT0FBTyxxQkFBcUI7SUFpQnRCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQXJCRCxPQUFPLENBQVU7SUFDakIsZ0JBQWdCLENBQVM7SUFDeEIsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFeEMsU0FBUyxDQUFhO0lBQ3RCLGVBQWUsQ0FBVztJQUMxQixnQkFBZ0IsQ0FBTTtJQUN0QixvQkFBb0IsQ0FBYTtJQUNqQywyQkFBMkIsQ0FBYTtJQUN4QyxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN6QixhQUFhLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMxQixlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUM1QixpQkFBaUIsR0FBVyxJQUFJLENBQUM7SUFDakMsV0FBVyxHQUFZLEtBQUssQ0FBQztJ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SSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ3JGLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDO1lBQ3pFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFHRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7dUdBdkpVLHFCQUFxQjsyRkFBckIscUJBQXFCLHNMQ3RCbEMsMHBHQXlEVyxtaUNEeENHLFlBQVksODBCQUFFLFdBQVcsOG1CQUFFLFlBQVksaU1BQUUsV0FBVzs7MkZBS3JELHFCQUFxQjtrQkFQakMsU0FBUzsrQkFDRSxtQkFBbUIsV0FDbEIsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsY0FDcEQsSUFBSTt5T0FLVCxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgUm9sTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9zZWd1cmlkYWQvbW9kZWxvcy9Sb2xNb2RlbCc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljaW9zL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljaW9zL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZS1zZXJ2aWNlJztcbmltcG9ydCB7IENhcmdhckNvbnRyb2xGdW5jaW9uYWxpZGFkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljaW9zL2Nhcmdhci1jb250cm9sLWZ1bmNpb25hbGlkYWQuc2VydmljZSc7XG5pbXBvcnQgeyBNb2R1bG9zTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9zZWd1cmlkYWQvbW9kZWxvcy9Nb2R1bG9zTW9kZWwnO1xuaW1wb3J0IHsgVGFyZWFzTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9zZWd1cmlkYWQvbW9kZWxvcy9UYXJlYXNNb2RlbCc7XG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2lvcy91dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZGlhbG9nJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1zZWxlY2Npb24tcm9sJyxcbiAgICBpbXBvcnRzOiBbRGlhbG9nTW9kdWxlLCBGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlLCBUYWJsZU1vZHVsZSxdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjY2lvbi1yb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY2Npb24tcm9sLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjY2lvblJvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG1vc3RyYXI6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNvZGlnb0FwbGljYWNpb246IHN0cmluZztcbiAgQE91dHB1dCgpIHJlZ3Jlc2FyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGxpc3RSb2xlczogUm9sTW9kZWxbXTtcbiAgcm9sU2VsZWNjaW9uYWRvOiBSb2xNb2RlbDtcbiAgcm93R3JvdXBNZXRhZGF0YTogYW55O1xuICByb2xlc0NvbmV4aW9uRW1wcmVzYTogUm9sTW9kZWxbXTtcbiAgZmlsdHJvbFJvbGVzQ29uZXhpb25FbXByZXNhOiBSb2xNb2RlbFtdO1xuICBsaXN0YUVtcHJlc2EgPSBuZXcgTWFwKCk7XG4gIGxpc3RhUGVyZmlsZXMgPSBuZXcgTWFwKCk7XG4gIGxpc3RhQ29uZXhpb25lcyA9IG5ldyBNYXAoKTtcbiAgcGFyYW1ldHJvQnVzcXVlZGE6IHN0cmluZyA9IG51bGw7XG4gIGFkbW9uUG9ydGFsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGNvb2tpZVNlcnZpY2U6IENvb2tpZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1dGlsc1NlcnZpY2U6IFV0aWxzU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRyb2xGdW5jaW9uYWxpZGFkOiBDYXJnYXJDb250cm9sRnVuY2lvbmFsaWRhZFNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBhcmFtZXRyb0J1c3F1ZWRhID0gJyc7XG4gICAgdGhpcy5yb2xlc0NvbmV4aW9uRW1wcmVzYSA9IFtdO1xuICAgIHRoaXMubGlzdFJvbGVzID0gW107XG4gIH1cblxuICBwdWJsaWMgY2FyZ2FyKGxpc3RhUm9sZXMsIGFkbW9uUG9ydGFsKSB7XG5cbiAgICB0aGlzLnJvbFNlbGVjY2lvbmFkbyA9IG51bGw7XG4gICAgdGhpcy5hZG1vblBvcnRhbCA9IGFkbW9uUG9ydGFsO1xuXG4gICAgdGhpcy5saXN0Um9sZXMgPSBsaXN0YVJvbGVzO1xuXG4gICAgdGhpcy5yb2xlc0NvbmV4aW9uRW1wcmVzYSA9IFtdO1xuXG4gICAgZm9yIChsZXQgcm9sIG9mIHRoaXMubGlzdFJvbGVzKSB7XG5cbiAgICAgIGlmICghdGhpcy5yb2xlc0NvbmV4aW9uRW1wcmVzYS5zb21lKHIgPT5cbiAgICAgICAgci5jb2RpZ29Db25leGlvbiA9PT0gcm9sLmNvZGlnb0NvbmV4aW9uICYmXG4gICAgICAgIHIubm9tYnJlQ29uZXhpb24gPT09IHJvbC5ub21icmVDb25leGlvbiAmJlxuICAgICAgICByLmNvZGlnb0VtcHJlc2EgPT09IHJvbC5jb2RpZ29FbXByZXNhICYmXG4gICAgICAgIHIubm9tYnJlRW1wcmVzYSA9PT0gcm9sLm5vbWJyZUVtcHJlc2EgJiZcbiAgICAgICAgci5udW1lcm9FbXByZXNhID09PSByb2wubnVtZXJvRW1wcmVzYSAmJlxuICAgICAgICByLmxsYXZlUm9sID09PSByb2wubGxhdmVSb2wgJiZcbiAgICAgICAgci5ub21icmVSb2wgPT09IHJvbC5ub21icmVSb2wpKSB7XG4gICAgICAgIHRoaXMucm9sZXNDb25leGlvbkVtcHJlc2EucHVzaChyb2wpO1xuICAgICAgICB0aGlzLmxpc3RhRW1wcmVzYS5zZXQocm9sLmNvZGlnb0VtcHJlc2EsIHJvbC5ub21icmVFbXByZXNhKTtcbiAgICAgICAgdGhpcy5saXN0YVBlcmZpbGVzLnNldChyb2wubGxhdmVSb2wsIHJvbC5ub21icmVSb2wpO1xuICAgICAgICB0aGlzLmxpc3RhQ29uZXhpb25lcy5zZXQocm9sLmNvZGlnb0NvbmV4aW9uLCByb2wubm9tYnJlQ29uZXhpb24pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuZmlsdHJvbFJvbGVzQ29uZXhpb25FbXByZXNhID0gWy4uLnRoaXMucm9sZXNDb25leGlvbkVtcHJlc2FdO1xuICB9XG5cbiAgcHVibGljIGdldE5vbWJyZVJvbCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodGhpcy5saXN0YVBlcmZpbGVzLnNpemUgPiAxIHx8IHRoaXMucm9sZXNDb25leGlvbkVtcHJlc2EubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucm9sZXNDb25leGlvbkVtcHJlc2FbMF0ubm9tYnJlUm9sO1xuICB9XG5cbiAgcHVibGljIGdldE5vbWJyZUVtcHJlc2EoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMubGlzdGFFbXByZXNhLnNpemUgPiAxIHx8IHRoaXMucm9sZXNDb25leGlvbkVtcHJlc2EubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucm9sZXNDb25leGlvbkVtcHJlc2FbMF0ubm9tYnJlRW1wcmVzYTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROb21icmVDb25leGlvbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAodGhpcy5saXN0YUNvbmV4aW9uZXMuc2l6ZSA+IDEgfHwgdGhpcy5yb2xlc0NvbmV4aW9uRW1wcmVzYS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yb2xlc0NvbmV4aW9uRW1wcmVzYVswXS5ub21icmVDb25leGlvbjtcbiAgfVxuXG4gIGNhcmdhckxpc3RhZG9GaWx0cm8oKSB7XG5cbiAgICBpZiAodGhpcy5wYXJhbWV0cm9CdXNxdWVkYS50cmltKCkgPT09ICcnKSB7XG4gICAgICB0aGlzLmZpbHRyb2xSb2xlc0NvbmV4aW9uRW1wcmVzYSA9IFsuLi50aGlzLnJvbGVzQ29uZXhpb25FbXByZXNhXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0cm9sUm9sZXNDb25leGlvbkVtcHJlc2EgPSB0aGlzLnJvbGVzQ29uZXhpb25FbXByZXNhLmZpbHRlcihyb2wgPT5cbiAgICAgICAgcm9sLm5vbWJyZUVtcHJlc2EudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnBhcmFtZXRyb0J1c3F1ZWRhLnRvTG93ZXJDYXNlKCkpIHx8XG4gICAgICAgIHJvbC5ub21icmVDb25leGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMucGFyYW1ldHJvQnVzcXVlZGEudG9Mb3dlckNhc2UoKSkgfHxcbiAgICAgICAgcm9sLm5vbWJyZVJvbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMucGFyYW1ldHJvQnVzcXVlZGEudG9Mb3dlckNhc2UoKSlcbiAgICAgICk7XG4gICAgfVxuXG4gIH1cblxuICB2ZXJBY3Rpb24oKSB7XG4gICAgdmFyIHVybGFwaW51Y2xlbyA9IHRoaXMuY29va2llU2VydmljZS5nZXQoJ3VybG51Y2xlbycpXG4gICAgdGhpcy5yb2xTZWxlY2Npb25hZG8uYWRtb25Qb3J0YWwgPSB0aGlzLmFkbW9uUG9ydGFsXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKFxuICAgICAgJ3JvbF9zZWxlY2Npb25hZG8nLFxuICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5yb2xTZWxlY2Npb25hZG8pXG4gICAgKTtcbiAgICB0aGlzLnJvbFNlbGVjY2lvbmFkby5hcGxpY2FjaW9uID0gdGhpcy5jb2RpZ29BcGxpY2FjaW9uO1xuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0Um9sU2VsZWNjaW9uYWRvKHRoaXMucm9sU2VsZWNjaW9uYWRvKTtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLnNlbGVjY2lvblJvbCh0aGlzLnJvbFNlbGVjY2lvbmFkbykuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAvKmxldCByb2w6IGFueSA9IHt9XG4gICAgICAgIHJvbC5jb2RpZ29Sb2wgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuS2V5KCdsbGF2ZVJvbCcpO1xuICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5nZW5lcmFyVG9rZW5QdWJsaWNvKCkuc3Vic2NyaWJlKGRhdGEyID0+IHtcbiAgICAgICAgdGhpcy5jb250cm9sRnVuY2lvbmFsaWRhZC5jYXJnYXJGdW5jaW9uYWxpZGFkKHJvbCwgYCR7dXJsYXBpbnVjbGVvfS9hdXRoZW50aWNhdGlvbi9mdW5jaW9uYWxpZGFkZXNgLCBkYXRhMi50b2tlbikuc3Vic2NyaWJlKHt9KTsqL1xuICAgICAgY29uc3QgdG9rZW4gPSAoZGF0YSBhcyBhbnkpPy50b2tlbiBhcyBzdHJpbmc7XG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ3Rva2VuJywgdG9rZW4pO1xuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCdjb250cm9sRnVuY2lvbmFsaWRhZGVzJywgKGRhdGEgYXMgYW55KS5jb250cm9sZXNmdW5jaW9uYWxpZGFkZXMpO1xuICAgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAgICAgLyogQ29kaWdvIHRlbXBvcmFsIHBhcmEgbWFudGVuZXIgbGFzIHRhcmVhcywgcGVybyBlc3RhcyBkZWJlbiBzZXIgb2J0ZW5pZGFzIHBvciB1biBzZXJ2aWNpbyAqL1xuICAgICAgdmFyIHRhcmVhczogVGFyZWFzTW9kZWxbXSA9IChkYXRhIGFzIGFueSkudGFyZWFzbW9kdWxvO1xuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCdfX3RhcmVhcycsIEpTT04uc3RyaW5naWZ5KHRhcmVhcykpO1xuICAgICAgdmFyIG1vZHVsb3NEZVRhcmVhcyA9IHRhcmVhcy5maWx0ZXIoKG9iaiwgaW5kZXgsIHNlbGYpID0+IHtcbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSBzZWxmLmZpbmRJbmRleCgobykgPT4gby5tb2R1bG8gPT09IG9iai5tb2R1bG8pO1xuICAgICAgfSk7XG4gICAgICB2YXIgbW9kdWxvczogTW9kdWxvc01vZGVsW10gPSBbXTtcbiAgICAgIG1vZHVsb3NEZVRhcmVhcy5mb3JFYWNoKGRhdGEgPT4ge1xuICAgICAgICBsZXQgbW9kdWxvOiBNb2R1bG9zTW9kZWwgPSB7XG4gICAgICAgICAgbGxhdmU6IGRhdGEubW9kdWxvLFxuICAgICAgICAgIGRlc2NyaXBjaW9uOiBkYXRhLm5vbWJyZU1vZHVsbyxcbiAgICAgICAgICBpY29ubzogZGF0YS5pY29ub01vZHVsb1xuICAgICAgICB9XG4gICAgICAgIG1vZHVsb3MucHVzaChtb2R1bG8pXG4gICAgICB9KVxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKCdtb2R1bG9zJywgSlNPTi5zdHJpbmdpZnkobW9kdWxvcykpO1xuICAgICAgaWYgKHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnbW9kdWxvRmF2b3JpdG8nKSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnbW9kdWxvRmF2b3JpdG8nKSkge1xuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ21vZHVsb1NlbGVjY2lvbmFkbycsIHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnbW9kdWxvRmF2b3JpdG8nKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgbW9kdWxvZGVmZWN0byA9IChkYXRhIGFzIGFueSk/Lm1vZHVsb2RlZmVjdG87XG4gICAgICAgIGlmICghbW9kdWxvZGVmZWN0bykge1xuICAgICAgICAgIG1vZHVsb2RlZmVjdG8gPSBtb2R1bG9zWzBdLmxsYXZlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnbW9kdWxvU2VsZWNjaW9uYWRvJywgbW9kdWxvZGVmZWN0byk7XG4gICAgICB9XG4gICAgICB0aGlzLnJlZ3Jlc2FyUmVnaXN0cm8oKVxuICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5ocmVmLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ2FkbW9uUG9ydGFsJykpIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnV0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpICsgJy9hZG1vblBvcnRhbC9pbmljaW8nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArICcvaW5pY2lvJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuXG4gIHJlZ3Jlc2FyUmVnaXN0cm8oKSB7XG4gICAgdGhpcy5tb3N0cmFyID0gZmFsc2U7XG4gICAgdGhpcy5yZWdyZXNhci5lbWl0KCk7XG4gIH1cblxufSIsIjxwLWRpYWxvZyBpZD0ncG9wdXBTZWxlY2Npb25QbGFudGlsbGEnIGhlYWRlcj1cIlBlcmZpbFwiIFsodmlzaWJsZSldPVwibW9zdHJhclwiIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgKG9uSGlkZSk9XCJyZWdyZXNhclJlZ2lzdHJvKClcIiBbYnJlYWtwb2ludHNdPVwieyc5NjBweCc6ICc3NXZ3JywgJzY0MHB4JzogJzEwMHZ3J31cIiBbc3R5bGVdPVwieydtaW4td2lkdGgnOicyMHZ3J31cIlxuICAgIFttb2RhbF09XCJ0cnVlXCIgW2RyYWdnYWJsZV09XCJmYWxzZVwiPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJwLWlucHV0LWljb24tbGVmdCBtYi0zIHctZnVsbFwiPlxuICAgICAgICA8aSBjbGFzcz1cInBpIHBpLXNlYXJjaFwiPjwvaT5cbiAgICAgICAgPGlucHV0IGNsYXNzPVwiIHctZnVsbCBwLWlucHV0dGV4dFwiIHR5cGU9XCJ0ZXh0XCIgcElucHV0VGV4dCBbKG5nTW9kZWwpXT1cInBhcmFtZXRyb0J1c3F1ZWRhXCIgKGtleXVwLmVudGVyKT1cImNhcmdhckxpc3RhZG9GaWx0cm8oKVwiIC8+XG4gICAgPC9zcGFuPlxuXG4gICAgPCEtLSBDb250ZW5pZG8gLS0+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggbWItM1wiPlxuICAgICAgICA8IS0tRW1wcmVzYSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1yLTRcIiBwVG9vbHRpcD1cIkVtcHJlc2FcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICAgKm5nSWY9XCJnZXROb21icmVFbXByZXNhKCkgIT0gbnVsbFwiPlxuICAgICAgICAgICAgPGkgc3R5bGU9XCJmb250LXNpemU6IDEuMnJlbSAhaW1wb3J0YW50XCIgY2xhc3M9XCJnbHlwaGljb25zIGdseXBoaWNvbnMtYnVpbGRpbmcgY29sb3ItNDAwXCI+PC9pPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9udC1zZW1pYm9sZFwiIGh0bWxGb3I9XCJpZF9lbXByZXNhXCI+IHt7Z2V0Tm9tYnJlRW1wcmVzYSgpIHwgdXBwZXJjYXNlfX08L2xhYmVsPlxuICAgICAgICAgICAgPCEtLSA8bGFiZWwgaHRtbEZvcj1cImVtcHJlc2FcIj57eydlbXByZXNhJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD4gLS0+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tQ29uZXhpb24gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtci00XCIgcFRvb2x0aXA9XCJDb25leGnDs25cIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICAgKm5nSWY9XCJnZXROb21icmVDb25leGlvbigpICE9IG51bGxcIj5cbiAgICAgICAgICAgIDxpIHN0eWxlPVwiZm9udC1zaXplOiAxLjJyZW0gIWltcG9ydGFudFwiIGNsYXNzPVwiZ2x5cGhpY29ucyBnbHlwaGljb25zLWJvb2sgY29sb3ItNDAwIGZvbnQtc2VtaWJvbGRcIj48L2k+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb250LXNlbWlib2xkXCIgaHRtbEZvcj1cImlkX3JvbFwiPiB7e2dldE5vbWJyZUNvbmV4aW9uKCkgfCB1cHBlcmNhc2V9fTwvbGFiZWw+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS1Sb2wgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIHBUb29sdGlwPVwiUm9sXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCIgKm5nSWY9XCJnZXROb21icmVSb2woKSAhPSBudWxsXCI+XG4gICAgICAgICAgICA8aSBzdHlsZT1cImZvbnQtc2l6ZTogMS4ycmVtICFpbXBvcnRhbnRcIiBjbGFzcz1cImdseXBoaWNvbnMgZ2x5cGhpY29ucy11c2VyIGNvbG9yLTQwMFwiPjwvaT5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvbnQtc2VtaWJvbGRcIiBodG1sRm9yPVwiaWRfcm9sXCI+IHt7Z2V0Tm9tYnJlUm9sKCl9fTwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPHAtdGFibGUgW3ZhbHVlXT1cImZpbHRyb2xSb2xlc0NvbmV4aW9uRW1wcmVzYVwiIHJlc3BvbnNpdmVMYXlvdXQ9XCJzY3JvbGxcIiBbcGFnaW5hdG9yXT1cImxpc3RSb2xlcy5sZW5ndGggPiAxMFwiIFtyb3dzXT1cIjEwXCJcbiAgICAgICAgWyhzZWxlY3Rpb24pXT1cInJvbFNlbGVjY2lvbmFkb1wiIGRhdGFLZXk9XCJsbGF2ZVRhYmxhXCIgKG9uUm93U2VsZWN0KT1cInZlckFjdGlvbigpXCIgc2VsZWN0aW9uTW9kZT1cInNpbmdsZVwiPlxuICAgICAgICA8IS0tIGhlYWRlciBkZSBsYSB0YWJsYSBkZSBzZWxlY2Npb24gcm9sIC0tPlxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJmb25kb1RhYmxhUGluY2lwYWxcIj5cbiAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJnZXROb21icmVFbXByZXNhKCkgID09IG51bGxcIj5Ob21icmUgRW1wcmVzYTwvdGg+XG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwiZ2V0Tm9tYnJlQ29uZXhpb24oKSAgPT0gbnVsbFwiPkNvbmV4acOzbjwvdGg+XG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwiZ2V0Tm9tYnJlUm9sKCkgID09IG51bGxcIj5Sb2w8L3RoPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPCEtLSBjdWVycG8gZGUgbGEgdGFibGEgLS0+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LXJvbCBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICAgICAgICAgICAgPHRyIFtwU2VsZWN0YWJsZVJvd109XCJyb2xcIj5cbiAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJnZXROb21icmVFbXByZXNhKCkgPT0gbnVsbFwiIHN0eWxlPVwibWluLXdpZHRoOiAyMDBweFwiPlxuICAgICAgICAgICAgICAgICAgICB7e3JvbC5ub21icmVFbXByZXNhfX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImdldE5vbWJyZUNvbmV4aW9uKCkgID09IG51bGxcIiBzdHlsZT1cIm1pbi13aWR0aDogMjAwcHhcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgcm9sLm5vbWJyZUNvbmV4aW9ufX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImdldE5vbWJyZVJvbCgpICA9PSBudWxsXCIgc3R5bGU9XCJtaW4td2lkdGg6IDIwMHB4XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHJvbC5ub21icmVSb2wgfX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3AtdGFibGU+XG48L3AtZGlhbG9nPiJdfQ==
@@ -1978,7 +1978,11 @@ class AuthService {
1978
1978
  this.storageService.setItem('moduloSeleccionado', this.storageService.getItem('moduloFavorito'));
1979
1979
  }
1980
1980
  else {
1981
- this.storageService.setItem('moduloSeleccionado', data?.modulodefecto);
1981
+ let modulodefecto = data?.modulodefecto;
1982
+ if (!modulodefecto) {
1983
+ modulodefecto = modulos[0].llave;
1984
+ }
1985
+ this.storageService.setItem('moduloSeleccionado', modulodefecto);
1982
1986
  }
1983
1987
  }
1984
1988
  let tokenDecrypt = CryptoJS.AES.encrypt(JSON.stringify(data?.autenticacionUsuarioDTO), environment.crypto_secret_key);
@@ -5556,7 +5560,6 @@ class SeleccionRolComponent {
5556
5560
  this.rolSeleccionado.aplicacion = this.codigoAplicacion;
5557
5561
  this.storageService.setRolSeleccionado(this.rolSeleccionado);
5558
5562
  this.authService.seleccionRol(this.rolSeleccionado).subscribe((data) => {
5559
- console.log(data);
5560
5563
  /*let rol: any = {}
5561
5564
  rol.codigoRol = this.authService.getTokenKey('llaveRol');
5562
5565
  this.authService.generarTokenPublico().subscribe(data2 => {
@@ -5581,12 +5584,15 @@ class SeleccionRolComponent {
5581
5584
  modulos.push(modulo);
5582
5585
  });
5583
5586
  this.storageService.setItem('modulos', JSON.stringify(modulos));
5584
- console.log('entra aca er action seleccion rol');
5585
5587
  if (this.storageService.getItem('moduloFavorito') !== undefined && this.storageService.getItem('moduloFavorito')) {
5586
5588
  this.storageService.setItem('moduloSeleccionado', this.storageService.getItem('moduloFavorito'));
5587
5589
  }
5588
5590
  else {
5589
- this.storageService.setItem('moduloSeleccionado', data?.modulodefecto);
5591
+ let modulodefecto = data?.modulodefecto;
5592
+ if (!modulodefecto) {
5593
+ modulodefecto = modulos[0].llave;
5594
+ }
5595
+ this.storageService.setItem('moduloSeleccionado', modulodefecto);
5590
5596
  }
5591
5597
  this.regresarRegistro();
5592
5598
  if (window.location.href.toString().includes('admonPortal')) {