verben-authentication-ui 1.0.23 → 1.0.26

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.
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { ErrorResponse } from 'verben-authentication-ui/src/lib/models';
2
+ import { ErrorResponse, SearchOperator, SearchPropertySign, SortDirection } from 'verben-authentication-ui/src/lib/models';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "verben-authentication-ui/src/lib/services";
5
5
  export class UserManagementService {
@@ -76,6 +76,28 @@ export class UserManagementService {
76
76
  const url = `User/DeleteUsers`;
77
77
  return this.httpService.delete(`${url}?data=${userIds.join(',')}`);
78
78
  }
79
+ async loadEntities(entity, fields, env, event = null) {
80
+ var payload = {
81
+ Fields: fields,
82
+ SearchKeyValues: [
83
+ {
84
+ PropertyName: 'Code',
85
+ EntityValue: '',
86
+ Operator: SearchOperator.And,
87
+ Sign: SearchPropertySign.EQ,
88
+ Sort: SortDirection.Asc,
89
+ },
90
+ ],
91
+ };
92
+ const res = await this.httpService.post(`SearchDynamic${entity}/0/0`, payload, env);
93
+ if (res instanceof ErrorResponse) {
94
+ return [];
95
+ }
96
+ else {
97
+ var result = res.Result;
98
+ return result;
99
+ }
100
+ }
79
101
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserManagementService, deps: [{ token: i1.HttpWebRequestService }], target: i0.ɵɵFactoryTarget.Injectable });
80
102
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserManagementService, providedIn: 'root' });
81
103
  }
@@ -85,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
85
107
  providedIn: 'root',
86
108
  }]
87
109
  }], ctorParameters: () => [{ type: i1.HttpWebRequestService }] });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tYW5hZ2VtZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItbWFuYWdlbWVudC9zZXJ2aWNlcy91c2VyLW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBT3hFLE1BQU0sT0FBTyxxQkFBcUI7SUFHWjtJQUZwQixnRUFBZ0U7SUFFaEUsWUFBb0IsV0FBa0M7UUFBbEMsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO0lBQUcsQ0FBQztJQUUxRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FDWixJQUFZLEVBQ1osS0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFNBQWlCO1FBRWpCLHlDQUF5QztRQUN6QyxNQUFNLEdBQUcsR0FBRyxpQkFBaUIsSUFBSSxJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksU0FBUyxFQUFFLENBQUM7UUFDdkUsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU1QyxJQUFJLEdBQUcsWUFBWSxhQUFhLEVBQUUsQ0FBQztZQUNqQyxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBUSxHQUF5QixDQUFDLE1BQU0sQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsS0FBSyxDQUFDLGlCQUFpQixDQUNyQixLQUFhLEVBQ2IsSUFBWSxFQUNaLEtBQWEsRUFDYixTQUFpQixFQUNqQixTQUFpQjtRQUVqQixNQUFNLEdBQUcsR0FBRyx5QkFBeUIsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ3hGLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFXLENBQUM7SUFDckQsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZLENBQ2hCLElBQW1CLEVBQ25CLElBQVksRUFDWixLQUFhLEVBQ2IsU0FBaUIsRUFDakIsU0FBaUI7UUFFakIsSUFBSSxHQUFXLENBQUM7UUFFaEIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULHdEQUF3RDtZQUN4RCxHQUFHLEdBQUcseUJBQXlCLElBQUksSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLFNBQVMsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNuRixDQUFDO2FBQU0sQ0FBQztZQUNOLDRDQUE0QztZQUM1QyxHQUFHLEdBQUcsaUJBQWlCLElBQUksSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ25FLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTVDLElBQUksR0FBRyxZQUFZLGFBQWEsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEdBQXdCLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsU0FBUyxDQUFDLEtBQWE7UUFDckIsTUFBTSxHQUFHLEdBQUcsZ0JBQWdCLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsT0FBaUI7UUFDM0IsTUFBTSxHQUFHLEdBQUcsa0JBQWtCLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsU0FBUyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO3dHQTlGVSxxQkFBcUI7NEdBQXJCLHFCQUFxQixjQUZwQixNQUFNOzs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cFdlYlJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvc2VydmljZXMnO1xuaW1wb3J0IHsgRXJyb3JSZXNwb25zZSB9IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBQYWdlZFJlc3VsdCB9IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJNYW5hZ2VtZW50U2VydmljZSB7XG4gIC8vIHByaXZhdGUgcmVhZG9ubHkgQkFTRV9VUkwgPSAnaHR0cHM6Ly9hdXRoLndoaXRlMzYwLm5ldC9Vc2VyJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwV2ViUmVxdWVzdFNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIEdldCB1c2VycyB3aXRoIHBhZ2luYXRpb24gYW5kIHNvcnRpbmdcbiAgICogQHBhcmFtIHNraXAgTnVtYmVyIG9mIHJlY29yZHMgdG8gc2tpcFxuICAgKiBAcGFyYW0gbGltaXQgTnVtYmVyIG9mIHJlY29yZHMgdG8gdGFrZVxuICAgKiBAcGFyYW0gc29ydFBhcmFtIFNvcnQgcGFyYW1ldGVyXG4gICAqIEBwYXJhbSBzb3J0T3JkZXIgU29ydCBvcmRlciAoJ2FzYycgb3IgJ2Rlc2MnKVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbnRhaW5pbmcgdGhlIGxpc3Qgb2YgdXNlcnNcbiAgICovXG4gIGFzeW5jIGdldFVzZXJzKFxuICAgIHNraXA6IG51bWJlcixcbiAgICBsaW1pdDogbnVtYmVyLFxuICAgIHNvcnRQYXJhbTogc3RyaW5nLFxuICAgIHNvcnRPcmRlcjogc3RyaW5nXG4gICk6IFByb21pc2U8VXNlcltdIHwgRXJyb3JSZXNwb25zZT4ge1xuICAgIC8vIHZhciByZXNwb25zZSA6IFVzZXJbXSB8IEVycm9yUmVzcG9uc2U7XG4gICAgY29uc3QgdXJsID0gYFVzZXIvR2V0VXNlcnMvJHtza2lwfS8ke2xpbWl0fS8ke3NvcnRQYXJhbX0vJHtzb3J0T3JkZXJ9YDtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpO1xuXG4gICAgaWYgKHJlcyBpbnN0YW5jZW9mIEVycm9yUmVzcG9uc2UpIHtcbiAgICAgIHJldHVybiByZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAocmVzIGFzIFBhZ2VkUmVzdWx0PFVzZXI+KS5SZXN1bHQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB1c2VycyB3aXRoIGFuIGFkZGl0aW9uYWwgc2VhcmNoIHBhcmFtZXRlciwgcGFnaW5hdGlvbiwgYW5kIHNvcnRpbmdcbiAgICogQHBhcmFtIHBhcmFtIFNlYXJjaCBwYXJhbWV0ZXJcbiAgICogQHBhcmFtIHNraXAgTnVtYmVyIG9mIHJlY29yZHMgdG8gc2tpcFxuICAgKiBAcGFyYW0gbGltaXQgTnVtYmVyIG9mIHJlY29yZHMgdG8gdGFrZVxuICAgKiBAcGFyYW0gc29ydFBhcmFtIFNvcnQgcGFyYW1ldGVyXG4gICAqIEBwYXJhbSBzb3J0T3JkZXIgU29ydCBvcmRlciAoJ2FzYycgb3IgJ2Rlc2MnKVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbnRhaW5pbmcgdGhlIGZpbHRlcmVkIGxpc3Qgb2YgdXNlcnNcbiAgICovXG4gIGFzeW5jIGdldFVzZXJzV2l0aFBhcmFtKFxuICAgIHBhcmFtOiBzdHJpbmcsXG4gICAgc2tpcDogbnVtYmVyLFxuICAgIGxpbWl0OiBudW1iZXIsXG4gICAgc29ydFBhcmFtOiBzdHJpbmcsXG4gICAgc29ydE9yZGVyOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxVc2VyW10+IHtcbiAgICBjb25zdCB1cmwgPSBgVXNlci9HZXRVc2VyV2l0aFBhcmFtLyR7cGFyYW19LyR7c2tpcH0vJHtsaW1pdH0vJHtzb3J0UGFyYW19LyR7c29ydE9yZGVyfWA7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpKSBhcyBVc2VyW107XG4gIH1cblxuICBhc3luYyBnZXRSZWFsVXNlcnMoXG4gICAgcm9sZTogc3RyaW5nIHwgbnVsbCxcbiAgICBza2lwOiBudW1iZXIsXG4gICAgbGltaXQ6IG51bWJlcixcbiAgICBzb3J0UGFyYW06IHN0cmluZyxcbiAgICBzb3J0T3JkZXI6IHN0cmluZ1xuICApIHtcbiAgICBsZXQgdXJsOiBzdHJpbmc7XG5cbiAgICBpZiAocm9sZSkge1xuICAgICAgLy8gUm9sZSBpcyBwcm92aWRlZCwgdXNlIHRoZSBcIkdldFVzZXJXaXRoUGFyYW1cIiBlbmRwb2ludFxuICAgICAgdXJsID0gYFVzZXIvR2V0VXNlcldpdGhQYXJhbS8ke3JvbGV9LyR7c2tpcH0vJHtsaW1pdH0vJHtzb3J0UGFyYW19LyR7c29ydE9yZGVyfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFJvbGUgaXMgbnVsbCwgdXNlIHRoZSBcIkdldFVzZXJzXCIgZW5kcG9pbnRcbiAgICAgIHVybCA9IGBVc2VyL0dldFVzZXJzLyR7c2tpcH0vJHtsaW1pdH0vJHtzb3J0UGFyYW19LyR7c29ydE9yZGVyfWA7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5odHRwU2VydmljZS5nZXQodXJsKTtcblxuICAgIGlmIChyZXMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcmVzIGFzIFBhZ2VkUmVzdWx0PFVzZXI+O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlIG11bHRpcGxlIHVzZXJzXG4gICAqIEBwYXJhbSB1c2VycyBBcnJheSBvZiB1c2VycyB0byBzYXZlXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29udGFpbmluZyB0aGUgc2F2ZSBvcGVyYXRpb24gcmVzdWx0XG4gICAqL1xuICBzYXZlVXNlcnModXNlcnM6IFVzZXJbXSk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYFVzZXIvU2F2ZVVzZXJzYDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgdXNlcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBtdWx0aXBsZSB1c2Vyc1xuICAgKiBAcGFyYW0gdXNlcklkcyBBcnJheSBvZiB1c2VyIElEcyB0byBkZWxldGVcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBkZWxldGUgb3BlcmF0aW9uIHJlc3VsdFxuICAgKi9cbiAgZGVsZXRlVXNlcnModXNlcklkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGBVc2VyL0RlbGV0ZVVzZXJzYDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5kZWxldGUoYCR7dXJsfT9kYXRhPSR7dXNlcklkcy5qb2luKCcsJyl9YCk7XG4gIH1cbn1cbiJdfQ==
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tYW5hZ2VtZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItbWFuYWdlbWVudC9zZXJ2aWNlcy91c2VyLW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQXFDLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQVEsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBT3BLLE1BQU0sT0FBTyxxQkFBcUI7SUFHWjtJQUZwQixnRUFBZ0U7SUFFaEUsWUFBb0IsV0FBa0M7UUFBbEMsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO0lBQUksQ0FBQztJQUUzRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FDWixJQUFZLEVBQ1osS0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFNBQWlCO1FBRWpCLHlDQUF5QztRQUN6QyxNQUFNLEdBQUcsR0FBRyxpQkFBaUIsSUFBSSxJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksU0FBUyxFQUFFLENBQUM7UUFDdkUsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU1QyxJQUFJLEdBQUcsWUFBWSxhQUFhLEVBQUUsQ0FBQztZQUNqQyxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBUSxHQUF5QixDQUFDLE1BQU0sQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsS0FBSyxDQUFDLGlCQUFpQixDQUNyQixLQUFhLEVBQ2IsSUFBWSxFQUNaLEtBQWEsRUFDYixTQUFpQixFQUNqQixTQUFpQjtRQUVqQixNQUFNLEdBQUcsR0FBRyx5QkFBeUIsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ3hGLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFXLENBQUM7SUFDckQsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZLENBQ2hCLElBQW1CLEVBQ25CLElBQVksRUFDWixLQUFhLEVBQ2IsU0FBaUIsRUFDakIsU0FBaUI7UUFFakIsSUFBSSxHQUFXLENBQUM7UUFFaEIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULHdEQUF3RDtZQUN4RCxHQUFHLEdBQUcseUJBQXlCLElBQUksSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLFNBQVMsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNuRixDQUFDO2FBQU0sQ0FBQztZQUNOLDRDQUE0QztZQUM1QyxHQUFHLEdBQUcsaUJBQWlCLElBQUksSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ25FLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTVDLElBQUksR0FBRyxZQUFZLGFBQWEsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEdBQXdCLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsU0FBUyxDQUFDLEtBQWE7UUFDckIsTUFBTSxHQUFHLEdBQUcsZ0JBQWdCLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsT0FBaUI7UUFDM0IsTUFBTSxHQUFHLEdBQUcsa0JBQWtCLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsU0FBUyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FDaEIsTUFBYyxFQUNkLE1BQWdCLEVBQ2hCLEdBQVcsRUFDWCxRQUFrQyxJQUFJO1FBRXRDLElBQUksT0FBTyxHQUF5QjtZQUNsQyxNQUFNLEVBQUUsTUFBTTtZQUNkLGVBQWUsRUFBRTtnQkFDZjtvQkFDRSxZQUFZLEVBQUUsTUFBTTtvQkFDcEIsV0FBVyxFQUFFLEVBQUU7b0JBQ2YsUUFBUSxFQUFFLGNBQWMsQ0FBQyxHQUFHO29CQUM1QixJQUFJLEVBQUUsa0JBQWtCLENBQUMsRUFBRTtvQkFDM0IsSUFBSSxFQUFFLGFBQWEsQ0FBQyxHQUFHO2lCQUN4QjthQUNGO1NBQ0YsQ0FBQztRQUVGLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ3JDLGdCQUFnQixNQUFNLE1BQU0sRUFDNUIsT0FBTyxFQUNQLEdBQUcsQ0FDSixDQUFDO1FBQ0YsSUFBSSxHQUFHLFlBQVksYUFBYSxFQUFFLENBQUM7WUFDakMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksTUFBTSxHQUFJLEdBQXNCLENBQUMsTUFBTSxDQUFDO1lBQzVDLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7SUFDSCxDQUFDO3dHQTlIVSxxQkFBcUI7NEdBQXJCLHFCQUFxQixjQUZwQixNQUFNOzs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRXJyb3JSZXNwb25zZSwgUGFnZWRSZXN1bHQsIFNlYXJjaER5bmFtaWNXcmFwcGVyLCBTZWFyY2hPcGVyYXRvciwgU2VhcmNoUHJvcGVydHlTaWduLCBTb3J0RGlyZWN0aW9uLCBVc2VyIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IEh0dHBXZWJSZXF1ZXN0U2VydmljZSB9IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL3NlcnZpY2VzJztcbmltcG9ydCB7IERyb3Bkb3duTG9hZEV2ZW50IH0gZnJvbSAndmVyYmVuLW5nLXVpJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJNYW5hZ2VtZW50U2VydmljZSB7XG4gIC8vIHByaXZhdGUgcmVhZG9ubHkgQkFTRV9VUkwgPSAnaHR0cHM6Ly9hdXRoLndoaXRlMzYwLm5ldC9Vc2VyJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwV2ViUmVxdWVzdFNlcnZpY2UpIHsgfVxuXG4gIC8qKlxuICAgKiBHZXQgdXNlcnMgd2l0aCBwYWdpbmF0aW9uIGFuZCBzb3J0aW5nXG4gICAqIEBwYXJhbSBza2lwIE51bWJlciBvZiByZWNvcmRzIHRvIHNraXBcbiAgICogQHBhcmFtIGxpbWl0IE51bWJlciBvZiByZWNvcmRzIHRvIHRha2VcbiAgICogQHBhcmFtIHNvcnRQYXJhbSBTb3J0IHBhcmFtZXRlclxuICAgKiBAcGFyYW0gc29ydE9yZGVyIFNvcnQgb3JkZXIgKCdhc2MnIG9yICdkZXNjJylcbiAgICogQHJldHVybnMgUHJvbWlzZSBjb250YWluaW5nIHRoZSBsaXN0IG9mIHVzZXJzXG4gICAqL1xuICBhc3luYyBnZXRVc2VycyhcbiAgICBza2lwOiBudW1iZXIsXG4gICAgbGltaXQ6IG51bWJlcixcbiAgICBzb3J0UGFyYW06IHN0cmluZyxcbiAgICBzb3J0T3JkZXI6IHN0cmluZ1xuICApOiBQcm9taXNlPFVzZXJbXSB8IEVycm9yUmVzcG9uc2U+IHtcbiAgICAvLyB2YXIgcmVzcG9uc2UgOiBVc2VyW10gfCBFcnJvclJlc3BvbnNlO1xuICAgIGNvbnN0IHVybCA9IGBVc2VyL0dldFVzZXJzLyR7c2tpcH0vJHtsaW1pdH0vJHtzb3J0UGFyYW19LyR7c29ydE9yZGVyfWA7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5odHRwU2VydmljZS5nZXQodXJsKTtcblxuICAgIGlmIChyZXMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gKHJlcyBhcyBQYWdlZFJlc3VsdDxVc2VyPikuUmVzdWx0O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdXNlcnMgd2l0aCBhbiBhZGRpdGlvbmFsIHNlYXJjaCBwYXJhbWV0ZXIsIHBhZ2luYXRpb24sIGFuZCBzb3J0aW5nXG4gICAqIEBwYXJhbSBwYXJhbSBTZWFyY2ggcGFyYW1ldGVyXG4gICAqIEBwYXJhbSBza2lwIE51bWJlciBvZiByZWNvcmRzIHRvIHNraXBcbiAgICogQHBhcmFtIGxpbWl0IE51bWJlciBvZiByZWNvcmRzIHRvIHRha2VcbiAgICogQHBhcmFtIHNvcnRQYXJhbSBTb3J0IHBhcmFtZXRlclxuICAgKiBAcGFyYW0gc29ydE9yZGVyIFNvcnQgb3JkZXIgKCdhc2MnIG9yICdkZXNjJylcbiAgICogQHJldHVybnMgUHJvbWlzZSBjb250YWluaW5nIHRoZSBmaWx0ZXJlZCBsaXN0IG9mIHVzZXJzXG4gICAqL1xuICBhc3luYyBnZXRVc2Vyc1dpdGhQYXJhbShcbiAgICBwYXJhbTogc3RyaW5nLFxuICAgIHNraXA6IG51bWJlcixcbiAgICBsaW1pdDogbnVtYmVyLFxuICAgIHNvcnRQYXJhbTogc3RyaW5nLFxuICAgIHNvcnRPcmRlcjogc3RyaW5nXG4gICk6IFByb21pc2U8VXNlcltdPiB7XG4gICAgY29uc3QgdXJsID0gYFVzZXIvR2V0VXNlcldpdGhQYXJhbS8ke3BhcmFtfS8ke3NraXB9LyR7bGltaXR9LyR7c29ydFBhcmFtfS8ke3NvcnRPcmRlcn1gO1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSkgYXMgVXNlcltdO1xuICB9XG5cbiAgYXN5bmMgZ2V0UmVhbFVzZXJzKFxuICAgIHJvbGU6IHN0cmluZyB8IG51bGwsXG4gICAgc2tpcDogbnVtYmVyLFxuICAgIGxpbWl0OiBudW1iZXIsXG4gICAgc29ydFBhcmFtOiBzdHJpbmcsXG4gICAgc29ydE9yZGVyOiBzdHJpbmdcbiAgKSB7XG4gICAgbGV0IHVybDogc3RyaW5nO1xuXG4gICAgaWYgKHJvbGUpIHtcbiAgICAgIC8vIFJvbGUgaXMgcHJvdmlkZWQsIHVzZSB0aGUgXCJHZXRVc2VyV2l0aFBhcmFtXCIgZW5kcG9pbnRcbiAgICAgIHVybCA9IGBVc2VyL0dldFVzZXJXaXRoUGFyYW0vJHtyb2xlfS8ke3NraXB9LyR7bGltaXR9LyR7c29ydFBhcmFtfS8ke3NvcnRPcmRlcn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSb2xlIGlzIG51bGwsIHVzZSB0aGUgXCJHZXRVc2Vyc1wiIGVuZHBvaW50XG4gICAgICB1cmwgPSBgVXNlci9HZXRVc2Vycy8ke3NraXB9LyR7bGltaXR9LyR7c29ydFBhcmFtfS8ke3NvcnRPcmRlcn1gO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCk7XG5cbiAgICBpZiAocmVzIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkge1xuICAgICAgcmV0dXJuIHJlcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHJlcyBhcyBQYWdlZFJlc3VsdDxVc2VyPjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2F2ZSBtdWx0aXBsZSB1c2Vyc1xuICAgKiBAcGFyYW0gdXNlcnMgQXJyYXkgb2YgdXNlcnMgdG8gc2F2ZVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbnRhaW5pbmcgdGhlIHNhdmUgb3BlcmF0aW9uIHJlc3VsdFxuICAgKi9cbiAgc2F2ZVVzZXJzKHVzZXJzOiBVc2VyW10pOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGBVc2VyL1NhdmVVc2Vyc2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHVzZXJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgbXVsdGlwbGUgdXNlcnNcbiAgICogQHBhcmFtIHVzZXJJZHMgQXJyYXkgb2YgdXNlciBJRHMgdG8gZGVsZXRlXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgY29udGFpbmluZyB0aGUgZGVsZXRlIG9wZXJhdGlvbiByZXN1bHRcbiAgICovXG4gIGRlbGV0ZVVzZXJzKHVzZXJJZHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgVXNlci9EZWxldGVVc2Vyc2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZGVsZXRlKGAke3VybH0/ZGF0YT0ke3VzZXJJZHMuam9pbignLCcpfWApO1xuICB9XG5cbiAgYXN5bmMgbG9hZEVudGl0aWVzPFQ+KFxuICAgIGVudGl0eTogc3RyaW5nLFxuICAgIGZpZWxkczogc3RyaW5nW10sXG4gICAgZW52OiBzdHJpbmcsXG4gICAgZXZlbnQ6IERyb3Bkb3duTG9hZEV2ZW50IHwgbnVsbCA9IG51bGxcbiAgKTogUHJvbWlzZTxUW10+IHtcbiAgICB2YXIgcGF5bG9hZDogU2VhcmNoRHluYW1pY1dyYXBwZXIgPSB7XG4gICAgICBGaWVsZHM6IGZpZWxkcyxcbiAgICAgIFNlYXJjaEtleVZhbHVlczogW1xuICAgICAgICB7XG4gICAgICAgICAgUHJvcGVydHlOYW1lOiAnQ29kZScsXG4gICAgICAgICAgRW50aXR5VmFsdWU6ICcnLFxuICAgICAgICAgIE9wZXJhdG9yOiBTZWFyY2hPcGVyYXRvci5BbmQsXG4gICAgICAgICAgU2lnbjogU2VhcmNoUHJvcGVydHlTaWduLkVRLFxuICAgICAgICAgIFNvcnQ6IFNvcnREaXJlY3Rpb24uQXNjLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuXG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5odHRwU2VydmljZS5wb3N0KFxuICAgICAgYFNlYXJjaER5bmFtaWMke2VudGl0eX0vMC8wYCxcbiAgICAgIHBheWxvYWQsXG4gICAgICBlbnZcbiAgICApO1xuICAgIGlmIChyZXMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciByZXN1bHQgPSAocmVzIGFzIFBhZ2VkUmVzdWx0PFQ+KS5SZXN1bHQ7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgfVxufVxuIl19
@@ -2,13 +2,21 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { Status } from 'verben-authentication-ui/src/lib/models';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/forms";
5
- import * as i2 from "verben-ng-ui";
5
+ import * as i2 from "../services/user-management.service";
6
+ import * as i3 from "verben-authentication-ui/src/lib/services";
7
+ import * as i4 from "verben-ng-ui";
6
8
  export class UserManagementFormComponent {
7
9
  fb;
10
+ userManagementService;
11
+ envService;
8
12
  // @Input() roles: Role[] = [];
9
13
  // @Input() status: Status[] = [];
10
14
  set currentData(value) {
11
15
  if (value?.data) {
16
+ // Convert comma-separated warehouse codes back to array for dropdown
17
+ const warehouseCodes = value.data.Warehouses
18
+ ? value.data.Warehouses.split(',').filter((code) => code.trim())
19
+ : [];
12
20
  this.form.patchValue({
13
21
  MailAddress: value.data.MailAddress || '',
14
22
  FirstName: value.data.FirstName || '',
@@ -17,6 +25,7 @@ export class UserManagementFormComponent {
17
25
  RoleID: value.data.RoleID || '',
18
26
  Tags: value.data.Tags || [],
19
27
  Status: value.data.Status || Status.Active,
28
+ Warehouses: warehouseCodes,
20
29
  });
21
30
  }
22
31
  else {
@@ -29,8 +38,11 @@ export class UserManagementFormComponent {
29
38
  onFormSave = new EventEmitter();
30
39
  form;
31
40
  statusOptions = Object.values(Status);
32
- constructor(fb) {
41
+ warehouses = [];
42
+ constructor(fb, userManagementService, envService) {
33
43
  this.fb = fb;
44
+ this.userManagementService = userManagementService;
45
+ this.envService = envService;
34
46
  this.form = this.fb.group({
35
47
  MailAddress: ['', { readonly: true }],
36
48
  FirstName: ['', { readonly: true }],
@@ -39,9 +51,30 @@ export class UserManagementFormComponent {
39
51
  Status: ['', { readonly: true }],
40
52
  RoleID: [''],
41
53
  Tags: [[]],
54
+ Warehouses: [[]],
42
55
  });
43
56
  }
44
- ngOnInit() { }
57
+ ngOnInit() {
58
+ this.loadWarehouses();
59
+ }
60
+ async loadWarehouses() {
61
+ try {
62
+ this.warehouses = await this.userManagementService.loadEntities('Warehouse', ['Name', 'Code'], this.envService.environment.RevenueAPI);
63
+ }
64
+ catch (error) {
65
+ console.error('Error loading warehouses:', error);
66
+ this.warehouses = [];
67
+ }
68
+ }
69
+ onWarehouseChange(event) {
70
+ // Convert array of warehouse codes to comma-separated string
71
+ const selectedCodes = event.value;
72
+ const commaSeparated = selectedCodes ? selectedCodes.join(',') : '';
73
+ // Update the form with the comma-separated value for saving
74
+ this.form.patchValue({
75
+ Warehouses: commaSeparated
76
+ }, { emitEvent: false });
77
+ }
45
78
  onSave() {
46
79
  if (this.form.valid) {
47
80
  // Emit save event with form value
@@ -53,13 +86,13 @@ export class UserManagementFormComponent {
53
86
  // Emit delete event
54
87
  console.log('Delete requested');
55
88
  }
56
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserManagementFormComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
57
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserManagementFormComponent, selector: "lib-user-request-form", inputs: { currentData: "currentData", roles: "roles", tags: "tags" }, outputs: { switchView: "switchView", onFormSave: "onFormSave" }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n>\n <verbena-input\n label=\"Name:\"\n name=\"FirstName\"\n type=\"text\"\n formControlName=\"FirstName\"\n />\n <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n />\n <verbena-input\n name=\"MailAddress\"\n label=\"E-Mail Address:\"\n [type]=\"'email'\"\n formControlName=\"MailAddress\"\n />\n <!-- <verbena-input\n label=\"Address\"\n name=\"Address\"\n type=\"text\"\n formControlName=\"Address\"\n /> -->\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n formControlName=\"RoleID\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"tags\">Tags</label>\n\n <verben-drop-down\n label=\"Tags\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"true\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"tags\"\n id=\"tags\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n formControlName=\"Tags\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"status\">Status</label>\n\n <verben-drop-down\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"false\"\n [showClear]=\"false\"\n placeholder=\"\"\n [(options)]=\"statusOptions\"\n id=\"status\"\n formControlName=\"Status\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n</form>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "fontSize", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "component", type: i2.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "selectKey", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }] });
89
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserManagementFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.UserManagementService }, { token: i3.EnvironmentService }], target: i0.ɵɵFactoryTarget.Component });
90
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserManagementFormComponent, selector: "lib-user-request-form", inputs: { currentData: "currentData", roles: "roles", tags: "tags" }, outputs: { switchView: "switchView", onFormSave: "onFormSave" }, ngImport: i0, template: "<form [formGroup]=\"form\" class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\">\n <verbena-input label=\"Name:\" name=\"FirstName\" type=\"text\" formControlName=\"FirstName\" />\n <verbena-input label=\"Phone Number:\" name=\"PhoneNumber\" type=\"tel\" formControlName=\"PhoneNumber\" />\n <verbena-input name=\"MailAddress\" label=\"E-Mail Address:\" [type]=\"'email'\" formControlName=\"MailAddress\" />\n <!-- <verbena-input\n label=\"Address\"\n name=\"Address\"\n type=\"text\"\n formControlName=\"Address\"\n /> -->\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down label=\"Role\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\" [filter]=\"true\"\n [showClear]=\"true\" placeholder=\"\" [(options)]=\"roles\" id=\"role\" optionLabel=\"Name\" optionValue=\"Code\"\n formControlName=\"RoleID\" class=\"form-control\">\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"tags\">Tags</label>\n\n <verben-drop-down label=\"Tags\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"true\" [filter]=\"true\"\n [showClear]=\"true\" placeholder=\"\" [(options)]=\"tags\" id=\"tags\" optionLabel=\"Name\" optionValue=\"Code\"\n formControlName=\"Tags\" class=\"form-control\">\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"warehouses\">Warehouses</label>\n\n <verben-drop-down label=\"Warehouses\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"true\" [filter]=\"true\"\n [showClear]=\"true\" placeholder=\"\" [(options)]=\"warehouses\" id=\"warehouses\" optionLabel=\"Name\" optionValue=\"Code\"\n formControlName=\"Warehouses\" (onChange)=\"onWarehouseChange($event)\" class=\"form-control\">\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"status\">Status</label>\n\n <verben-drop-down styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\" [filter]=\"false\" [showClear]=\"false\"\n placeholder=\"\" [(options)]=\"statusOptions\" id=\"status\" formControlName=\"Status\" class=\"form-control\">\n </verben-drop-down>\n </div>\n</form>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "fontSize", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "component", type: i4.DropDownComponent, selector: "verben-drop-down", inputs: ["options", "width", "showHorizontalLine", "horizontalLineColor", "optionLabel", "optionSubLabel", "optionValue", "placeholder", "invalidMessage", "errorPosition", "loadMoreCaption", "display", "showClear", "lazyLoad", "selectKey", "styleClass", "group", "multiselect", "filter", "avoidDuplication", "filterBy", "debounceTime", "minChar", "disabled", "required", "load", "asyncLabel", "search"], outputs: ["optionsChange", "onChange", "onClick", "onClear"] }] });
58
91
  }
59
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserManagementFormComponent, decorators: [{
60
93
  type: Component,
61
- args: [{ selector: 'lib-user-request-form', template: "<form\n [formGroup]=\"form\"\n class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\"\n>\n <verbena-input\n label=\"Name:\"\n name=\"FirstName\"\n type=\"text\"\n formControlName=\"FirstName\"\n />\n <verbena-input\n label=\"Phone Number:\"\n name=\"PhoneNumber\"\n type=\"tel\"\n formControlName=\"PhoneNumber\"\n />\n <verbena-input\n name=\"MailAddress\"\n label=\"E-Mail Address:\"\n [type]=\"'email'\"\n formControlName=\"MailAddress\"\n />\n <!-- <verbena-input\n label=\"Address\"\n name=\"Address\"\n type=\"text\"\n formControlName=\"Address\"\n /> -->\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down\n label=\"Role\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"roles\"\n id=\"role\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n formControlName=\"RoleID\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"tags\">Tags</label>\n\n <verben-drop-down\n label=\"Tags\"\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"true\"\n [filter]=\"true\"\n [showClear]=\"true\"\n placeholder=\"\"\n [(options)]=\"tags\"\n id=\"tags\"\n optionLabel=\"Name\"\n optionValue=\"Code\"\n formControlName=\"Tags\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"status\">Status</label>\n\n <verben-drop-down\n styleClass=\"w-full\"\n width=\"100%\"\n [multiselect]=\"false\"\n [filter]=\"false\"\n [showClear]=\"false\"\n placeholder=\"\"\n [(options)]=\"statusOptions\"\n id=\"status\"\n formControlName=\"Status\"\n class=\"form-control\"\n >\n </verben-drop-down>\n </div>\n</form>\n" }]
62
- }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { currentData: [{
94
+ args: [{ selector: 'lib-user-request-form', template: "<form [formGroup]=\"form\" class=\"flex flex-col px-3 pb-3 rounded-xl h-full w-full relative space-y-4\">\n <verbena-input label=\"Name:\" name=\"FirstName\" type=\"text\" formControlName=\"FirstName\" />\n <verbena-input label=\"Phone Number:\" name=\"PhoneNumber\" type=\"tel\" formControlName=\"PhoneNumber\" />\n <verbena-input name=\"MailAddress\" label=\"E-Mail Address:\" [type]=\"'email'\" formControlName=\"MailAddress\" />\n <!-- <verbena-input\n label=\"Address\"\n name=\"Address\"\n type=\"text\"\n formControlName=\"Address\"\n /> -->\n\n <div class=\"space-y-1\">\n <label for=\"role\">Role</label>\n\n <verben-drop-down label=\"Role\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\" [filter]=\"true\"\n [showClear]=\"true\" placeholder=\"\" [(options)]=\"roles\" id=\"role\" optionLabel=\"Name\" optionValue=\"Code\"\n formControlName=\"RoleID\" class=\"form-control\">\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"tags\">Tags</label>\n\n <verben-drop-down label=\"Tags\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"true\" [filter]=\"true\"\n [showClear]=\"true\" placeholder=\"\" [(options)]=\"tags\" id=\"tags\" optionLabel=\"Name\" optionValue=\"Code\"\n formControlName=\"Tags\" class=\"form-control\">\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"warehouses\">Warehouses</label>\n\n <verben-drop-down label=\"Warehouses\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"true\" [filter]=\"true\"\n [showClear]=\"true\" placeholder=\"\" [(options)]=\"warehouses\" id=\"warehouses\" optionLabel=\"Name\" optionValue=\"Code\"\n formControlName=\"Warehouses\" (onChange)=\"onWarehouseChange($event)\" class=\"form-control\">\n </verben-drop-down>\n </div>\n\n <div class=\"space-y-1\">\n <label for=\"status\">Status</label>\n\n <verben-drop-down styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\" [filter]=\"false\" [showClear]=\"false\"\n placeholder=\"\" [(options)]=\"statusOptions\" id=\"status\" formControlName=\"Status\" class=\"form-control\">\n </verben-drop-down>\n </div>\n</form>\n" }]
95
+ }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.UserManagementService }, { type: i3.EnvironmentService }], propDecorators: { currentData: [{
63
96
  type: Input
64
97
  }], roles: [{
65
98
  type: Input
@@ -70,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
70
103
  }], onFormSave: [{
71
104
  type: Output
72
105
  }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tYW5hZ2VtZW50LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvY29tcG9uZW50cy91c2VyLW1hbmFnZW1lbnQvdXNlci1tYW5hZ2VtZW50LWZvcm0vdXNlci1tYW5hZ2VtZW50LWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvY29tcG9uZW50cy91c2VyLW1hbmFnZW1lbnQvdXNlci1tYW5hZ2VtZW50LWZvcm0vdXNlci1tYW5hZ2VtZW50LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7QUFjakUsTUFBTSxPQUFPLDJCQUEyQjtJQTRCbEI7SUEzQnBCLCtCQUErQjtJQUMvQixrQ0FBa0M7SUFFbEMsSUFBYSxXQUFXLENBQUMsS0FBc0I7UUFDN0MsSUFBSSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQ25CLFdBQVcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFO2dCQUN6QyxTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRTtnQkFDckMsV0FBVyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUU7Z0JBQ3pDLHFDQUFxQztnQkFDckMsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUU7Z0JBQy9CLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO2dCQUMzQixNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU07YUFDM0MsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBQ1EsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixJQUFJLEdBQVUsRUFBRSxDQUFDO0lBRWhCLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0lBQzNDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUV6RCxJQUFJLENBQVk7SUFDaEIsYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFdEMsWUFBb0IsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDakMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN4QixXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDckMsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ25DLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNyQyxxQ0FBcUM7WUFDckMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2hDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNaLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRLEtBQVUsQ0FBQztJQUVuQixNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BCLGtDQUFrQztZQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sb0JBQW9CO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNsQyxDQUFDO3dHQXJEVSwyQkFBMkI7NEZBQTNCLDJCQUEyQixvTUNuQnhDLDQvREF5RkE7OzRGRHRFYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsdUJBQXVCO2dGQVFwQixXQUFXO3NCQUF2QixLQUFLO2dCQWVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDYXJkRGF0YSB9IGZyb20gJ3ZlcmJlbi1uZy11aSc7XG5pbXBvcnQgeyBSb2xlIH0gZnJvbSAndmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IFRhZyB9IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICd2ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscyc7XG5cbmludGVyZmFjZSBVc2VyRm9ybURhdGEge1xuICBNYWlsQWRkcmVzczogc3RyaW5nO1xuICBGaXJzdE5hbWU6IHN0cmluZztcbiAgUGhvbmVOdW1iZXI6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXVzZXItcmVxdWVzdC1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItbWFuYWdlbWVudC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3VzZXItbWFuYWdlbWVudC1mb3JtLmNvbXBvbmVudC5jc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBVc2VyTWFuYWdlbWVudEZvcm1Db21wb25lbnQge1xuICAvLyBASW5wdXQoKSByb2xlczogUm9sZVtdID0gW107XG4gIC8vIEBJbnB1dCgpIHN0YXR1czogU3RhdHVzW10gPSBbXTtcblxuICBASW5wdXQoKSBzZXQgY3VycmVudERhdGEodmFsdWU6IENhcmREYXRhIHwgbnVsbCkge1xuICAgIGlmICh2YWx1ZT8uZGF0YSkge1xuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBNYWlsQWRkcmVzczogdmFsdWUuZGF0YS5NYWlsQWRkcmVzcyB8fCAnJyxcbiAgICAgICAgRmlyc3ROYW1lOiB2YWx1ZS5kYXRhLkZpcnN0TmFtZSB8fCAnJyxcbiAgICAgICAgUGhvbmVOdW1iZXI6IHZhbHVlLmRhdGEuUGhvbmVOdW1iZXIgfHwgJycsXG4gICAgICAgIC8vIEFkZHJlc3M6IHZhbHVlLmRhdGEuQWRkcmVzcyB8fCAnJyxcbiAgICAgICAgUm9sZUlEOiB2YWx1ZS5kYXRhLlJvbGVJRCB8fCAnJyxcbiAgICAgICAgVGFnczogdmFsdWUuZGF0YS5UYWdzIHx8IFtdLFxuICAgICAgICBTdGF0dXM6IHZhbHVlLmRhdGEuU3RhdHVzIHx8IFN0YXR1cy5BY3RpdmUsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIHJvbGVzOiBSb2xlW10gPSBbXTtcbiAgQElucHV0KCkgdGFnczogVGFnW10gPSBbXTtcblxuICBAT3V0cHV0KCkgc3dpdGNoVmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5kZWZpbmVkPigpO1xuICBAT3V0cHV0KCkgb25Gb3JtU2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8UGFydGlhbDxVc2VyPj4oKTtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG4gIHN0YXR1c09wdGlvbnMgPSBPYmplY3QudmFsdWVzKFN0YXR1cyk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIE1haWxBZGRyZXNzOiBbJycsIHsgcmVhZG9ubHk6IHRydWUgfV0sXG4gICAgICBGaXJzdE5hbWU6IFsnJywgeyByZWFkb25seTogdHJ1ZSB9XSxcbiAgICAgIFBob25lTnVtYmVyOiBbJycsIHsgcmVhZG9ubHk6IHRydWUgfV0sXG4gICAgICAvLyBBZGRyZXNzOiBbJycsIHsgcmVhZG9ubHk6IHRydWUgfV0sXG4gICAgICBTdGF0dXM6IFsnJywgeyByZWFkb25seTogdHJ1ZSB9XSxcbiAgICAgIFJvbGVJRDogWycnXSxcbiAgICAgIFRhZ3M6IFtbXV0sXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgb25TYXZlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgIC8vIEVtaXQgc2F2ZSBldmVudCB3aXRoIGZvcm0gdmFsdWVcbiAgICAgIGNvbnNvbGUubG9nKCdGb3JtIHNhdmVkOicsIHRoaXMuZm9ybS52YWx1ZSk7XG4gICAgICB0aGlzLm9uRm9ybVNhdmUuZW1pdCh0aGlzLmZvcm0udmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG9uRGVsZXRlKCk6IHZvaWQge1xuICAgIC8vIEVtaXQgZGVsZXRlIGV2ZW50XG4gICAgY29uc29sZS5sb2coJ0RlbGV0ZSByZXF1ZXN0ZWQnKTtcbiAgfVxufVxuIiwiPGZvcm1cbiAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHB4LTMgcGItMyByb3VuZGVkLXhsIGgtZnVsbCB3LWZ1bGwgcmVsYXRpdmUgc3BhY2UteS00XCJcbj5cbiAgPHZlcmJlbmEtaW5wdXRcbiAgICBsYWJlbD1cIk5hbWU6XCJcbiAgICBuYW1lPVwiRmlyc3ROYW1lXCJcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwiRmlyc3ROYW1lXCJcbiAgLz5cbiAgPHZlcmJlbmEtaW5wdXRcbiAgICBsYWJlbD1cIlBob25lIE51bWJlcjpcIlxuICAgIG5hbWU9XCJQaG9uZU51bWJlclwiXG4gICAgdHlwZT1cInRlbFwiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwiUGhvbmVOdW1iZXJcIlxuICAvPlxuICA8dmVyYmVuYS1pbnB1dFxuICAgIG5hbWU9XCJNYWlsQWRkcmVzc1wiXG4gICAgbGFiZWw9XCJFLU1haWwgQWRkcmVzczpcIlxuICAgIFt0eXBlXT1cIidlbWFpbCdcIlxuICAgIGZvcm1Db250cm9sTmFtZT1cIk1haWxBZGRyZXNzXCJcbiAgLz5cbiAgPCEtLSA8dmVyYmVuYS1pbnB1dFxuICAgIGxhYmVsPVwiQWRkcmVzc1wiXG4gICAgbmFtZT1cIkFkZHJlc3NcIlxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBmb3JtQ29udHJvbE5hbWU9XCJBZGRyZXNzXCJcbiAgLz4gLS0+XG5cbiAgPGRpdiBjbGFzcz1cInNwYWNlLXktMVwiPlxuICAgIDxsYWJlbCBmb3I9XCJyb2xlXCI+Um9sZTwvbGFiZWw+XG5cbiAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgbGFiZWw9XCJSb2xlXCJcbiAgICAgIHN0eWxlQ2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgIFttdWx0aXNlbGVjdF09XCJmYWxzZVwiXG4gICAgICBbZmlsdGVyXT1cInRydWVcIlxuICAgICAgW3Nob3dDbGVhcl09XCJ0cnVlXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiXCJcbiAgICAgIFsob3B0aW9ucyldPVwicm9sZXNcIlxuICAgICAgaWQ9XCJyb2xlXCJcbiAgICAgIG9wdGlvbkxhYmVsPVwiTmFtZVwiXG4gICAgICBvcHRpb25WYWx1ZT1cIkNvZGVcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiUm9sZUlEXCJcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICA+XG4gICAgPC92ZXJiZW4tZHJvcC1kb3duPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwic3BhY2UteS0xXCI+XG4gICAgPGxhYmVsIGZvcj1cInRhZ3NcIj5UYWdzPC9sYWJlbD5cblxuICAgIDx2ZXJiZW4tZHJvcC1kb3duXG4gICAgICBsYWJlbD1cIlRhZ3NcIlxuICAgICAgc3R5bGVDbGFzcz1cInctZnVsbFwiXG4gICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgW211bHRpc2VsZWN0XT1cInRydWVcIlxuICAgICAgW2ZpbHRlcl09XCJ0cnVlXCJcbiAgICAgIFtzaG93Q2xlYXJdPVwidHJ1ZVwiXG4gICAgICBwbGFjZWhvbGRlcj1cIlwiXG4gICAgICBbKG9wdGlvbnMpXT1cInRhZ3NcIlxuICAgICAgaWQ9XCJ0YWdzXCJcbiAgICAgIG9wdGlvbkxhYmVsPVwiTmFtZVwiXG4gICAgICBvcHRpb25WYWx1ZT1cIkNvZGVcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiVGFnc1wiXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgPlxuICAgIDwvdmVyYmVuLWRyb3AtZG93bj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInNwYWNlLXktMVwiPlxuICAgIDxsYWJlbCBmb3I9XCJzdGF0dXNcIj5TdGF0dXM8L2xhYmVsPlxuXG4gICAgPHZlcmJlbi1kcm9wLWRvd25cbiAgICAgIHN0eWxlQ2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgIFttdWx0aXNlbGVjdF09XCJmYWxzZVwiXG4gICAgICBbZmlsdGVyXT1cImZhbHNlXCJcbiAgICAgIFtzaG93Q2xlYXJdPVwiZmFsc2VcIlxuICAgICAgcGxhY2Vob2xkZXI9XCJcIlxuICAgICAgWyhvcHRpb25zKV09XCJzdGF0dXNPcHRpb25zXCJcbiAgICAgIGlkPVwic3RhdHVzXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIlN0YXR1c1wiXG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgPlxuICAgIDwvdmVyYmVuLWRyb3AtZG93bj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tYW5hZ2VtZW50LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvY29tcG9uZW50cy91c2VyLW1hbmFnZW1lbnQvdXNlci1tYW5hZ2VtZW50LWZvcm0vdXNlci1tYW5hZ2VtZW50LWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvY29tcG9uZW50cy91c2VyLW1hbmFnZW1lbnQvdXNlci1tYW5hZ2VtZW50LWZvcm0vdXNlci1tYW5hZ2VtZW50LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQVEsTUFBTSxFQUFhLE1BQU0seUNBQXlDLENBQUM7Ozs7OztBQXFCbEYsTUFBTSxPQUFPLDJCQUEyQjtJQW9DNUI7SUFDQTtJQUNBO0lBckNWLCtCQUErQjtJQUMvQixrQ0FBa0M7SUFFbEMsSUFBYSxXQUFXLENBQUMsS0FBc0I7UUFDN0MsSUFBSSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDaEIscUVBQXFFO1lBQ3JFLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVTtnQkFDMUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDeEUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUVQLElBQUksQ0FBQyxJQUFJLENBQUMs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QUE0RDtRQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNuQixVQUFVLEVBQUUsY0FBYztTQUMzQixFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEIsa0NBQWtDO1lBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixvQkFBb0I7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7d0dBM0ZVLDJCQUEyQjs0RkFBM0IsMkJBQTJCLG9NQ3ZCeEMsK3BFQThDQTs7NEZEdkJhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSx1QkFBdUI7cUpBUXBCLFdBQVc7c0JBQXZCLEtBQUs7Z0JBcUJHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb2xlLCBTdGF0dXMsIFRhZywgVXNlciB9IGZyb20gJ3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICd2ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDYXJkRGF0YSwgRHJvcGRvd25DaGFuZ2VFdmVudCB9IGZyb20gJ3ZlcmJlbi1uZy11aSc7XG5pbXBvcnQgeyBVc2VyTWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy91c2VyLW1hbmFnZW1lbnQuc2VydmljZSc7XG5cbmludGVyZmFjZSBVc2VyRm9ybURhdGEge1xuICBNYWlsQWRkcmVzczogc3RyaW5nO1xuICBGaXJzdE5hbWU6IHN0cmluZztcbiAgUGhvbmVOdW1iZXI6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFdhcmVob3VzZSB7XG4gIE5hbWU6IHN0cmluZztcbiAgQ29kZTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItdXNlci1yZXF1ZXN0LWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1tYW5hZ2VtZW50LWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vdXNlci1tYW5hZ2VtZW50LWZvcm0uY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJNYW5hZ2VtZW50Rm9ybUNvbXBvbmVudCB7XG4gIC8vIEBJbnB1dCgpIHJvbGVzOiBSb2xlW10gPSBbXTtcbiAgLy8gQElucHV0KCkgc3RhdHVzOiBTdGF0dXNbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIHNldCBjdXJyZW50RGF0YSh2YWx1ZTogQ2FyZERhdGEgfCBudWxsKSB7XG4gICAgaWYgKHZhbHVlPy5kYXRhKSB7XG4gICAgICAvLyBDb252ZXJ0IGNvbW1hLXNlcGFyYXRlZCB3YXJlaG91c2UgY29kZXMgYmFjayB0byBhcnJheSBmb3IgZHJvcGRvd25cbiAgICAgIGNvbnN0IHdhcmVob3VzZUNvZGVzID0gdmFsdWUuZGF0YS5XYXJlaG91c2VzXG4gICAgICAgID8gdmFsdWUuZGF0YS5XYXJlaG91c2VzLnNwbGl0KCcsJykuZmlsdGVyKChjb2RlOiBzdHJpbmcpID0+IGNvZGUudHJpbSgpKVxuICAgICAgICA6IFtdO1xuXG4gICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgIE1haWxBZGRyZXNzOiB2YWx1ZS5kYXRhLk1haWxBZGRyZXNzIHx8ICcnLFxuICAgICAgICBGaXJzdE5hbWU6IHZhbHVlLmRhdGEuRmlyc3ROYW1lIHx8ICcnLFxuICAgICAgICBQaG9uZU51bWJlcjogdmFsdWUuZGF0YS5QaG9uZU51bWJlciB8fCAnJyxcbiAgICAgICAgLy8gQWRkcmVzczogdmFsdWUuZGF0YS5BZGRyZXNzIHx8ICcnLFxuICAgICAgICBSb2xlSUQ6IHZhbHVlLmRhdGEuUm9sZUlEIHx8ICcnLFxuICAgICAgICBUYWdzOiB2YWx1ZS5kYXRhLlRhZ3MgfHwgW10sXG4gICAgICAgIFN0YXR1czogdmFsdWUuZGF0YS5TdGF0dXMgfHwgU3RhdHVzLkFjdGl2ZSxcbiAgICAgICAgV2FyZWhvdXNlczogd2FyZWhvdXNlQ29kZXMsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIHJvbGVzOiBSb2xlW10gPSBbXTtcbiAgQElucHV0KCkgdGFnczogVGFnW10gPSBbXTtcblxuICBAT3V0cHV0KCkgc3dpdGNoVmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5kZWZpbmVkPigpO1xuICBAT3V0cHV0KCkgb25Gb3JtU2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8UGFydGlhbDxVc2VyPj4oKTtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG4gIHN0YXR1c09wdGlvbnMgPSBPYmplY3QudmFsdWVzKFN0YXR1cyk7XG4gIHdhcmVob3VzZXM6IFdhcmVob3VzZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSB1c2VyTWFuYWdlbWVudFNlcnZpY2U6IFVzZXJNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIGVudlNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZVxuICApIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIE1haWxBZGRyZXNzOiBbJycsIHsgcmVhZG9ubHk6IHRydWUgfV0sXG4gICAgICBGaXJzdE5hbWU6IFsnJywgeyByZWFkb25seTogdHJ1ZSB9XSxcbiAgICAgIFBob25lTnVtYmVyOiBbJycsIHsgcmVhZG9ubHk6IHRydWUgfV0sXG4gICAgICAvLyBBZGRyZXNzOiBbJycsIHsgcmVhZG9ubHk6IHRydWUgfV0sXG4gICAgICBTdGF0dXM6IFsnJywgeyByZWFkb25seTogdHJ1ZSB9XSxcbiAgICAgIFJvbGVJRDogWycnXSxcbiAgICAgIFRhZ3M6IFtbXV0sXG4gICAgICBXYXJlaG91c2VzOiBbW11dLFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkV2FyZWhvdXNlcygpO1xuICB9XG5cbiAgYXN5bmMgbG9hZFdhcmVob3VzZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMud2FyZWhvdXNlcyA9IGF3YWl0IHRoaXMudXNlck1hbmFnZW1lbnRTZXJ2aWNlLmxvYWRFbnRpdGllczxXYXJlaG91c2U+KFxuICAgICAgICAnV2FyZWhvdXNlJyxcbiAgICAgICAgWydOYW1lJywgJ0NvZGUnXSxcbiAgICAgICAgdGhpcy5lbnZTZXJ2aWNlLmVudmlyb25tZW50LlJldmVudWVBUElcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGxvYWRpbmcgd2FyZWhvdXNlczonLCBlcnJvcik7XG4gICAgICB0aGlzLndhcmVob3VzZXMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBvbldhcmVob3VzZUNoYW5nZShldmVudDogRHJvcGRvd25DaGFuZ2VFdmVudCk6IHZvaWQge1xuICAgIC8vIENvbnZlcnQgYXJyYXkgb2Ygd2FyZWhvdXNlIGNvZGVzIHRvIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmdcbiAgICBjb25zdCBzZWxlY3RlZENvZGVzID0gZXZlbnQudmFsdWUgYXMgc3RyaW5nW107XG4gICAgY29uc3QgY29tbWFTZXBhcmF0ZWQgPSBzZWxlY3RlZENvZGVzID8gc2VsZWN0ZWRDb2Rlcy5qb2luKCcsJykgOiAnJztcblxuICAgIC8vIFVwZGF0ZSB0aGUgZm9ybSB3aXRoIHRoZSBjb21tYS1zZXBhcmF0ZWQgdmFsdWUgZm9yIHNhdmluZ1xuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgIFdhcmVob3VzZXM6IGNvbW1hU2VwYXJhdGVkXG4gICAgfSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICB9XG5cbiAgb25TYXZlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgIC8vIEVtaXQgc2F2ZSBldmVudCB3aXRoIGZvcm0gdmFsdWVcbiAgICAgIGNvbnNvbGUubG9nKCdGb3JtIHNhdmVkOicsIHRoaXMuZm9ybS52YWx1ZSk7XG4gICAgICB0aGlzLm9uRm9ybVNhdmUuZW1pdCh0aGlzLmZvcm0udmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG9uRGVsZXRlKCk6IHZvaWQge1xuICAgIC8vIEVtaXQgZGVsZXRlIGV2ZW50XG4gICAgY29uc29sZS5sb2coJ0RlbGV0ZSByZXF1ZXN0ZWQnKTtcbiAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHB4LTMgcGItMyByb3VuZGVkLXhsIGgtZnVsbCB3LWZ1bGwgcmVsYXRpdmUgc3BhY2UteS00XCI+XG4gIDx2ZXJiZW5hLWlucHV0IGxhYmVsPVwiTmFtZTpcIiBuYW1lPVwiRmlyc3ROYW1lXCIgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJGaXJzdE5hbWVcIiAvPlxuICA8dmVyYmVuYS1pbnB1dCBsYWJlbD1cIlBob25lIE51bWJlcjpcIiBuYW1lPVwiUGhvbmVOdW1iZXJcIiB0eXBlPVwidGVsXCIgZm9ybUNvbnRyb2xOYW1lPVwiUGhvbmVOdW1iZXJcIiAvPlxuICA8dmVyYmVuYS1pbnB1dCBuYW1lPVwiTWFpbEFkZHJlc3NcIiBsYWJlbD1cIkUtTWFpbCBBZGRyZXNzOlwiIFt0eXBlXT1cIidlbWFpbCdcIiBmb3JtQ29udHJvbE5hbWU9XCJNYWlsQWRkcmVzc1wiIC8+XG4gIDwhLS0gPHZlcmJlbmEtaW5wdXRcbiAgICBsYWJlbD1cIkFkZHJlc3NcIlxuICAgIG5hbWU9XCJBZGRyZXNzXCJcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwiQWRkcmVzc1wiXG4gIC8+IC0tPlxuXG4gIDxkaXYgY2xhc3M9XCJzcGFjZS15LTFcIj5cbiAgICA8bGFiZWwgZm9yPVwicm9sZVwiPlJvbGU8L2xhYmVsPlxuXG4gICAgPHZlcmJlbi1kcm9wLWRvd24gbGFiZWw9XCJSb2xlXCIgc3R5bGVDbGFzcz1cInctZnVsbFwiIHdpZHRoPVwiMTAwJVwiIFttdWx0aXNlbGVjdF09XCJmYWxzZVwiIFtmaWx0ZXJdPVwidHJ1ZVwiXG4gICAgICBbc2hvd0NsZWFyXT1cInRydWVcIiBwbGFjZWhvbGRlcj1cIlwiIFsob3B0aW9ucyldPVwicm9sZXNcIiBpZD1cInJvbGVcIiBvcHRpb25MYWJlbD1cIk5hbWVcIiBvcHRpb25WYWx1ZT1cIkNvZGVcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiUm9sZUlEXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIj5cbiAgICA8L3ZlcmJlbi1kcm9wLWRvd24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJzcGFjZS15LTFcIj5cbiAgICA8bGFiZWwgZm9yPVwidGFnc1wiPlRhZ3M8L2xhYmVsPlxuXG4gICAgPHZlcmJlbi1kcm9wLWRvd24gbGFiZWw9XCJUYWdzXCIgc3R5bGVDbGFzcz1cInctZnVsbFwiIHdpZHRoPVwiMTAwJVwiIFttdWx0aXNlbGVjdF09XCJ0cnVlXCIgW2ZpbHRlcl09XCJ0cnVlXCJcbiAgICAgIFtzaG93Q2xlYXJdPVwidHJ1ZVwiIHBsYWNlaG9sZGVyPVwiXCIgWyhvcHRpb25zKV09XCJ0YWdzXCIgaWQ9XCJ0YWdzXCIgb3B0aW9uTGFiZWw9XCJOYW1lXCIgb3B0aW9uVmFsdWU9XCJDb2RlXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIlRhZ3NcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiPlxuICAgIDwvdmVyYmVuLWRyb3AtZG93bj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInNwYWNlLXktMVwiPlxuICAgIDxsYWJlbCBmb3I9XCJ3YXJlaG91c2VzXCI+V2FyZWhvdXNlczwvbGFiZWw+XG5cbiAgICA8dmVyYmVuLWRyb3AtZG93biBsYWJlbD1cIldhcmVob3VzZXNcIiBzdHlsZUNsYXNzPVwidy1mdWxsXCIgd2lkdGg9XCIxMDAlXCIgW211bHRpc2VsZWN0XT1cInRydWVcIiBbZmlsdGVyXT1cInRydWVcIlxuICAgICAgW3Nob3dDbGVhcl09XCJ0cnVlXCIgcGxhY2Vob2xkZXI9XCJcIiBbKG9wdGlvbnMpXT1cIndhcmVob3VzZXNcIiBpZD1cIndhcmVob3VzZXNcIiBvcHRpb25MYWJlbD1cIk5hbWVcIiBvcHRpb25WYWx1ZT1cIkNvZGVcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiV2FyZWhvdXNlc1wiIChvbkNoYW5nZSk9XCJvbldhcmVob3VzZUNoYW5nZSgkZXZlbnQpXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIj5cbiAgICA8L3ZlcmJlbi1kcm9wLWRvd24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJzcGFjZS15LTFcIj5cbiAgICA8bGFiZWwgZm9yPVwic3RhdHVzXCI+U3RhdHVzPC9sYWJlbD5cblxuICAgIDx2ZXJiZW4tZHJvcC1kb3duIHN0eWxlQ2xhc3M9XCJ3LWZ1bGxcIiB3aWR0aD1cIjEwMCVcIiBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIiBbZmlsdGVyXT1cImZhbHNlXCIgW3Nob3dDbGVhcl09XCJmYWxzZVwiXG4gICAgICBwbGFjZWhvbGRlcj1cIlwiIFsob3B0aW9ucyldPVwic3RhdHVzT3B0aW9uc1wiIGlkPVwic3RhdHVzXCIgZm9ybUNvbnRyb2xOYW1lPVwiU3RhdHVzXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIj5cbiAgICA8L3ZlcmJlbi1kcm9wLWRvd24+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19