@eo-sdk/client 10.6.13 → 10.6.15

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 +1 @@
1
- {"version":3,"file":"object-details.component.d.ts","sourceRoot":"","sources":["../../../../../../src/app/eo-framework/object-details/object-details.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object-details.component.d.ts","sourceRoot":"","sources":["../../../../../../src/app/eo-framework/object-details/object-details.component.ts"],"names":[],"mappings":"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"}
@@ -87,6 +87,10 @@ export declare class UtilitiesService {
87
87
  <T_10, TList extends import("lodash").List<T_10>>(collection: TList & import("lodash").List<T_10>, iteratee?: import("lodash").ListIterator<T_10, any>): TList;
88
88
  <T_11 extends object>(collection: T_11, iteratee?: import("lodash").ObjectIterator<T_11, any>): T_11;
89
89
  };
90
+ forOwn: {
91
+ <T_29>(object: T_29, iteratee?: import("lodash").ObjectIterator<T_29, any>): T_29;
92
+ <T_30>(object: T_30, iteratee?: import("lodash").ObjectIterator<T_30, any>): T_30;
93
+ };
90
94
  get: {
91
95
  <TObject_10 extends object, TKey extends keyof TObject_10>(object: TObject_10, path: TKey | [TKey]): TObject_10[TKey];
92
96
  <TObject_11 extends object, TKey_1 extends keyof TObject_11>(object: TObject_11, path: TKey_1 | [TKey_1]): TObject_11[TKey_1];
@@ -100,9 +104,9 @@ export declare class UtilitiesService {
100
104
  <TObject_19 extends object, TKey1_6 extends keyof TObject_19, TKey2_6 extends keyof TObject_19[TKey1_6], TKey3_3 extends keyof TObject_19[TKey1_6][TKey2_6], TKey4 extends keyof TObject_19[TKey1_6][TKey2_6][TKey3_3]>(object: TObject_19, path: [TKey1_6, TKey2_6, TKey3_3, TKey4]): TObject_19[TKey1_6][TKey2_6][TKey3_3][TKey4];
101
105
  <TObject_20 extends object, TKey1_7 extends keyof TObject_20, TKey2_7 extends keyof TObject_20[TKey1_7], TKey3_4 extends keyof TObject_20[TKey1_7][TKey2_7], TKey4_1 extends keyof TObject_20[TKey1_7][TKey2_7][TKey3_4]>(object: TObject_20, path: [TKey1_7, TKey2_7, TKey3_4, TKey4_1]): TObject_20[TKey1_7][TKey2_7][TKey3_4][TKey4_1];
102
106
  <TObject_21 extends object, TKey1_8 extends keyof TObject_21, TKey2_8 extends keyof TObject_21[TKey1_8], TKey3_5 extends keyof TObject_21[TKey1_8][TKey2_8], TKey4_2 extends keyof TObject_21[TKey1_8][TKey2_8][TKey3_5], TDefault_3>(object: TObject_21, path: [TKey1_8, TKey2_8, TKey3_5, TKey4_2], defaultValue: TDefault_3): TDefault_3 | Exclude<TObject_21[TKey1_8][TKey2_8][TKey3_5][TKey4_2], undefined>;
103
- <T_29>(object: import("lodash").NumericDictionary<T_29>, path: number): T_29;
104
- <T_30>(object: import("lodash").NumericDictionary<T_30>, path: number): T_30;
105
- <T_31, TDefault_4>(object: import("lodash").NumericDictionary<T_31>, path: number, defaultValue: TDefault_4): T_31 | TDefault_4;
107
+ <T_31>(object: import("lodash").NumericDictionary<T_31>, path: number): T_31;
108
+ <T_32>(object: import("lodash").NumericDictionary<T_32>, path: number): T_32;
109
+ <T_33, TDefault_4>(object: import("lodash").NumericDictionary<T_33>, path: number, defaultValue: TDefault_4): T_33 | TDefault_4;
106
110
  <TDefault_5>(object: null, path: import("lodash").PropertyPath, defaultValue: TDefault_5): TDefault_5;
107
111
  (object: null, path: import("lodash").PropertyPath): undefined;
108
112
  <TObject_22, TPath extends string>(data: TObject_22, path: TPath): string extends TPath ? any : import("lodash").GetFieldType<TObject_22, TPath>;
@@ -110,25 +114,25 @@ export declare class UtilitiesService {
110
114
  (object: any, path: import("lodash").PropertyPath, defaultValue?: any): any;
111
115
  };
112
116
  groupBy: {
113
- <T_32>(collection: import("lodash").List<T_32>, iteratee?: import("lodash").ValueIteratee<T_32>): import("lodash").Dictionary<T_32[]>;
114
- <T_33 extends object>(collection: T_33, iteratee?: import("lodash").ValueIteratee<T_33[keyof T_33]>): import("lodash").Dictionary<T_33[keyof T_33][]>;
117
+ <T_34>(collection: import("lodash").List<T_34>, iteratee?: import("lodash").ValueIteratee<T_34>): import("lodash").Dictionary<T_34[]>;
118
+ <T_35 extends object>(collection: T_35, iteratee?: import("lodash").ValueIteratee<T_35[keyof T_35]>): import("lodash").Dictionary<T_35[keyof T_35][]>;
115
119
  };
116
- has: <T_34>(object: T_34, path: import("lodash").PropertyPath) => boolean;
117
- includes: <T_35>(collection: import("lodash").Dictionary<T_35> | import("lodash").NumericDictionary<T_35>, target: T_35, fromIndex?: number) => boolean;
118
- indexOf: <T_36>(array: import("lodash").List<T_36>, value: T_36, fromIndex?: number) => number;
120
+ has: <T_36>(object: T_36, path: import("lodash").PropertyPath) => boolean;
121
+ includes: <T_37>(collection: import("lodash").Dictionary<T_37> | import("lodash").NumericDictionary<T_37>, target: T_37, fromIndex?: number) => boolean;
122
+ indexOf: <T_38>(array: import("lodash").List<T_38>, value: T_38, fromIndex?: number) => number;
119
123
  isArray: {
120
124
  (value?: any): value is any[];
121
- <T_37>(value?: any): value is any[];
125
+ <T_39>(value?: any): value is any[];
122
126
  };
123
127
  isDate: (value?: any) => value is Date;
124
128
  isEmpty: {
125
- <T_38 extends {
129
+ <T_40 extends {
126
130
  __trapAny: any;
127
- }>(value?: T_38): boolean;
131
+ }>(value?: T_40): boolean;
128
132
  (value: string): value is "";
129
133
  (value: Map<any, any> | Set<any> | import("lodash").List<any>): boolean;
130
134
  (value: object): boolean;
131
- <T_39 extends object>(value: T_39): value is import("lodash").EmptyObjectOf<T_39>;
135
+ <T_41 extends object>(value: T_41): value is import("lodash").EmptyObjectOf<T_41>;
132
136
  (value?: any): boolean;
133
137
  };
134
138
  isNaN: (value?: any) => boolean;
@@ -138,46 +142,47 @@ export declare class UtilitiesService {
138
142
  join: (array: import("lodash").List<any>, separator?: string) => string;
139
143
  keys: (object?: any) => string[];
140
144
  map: {
141
- <T_40, TResult_3>(collection: T_40[], iteratee: import("lodash").ArrayIterator<T_40, TResult_3>): TResult_3[];
142
- <T_41, TResult_4>(collection: import("lodash").List<T_41>, iteratee: import("lodash").ListIterator<T_41, TResult_4>): TResult_4[];
143
- <T_42>(collection: import("lodash").Dictionary<T_42> | import("lodash").NumericDictionary<T_42>): T_42[];
144
- <T_43 extends object, TResult_5>(collection: T_43, iteratee: import("lodash").ObjectIterator<T_43, TResult_5>): TResult_5[];
145
- <T_44, K extends keyof T_44>(collection: import("lodash").Dictionary<T_44> | import("lodash").NumericDictionary<T_44>, iteratee: K): T_44[K][];
146
- <T_45>(collection: import("lodash").Dictionary<T_45> | import("lodash").NumericDictionary<T_45>, iteratee?: string): any[];
147
- <T_46>(collection: import("lodash").Dictionary<T_46> | import("lodash").NumericDictionary<T_46>, iteratee?: object): boolean[];
145
+ <T_42, TResult_3>(collection: T_42[], iteratee: import("lodash").ArrayIterator<T_42, TResult_3>): TResult_3[];
146
+ <T_43, TResult_4>(collection: import("lodash").List<T_43>, iteratee: import("lodash").ListIterator<T_43, TResult_4>): TResult_4[];
147
+ <T_44>(collection: import("lodash").Dictionary<T_44> | import("lodash").NumericDictionary<T_44>): T_44[];
148
+ <T_45 extends object, TResult_5>(collection: T_45, iteratee: import("lodash").ObjectIterator<T_45, TResult_5>): TResult_5[];
149
+ <T_46, K extends keyof T_46>(collection: import("lodash").Dictionary<T_46> | import("lodash").NumericDictionary<T_46>, iteratee: K): T_46[K][];
150
+ <T_47>(collection: import("lodash").Dictionary<T_47> | import("lodash").NumericDictionary<T_47>, iteratee?: string): any[];
151
+ <T_48>(collection: import("lodash").Dictionary<T_48> | import("lodash").NumericDictionary<T_48>, iteratee?: object): boolean[];
148
152
  };
149
153
  orderBy: {
150
- <T_47>(collection: import("lodash").List<T_47>, iteratees?: import("lodash").Many<import("lodash").ListIterator<T_47, unknown>>, orders?: import("lodash").Many<boolean | "desc" | "asc">): T_47[];
151
- <T_48>(collection: import("lodash").List<T_48>, iteratees?: import("lodash").Many<import("lodash").ListIteratee<T_48>>, orders?: import("lodash").Many<boolean | "desc" | "asc">): T_48[];
152
- <T_49 extends object>(collection: T_49, iteratees?: import("lodash").Many<import("lodash").ObjectIterator<T_49, unknown>>, orders?: import("lodash").Many<boolean | "desc" | "asc">): T_49[keyof T_49][];
153
- <T_50 extends object>(collection: T_50, iteratees?: import("lodash").Many<import("lodash").ObjectIteratee<T_50>>, orders?: import("lodash").Many<boolean | "desc" | "asc">): T_50[keyof T_50][];
154
+ <T_49>(collection: import("lodash").List<T_49>, iteratees?: import("lodash").Many<import("lodash").ListIterator<T_49, unknown>>, orders?: import("lodash").Many<boolean | "desc" | "asc">): T_49[];
155
+ <T_50>(collection: import("lodash").List<T_50>, iteratees?: import("lodash").Many<import("lodash").ListIteratee<T_50>>, orders?: import("lodash").Many<boolean | "desc" | "asc">): T_50[];
156
+ <T_51 extends object>(collection: T_51, iteratees?: import("lodash").Many<import("lodash").ObjectIterator<T_51, unknown>>, orders?: import("lodash").Many<boolean | "desc" | "asc">): T_51[keyof T_51][];
157
+ <T_52 extends object>(collection: T_52, iteratees?: import("lodash").Many<import("lodash").ObjectIteratee<T_52>>, orders?: import("lodash").Many<boolean | "desc" | "asc">): T_52[keyof T_52][];
154
158
  };
155
159
  reduce: {
156
- <T_51, TResult_6>(collection: T_51[], callback: import("lodash").MemoListIterator<T_51, TResult_6, T_51[]>, accumulator: TResult_6): TResult_6;
157
- <T_52, TResult_7>(collection: import("lodash").List<T_52>, callback: import("lodash").MemoListIterator<T_52, TResult_7, import("lodash").List<T_52>>, accumulator: TResult_7): TResult_7;
158
- <T_53 extends object, TResult_8>(collection: T_53, callback: import("lodash").MemoObjectIterator<T_53[keyof T_53], TResult_8, T_53>, accumulator: TResult_8): TResult_8;
159
- <T_54>(collection: T_54[], callback: import("lodash").MemoListIterator<T_54, T_54, T_54[]>): T_54;
160
- <T_55>(collection: import("lodash").List<T_55>, callback: import("lodash").MemoListIterator<T_55, T_55, import("lodash").List<T_55>>): T_55;
161
- <T_56 extends object>(collection: T_56, callback: import("lodash").MemoObjectIterator<T_56[keyof T_56], T_56[keyof T_56], T_56>): T_56[keyof T_56];
162
- };
163
- remove: <T_57>(array: import("lodash").List<T_57>, predicate?: import("lodash").ListIteratee<T_57>) => T_57[];
160
+ <T_53, TResult_6>(collection: T_53[], callback: import("lodash").MemoListIterator<T_53, TResult_6, T_53[]>, accumulator: TResult_6): TResult_6;
161
+ <T_54, TResult_7>(collection: import("lodash").List<T_54>, callback: import("lodash").MemoListIterator<T_54, TResult_7, import("lodash").List<T_54>>, accumulator: TResult_7): TResult_7;
162
+ <T_55 extends object, TResult_8>(collection: T_55, callback: import("lodash").MemoObjectIterator<T_55[keyof T_55], TResult_8, T_55>, accumulator: TResult_8): TResult_8;
163
+ <T_56>(collection: T_56[], callback: import("lodash").MemoListIterator<T_56, T_56, T_56[]>): T_56;
164
+ <T_57>(collection: import("lodash").List<T_57>, callback: import("lodash").MemoListIterator<T_57, T_57, import("lodash").List<T_57>>): T_57;
165
+ <T_58 extends object>(collection: T_58, callback: import("lodash").MemoObjectIterator<T_58[keyof T_58], T_58[keyof T_58], T_58>): T_58[keyof T_58];
166
+ };
167
+ remove: <T_59>(array: import("lodash").List<T_59>, predicate?: import("lodash").ListIteratee<T_59>) => T_59[];
164
168
  replace: {
165
169
  (string: string, pattern: string | RegExp, replacement: string | import("lodash").ReplaceFunction): string;
166
170
  (pattern: string | RegExp, replacement: string | import("lodash").ReplaceFunction): string;
167
171
  };
168
172
  reverse: <TList_1 extends import("lodash").List<any>>(array: TList_1) => TList_1;
173
+ round: (n: number, precision?: number) => number;
169
174
  set: {
170
- <T_58 extends object>(object: T_58, path: import("lodash").PropertyPath, value: any): T_58;
175
+ <T_60 extends object>(object: T_60, path: import("lodash").PropertyPath, value: any): T_60;
171
176
  <TResult_9>(object: object, path: import("lodash").PropertyPath, value: any): TResult_9;
172
177
  };
173
- slice: <T_59>(array: import("lodash").List<T_59>, start?: number, end?: number) => T_59[];
178
+ slice: <T_61>(array: import("lodash").List<T_61>, start?: number, end?: number) => T_61[];
174
179
  some: {
175
- <T_60>(collection: import("lodash").List<T_60>, predicate?: import("lodash").ListIterateeCustom<T_60, boolean>): boolean;
176
- <T_61 extends object>(collection: T_61, predicate?: import("lodash").ObjectIterateeCustom<T_61, boolean>): boolean;
180
+ <T_62>(collection: import("lodash").List<T_62>, predicate?: import("lodash").ListIterateeCustom<T_62, boolean>): boolean;
181
+ <T_63 extends object>(collection: T_63, predicate?: import("lodash").ObjectIterateeCustom<T_63, boolean>): boolean;
177
182
  };
178
183
  sortBy: {
179
- <T_62>(collection: import("lodash").List<T_62>, ...iteratees: import("lodash").Many<import("lodash").ListIteratee<T_62>>[]): T_62[];
180
- <T_63 extends object>(collection: T_63, ...iteratees: import("lodash").Many<import("lodash").ObjectIteratee<T_63>>[]): T_63[keyof T_63][];
184
+ <T_64>(collection: import("lodash").List<T_64>, ...iteratees: import("lodash").Many<import("lodash").ListIteratee<T_64>>[]): T_64[];
185
+ <T_65 extends object>(collection: T_65, ...iteratees: import("lodash").Many<import("lodash").ObjectIteratee<T_65>>[]): T_65[keyof T_65][];
181
186
  };
182
187
  split: {
183
188
  (string: string, separator?: string | RegExp, limit?: number): string[];
@@ -185,11 +190,11 @@ export declare class UtilitiesService {
185
190
  };
186
191
  startsWith: (string?: string, target?: string, position?: number) => boolean;
187
192
  sum: (collection: import("lodash").List<any>) => number;
188
- take: <T_64>(array: import("lodash").List<T_64>, n?: number) => T_64[];
189
- uniqBy: <T_65>(array: import("lodash").List<T_65>, iteratee: import("lodash").ValueIteratee<T_65>) => T_65[];
193
+ take: <T_66>(array: import("lodash").List<T_66>, n?: number) => T_66[];
194
+ uniqBy: <T_67>(array: import("lodash").List<T_67>, iteratee: import("lodash").ValueIteratee<T_67>) => T_67[];
190
195
  values: {
191
- <T_66>(object: import("lodash").Dictionary<T_66> | import("lodash").NumericDictionary<T_66> | import("lodash").List<T_66>): T_66[];
192
- <T_67 extends object>(object: T_67): T_67[keyof T_67][];
196
+ <T_68>(object: import("lodash").Dictionary<T_68> | import("lodash").NumericDictionary<T_68> | import("lodash").List<T_68>): T_68[];
197
+ <T_69 extends object>(object: T_69): T_69[keyof T_69][];
193
198
  (object: any): any[];
194
199
  };
195
200
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utilities.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/app/eo-framework/util/services/utilities.service.ts"],"names":[],"mappings":";AAGA,qBACa,gBAAgB;WACb,MAAM,IAAI,OAAO;WAIjB,OAAO,CAAC,GAAG,KAAA;WAYX,cAAc,CAAC,GAAG,KAAA;IAKhC,OAAc,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAub;yCAtBhc,gBAAgB;6CAAhB,gBAAgB;CAwB5B"}
1
+ {"version":3,"file":"utilities.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/app/eo-framework/util/services/utilities.service.ts"],"names":[],"mappings":";AAGA,qBACa,gBAAgB;WACb,MAAM,IAAI,OAAO;WAIjB,OAAO,CAAC,GAAG,KAAA;WAYX,cAAc,CAAC,GAAG,KAAA;IAKhC,OAAc,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAsc;yCAtB/c,gBAAgB;6CAAhB,gBAAgB;CAwB5B"}
@@ -8,10 +8,10 @@ export class AboutStateComponent {
8
8
  this.backend = backend;
9
9
  this.userService = userService;
10
10
  this.config = config;
11
- this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/cdk", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/common", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/compiler", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/core", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/forms", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/router", "version": "15.2.2", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.8.1", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "10.6.13", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "15.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "14.0.0", "license": "MIT" }, { "name": "@yuuvis/components", "version": "1.0.6", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "1.0.2", "license": "MIT" }, { "name": "core-js", "version": "2.6.12", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "lodash-es", "version": "4.17.21", "license": "MIT" }, { "name": "moment", "version": "2.29.4", "license": "MIT" }, { "name": "ngx-toastr", "version": "16.0.2", "license": "MIT" }, { "name": "rxjs", "version": "7.5.7", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.2", "license": "0BSD" }, { "name": "zone.js", "version": "0.11.8", "license": "MIT" }];
11
+ this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/cdk", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/common", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/compiler", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/core", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/forms", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "15.2.2", "license": "MIT" }, { "name": "@angular/router", "version": "15.2.2", "license": "MIT" }, { "name": "@carbon/charts-angular", "version": "1.8.1", "license": "Apache-2.0" }, { "name": "@eo-sdk/core", "version": "10.6.15", "license": "MIT" }, { "name": "@ngneat/until-destroy", "version": "10.0.0", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "15.0.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "14.0.0", "license": "MIT" }, { "name": "@yuuvis/components", "version": "1.0.6", "license": "MIT" }, { "name": "@yuuvis/widget-grid", "version": "1.0.2", "license": "MIT" }, { "name": "core-js", "version": "2.6.12", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "lodash-es", "version": "4.17.21", "license": "MIT" }, { "name": "moment", "version": "2.29.4", "license": "MIT" }, { "name": "ngx-toastr", "version": "16.0.2", "license": "MIT" }, { "name": "rxjs", "version": "7.5.7", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.6.2", "license": "0BSD" }, { "name": "zone.js", "version": "0.11.8", "license": "MIT" }];
12
12
  this.ctrl = {
13
13
  componentName: 'yuuvis® RAD client',
14
- componentVersion: '10.6.13',
14
+ componentVersion: '10.6.15',
15
15
  productName: '',
16
16
  productVersion: ''
17
17
  };
@@ -78,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
78
78
  type: Component,
79
79
  args: [{ selector: 'eo-about-state', template: "<div class=\"eo-about-state\">\n\n <div class=\"about\">\n <div class=\"header\" [style.background-image]=\"backgroundImage\">\n <img [src]=\"headerLogo\"/>\n </div>\n\n <div class=\"body\">\n <div class=\"claim\" translate>eo.help.about.claim</div>\n\n <div class=\"wrap\">\n <table>\n <tbody>\n <tr>\n <th translate>eo.help.about.component.label</th>\n <td>{{ctrl.componentName}}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.component.version.label</th>\n <td>{{ctrl.componentVersion}}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.product.label</th>\n <td>{{ ctrl.productName }}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.product.version.label</th>\n <td>{{ ctrl.productVersion }}</td>\n </tr>\n <tr>\n <th translate>eo.help.about.producer.label</th>\n <td translate>eo.help.about.producer.text</td>\n </tr>\n </tbody>\n </table>\n </div>\n\n\n <h2 translate>eo.help.license.title</h2>\n <p translate>eo.help.license.intro</p>\n <div class=\"showLic\" (click)=\"licenseShow = !licenseShow\">\n <span class=\"toggle\"><span translate>eo.help.license.title</span><span class=\"toggle-indicator\">{{licenseShow ? '-' : '+'}}</span></span></div>\n <div class=\"licenses\" *ngIf=\"licenseShow\">\n <div class=\"lib\" *ngFor=\"let lib of __libraries__; trackBy: trackByFn\">\n <div class=\"name\">{{lib.name}}</div>\n <div class=\"lic\" *ngIf=\"licenses[lib.license]\">\n <a href=\"{{licenses[lib.license].url}}\" target=\"_blank\" *ngIf=\"licenses[lib.license].url\">{{licenses[lib.license].label}}</a>\n <span *ngIf=\"!licenses[lib.license].url\">{{licenses[lib.license].label}}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n</div>\n", styles: [":host{--about-header-height: 300px;position:absolute;inset:0;display:flex;flex-flow:row;justify-content:center;overflow-y:auto}.eo-about-state{box-sizing:border-box;width:800px;display:flex;flex-flow:column}@media screen and (max-width: 832px){.eo-about-state{margin:0;min-width:inherit;width:100%}}.eo-about-state .about{box-shadow:0 2px 5px #0003;background:var(--panel-background);margin:var(--app-pane-padding)}.eo-about-state .about .header{position:relative;height:var(--about-header-height);background-size:cover}.eo-about-state .about .header:after{content:\"\";position:absolute;inset:0;background-color:rgba(var(--color-accent-rgb),.8)}.eo-about-state .about .header img{right:8%;bottom:18%;position:absolute;z-index:20;width:40%}.eo-about-state .about .body{padding:var(--app-pane-padding)}.eo-about-state .about .body .claim{padding:var(--app-pane-padding) 0}.eo-about-state .about .body h2{margin:1.5em 0 0;color:var(--text-color-caption);font-weight:var(--font-weight-light);font-size:var(--font-title)}.eo-about-state .about .body .wrap{display:flex;flex-flow:row wrap}.eo-about-state .about .body ul.links{color:var(--color-accent);list-style-type:none}.eo-about-state .about .body ul.links li{padding:2px 0}.eo-about-state .about .body ul.links a{text-decoration:none;color:var(--color-accent)}.eo-about-state .about .body ul.links a:hover{text-decoration:underline}.eo-about-state .about .body table{margin:var(--app-pane-padding);padding:calc(var(--app-pane-padding) / 4) 0;background-color:rgba(var(--color-black-rgb),.06);border-radius:2px}.eo-about-state .about .body table th{display:flex;flex-flow:column;align-items:flex-start;justify-content:center;font-size:var(--font-hint);color:var(--text-color-caption)}.eo-about-state .about .body table th,.eo-about-state .about .body table td{padding:calc(var(--app-pane-padding) / 8) calc(var(--app-pane-padding) / 2)}.eo-about-state .about .body .showLic span.toggle{color:var(--color-accent);display:inline-block;padding:0 4px 2px;border-radius:4px;border:1px solid var(--color-accent);cursor:pointer}.eo-about-state .about .body .showLic .toggle-indicator{padding:0 4px}.eo-about-state .about .body .licenses{padding-top:var(--app-pane-padding)}.eo-about-state .about .body .licenses .lib{display:flex;flex-flow:row nowrap;padding:calc(var(--app-pane-padding) / 4);border-top:1px solid var(--list-item-border-color)}.eo-about-state .about .body .licenses .lib .name{flex:1 1 auto}.eo-about-state .about .body .licenses .lib .lic{flex:0 0 auto;font-size:var(--font-hint);color:var(--text-color-caption)}.eo-about-state .about .body .licenses .lib .lic a{text-decoration:none;border-radius:2px;border:1px solid var(--color-accent);color:var(--color-accent);display:inline-block;padding:2px 4px;background-color:rgba(var(--color-black-rgb),.06);line-height:1em}\n"] }]
80
80
  }], ctorParameters: function () { return [{ type: i1.BackendService }, { type: i1.UserService }, { type: i1.Config }]; } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFReEMsTUFBTSxPQUFPLG1CQUFtQjtJQXNEOUIsWUFBb0IsT0FBdUIsRUFBVSxXQUF3QixFQUFVLE1BQWM7UUFBakYsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFqRHJHLGtCQUFhLEdBQUcsQ0FBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywwQ0FBMEMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywrQkFBK0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsbUJBQW1CLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsZUFBZSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGdCQUFnQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLDJCQUEyQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG1DQUFtQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLHdCQUF3QixFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx1QkFBdUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx3QkFBd0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxvQkFBb0IsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFD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QUMsSUFBSSxDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXO2FBQ2IsS0FBSzthQUNMLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7Z0hBNUVVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHNEQ1JoQyxvK0RBdURBOzJGRC9DYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVc2VyU2VydmljZSwgQ29uZmlnLCBCYWNrZW5kU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tYWJvdXQtc3RhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hYm91dC1zdGF0ZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFib3V0U3RhdGVDb21wb25lbnQge1xuXG4gIGJhY2tncm91bmRJbWFnZTogc3RyaW5nO1xuICBoZWFkZXJMb2dvOiBzdHJpbmc7XG4gIGxpY2Vuc2VTaG93OiBib29sZWFuO1xuICBfX2xpYnJhcmllc19fID0gW3tcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIyMi4xLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY2xpZW50LXNpZGUtcm93LW1vZGVsXCIsXCJ2ZXJzaW9uXCI6XCIyMi4xLjFcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY29yZVwiLFwidmVyc2lvblwiOlwiMjIuMS4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L2Nzdi1leHBvcnRcIixcInZlcnNpb25cIjpcIjIyLjEuMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIixcInZlcnNpb25cIjpcIjE1LjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2Nka1wiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29tbW9uXCIsXCJ2ZXJzaW9uXCI6XCIxNS4yLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb21waWxlclwiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29yZVwiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvZm9ybXNcIixcInZlcnNpb25cIjpcIjE1LjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIixcInZlcnNpb25cIjpcIjE1LjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pY1wiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcm91dGVyXCIsXCJ2ZXJzaW9uXCI6XCIxNS4yLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAY2FyYm9uL2NoYXJ0cy1hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIxLjguMVwiLFwibGljZW5zZVwiOlwiQXBhY2hlLTIuMFwifSx7XCJuYW1lXCI6XCJAZW8tc2RrL2NvcmVcIixcInZlcnNpb25cIjpcIjEwLjYuMTNcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAbmduZWF0L3VudGlsLWRlc3Ryb3lcIixcInZlcnNpb25cIjpcIjEwLjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtcHdhL2xvY2FsLXN0b3JhZ2VcIixcInZlcnNpb25cIjpcIjE1LjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIixcInZlcnNpb25cIjpcIjE0LjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkB5dXV2aXMvY29tcG9uZW50c1wiLFwidmVyc2lvblwiOlwiMS4wLjZcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAeXV1dmlzL3dpZGdldC1ncmlkXCIsXCJ2ZXJzaW9uXCI6XCIxLjAuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImNvcmUtanNcIixcInZlcnNpb25cIjpcIjIuNi4xMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZpbGUtc2F2ZXJcIixcInZlcnNpb25cIjpcIjIuMC41XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiZm9udC1hd2Vzb21lXCIsXCJ2ZXJzaW9uXCI6XCI0LjcuMFwiLFwibGljZW5zZVwiOlwiKE9GTC0xLjEgQU5EIE1JVClcIn0se1wibmFtZVwiOlwibG9kYXNoLWVzXCIsXCJ2ZXJzaW9uXCI6XCI0LjE3LjIxXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwibW9tZW50XCIsXCJ2ZXJzaW9uXCI6XCIyLjI5LjRcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJuZ3gtdG9hc3RyXCIsXCJ2ZXJzaW9uXCI6XCIxNi4wLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJyeGpzXCIsXCJ2ZXJzaW9uXCI6XCI3LjUuN1wiLFwibGljZW5zZVwiOlwiQXBhY2hlLTIuMFwifSx7XCJuYW1lXCI6XCJ0c2xpYlwiLFwidmVyc2lvblwiOlwiMi42LjJcIixcImxpY2Vuc2VcIjpcIjBCU0RcIn0se1wibmFtZVwiOlwiem9uZS5qc1wiLFwidmVyc2lvblwiOlwiMC4xMS44XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn1dO1xuICB1c2VyTGFuZzogc3RyaW5nO1xuXG4gIGN0cmwgPSB7XG4gICAgY29tcG9uZW50TmFtZTogJ3l1dXZpc8KuIFJBRCBjbGllbnQnLFxuICAgIGNvbXBvbmVudFZlcnNpb246ICcxMC42LjEzJyxcbiAgICBwcm9kdWN0TmFtZTogJycsXG4gICAgcHJvZHVjdFZlcnNpb246ICcnXG4gIH07XG5cbiAgbGljZW5zZXMgPSB7XG4gICAgJ01JVCc6IHtcbiAgICAgICdsYWJlbCc6ICdNSVQnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUJ1xuICAgIH0sXG4gICAgJ0FwYWNoZS0yLjAnOiB7XG4gICAgICAnbGFiZWwnOiAnQXBhY2hlIDIuMCcsXG4gICAgICAndXJsJzogJ2h0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCdcbiAgICB9LFxuICAgICdCU0QtMy1DbGF1c2UtQ2xlYXInOiB7XG4gICAgICAnbGFiZWwnOiAnQlNEIDMtQ2xhdXNlJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZSdcbiAgICB9LFxuICAgICdDQzAtMS4wJzoge1xuICAgICAgJ2xhYmVsJzogJ0NDMCAxLjAnLFxuICAgICAgJ3VybCc6ICdodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLydcbiAgICB9LFxuICAgICcoT0ZMLTEuMSBBTkQgTUlUKSc6IHtcbiAgICAgICdsYWJlbCc6ICdNSVQnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUJ1xuICAgIH0sXG4gICAgJ1NJTE9GTC0xLjEnOiB7XG4gICAgICAnbGFiZWwnOiAnU0lMIE9wZW4gRm9udCBMaWNlbnNlIDEuMScsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9zY3JpcHRzLnNpbC5vcmcvT0ZMX3dlYidcbiAgICB9LFxuICAgICdDb21tZXJjaWFsJzoge1xuICAgICAgJ2xhYmVsJzogJ0NvbW1lcmNpYWwnXG4gICAgfSxcbiAgICAnYWctZ3JpZCc6IHtcbiAgICAgICdsYWJlbCc6ICdhZy1HcmlkLUVudGVycHJpc2UgU29mdHdhcmUgTGljZW5jZSBBZ3JlZW1lbnQgVmVyc2lvbiAxLjcnLFxuICAgICAgJ3VybCc6ICdodHRwczovL2dpdGh1Yi5jb20vY2VvbHRlci9hZy1ncmlkLWVudGVycHJpc2UvYmxvYi9tYXN0ZXIvTElDRU5TRS5tZCdcbiAgICB9LFxuICAgICcwQlNEJzoge1xuICAgICAgJ2xhYmVsJzogJ1plcm8tQ2xhdXNlIEJTRCcsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy8wQlNEJ1xuICAgIH1cbiAgfTtcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZzogQ29uZmlnKSB7XG4gICAgdGhpcy5nZXRVc2VyTGFuZygpO1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlID0gYHVybCgke3RoaXMuY29uZmlnLmdldERhc2hib2FyZEJhY2tncm91bmRJbWFnZSgpfSlgO1xuICAgIHRoaXMuaGVhZGVyTG9nbyA9IHRoaXMuY29uZmlnLmdldFJhdygnYWJvdXQuaGVhZGVyTG9nbycpO1xuICAgIGlmICghdGhpcy5oZWFkZXJMb2dvKSB7XG4gICAgICB0aGlzLmhlYWRlckxvZ28gPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2FwcExvZ28nKTtcbiAgICB9XG5cbiAgICB0aGlzLmJhY2tlbmQuZ2V0SnNvbignL3N5c3RlbS9pbmZvJykuc3Vic2NyaWJlKGluZm8gPT4ge1xuICAgICAgdGhpcy5jdHJsLnByb2R1Y3ROYW1lID0gaW5mby5wcm9kdWN0Lm5hbWU7XG4gICAgICB0aGlzLmN0cmwucHJvZHVjdFZlcnNpb24gPSBpbmZvLnByb2R1Y3QucHJvZHVjdHZlcnNpb247XG4gICAgfSk7XG4gIH1cblxuICBnZXRVc2VyTGFuZygpIHtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlXG4gICAgICAudXNlciRcbiAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB0aGlzLnVzZXJMYW5nID0gZGF0YS51c2VyU2V0dGluZ3MuY2xpZW50bG9jYWxlKTtcbiAgfVxuXG4gIHRyYWNrQnlGbihpbmRleCwgaXRlbSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZW8tYWJvdXQtc3RhdGVcIj5cblxuICA8ZGl2IGNsYXNzPVwiYWJvdXRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCIgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiYmFja2dyb3VuZEltYWdlXCI+XG4gICAgICA8aW1nIFtzcmNdPVwiaGVhZGVyTG9nb1wiLz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJib2R5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2xhaW1cIiB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5jbGFpbTwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwid3JhcFwiPlxuICAgICAgICA8dGFibGU+XG4gICAgICAgICAgPHRib2R5PlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5jb21wb25lbnQubGFiZWw8L3RoPlxuICAgICAgICAgICAgPHRkPnt7Y3RybC5jb21wb25lbnROYW1lfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoIHRyYW5zbGF0ZT5lby5oZWxwLmFib3V0LmNvbXBvbmVudC52ZXJzaW9uLmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57e2N0cmwuY29tcG9uZW50VmVyc2lvbn19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWN0LmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57eyBjdHJsLnByb2R1Y3ROYW1lIH19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWN0LnZlcnNpb24ubGFiZWw8L3RoPlxuICAgICAgICAgICAgPHRkPnt7IGN0cmwucHJvZHVjdFZlcnNpb24gfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoIHRyYW5zbGF0ZT5lby5oZWxwLmFib3V0LnByb2R1Y2VyLmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWNlci50ZXh0PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L2Rpdj5cblxuXG4gICAgICA8aDIgdHJhbnNsYXRlPmVvLmhlbHAubGljZW5zZS50aXRsZTwvaDI+XG4gICAgICA8cCB0cmFuc2xhdGU+ZW8uaGVscC5saWNlbnNlLmludHJvPC9wPlxuICAgICAgPGRpdiBjbGFzcz1cInNob3dMaWNcIiAoY2xpY2spPVwibGljZW5zZVNob3cgPSAhbGljZW5zZVNob3dcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b2dnbGVcIj48c3BhbiB0cmFuc2xhdGU+ZW8uaGVscC5saWNlbnNlLnRpdGxlPC9zcGFuPjxzcGFuIGNsYXNzPVwidG9nZ2xlLWluZGljYXRvclwiPnt7bGljZW5zZVNob3cgPyAnLScgOiAnKyd9fTwvc3Bhbj48L3NwYW4+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibGljZW5zZXNcIiAqbmdJZj1cImxpY2Vuc2VTaG93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaWJcIiAqbmdGb3I9XCJsZXQgbGliIG9mIF9fbGlicmFyaWVzX187IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCI+e3tsaWIubmFtZX19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpY1wiICpuZ0lmPVwibGljZW5zZXNbbGliLmxpY2Vuc2VdXCI+XG4gICAgICAgICAgICA8YSBocmVmPVwie3tsaWNlbnNlc1tsaWIubGljZW5zZV0udXJsfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIiAqbmdJZj1cImxpY2Vuc2VzW2xpYi5saWNlbnNlXS51cmxcIj57e2xpY2Vuc2VzW2xpYi5saWNlbnNlXS5sYWJlbH19PC9hPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbGljZW5zZXNbbGliLmxpY2Vuc2VdLnVybFwiPnt7bGljZW5zZXNbbGliLmxpY2Vuc2VdLmxhYmVsfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFReEMsTUFBTSxPQUFPLG1CQUFtQjtJQXNEOUIsWUFBb0IsT0FBdUIsRUFBVSxXQUF3QixFQUFVLE1BQWM7UUFBakYsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFqRHJHLGtCQUFhLEdBQUcsQ0FBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywwQ0FBMEMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywrQkFBK0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsbUJBQW1CLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsZUFBZSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGdCQUFnQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLDJCQUEyQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG1DQUFtQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLHdCQUF3QixFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx1QkFBdUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx3QkFBd0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxvQkFBb0IsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFD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QUMsSUFBSSxDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXO2FBQ2IsS0FBSzthQUNMLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7Z0hBNUVVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHNEQ1JoQyxvK0RBdURBOzJGRC9DYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVc2VyU2VydmljZSwgQ29uZmlnLCBCYWNrZW5kU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tYWJvdXQtc3RhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWJvdXQtc3RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hYm91dC1zdGF0ZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFib3V0U3RhdGVDb21wb25lbnQge1xuXG4gIGJhY2tncm91bmRJbWFnZTogc3RyaW5nO1xuICBoZWFkZXJMb2dvOiBzdHJpbmc7XG4gIGxpY2Vuc2VTaG93OiBib29sZWFuO1xuICBfX2xpYnJhcmllc19fID0gW3tcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIyMi4xLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY2xpZW50LXNpZGUtcm93LW1vZGVsXCIsXCJ2ZXJzaW9uXCI6XCIyMi4xLjFcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY29yZVwiLFwidmVyc2lvblwiOlwiMjIuMS4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L2Nzdi1leHBvcnRcIixcInZlcnNpb25cIjpcIjIyLjEuMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIixcInZlcnNpb25cIjpcIjE1LjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2Nka1wiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29tbW9uXCIsXCJ2ZXJzaW9uXCI6XCIxNS4yLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb21waWxlclwiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY29yZVwiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvZm9ybXNcIixcInZlcnNpb25cIjpcIjE1LjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIixcInZlcnNpb25cIjpcIjE1LjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pY1wiLFwidmVyc2lvblwiOlwiMTUuMi4yXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcm91dGVyXCIsXCJ2ZXJzaW9uXCI6XCIxNS4yLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAY2FyYm9uL2NoYXJ0cy1hbmd1bGFyXCIsXCJ2ZXJzaW9uXCI6XCIxLjguMVwiLFwibGljZW5zZVwiOlwiQXBhY2hlLTIuMFwifSx7XCJuYW1lXCI6XCJAZW8tc2RrL2NvcmVcIixcInZlcnNpb25cIjpcIjEwLjYuMTVcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAbmduZWF0L3VudGlsLWRlc3Ryb3lcIixcInZlcnNpb25cIjpcIjEwLjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtcHdhL2xvY2FsLXN0b3JhZ2VcIixcInZlcnNpb25cIjpcIjE1LjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIixcInZlcnNpb25cIjpcIjE0LjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkB5dXV2aXMvY29tcG9uZW50c1wiLFwidmVyc2lvblwiOlwiMS4wLjZcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAeXV1dmlzL3dpZGdldC1ncmlkXCIsXCJ2ZXJzaW9uXCI6XCIxLjAuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImNvcmUtanNcIixcInZlcnNpb25cIjpcIjIuNi4xMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZpbGUtc2F2ZXJcIixcInZlcnNpb25cIjpcIjIuMC41XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiZm9udC1hd2Vzb21lXCIsXCJ2ZXJzaW9uXCI6XCI0LjcuMFwiLFwibGljZW5zZVwiOlwiKE9GTC0xLjEgQU5EIE1JVClcIn0se1wibmFtZVwiOlwibG9kYXNoLWVzXCIsXCJ2ZXJzaW9uXCI6XCI0LjE3LjIxXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwibW9tZW50XCIsXCJ2ZXJzaW9uXCI6XCIyLjI5LjRcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJuZ3gtdG9hc3RyXCIsXCJ2ZXJzaW9uXCI6XCIxNi4wLjJcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJyeGpzXCIsXCJ2ZXJzaW9uXCI6XCI3LjUuN1wiLFwibGljZW5zZVwiOlwiQXBhY2hlLTIuMFwifSx7XCJuYW1lXCI6XCJ0c2xpYlwiLFwidmVyc2lvblwiOlwiMi42LjJcIixcImxpY2Vuc2VcIjpcIjBCU0RcIn0se1wibmFtZVwiOlwiem9uZS5qc1wiLFwidmVyc2lvblwiOlwiMC4xMS44XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn1dO1xuICB1c2VyTGFuZzogc3RyaW5nO1xuXG4gIGN0cmwgPSB7XG4gICAgY29tcG9uZW50TmFtZTogJ3l1dXZpc8KuIFJBRCBjbGllbnQnLFxuICAgIGNvbXBvbmVudFZlcnNpb246ICcxMC42LjE1JyxcbiAgICBwcm9kdWN0TmFtZTogJycsXG4gICAgcHJvZHVjdFZlcnNpb246ICcnXG4gIH07XG5cbiAgbGljZW5zZXMgPSB7XG4gICAgJ01JVCc6IHtcbiAgICAgICdsYWJlbCc6ICdNSVQnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUJ1xuICAgIH0sXG4gICAgJ0FwYWNoZS0yLjAnOiB7XG4gICAgICAnbGFiZWwnOiAnQXBhY2hlIDIuMCcsXG4gICAgICAndXJsJzogJ2h0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCdcbiAgICB9LFxuICAgICdCU0QtMy1DbGF1c2UtQ2xlYXInOiB7XG4gICAgICAnbGFiZWwnOiAnQlNEIDMtQ2xhdXNlJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZSdcbiAgICB9LFxuICAgICdDQzAtMS4wJzoge1xuICAgICAgJ2xhYmVsJzogJ0NDMCAxLjAnLFxuICAgICAgJ3VybCc6ICdodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLydcbiAgICB9LFxuICAgICcoT0ZMLTEuMSBBTkQgTUlUKSc6IHtcbiAgICAgICdsYWJlbCc6ICdNSVQnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUJ1xuICAgIH0sXG4gICAgJ1NJTE9GTC0xLjEnOiB7XG4gICAgICAnbGFiZWwnOiAnU0lMIE9wZW4gRm9udCBMaWNlbnNlIDEuMScsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9zY3JpcHRzLnNpbC5vcmcvT0ZMX3dlYidcbiAgICB9LFxuICAgICdDb21tZXJjaWFsJzoge1xuICAgICAgJ2xhYmVsJzogJ0NvbW1lcmNpYWwnXG4gICAgfSxcbiAgICAnYWctZ3JpZCc6IHtcbiAgICAgICdsYWJlbCc6ICdhZy1HcmlkLUVudGVycHJpc2UgU29mdHdhcmUgTGljZW5jZSBBZ3JlZW1lbnQgVmVyc2lvbiAxLjcnLFxuICAgICAgJ3VybCc6ICdodHRwczovL2dpdGh1Yi5jb20vY2VvbHRlci9hZy1ncmlkLWVudGVycHJpc2UvYmxvYi9tYXN0ZXIvTElDRU5TRS5tZCdcbiAgICB9LFxuICAgICcwQlNEJzoge1xuICAgICAgJ2xhYmVsJzogJ1plcm8tQ2xhdXNlIEJTRCcsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy8wQlNEJ1xuICAgIH1cbiAgfTtcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZzogQ29uZmlnKSB7XG4gICAgdGhpcy5nZXRVc2VyTGFuZygpO1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlID0gYHVybCgke3RoaXMuY29uZmlnLmdldERhc2hib2FyZEJhY2tncm91bmRJbWFnZSgpfSlgO1xuICAgIHRoaXMuaGVhZGVyTG9nbyA9IHRoaXMuY29uZmlnLmdldFJhdygnYWJvdXQuaGVhZGVyTG9nbycpO1xuICAgIGlmICghdGhpcy5oZWFkZXJMb2dvKSB7XG4gICAgICB0aGlzLmhlYWRlckxvZ28gPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2FwcExvZ28nKTtcbiAgICB9XG5cbiAgICB0aGlzLmJhY2tlbmQuZ2V0SnNvbignL3N5c3RlbS9pbmZvJykuc3Vic2NyaWJlKGluZm8gPT4ge1xuICAgICAgdGhpcy5jdHJsLnByb2R1Y3ROYW1lID0gaW5mby5wcm9kdWN0Lm5hbWU7XG4gICAgICB0aGlzLmN0cmwucHJvZHVjdFZlcnNpb24gPSBpbmZvLnByb2R1Y3QucHJvZHVjdHZlcnNpb247XG4gICAgfSk7XG4gIH1cblxuICBnZXRVc2VyTGFuZygpIHtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlXG4gICAgICAudXNlciRcbiAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB0aGlzLnVzZXJMYW5nID0gZGF0YS51c2VyU2V0dGluZ3MuY2xpZW50bG9jYWxlKTtcbiAgfVxuXG4gIHRyYWNrQnlGbihpbmRleCwgaXRlbSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZW8tYWJvdXQtc3RhdGVcIj5cblxuICA8ZGl2IGNsYXNzPVwiYWJvdXRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCIgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiYmFja2dyb3VuZEltYWdlXCI+XG4gICAgICA8aW1nIFtzcmNdPVwiaGVhZGVyTG9nb1wiLz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJib2R5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2xhaW1cIiB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5jbGFpbTwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwid3JhcFwiPlxuICAgICAgICA8dGFibGU+XG4gICAgICAgICAgPHRib2R5PlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5jb21wb25lbnQubGFiZWw8L3RoPlxuICAgICAgICAgICAgPHRkPnt7Y3RybC5jb21wb25lbnROYW1lfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoIHRyYW5zbGF0ZT5lby5oZWxwLmFib3V0LmNvbXBvbmVudC52ZXJzaW9uLmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57e2N0cmwuY29tcG9uZW50VmVyc2lvbn19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWN0LmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZD57eyBjdHJsLnByb2R1Y3ROYW1lIH19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWN0LnZlcnNpb24ubGFiZWw8L3RoPlxuICAgICAgICAgICAgPHRkPnt7IGN0cmwucHJvZHVjdFZlcnNpb24gfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRoIHRyYW5zbGF0ZT5lby5oZWxwLmFib3V0LnByb2R1Y2VyLmxhYmVsPC90aD5cbiAgICAgICAgICAgIDx0ZCB0cmFuc2xhdGU+ZW8uaGVscC5hYm91dC5wcm9kdWNlci50ZXh0PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L2Rpdj5cblxuXG4gICAgICA8aDIgdHJhbnNsYXRlPmVvLmhlbHAubGljZW5zZS50aXRsZTwvaDI+XG4gICAgICA8cCB0cmFuc2xhdGU+ZW8uaGVscC5saWNlbnNlLmludHJvPC9wPlxuICAgICAgPGRpdiBjbGFzcz1cInNob3dMaWNcIiAoY2xpY2spPVwibGljZW5zZVNob3cgPSAhbGljZW5zZVNob3dcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b2dnbGVcIj48c3BhbiB0cmFuc2xhdGU+ZW8uaGVscC5saWNlbnNlLnRpdGxlPC9zcGFuPjxzcGFuIGNsYXNzPVwidG9nZ2xlLWluZGljYXRvclwiPnt7bGljZW5zZVNob3cgPyAnLScgOiAnKyd9fTwvc3Bhbj48L3NwYW4+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibGljZW5zZXNcIiAqbmdJZj1cImxpY2Vuc2VTaG93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaWJcIiAqbmdGb3I9XCJsZXQgbGliIG9mIF9fbGlicmFyaWVzX187IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCI+e3tsaWIubmFtZX19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpY1wiICpuZ0lmPVwibGljZW5zZXNbbGliLmxpY2Vuc2VdXCI+XG4gICAgICAgICAgICA8YSBocmVmPVwie3tsaWNlbnNlc1tsaWIubGljZW5zZV0udXJsfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIiAqbmdJZj1cImxpY2Vuc2VzW2xpYi5saWNlbnNlXS51cmxcIj57e2xpY2Vuc2VzW2xpYi5saWNlbnNlXS5sYWJlbH19PC9hPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbGljZW5zZXNbbGliLmxpY2Vuc2VdLnVybFwiPnt7bGljZW5zZXNbbGliLmxpY2Vuc2VdLmxhYmVsfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==
@@ -28,15 +28,15 @@ let InfoInboxWidgetComponent = class InfoInboxWidgetComponent {
28
28
  }
29
29
  };
30
30
  InfoInboxWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: InfoInboxWidgetComponent, deps: [{ token: i1.CapabilitiesService }, { token: i1.InboxService }], target: i0.ɵɵFactoryTarget.Component });
31
- InfoInboxWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: InfoInboxWidgetComponent, selector: "eo-info-inbox-widget", inputs: { widgetConfig: "widgetConfig" }, ngImport: i0, template: "<a class=\"info\" [ngClass]=\"{visible: capabilities.inbox && inboxState && inboxState.totalmessages > 0}\" [routerLink]=\"['/inbox']\">\n <div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"count\">{{inboxState.totalmessages}}</div>\n </div>\n <div class=\"msg\">{{widgetConfig?.title}}</div>\n</a>\n", styles: [":host-context(.editMode) .info:not(.visible){opacity:1}:host .info{color:var(--color-primary-2);padding:0 var(--app-pane-padding);margin-bottom:calc(var(--app-pane-padding) * 2);text-decoration:none;cursor:pointer}:host .info:not(.visible){opacity:0;pointer-events:none}:host .info:focus,:host .info:hover{color:var(--color-accent)}:host .info:focus eo-icon,:host .info:hover eo-icon{background-color:var(--color-accent)}:host .info>div{display:flex;align-items:center}:host .info eo-icon{border-radius:2px;background-color:var(--color-primary-2);color:rgba(var(--color-white-rgb),.7);padding:2px}:host .info .count{font-size:40px;line-height:1em;padding:0 var(--app-pane-padding);text-align:right}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i5.RouterLinkDirective, selector: "a[routerLink]" }] });
31
+ InfoInboxWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: InfoInboxWidgetComponent, selector: "eo-info-inbox-widget", inputs: { widgetConfig: "widgetConfig" }, ngImport: i0, template: "<a class=\"info\" [ngClass]=\"{visible: capabilities.inbox && inboxState && inboxState.totalmessages > 0}\" [routerLink]=\"['/inbox']\">\n <div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"count\">{{inboxState?.totalmessages}}</div>\n </div>\n <div class=\"msg\">{{widgetConfig?.title}}</div>\n</a>\n", styles: [":host-context(.editMode) .info:not(.visible){opacity:1}:host .info{color:var(--color-primary-2);padding:0 var(--app-pane-padding);margin-bottom:calc(var(--app-pane-padding) * 2);text-decoration:none;cursor:pointer}:host .info:not(.visible){opacity:0;pointer-events:none}:host .info:focus,:host .info:hover{color:var(--color-accent)}:host .info:focus eo-icon,:host .info:hover eo-icon{background-color:var(--color-accent)}:host .info>div{display:flex;align-items:center}:host .info eo-icon{border-radius:2px;background-color:var(--color-primary-2);color:rgba(var(--color-white-rgb),.7);padding:2px}:host .info .count{font-size:40px;line-height:1em;padding:0 var(--app-pane-padding);text-align:right}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i5.RouterLinkDirective, selector: "a[routerLink]" }] });
32
32
  InfoInboxWidgetComponent = __decorate([
33
33
  UntilDestroy()
34
34
  ], InfoInboxWidgetComponent);
35
35
  export { InfoInboxWidgetComponent };
36
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: InfoInboxWidgetComponent, decorators: [{
37
37
  type: Component,
38
- args: [{ selector: 'eo-info-inbox-widget', template: "<a class=\"info\" [ngClass]=\"{visible: capabilities.inbox && inboxState && inboxState.totalmessages > 0}\" [routerLink]=\"['/inbox']\">\n <div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"count\">{{inboxState.totalmessages}}</div>\n </div>\n <div class=\"msg\">{{widgetConfig?.title}}</div>\n</a>\n", styles: [":host-context(.editMode) .info:not(.visible){opacity:1}:host .info{color:var(--color-primary-2);padding:0 var(--app-pane-padding);margin-bottom:calc(var(--app-pane-padding) * 2);text-decoration:none;cursor:pointer}:host .info:not(.visible){opacity:0;pointer-events:none}:host .info:focus,:host .info:hover{color:var(--color-accent)}:host .info:focus eo-icon,:host .info:hover eo-icon{background-color:var(--color-accent)}:host .info>div{display:flex;align-items:center}:host .info eo-icon{border-radius:2px;background-color:var(--color-primary-2);color:rgba(var(--color-white-rgb),.7);padding:2px}:host .info .count{font-size:40px;line-height:1em;padding:0 var(--app-pane-padding);text-align:right}\n"] }]
38
+ args: [{ selector: 'eo-info-inbox-widget', template: "<a class=\"info\" [ngClass]=\"{visible: capabilities.inbox && inboxState && inboxState.totalmessages > 0}\" [routerLink]=\"['/inbox']\">\n <div>\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n <div class=\"count\">{{inboxState?.totalmessages}}</div>\n </div>\n <div class=\"msg\">{{widgetConfig?.title}}</div>\n</a>\n", styles: [":host-context(.editMode) .info:not(.visible){opacity:1}:host .info{color:var(--color-primary-2);padding:0 var(--app-pane-padding);margin-bottom:calc(var(--app-pane-padding) * 2);text-decoration:none;cursor:pointer}:host .info:not(.visible){opacity:0;pointer-events:none}:host .info:focus,:host .info:hover{color:var(--color-accent)}:host .info:focus eo-icon,:host .info:hover eo-icon{background-color:var(--color-accent)}:host .info>div{display:flex;align-items:center}:host .info eo-icon{border-radius:2px;background-color:var(--color-primary-2);color:rgba(var(--color-white-rgb),.7);padding:2px}:host .info .count{font-size:40px;line-height:1em;padding:0 var(--app-pane-padding);text-align:right}\n"] }]
39
39
  }], ctorParameters: function () { return [{ type: i1.CapabilitiesService }, { type: i1.InboxService }]; }, propDecorators: { widgetConfig: [{
40
40
  type: Input
41
41
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1pbmJveC13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaW5mby1pbmJveC13aWRnZXQvaW5mby1pbmJveC13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaW5mby1pbmJveC13aWRnZXQvaW5mby1pbmJveC13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBR3ZELE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7QUFTNUQsSUFBTSx3QkFBd0IsR0FBOUIsTUFBTSx3QkFBd0I7SUFLbkMsSUFBYSxZQUFZLENBQUMsQ0FBOEI7UUFDdEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUU7SUFDMUIsQ0FBQztJQUNELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFDVSxpQkFBc0MsRUFDdEMsWUFBMEI7UUFEMUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFxQjtRQUN0QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUVwQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzdELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXO2lCQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUMxQixTQUFTLENBQUMsQ0FBQyxVQUFzQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxDQUFDO1NBQ3hFO0lBQ0gsQ0FBQzs7cUhBekJVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHNHQ1pyQyw4V0FPQTtBREthLHdCQUF3QjtJQU5wQyxZQUFZLEVBQUU7R0FNRix3QkFBd0IsQ0EwQnBDO1NBMUJZLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHNCQUFzQjtxSUFTbkIsWUFBWTtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SVdpZGdldENvbXBvbmVudH0gZnJvbSAnQHl1dXZpcy93aWRnZXQtZ3JpZCc7XG5pbXBvcnQge0luYm94U3RhdGUsIENhcGFiaWxpdGllcywgQ2FwYWJpbGl0aWVzU2VydmljZSwgSW5ib3hTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtJbmZvSW5ib3hDb25maWd9IGZyb20gJy4vaW5mby1pbmJveC5tb2RlbCc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8taW5mby1pbmJveC13aWRnZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5mby1pbmJveC13aWRnZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbmZvLWluYm94LXdpZGdldC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEluZm9JbmJveFdpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIElXaWRnZXRDb21wb25lbnQsIE9uSW5pdCB7XG5cbiAgY2FwYWJpbGl0aWVzOiBDYXBhYmlsaXRpZXM7XG4gIGluYm94U3RhdGU6IEluYm94U3RhdGU7XG4gIHByaXZhdGUgX3dpZGdldENvbmZpZzogSW5mb0luYm94Q29uZmlnO1xuICBASW5wdXQoKSBzZXQgd2lkZ2V0Q29uZmlnKGM6IEluZm9JbmJveENvbmZpZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX3dpZGdldENvbmZpZyA9IGMgO1xuICB9XG4gIGdldCB3aWRnZXRDb25maWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dpZGdldENvbmZpZztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2FwYWJpbGl0eVNlcnZpY2U6IENhcGFiaWxpdGllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmJveFNlcnZpY2U6IEluYm94U2VydmljZSxcbiAgKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhcGFiaWxpdGllcyA9IHRoaXMuY2FwYWJpbGl0eVNlcnZpY2UuZ2V0Q2FwYWJpbGl0aWVzKCk7XG4gICAgaWYgKHRoaXMuY2FwYWJpbGl0aWVzLmluYm94KSB7XG4gICAgICB0aGlzLmluYm94U2VydmljZS5pbmJveFN0YXRlJFxuICAgICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgICAgLnN1YnNjcmliZSgoaW5ib3hTdGF0ZTogSW5ib3hTdGF0ZSkgPT4gdGhpcy5pbmJveFN0YXRlID0gaW5ib3hTdGF0ZSk7XG4gICAgfVxuICB9XG59XG4iLCI8YSBjbGFzcz1cImluZm9cIiBbbmdDbGFzc109XCJ7dmlzaWJsZTogY2FwYWJpbGl0aWVzLmluYm94ICYmIGluYm94U3RhdGUgJiYgaW5ib3hTdGF0ZS50b3RhbG1lc3NhZ2VzID4gMH1cIiBbcm91dGVyTGlua109XCJbJy9pbmJveCddXCI+XG4gICAgPGRpdj5cbiAgICAgICAgPGVvLWljb24gW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfaW5ib3guc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50XCI+e3tpbmJveFN0YXRlLnRvdGFsbWVzc2FnZXN9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtc2dcIj57e3dpZGdldENvbmZpZz8udGl0bGV9fTwvZGl2PlxuPC9hPlxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1pbmJveC13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaW5mby1pbmJveC13aWRnZXQvaW5mby1pbmJveC13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvaW5mby1pbmJveC13aWRnZXQvaW5mby1pbmJveC13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBR3ZELE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7QUFTNUQsSUFBTSx3QkFBd0IsR0FBOUIsTUFBTSx3QkFBd0I7SUFLbkMsSUFBYSxZQUFZLENBQUMsQ0FBOEI7UUFDdEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUU7SUFDMUIsQ0FBQztJQUNELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFDVSxpQkFBc0MsRUFDdEMsWUFBMEI7UUFEMUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFxQjtRQUN0QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUVwQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzdELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXO2lCQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUMxQixTQUFTLENBQUMsQ0FBQyxVQUFzQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxDQUFDO1NBQ3hFO0lBQ0gsQ0FBQzs7cUhBekJVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHNHQ1pyQywrV0FPQTtBREthLHdCQUF3QjtJQU5wQyxZQUFZLEVBQUU7R0FNRix3QkFBd0IsQ0EwQnBDO1NBMUJZLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHNCQUFzQjtxSUFTbkIsWUFBWTtzQkFBeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SVdpZGdldENvbXBvbmVudH0gZnJvbSAnQHl1dXZpcy93aWRnZXQtZ3JpZCc7XG5pbXBvcnQge0luYm94U3RhdGUsIENhcGFiaWxpdGllcywgQ2FwYWJpbGl0aWVzU2VydmljZSwgSW5ib3hTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtJbmZvSW5ib3hDb25maWd9IGZyb20gJy4vaW5mby1pbmJveC5tb2RlbCc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8taW5mby1pbmJveC13aWRnZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5mby1pbmJveC13aWRnZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbmZvLWluYm94LXdpZGdldC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEluZm9JbmJveFdpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIElXaWRnZXRDb21wb25lbnQsIE9uSW5pdCB7XG5cbiAgY2FwYWJpbGl0aWVzOiBDYXBhYmlsaXRpZXM7XG4gIGluYm94U3RhdGU6IEluYm94U3RhdGU7XG4gIHByaXZhdGUgX3dpZGdldENvbmZpZzogSW5mb0luYm94Q29uZmlnO1xuICBASW5wdXQoKSBzZXQgd2lkZ2V0Q29uZmlnKGM6IEluZm9JbmJveENvbmZpZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX3dpZGdldENvbmZpZyA9IGMgO1xuICB9XG4gIGdldCB3aWRnZXRDb25maWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dpZGdldENvbmZpZztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2FwYWJpbGl0eVNlcnZpY2U6IENhcGFiaWxpdGllc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmJveFNlcnZpY2U6IEluYm94U2VydmljZSxcbiAgKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhcGFiaWxpdGllcyA9IHRoaXMuY2FwYWJpbGl0eVNlcnZpY2UuZ2V0Q2FwYWJpbGl0aWVzKCk7XG4gICAgaWYgKHRoaXMuY2FwYWJpbGl0aWVzLmluYm94KSB7XG4gICAgICB0aGlzLmluYm94U2VydmljZS5pbmJveFN0YXRlJFxuICAgICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgICAgLnN1YnNjcmliZSgoaW5ib3hTdGF0ZTogSW5ib3hTdGF0ZSkgPT4gdGhpcy5pbmJveFN0YXRlID0gaW5ib3hTdGF0ZSk7XG4gICAgfVxuICB9XG59XG4iLCI8YSBjbGFzcz1cImluZm9cIiBbbmdDbGFzc109XCJ7dmlzaWJsZTogY2FwYWJpbGl0aWVzLmluYm94ICYmIGluYm94U3RhdGUgJiYgaW5ib3hTdGF0ZS50b3RhbG1lc3NhZ2VzID4gMH1cIiBbcm91dGVyTGlua109XCJbJy9pbmJveCddXCI+XG4gICAgPGRpdj5cbiAgICAgICAgPGVvLWljb24gW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfaW5ib3guc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50XCI+e3tpbmJveFN0YXRlPy50b3RhbG1lc3NhZ2VzfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibXNnXCI+e3t3aWRnZXRDb25maWc/LnRpdGxlfX08L2Rpdj5cbjwvYT5cbiJdfQ==
@@ -149,7 +149,7 @@ export class CodesystemComponent {
149
149
  this.addTreeNode(tree, this.codesystem.entries[i]);
150
150
  }
151
151
  this.tree = tree;
152
- this.autocompleteRes = this.autocompleteValues;
152
+ this.autocompleteRes = this.autocompleteValues.slice(0, 10);
153
153
  }
154
154
  addTreeNode(parentNode, codesystemEntry) {
155
155
  if (this._filterFunc && !this._filterFunc(codesystemEntry)) {
@@ -206,7 +206,7 @@ export class CodesystemComponent {
206
206
  }
207
207
  }
208
208
  return acNode.name.toLowerCase().indexOf(term.toLowerCase()) !== -1;
209
- });
209
+ }).slice(0, 10);
210
210
  }
211
211
  // transform codesystem entry to tree node
212
212
  csEntryToTreeNode(codesystemEntry) {
@@ -309,4 +309,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
309
309
  type: Input,
310
310
  args: ['disablingFilterFunction']
311
311
  }] } });
312
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXN5c3RlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2NvZGVzeXN0ZW0vY29kZXN5c3RlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2NvZGVzeXN0ZW0vY29kZXN5c3RlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBdUIsYUFBYSxFQUFFLGlCQUFpQixFQUFnQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUF1QnJILE1BQU0sT0FBTyxtQkFBbUI7SUFZOUIsSUFBSSxhQUFhLENBQUMsQ0FBTTtRQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFvQkQsSUFDSSxjQUFjLENBQUMsSUFBYztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQ0ksdUJBQXVCLENBQUMsSUFBYztRQUN4QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUE1Q2hELFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDUixVQUFLLEdBQUcsS0FBSyxDQUFD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QUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7WUFDbEQsS0FBSyxFQUFFLElBQUk7U0FDWjtRQUNEO1lBQ0UsT0FBTyxFQUFFLGFBQWE7WUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztZQUNsRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsNE9DdEJILHN3Q0FxQlk7MkZER0MsbUJBQW1CO2tCQWpCL0IsU0FBUzsrQkFDRSxlQUFlLGFBR2Q7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQzs0QkFDbEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7b0dBSTBCLGlCQUFpQjtzQkFBM0MsU0FBUzt1QkFBQyxjQUFjO2dCQUNKLGtCQUFrQjtzQkFBdEMsU0FBUzt1QkFBQyxRQUFRO2dCQXNCVixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBTUYsY0FBYztzQkFEakIsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBT25CLHVCQUF1QjtzQkFEMUIsS0FBSzt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtJQ29kZVN5c3RlbSwgU3lzdGVtU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7QXV0b0NvbXBsZXRlfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlJztcblxuaW1wb3J0IHtUcmVlTm9kZX0gZnJvbSAnLi4vLi4vdHJlZS90cmVlLmNvbXBvbmVudC5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1jb2Rlc3lzdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvZGVzeXN0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb2Rlc3lzdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ29kZXN5c3RlbUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENvZGVzeXN0ZW1Db21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ29kZXN5c3RlbUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciB7XG4gIEBWaWV3Q2hpbGQoJ2F1dG9jb21wbGV0ZScpIGF1dG9Db21wbGV0ZUlucHV0OiBBdXRvQ29tcGxldGU7XG4gIEBWaWV3Q2hpbGQoJ2J1dHRvbicpIGF1dG9Db21wbGV0ZUJ1dHRvbjtcblxuICBkaXNwbGF5ID0gZmFsc2U7XG4gIHByaXZhdGUgZGlydHkgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc1ZhbGlkID0gdHJ1ZTtcbiAgdmFsdWU7XG4gIC8vY29kZXN5c3RlbUVsZW1lbnQ7XG4gIHRyZWU6IFRyZWVOb2RlW107XG4gIHByaXZhdGUgX3NlbGVjdGVkTm9kZXM6IGFueTtcbiAgc2V0IHNlbGVjdGVkTm9kZXMobjogYW55KSB7XG4gICAgdGhpcy5fc2VsZWN0ZWROb2RlcyA9IHN0cnVjdHVyZWRDbG9uZShuKTtcbiAgfVxuICBnZXQgc2VsZWN0ZWROb2RlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWROb2RlcztcbiAgfVxuXG4gIGF1dG9jb21wbGV0ZVJlcztcbiAgYXV0b2NvbXBsZXRlVmFsdWVzOiBUcmVlTm9kZVtdID0gW107XG5cbiAgLyoqIGZpbHRlciBmdW5jdGlvbiB0aGF0IGNhbiBiZSBzZXQgYnkgZm9ybSBzY3JpcHQgZGV2ZWxvcGVycy4gV2hlbiBzZXQgdGhpcyBmdW5jdGlvbiB3aWxsIGJlIHByaXZhdGUgZmlsdGVyRnVuY3Rpb246IEZ1bmN0aW9uOyAqL1xuXG4gIC8qKiBjdXJyZW50IGZvcm0gc2l0dWF0aW9uICovXG4gIEBJbnB1dCgpIHNpdHVhdGlvbjogc3RyaW5nO1xuICBASW5wdXQoKSBwaWNrZXJUaXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKSBjb2Rlc3lzdGVtOiBJQ29kZVN5c3RlbTtcbiAgQElucHV0KCkgbXVsdGlzZWxlY3Q6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xuICBASW5wdXQoKSBpbnB1dFN0eWxlQ2xhc3MgPSAnJztcbiAgQElucHV0KCkgZW1wdHlNZXNzYWdlID0gJ2VvLmVycm9yLnN0cnVjdHVyZS50cmVlLm5vdC5hdmFpbGFibGUnO1xuXG4gIHByaXZhdGUgX2ZpbHRlckZ1bmM6IEZ1bmN0aW9uO1xuICBwcml2YXRlIF9kaXNhYmxpbmdGaWx0ZXJGdW5jOiBGdW5jdGlvbjtcblxuICBASW5wdXQoJ2ZpbHRlckZ1bmN0aW9uJylcbiAgc2V0IGZpbHRlckZ1bmN0aW9uKGZ1bmM6IEZ1bmN0aW9uKSB7XG4gICAgdGhpcy5fZmlsdGVyRnVuYyA9IGZ1bmM7XG4gICAgdGhpcy5idWlsZFRyZWUoKTtcbiAgfVxuXG4gIEBJbnB1dCgnZGlzYWJsaW5nRmlsdGVyRnVuY3Rpb24nKVxuICBzZXQgZGlzYWJsaW5nRmlsdGVyRnVuY3Rpb24oZnVuYzogRnVuY3Rpb24pIHtcbiAgICB0aGlzLl9kaXNhYmxpbmdGaWx0ZXJGdW5jID0gZnVuYztcbiAgICB0aGlzLmJ1aWxkVHJlZSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlKSB7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2dldENvZGVzeXN0ZW1CeVFuYW1lKHFuYW1lOiBzdHJpbmcpOiBJQ29kZVN5c3RlbSB7XG4gICAgY29uc3QgY3M6IFBhcnRpYWw8SUNvZGVTeXN0ZW0+ID0ge307XG4gICAgY29uc3Qgb2JqZWN0VHlwZSA9IHRoaXMuc3lzdGVtU2VydmljZS5nZXRPYmplY3RUeXBlKHFuYW1lLnNwbGl0KCcuJylbMF0pO1xuICAgIGlmIChvYmplY3RUeXBlICYmIG9iamVjdFR5cGUuZWxlbWVudHMpIHtcbiAgICAgIGNvbnN0IGVsID0gb2JqZWN0VHlwZS5lbGVtZW50cy5maW5kKGUgPT4gZS5xbmFtZSA9PT0gcW5hbWUpIHx8IHt9O1xuICAgICAgT2JqZWN0LmFzc2lnbihjcywgZWwuY29kZXN5c3RlbSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvZGVzeXN0ZW0pIHtcbiAgICAgIGNzLmVudHJpZXMgPSB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0Q29kZXN5c3RlbSh0aGlzLmNvZGVzeXN0ZW0uaWQpLmVudHJpZXM7XG4gICAgfVxuICAgIHJldHVybiAoY3MgYXMgSUNvZGVTeXN0ZW0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLyoqIGxvYWQgY29kZXN5c3RlbSBlbnRyaWVzIGlmIHRoZXkgYXJlbid0IGF0dGFjaGVkICovXG4gICAgaWYgKHRoaXMuY29kZXN5c3RlbSAmJiAhdGhpcy5jb2Rlc3lzdGVtLmVudHJpZXMpIHtcbiAgICAgIHRoaXMuY29kZXN5c3RlbS5lbnRyaWVzID0gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldENvZGVzeXN0ZW0odGhpcy5jb2Rlc3lzdGVtLmlkKS5lbnRyaWVzO1xuICAgIH1cbiAgICAvLyBpbiBzZWFyY2ggc2l0dWF0aW9uIGNvZGVzeXN0ZW1zIGFyZSBhbHdheXMgbXVsdGlzZWxlY3RhYmxlXG4gICAgaWYgKHRoaXMuc2l0dWF0aW9uID09PSAnU0VBUkNIJykge1xuICAgICAgdGhpcy5tdWx0aXNlbGVjdCA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMuYnVpbGRUcmVlKCk7XG4gIH1cblxuICBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7XG4gIH07XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZSB8fCBudWxsO1xuICAgIGNvbnN0IHZhbHVlcyA9ICF0aGlzLnZhbHVlIHx8IEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkgPyB0aGlzLnZhbHVlIHx8IFtdIDogW3RoaXMudmFsdWVdO1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBbXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IG5vZGVzID0gIXRoaXMuc2VsZWN0ZWROb2RlcyB8fCBBcnJheS5pc0FycmF5KHRoaXMuc2VsZWN0ZWROb2RlcykgPyB0aGlzLnNlbGVjdGVkTm9kZXMgfHwgW10gOiBbdGhpcy5zZWxlY3RlZE5vZGVzXTtcblxuICAgIGlmICh0aGlzLmNvZGVzeXN0ZW0gJiYgKG5vZGVzLmxlbmd0aCAhPT0gdmFsdWVzLmxlbmd0aCB8fCBub2Rlcy5zb21lKChuLCBpKSA9PiBuLmRhdGEuZGF0YSAhPT0gdmFsdWVzW2ldKSkpIHtcbiAgICAgIHRoaXMuYnVpbGRUcmVlKCk7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgfVxuXG4gIC8vIGhhbmRsZXIgaW52b2tlZCB3aGVuIGFuIGVudHJ5IHdhcyBzZWxlY3RlZCB1c2luZyB0aGUgYXV0b2NvbXBsZXRlIGlucHV0XG4gIG9uQXV0b0NvbXBsZXRlU2VsZWN0KG5vZGU/KSB7XG4gICAgY29uc3Qgd2FzSW52YWxpZCA9ICF0aGlzLmlzVmFsaWQ7XG4gICAgdGhpcy5pc1ZhbGlkID0gdHJ1ZTtcbiAgICAvL3RoaXMudXBkYXRlVHJlZSgpO1xuICAgIHRoaXMuc2V0Rm9ybUNvbnRyb2xWYWx1ZSh3YXNJbnZhbGlkKTtcbiAgfVxuXG4gIG9uQXV0b2NvbXBsZXRlVmFsdWVDaGFuZ2UodjogYW55KSB7XG4gICAgaWYgKHYgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gbnVsbFxuICAgICAgdGhpcy5zZXRGb3JtQ29udHJvbFZhbHVlKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gaGFuZGxlciBpbnZva2VkIHdoZW4gYW4gZW50cnkgd2FzIGRlc2VsZWN0ZWQgdXNpbmcgdGhlIGF1dG9jb21wbGV0ZSBpbnB1dFxuICBvbkF1dG9Db21wbGV0ZVVuc2VsZWN0KG5vZGU/KSB7XG4gICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gdGhpcy5zZWxlY3RlZE5vZGVzLmZpbHRlcihcbiAgICAgIHNOb2RlID0+IHNOb2RlLmlkICE9PSBub2RlLmlkXG4gICAgKTtcbiAgICAvL3RoaXMudXBkYXRlVHJlZSgpO1xuICAgIHRoaXMuc2V0Rm9ybUNvbnRyb2xWYWx1ZSgpO1xuICB9XG5cbiAgLy8gdHJpZ2dlcmVkIHdoZW4gdGhlIHNlbGVjdGlvbiB3YXMgY2hhbmdlZCBieVxuICBvblRyZWVTZWxlY3Rpb25DaGFuZ2VkKGV2dCkge1xuICAgIGlmICghdGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgLy8gaGlkZSB0aGUgZGlhbG9nXG4gICAgICB0aGlzLnNldERpYWxvZ1Zpc2libGUoZmFsc2UpO1xuICAgIH1cbiAgICBjb25zdCB3YXNJbnZhbGlkID0gIXRoaXMuaXNWYWxpZDtcbiAgICB0aGlzLmlzVmFsaWQgPSB0cnVlO1xuICAgIHRoaXMuc2V0Rm9ybUNvbnRyb2xWYWx1ZSh3YXNJbnZhbGlkKTtcbiAgfVxuXG4gIG9uQ2xlYXIoKSB7XG4gICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLnNldEZvcm1Db250cm9sVmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGFuZCBwcm9wYWdhdGVzIHRoZSBmb3JtIGNvbnRyb2xzIHZhbHVlIGJhc2VkIG9uIHRoZSBjb21wb25lbnRzIGlubmVyIHZhbHVlcy4gUHJvcGFnYXRlcyBvbmx5XG4gICAqIHdoZW4gdGhlIHZhbHVlIGhhcyBjaGFuZ2VkLlxuICAgKiBAcGFyYW0gZm9yY2VQcm9wYWdhdGlvbiAtIGZvcmNlcyBwcm9wYWdhdGlvbiBldmVuIGlmIHRoZSB2YWx1ZSBoYXNuJ3QgYmVlbiBjaGFuZ2VkXG4gICAqL1xuICBwcml2YXRlIHNldEZvcm1Db250cm9sVmFsdWUoZm9yY2VQcm9wYWdhdGlvbj86IGJvb2xlYW4pIHtcbiAgICBsZXQgdjtcbiAgICBsZXQgY2hhbmdlZDogYm9vbGVhbjtcbiAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xuICAgICAgdiA9IHRoaXMuc2VsZWN0ZWROb2Rlcy5tYXAobm9kZSA9PiBub2RlLmRhdGEuZGF0YSk7XG4gICAgICBjaGFuZ2VkID1cbiAgICAgICAgIXRoaXMudmFsdWUgfHxcbiAgICAgICAgIShcbiAgICAgICAgICB2Lmxlbmd0aCA9PT0gdGhpcy52YWx1ZS5sZW5ndGggJiZcbiAgICAgICAgICB2LmV2ZXJ5KHZhbCA9PiB0aGlzLnZhbHVlLnNvbWUoY3VyVmFsID0+IGN1clZhbCA9PT0gdmFsKSlcbiAgICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdiA9IHRoaXMuc2VsZWN0ZWROb2RlcyA/IHRoaXMuc2VsZWN0ZWROb2Rlcy5kYXRhLmRhdGEgOiBudWxsO1xuICAgICAgY2hhbmdlZCA9IHYgIT09IHRoaXMudmFsdWU7XG4gICAgfVxuICAgIC8vIG9ubHkgcHJvcGFnYXRlIHRoZSBjaGFuZ2UgaWYgdGhlIHZhbHVlIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBjdXJyZW50IG9uZVxuICAgIC8vIG90aGVyd2lzZSB3ZSB3b3VsZCBhbHdheXMgc2V0IHRoZSBkaXJ0eSBmbGFnIGFsdGhvdWdoIG5vdGhpbmcgY2hhbmdlZFxuICAgIGlmIChjaGFuZ2VkIHx8IGZvcmNlUHJvcGFnYXRpb24pIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2O1xuICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gYnVpbGQgdGhlIHRyZWUgZm9yIHRoZSBkaWFsb2dcbiAgcHJpdmF0ZSBidWlsZFRyZWUoKSB7XG5cbiAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSB0aGlzLm11bHRpc2VsZWN0ID8gW10gOiBudWxsO1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlVmFsdWVzID0gW107XG4gICAgbGV0IHRyZWU6IFRyZWVOb2RlW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY29kZXN5c3RlbS5lbnRyaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLmFkZFRyZWVOb2RlKHRyZWUsIHRoaXMuY29kZXN5c3RlbS5lbnRyaWVzW2ldKTtcbiAgICB9XG4gICAgdGhpcy50cmVlID0gdHJlZTtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZVJlcyA9IHRoaXMuYXV0b2NvbXBsZXRlVmFsdWVzO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRUcmVlTm9kZShwYXJlbnROb2RlOiBUcmVlTm9kZVtdLCBjb2Rlc3lzdGVtRW50cnkpIHtcbiAgICBpZiAodGhpcy5fZmlsdGVyRnVuYyAmJiAhdGhpcy5fZmlsdGVyRnVuYyhjb2Rlc3lzdGVtRW50cnkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBub2RlOiBUcmVlTm9kZSA9IHRoaXMuY3NFbnRyeVRvVHJlZU5vZGUoY29kZXN5c3RlbUVudHJ5KTtcbiAgICBpZiAobm9kZS5zZWxlY3RhYmxlKSB7XG4gICAgICAvKiogYWRkIHNlbGVjdGFibGUgbm9kZXMgdG8gYXV0b2NvbXBsZXRlIHZhbHVlcyAqL1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVWYWx1ZXMucHVzaChub2RlKTtcbiAgICB9XG4gICAgaWYgKGNvZGVzeXN0ZW1FbnRyeS5zdWJlbnRyaWVzKSB7XG4gICAgICBub2RlLmNoaWxkcmVuID0gW107XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29kZXN5c3RlbUVudHJ5LnN1YmVudHJpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy5hZGRUcmVlTm9kZShub2RlLmNoaWxkcmVuLCBjb2Rlc3lzdGVtRW50cnkuc3ViZW50cmllc1tpXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2hlY2tTZWxlY3RlZChub2RlKTtcbiAgICBwYXJlbnROb2RlLnB1c2gobm9kZSk7XG4gIH1cblxuICAvLyBzb21lIG5vZGVzIGFyZSBvbmx5IHZpc2libGUgaW4gc29tZSBjYXNlcy5cbiAgcHJpdmF0ZSBpc0hpZGRlbihjb2Rlc3lzdGVtRW50cnkpIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMuc2l0dWF0aW9uID09PSAnQ1JFQVRFJyAmJiAhY29kZXN5c3RlbUVudHJ5LmFsbG93ZWRvbm5ldykgfHxcbiAgICAgICh0aGlzLnNpdHVhdGlvbiA9PT0gJ0VESVQnICYmICFjb2Rlc3lzdGVtRW50cnkuYWxsb3dlZG9udXBkYXRlKSB8fFxuICAgICAgKHRoaXMuX2Rpc2FibGluZ0ZpbHRlckZ1bmMgJiYgdGhpcy5fZGlzYWJsaW5nRmlsdGVyRnVuYyhjb2Rlc3lzdGVtRW50cnkpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrU2VsZWN0ZWQobm9kZTogVHJlZU5vZGUpIHtcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy52YWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAobm9kZS5kYXRhLmRhdGEgPT09IHRoaXMudmFsdWVbaV0pIHtcbiAgICAgICAgICBub2RlLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMucHVzaChub2RlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobm9kZS5kYXRhLmRhdGEgPT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgbm9kZS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IG5vZGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXV0b2NvbXBsZXRlRm4odGVybTogc3RyaW5nKSB7XG4gICAgdGhpcy5hdXRvY29tcGxldGVSZXMgPSB0aGlzLmF1dG9jb21wbGV0ZVZhbHVlcy5maWx0ZXIoYWNOb2RlID0+IHtcbiAgICAgIGlmICh0aGlzLl9maWx0ZXJGdW5jICYmICF0aGlzLl9maWx0ZXJGdW5jKGFjTm9kZS5kYXRhKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICAvLyBza2lwIG5vZGVzIHRoYXQgYXJlIGFscmVhZHkgc2VsZWN0ZWRcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMuZmluZChub2RlID0+IGFjTm9kZS5kYXRhLmRhdGEgPT09IG5vZGUuZGF0YS5kYXRhKVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBhY05vZGUubmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGVybS50b0xvd2VyQ2FzZSgpKSAhPT0gLTE7XG4gICAgfSk7XG4gIH1cblxuICAvLyB0cmFuc2Zvcm0gY29kZXN5c3RlbSBlbnRyeSB0byB0cmVlIG5vZGVcbiAgcHJpdmF0ZSBjc0VudHJ5VG9UcmVlTm9kZShjb2Rlc3lzdGVtRW50cnkpOiBUcmVlTm9kZSB7XG4gICAgLy8gZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IHRoZSB0cmVlIG5vZGUgc2hvdWxkIGJlIHNlbGVjdGFibGVcbiAgICBsZXQgc2VsZWN0YWJsZSA9IGZhbHNlO1xuICAgIGlmICh0aGlzLmNvZGVzeXN0ZW0uYWxsZWxlbWVudHNzZWxlY3RhYmxlKSB7XG4gICAgICAvLyBjYXNlOiBhbGwgZWxlbWVudHMgYXJlIHNlbGVjdGFibGUuIFRoaXMgbWVhbnMgdGhhdCBub3Qgb25seSBsZWFmIG5vZGVzXG4gICAgICAvLyBhcmUgc2VsZWN0YWJsZSBidXQgYWxzbyB0aGVpciBwYXJlbnQgbm9kZXNcbiAgICAgIHNlbGVjdGFibGUgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBjYXNlOiBvbmx5IGxlYWYgbm9kZXMgYXJlIHNlbGVjdGFibGVcbiAgICAgIHNlbGVjdGFibGUgPSAhKFxuICAgICAgICBjb2Rlc3lzdGVtRW50cnkuc3ViZW50cmllcyAmJiBjb2Rlc3lzdGVtRW50cnkuc3ViZW50cmllcy5sZW5ndGggPiAwXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IGNvZGVzeXN0ZW1FbnRyeS5pZCxcbiAgICAgIG5hbWU6IGNvZGVzeXN0ZW1FbnRyeS5kZWZhdWx0cmVwcmVzZW50YXRpb24sXG4gICAgICBjaGlsZHJlbjogW10sXG4gICAgICBleHBhbmRlZDogZmFsc2UsXG4gICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICBzZWxlY3RhYmxlOiBzZWxlY3RhYmxlICYmICF0aGlzLmlzSGlkZGVuKGNvZGVzeXN0ZW1FbnRyeSksXG4gICAgICBkYXRhOiBjb2Rlc3lzdGVtRW50cnlcbiAgICB9O1xuICB9XG5cbiAgc2V0RGlhbG9nVmlzaWJsZSh2aXNpYmxlOiBib29sZWFuLCBldmVudD86IEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAvL2lnbm9yZSBzeW50aGV0aXplZCBldmVudHMgb24gZW50ZXJcbiAgICAgIGlmIChldmVudC50eXBlID09PSAnY2xpY2snICYmIChldmVudCBhcyBQb2ludGVyRXZlbnQpLmRldGFpbCA9PT0gMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuZGlzcGxheSA9IHZpc2libGU7XG4gIH1cblxuICAvLyByZXR1cm5zIG51bGwgd2hlbiB2YWxpZCBlbHNlIHRoZSB2YWxpZGF0aW9uIG9iamVjdFxuICBwdWJsaWMgdmFsaWRhdGUoYzogVW50eXBlZEZvcm1Db250cm9sKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZFxuICAgICAgPyBudWxsXG4gICAgICA6IHtcbiAgICAgICAgY29kZXN5c3RlbToge1xuICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZW8tY29kZXN5c3RlbVwiICpuZ0lmPVwiY29kZXN5c3RlbVwiXG4gIFtuZ0NsYXNzXT1cIntmdWxsOiBzZWxlY3RlZE5vZGVzICYmIHNlbGVjdGVkTm9kZXMubGVuZ3RoID09PSBhdXRvY29tcGxldGVWYWx1ZXMubGVuZ3RoLCByZWFkb25seTogcmVhZG9ubHl9XCI+XG5cbiAgPHl2Yy1hdXRvY29tcGxldGUgI2F1dG9jb21wbGV0ZSAoc3VnZ2VzdGlvblNlbGVjdCk9XCJvbkF1dG9Db21wbGV0ZVNlbGVjdCgkZXZlbnQpXCJcbiAgICAoc3VnZ2VzdGlvblVuc2VsZWN0KT1cIm9uQXV0b0NvbXBsZXRlVW5zZWxlY3QoJGV2ZW50KVwiIFthdXRvY29tcGxldGVWYWx1ZXNdPVwiYXV0b2NvbXBsZXRlUmVzXCIgZmllbGQ9XCJuYW1lXCJcbiAgICBbZGlzYWJsZWRdPVwicmVhZG9ubHlcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbZm9yY2VTZWxlY3Rpb25dPVwidHJ1ZVwiIChhdXRvY29tcGxldGVGbmMpPVwiYXV0b2NvbXBsZXRlRm4oJGV2ZW50KVwiXG4gICAgW211bHRpcGxlXT1cIm11bHRpc2VsZWN0XCIgKG5nTW9kZWxDaGFuZ2UpPVwib25BdXRvY29tcGxldGVWYWx1ZUNoYW5nZSgkZXZlbnQpXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZE5vZGVzXCI+XG4gIDwveXZjLWF1dG9jb21wbGV0ZT5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2J1dHRvbiAqbmdJZj1cIiFyZWFkb25seVwiXG4gIChjbGljayk9XCJzZXREaWFsb2dWaXNpYmxlKHRydWUsICRldmVudClcIiBcbiAgKGtleWRvd24uZW50ZXIpPVwic2V0RGlhbG9nVmlzaWJsZSh0cnVlLCAkZXZlbnQpXCIgXG4gID5cbiAgICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19hcnJvd19kb3duLnN2ZydcIj48L2VvLWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxlby1kaWFsb2cgW3RpdGxlXT1cInBpY2tlclRpdGxlIHx8ICcnXCIgW3Zpc2libGVdPVwiZGlzcGxheVwiIChoaWRlKT1cImRpc3BsYXkgPSBmYWxzZVwiPlxuICA8ZW8tdHJlZSBbdHJlZV09XCJ0cmVlXCIgW2lzRGlzcGxheWVkXT1cImRpc3BsYXlcIiAqbmdJZj1cImRpc3BsYXlcIiBbb3B0aW9uc109XCJ7bXVsdGlzZWxlY3Q6IG11bHRpc2VsZWN0fVwiXG4gICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZE5vZGVzXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25UcmVlU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICBbZW1wdHlNZXNzYWdlXT1cImVtcHR5TWVzc2FnZVwiPlxuICA8L2VvLXRyZWU+XG48L2VvLWRpYWxvZz4iXX0=
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXN5c3RlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2NvZGVzeXN0ZW0vY29kZXN5c3RlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2NvZGVzeXN0ZW0vY29kZXN5c3RlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBdUIsYUFBYSxFQUFFLGlCQUFpQixFQUFnQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUF1QnJILE1BQU0sT0FBTyxtQkFBbUI7SUFZOUIsSUFBSSxhQUFhLENBQUMsQ0FBTTtRQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFvQkQsSUFDSSxjQUFjLENBQUMsSUFBYztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQ0ksdUJBQXVCLENBQUMsSUFBYztRQUN4QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUE1Q2hELFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDUixVQUFLLEdBQUcsS0FBSyxDQUFD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bnB1dCwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9yfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0lDb2RlU3lzdGVtLCBTeXN0ZW1TZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtBdXRvQ29tcGxldGV9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9hdXRvY29tcGxldGUnO1xuXG5pbXBvcnQge1RyZWVOb2RlfSBmcm9tICcuLi8uLi90cmVlL3RyZWUuY29tcG9uZW50LmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWNvZGVzeXN0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29kZXN5c3RlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZGVzeXN0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDb2Rlc3lzdGVtQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ29kZXN5c3RlbUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDb2Rlc3lzdGVtQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIHtcbiAgQFZpZXdDaGlsZCgnYXV0b2NvbXBsZXRlJykgYXV0b0NvbXBsZXRlSW5wdXQ6IEF1dG9Db21wbGV0ZTtcbiAgQFZpZXdDaGlsZCgnYnV0dG9uJykgYXV0b0NvbXBsZXRlQnV0dG9uO1xuXG4gIGRpc3BsYXkgPSBmYWxzZTtcbiAgcHJpdmF0ZSBkaXJ0eSA9IGZhbHNlO1xuICBwcml2YXRlIGlzVmFsaWQgPSB0cnVlO1xuICB2YWx1ZTtcbiAgLy9jb2Rlc3lzdGVtRWxlbWVudDtcbiAgdHJlZTogVHJlZU5vZGVbXTtcbiAgcHJpdmF0ZSBfc2VsZWN0ZWROb2RlczogYW55O1xuICBzZXQgc2VsZWN0ZWROb2RlcyhuOiBhbnkpIHtcbiAgICB0aGlzLl9zZWxlY3RlZE5vZGVzID0gc3RydWN0dXJlZENsb25lKG4pO1xuICB9XG4gIGdldCBzZWxlY3RlZE5vZGVzKCkge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZE5vZGVzO1xuICB9XG5cbiAgYXV0b2NvbXBsZXRlUmVzO1xuICBhdXRvY29tcGxldGVWYWx1ZXM6IFRyZWVOb2RlW10gPSBbXTtcblxuICAvKiogZmlsdGVyIGZ1bmN0aW9uIHRoYXQgY2FuIGJlIHNldCBieSBmb3JtIHNjcmlwdCBkZXZlbG9wZXJzLiBXaGVuIHNldCB0aGlzIGZ1bmN0aW9uIHdpbGwgYmUgcHJpdmF0ZSBmaWx0ZXJGdW5jdGlvbjogRnVuY3Rpb247ICovXG5cbiAgLyoqIGN1cnJlbnQgZm9ybSBzaXR1YXRpb24gKi9cbiAgQElucHV0KCkgc2l0dWF0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBpY2tlclRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvZGVzeXN0ZW06IElDb2RlU3lzdGVtO1xuICBASW5wdXQoKSBtdWx0aXNlbGVjdDogYm9vbGVhbjtcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGlucHV0U3R5bGVDbGFzcyA9ICcnO1xuICBASW5wdXQoKSBlbXB0eU1lc3NhZ2UgPSAnZW8uZXJyb3Iuc3RydWN0dXJlLnRyZWUubm90LmF2YWlsYWJsZSc7XG5cbiAgcHJpdmF0ZSBfZmlsdGVyRnVuYzogRnVuY3Rpb247XG4gIHByaXZhdGUgX2Rpc2FibGluZ0ZpbHRlckZ1bmM6IEZ1bmN0aW9uO1xuXG4gIEBJbnB1dCgnZmlsdGVyRnVuY3Rpb24nKVxuICBzZXQgZmlsdGVyRnVuY3Rpb24oZnVuYzogRnVuY3Rpb24pIHtcbiAgICB0aGlzLl9maWx0ZXJGdW5jID0gZnVuYztcbiAgICB0aGlzLmJ1aWxkVHJlZSgpO1xuICB9XG5cbiAgQElucHV0KCdkaXNhYmxpbmdGaWx0ZXJGdW5jdGlvbicpXG4gIHNldCBkaXNhYmxpbmdGaWx0ZXJGdW5jdGlvbihmdW5jOiBGdW5jdGlvbikge1xuICAgIHRoaXMuX2Rpc2FibGluZ0ZpbHRlckZ1bmMgPSBmdW5jO1xuICAgIHRoaXMuYnVpbGRUcmVlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN5c3RlbVNlcnZpY2U6IFN5c3RlbVNlcnZpY2UpIHtcbiAgfVxuXG4gIHByb3RlY3RlZCBfZ2V0Q29kZXN5c3RlbUJ5UW5hbWUocW5hbWU6IHN0cmluZyk6IElDb2RlU3lzdGVtIHtcbiAgICBjb25zdCBjczogUGFydGlhbDxJQ29kZVN5c3RlbT4gPSB7fTtcbiAgICBjb25zdCBvYmplY3RUeXBlID0gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldE9iamVjdFR5cGUocW5hbWUuc3BsaXQoJy4nKVswXSk7XG4gICAgaWYgKG9iamVjdFR5cGUgJiYgb2JqZWN0VHlwZS5lbGVtZW50cykge1xuICAgICAgY29uc3QgZWwgPSBvYmplY3RUeXBlLmVsZW1lbnRzLmZpbmQoZSA9PiBlLnFuYW1lID09PSBxbmFtZSkgfHwge307XG4gICAgICBPYmplY3QuYXNzaWduKGNzLCBlbC5jb2Rlc3lzdGVtKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29kZXN5c3RlbSkge1xuICAgICAgY3MuZW50cmllcyA9IHRoaXMuc3lzdGVtU2VydmljZS5nZXRDb2Rlc3lzdGVtKHRoaXMuY29kZXN5c3RlbS5pZCkuZW50cmllcztcbiAgICB9XG4gICAgcmV0dXJuIChjcyBhcyBJQ29kZVN5c3RlbSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvKiogbG9hZCBjb2Rlc3lzdGVtIGVudHJpZXMgaWYgdGhleSBhcmVuJ3QgYXR0YWNoZWQgKi9cbiAgICBpZiAodGhpcy5jb2Rlc3lzdGVtICYmICF0aGlzLmNvZGVzeXN0ZW0uZW50cmllcykge1xuICAgICAgdGhpcy5jb2Rlc3lzdGVtLmVudHJpZXMgPSB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0Q29kZXN5c3RlbSh0aGlzLmNvZGVzeXN0ZW0uaWQpLmVudHJpZXM7XG4gICAgfVxuICAgIC8vIGluIHNlYXJjaCBzaXR1YXRpb24gY29kZXN5c3RlbXMgYXJlIGFsd2F5cyBtdWx0aXNlbGVjdGFibGVcbiAgICBpZiAodGhpcy5zaXR1YXRpb24gPT09ICdTRUFSQ0gnKSB7XG4gICAgICB0aGlzLm11bHRpc2VsZWN0ID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5idWlsZFRyZWUoKTtcbiAgfVxuXG4gIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHtcbiAgfTtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlIHx8IG51bGw7XG4gICAgY29uc3QgdmFsdWVzID0gIXRoaXMudmFsdWUgfHwgQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSA/IHRoaXMudmFsdWUgfHwgW10gOiBbdGhpcy52YWx1ZV07XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IFtdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qgbm9kZXMgPSAhdGhpcy5zZWxlY3RlZE5vZGVzIHx8IEFycmF5LmlzQXJyYXkodGhpcy5zZWxlY3RlZE5vZGVzKSA/IHRoaXMuc2VsZWN0ZWROb2RlcyB8fCBbXSA6IFt0aGlzLnNlbGVjdGVkTm9kZXNdO1xuXG4gICAgaWYgKHRoaXMuY29kZXN5c3RlbSAmJiAobm9kZXMubGVuZ3RoICE9PSB2YWx1ZXMubGVuZ3RoIHx8IG5vZGVzLnNvbWUoKG4sIGkpID0+IG4uZGF0YS5kYXRhICE9PSB2YWx1ZXNbaV0pKSkge1xuICAgICAgdGhpcy5idWlsZFRyZWUoKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICB9XG5cbiAgLy8gaGFuZGxlciBpbnZva2VkIHdoZW4gYW4gZW50cnkgd2FzIHNlbGVjdGVkIHVzaW5nIHRoZSBhdXRvY29tcGxldGUgaW5wdXRcbiAgb25BdXRvQ29tcGxldGVTZWxlY3Qobm9kZT8pIHtcbiAgICBjb25zdCB3YXNJbnZhbGlkID0gIXRoaXMuaXNWYWxpZDtcbiAgICB0aGlzLmlzVmFsaWQgPSB0cnVlO1xuICAgIC8vdGhpcy51cGRhdGVUcmVlKCk7XG4gICAgdGhpcy5zZXRGb3JtQ29udHJvbFZhbHVlKHdhc0ludmFsaWQpO1xuICB9XG5cbiAgb25BdXRvY29tcGxldGVWYWx1ZUNoYW5nZSh2OiBhbnkpIHtcbiAgICBpZiAodiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBudWxsXG4gICAgICB0aGlzLnNldEZvcm1Db250cm9sVmFsdWUoKTtcbiAgICB9XG4gIH1cblxuICAvLyBoYW5kbGVyIGludm9rZWQgd2hlbiBhbiBlbnRyeSB3YXMgZGVzZWxlY3RlZCB1c2luZyB0aGUgYXV0b2NvbXBsZXRlIGlucHV0XG4gIG9uQXV0b0NvbXBsZXRlVW5zZWxlY3Qobm9kZT8pIHtcbiAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSB0aGlzLnNlbGVjdGVkTm9kZXMuZmlsdGVyKFxuICAgICAgc05vZGUgPT4gc05vZGUuaWQgIT09IG5vZGUuaWRcbiAgICApO1xuICAgIC8vdGhpcy51cGRhdGVUcmVlKCk7XG4gICAgdGhpcy5zZXRGb3JtQ29udHJvbFZhbHVlKCk7XG4gIH1cblxuICAvLyB0cmlnZ2VyZWQgd2hlbiB0aGUgc2VsZWN0aW9uIHdhcyBjaGFuZ2VkIGJ5XG4gIG9uVHJlZVNlbGVjdGlvbkNoYW5nZWQoZXZ0KSB7XG4gICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICAvLyBoaWRlIHRoZSBkaWFsb2dcbiAgICAgIHRoaXMuc2V0RGlhbG9nVmlzaWJsZShmYWxzZSk7XG4gICAgfVxuICAgIGNvbnN0IHdhc0ludmFsaWQgPSAhdGhpcy5pc1ZhbGlkO1xuICAgIHRoaXMuaXNWYWxpZCA9IHRydWU7XG4gICAgdGhpcy5zZXRGb3JtQ29udHJvbFZhbHVlKHdhc0ludmFsaWQpO1xuICB9XG5cbiAgb25DbGVhcigpIHtcbiAgICBpZiAoIXRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IG51bGw7XG4gICAgfVxuICAgIHRoaXMuc2V0Rm9ybUNvbnRyb2xWYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgYW5kIHByb3BhZ2F0ZXMgdGhlIGZvcm0gY29udHJvbHMgdmFsdWUgYmFzZWQgb24gdGhlIGNvbXBvbmVudHMgaW5uZXIgdmFsdWVzLiBQcm9wYWdhdGVzIG9ubHlcbiAgICogd2hlbiB0aGUgdmFsdWUgaGFzIGNoYW5nZWQuXG4gICAqIEBwYXJhbSBmb3JjZVByb3BhZ2F0aW9uIC0gZm9yY2VzIHByb3BhZ2F0aW9uIGV2ZW4gaWYgdGhlIHZhbHVlIGhhc24ndCBiZWVuIGNoYW5nZWRcbiAgICovXG4gIHByaXZhdGUgc2V0Rm9ybUNvbnRyb2xWYWx1ZShmb3JjZVByb3BhZ2F0aW9uPzogYm9vbGVhbikge1xuICAgIGxldCB2O1xuICAgIGxldCBjaGFuZ2VkOiBib29sZWFuO1xuICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICB2ID0gdGhpcy5zZWxlY3RlZE5vZGVzLm1hcChub2RlID0+IG5vZGUuZGF0YS5kYXRhKTtcbiAgICAgIGNoYW5nZWQgPVxuICAgICAgICAhdGhpcy52YWx1ZSB8fFxuICAgICAgICAhKFxuICAgICAgICAgIHYubGVuZ3RoID09PSB0aGlzLnZhbHVlLmxlbmd0aCAmJlxuICAgICAgICAgIHYuZXZlcnkodmFsID0+IHRoaXMudmFsdWUuc29tZShjdXJWYWwgPT4gY3VyVmFsID09PSB2YWwpKVxuICAgICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB2ID0gdGhpcy5zZWxlY3RlZE5vZGVzID8gdGhpcy5zZWxlY3RlZE5vZGVzLmRhdGEuZGF0YSA6IG51bGw7XG4gICAgICBjaGFuZ2VkID0gdiAhPT0gdGhpcy52YWx1ZTtcbiAgICB9XG4gICAgLy8gb25seSBwcm9wYWdhdGUgdGhlIGNoYW5nZSBpZiB0aGUgdmFsdWUgaXMgZGlmZmVyZW50IGZyb20gdGhlIGN1cnJlbnQgb25lXG4gICAgLy8gb3RoZXJ3aXNlIHdlIHdvdWxkIGFsd2F5cyBzZXQgdGhlIGRpcnR5IGZsYWcgYWx0aG91Z2ggbm90aGluZyBjaGFuZ2VkXG4gICAgaWYgKGNoYW5nZWQgfHwgZm9yY2VQcm9wYWdhdGlvbikge1xuICAgICAgdGhpcy52YWx1ZSA9IHY7XG4gICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvLyBidWlsZCB0aGUgdHJlZSBmb3IgdGhlIGRpYWxvZ1xuICBwcml2YXRlIGJ1aWxkVHJlZSgpIHtcblxuICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IHRoaXMubXVsdGlzZWxlY3QgPyBbXSA6IG51bGw7XG4gICAgdGhpcy5hdXRvY29tcGxldGVWYWx1ZXMgPSBbXTtcbiAgICBsZXQgdHJlZTogVHJlZU5vZGVbXSA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jb2Rlc3lzdGVtLmVudHJpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHRoaXMuYWRkVHJlZU5vZGUodHJlZSwgdGhpcy5jb2Rlc3lzdGVtLmVudHJpZXNbaV0pO1xuICAgIH1cbiAgICB0aGlzLnRyZWUgPSB0cmVlO1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlUmVzID0gdGhpcy5hdXRvY29tcGxldGVWYWx1ZXMuc2xpY2UoMCwgMTApO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRUcmVlTm9kZShwYXJlbnROb2RlOiBUcmVlTm9kZVtdLCBjb2Rlc3lzdGVtRW50cnkpIHtcbiAgICBpZiAodGhpcy5fZmlsdGVyRnVuYyAmJiAhdGhpcy5fZmlsdGVyRnVuYyhjb2Rlc3lzdGVtRW50cnkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBub2RlOiBUcmVlTm9kZSA9IHRoaXMuY3NFbnRyeVRvVHJlZU5vZGUoY29kZXN5c3RlbUVudHJ5KTtcbiAgICBpZiAobm9kZS5zZWxlY3RhYmxlKSB7XG4gICAgICAvKiogYWRkIHNlbGVjdGFibGUgbm9kZXMgdG8gYXV0b2NvbXBsZXRlIHZhbHVlcyAqL1xuICAgICAgdGhpcy5hdXRvY29tcGxldGVWYWx1ZXMucHVzaChub2RlKTtcbiAgICB9XG4gICAgaWYgKGNvZGVzeXN0ZW1FbnRyeS5zdWJlbnRyaWVzKSB7XG4gICAgICBub2RlLmNoaWxkcmVuID0gW107XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29kZXN5c3RlbUVudHJ5LnN1YmVudHJpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy5hZGRUcmVlTm9kZShub2RlLmNoaWxkcmVuLCBjb2Rlc3lzdGVtRW50cnkuc3ViZW50cmllc1tpXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2hlY2tTZWxlY3RlZChub2RlKTtcbiAgICBwYXJlbnROb2RlLnB1c2gobm9kZSk7XG4gIH1cblxuICAvLyBzb21lIG5vZGVzIGFyZSBvbmx5IHZpc2libGUgaW4gc29tZSBjYXNlcy5cbiAgcHJpdmF0ZSBpc0hpZGRlbihjb2Rlc3lzdGVtRW50cnkpIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMuc2l0dWF0aW9uID09PSAnQ1JFQVRFJyAmJiAhY29kZXN5c3RlbUVudHJ5LmFsbG93ZWRvbm5ldykgfHxcbiAgICAgICh0aGlzLnNpdHVhdGlvbiA9PT0gJ0VESVQnICYmICFjb2Rlc3lzdGVtRW50cnkuYWxsb3dlZG9udXBkYXRlKSB8fFxuICAgICAgKHRoaXMuX2Rpc2FibGluZ0ZpbHRlckZ1bmMgJiYgdGhpcy5fZGlzYWJsaW5nRmlsdGVyRnVuYyhjb2Rlc3lzdGVtRW50cnkpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrU2VsZWN0ZWQobm9kZTogVHJlZU5vZGUpIHtcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy52YWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAobm9kZS5kYXRhLmRhdGEgPT09IHRoaXMudmFsdWVbaV0pIHtcbiAgICAgICAgICBub2RlLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMucHVzaChub2RlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobm9kZS5kYXRhLmRhdGEgPT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgbm9kZS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IG5vZGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXV0b2NvbXBsZXRlRm4odGVybTogc3RyaW5nKSB7XG4gICAgdGhpcy5hdXRvY29tcGxldGVSZXMgPSB0aGlzLmF1dG9jb21wbGV0ZVZhbHVlcy5maWx0ZXIoYWNOb2RlID0+IHtcbiAgICAgIGlmICh0aGlzLl9maWx0ZXJGdW5jICYmICF0aGlzLl9maWx0ZXJGdW5jKGFjTm9kZS5kYXRhKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICAvLyBza2lwIG5vZGVzIHRoYXQgYXJlIGFscmVhZHkgc2VsZWN0ZWRcbiAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMuZmluZChub2RlID0+IGFjTm9kZS5kYXRhLmRhdGEgPT09IG5vZGUuZGF0YS5kYXRhKVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBhY05vZGUubmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGVybS50b0xvd2VyQ2FzZSgpKSAhPT0gLTE7XG4gICAgfSkuc2xpY2UoMCwgMTApO1xuICB9XG5cbiAgLy8gdHJhbnNmb3JtIGNvZGVzeXN0ZW0gZW50cnkgdG8gdHJlZSBub2RlXG4gIHByaXZhdGUgY3NFbnRyeVRvVHJlZU5vZGUoY29kZXN5c3RlbUVudHJ5KTogVHJlZU5vZGUge1xuICAgIC8vIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCB0aGUgdHJlZSBub2RlIHNob3VsZCBiZSBzZWxlY3RhYmxlXG4gICAgbGV0IHNlbGVjdGFibGUgPSBmYWxzZTtcbiAgICBpZiAodGhpcy5jb2Rlc3lzdGVtLmFsbGVsZW1lbnRzc2VsZWN0YWJsZSkge1xuICAgICAgLy8gY2FzZTogYWxsIGVsZW1lbnRzIGFyZSBzZWxlY3RhYmxlLiBUaGlzIG1lYW5zIHRoYXQgbm90IG9ubHkgbGVhZiBub2Rlc1xuICAgICAgLy8gYXJlIHNlbGVjdGFibGUgYnV0IGFsc28gdGhlaXIgcGFyZW50IG5vZGVzXG4gICAgICBzZWxlY3RhYmxlID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gY2FzZTogb25seSBsZWFmIG5vZGVzIGFyZSBzZWxlY3RhYmxlXG4gICAgICBzZWxlY3RhYmxlID0gIShcbiAgICAgICAgY29kZXN5c3RlbUVudHJ5LnN1YmVudHJpZXMgJiYgY29kZXN5c3RlbUVudHJ5LnN1YmVudHJpZXMubGVuZ3RoID4gMFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBjb2Rlc3lzdGVtRW50cnkuaWQsXG4gICAgICBuYW1lOiBjb2Rlc3lzdGVtRW50cnkuZGVmYXVsdHJlcHJlc2VudGF0aW9uLFxuICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgZXhwYW5kZWQ6IGZhbHNlLFxuICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgc2VsZWN0YWJsZTogc2VsZWN0YWJsZSAmJiAhdGhpcy5pc0hpZGRlbihjb2Rlc3lzdGVtRW50cnkpLFxuICAgICAgZGF0YTogY29kZXN5c3RlbUVudHJ5XG4gICAgfTtcbiAgfVxuXG4gIHNldERpYWxvZ1Zpc2libGUodmlzaWJsZTogYm9vbGVhbiwgZXZlbnQ/OiBFdmVudCkge1xuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgLy9pZ25vcmUgc3ludGhldGl6ZWQgZXZlbnRzIG9uIGVudGVyXG4gICAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2NsaWNrJyAmJiAoZXZlbnQgYXMgUG9pbnRlckV2ZW50KS5kZXRhaWwgPT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmRpc3BsYXkgPSB2aXNpYmxlO1xuICB9XG5cbiAgLy8gcmV0dXJucyBudWxsIHdoZW4gdmFsaWQgZWxzZSB0aGUgdmFsaWRhdGlvbiBvYmplY3RcbiAgcHVibGljIHZhbGlkYXRlKGM6IFVudHlwZWRGb3JtQ29udHJvbCkge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRcbiAgICAgID8gbnVsbFxuICAgICAgOiB7XG4gICAgICAgIGNvZGVzeXN0ZW06IHtcbiAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgfVxuICAgICAgfTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVvLWNvZGVzeXN0ZW1cIiAqbmdJZj1cImNvZGVzeXN0ZW1cIlxuICBbbmdDbGFzc109XCJ7ZnVsbDogc2VsZWN0ZWROb2RlcyAmJiBzZWxlY3RlZE5vZGVzLmxlbmd0aCA9PT0gYXV0b2NvbXBsZXRlVmFsdWVzLmxlbmd0aCwgcmVhZG9ubHk6IHJlYWRvbmx5fVwiPlxuXG4gIDx5dmMtYXV0b2NvbXBsZXRlICNhdXRvY29tcGxldGUgKHN1Z2dlc3Rpb25TZWxlY3QpPVwib25BdXRvQ29tcGxldGVTZWxlY3QoJGV2ZW50KVwiXG4gICAgKHN1Z2dlc3Rpb25VbnNlbGVjdCk9XCJvbkF1dG9Db21wbGV0ZVVuc2VsZWN0KCRldmVudClcIiBbYXV0b2NvbXBsZXRlVmFsdWVzXT1cImF1dG9jb21wbGV0ZVJlc1wiIGZpZWxkPVwibmFtZVwiXG4gICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2ZvcmNlU2VsZWN0aW9uXT1cInRydWVcIiAoYXV0b2NvbXBsZXRlRm5jKT1cImF1dG9jb21wbGV0ZUZuKCRldmVudClcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aXNlbGVjdFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uQXV0b2NvbXBsZXRlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWROb2Rlc1wiPlxuICA8L3l2Yy1hdXRvY29tcGxldGU+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidXR0b24gKm5nSWY9XCIhcmVhZG9ubHlcIlxuICAoY2xpY2spPVwic2V0RGlhbG9nVmlzaWJsZSh0cnVlLCAkZXZlbnQpXCIgXG4gIChrZXlkb3duLmVudGVyKT1cInNldERpYWxvZ1Zpc2libGUodHJ1ZSwgJGV2ZW50KVwiIFxuICA+XG4gICAgPGVvLWljb24gW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYXJyb3dfZG93bi5zdmcnXCI+PC9lby1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48ZW8tZGlhbG9nIFt0aXRsZV09XCJwaWNrZXJUaXRsZSB8fCAnJ1wiIFt2aXNpYmxlXT1cImRpc3BsYXlcIiAoaGlkZSk9XCJkaXNwbGF5ID0gZmFsc2VcIj5cbiAgPGVvLXRyZWUgW3RyZWVdPVwidHJlZVwiIFtpc0Rpc3BsYXllZF09XCJkaXNwbGF5XCIgKm5nSWY9XCJkaXNwbGF5XCIgW29wdGlvbnNdPVwie211bHRpc2VsZWN0OiBtdWx0aXNlbGVjdH1cIlxuICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWROb2Rlc1wiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVHJlZVNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50KVwiIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgW2VtcHR5TWVzc2FnZV09XCJlbXB0eU1lc3NhZ2VcIj5cbiAgPC9lby10cmVlPlxuPC9lby1kaWFsb2c+Il19