iptdevs-design-system 3.2.137 → 3.2.138

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.
@@ -6,4 +6,4 @@ export class UserLoginRs {
6
6
  }
7
7
  export class IUserFullDataRs {
8
8
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ycy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb3JlL21vZGVscy91c2VyL3VzZXItcnMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLE1BQU07Q0FtQmxCO0FBRUQsTUFBTSxPQUFPLFVBQVU7Q0FVdEI7QUFFRCxNQUFNLE9BQU8sV0FBVztDQWN2QjtBQUVELE1BQU0sT0FBTyxlQUFlO0NBbUIzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2VScSB9IGZyb20gXCIuLi9hdHRlbmRhbmNlL2F0dGVuZGFuY2UuaW50ZXJmYWNlXCI7XG5cbmV4cG9ydCBjbGFzcyBVc2VyUnMge1xuICBjb2RlITogbnVtYmVyO1xuICBuYW1lITogc3RyaW5nO1xuICBsYXN0X25hbWUhOiBzdHJpbmc7XG4gIG5pY2tfbmFtZSE6IHN0cmluZztcbiAgZW1haWwhOiBzdHJpbmc7XG4gIGVtYWlsX2lwdCE6IHN0cmluZztcbiAgcm9sZSE6IG51bWJlcjtcbiAgc2VydmljZV9ob3VyITogbnVtYmVyO1xuICBwaG9uZV9pbmRpY2F0aXZlITogbnVtYmVyO1xuICBwaG9uZV9udW1iZXIhOiBudW1iZXI7XG4gIGdlbmRlciE6IHN0cmluZztcbiAgYmlydGhkYXRlITogc3RyaW5nO1xuICBjaXR5ITogbnVtYmVyO1xuICBpZF9jYXJkX3R5cGUhOiBudW1iZXI7XG4gIGlkX2NhcmQhOiBudW1iZXI7XG4gIGNvbW1lbnQ/OiBzdHJpbmc7XG4gIHBhc3N3b3JkITogc3RyaW5nO1xuICB0b2tlbiE6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIElVc2VyRWt0UnMge1xuICBjb2RlITogbnVtYmVyO1xuICBuYW1lITogc3RyaW5nO1xuICBsYXN0X25hbWUhOiBzdHJpbmc7XG4gIGlkX2NhcmQhOiBudW1iZXI7XG4gIHVmcHNfY29kZSE6IG51bWJlcjtcbiAgZW1haWwhOiBzdHJpbmc7XG4gIHBob25lX2luZGljYXRpdmUhOiBudW1iZXI7XG4gIHBob25lITogbnVtYmVyO1xuICB0b2tlbiE6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFVzZXJMb2dpblJzIHtcbiAgY29kZSE6IG51bWJlcjtcbiAgbmFtZSE6IHN0cmluZztcbiAgbGFzdF9uYW1lITogc3RyaW5nO1xuICBlbWFpbCE6IHN0cmluZztcbiAgaWRfY2FyZCE6IHN0cmluZztcbiAgaWRfY2FyZF90eXBlITogbnVtYmVyO1xuICBwaG9uZV9pbmRpY2F0aXZlITogbnVtYmVyO1xuICBwaG9uZSE6IHN0cmluZztcbiAgZ2VuZGVyITogbnVtYmVyO1xuICBjaXR5ITogbnVtYmVyO1xuICByb2xlITogbnVtYmVyO1xuICBiaXJ0aGRhdGUhOiBzdHJpbmc7XG4gIHRva2VuITogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgSVVzZXJGdWxsRGF0YVJzIHtcbiAgY29kZSE6ICAgICAgICAgICAgICBudW1iZXI7XG4gIG5hbWUhOiAgICAgICAgICAgICAgc3RyaW5nO1xuICBsYXN0X25hbWUhOiAgICAgICAgIHN0cmluZztcbiAgbmlja19uYW1lITogICAgICAgICBzdHJpbmc7XG4gIGVtYWlsITogICAgICAgICAgICAgc3RyaW5nO1xuICBlbWFpbF9pcHQhOiAgICAgICAgIHN0cmluZztcbiAgcm9sZSE6ICAgICAgICAgICAgICBudW1iZXI7XG4gIHNlcnZpY2VfaG91ciE6ICAgICAgbnVtYmVyO1xuICBwaG9uZV9pbmRpY2F0aXZlITogIG51bWJlcjtcbiAgcGhvbmVfbnVtYmVyITogICAgICBzdHJpbmc7XG4gIGdlbmRlciE6ICAgICAgICAgICAgbnVtYmVyO1xuICBiaXJ0aGRhdGUhOiAgICAgICAgIHN0cmluZztcbiAgY2l0eSE6ICAgICAgICAgICAgICBudW1iZXI7XG4gIGlkX2NhcmRfdHlwZSE6ICAgICAgbnVtYmVyO1xuICBpZF9jYXJkITogICAgICAgICAgIHN0cmluZztcbiAgcGFzc3dvcmQhOiAgICAgICAgICBzdHJpbmc7XG4gIHRva2VuITogICAgICAgICAgICAgc3RyaW5nO1xuICB1c2VyX3N0YXR1cyE6ICAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVXNlclJlc2V0UGFzc3dvcmRScyB7XG4gIGlwX2FwcGxpY2FudDogc3RyaW5nO1xuICBzdGF0dXM6ICAgICAgIG51bWJlcjtcbiAgbWVzc2FnZTogICAgICBNZXNzYWdlUnE7XG4gIGRhdGE6ICAgICAgICAgSURhdGFVc2VyUmVzZXRQYXNzd29yZFJzW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFVc2VyUmVzZXRQYXNzd29yZFJzIHtcbiAgY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gIGxhc3RfbmFtZTogICAgICAgIHN0cmluZztcbiAgbmlja19uYW1lOiAgICAgICAgc3RyaW5nO1xuICBlbWFpbDogICAgICAgICAgICBzdHJpbmc7XG4gIGVtYWlsX2lwdDogICAgICAgIHN0cmluZztcbiAgcm9sZTogICAgICAgICAgICAgbnVtYmVyO1xuICBzZXJ2aWNlX2hvdXI6ICAgICBudW1iZXI7XG4gIHBob25lX2luZGljYXRpdmU6IG51bWJlcjtcbiAgcGhvbmVfbnVtYmVyOiAgICAgc3RyaW5nO1xuICBnZW5kZXI6ICAgICAgICAgICBudW1iZXI7XG4gIGJpcnRoZGF0ZTogICAgICAgIG51bGw7XG4gIGNpdHk6ICAgICAgICAgICAgIG51bWJlcjtcbiAgaWRfY2FyZF90eXBlOiAgICAgbnVtYmVyO1xuICBpZF9jYXJkOiAgICAgICAgICBzdHJpbmc7XG4gIHRva2VuOiAgICAgICAgICAgIHN0cmluZztcbiAgdXNlcl9zdGF0dXM6ICAgICAgbnVtYmVyO1xuICBwYXNzd29yZF9jaGFuZ2U6ICBudW1iZXI7XG4gIHVwZGF0ZWRfYXQ6ICAgICAgIERhdGU7XG4gIG5ld1Bhc3N3b3JkOiAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVXNlcklQVFJxcyB7XG4gIGNvZGU6ICAgICAgICAgICAgIG51bWJlcjtcbiAgbmFtZTogICAgICAgICAgICAgc3RyaW5nO1xuICBsYXN0X25hbWU6ICAgICAgICBzdHJpbmcgfCBudWxsO1xuICBuaWNrX25hbWU6ICAgICAgICBzdHJpbmcgfCBudWxsO1xuICBlbWFpbDogICAgICAgICAgICBzdHJpbmc7XG4gIGVtYWlsX2lwdDogICAgICAgIHN0cmluZyB8IG51bGw7XG4gIHJvbGU6ICAgICAgICAgICAgIG51bWJlcjtcbiAgcGhvbmVfaW5kaWNhdGl2ZTogbnVtYmVyO1xuICBwaG9uZV9udW1iZXI6ICAgICBzdHJpbmc7XG4gIGdlbmRlcjogICAgICAgICAgIG51bWJlciB8IG51bGw7XG4gIGJpcnRoZGF0ZTogICAgICAgIERhdGUgfCBudWxsO1xuICBjaXR5OiAgICAgICAgICAgICBJQ2l0eVJTW107XG4gIGlkX2NhcmRfdHlwZTogICAgIG51bWJlcjtcbiAgaWRfY2FyZDogICAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgdXNlcl9zdGF0dXM6ICAgICAgbnVtYmVyO1xuICBwYXNzd29yZF9jaGFuZ2U6ICBudW1iZXI7XG4gIHN0YXR1c19hc2luZzogICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ2l0eVJTIHtcbiAgY29kZTogICAgbnVtYmVyO1xuICBjYXBpdGFsOiBudW1iZXI7XG4gIHN0YXRlOiAgIG51bWJlcjtcbiAgY291bnRyeTogbnVtYmVyO1xufVxuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1ycy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb3JlL21vZGVscy91c2VyL3VzZXItcnMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLE1BQU07Q0FxQmxCO0FBRUQsTUFBTSxPQUFPLFVBQVU7Q0FVdEI7QUFFRCxNQUFNLE9BQU8sV0FBVztDQWN2QjtBQUVELE1BQU0sT0FBTyxlQUFlO0NBbUIzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2VScSB9IGZyb20gXCIuLi9hdHRlbmRhbmNlL2F0dGVuZGFuY2UuaW50ZXJmYWNlXCI7XG5cbmV4cG9ydCBjbGFzcyBVc2VyUnMge1xuICBjb2RlITogbnVtYmVyO1xuICBuYW1lITogc3RyaW5nO1xuICBsYXN0X25hbWUhOiBzdHJpbmc7XG4gIG5pY2tfbmFtZSE6IHN0cmluZztcbiAgZW1haWwhOiBzdHJpbmc7XG4gIGVtYWlsX2lwdCE6IHN0cmluZztcbiAgcm9sZSE6IG51bWJlcjtcbiAgY2FtcHVzX2VudGVycHJpc2U/OiBudW1iZXI7XG4gIGNhbXB1c19uYW1lPzogc3RyaW5nO1xuICBzZXJ2aWNlX2hvdXIhOiBudW1iZXI7XG4gIHBob25lX2luZGljYXRpdmUhOiBudW1iZXI7XG4gIHBob25lX251bWJlciE6IG51bWJlcjtcbiAgZ2VuZGVyITogc3RyaW5nO1xuICBiaXJ0aGRhdGUhOiBzdHJpbmc7XG4gIGNpdHkhOiBudW1iZXI7XG4gIGlkX2NhcmRfdHlwZSE6IG51bWJlcjtcbiAgaWRfY2FyZCE6IG51bWJlcjtcbiAgY29tbWVudD86IHN0cmluZztcbiAgcGFzc3dvcmQhOiBzdHJpbmc7XG4gIHRva2VuITogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgSVVzZXJFa3RScyB7XG4gIGNvZGUhOiBudW1iZXI7XG4gIG5hbWUhOiBzdHJpbmc7XG4gIGxhc3RfbmFtZSE6IHN0cmluZztcbiAgaWRfY2FyZCE6IG51bWJlcjtcbiAgdWZwc19jb2RlITogbnVtYmVyO1xuICBlbWFpbCE6IHN0cmluZztcbiAgcGhvbmVfaW5kaWNhdGl2ZSE6IG51bWJlcjtcbiAgcGhvbmUhOiBudW1iZXI7XG4gIHRva2VuITogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgVXNlckxvZ2luUnMge1xuICBjb2RlITogbnVtYmVyO1xuICBuYW1lITogc3RyaW5nO1xuICBsYXN0X25hbWUhOiBzdHJpbmc7XG4gIGVtYWlsITogc3RyaW5nO1xuICBpZF9jYXJkITogc3RyaW5nO1xuICBpZF9jYXJkX3R5cGUhOiBudW1iZXI7XG4gIHBob25lX2luZGljYXRpdmUhOiBudW1iZXI7XG4gIHBob25lITogc3RyaW5nO1xuICBnZW5kZXIhOiBudW1iZXI7XG4gIGNpdHkhOiBudW1iZXI7XG4gIHJvbGUhOiBudW1iZXI7XG4gIGJpcnRoZGF0ZSE6IHN0cmluZztcbiAgdG9rZW4hOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBJVXNlckZ1bGxEYXRhUnMge1xuICBjb2RlITogICAgICAgICAgICAgIG51bWJlcjtcbiAgbmFtZSE6ICAgICAgICAgICAgICBzdHJpbmc7XG4gIGxhc3RfbmFtZSE6ICAgICAgICAgc3RyaW5nO1xuICBuaWNrX25hbWUhOiAgICAgICAgIHN0cmluZztcbiAgZW1haWwhOiAgICAgICAgICAgICBzdHJpbmc7XG4gIGVtYWlsX2lwdCE6ICAgICAgICAgc3RyaW5nO1xuICByb2xlITogICAgICAgICAgICAgIG51bWJlcjtcbiAgc2VydmljZV9ob3VyITogICAgICBudW1iZXI7XG4gIHBob25lX2luZGljYXRpdmUhOiAgbnVtYmVyO1xuICBwaG9uZV9udW1iZXIhOiAgICAgIHN0cmluZztcbiAgZ2VuZGVyITogICAgICAgICAgICBudW1iZXI7XG4gIGJpcnRoZGF0ZSE6ICAgICAgICAgc3RyaW5nO1xuICBjaXR5ITogICAgICAgICAgICAgIG51bWJlcjtcbiAgaWRfY2FyZF90eXBlITogICAgICBudW1iZXI7XG4gIGlkX2NhcmQhOiAgICAgICAgICAgc3RyaW5nO1xuICBwYXNzd29yZCE6ICAgICAgICAgIHN0cmluZztcbiAgdG9rZW4hOiAgICAgICAgICAgICBzdHJpbmc7XG4gIHVzZXJfc3RhdHVzITogICAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVc2VyUmVzZXRQYXNzd29yZFJzIHtcbiAgaXBfYXBwbGljYW50OiBzdHJpbmc7XG4gIHN0YXR1czogICAgICAgbnVtYmVyO1xuICBtZXNzYWdlOiAgICAgIE1lc3NhZ2VScTtcbiAgZGF0YTogICAgICAgICBJRGF0YVVzZXJSZXNldFBhc3N3b3JkUnNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YVVzZXJSZXNldFBhc3N3b3JkUnMge1xuICBjb2RlOiAgICAgICAgICAgICBudW1iZXI7XG4gIG5hbWU6ICAgICAgICAgICAgIHN0cmluZztcbiAgbGFzdF9uYW1lOiAgICAgICAgc3RyaW5nO1xuICBuaWNrX25hbWU6ICAgICAgICBzdHJpbmc7XG4gIGVtYWlsOiAgICAgICAgICAgIHN0cmluZztcbiAgZW1haWxfaXB0OiAgICAgICAgc3RyaW5nO1xuICByb2xlOiAgICAgICAgICAgICBudW1iZXI7XG4gIHNlcnZpY2VfaG91cjogICAgIG51bWJlcjtcbiAgcGhvbmVfaW5kaWNhdGl2ZTogbnVtYmVyO1xuICBwaG9uZV9udW1iZXI6ICAgICBzdHJpbmc7XG4gIGdlbmRlcjogICAgICAgICAgIG51bWJlcjtcbiAgYmlydGhkYXRlOiAgICAgICAgbnVsbDtcbiAgY2l0eTogICAgICAgICAgICAgbnVtYmVyO1xuICBpZF9jYXJkX3R5cGU6ICAgICBudW1iZXI7XG4gIGlkX2NhcmQ6ICAgICAgICAgIHN0cmluZztcbiAgdG9rZW46ICAgICAgICAgICAgc3RyaW5nO1xuICB1c2VyX3N0YXR1czogICAgICBudW1iZXI7XG4gIHBhc3N3b3JkX2NoYW5nZTogIG51bWJlcjtcbiAgdXBkYXRlZF9hdDogICAgICAgRGF0ZTtcbiAgbmV3UGFzc3dvcmQ6ICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElVc2VySVBUUnFzIHtcbiAgY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICBuYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gIGxhc3RfbmFtZTogICAgICAgIHN0cmluZyB8IG51bGw7XG4gIG5pY2tfbmFtZTogICAgICAgIHN0cmluZyB8IG51bGw7XG4gIGVtYWlsOiAgICAgICAgICAgIHN0cmluZztcbiAgZW1haWxfaXB0OiAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgcm9sZTogICAgICAgICAgICAgbnVtYmVyO1xuICBwaG9uZV9pbmRpY2F0aXZlOiBudW1iZXI7XG4gIHBob25lX251bWJlcjogICAgIHN0cmluZztcbiAgZ2VuZGVyOiAgICAgICAgICAgbnVtYmVyIHwgbnVsbDtcbiAgYmlydGhkYXRlOiAgICAgICAgRGF0ZSB8IG51bGw7XG4gIGNpdHk6ICAgICAgICAgICAgIElDaXR5UlNbXTtcbiAgaWRfY2FyZF90eXBlOiAgICAgbnVtYmVyO1xuICBpZF9jYXJkOiAgICAgICAgICBzdHJpbmcgfCBudWxsO1xuICB1c2VyX3N0YXR1czogICAgICBudW1iZXI7XG4gIHBhc3N3b3JkX2NoYW5nZTogIG51bWJlcjtcbiAgc3RhdHVzX2FzaW5nOiAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDaXR5UlMge1xuICBjb2RlOiAgICBudW1iZXI7XG4gIGNhcGl0YWw6IG51bWJlcjtcbiAgc3RhdGU6ICAgbnVtYmVyO1xuICBjb3VudHJ5OiBudW1iZXI7XG59XG4iXX0=
@@ -117,6 +117,10 @@ export class BaseService {
117
117
  let response = user === null ? '' : user.name;
118
118
  return response;
119
119
  }
120
+ getUserCampusName() {
121
+ let user = this.storageService.getCurrentUser();
122
+ return user?.campus_name ?? '';
123
+ }
120
124
  getUserCode() {
121
125
  let user = this.storageService.getCurrentUser();
122
126
  let response = user === null ? -1 : user.code;
@@ -199,4 +203,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
199
203
  providedIn: 'root',
200
204
  }]
201
205
  }], ctorParameters: function () { return [{ type: i1.UserService }, { type: i2.StorageService }, { type: i3.CalendarService }]; } });
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvcmUvdXRpbHMvYmFzZS1zZXJ2aWNlL2Jhc2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFVL0IsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFDVSxXQUF3QixFQUN4QixjQUE4QixFQUM5QixlQUFnQztRQUZoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQ3ZDLENBQUM7SUFFSixRQUFRLENBQUMsSUFBWSxFQUFFLFFBQWdCO1FBQ3JDLElBQUksT0FBTyxHQUFZO1lBQ3JCLElBQUksRUFBRSxJQUFJO1lBQ1YsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQTtRQUNELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDL0IsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUNsQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFakMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFTLE9BQU8sRUFBRSxNQUFNO1lBQ3pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFFLFFBQVEsQ0FBQyxFQUFFO2dCQUMzQyxRQUFRLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO29CQUM3QixLQUFLLENBQUM7d0JBQ0osSUFBRyxDQUFDLE9BQU8sRUFBRTs0QkFDWCxJQUFJLENBQUMsSUFBSSxDQUFFO2dDQUNULE9BQU8sRUFBRSwrQ0FBK0M7Z0NBQ3hELE1BQU0sRUFBRSx1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QztRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdkIsSUFBSSxNQUFNLEdBQVUsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssSUFBSSxLQUFLLElBQUksT0FBTyxFQUFFO2dCQUN6QixJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ2pDLElBQUksT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksUUFBUSxFQUFFO3dCQUNyQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztxQkFDdEQ7b0JBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztpQkFDN0I7YUFDRjtZQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVc7UUFDeEIsSUFBSSxNQUFNLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLEtBQUssSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ3RCLElBQUksS0FBSyxJQUFJLE1BQU0sRUFBRTtnQkFDbkIsTUFBTSxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDOUI7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O3dHQS9NVSxXQUFXOzRHQUFYLFdBQVcsY0FGVixNQUFNOzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9naW5ScSwgUmVnaXN0ZXJEYXNoYm9hcmRScSB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyL3VzZXItcnEubW9kZWwnO1xuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91c2VyLXNlcnZpY2UvdXNlci1zZXJ2aWNlJztcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcbmltcG9ydCB7IFNlc3Npb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvc2Vzc2lvbi9zZXNzaW9uLm1vZGVsJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3RvcmFnZS1zZXJ2aWNlL3N0b3JhZ2Utc2VydmljZSc7XG5pbXBvcnQgeyBBdmFpbGFiaWxpdHlRdWVyeVJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Nyb25vZ3JhbS9jcm9ub2dyYW0ubW9kZWxzJztcbmltcG9ydCB7IENhbGVuZGFyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhbGVuZGFyLXNlcnZpY2UvY2FsZW5kYXIuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNwb25zZSB9IGZyb20gJy4uLy4uL21vZGVscy9yZXNwb25zZS9yZXNwb25zZS5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQmFzZVNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2FsZW5kYXJTZXJ2aWNlOiBDYWxlbmRhclNlcnZpY2VcbiAgKSB7fVxuXG4gIHdlYkxvZ2luKHVzZXI6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj57XG4gICAgbGV0IHJlcXVlc3Q6IExvZ2luUnEgPSB7XG4gICAgICB1c2VyOiB1c2VyLFxuICAgICAgcGFzc3dvcmQ6IHBhc3N3b3JkXG4gICAgfVxuICAgIGxldCBzZXJ2aWNlID0gdGhpcy51c2VyU2VydmljZTtcbiAgICBsZXQgc3RvcmFnZSA9IHRoaXMuc3RvcmFnZVNlcnZpY2U7XG4gICAgbGV0IGFwcFVzZXIgPSB0aGlzLmlzQW5BcHBVc2VyKCk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICBzZXJ2aWNlLmxvZ2luKHJlcXVlc3QpLnN1YnNjcmliZSggcmVzcG9uc2UgPT4ge1xuICAgICAgICBzd2l0Y2ggKHJlc3BvbnNlLm1lc3NhZ2UuY29kZSkge1xuICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgIGlmKCFhcHBVc2VyKSB7XG4gICAgICAgICAgICAgIFN3YWwuZmlyZSAoe1xuICAgICAgICAgICAgICAgICd0aXRsZSc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5QZXJmZWN0ITwvcD4nLFxuICAgICAgICAgICAgICAgICdodG1sJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPlN1Y2Nlc2Z1bGwgbG9naW48L3A+JyxcbiAgICAgICAgICAgICAgICAnaWNvbic6J3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxvZ2luUmVnaXN0ZXJVc2VyOiBTZXNzaW9uID0ge1xuICAgICAgICAgICAgICB0b2tlbjogcmVzcG9uc2UuZGF0YS50b2tlbixcbiAgICAgICAgICAgICAgdXNlcjogcmVzcG9uc2UuZGF0YSxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHN0b3JhZ2Uuc2V0Q3VycmVudFNlc3Npb24obG9naW5SZWdpc3RlclVzZXIpO1xuICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgICAgICd0aXRsZSc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5XYXJuaW5nITwvcD4nLFxuICAgICAgICAgICAgICAnaHRtbCc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5UaGUgZGF0YSBkb2VzIG5vdCBjb3JyZXNwb25kIHRvIGEgdXNlciByZWdpc3RlcmVkIGluIG91ciBzeXN0ZW0sIHBsZWFzZSByZXZpZXcgdGhlbS48L3A+JyxcbiAgICAgICAgICAgICAgJ2ljb24nOid3YXJuaW5nJyxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgICAgICd0aXRsZSc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5FcnJvciE8L3A+JyxcbiAgICAgICAgICAgICAgJ2h0bWwnOiAnPHAgc3R5bGU9XCJmb250LWZhbWlseTogUG9wcGluc1wiXCI+VGhlIGlucHV0IGRhdGEgZG9lcyBub3QgbWVldCB0aGUgZXN0YWJsaXNoZWQgcGFyYW1ldGVycy48L3A+JyxcbiAgICAgICAgICAgICAgJ2ljb24nOidlcnJvcicsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmVzb2x2ZShmYWxzZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCI+V2FybmluZyE8L3A+JyxcbiAgICAgICAgICAgICAgICBodG1sOiAnPGRpdiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgZm9udC1mYW1pbHk6IFBvcHBpbnM7XCI+JyArXG4gICAgICAgICAgICAgICAgICAgICAgJzxpIGNsYXNzPVwiZmFzIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXCIgc3R5bGU9XCJjb2xvcjogcmVkOyBmb250LXNpemU6IDI0cHg7XCI+PC9pPicgK1xuICAgICAgICAgICAgICAgICAgICAgICc8cD5Zb3VyIGFjY291bnQgaXMgaW4gaW5hY3RpdmUgc3RhdHVzLiBDb250YWN0IHN1cHBvcnQuPC9wPicgK1xuICAgICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nLFxuICAgICAgICAgICAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgcmVzb2x2ZShmYWxzZSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgICAndGl0bGUnOiAnPHAgc3R5bGU9XCJmb250LWZhbWlseTogUG9wcGluc1wiXCI+RXJyb3IhPC9wPicsXG4gICAgICAgICAgICAgICdodG1sJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPkFuIHVuZXhwZWN0ZWQgZXJyb3IgaGFzIG9jY3VycmVkPC9wPicsXG4gICAgICAgICAgICAgICdpY29uJzonZXJyb3InLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmVqZWN0KCdVbmhhbmRsZWQgZXhjZXB0aW9uJyk7XG4gICAgICB9KTtcbiAgICB9KVxuICB9XG5cbiAgZ2V0Q3Jvbm9ncmFtQXZhaWxhYmlsaXR5KGlzVGVhY2hlcjogYm9vbGVhbiwgY29kZTogbnVtYmVyLCBzdGFydERhdGU6IHN0cmluZywgbnVtQ2xhc3M6IG51bWJlciwgd2Vla0RheXM6IGFueVtdLCBzdGFydFRpbWU6IHN0cmluZywgZW5kVGltZTogc3RyaW5nKTogUHJvbWlzZTxhbnk+e1xuICAgIGxldCByZXF1ZXN0OiBBdmFpbGFiaWxpdHlRdWVyeVJxID0ge1xuICAgICAgaXNUZWFjaGVyOiBpc1RlYWNoZXIsXG4gICAgICBjb2RlOiBjb2RlLFxuICAgICAgc3RhcnREYXRlOiBzdGFydERhdGUsXG4gICAgICBudW1DbGFzczogbnVtQ2xhc3MsXG4gICAgICB3ZWVrRGF5czogd2Vla0RheXMsXG4gICAgICBzdGFydFRpbWU6IHN0YXJ0VGltZSxcbiAgICAgIGVuZFRpbWU6IGVuZFRpbWUsXG4gICAgfTtcblxuICAgIGxldCBzZXJ2aWNlID0gdGhpcy5jYWxlbmRhclNlcnZpY2U7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICBzZXJ2aWNlLnBvc3RDcmVhdGVRdWVyeUV2ZW50KHJlcXVlc3QpLnN1YnNjcmliZSggIChyZXNwb25zZTogUmVzcG9uc2UpID0+IHtcbiAgICAgICAgc3dpdGNoIChyZXNwb25zZS5tZXNzYWdlLmNvZGUpIHtcbiAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlLmRhdGEpO1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmVqZWN0KCdVbmhhbmRsZWQgZXhjZXB0aW9uJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmVqZWN0KCdVbmhhbmRsZWQgZXhjZXB0aW9uJyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGlzQW5BcHBVc2VyKCkge1xuICAgIGNvbnN0IHVzZXJBZ2VudDogc3RyaW5nID0gd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQ7XG4gICAgcmV0dXJuIHVzZXJBZ2VudC5pbmNsdWRlcygnRmx1dHRlciBJUFQgQVBQJyk7XG4gIH1cblxuICBnZXRVc2VyUm9sZSgpOiBudW1iZXIge1xuICAgIGxldCB1c2VyID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRDdXJyZW50VXNlcigpPy5yb2xlO1xuICAgIHJldHVybiB1c2VyID09PSB1bmRlZmluZWQgPyAtMSA6IHVzZXI7XG4gIH1cblxuICBnZXRVc2VyVG9rZW4oKTogc3RyaW5nIHtcbiAgICBsZXQgdG9rZW4gPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCk/LnRva2VuO1xuICAgIHJldHVybiB0b2tlbiA9PT0gdW5kZWZpbmVkID8gJy0xJyA6IHRva2VuO1xuICB9XG5cbiAgZ2V0VXNlck5hbWUoKTogc3RyaW5nIHtcbiAgICBsZXQgdXNlciA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKTtcbiAgICBsZXQgcmVzcG9uc2UgPSB1c2VyID09PSBudWxsID8gJycgOiB1c2VyLm5hbWU7XG4gICAgcmV0dXJuIHJlc3BvbnNlO1xuICB9XG5cbiAgZ2V0VXNlckNvZGUoKTogbnVtYmVyIHtcbiAgICBsZXQgdXNlciA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKTtcbiAgICBsZXQgcmVzcG9uc2UgPSB1c2VyID09PSBudWxsID8gLTEgOiB1c2VyLmNvZGU7XG4gICAgcmV0dXJuIHJlc3BvbnNlO1xuICB9XG5cbiAgcmVnaXN0ZXJVc2VyRnJvbURhc2hib2FyZChyZWdpc3RlckRhc2hib2FyZFJxOiBSZWdpc3RlckRhc2hib2FyZFJxKTogUHJvbWlzZTxib29sZWFuPntcbiAgICBsZXQgcmVxdWVzdCA9IHJlZ2lzdGVyRGFzaGJvYXJkUnE7XG4gICAgbGV0IHNlcnZpY2UgPSB0aGlzLnVzZXJTZXJ2aWNlO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgc2VydmljZS5yZWdpc3RlckRhc2hib2FyZChyZXF1ZXN0KS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG5cbiAgICAgICAgc3dpdGNoIChyZXNwb25zZS5tZXNzYWdlLmNvZGUpIHtcbiAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICBTd2FsLmZpcmUgKHtcbiAgICAgICAgICAgICAgJ3RpdGxlJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPlBlcmZlY3QhPC9wPicsXG4gICAgICAgICAgICAgICdodG1sJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPlN1Y2VzZnVsbCByZWdpc3RlciE8L3A+JyxcbiAgICAgICAgICAgICAgJ2ljb24nOidzdWNjZXNzJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgIFN3YWwuZmlyZSAoe1xuICAgICAgICAgICAgICAndGl0bGUnOiAnPHAgc3R5bGU9XCJmb250LWZhbWlseTogUG9wcGluc1wiXCI+RXJyb3IhPC9wPicsXG4gICAgICAgICAgICAgICdodG1sJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPlRoZSBpbnB1dCBkYXRhIGRvZXMgbm90IG1lZXQgdGhlIGVzdGFibGlzaGVkIHBhcmFtZXRlcnMuPC9wPicsXG4gICAgICAgICAgICAgICdpY29uJzonZXJyb3InLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgIFN3YWwuZmlyZSAoe1xuICAgICAgICAgICAgICAndGl0bGUnOiAnPHAgc3R5bGU9XCJmb250LWZhbWlseTogUG9wcGluc1wiPlVwcyE8L3A+JyxcbiAgICAgICAgICAgICAgJ2h0bWwnOiAnPHAgc3R5bGU9XCJmb250LWZhbWlseTogUG9wcGluc1wiPlRoZSBpbnB1dCBkYXRhIGhhcyBhIGhpZ2ggcmVsYXRpb24gd2l0aCBhIHVzZXIgdGhhdCBhbHJlYWR5IGV4aXN0cyE8L3A+JyxcbiAgICAgICAgICAgICAgJ2ljb24nOiAnd2FybmluZycsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIFN3YWwuZmlyZSAoe1xuICAgICAgICAgICAgICAndGl0bGUnOiAnPHAgc3R5bGU9XCJmb250LWZhbWlseTogUG9wcGluc1wiXCI+RXJyb3IhPC9wPicsXG4gICAgICAgICAgICAgICdodG1sJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPkFuIHVuZXhwZWN0ZWQgZXJyb3IgaGFzIG9jY3VycmVkPC9wPicsXG4gICAgICAgICAgICAgICdpY29uJzonZXJyb3InLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVqZWN0KCdVbmhhbmRsZWQgZXhjZXB0aW9uJyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGpzb25Ub0FycmF5KGRhdGE6IGFueVtdKTogYW55W11bXSB7XG4gICAgdmFyIHJlc3BvbnNlOiBhbnlbXSA9IFtdO1xuICAgIGRhdGEuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgdmFyIG9iamVjdDogYW55W10gPSBbXTtcbiAgICAgIGZvciAodmFyIGNsYXZlIGluIGVsZW1lbnQpIHtcbiAgICAgICAgaWYgKGVsZW1lbnQuaGFzT3duUHJvcGVydHkoY2xhdmUpKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBlbGVtZW50W2NsYXZlXSA9PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgZWxlbWVudFtjbGF2ZV0gPSB0aGlzLnN1Ykpzb25Ub0FycmF5KGVsZW1lbnRbY2xhdmVdKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBvYmplY3QucHVzaChlbGVtZW50W2NsYXZlXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJlc3BvbnNlLnB1c2gob2JqZWN0KTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICBzdWJKc29uVG9BcnJheShkYXRhOiBhbnlbXSk6IHN0cmluZyB7XG4gICAgdmFyIG9iamVjdDogc3RyaW5nID0gJyc7XG4gICAgZm9yICh2YXIgY2xhdmUgaW4gZGF0YSkge1xuICAgICAgaWYgKGNsYXZlICE9ICdjb2RlJykge1xuICAgICAgICBvYmplY3QgKz0gJ1xcbicgKyBkYXRhW2NsYXZlXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9iamVjdDtcbiAgfVxuXG59XG4iXX0=
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvcmUvdXRpbHMvYmFzZS1zZXJ2aWNlL2Jhc2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFVL0IsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFDVSxXQUF3QixFQUN4QixjQUE4QixFQUM5QixlQUFnQztRQUZoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQ3ZDLENBQUM7SUFFSixRQUFRLENBQUMsSUFBWSxFQUFFLFFBQWdCO1FBQ3JDLElBQUksT0FBTyxHQUFZO1lBQ3JCLElBQUksRUFBRSxJQUFJO1lBQ1YsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQTtRQUNELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDL0IsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUNsQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFakMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFTLE9BQU8sRUFBRSxNQUFNO1lBQ3pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFFLFFBQVEsQ0FBQyxFQUFFO2dCQUMzQyxRQUFRLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO29CQUM3QixLQUFLLENBQUM7d0JBQ0osSUFBRyxDQUFDLE9BQU8sRUFBRTs0QkFDWCxJQUFJLENBQUMsSUFBSSxDQUFFO2dDQUNULE9BQU8sRUFBRSwrQ0FBK0M7Z0NBQ3hELE1BQU0sRUFBRSx1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dCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2dpblJxLCBSZWdpc3RlckRhc2hib2FyZFJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXIvdXNlci1ycS5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3VzZXItc2VydmljZS91c2VyLXNlcnZpY2UnO1xuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xuaW1wb3J0IHsgU2Vzc2lvbiB9IGZyb20gJy4uLy4uL21vZGVscy9zZXNzaW9uL3Nlc3Npb24ubW9kZWwnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zdG9yYWdlLXNlcnZpY2Uvc3RvcmFnZS1zZXJ2aWNlJztcbmltcG9ydCB7IEF2YWlsYWJpbGl0eVF1ZXJ5UnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY3Jvbm9ncmFtL2Nyb25vZ3JhbS5tb2RlbHMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FsZW5kYXItc2VydmljZS9jYWxlbmRhci5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Jlc3BvbnNlL3Jlc3BvbnNlLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBCYXNlU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYWxlbmRhclNlcnZpY2U6IENhbGVuZGFyU2VydmljZVxuICApIHt9XG5cbiAgd2ViTG9naW4odXNlcjogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPntcbiAgICBsZXQgcmVxdWVzdDogTG9naW5ScSA9IHtcbiAgICAgIHVzZXI6IHVzZXIsXG4gICAgICBwYXNzd29yZDogcGFzc3dvcmRcbiAgICB9XG4gICAgbGV0IHNlcnZpY2UgPSB0aGlzLnVzZXJTZXJ2aWNlO1xuICAgIGxldCBzdG9yYWdlID0gdGhpcy5zdG9yYWdlU2VydmljZTtcbiAgICBsZXQgYXBwVXNlciA9IHRoaXMuaXNBbkFwcFVzZXIoKTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgIHNlcnZpY2UubG9naW4ocmVxdWVzdCkuc3Vic2NyaWJlKCByZXNwb25zZSA9PiB7XG4gICAgICAgIHN3aXRjaCAocmVzcG9uc2UubWVzc2FnZS5jb2RlKSB7XG4gICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgaWYoIWFwcFVzZXIpIHtcbiAgICAgICAgICAgICAgU3dhbC5maXJlICh7XG4gICAgICAgICAgICAgICAgJ3RpdGxlJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPlBlcmZlY3QhPC9wPicsXG4gICAgICAgICAgICAgICAgJ2h0bWwnOiAnPHAgc3R5bGU9XCJmb250LWZhbWlseTogUG9wcGluc1wiXCI+U3VjY2VzZnVsbCBsb2dpbjwvcD4nLFxuICAgICAgICAgICAgICAgICdpY29uJzonc3VjY2VzcycsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbG9naW5SZWdpc3RlclVzZXI6IFNlc3Npb24gPSB7XG4gICAgICAgICAgICAgIHRva2VuOiByZXNwb25zZS5kYXRhLnRva2VuLFxuICAgICAgICAgICAgICB1c2VyOiByZXNwb25zZS5kYXRhLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgc3RvcmFnZS5zZXRDdXJyZW50U2Vzc2lvbihsb2dpblJlZ2lzdGVyVXNlcik7XG4gICAgICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgICAgICAgJ3RpdGxlJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPldhcm5pbmchPC9wPicsXG4gICAgICAgICAgICAgICdodG1sJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPlRoZSBkYXRhIGRvZXMgbm90IGNvcnJlc3BvbmQgdG8gYSB1c2VyIHJlZ2lzdGVyZWQgaW4gb3VyIHN5c3RlbSwgcGxlYXNlIHJldmlldyB0aGVtLjwvcD4nLFxuICAgICAgICAgICAgICAnaWNvbic6J3dhcm5pbmcnLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAzOlxuICAgICAgICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgICAgICAgJ3RpdGxlJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPkVycm9yITwvcD4nLFxuICAgICAgICAgICAgICAnaHRtbCc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5UaGUgaW5wdXQgZGF0YSBkb2VzIG5vdCBtZWV0IHRoZSBlc3RhYmxpc2hlZCBwYXJhbWV0ZXJzLjwvcD4nLFxuICAgICAgICAgICAgICAnaWNvbic6J2Vycm9yJyxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIj5XYXJuaW5nITwvcD4nLFxuICAgICAgICAgICAgICAgIGh0bWw6ICc8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBmb250LWZhbWlseTogUG9wcGlucztcIj4nICtcbiAgICAgICAgICAgICAgICAgICAgICAnPGkgY2xhc3M9XCJmYXMgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcIiBzdHlsZT1cImNvbG9yOiByZWQ7IGZvbnQtc2l6ZTogMjRweDtcIj48L2k+JyArXG4gICAgICAgICAgICAgICAgICAgICAgJzxwPllvdXIgYWNjb3VudCBpcyBpbiBpbmFjdGl2ZSBzdGF0dXMuIENvbnRhY3Qgc3VwcG9ydC48L3A+JyArXG4gICAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicsXG4gICAgICAgICAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgICAgICd0aXRsZSc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5FcnJvciE8L3A+JyxcbiAgICAgICAgICAgICAgJ2h0bWwnOiAnPHAgc3R5bGU9XCJmb250LWZhbWlseTogUG9wcGluc1wiXCI+QW4gdW5leHBlY3RlZCBlcnJvciBoYXMgb2NjdXJyZWQ8L3A+JyxcbiAgICAgICAgICAgICAgJ2ljb24nOidlcnJvcicsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmVzb2x2ZShmYWxzZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZWplY3QoJ1VuaGFuZGxlZCBleGNlcHRpb24nKTtcbiAgICAgIH0pO1xuICAgIH0pXG4gIH1cblxuICBnZXRDcm9ub2dyYW1BdmFpbGFiaWxpdHkoaXNUZWFjaGVyOiBib29sZWFuLCBjb2RlOiBudW1iZXIsIHN0YXJ0RGF0ZTogc3RyaW5nLCBudW1DbGFzczogbnVtYmVyLCB3ZWVrRGF5czogYW55W10sIHN0YXJ0VGltZTogc3RyaW5nLCBlbmRUaW1lOiBzdHJpbmcpOiBQcm9taXNlPGFueT57XG4gICAgbGV0IHJlcXVlc3Q6IEF2YWlsYWJpbGl0eVF1ZXJ5UnEgPSB7XG4gICAgICBpc1RlYWNoZXI6IGlzVGVhY2hlcixcbiAgICAgIGNvZGU6IGNvZGUsXG4gICAgICBzdGFydERhdGU6IHN0YXJ0RGF0ZSxcbiAgICAgIG51bUNsYXNzOiBudW1DbGFzcyxcbiAgICAgIHdlZWtEYXlzOiB3ZWVrRGF5cyxcbiAgICAgIHN0YXJ0VGltZTogc3RhcnRUaW1lLFxuICAgICAgZW5kVGltZTogZW5kVGltZSxcbiAgICB9O1xuXG4gICAgbGV0IHNlcnZpY2UgPSB0aGlzLmNhbGVuZGFyU2VydmljZTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgIHNlcnZpY2UucG9zdENyZWF0ZVF1ZXJ5RXZlbnQocmVxdWVzdCkuc3Vic2NyaWJlKCAgKHJlc3BvbnNlOiBSZXNwb25zZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKHJlc3BvbnNlLm1lc3NhZ2UuY29kZSkge1xuICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UuZGF0YSk7XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZWplY3QoJ1VuaGFuZGxlZCBleGNlcHRpb24nKTtcbiAgICAgICAgfVxuICAgICAgICByZWplY3QoJ1VuaGFuZGxlZCBleGNlcHRpb24nKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgaXNBbkFwcFVzZXIoKSB7XG4gICAgY29uc3QgdXNlckFnZW50OiBzdHJpbmcgPSB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudDtcbiAgICByZXR1cm4gdXNlckFnZW50LmluY2x1ZGVzKCdGbHV0dGVyIElQVCBBUFAnKTtcbiAgfVxuXG4gIGdldFVzZXJSb2xlKCk6IG51bWJlciB7XG4gICAgbGV0IHVzZXIgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCk/LnJvbGU7XG4gICAgcmV0dXJuIHVzZXIgPT09IHVuZGVmaW5lZCA/IC0xIDogdXNlcjtcbiAgfVxuXG4gIGdldFVzZXJUb2tlbigpOiBzdHJpbmcge1xuICAgIGxldCB0b2tlbiA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKT8udG9rZW47XG4gICAgcmV0dXJuIHRva2VuID09PSB1bmRlZmluZWQgPyAnLTEnIDogdG9rZW47XG4gIH1cblxuICBnZXRVc2VyTmFtZSgpOiBzdHJpbmcge1xuICAgIGxldCB1c2VyID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRDdXJyZW50VXNlcigpO1xuICAgIGxldCByZXNwb25zZSA9IHVzZXIgPT09IG51bGwgPyAnJyA6IHVzZXIubmFtZTtcbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICBnZXRVc2VyQ2FtcHVzTmFtZSgpOiBzdHJpbmcge1xuICAgIGxldCB1c2VyID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRDdXJyZW50VXNlcigpO1xuICAgIHJldHVybiB1c2VyPy5jYW1wdXNfbmFtZSA/PyAnJztcbiAgfVxuXG4gIGdldFVzZXJDb2RlKCk6IG51bWJlciB7XG4gICAgbGV0IHVzZXIgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCk7XG4gICAgbGV0IHJlc3BvbnNlID0gdXNlciA9PT0gbnVsbCA/IC0xIDogdXNlci5jb2RlO1xuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIHJlZ2lzdGVyVXNlckZyb21EYXNoYm9hcmQocmVnaXN0ZXJEYXNoYm9hcmRScTogUmVnaXN0ZXJEYXNoYm9hcmRScSk6IFByb21pc2U8Ym9vbGVhbj57XG4gICAgbGV0IHJlcXVlc3QgPSByZWdpc3RlckRhc2hib2FyZFJxO1xuICAgIGxldCBzZXJ2aWNlID0gdGhpcy51c2VyU2VydmljZTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgIHNlcnZpY2UucmVnaXN0ZXJEYXNoYm9hcmQocmVxdWVzdCkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuXG4gICAgICAgIHN3aXRjaCAocmVzcG9uc2UubWVzc2FnZS5jb2RlKSB7XG4gICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgU3dhbC5maXJlICh7XG4gICAgICAgICAgICAgICd0aXRsZSc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5QZXJmZWN0ITwvcD4nLFxuICAgICAgICAgICAgICAnaHRtbCc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5TdWNlc2Z1bGwgcmVnaXN0ZXIhPC9wPicsXG4gICAgICAgICAgICAgICdpY29uJzonc3VjY2VzcycsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICBTd2FsLmZpcmUgKHtcbiAgICAgICAgICAgICAgJ3RpdGxlJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPkVycm9yITwvcD4nLFxuICAgICAgICAgICAgICAnaHRtbCc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5UaGUgaW5wdXQgZGF0YSBkb2VzIG5vdCBtZWV0IHRoZSBlc3RhYmxpc2hlZCBwYXJhbWV0ZXJzLjwvcD4nLFxuICAgICAgICAgICAgICAnaWNvbic6J2Vycm9yJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmVzb2x2ZShmYWxzZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgICBTd2FsLmZpcmUgKHtcbiAgICAgICAgICAgICAgJ3RpdGxlJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIj5VcHMhPC9wPicsXG4gICAgICAgICAgICAgICdodG1sJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIj5UaGUgaW5wdXQgZGF0YSBoYXMgYSBoaWdoIHJlbGF0aW9uIHdpdGggYSB1c2VyIHRoYXQgYWxyZWFkeSBleGlzdHMhPC9wPicsXG4gICAgICAgICAgICAgICdpY29uJzogJ3dhcm5pbmcnLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBTd2FsLmZpcmUgKHtcbiAgICAgICAgICAgICAgJ3RpdGxlJzogJzxwIHN0eWxlPVwiZm9udC1mYW1pbHk6IFBvcHBpbnNcIlwiPkVycm9yITwvcD4nLFxuICAgICAgICAgICAgICAnaHRtbCc6ICc8cCBzdHlsZT1cImZvbnQtZmFtaWx5OiBQb3BwaW5zXCJcIj5BbiB1bmV4cGVjdGVkIGVycm9yIGhhcyBvY2N1cnJlZDwvcD4nLFxuICAgICAgICAgICAgICAnaWNvbic6J2Vycm9yJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmVzb2x2ZShmYWxzZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIHJlamVjdCgnVW5oYW5kbGVkIGV4Y2VwdGlvbicpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBqc29uVG9BcnJheShkYXRhOiBhbnlbXSk6IGFueVtdW10ge1xuICAgIHZhciByZXNwb25zZTogYW55W10gPSBbXTtcbiAgICBkYXRhLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgIHZhciBvYmplY3Q6IGFueVtdID0gW107XG4gICAgICBmb3IgKHZhciBjbGF2ZSBpbiBlbGVtZW50KSB7XG4gICAgICAgIGlmIChlbGVtZW50Lmhhc093blByb3BlcnR5KGNsYXZlKSkge1xuICAgICAgICAgIGlmICh0eXBlb2YgZWxlbWVudFtjbGF2ZV0gPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIGVsZW1lbnRbY2xhdmVdID0gdGhpcy5zdWJKc29uVG9BcnJheShlbGVtZW50W2NsYXZlXSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgb2JqZWN0LnB1c2goZWxlbWVudFtjbGF2ZV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXNwb25zZS5wdXNoKG9iamVjdCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3BvbnNlO1xuICB9XG5cbiAgc3ViSnNvblRvQXJyYXkoZGF0YTogYW55W10pOiBzdHJpbmcge1xuICAgIHZhciBvYmplY3Q6IHN0cmluZyA9ICcnO1xuICAgIGZvciAodmFyIGNsYXZlIGluIGRhdGEpIHtcbiAgICAgIGlmIChjbGF2ZSAhPSAnY29kZScpIHtcbiAgICAgICAgb2JqZWN0ICs9ICdcXG4nICsgZGF0YVtjbGF2ZV07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvYmplY3Q7XG4gIH1cblxufVxuIl19
@@ -1265,6 +1265,11 @@ class BaseService {
1265
1265
  let response = user === null ? '' : user.name;
1266
1266
  return response;
1267
1267
  }
1268
+ getUserCampusName() {
1269
+ var _a;
1270
+ let user = this.storageService.getCurrentUser();
1271
+ return (_a = user === null || user === void 0 ? void 0 : user.campus_name) !== null && _a !== void 0 ? _a : '';
1272
+ }
1268
1273
  getUserCode() {
1269
1274
  let user = this.storageService.getCurrentUser();
1270
1275
  let response = user === null ? -1 : user.code;