turbogui-angular 12.0.0 → 13.0.0

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.
@@ -10,6 +10,7 @@ import { ArrayUtils, NumericUtils } from 'turbocommons-ts';
10
10
  import { Injectable } from '@angular/core';
11
11
  import { BusyStateBaseComponent } from '../view/components/busy-state-base/busy-state-base.component';
12
12
  import { ComponentPortal, DomPortalOutlet } from '@angular/cdk/portal';
13
+ import { DialogDateSelectionComponent } from '../view/components/dialog-date-selection/dialog-date-selection.component';
13
14
  import * as i0 from "@angular/core";
14
15
  import * as i1 from "@angular/material/snack-bar";
15
16
  import * as i2 from "@angular/material/dialog";
@@ -221,31 +222,42 @@ export class DialogService {
221
222
  reduced if the available screen is not enough, and will reach the desired value otherwise. Note that height will be adapted to the contents
222
223
  of the dialog and cannot be specified here. We can set a pixels, % or any other css accepted value. For example: '400px', '50%', etc.
223
224
  * @param texts A list with strings containing the dialog texts, sorted by importance. When dialog has a title, this should
224
- * be placed first, subtitle second and so (Each dialog may accept different kind of texts).
225
+ * be placed first, subtitle second and so (Each dialog may accept different number of texts).
225
226
  * @param options A list of strings that will be used as button captions for each one of the accepted dialog options
226
227
  * @param dialogComponentClass A class for a component that extends DialogOptionsBaseComponent, which will be the
227
228
  * dialog visual element that is shown to the user.
228
229
  * @param callback A function that will be called after the dialog is closed and will receive an object with the numeric index and value for
229
- * the option that's been selected by the user.
230
+ * the option that's been selected by the user. if no option was selected, the value will be -1
230
231
  * @param modal True (default) if selecting an option is mandatory to close the dialog, false if the dialog can be closed
231
232
  * by the user by clicking outside it
233
+ * @param maxWidth Defines the maximum width that the dialog will have regarding the viewport. We can specify it in % or vw, just like is done in
234
+ * css. By default it is defined as 96vw, which will fit 96% of the viewport on small devices
232
235
  */
233
- addDialog(width, texts, options, dialogComponentClass, callback = null, modal = true) {
236
+ addDialog(dialogComponentClass, options, callback = null) {
234
237
  if (!this._isEnabled) {
235
238
  return;
236
239
  }
240
+ // Set the default values for all non specified visual options
241
+ options.width = options.hasOwnProperty('width') ? options.width : "50%";
242
+ options.maxWidth = options.hasOwnProperty('maxWidth') ? options.maxWidth : "96vw";
243
+ options.height = options.hasOwnProperty('height') ? options.height : "50%";
244
+ options.maxHeight = options.hasOwnProperty('maxHeight') ? options.maxHeight : "92vw";
245
+ options.modal = options.hasOwnProperty('modal') ? options.modal : true;
246
+ options.texts = options.hasOwnProperty('texts') ? options.texts : [];
247
+ options.captions = options.hasOwnProperty('captions') ? options.captions : [];
237
248
  // Generate a string to uniquely identify this dialog on the list of active dialogs
238
- const dialogHash = texts.join('') + options.join('') + dialogComponentClass.name;
249
+ const dialogHash = options.texts.join('') + options.captions.join('') + dialogComponentClass.name;
239
250
  // identical dialogs won't be allowed at the same time
240
251
  if (this._activeDialogs.includes(dialogHash)) {
241
252
  return;
242
253
  }
243
254
  const dialogRef = this.matDialog.open(dialogComponentClass, {
244
- width: width,
245
- disableClose: modal,
255
+ width: options.width,
256
+ maxWidth: options.maxWidth,
257
+ disableClose: options.modal,
246
258
  autoFocus: false,
247
- closeOnNavigation: !modal,
248
- data: { texts: texts, options: options }
259
+ closeOnNavigation: !options.modal,
260
+ data: { texts: options.texts, options: options.captions }
249
261
  });
250
262
  this._activeDialogs.push(dialogHash);
251
263
  this._activeDialogInstances.push(dialogRef);
@@ -253,7 +265,7 @@ export class DialogService {
253
265
  this._activeDialogs = ArrayUtils.removeElement(this._activeDialogs, dialogHash);
254
266
  this._activeDialogInstances = ArrayUtils.removeElement(this._activeDialogInstances, dialogRef);
255
267
  if (!NumericUtils.isInteger(selectedOptionIndex)) {
256
- if (modal) {
268
+ if (options.modal) {
257
269
  throw new Error(`dialogRef.close() expects int value`);
258
270
  }
259
271
  else {
@@ -263,7 +275,7 @@ export class DialogService {
263
275
  if (callback !== null) {
264
276
  let selectedOption = { index: selectedOptionIndex, value: '' };
265
277
  if (selectedOptionIndex >= 0) {
266
- selectedOption.value = options[selectedOptionIndex];
278
+ selectedOption.value = options.captions[selectedOptionIndex];
267
279
  }
268
280
  callback(selectedOption);
269
281
  }
@@ -284,6 +296,26 @@ export class DialogService {
284
296
  this._activeDialogs = [];
285
297
  this._activeDialogInstances = [];
286
298
  }
299
+ addDateSelectionDialog(options, title, callback) {
300
+ if (!this._isEnabled) {
301
+ return;
302
+ }
303
+ this.addDialog(DialogDateSelectionComponent, {
304
+ width: options.width,
305
+ maxWidth: options.maxWidth,
306
+ height: options.height,
307
+ maxHeight: options.maxHeight,
308
+ modal: options.modal,
309
+ texts: [title]
310
+ }, (selectedOption) => {
311
+ if (selectedOption.index < 0) {
312
+ callback(null);
313
+ }
314
+ else {
315
+ callback(selectedOption.value);
316
+ }
317
+ });
318
+ }
287
319
  /**
288
320
  * Block all the user interactions with the application (keyboard, touch, mouse, ...)
289
321
  */
@@ -321,4 +353,4 @@ export class DialogService {
321
353
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DialogService, decorators: [{
322
354
  type: Injectable
323
355
  }], ctorParameters: () => [{ type: i0.RendererFactory2 }, { type: i1.MatSnackBar }, { type: i2.MatDialog }, { type: i0.Injector }, { type: i0.ApplicationRef }, { type: i0.ComponentFactoryResolver }] });
324
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXJib2d1aS1hbmd1bGFyL3NyYy9tYWluL2NvbnRyb2xsZXIvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFRLFVBQVUsRUFBbUYsTUFBTSxlQUFlLENBQUM7QUFHbEksT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDdEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUt2RTs7R0FFRztBQUVILE1BQU0sT0FBTyxhQUFhO0lBeUZ0QixZQUFZLGVBQWlDLEVBQ2hCLFdBQXdCLEVBQ3hCLFNBQW9CLEVBQ3BCLFFBQWtCLEVBQ2xCLGNBQThCLEVBQzlCLHdCQUFrRDtRQUpsRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUEzRi9FOzs7O1dBSUc7UUFDSCxrQ0FBNkIsR0FBaUMsc0JBQXNCLENBQUM7UUFHckY7O1dBRUc7UUFDSyxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRzFCOztXQUVHO1FBQ0ssd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBR3BDOzs7O1dBSUc7UUFDSyxxQkFBZ0IsR0FBbUQsSUFBSSxDQUFDO1FBR2hGOztXQUVHO1FBQ0ssd0JBQW1CLEdBQTJCLElBQUksQ0FBQztRQUczRDs7V0FFRztRQUNLLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUduQzs7Ozs7V0FLRztRQUNLLG1CQUFj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QUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztTQUN2SDtRQUVELElBQUksSUFBSSxDQUFDLDRCQUE0QixLQUFLLElBQUksRUFBRTtZQUU1QyxJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7U0FDM0g7SUFDTCxDQUFDO0lBR0Q7O09BRUc7SUFDSyxzQkFBc0I7UUFFMUIsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEtBQUssSUFBSSxFQUFFO1lBRXhDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7U0FDeEM7UUFFRCxJQUFJLElBQUksQ0FBQywwQkFBMEIsS0FBSyxJQUFJLEVBQUU7WUFFMUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQztTQUMxQztRQUVELElBQUksSUFBSSxDQUFDLDRCQUE0QixLQUFLLElBQUksRUFBRTtZQUU1QyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO1NBQzFDO0lBQ0wsQ0FBQzs4R0F6YlEsYUFBYTtrSEFBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFR1cmJvR1VJIGlzIEEgbGlicmFyeSB0aGF0IGhlbHBzIHdpdGggdGhlIG1vc3QgY29tbW9uIGFuZCBnZW5lcmljIFVJIGVsZW1lbnRzIGFuZCBmdW5jdGlvbmFsaXRpZXNcclxuICpcclxuICogV2Vic2l0ZSA6IC0+IGh0dHA6Ly93d3cudHVyYm9ndWkub3JnXHJcbiAqIExpY2Vuc2UgOiAtPiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXHJcbiAqIExpY2Vuc2UgVXJsIDogLT4gaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXHJcbiAqIENvcHlSaWdodCA6IC0+IENvcHlyaWdodCAyMDE4IEVkZXJ0b25lIEFkdmFuZGVkIFNvbHV0aW9ucy4gaHR0cHM6Ly93d3cuZWRlcnRvbmUuY29tXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgQXJyYXlVdGlscywgTnVtZXJpY1V0aWxzIH0gZnJvbSAndHVyYm9jb21tb25zLXRzJztcclxuaW1wb3J0IHsgVHlwZSwgSW5qZWN0YWJsZSwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBJbmplY3RvciwgQXBwbGljYXRpb25SZWYsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciwgTWF0U25hY2tCYXJDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBCdXN5U3RhdGVCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vdmlldy9jb21wb25lbnRzL2J1c3ktc3RhdGUtYmFzZS9idXN5LXN0YXRlLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBEb21Qb3J0YWxPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgRGlhbG9nT3B0aW9uc0Jhc2VDb21wb25lbnQgfSBmcm9tICcuLi92aWV3L2NvbXBvbmVudHMvZGlhbG9nLW9wdGlvbnMtYmFzZS9kaWFsb2ctb3B0aW9ucy1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERpYWxvZ0Jhc2VDb21wb25lbnQgfSBmcm9tICcuLi92aWV3L2NvbXBvbmVudHMvZGlhbG9nLWJhc2UvZGlhbG9nLWJhc2UuY29tcG9uZW50JztcclxuXHJcblxyXG4vKipcclxuICogTWFuYWdlcyB0aGUgYXBwbGljYXRpb24gbW9kYWwgYW5kIG5vbiBtb2RhbCBmbG9hdGluZyBlbGVtZW50c1xyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nU2VydmljZSB7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXNlZCB0byBtb2RpZnkgdGhlIGJ1c3kgc3RhdGUgY29tcG9uZW50IHRoYXQgaXMgc2hvd24gYnkgZGVmYXVsdCBieSB0aGUgYWRkTW9kYWxCdXN5U3RhdGUoKSBtZXRob2QuXHJcbiAgICAgKlxyXG4gICAgICogQHNlZSB0aGlzLmFkZE1vZGFsQnVzeVN0YXRlKClcclxuICAgICAqL1xyXG4gICAgY3VzdG9tQnVzeVN0YXRlQ29tcG9uZW50Q2xhc3M6IFR5cGU8QnVzeVN0YXRlQmFzZUNvbXBvbmVudD4gPSBCdXN5U3RhdGVCYXNlQ29tcG9uZW50O1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrIHB1YmxpYyBnZXR0ZXIgZm9yIGRvY3NcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfaXNFbmFibGVkID0gdHJ1ZTtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUZWxscyBpZiB0aGUgbWFpbiBhcHBsaWNhdGlvbiBpcyBjdXJyZW50bHkgc2hvd2luZyBhIGJ1c3kgc3RhdGUgdGhhdCBibG9ja3MgYWxsIHVzZXIgaW50ZXJhY3Rpb25cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfaXNTaG93aW5nQnVzeVN0YXRlID0gZmFsc2U7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQSByZWZlcmVuY2UgdG8gdGhlIG1vZGFsIGJ1c3kgc3RhdGUgY29tcG9uZW50IHRoYXQgaXMgaW5pdGlhbGl6ZWQgb25seSB0aGUgZmlyc3QgdGltZSBpdCBpcyBjYWxsZWQuXHJcbiAgICAgKlxyXG4gICAgICogKFRvIGFwcGVuZCB0aGUgYnVzeSBzdGF0ZSBkeW5hbWljYWxseSwgd2UgdXNlIHRoZSBQb3J0YWwgY29uY2VwdCBmcm9tIHRoZSBhbmd1bGFyIG1hdGVyaWFsIGxpYnJhcnkpXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2NvbXBvbmVudFBvcnRhbDogQ29tcG9uZW50UG9ydGFsPEJ1c3lTdGF0ZUJhc2VDb21wb25lbnQ+IHwgbnVsbCA9IG51bGw7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQSByZWZlcmVuY2UgdG8gdGhlIG1vZGFsIGJ1c3kgc3RhdGUgY29udGFpbmVyIHdoZXJlIHRoZSBjb21wb25lbnQgd2lsbCBiZSBhZGRlZFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9tb2RhbEJ1c3lTdGF0ZUhvc3Q6IERvbVBvcnRhbE91dGxldCB8IG51bGwgPSBudWxsO1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRlbGxzIGlmIHRoZSBtYW5hZ2VyIGlzIGN1cnJlbnRseSBzaG93aW5nIGEgc25hY2tiYXIgZWxlbWVudCBvciBub3RcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfaXNTaG93aW5nU25hY2tCYXIgPSBmYWxzZTtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb250YWlucyBhIGxpc3Qgb2YgdGhlIGRpYWxvZ3MgdGhhdCBhcmUgY3VycmVudGx5IHZpc2libGUgdG8gdGhlIHVzZXIuXHJcbiAgICAgKiBFYWNoIGl0ZW0gaW4gdGhpcyBsaXN0IGlzIGEgaGFzaCB0aGF0IGlzIGNvbXB1dGVkIHdoZW4gZGlhbG9nIGlzIGNyZWF0ZWQgdG8gdW5pcXVlbHkgaWRlbnRpZnkgaXQuXHJcbiAgICAgKlxyXG4gICAgICogRW1wdHkgbGlzdCBtZWFucyBubyBkaWFsb2dzIGFyZSBjdXJyZW50bHkgdmlzaWJsZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9hY3RpdmVEaWFsb2dzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnRhaW5zIGEgbGlzdCB3aXRoIGFsbCB0aGUgTWF0RGlhbG9nIGluc3RhbmNlcyB0aGF0IGFyZSBjdXJyZW50bHkgdmlzaWJsZSB0byB0aGUgdXNlci5cclxuICAgICAqIFRoZSBsaXN0IHVzZXMgdGhlIHNhbWUgb3JkZXIgYXMgdGhlIGxpc3Qgb2YgX2FjdGl2ZURpYWxvZ3MgaGFzaCB2YWx1ZXNcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfYWN0aXZlRGlhbG9nSW5zdGFuY2VzOiBNYXREaWFsb2dSZWY8RGlhbG9nQmFzZUNvbXBvbmVudD5bXSA9IFtdO1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFVzZWQgdG8gc3RvcmUgdGhlIGluaXRpYWxpemVkIFJlbmRlcmVyIDIgaW5zdGFuY2UgdGhhdCBpcyB1c2VkIGJ5IHRoaXMgY2xhc3NcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcmVuZGVyZXI6IFJlbmRlcmVyMjtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNZXRob2QgdGhhdCBpcyB1c2VkIHRvIGRlbGV0ZSB0aGUgd2luZG93IGJlZm9yZXVubG9hZCBldmVudCBsaXN0ZW5lciBvbmNlIG5vdCB1c2VkIGFueW1vcmVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfd2luZG93QmVmb3JlVW5sb2FkVW5MaXN0ZW46ICgoKSA9PiB2b2lkKSB8IG51bGwgPSBudWxsO1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1ldGhvZCB0aGF0IGlzIHVzZWQgdG8gZGVsZXRlIHRoZSBkb2N1bWVudCBrZXlkb3duIGV2ZW50IGxpc3RlbmVyIG9uY2Ugbm90IHVzZWQgYW55bW9yZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9kb2N1bWVudEtleWRvd25Vbmxpc3RlbjogKCgpID0+IHZvaWQpIHwgbnVsbCA9IG51bGw7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWV0aG9kIHRoYXQgaXMgdXNlZCB0byBkZWxldGUgdGhlIGRvY3VtZW50IG1vdXNlZG93biBldmVudCBsaXN0ZW5lciBvbmNlIG5vdCB1c2VkIGFueW1vcmVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfZG9jdW1lbnRNb3VzZWRvd25Vbmxpc3RlbjogKCgpID0+IHZvaWQpIHwgbnVsbCA9IG51bGw7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWV0aG9kIHRoYXQgaXMgdXNlZCB0byBkZWxldGUgdGhlIGRvY3VtZW50IHBvaW50ZXJkb3duIGV2ZW50IGxpc3RlbmVyIG9uY2Ugbm90IHVzZWQgYW55bW9yZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9kb2N1bWVudFBvaW50ZXJkb3duVW5saXN0ZW46ICgoKSA9PiB2b2lkKSB8IG51bGwgPSBudWxsO1xyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1hdFNuYWNrQmFyOiBNYXRTbmFja0JhcixcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWF0RGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwbGljYXRpb25SZWY6IEFwcGxpY2F0aW9uUmVmLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xyXG5cclxuICAgICAgICB0aGlzLl9yZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUZWxscyBpZiB0aGlzIGRpYWxvZyBzZXJ2aWNlIGlzIGVuYWJsZWQgb3Igbm90LiBJZiBkaWFsb2cgc2VydmljZSBpcyBkaXNhYmxlZCwgbm9uZSBvZiBpdCdzIGZlYXR1cmVzIHdpbGwgd29ya1xyXG4gICAgICogVGhpcyBpcyB1c2VkIHRvIGJsb2NrIGFsbCBkaWFsb2cgZmVhdHVyZXMgbm9ybWFsbHkgd2hlbiBzaHV0dGluZyBkb3duIHRoZSBhcHBsaWNhdGlvblxyXG4gICAgICpcclxuICAgICAqIFVzZSB3aXRoIGNhdXRpb24uIFdoZW4gdGhpcyBpcyBzZXQgdG8gZmFsc2UsIGRpYWxvZyBzZXJ2aWNlIHN0b3BzIHdvcmtpbmcuXHJcbiAgICAgKi9cclxuICAgIHNldCBpc0VuYWJsZWQodjogYm9vbGVhbikge1xyXG5cclxuICAgICAgICBpZiAodiA9PT0gdGhpcy5faXNFbmFibGVkKSB7XHJcblxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9pc0VuYWJsZWQgPSB2O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIEVuYWJsZXMgYSB3YXJuaW5nIHRoYXQgd2lsbCBiZSBzaG93biB0byB0aGUgdXNlciB3aGVuIGhlL3NoZSB0cmllcyB0byBjbG9zZSB0aGUgYXBwbGljYXRpb24uXHJcbiAgICAgKiBUaGlzIHdhcm5pbmcgd2lsbCBwcm9tcHQgdGhlIHVzZXIgdG8gY29udGludWUgd2l0aCB0aGUgZXhpdCBwcm9jZXNzIG9yIGNhbmNlbCBpdC5cclxuICAgICAqIFRoZSBzcGVjaWZpYyB0ZXh0cyBvZiB0aGlzIG1lc3NhZ2UgYXJlIGEgZ2VuZXJpYyBvbmVzIGFuZCBjYW5ub3QgYmUgY2hhbmdlZC5cclxuICAgICAqXHJcbiAgICAgKiBJTVBPUlRBTlQ6IFRoaXMgbWV0aG9kIG11c3QgYmUgY2FsbGVkIGFmdGVyIHRoZSBtYWluIGFwcGxpY2F0aW9uIGhhcyBiZWVuIGluaXRpYWxpemVkIGluIG9yZGVyIHRvIHdvcmssXHJcbiAgICAgKiBvdGhlcndpc2UgaXQgd2lsbCBkbyBub3RoaW5nLlxyXG4gICAgICovXHJcbiAgICBhZGRDbG9zZUFwcGxpY2F0aW9uV2FybmluZygpIHtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX3dpbmRvd0JlZm9yZVVubG9hZFVuTGlzdGVuID09PSBudWxsKSB7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl93aW5kb3dCZWZvcmVVbmxvYWRVbkxpc3RlbiA9IHRoaXMuX3JlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ2JlZm9yZXVubG9hZCcsXHJcbiAgICAgICAgICAgICAgICAoZXZlbnQpID0+IGV2ZW50LnJldHVyblZhbHVlID0gdHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlbW92ZSB0aGUgY2xvc2UgYXBwbGljYXRpb24gd2FybmluZyBtZXNzYWdlIGlmIHByZXZpb3VzbHkgYXNzaWduZWRcclxuICAgICAqL1xyXG4gICAgcmVtb3ZlQ2xvc2VBcHBsaWNhdGlvbldhcm5pbmcoKSB7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl93aW5kb3dCZWZvcmVVbmxvYWRVbkxpc3RlbiAhPT0gbnVsbCkge1xyXG5cclxuICAgICAgICAgICAgdGhpcy5fd2luZG93QmVmb3JlVW5sb2FkVW5MaXN0ZW4oKTtcclxuICAgICAgICAgICAgdGhpcy5fd2luZG93QmVmb3JlVW5sb2FkVW5MaXN0ZW4gPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDaGFuZ2UgdGhlIGFwcGxpY2F0aW9uIHZpc3VhbCBhcHBlYXJhbmNlIHNvIHRoZSB1c2VyIHBlcmNlaXZlcyB0aGF0IHRoZSBhcHBsaWNhdGlvbiBpc1xyXG4gICAgICogY3VycmVudGx5IGJ1c3kuIFdoaWxlIG1vZGFsIGJ1c3kgc3RhdGUgaXMgZW5hYmxlZCwgbm8gdXNlciBpbnB1dCBpcyBwb3NzaWJsZSBuZWl0aGVyIHZpYVxyXG4gICAgICoga2V5Ym9hcmQsIG1vdXNlIG9yIHRvdWNoLiBVc2UgdGhpcyBzdGF0ZSB3aGVuIHBlcmZvcm1pbmcgc2VydmVyIHJlcXVlc3RzIG9yIG9wZXJhdGlvbnMgdGhhdFxyXG4gICAgICogbXVzdCBibG9jayB0aGUgdXNlciBpbnRlcmFjdGlvbiB3aXRoIHRoZSBhcHBsaWNhdGlvbi5cclxuICAgICAqXHJcbiAgICAgKiBOb3RlOiBXZSBjYW4gbW9kaWZ5IHRoZSBidXN5IHN0YXRlIGNvbXBvbmVudCB0aGF0IGlzIHNob3duIGJ5IHRoaXMgbWV0aG9kLiBUbyBkbyBpdCwgd2UgbXVzdFxyXG4gICAgICogc2V0IHRoaXMuY3VzdG9tQnVzeVN0YXRlQ29tcG9uZW50Q2xhc3MgcHJvcGVydHkgd2l0aCBvdXIgb3duIGN1c3RvbSBidXN5IHN0YXRlIGNvbXBvbmVudCBjbGFzcy4gKFdlIGNhbiBkbyBpdCBhdFxyXG4gICAgICogb3VyIG1haW4gYXBwbGljYXRpb24gY29tcG9uZW50IGNvbnN0cnVjdG9yIGZvciBleGFtcGxlKS4gT3VyIGN1c3RvbSBjb21wb25lbnQgbXVzdCBleHRlbmQgdGhlXHJcbiAgICAgKiBCdXN5U3RhdGVCYXNlQ29tcG9uZW50IG9uZSB0byBhZGQgaXRzIG93biB2aXN1YWwgYXBwZWFyYW5jZS5cclxuICAgICAqXHJcbiAgICAgKiBAc2VlIHRoaXMuY3VzdG9tQnVzeVN0YXRlQ29tcG9uZW50Q2xhc3NcclxuICAgICAqL1xyXG4gICAgYWRkTW9kYWxCdXN5U3RhdGUoKSB7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5faXNFbmFibGVkIHx8IHRoaXMuX2lzU2hvd2luZ0J1c3lTdGF0ZSkge1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fZGlzYWJsZVVzZXJJbnRlcmFjdGlvbigpO1xyXG5cclxuICAgICAgICAvLyBEeW5hbWljYWxseSBjcmVhdGUgdGhlIGJ1c3kgc3RhdGUgY29tcG9uZW50IHJlZmVyZW5jZSBpZiB0aGlzIGlzIHRoZSBmaXJzdCB0aW1lXHJcbiAgICAgICAgaWYgKHRoaXMuX2NvbXBvbmVudFBvcnRhbCA9PT0gbnVsbCkge1xyXG5cclxuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbCh0aGlzLmN1c3RvbUJ1c3lTdGF0ZUNvbXBvbmVudENsYXNzKTtcclxuXHJcbiAgICAgICAgICAgIC8vIENyZWF0ZSBhIFBvcnRhbEhvc3Qgd2l0aCBkb2N1bWVudC5ib2R5IGFzIGl0cyBhbmNob3IgZWxlbWVudFxyXG4gICAgICAgICAgICB0aGlzLl9tb2RhbEJ1c3lTdGF0ZUhvc3QgPSBuZXcgRG9tUG9ydGFsT3V0bGV0KFxyXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHksXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBsaWNhdGlvblJlZixcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdG9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICh0aGlzLl9tb2RhbEJ1c3lTdGF0ZUhvc3QgYXMgRG9tUG9ydGFsT3V0bGV0KS5hdHRhY2godGhpcy5fY29tcG9uZW50UG9ydGFsKTtcclxuXHJcbiAgICAgICAgdGhpcy5faXNTaG93aW5nQnVzeVN0YXRlID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUZWxscyBpZiB0aGUgYXBwbGljYXRpb24gaXMgY3VycmVudGx5IGxvY2tlZCBpbiBhIG1vZGFsIGJ1c3kgc3RhdGUgKGNhdXNlZCBieSBhbiBhZGRNb2RhbEJ1c3lTdGF0ZSgpIGNhbGwpXHJcbiAgICAgKi9cclxuICAgIGdldCBpc1Nob3dpbmdCdXN5U3RhdGUoKSB7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc1Nob3dpbmdCdXN5U3RhdGU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlIHRoZSBhcHBsaWNhdGlvbiBidXN5IHN0YXRlIGFuZCByZXN0b3JlIGl0IGJhY2sgdG8gbm9ybWFsIHVzZXIgaW50ZXJhY3Rpb25cclxuICAgICAqL1xyXG4gICAgcmVtb3ZlTW9kYWxCdXN5U3RhdGUoKSB7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5faXNFbmFibGVkIHx8ICF0aGlzLl9pc1Nob3dpbmdCdXN5U3RhdGUpIHtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9jb21wb25lbnRQb3J0YWwgIT09IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAgICh0aGlzLl9tb2RhbEJ1c3lTdGF0ZUhvc3QgYXMgRG9tUG9ydGFsT3V0bGV0KS5kZXRhY2goKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX2VuYWJsZVVzZXJJbnRlcmFjdGlvbigpO1xyXG5cclxuICAgICAgICB0aGlzLl9pc1Nob3dpbmdCdXN5U3RhdGUgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIFRPRE8gLSBhZGFwdCBmcm9tIFRTIHZlcnNpb25cclxuICAgICAqL1xyXG4gICAgYWRkVG9vbFRpcCgpIHtcclxuXHJcbiAgICAgICAgLy8gVE9ETyAtIGFkYXB0IGZyb20gVFMgdmVyc2lvblxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNob3cgYSBub24gbW9kYWwgc25hY2tiYXIgbm90aWZpY2F0aW9uIHRvIHRoZSB1c2VyIChPbmx5IG9uZSBzbmFjay1iYXIgY2FuIGV2ZXIgYmUgb3BlbmVkIGF0IHRoZSBzYW1lIHRpbWUpLlxyXG4gICAgICpcclxuICAgICAqIFNuYWNrYmFycyBpbmZvcm0gdXNlcnMgb2YgYSBwcm9jZXNzIHRoYXQgYW4gYXBwIGhhcyBwZXJmb3JtZWQgb3Igd2lsbCBwZXJmb3JtLiBUaGV5IGFwcGVhciB0ZW1wb3JhcmlseSwgdG93YXJkcyB0aGUgYm90dG9tIG9yIHRvcCBvZiB0aGUgc2NyZWVuLlxyXG4gICAgICogVGhleSBzaG91bGRu4oCZdCBpbnRlcnJ1cHQgdGhlIHVzZXIgZXhwZXJpZW5jZSwgYW5kIHRoZXkgZG9u4oCZdCByZXF1aXJlIHVzZXIgaW5wdXQgdG8gZGlzYXBwZWFyLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBjb25maWcgQSBNYXRTbmFja0JhckNvbmZpZyBpbnN0YW5jZSB3aXRoIHRoZSBjdXN0b21pemF0aW9ucyB3ZSB3YW50IGZvciB0aGlzIHNuYWNrYmFyXHJcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byBzaG93IG9uIHRoZSBzbmFja2JhclxyXG4gICAgICogQHBhcmFtIGFjdGlvbiBJZiBub3QgZW1wdHksIHRoZSB0ZXh0IHRvIHBsYWNlIG9uIHRoZSBzbmFja2JhciBjb25maXJtYXRpb24gYnV0dG9uXHJcbiAgICAgKiBAcGFyYW0gYWN0aW9uQ2FsbGJhY2sgQSBtZXRob2QgdG8gZXhlY3V0ZSBvbmNlIHRoZSB1c2VyIGNsaWNrcyBpbnRvIHRoZSBhY3Rpb24gYnV0dG9uLlxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm4gdm9pZFxyXG4gICAgICovXHJcbiAgICBhZGRTbmFja0Jhcihjb25maWc6IE1hdFNuYWNrQmFyQ29uZmlnLCBtZXNzYWdlOiBzdHJpbmcsIGFjdGlvbiA9ICcnLCBhY3Rpb25DYWxsYmFjazogKCgpID0+IHZvaWQpIHwgbnVsbCA9IG51bGwpIHtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl9pc0VuYWJsZWQpIHtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9pc1Nob3dpbmdTbmFja0Jhcikge1xyXG5cclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUcnlpbmcgdG8gc2hvdyBhIHNuYWNrYmFyIHdoaWxlIGFub3RoZXIgb25lIGlzIHN0aWxsIHZpc2libGUnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX2lzU2hvd2luZ1NuYWNrQmFyID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgY29uc3Qgc25hY2tCYXJSZWYgPSB0aGlzLm1hdFNuYWNrQmFyLm9wZW4obWVzc2FnZSwgYWN0aW9uID09PSAnJyA/IHVuZGVmaW5lZCA6IGFjdGlvbiwgY29uZmlnKTtcclxuXHJcbiAgICAgICAgaWYgKGFjdGlvbkNhbGxiYWNrICE9PSBudWxsKSB7XHJcblxyXG4gICAgICAgICAgICBzbmFja0JhclJlZi5vbkFjdGlvbigpLnN1YnNjcmliZSgoKSA9PiB7XHJcblxyXG4gICAgICAgICAgICAgICAgYWN0aW9uQ2FsbGJhY2soKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRlbGxzIGlmIHRoZSBhcHBsaWNhdGlvbiBpcyBjdXJyZW50bHkgc2hvd2luZyBhIHNuYWNrYmFyIG9yIG5vdFxyXG4gICAgICovXHJcbiAgICBnZXQgaXNTaG93aW5nU25hY2tCYXIoKSB7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9pc1Nob3dpbmdTbmFja0JhcjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGb3JjZSB0aGUgcmVtb3ZhbCBvZiB0aGUgc25hY2sgYmFyIGRpYWxvZyBpZiBpdCBleGlzdHMuXHJcbiAgICAgKlxyXG4gICAgICogSWYgbm8gc25hY2tiYXIgaXMgY3VycmVudGx5IHZpc2libGUsIHRoaXMgbWV0aG9kIHdpbGwgZG8gbm90aGluZ1xyXG4gICAgICovXHJcbiAgICByZW1vdmVTbmFja0JhcigpIHtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl9pc0VuYWJsZWQgfHwgIXRoaXMuX2lzU2hvd2luZ1NuYWNrQmFyKSB7XHJcblxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm1hdFNuYWNrQmFyLmRpc21pc3MoKTtcclxuXHJcbiAgICAgICAgdGhpcy5faXNTaG93aW5nU25hY2tCYXIgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTaG93IGEgZGlhbG9nIHdpdGggb25lIG9yIG1vcmUgb3B0aW9ucyB0aGF0IGNhbiBiZSB1c2VkIHRvIGNsb3NlIGl0LiBXZSBjYW4gdXNlIGFueSBvZiB0aGUgcHJlZGVmaW5lZCBkaWFsb2cgdHlwZXMgdGhhdCBhcmUgYnVuZGxlZCB3aXRoXHJcbiAgICAgKiB0aGlzIGxpYnJhcnkgb3IgZXh0ZW5kIERpYWxvZ09wdGlvbnNCYXNlQ29tcG9uZW50IHRvIGNyZWF0ZSBvdXIgb3duIGN1c3RvbSBvbmVzLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB3aWR0aCBTcGVjaWZ5IHRoZSBjc3MgdmFsdWUgZm9yIHRoZSBtYXhpbXVtIHdpZHRoIHRoZSBkaWFsb2cgd2lsbCBoYXZlLiBBcyB0aGUgZGlhbG9nIGlzIHJlc3BvbnNpdmUsIHRoZSB2YWx1ZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHlcclxuICAgICAgICAgICAgICByZWR1Y2VkIGlmIHRoZSBhdmFpbGFibGUgc2NyZWVuIGlzIG5vdCBlbm91Z2gsIGFuZCB3aWxsIHJlYWNoIHRoZSBkZXNpcmVkIHZhbHVlIG90aGVyd2lzZS4gTm90ZSB0aGF0IGhlaWdodCB3aWxsIGJlIGFkYXB0ZWQgdG8gdGhlIGNvbnRlbnRzXHJcbiAgICAgICAgICAgICAgb2YgdGhlIGRpYWxvZyBhbmQgY2Fubm90IGJlIHNwZWNpZmllZCBoZXJlLiBXZSBjYW4gc2V0IGEgcGl4ZWxzLCAlIG9yIGFueSBvdGhlciBjc3MgYWNjZXB0ZWQgdmFsdWUuIEZvciBleGFtcGxlOiAnNDAwcHgnLCAnNTAlJywgZXRjLlxyXG4gICAgICogQHBhcmFtIHRleHRzIEEgbGlzdCB3aXRoIHN0cmluZ3MgY29udGFpbmluZyB0aGUgZGlhbG9nIHRleHRzLCBzb3J0ZWQgYnkgaW1wb3J0YW5jZS4gV2hlbiBkaWFsb2cgaGFzIGEgdGl0bGUsIHRoaXMgc2hvdWxkXHJcbiAgICAgKiAgICAgICAgYmUgcGxhY2VkIGZpcnN0LCBzdWJ0aXRsZSBzZWNvbmQgYW5kIHNvIChFYWNoIGRpYWxvZyBtYXkgYWNjZXB0IGRpZmZlcmVudCBraW5kIG9mIHRleHRzKS5cclxuICAgICAqIEBwYXJhbSBvcHRpb25zIEEgbGlzdCBvZiBzdHJpbmdzIHRoYXQgd2lsbCBiZSB1c2VkIGFzIGJ1dHRvbiBjYXB0aW9ucyBmb3IgZWFjaCBvbmUgb2YgdGhlIGFjY2VwdGVkIGRpYWxvZyBvcHRpb25zXHJcbiAgICAgKiBAcGFyYW0gZGlhbG9nQ29tcG9uZW50Q2xhc3MgQSBjbGFzcyBmb3IgYSBjb21wb25lbnQgdGhhdCBleHRlbmRzIERpYWxvZ09wdGlvbnNCYXNlQ29tcG9uZW50LCB3aGljaCB3aWxsIGJlIHRoZVxyXG4gICAgICogICAgICAgIGRpYWxvZyB2aXN1YWwgZWxlbWVudCB0aGF0IGlzIHNob3duIHRvIHRoZSB1c2VyLlxyXG4gICAgICogQHBhcmFtIGNhbGxiYWNrIEEgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIGNhbGxlZCBhZnRlciB0aGUgZGlhbG9nIGlzIGNsb3NlZCBhbmQgd2lsbCByZWNlaXZlIGFuIG9iamVjdCB3aXRoIHRoZSBudW1lcmljIGluZGV4IGFuZCB2YWx1ZSBmb3JcclxuICAgICAqICAgICAgICB0aGUgb3B0aW9uIHRoYXQncyBiZWVuIHNlbGVjdGVkIGJ5IHRoZSB1c2VyLlxyXG4gICAgICogQHBhcmFtIG1vZGFsIFRydWUgKGRlZmF1bHQpIGlmIHNlbGVjdGluZyBhbiBvcHRpb24gaXMgbWFuZGF0b3J5IHRvIGNsb3NlIHRoZSBkaWFsb2csIGZhbHNlIGlmIHRoZSBkaWFsb2cgY2FuIGJlIGNsb3NlZFxyXG4gICAgICogICAgICAgIGJ5IHRoZSB1c2VyIGJ5IGNsaWNraW5nIG91dHNpZGUgaXQgXHJcbiAgICAgKi9cclxuICAgIGFkZERpYWxvZyh3aWR0aDogc3RyaW5nLFxyXG4gICAgICAgICAgICAgIHRleHRzOiBzdHJpbmdbXSxcclxuICAgICAgICAgICAgICBvcHRpb25zOiBzdHJpbmdbXSxcclxuICAgICAgICAgICAgICBkaWFsb2dDb21wb25lbnRDbGFzczogVHlwZTxEaWFsb2dPcHRpb25zQmFzZUNvbXBvbmVudD4sXHJcbiAgICAgICAgICAgICAgY2FsbGJhY2s6IG51bGwgfCAoKHNlbGVjdGVkT3B0aW9uOiB7aW5kZXg6bnVtYmVyLCB2YWx1ZTogc3RyaW5nfSkgPT4gdm9pZCkgPSBudWxsLFxyXG4gICAgICAgICAgICAgIG1vZGFsID0gdHJ1ZSkge1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuX2lzRW5hYmxlZCkge1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gR2VuZXJhdGUgYSBzdHJpbmcgdG8gdW5pcXVlbHkgaWRlbnRpZnkgdGhpcyBkaWFsb2cgb24gdGhlIGxpc3Qgb2YgYWN0aXZlIGRpYWxvZ3NcclxuICAgICAgICBjb25zdCBkaWFsb2dIYXNoID0gdGV4dHMuam9pbignJykgKyBvcHRpb25zLmpvaW4oJycpICsgZGlhbG9nQ29tcG9uZW50Q2xhc3MubmFtZTtcclxuXHJcbiAgICAgICAgLy8gaWRlbnRpY2FsIGRpYWxvZ3Mgd29uJ3QgYmUgYWxsb3dlZCBhdCB0aGUgc2FtZSB0aW1lXHJcbiAgICAgICAgaWYgKHRoaXMuX2FjdGl2ZURpYWxvZ3MuaW5jbHVkZXMoZGlhbG9nSGFzaCkpIHtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMubWF0RGlhbG9nLm9wZW4oZGlhbG9nQ29tcG9uZW50Q2xhc3MsIHtcclxuICAgICAgICAgICAgd2lkdGg6IHdpZHRoLFxyXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IG1vZGFsLFxyXG4gICAgICAgICAgICBhdXRvRm9jdXM6IGZhbHNlLFxyXG4gICAgICAgICAgICBjbG9zZU9uTmF2aWdhdGlvbjogIW1vZGFsLFxyXG4gICAgICAgICAgICBkYXRhOiB7IHRleHRzOiB0ZXh0cywgb3B0aW9uczogb3B0aW9ucyB9XHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5fYWN0aXZlRGlhbG9ncy5wdXNoKGRpYWxvZ0hhc2gpO1xyXG4gICAgICAgIHRoaXMuX2FjdGl2ZURpYWxvZ0luc3RhbmNlcy5wdXNoKGRpYWxvZ1JlZik7XHJcblxyXG4gICAgICAgIGRpYWxvZ1JlZi5iZWZvcmVDbG9zZWQoKS5zdWJzY3JpYmUoKHNlbGVjdGVkT3B0aW9uSW5kZXg6IGFueSkgPT4ge1xyXG5cclxuICAgICAgICAgICAgdGhpcy5fYWN0aXZlRGlhbG9ncyA9IEFycmF5VXRpbHMucmVtb3ZlRWxlbWVudCh0aGlzLl9hY3RpdmVEaWFsb2dzLCBkaWFsb2dIYXNoKTtcclxuICAgICAgICAgICAgdGhpcy5fYWN0aXZlRGlhbG9nSW5zdGFuY2VzID0gQXJyYXlVdGlscy5yZW1vdmVFbGVtZW50KHRoaXMuX2FjdGl2ZURpYWxvZ0luc3RhbmNlcywgZGlhbG9nUmVmKTtcclxuXHJcbiAgICAgICAgICAgIGlmICghTnVtZXJpY1V0aWxzLmlzSW50ZWdlcihzZWxlY3RlZE9wdGlvbkluZGV4KSkge1xyXG5cclxuICAgICAgICAgICAgICAgIGlmKG1vZGFsKXtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGRpYWxvZ1JlZi5jbG9zZSgpIGV4cGVjdHMgaW50IHZhbHVlYCk7XHJcblxyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRPcHRpb25JbmRleCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGNhbGxiYWNrICE9PSBudWxsKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkT3B0aW9uID0ge2luZGV4OiBzZWxlY3RlZE9wdGlvbkluZGV4LCB2YWx1ZTogJyd9O1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBpZihzZWxlY3RlZE9wdGlvbkluZGV4ID49IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9uLnZhbHVlID0gb3B0aW9uc1tzZWxlY3RlZE9wdGlvbkluZGV4XTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAoY2FsbGJhY2sgYXMgKChzZWxlY3RlZE9wdGlvbjoge2luZGV4Om51bWJlciwgdmFsdWU6IHN0cmluZ30pID0+IHZvaWQpKShzZWxlY3RlZE9wdGlvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIEZvcmNlIHRoZSByZW1vdmFsIG9mIGFsbCB0aGUgZGlhbG9ncyB0aGF0IGFyZSBjdXJyZW50bHkgdmlzaWJsZS5cclxuICAgICAqXHJcbiAgICAgKiBJZiBubyBkaWFsb2dzIGFyZSBjdXJyZW50bHkgdmlzaWJsZSwgdGhpcyBtZXRob2Qgd2lsbCBkbyBub3RoaW5nXHJcbiAgICAgKi9cclxuICAgIHJlbW92ZUFsbERpYWxvZ3MoKSB7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5faXNFbmFibGVkKSB7XHJcblxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IGRpYWxvZ1JlZiBvZiB0aGlzLl9hY3RpdmVEaWFsb2dJbnN0YW5jZXMpIHtcclxuXHJcbiAgICAgICAgICAgIGRpYWxvZ1JlZi5jbG9zZSgtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIHRoaXMuX2FjdGl2ZURpYWxvZ3MgPSBbXTtcclxuICAgICAgICB0aGlzLl9hY3RpdmVEaWFsb2dJbnN0YW5jZXMgPSBbXTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBCbG9jayBhbGwgdGhlIHVzZXIgaW50ZXJhY3Rpb25zIHdpdGggdGhlIGFwcGxpY2F0aW9uIChrZXlib2FyZCwgdG91Y2gsIG1vdXNlLCAuLi4pXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2Rpc2FibGVVc2VySW50ZXJhY3Rpb24oKSB7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9kb2N1bWVudEtleWRvd25Vbmxpc3RlbiA9PT0gbnVsbCkge1xyXG5cclxuICAgICAgICAgICAgdGhpcy5fZG9jdW1lbnRLZXlkb3duVW5saXN0ZW4gPSB0aGlzLl9yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ2tleWRvd24nLCAoZXZlbnQpID0+IGV2ZW50LnByZXZlbnREZWZhdWx0KCkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX2RvY3VtZW50TW91c2Vkb3duVW5saXN0ZW4gPT09IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX2RvY3VtZW50TW91c2Vkb3duVW5saXN0ZW4gPSB0aGlzLl9yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ21vdXNlZG93bicsIChldmVudCkgPT4gZXZlbnQucHJldmVudERlZmF1bHQoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5fZG9jdW1lbnRQb2ludGVyZG93blVubGlzdGVuID09PSBudWxsKSB7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9kb2N1bWVudFBvaW50ZXJkb3duVW5saXN0ZW4gPSB0aGlzLl9yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ3BvaW50ZXJkb3duJywgKGV2ZW50KSA9PiBldmVudC5wcmV2ZW50RGVmYXVsdCgpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVzdG9yZSB0aGUgdXNlciBpbnRlcmFjdGlvbnMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgZGlzYWJsZWQgd2l0aCBfZGlzYWJsZVVzZXJJbnRlcmFjdGlvbiBtZXRob2RcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfZW5hYmxlVXNlckludGVyYWN0aW9uKCkge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fZG9jdW1lbnRLZXlkb3duVW5saXN0ZW4gIT09IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX2RvY3VtZW50S2V5ZG93blVubGlzdGVuKCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2RvY3VtZW50S2V5ZG93blVubGlzdGVuID0gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9kb2N1bWVudE1vdXNlZG93blVubGlzdGVuICE9PSBudWxsKSB7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9kb2N1bWVudE1vdXNlZG93blVubGlzdGVuKCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2RvY3VtZW50TW91c2Vkb3duVW5saXN0ZW4gPSBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX2RvY3VtZW50UG9pbnRlcmRvd25Vbmxpc3RlbiAhPT0gbnVsbCkge1xyXG5cclxuICAgICAgICAgICAgdGhpcy5fZG9jdW1lbnRQb2ludGVyZG93blVubGlzdGVuKCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2RvY3VtZW50TW91c2Vkb3duVW5saXN0ZW4gPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
356
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXJib2d1aS1hbmd1bGFyL3NyYy9tYWluL2NvbnRyb2xsZXIvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFRLFVBQVUsRUFBbUYsTUFBTSxlQUFlLENBQUM7QUFHbEksT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDdEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUd2RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQzs7OztBQUd4SDs7R0FFRztBQUVILE1BQU0sT0FBTyxhQUFhO0lBeUZ0QixZQUFZLGVBQWlDLEVBQ2hCLFdBQXdCLEVBQ3hCLFNBQW9CLEVBQ3BCLFFBQWtCLEVBQ2xCLGNBQThCLEVBQzlCLHdCQUFrRDtRQUpsRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUEzRi9FOzs7O1dBSUc7UUFDSCxrQ0FBNkIsR0FBaUMsc0JBQXNCLENBQUM7UUFHckY7O1dBRUc7UUFDSyxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRzFCOztXQUVHO1FBQ0ssd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBR3BDOzs7O1dBSUc7UUFDSyxxQkFBZ0IsR0FBbUQsSUFBSSxDQUFDO1FBR2hGOztXQUVHO1FBQ0ssd0JBQW1CLEdBQTJCLElBQUksQ0FBQztRQUczRDs7V0FFRztRQUNLLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUduQzs7Ozs7V0FLRztRQUNLLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBR3RDOzs7V0FHRztRQUNLLDJCQUFzQixHQUF3QyxFQUFFLENBQUM7UUFTekU7O1dBRUc7UUFDSyxnQ0FBMkIsR0FBd0IsSUFBSSxDQUFDO1FBR2hFOztXQUVHO1FBQ0ssNkJBQXdCLEdBQXdCLElBQUksQ0FBQztRQUc3RDs7V0FFRztRQUNLLCtCQUEwQixHQUF3QixJQUFJLENBQUM7UUFHL0Q7O1dBRUc7UUFDSyxpQ0FBNEIsR0FBd0IsSUFBSSxDQUFDO1FBVTdELElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUdEOzs7OztPQUtHO0lBQ0gsSUFBSSxTQUFTLENBQUMsQ0FBVTtRQUVwQixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBRXZCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFHRDs7Ozs7OztPQU9HO0lBQ0gsMEJBQTBCO1FBRXRCLElBQUksSUFBSSxDQUFDLDJCQUEyQixLQUFLLElBQUksRUFBRTtZQUUzQyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLGNBQWMsRUFDN0UsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDNUM7SUFDTCxDQUFDO0lBR0Q7O09BRUc7SUFDSCw2QkFBNkI7UUFFekIsSUFBSSxJQUFJLENBQUMsMkJBQTJCLEtBQUssSUFBSSxFQUFFO1lBRTNDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUM7U0FDM0M7SUFDTCxDQUFDO0lBR0Q7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsaUJBQWlCO1FBRWIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBRTlDLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBRS9CLGtGQUFrRjtRQUNsRixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxJQUFJLEVBQUU7WUFFaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1lBRWhGLCtEQUErRDtZQUMvRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxlQUFlLENBQ3RDLFFBQVEsQ0FBQyxJQUFJLEVBQ2IsSUFBSSxDQUFDLHdCQUF3QixFQUM3QixJQUFJLENBQUMsY0FBYyxFQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDMUI7UUFFQSxJQUFJLENBQUMsbUJBQXVDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTVFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQUdEOztPQUVHO0lBQ0gsSUFBSSxrQkFBa0I7UUFFbEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztJQUdEOztPQUVHO0lBQ0gsb0JBQW9CO1FBRWhCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBRS9DLE9BQU87U0FDVjtRQUVELElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLElBQUksRUFBRTtZQUUvQixJQUFJLENBQUMsbUJBQXVDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDMUQ7UUFFRCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUU5QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFHRDs7T0FFRztJQUNILFVBQVU7UUFFTiwrQkFBK0I7SUFDbkMsQ0FBQztJQUdEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILFdBQVcsQ0FBQyxNQUF5QixFQUFFLE9BQWUsRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFFLGlCQUFzQyxJQUFJO1FBRTNHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBRWxCLE9BQU87U0FDVjtRQUVELElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBRXpCLE1BQU0sSUFBSSxLQUFLLENBQUMsOERBQThELENBQUMsQ0FBQztTQUNuRjtRQUVELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFFL0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRS9GLElBQUksY0FBYyxLQUFLLElBQUksRUFBRTtZQUV6QixXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFFbEMsY0FBYyxFQUFFLENBQUM7WUFDckIsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFHRDs7T0FFRztJQUNILElBQUksaUJBQWlCO1FBRWpCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ25DLENBQUM7SUFHRDs7OztPQUlHO0lBQ0gsY0FBYztRQUVWLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBRTlDLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFM0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNwQyxDQUFDO0lBR0Q7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWtCRztJQUNILFNBQVMsQ0FBQyxvQkFBc0QsRUFDdEQsT0FNOEIsRUFDOUIsV0FBMEUsSUFBSTtRQUVwRixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUVsQixPQUFPO1NBQ1Y7UUFFRCw4REFBOEQ7UUFDOUQsT0FBTyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDeEUsT0FBTyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDbEYsT0FBTyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDM0UsT0FBTyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDckYsT0FBTyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdkUsT0FBTyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDckUsT0FBTyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFOUUsbUZBQW1GO1FBQ25GLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxLQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQztRQUVwRyxzREFBc0Q7UUFDdEQsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUUxQyxPQUFPO1NBQ1Y7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUN4RCxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7WUFDcEIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1lBQzFCLFlBQVksRUFBRSxPQUFPLENBQUMsS0FBSztZQUMzQixTQUFTLEVBQUUsS0FBSztZQUNoQixpQkFBaUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLO1lBQ2pDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFO1NBQzFELENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFNUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLG1CQUF3QixFQUFFLEVBQUU7WUFFNUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDaEYsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBRS9GLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLEVBQUU7Z0JBRTlDLElBQUcsT0FBTyxDQUFDLEtBQUssRUFBQztvQkFFYixNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7aUJBRTFEO3FCQUFJO29CQUVELG1CQUFtQixHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUM1QjthQUNKO1lBRUQsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO2dCQUVuQixJQUFJLGNBQWMsR0FBRyxFQUFDLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUM7Z0JBRTdELElBQUcsbUJBQW1CLElBQUksQ0FBQyxFQUFDO29CQUV4QixjQUFjLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxRQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQztpQkFDakU7Z0JBRUEsUUFBc0UsQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUMzRjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUdEOzs7O09BSUc7SUFDSCxnQkFBZ0I7UUFFWixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUVsQixPQUFPO1NBQ1Y7UUFFRCxLQUFLLE1BQU0sU0FBUyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUVqRCxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkI7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsc0JBQXNCLEdBQUcsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFHRCxzQkFBc0IsQ0FBQyxPQUkwQixFQUMxQixLQUFhLEVBQ2IsUUFBK0M7UUFFbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFFbEIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyw0QkFBNEIsRUFDdkM7WUFDSSxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7WUFDcEIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1lBQzFCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtZQUN0QixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7WUFDNUIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1lBQ3BCLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQztTQUNqQixFQUFDLENBQUMsY0FBYyxFQUFFLEVBQUU7WUFFakIsSUFBRyxjQUFjLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBQztnQkFFeEIsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBRWxCO2lCQUFJO2dCQUVELFFBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDbEM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFHRDs7T0FFRztJQUNLLHVCQUF1QjtRQUUzQixJQUFJLElBQUksQ0FBQyx3QkFBd0IsS0FBSyxJQUFJLEVBQUU7WUFFeEMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1NBQ25IO1FBRUQsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEtBQUssSUFBSSxFQUFFO1lBRTFDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztTQUN2SDtRQUVELElBQUksSUFBSSxDQUFDLDRCQUE0QixLQUFLLElBQUksRUFBRTtZQUU1QyxJQUFJLENBQUMsNEJBQTRCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7U0FDM0g7SUFDTCxDQUFDO0lBR0Q7O09BRUc7SUFDSyxzQkFBc0I7UUFFMUIsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEtBQUssSUFBSSxFQUFFO1lBRXhDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUM7U0FDeEM7UUFFRCxJQUFJLElBQUksQ0FBQywwQkFBMEIsS0FBSyxJQUFJLEVBQUU7WUFFMUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQztTQUMxQztRQUVELElBQUksSUFBSSxDQUFDLDRCQUE0QixLQUFLLElBQUksRUFBRTtZQUU1QyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO1NBQzFDO0lBQ0wsQ0FBQzs4R0EzZVEsYUFBYTtrSEFBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFR1cmJvR1VJIGlzIEEgbGlicmFyeSB0aGF0IGhlbHBzIHdpdGggdGhlIG1vc3QgY29tbW9uIGFuZCBnZW5lcmljIFVJIGVsZW1lbnRzIGFuZCBmdW5jdGlvbmFsaXRpZXNcclxuICpcclxuICogV2Vic2l0ZSA6IC0+IGh0dHA6Ly93d3cudHVyYm9ndWkub3JnXHJcbiAqIExpY2Vuc2UgOiAtPiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXHJcbiAqIExpY2Vuc2UgVXJsIDogLT4gaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXHJcbiAqIENvcHlSaWdodCA6IC0+IENvcHlyaWdodCAyMDE4IEVkZXJ0b25lIEFkdmFuZGVkIFNvbHV0aW9ucy4gaHR0cHM6Ly93d3cuZWRlcnRvbmUuY29tXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgQXJyYXlVdGlscywgTnVtZXJpY1V0aWxzIH0gZnJvbSAndHVyYm9jb21tb25zLXRzJztcclxuaW1wb3J0IHsgVHlwZSwgSW5qZWN0YWJsZSwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBJbmplY3RvciwgQXBwbGljYXRpb25SZWYsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciwgTWF0U25hY2tCYXJDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBCdXN5U3RhdGVCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vdmlldy9jb21wb25lbnRzL2J1c3ktc3RhdGUtYmFzZS9idXN5LXN0YXRlLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBEb21Qb3J0YWxPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgRGlhbG9nT3B0aW9uc0Jhc2VDb21wb25lbnQgfSBmcm9tICcuLi92aWV3L2NvbXBvbmVudHMvZGlhbG9nLW9wdGlvbnMtYmFzZS9kaWFsb2ctb3B0aW9ucy1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERpYWxvZ0Jhc2VDb21wb25lbnQgfSBmcm9tICcuLi92aWV3L2NvbXBvbmVudHMvZGlhbG9nLWJhc2UvZGlhbG9nLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGlhbG9nRGF0ZVNlbGVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL3ZpZXcvY29tcG9uZW50cy9kaWFsb2ctZGF0ZS1zZWxlY3Rpb24vZGlhbG9nLWRhdGUtc2VsZWN0aW9uLmNvbXBvbmVudCc7XG5cclxuXHJcbi8qKlxyXG4gKiBNYW5hZ2VzIHRoZSBhcHBsaWNhdGlvbiBtb2RhbCBhbmQgbm9uIG1vZGFsIGZsb2F0aW5nIGVsZW1lbnRzXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEaWFsb2dTZXJ2aWNlIHtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVc2VkIHRvIG1vZGlmeSB0aGUgYnVzeSBzdGF0ZSBjb21wb25lbnQgdGhhdCBpcyBzaG93biBieSBkZWZhdWx0IGJ5IHRoZSBhZGRNb2RhbEJ1c3lTdGF0ZSgpIG1ldGhvZC5cclxuICAgICAqXHJcbiAgICAgKiBAc2VlIHRoaXMuYWRkTW9kYWxCdXN5U3RhdGUoKVxyXG4gICAgICovXHJcbiAgICBjdXN0b21CdXN5U3RhdGVDb21wb25lbnRDbGFzczogVHlwZTxCdXN5U3RhdGVCYXNlQ29tcG9uZW50PiA9IEJ1c3lTdGF0ZUJhc2VDb21wb25lbnQ7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2hlY2sgcHVibGljIGdldHRlciBmb3IgZG9jc1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9pc0VuYWJsZWQgPSB0cnVlO1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRlbGxzIGlmIHRoZSBtYWluIGFwcGxpY2F0aW9uIGlzIGN1cnJlbnRseSBzaG93aW5nIGEgYnVzeSBzdGF0ZSB0aGF0IGJsb2NrcyBhbGwgdXNlciBpbnRlcmFjdGlvblxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9pc1Nob3dpbmdCdXN5U3RhdGUgPSBmYWxzZTtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBIHJlZmVyZW5jZSB0byB0aGUgbW9kYWwgYnVzeSBzdGF0ZSBjb21wb25lbnQgdGhhdCBpcyBpbml0aWFsaXplZCBvbmx5IHRoZSBmaXJzdCB0aW1lIGl0IGlzIGNhbGxlZC5cclxuICAgICAqXHJcbiAgICAgKiAoVG8gYXBwZW5kIHRoZSBidXN5IHN0YXRlIGR5bmFtaWNhbGx5LCB3ZSB1c2UgdGhlIFBvcnRhbCBjb25jZXB0IGZyb20gdGhlIGFuZ3VsYXIgbWF0ZXJpYWwgbGlicmFyeSlcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfY29tcG9uZW50UG9ydGFsOiBDb21wb25lbnRQb3J0YWw8QnVzeVN0YXRlQmFzZUNvbXBvbmVudD4gfCBudWxsID0gbnVsbDtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBIHJlZmVyZW5jZSB0byB0aGUgbW9kYWwgYnVzeSBzdGF0ZSBjb250YWluZXIgd2hlcmUgdGhlIGNvbXBvbmVudCB3aWxsIGJlIGFkZGVkXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX21vZGFsQnVzeVN0YXRlSG9zdDogRG9tUG9ydGFsT3V0bGV0IHwgbnVsbCA9IG51bGw7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGVsbHMgaWYgdGhlIG1hbmFnZXIgaXMgY3VycmVudGx5IHNob3dpbmcgYSBzbmFja2JhciBlbGVtZW50IG9yIG5vdFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9pc1Nob3dpbmdTbmFja0JhciA9IGZhbHNlO1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnRhaW5zIGEgbGlzdCBvZiB0aGUgZGlhbG9ncyB0aGF0IGFyZSBjdXJyZW50bHkgdmlzaWJsZSB0byB0aGUgdXNlci5cclxuICAgICAqIEVhY2ggaXRlbSBpbiB0aGlzIGxpc3QgaXMgYSBoYXNoIHRoYXQgaXMgY29tcHV0ZWQgd2hlbiBkaWFsb2cgaXMgY3JlYXRlZCB0byB1bmlxdWVseSBpZGVudGlmeSBpdC5cclxuICAgICAqXHJcbiAgICAgKiBFbXB0eSBsaXN0IG1lYW5zIG5vIGRpYWxvZ3MgYXJlIGN1cnJlbnRseSB2aXNpYmxlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2FjdGl2ZURpYWxvZ3M6IHN0cmluZ1tdID0gW107XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udGFpbnMgYSBsaXN0IHdpdGggYWxsIHRoZSBNYXREaWFsb2cgaW5zdGFuY2VzIHRoYXQgYXJlIGN1cnJlbnRseSB2aXNpYmxlIHRvIHRoZSB1c2VyLlxyXG4gICAgICogVGhlIGxpc3QgdXNlcyB0aGUgc2FtZSBvcmRlciBhcyB0aGUgbGlzdCBvZiBfYWN0aXZlRGlhbG9ncyBoYXNoIHZhbHVlc1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9hY3RpdmVEaWFsb2dJbnN0YW5jZXM6IE1hdERpYWxvZ1JlZjxEaWFsb2dCYXNlQ29tcG9uZW50PltdID0gW107XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXNlZCB0byBzdG9yZSB0aGUgaW5pdGlhbGl6ZWQgUmVuZGVyZXIgMiBpbnN0YW5jZSB0aGF0IGlzIHVzZWQgYnkgdGhpcyBjbGFzc1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yZW5kZXJlcjogUmVuZGVyZXIyO1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1ldGhvZCB0aGF0IGlzIHVzZWQgdG8gZGVsZXRlIHRoZSB3aW5kb3cgYmVmb3JldW5sb2FkIGV2ZW50IGxpc3RlbmVyIG9uY2Ugbm90IHVzZWQgYW55bW9yZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF93aW5kb3dCZWZvcmVVbmxvYWRVbkxpc3RlbjogKCgpID0+IHZvaWQpIHwgbnVsbCA9IG51bGw7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWV0aG9kIHRoYXQgaXMgdXNlZCB0byBkZWxldGUgdGhlIGRvY3VtZW50IGtleWRvd24gZXZlbnQgbGlzdGVuZXIgb25jZSBub3QgdXNlZCBhbnltb3JlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2RvY3VtZW50S2V5ZG93blVubGlzdGVuOiAoKCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbDtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNZXRob2QgdGhhdCBpcyB1c2VkIHRvIGRlbGV0ZSB0aGUgZG9jdW1lbnQgbW91c2Vkb3duIGV2ZW50IGxpc3RlbmVyIG9uY2Ugbm90IHVzZWQgYW55bW9yZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9kb2N1bWVudE1vdXNlZG93blVubGlzdGVuOiAoKCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbDtcclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNZXRob2QgdGhhdCBpcyB1c2VkIHRvIGRlbGV0ZSB0aGUgZG9jdW1lbnQgcG9pbnRlcmRvd24gZXZlbnQgbGlzdGVuZXIgb25jZSBub3QgdXNlZCBhbnltb3JlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2RvY3VtZW50UG9pbnRlcmRvd25Vbmxpc3RlbjogKCgpID0+IHZvaWQpIHwgbnVsbCA9IG51bGw7XHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MixcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWF0U25hY2tCYXI6IE1hdFNuYWNrQmFyLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtYXREaWFsb2c6IE1hdERpYWxvZyxcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhcHBsaWNhdGlvblJlZjogQXBwbGljYXRpb25SZWYsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7XHJcblxyXG4gICAgICAgIHRoaXMuX3JlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5LmNyZWF0ZVJlbmRlcmVyKG51bGwsIG51bGwpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRlbGxzIGlmIHRoaXMgZGlhbG9nIHNlcnZpY2UgaXMgZW5hYmxlZCBvciBub3QuIElmIGRpYWxvZyBzZXJ2aWNlIGlzIGRpc2FibGVkLCBub25lIG9mIGl0J3MgZmVhdHVyZXMgd2lsbCB3b3JrXHJcbiAgICAgKiBUaGlzIGlzIHVzZWQgdG8gYmxvY2sgYWxsIGRpYWxvZyBmZWF0dXJlcyBub3JtYWxseSB3aGVuIHNodXR0aW5nIGRvd24gdGhlIGFwcGxpY2F0aW9uXHJcbiAgICAgKlxyXG4gICAgICogVXNlIHdpdGggY2F1dGlvbi4gV2hlbiB0aGlzIGlzIHNldCB0byBmYWxzZSwgZGlhbG9nIHNlcnZpY2Ugc3RvcHMgd29ya2luZy5cclxuICAgICAqL1xyXG4gICAgc2V0IGlzRW5hYmxlZCh2OiBib29sZWFuKSB7XHJcblxyXG4gICAgICAgIGlmICh2ID09PSB0aGlzLl9pc0VuYWJsZWQpIHtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX2lzRW5hYmxlZCA9IHY7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRW5hYmxlcyBhIHdhcm5pbmcgdGhhdCB3aWxsIGJlIHNob3duIHRvIHRoZSB1c2VyIHdoZW4gaGUvc2hlIHRyaWVzIHRvIGNsb3NlIHRoZSBhcHBsaWNhdGlvbi5cclxuICAgICAqIFRoaXMgd2FybmluZyB3aWxsIHByb21wdCB0aGUgdXNlciB0byBjb250aW51ZSB3aXRoIHRoZSBleGl0IHByb2Nlc3Mgb3IgY2FuY2VsIGl0LlxyXG4gICAgICogVGhlIHNwZWNpZmljIHRleHRzIG9mIHRoaXMgbWVzc2FnZSBhcmUgYSBnZW5lcmljIG9uZXMgYW5kIGNhbm5vdCBiZSBjaGFuZ2VkLlxyXG4gICAgICpcclxuICAgICAqIElNUE9SVEFOVDogVGhpcyBtZXRob2QgbXVzdCBiZSBjYWxsZWQgYWZ0ZXIgdGhlIG1haW4gYXBwbGljYXRpb24gaGFzIGJlZW4gaW5pdGlhbGl6ZWQgaW4gb3JkZXIgdG8gd29yayxcclxuICAgICAqIG90aGVyd2lzZSBpdCB3aWxsIGRvIG5vdGhpbmcuXHJcbiAgICAgKi9cclxuICAgIGFkZENsb3NlQXBwbGljYXRpb25XYXJuaW5nKCkge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fd2luZG93QmVmb3JlVW5sb2FkVW5MaXN0ZW4gPT09IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX3dpbmRvd0JlZm9yZVVubG9hZFVuTGlzdGVuID0gdGhpcy5fcmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAnYmVmb3JldW5sb2FkJyxcclxuICAgICAgICAgICAgICAgIChldmVudCkgPT4gZXZlbnQucmV0dXJuVmFsdWUgPSB0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlIHRoZSBjbG9zZSBhcHBsaWNhdGlvbiB3YXJuaW5nIG1lc3NhZ2UgaWYgcHJldmlvdXNseSBhc3NpZ25lZFxyXG4gICAgICovXHJcbiAgICByZW1vdmVDbG9zZUFwcGxpY2F0aW9uV2FybmluZygpIHtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX3dpbmRvd0JlZm9yZVVubG9hZFVuTGlzdGVuICE9PSBudWxsKSB7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl93aW5kb3dCZWZvcmVVbmxvYWRVbkxpc3RlbigpO1xyXG4gICAgICAgICAgICB0aGlzLl93aW5kb3dCZWZvcmVVbmxvYWRVbkxpc3RlbiA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoYW5nZSB0aGUgYXBwbGljYXRpb24gdmlzdWFsIGFwcGVhcmFuY2Ugc28gdGhlIHVzZXIgcGVyY2VpdmVzIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGlzXHJcbiAgICAgKiBjdXJyZW50bHkgYnVzeS4gV2hpbGUgbW9kYWwgYnVzeSBzdGF0ZSBpcyBlbmFibGVkLCBubyB1c2VyIGlucHV0IGlzIHBvc3NpYmxlIG5laXRoZXIgdmlhXHJcbiAgICAgKiBrZXlib2FyZCwgbW91c2Ugb3IgdG91Y2guIFVzZSB0aGlzIHN0YXRlIHdoZW4gcGVyZm9ybWluZyBzZXJ2ZXIgcmVxdWVzdHMgb3Igb3BlcmF0aW9ucyB0aGF0XHJcbiAgICAgKiBtdXN0IGJsb2NrIHRoZSB1c2VyIGludGVyYWN0aW9uIHdpdGggdGhlIGFwcGxpY2F0aW9uLlxyXG4gICAgICpcclxuICAgICAqIE5vdGU6IFdlIGNhbiBtb2RpZnkgdGhlIGJ1c3kgc3RhdGUgY29tcG9uZW50IHRoYXQgaXMgc2hvd24gYnkgdGhpcyBtZXRob2QuIFRvIGRvIGl0LCB3ZSBtdXN0XHJcbiAgICAgKiBzZXQgdGhpcy5jdXN0b21CdXN5U3RhdGVDb21wb25lbnRDbGFzcyBwcm9wZXJ0eSB3aXRoIG91ciBvd24gY3VzdG9tIGJ1c3kgc3RhdGUgY29tcG9uZW50IGNsYXNzLiAoV2UgY2FuIGRvIGl0IGF0XHJcbiAgICAgKiBvdXIgbWFpbiBhcHBsaWNhdGlvbiBjb21wb25lbnQgY29uc3RydWN0b3IgZm9yIGV4YW1wbGUpLiBPdXIgY3VzdG9tIGNvbXBvbmVudCBtdXN0IGV4dGVuZCB0aGVcclxuICAgICAqIEJ1c3lTdGF0ZUJhc2VDb21wb25lbnQgb25lIHRvIGFkZCBpdHMgb3duIHZpc3VhbCBhcHBlYXJhbmNlLlxyXG4gICAgICpcclxuICAgICAqIEBzZWUgdGhpcy5jdXN0b21CdXN5U3RhdGVDb21wb25lbnRDbGFzc1xyXG4gICAgICovXHJcbiAgICBhZGRNb2RhbEJ1c3lTdGF0ZSgpIHtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl9pc0VuYWJsZWQgfHwgdGhpcy5faXNTaG93aW5nQnVzeVN0YXRlKSB7XHJcblxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9kaXNhYmxlVXNlckludGVyYWN0aW9uKCk7XHJcblxyXG4gICAgICAgIC8vIER5bmFtaWNhbGx5IGNyZWF0ZSB0aGUgYnVzeSBzdGF0ZSBjb21wb25lbnQgcmVmZXJlbmNlIGlmIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWVcclxuICAgICAgICBpZiAodGhpcy5fY29tcG9uZW50UG9ydGFsID09PSBudWxsKSB7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKHRoaXMuY3VzdG9tQnVzeVN0YXRlQ29tcG9uZW50Q2xhc3MpO1xyXG5cclxuICAgICAgICAgICAgLy8gQ3JlYXRlIGEgUG9ydGFsSG9zdCB3aXRoIGRvY3VtZW50LmJvZHkgYXMgaXRzIGFuY2hvciBlbGVtZW50XHJcbiAgICAgICAgICAgIHRoaXMuX21vZGFsQnVzeVN0YXRlSG9zdCA9IG5ldyBEb21Qb3J0YWxPdXRsZXQoXHJcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keSxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcGxpY2F0aW9uUmVmLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0b3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgKHRoaXMuX21vZGFsQnVzeVN0YXRlSG9zdCBhcyBEb21Qb3J0YWxPdXRsZXQpLmF0dGFjaCh0aGlzLl9jb21wb25lbnRQb3J0YWwpO1xyXG5cclxuICAgICAgICB0aGlzLl9pc1Nob3dpbmdCdXN5U3RhdGUgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRlbGxzIGlmIHRoZSBhcHBsaWNhdGlvbiBpcyBjdXJyZW50bHkgbG9ja2VkIGluIGEgbW9kYWwgYnVzeSBzdGF0ZSAoY2F1c2VkIGJ5IGFuIGFkZE1vZGFsQnVzeVN0YXRlKCkgY2FsbClcclxuICAgICAqL1xyXG4gICAgZ2V0IGlzU2hvd2luZ0J1c3lTdGF0ZSgpIHtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzU2hvd2luZ0J1c3lTdGF0ZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZW1vdmUgdGhlIGFwcGxpY2F0aW9uIGJ1c3kgc3RhdGUgYW5kIHJlc3RvcmUgaXQgYmFjayB0byBub3JtYWwgdXNlciBpbnRlcmFjdGlvblxyXG4gICAgICovXHJcbiAgICByZW1vdmVNb2RhbEJ1c3lTdGF0ZSgpIHtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl9pc0VuYWJsZWQgfHwgIXRoaXMuX2lzU2hvd2luZ0J1c3lTdGF0ZSkge1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX2NvbXBvbmVudFBvcnRhbCAhPT0gbnVsbCkge1xyXG5cclxuICAgICAgICAgICAgKHRoaXMuX21vZGFsQnVzeVN0YXRlSG9zdCBhcyBEb21Qb3J0YWxPdXRsZXQpLmRldGFjaCgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fZW5hYmxlVXNlckludGVyYWN0aW9uKCk7XHJcblxyXG4gICAgICAgIHRoaXMuX2lzU2hvd2luZ0J1c3lTdGF0ZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogVE9ETyAtIGFkYXB0IGZyb20gVFMgdmVyc2lvblxyXG4gICAgICovXHJcbiAgICBhZGRUb29sVGlwKCkge1xyXG5cclxuICAgICAgICAvLyBUT0RPIC0gYWRhcHQgZnJvbSBUUyB2ZXJzaW9uXHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2hvdyBhIG5vbiBtb2RhbCBzbmFja2JhciBub3RpZmljYXRpb24gdG8gdGhlIHVzZXIgKE9ubHkgb25lIHNuYWNrLWJhciBjYW4gZXZlciBiZSBvcGVuZWQgYXQgdGhlIHNhbWUgdGltZSkuXHJcbiAgICAgKlxyXG4gICAgICogU25hY2tiYXJzIGluZm9ybSB1c2VycyBvZiBhIHByb2Nlc3MgdGhhdCBhbiBhcHAgaGFzIHBlcmZvcm1lZCBvciB3aWxsIHBlcmZvcm0uIFRoZXkgYXBwZWFyIHRlbXBvcmFyaWx5LCB0b3dhcmRzIHRoZSBib3R0b20gb3IgdG9wIG9mIHRoZSBzY3JlZW4uXHJcbiAgICAgKiBUaGV5IHNob3VsZG7igJl0IGludGVycnVwdCB0aGUgdXNlciBleHBlcmllbmNlLCBhbmQgdGhleSBkb27igJl0IHJlcXVpcmUgdXNlciBpbnB1dCB0byBkaXNhcHBlYXIuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGNvbmZpZyBBIE1hdFNuYWNrQmFyQ29uZmlnIGluc3RhbmNlIHdpdGggdGhlIGN1c3RvbWl6YXRpb25zIHdlIHdhbnQgZm9yIHRoaXMgc25hY2tiYXJcclxuICAgICAqIEBwYXJhbSBtZXNzYWdlIFRoZSBtZXNzYWdlIHRvIHNob3cgb24gdGhlIHNuYWNrYmFyXHJcbiAgICAgKiBAcGFyYW0gYWN0aW9uIElmIG5vdCBlbXB0eSwgdGhlIHRleHQgdG8gcGxhY2Ugb24gdGhlIHNuYWNrYmFyIGNvbmZpcm1hdGlvbiBidXR0b25cclxuICAgICAqIEBwYXJhbSBhY3Rpb25DYWxsYmFjayBBIG1ldGhvZCB0byBleGVjdXRlIG9uY2UgdGhlIHVzZXIgY2xpY2tzIGludG8gdGhlIGFjdGlvbiBidXR0b24uXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybiB2b2lkXHJcbiAgICAgKi9cclxuICAgIGFkZFNuYWNrQmFyKGNvbmZpZzogTWF0U25hY2tCYXJDb25maWcsIG1lc3NhZ2U6IHN0cmluZywgYWN0aW9uID0gJycsIGFjdGlvbkNhbGxiYWNrOiAoKCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbCkge1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuX2lzRW5hYmxlZCkge1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX2lzU2hvd2luZ1NuYWNrQmFyKSB7XHJcblxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RyeWluZyB0byBzaG93IGEgc25hY2tiYXIgd2hpbGUgYW5vdGhlciBvbmUgaXMgc3RpbGwgdmlzaWJsZScpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5faXNTaG93aW5nU25hY2tCYXIgPSB0cnVlO1xyXG5cclxuICAgICAgICBjb25zdCBzbmFja0JhclJlZiA9IHRoaXMubWF0U25hY2tCYXIub3BlbihtZXNzYWdlLCBhY3Rpb24gPT09ICcnID8gdW5kZWZpbmVkIDogYWN0aW9uLCBjb25maWcpO1xyXG5cclxuICAgICAgICBpZiAoYWN0aW9uQ2FsbGJhY2sgIT09IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAgIHNuYWNrQmFyUmVmLm9uQWN0aW9uKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICBhY3Rpb25DYWxsYmFjaygpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGVsbHMgaWYgdGhlIGFwcGxpY2F0aW9uIGlzIGN1cnJlbnRseSBzaG93aW5nIGEgc25hY2tiYXIgb3Igbm90XHJcbiAgICAgKi9cclxuICAgIGdldCBpc1Nob3dpbmdTbmFja0JhcigpIHtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzU2hvd2luZ1NuYWNrQmFyO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZvcmNlIHRoZSByZW1vdmFsIG9mIHRoZSBzbmFjayBiYXIgZGlhbG9nIGlmIGl0IGV4aXN0cy5cclxuICAgICAqXHJcbiAgICAgKiBJZiBubyBzbmFja2JhciBpcyBjdXJyZW50bHkgdmlzaWJsZSwgdGhpcyBtZXRob2Qgd2lsbCBkbyBub3RoaW5nXHJcbiAgICAgKi9cclxuICAgIHJlbW92ZVNuYWNrQmFyKCkge1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuX2lzRW5hYmxlZCB8fCAhdGhpcy5faXNTaG93aW5nU25hY2tCYXIpIHtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMubWF0U25hY2tCYXIuZGlzbWlzcygpO1xyXG5cclxuICAgICAgICB0aGlzLl9pc1Nob3dpbmdTbmFja0JhciA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNob3cgYSBkaWFsb2cgd2l0aCBvbmUgb3IgbW9yZSBvcHRpb25zIHRoYXQgY2FuIGJlIHVzZWQgdG8gY2xvc2UgaXQuIFdlIGNhbiB1c2UgYW55IG9mIHRoZSBwcmVkZWZpbmVkIGRpYWxvZyB0eXBlcyB0aGF0IGFyZSBidW5kbGVkIHdpdGhcclxuICAgICAqIHRoaXMgbGlicmFyeSBvciBleHRlbmQgRGlhbG9nT3B0aW9uc0Jhc2VDb21wb25lbnQgdG8gY3JlYXRlIG91ciBvd24gY3VzdG9tIG9uZXMuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHdpZHRoIFNwZWNpZnkgdGhlIGNzcyB2YWx1ZSBmb3IgdGhlIG1heGltdW0gd2lkdGggdGhlIGRpYWxvZyB3aWxsIGhhdmUuIEFzIHRoZSBkaWFsb2cgaXMgcmVzcG9uc2l2ZSwgdGhlIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseVxyXG4gICAgICAgICAgICAgIHJlZHVjZWQgaWYgdGhlIGF2YWlsYWJsZSBzY3JlZW4gaXMgbm90IGVub3VnaCwgYW5kIHdpbGwgcmVhY2ggdGhlIGRlc2lyZWQgdmFsdWUgb3RoZXJ3aXNlLiBOb3RlIHRoYXQgaGVpZ2h0IHdpbGwgYmUgYWRhcHRlZCB0byB0aGUgY29udGVudHNcclxuICAgICAgICAgICAgICBvZiB0aGUgZGlhbG9nIGFuZCBjYW5ub3QgYmUgc3BlY2lmaWVkIGhlcmUuIFdlIGNhbiBzZXQgYSBwaXhlbHMsICUgb3IgYW55IG90aGVyIGNzcyBhY2NlcHRlZCB2YWx1ZS4gRm9yIGV4YW1wbGU6ICc0MDBweCcsICc1MCUnLCBldGMuXHJcbiAgICAgKiBAcGFyYW0gdGV4dHMgQSBsaXN0IHdpdGggc3RyaW5ncyBjb250YWluaW5nIHRoZSBkaWFsb2cgdGV4dHMsIHNvcnRlZCBieSBpbXBvcnRhbmNlLiBXaGVuIGRpYWxvZyBoYXMgYSB0aXRsZSwgdGhpcyBzaG91bGRcclxuICAgICAqICAgICAgICBiZSBwbGFjZWQgZmlyc3QsIHN1YnRpdGxlIHNlY29uZCBhbmQgc28gKEVhY2ggZGlhbG9nIG1heSBhY2NlcHQgZGlmZmVyZW50IG51bWJlciBvZiB0ZXh0cykuXHJcbiAgICAgKiBAcGFyYW0gb3B0aW9ucyBBIGxpc3Qgb2Ygc3RyaW5ncyB0aGF0IHdpbGwgYmUgdXNlZCBhcyBidXR0b24gY2FwdGlvbnMgZm9yIGVhY2ggb25lIG9mIHRoZSBhY2NlcHRlZCBkaWFsb2cgb3B0aW9uc1xyXG4gICAgICogQHBhcmFtIGRpYWxvZ0NvbXBvbmVudENsYXNzIEEgY2xhc3MgZm9yIGEgY29tcG9uZW50IHRoYXQgZXh0ZW5kcyBEaWFsb2dPcHRpb25zQmFzZUNvbXBvbmVudCwgd2hpY2ggd2lsbCBiZSB0aGVcclxuICAgICAqICAgICAgICBkaWFsb2cgdmlzdWFsIGVsZW1lbnQgdGhhdCBpcyBzaG93biB0byB0aGUgdXNlci5cclxuICAgICAqIEBwYXJhbSBjYWxsYmFjayBBIGZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBjYWxsZWQgYWZ0ZXIgdGhlIGRpYWxvZyBpcyBjbG9zZWQgYW5kIHdpbGwgcmVjZWl2ZSBhbiBvYmplY3Qgd2l0aCB0aGUgbnVtZXJpYyBpbmRleCBhbmQgdmFsdWUgZm9yXHJcbiAgICAgKiAgICAgICAgdGhlIG9wdGlvbiB0aGF0J3MgYmVlbiBzZWxlY3RlZCBieSB0aGUgdXNlci4gaWYgbm8gb3B0aW9uIHdhcyBzZWxlY3RlZCwgdGhlIHZhbHVlIHdpbGwgYmUgLTFcclxuICAgICAqIEBwYXJhbSBtb2RhbCBUcnVlIChkZWZhdWx0KSBpZiBzZWxlY3RpbmcgYW4gb3B0aW9uIGlzIG1hbmRhdG9yeSB0byBjbG9zZSB0aGUgZGlhbG9nLCBmYWxzZSBpZiB0aGUgZGlhbG9nIGNhbiBiZSBjbG9zZWRcclxuICAgICAqICAgICAgICBieSB0aGUgdXNlciBieSBjbGlja2luZyBvdXRzaWRlIGl0IFxyXG4gICAgICogQHBhcmFtIG1heFdpZHRoIERlZmluZXMgdGhlIG1heGltdW0gd2lkdGggdGhhdCB0aGUgZGlhbG9nIHdpbGwgaGF2ZSByZWdhcmRpbmcgdGhlIHZpZXdwb3J0LiBXZSBjYW4gc3BlY2lmeSBpdCBpbiAlIG9yIHZ3LCBqdXN0IGxpa2UgaXMgZG9uZSBpblxyXG4gICAgICogICAgICAgIGNzcy4gQnkgZGVmYXVsdCBpdCBpcyBkZWZpbmVkIGFzIDk2dncsIHdoaWNoIHdpbGwgZml0IDk2JSBvZiB0aGUgdmlld3BvcnQgb24gc21hbGwgZGV2aWNlc1xyXG4gICAgICovXHJcbiAgICBhZGREaWFsb2coZGlhbG9nQ29tcG9uZW50Q2xhc3M6IFR5cGU8RGlhbG9nT3B0aW9uc0Jhc2VDb21wb25lbnQ+LFxyXG4gICAgICAgICAgICAgIG9wdGlvbnM6IHt3aWR0aD86IHN0cmluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4V2lkdGg/OiBzdHJpbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD86IHN0cmluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4SGVpZ2h0Pzogc3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RhbD86IGJvb2xlYW4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRzPzogc3RyaW5nW10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhcHRpb25zPzogc3RyaW5nW119LCBcclxuICAgICAgICAgICAgICBjYWxsYmFjazogbnVsbCB8ICgoc2VsZWN0ZWRPcHRpb246IHtpbmRleDpudW1iZXIsIHZhbHVlOiBhbnl9KSA9PiB2b2lkKSA9IG51bGwpIHtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl9pc0VuYWJsZWQpIHtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8gU2V0IHRoZSBkZWZhdWx0IHZhbHVlcyBmb3IgYWxsIG5vbiBzcGVjaWZpZWQgdmlzdWFsIG9wdGlvbnNcclxuICAgICAgICBvcHRpb25zLndpZHRoID0gb3B0aW9ucy5oYXNPd25Qcm9wZXJ0eSgnd2lkdGgnKSA/IG9wdGlvbnMud2lkdGggOiBcIjUwJVwiO1xyXG4gICAgICAgIG9wdGlvbnMubWF4V2lkdGggPSBvcHRpb25zLmhhc093blByb3BlcnR5KCdtYXhXaWR0aCcpID8gb3B0aW9ucy5tYXhXaWR0aCA6IFwiOTZ2d1wiO1xyXG4gICAgICAgIG9wdGlvbnMuaGVpZ2h0ID0gb3B0aW9ucy5oYXNPd25Qcm9wZXJ0eSgnaGVpZ2h0JykgPyBvcHRpb25zLmhlaWdodCA6IFwiNTAlXCI7XHJcbiAgICAgICAgb3B0aW9ucy5tYXhIZWlnaHQgPSBvcHRpb25zLmhhc093blByb3BlcnR5KCdtYXhIZWlnaHQnKSA/IG9wdGlvbnMubWF4SGVpZ2h0IDogXCI5MnZ3XCI7XHJcbiAgICAgICAgb3B0aW9ucy5tb2RhbCA9IG9wdGlvbnMuaGFzT3duUHJvcGVydHkoJ21vZGFsJykgPyBvcHRpb25zLm1vZGFsIDogdHJ1ZTtcclxuICAgICAgICBvcHRpb25zLnRleHRzID0gb3B0aW9ucy5oYXNPd25Qcm9wZXJ0eSgndGV4dHMnKSA/IG9wdGlvbnMudGV4dHMgOiBbXTtcclxuICAgICAgICBvcHRpb25zLmNhcHRpb25zID0gb3B0aW9ucy5oYXNPd25Qcm9wZXJ0eSgnY2FwdGlvbnMnKSA/IG9wdGlvbnMuY2FwdGlvbnMgOiBbXTtcclxuXHJcbiAgICAgICAgLy8gR2VuZXJhdGUgYSBzdHJpbmcgdG8gdW5pcXVlbHkgaWRlbnRpZnkgdGhpcyBkaWFsb2cgb24gdGhlIGxpc3Qgb2YgYWN0aXZlIGRpYWxvZ3NcclxuICAgICAgICBjb25zdCBkaWFsb2dIYXNoID0gb3B0aW9ucy50ZXh0cyEuam9pbignJykgKyBvcHRpb25zLmNhcHRpb25zIS5qb2luKCcnKSArIGRpYWxvZ0NvbXBvbmVudENsYXNzLm5hbWU7XHJcblxyXG4gICAgICAgIC8vIGlkZW50aWNhbCBkaWFsb2dzIHdvbid0IGJlIGFsbG93ZWQgYXQgdGhlIHNhbWUgdGltZVxyXG4gICAgICAgIGlmICh0aGlzLl9hY3RpdmVEaWFsb2dzLmluY2x1ZGVzKGRpYWxvZ0hhc2gpKSB7XHJcblxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLm1hdERpYWxvZy5vcGVuKGRpYWxvZ0NvbXBvbmVudENsYXNzLCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBvcHRpb25zLndpZHRoLFxyXG4gICAgICAgICAgICBtYXhXaWR0aDogb3B0aW9ucy5tYXhXaWR0aCxcclxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiBvcHRpb25zLm1vZGFsLFxyXG4gICAgICAgICAgICBhdXRvRm9jdXM6IGZhbHNlLFxyXG4gICAgICAgICAgICBjbG9zZU9uTmF2aWdhdGlvbjogIW9wdGlvbnMubW9kYWwsXHJcbiAgICAgICAgICAgIGRhdGE6IHsgdGV4dHM6IG9wdGlvbnMudGV4dHMsIG9wdGlvbnM6IG9wdGlvbnMuY2FwdGlvbnMgfVxyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuX2FjdGl2ZURpYWxvZ3MucHVzaChkaWFsb2dIYXNoKTtcclxuICAgICAgICB0aGlzLl9hY3RpdmVEaWFsb2dJbnN0YW5jZXMucHVzaChkaWFsb2dSZWYpO1xyXG5cclxuICAgICAgICBkaWFsb2dSZWYuYmVmb3JlQ2xvc2VkKCkuc3Vic2NyaWJlKChzZWxlY3RlZE9wdGlvbkluZGV4OiBhbnkpID0+IHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX2FjdGl2ZURpYWxvZ3MgPSBBcnJheVV0aWxzLnJlbW92ZUVsZW1lbnQodGhpcy5fYWN0aXZlRGlhbG9ncywgZGlhbG9nSGFzaCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2FjdGl2ZURpYWxvZ0luc3RhbmNlcyA9IEFycmF5VXRpbHMucmVtb3ZlRWxlbWVudCh0aGlzLl9hY3RpdmVEaWFsb2dJbnN0YW5jZXMsIGRpYWxvZ1JlZik7XHJcblxyXG4gICAgICAgICAgICBpZiAoIU51bWVyaWNVdGlscy5pc0ludGVnZXIoc2VsZWN0ZWRPcHRpb25JbmRleCkpIHtcclxuXHJcbiAgICAgICAgICAgICAgICBpZihvcHRpb25zLm1vZGFsKXtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGRpYWxvZ1JlZi5jbG9zZSgpIGV4cGVjdHMgaW50IHZhbHVlYCk7XHJcblxyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRPcHRpb25JbmRleCA9IC0xO1xyXG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGNhbGxiYWNrICE9PSBudWxsKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkT3B0aW9uID0ge2luZGV4OiBzZWxlY3RlZE9wdGlvbkluZGV4LCB2YWx1ZTogJyd9O1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBpZihzZWxlY3RlZE9wdGlvbkluZGV4ID49IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9uLnZhbHVlID0gb3B0aW9ucy5jYXB0aW9ucyFbc2VsZWN0ZWRPcHRpb25JbmRleF07XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgKGNhbGxiYWNrIGFzICgoc2VsZWN0ZWRPcHRpb246IHtpbmRleDpudW1iZXIsIHZhbHVlOiBzdHJpbmd9KSA9PiB2b2lkKSkoc2VsZWN0ZWRPcHRpb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBGb3JjZSB0aGUgcmVtb3ZhbCBvZiBhbGwgdGhlIGRpYWxvZ3MgdGhhdCBhcmUgY3VycmVudGx5IHZpc2libGUuXHJcbiAgICAgKlxyXG4gICAgICogSWYgbm8gZGlhbG9ncyBhcmUgY3VycmVudGx5IHZpc2libGUsIHRoaXMgbWV0aG9kIHdpbGwgZG8gbm90aGluZ1xyXG4gICAgICovXHJcbiAgICByZW1vdmVBbGxEaWFsb2dzKCkge1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuX2lzRW5hYmxlZCkge1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBkaWFsb2dSZWYgb2YgdGhpcy5fYWN0aXZlRGlhbG9nSW5zdGFuY2VzKSB7XHJcblxyXG4gICAgICAgICAgICBkaWFsb2dSZWYuY2xvc2UoLTEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICB0aGlzLl9hY3RpdmVEaWFsb2dzID0gW107XHJcbiAgICAgICAgdGhpcy5fYWN0aXZlRGlhbG9nSW5zdGFuY2VzID0gW107XHJcbiAgICB9XHJcbiAgICBcclxuICAgIFxyXG4gICAgYWRkRGF0ZVNlbGVjdGlvbkRpYWxvZyhvcHRpb25zOiB7d2lkdGg/OiBzdHJpbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhXaWR0aD86IHN0cmluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD86IHN0cmluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heEhlaWdodD86IHN0cmluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGFsPzogYm9vbGVhbn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBzdHJpbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiAoKHNlbGVjdGVkRGF0ZTogbnVsbCB8IERhdGUpID0+IHZvaWQpKSB7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5faXNFbmFibGVkKSB7XHJcblxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIHRoaXMuYWRkRGlhbG9nKERpYWxvZ0RhdGVTZWxlY3Rpb25Db21wb25lbnQsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBvcHRpb25zLndpZHRoLFxyXG4gICAgICAgICAgICAgICAgbWF4V2lkdGg6IG9wdGlvbnMubWF4V2lkdGgsXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG9wdGlvbnMuaGVpZ2h0LFxyXG4gICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBvcHRpb25zLm1heEhlaWdodCxcclxuICAgICAgICAgICAgICAgIG1vZGFsOiBvcHRpb25zLm1vZGFsLFxyXG4gICAgICAgICAgICAgICAgdGV4dHM6IFt0aXRsZV0gICBcclxuICAgICAgICAgICAgfSwoc2VsZWN0ZWRPcHRpb24pID0+IHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBpZihzZWxlY3RlZE9wdGlvbi5pbmRleCA8IDApe1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhzZWxlY3RlZE9wdGlvbi52YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQmxvY2sgYWxsIHRoZSB1c2VyIGludGVyYWN0aW9ucyB3aXRoIHRoZSBhcHBsaWNhdGlvbiAoa2V5Ym9hcmQsIHRvdWNoLCBtb3VzZSwgLi4uKVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9kaXNhYmxlVXNlckludGVyYWN0aW9uKCkge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fZG9jdW1lbnRLZXlkb3duVW5saXN0ZW4gPT09IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX2RvY3VtZW50S2V5ZG93blVubGlzdGVuID0gdGhpcy5fcmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdrZXlkb3duJywgKGV2ZW50KSA9PiBldmVudC5wcmV2ZW50RGVmYXVsdCgpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9kb2N1bWVudE1vdXNlZG93blVubGlzdGVuID09PSBudWxsKSB7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9kb2N1bWVudE1vdXNlZG93blVubGlzdGVuID0gdGhpcy5fcmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdtb3VzZWRvd24nLCAoZXZlbnQpID0+IGV2ZW50LnByZXZlbnREZWZhdWx0KCkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX2RvY3VtZW50UG9pbnRlcmRvd25Vbmxpc3RlbiA9PT0gbnVsbCkge1xyXG5cclxuICAgICAgICAgICAgdGhpcy5fZG9jdW1lbnRQb2ludGVyZG93blVubGlzdGVuID0gdGhpcy5fcmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdwb2ludGVyZG93bicsIChldmVudCkgPT4gZXZlbnQucHJldmVudERlZmF1bHQoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlc3RvcmUgdGhlIHVzZXIgaW50ZXJhY3Rpb25zIHRoYXQgd2VyZSBwcmV2aW91c2x5IGRpc2FibGVkIHdpdGggX2Rpc2FibGVVc2VySW50ZXJhY3Rpb24gbWV0aG9kXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2VuYWJsZVVzZXJJbnRlcmFjdGlvbigpIHtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX2RvY3VtZW50S2V5ZG93blVubGlzdGVuICE9PSBudWxsKSB7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9kb2N1bWVudEtleWRvd25Vbmxpc3RlbigpO1xyXG4gICAgICAgICAgICB0aGlzLl9kb2N1bWVudEtleWRvd25Vbmxpc3RlbiA9IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5fZG9jdW1lbnRNb3VzZWRvd25Vbmxpc3RlbiAhPT0gbnVsbCkge1xyXG5cclxuICAgICAgICAgICAgdGhpcy5fZG9jdW1lbnRNb3VzZWRvd25Vbmxpc3RlbigpO1xyXG4gICAgICAgICAgICB0aGlzLl9kb2N1bWVudE1vdXNlZG93blVubGlzdGVuID0gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9kb2N1bWVudFBvaW50ZXJkb3duVW5saXN0ZW4gIT09IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX2RvY3VtZW50UG9pbnRlcmRvd25Vbmxpc3RlbigpO1xyXG4gICAgICAgICAgICB0aGlzLl9kb2N1bWVudE1vdXNlZG93blVubGlzdGVuID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -52,7 +52,11 @@ export class HTTPService extends HTTPManager {
52
52
  if (StringUtils.isEmpty(errorMsg)) {
53
53
  errorMsg = 'Unknown error. Make sure Internet connection is available';
54
54
  }
55
- this.dialogService.addDialog('600px', ['Error: ' + result.code, errorMsg], ['Ok'], DialogErrorComponent);
55
+ this.dialogService.addDialog(DialogErrorComponent, {
56
+ width: '600px',
57
+ texts: ['Error: ' + result.code, errorMsg],
58
+ captions: ['Ok']
59
+ });
56
60
  }
57
61
  }
58
62
  }
@@ -67,4 +71,4 @@ export class HTTPService extends HTTPManager {
67
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: HTTPService, decorators: [{
68
72
  type: Injectable
69
73
  }], ctorParameters: () => [{ type: i1.DialogService }] });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVyYm9ndWktYW5ndWxhci9zcmMvbWFpbi9jb250cm9sbGVyL2h0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUEwQixXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3REFBd0QsQ0FBQzs7O0FBRzlGOztHQUVHO0FBRUgsTUFBTSxPQUFPLFdBQVksU0FBUSxXQUFXO0lBR3hDOzs7T0FHRzthQUNhLHdCQUFtQixHQUFHLHFCQUFxQixBQUF4QixDQUF5QjtJQUc1RDs7O09BR0c7YUFDYSwyQkFBc0IsR0FBRyx3QkFBd0IsQUFBM0IsQ0FBNEI7SUFHbEUsWUFBbUIsYUFBNEI7UUFFM0MsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRkcsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFHL0MsQ0FBQztJQUdEOzs7Ozs7O09BT0c7SUFDSCxPQUFPLENBQUMsUUFBeUUsRUFDekUsbUJBQThJLElBQUksRUFDbEosbUJBQW1GLElBQUksRUFDdkYsVUFBZ0csRUFBRTtRQUV0RyxJQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxFQUFDO1lBRXJELElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUN6QztRQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBRTFDLElBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEVBQUM7Z0JBRXBELElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzthQUM3QztZQUVELElBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLFFBQVEsRUFBQztnQkFFckUsS0FBSSxJQUFJLE1BQU0sSUFBSSxPQUFPLEVBQUM7b0JBRXRCLElBQUcsTUFBTSxDQUFDLE9BQU8sRUFBQzt3QkFFZCxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO3dCQUUxRCxJQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUM7NEJBRTdCLFFBQVEsR0FBRywyREFBMkQsQ0FBQzt5QkFDMUU7d0JBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO3FCQUM1RztpQkFDSjthQUNKO1lBRUQsSUFBRyxnQkFBZ0IsS0FBSyxJQUFJLEVBQUM7Z0JBRXpCLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQzthQUN2QztRQUVKLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzFCLENBQUM7OEdBeEVRLFdBQVc7a0hBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUdXJib0dVSSBpcyBBIGxpYnJhcnkgdGhhdCBoZWxwcyB3aXRoIHRoZSBtb3N0IGNvbW1vbiBhbmQgZ2VuZXJpYyBVSSBlbGVtZW50cyBhbmQgZnVuY3Rpb25hbGl0aWVzXHJcbiAqXHJcbiAqIFdlYnNpdGUgOiAtPiBodHRwOi8vd3d3LnR1cmJvZ3VpLm9yZ1xyXG4gKiBMaWNlbnNlIDogLT4gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMC4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxyXG4gKiBMaWNlbnNlIFVybCA6IC0+IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxyXG4gKiBDb3B5UmlnaHQgOiAtPiBDb3B5cmlnaHQgMjAxOCBFZGVydG9uZSBBZHZhbmRlZCBTb2x1dGlvbnMuIGh0dHBzOi8vd3d3LmVkZXJ0b25lLmNvbVxyXG4gKi9cclxuXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSFRUUE1hbmFnZXIsIEhUVFBNYW5hZ2VyQmFzZVJlcXVlc3QsIFN0cmluZ1V0aWxzIH0gZnJvbSAndHVyYm9jb21tb25zLXRzJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4vZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaWFsb2dFcnJvckNvbXBvbmVudCB9IGZyb20gJy4uL3ZpZXcvY29tcG9uZW50cy9kaWFsb2ctZXJyb3IvZGlhbG9nLWVycm9yLmNvbXBvbmVudCc7XHJcblxyXG5cclxuLyoqXHJcbiAqIE1hbmFnZXMgYXBwbGljYXRpb24gaHR0cCBjb21tdW5pY2F0aW9uc1xyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSFRUUFNlcnZpY2UgZXh0ZW5kcyBIVFRQTWFuYWdlciB7XHJcbiAgICBcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBleGVjdXRlKCkgbWV0aG9kIG9wdGlvbiB0aGF0IHRlbGxzIHRoZSBzZXJ2aWNlIHRvIGF2b2lkIGJsb2NraW5nIHRoZSB1c2VyIGludGVyZmFjZSB3aXRoIGEgbW9kYWwgYnVzeSBzdGF0ZSB3aGlsZSB0aGUgcmVxdWVzdHMgdGhhdCBhcmVcclxuICAgICAqIGxhdW5jaGVkIGJ5IHRoZSBleGVjdXRlIG1ldGhvZCBhcmUgcnVubmluZy5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IE5PX01PREFMX0JVU1lfU1RBVEUgPSAnTk9fTU9EQUxfQlVTWV9TVEFURSc7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogZXhlY3V0ZSgpIG1ldGhvZCBvcHRpb24gdGhhdCB0ZWxscyB0aGUgc2VydmljZSB0byBza2lwIHNob3dpbmcgYW4gZXJyb3IgZGlhbG9nIHdoZW4gYSByZXF1ZXN0IGZhaWxzLiBXZSBub3JtYWxseSB1c2UgdGhpcyB0byBoYW5kbGUgdGhlXHJcbiAgICAgKiBlcnJvcnMgYnkgb3Vyc2VsdmVzIG9yIGlmIHdlIHdhbnQgdG8gaGlkZSB0aGUgZXJyb3IgZGlhbG9nIGZvciBhIHNwZWNpZmljIHJlcXVlc3QuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyByZWFkb25seSBESVNBQkxFX0VSUk9SX0hBTkRMSU5HID0gJ0RJU0FCTEVfRVJST1JfSEFORExJTkcnO1xyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSkge1xyXG5cclxuICAgICAgICBzdXBlcih0cnVlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBzYW1lIG1ldGhvZCBhcyBIVFRQTWFuYWdlci5leGVjdXRlIGJ1dCB3aXRoIHRoZSBhYmlsaXR5IHRvIGVuYWJsZSBzZXZlcmFsIG9wdGlvbnMgd2hpY2ggYXJlIHNwZWNpZmljIHRvIHRoaXMgc2VydmljZTpcclxuICAgICAqXHJcbiAgICAgKiAtIEhUVFBTZXJ2aWNlLk5PX01PREFMX0JVU1lfU1RBVEUgVG8gcHJldmVudCB0aGUgZGVmYXVsdCBiZWhhdmlvdXIgb2YgbG9ja2luZyB0aGUgVUkgd2hpbGUgdGhlIHJlcXVlc3QgaXMgcnVubmluZ1xyXG4gICAgICogLSBIVFRQU2VydmljZS5ESVNBQkxFX0VSUk9SX0hBTkRMSU5HIFRvIHByZXZlbnQgdGhlIGRlZmF1bHQgYmVoYXZpb3VyIG9mIHNob3dpbmcgYSBkZXRhaWxlZCBlcnJvciBkaWFsb2cgd2hlbiBhIHJlcXVlc3QgZmFpbHNcclxuICAgICAqXHJcbiAgICAgKiBAc2VlIEhUVFBNYW5hZ2VyLmV4ZWN1dGUoKVxyXG4gICAgICovXHJcbiAgICBleGVjdXRlKHJlcXVlc3RzOiBzdHJpbmd8c3RyaW5nW118SFRUUE1hbmFnZXJCYXNlUmVxdWVzdHxIVFRQTWFuYWdlckJhc2VSZXF1ZXN0W10sXHJcbiAgICAgICAgICAgIGZpbmlzaGVkQ2FsbGJhY2s6ICgocmVzdWx0czoge3VybDpzdHJpbmcsIHJlc3BvbnNlOmFueSwgaXNFcnJvcjpib29sZWFuLCBlcnJvck1zZzpzdHJpbmcsIGNvZGU6bnVtYmVyfVtdLCBhbnlFcnJvcjpib29sZWFuKSA9PiB2b2lkKSB8IG51bGwgPSBudWxsLFxyXG4gICAgICAgICAgICBwcm9ncmVzc0NhbGxiYWNrOiBudWxsIHwgKChjb21wbGV0ZWRVcmw6IHN0cmluZywgdG90YWxSZXF1ZXN0czogbnVtYmVyKSA9PiB2b2lkKSA9IG51bGwsXHJcbiAgICAgICAgICAgIG9wdGlvbnM6ICh0eXBlb2YgSFRUUFNlcnZpY2UuTk9fTU9EQUxfQlVTWV9TVEFURXx0eXBlb2YgSFRUUFNlcnZpY2UuRElTQUJMRV9FUlJPUl9IQU5ETElORylbXSA9IFtdKXtcclxuICAgIFxyXG4gICAgICAgIGlmKG9wdGlvbnMuaW5kZXhPZihIVFRQU2VydmljZS5OT19NT0RBTF9CVVNZX1NUQVRFKSA8IDApe1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5hZGRNb2RhbEJ1c3lTdGF0ZSgpOyBcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICBzdXBlci5leGVjdXRlKHJlcXVlc3RzLCAocmVzdWx0cywgYW55RXJyb3IpID0+IHsgXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZihvcHRpb25zLmluZGV4T2YoSFRUUFNlcnZpY2UuTk9fTU9EQUxfQlVTWV9TVEFURSkgPCAwKXtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnJlbW92ZU1vZGFsQnVzeVN0YXRlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmKChvcHRpb25zLmluZGV4T2YoSFRUUFNlcnZpY2UuRElTQUJMRV9FUlJPUl9IQU5ETElORykgPCAwKSAmJiBhbnlFcnJvcil7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGZvcihsZXQgcmVzdWx0IG9mIHJlc3VsdHMpe1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGlmKHJlc3VsdC5pc0Vycm9yKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBlcnJvck1zZyA9IHJlc3VsdC5lcnJvck1zZyArICdcXG5cXG4nICsgcmVzdWx0LnJlc3BvbnNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYoU3RyaW5nVXRpbHMuaXNFbXB0eShlcnJvck1zZykpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yTXNnID0gJ1Vua25vd24gZXJyb3IuIE1ha2Ugc3VyZSBJbnRlcm5ldCBjb25uZWN0aW9uIGlzIGF2YWlsYWJsZSc7ICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmFkZERpYWxvZygnNjAwcHgnLCBbJ0Vycm9yOiAnICsgcmVzdWx0LmNvZGUsIGVycm9yTXNnXSwgWydPayddLCBEaWFsb2dFcnJvckNvbXBvbmVudCk7ICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmKGZpbmlzaGVkQ2FsbGJhY2sgIT09IG51bGwpe1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBmaW5pc2hlZENhbGxiYWNrKHJlc3VsdHMsIGFueUVycm9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgfSwgcHJvZ3Jlc3NDYWxsYmFjayk7XHJcbiAgICB9XHJcbn1cclxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVyYm9ndWktYW5ndWxhci9zcmMvbWFpbi9jb250cm9sbGVyL2h0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUEwQixXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3REFBd0QsQ0FBQzs7O0FBRzlGOztHQUVHO0FBRUgsTUFBTSxPQUFPLFdBQVksU0FBUSxXQUFXO0lBR3hDOzs7T0FHRzthQUNhLHdCQUFtQixHQUFHLHFCQUFxQixBQUF4QixDQUF5QjtJQUc1RDs7O09BR0c7YUFDYSwyQkFBc0IsR0FBRyx3QkFBd0IsQUFBM0IsQ0FBNEI7SUFHbEUsWUFBbUIsYUFBNEI7UUFFM0MsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRkcsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFHL0MsQ0FBQztJQUdEOzs7Ozs7O09BT0c7SUFDSCxPQUFPLENBQUMsUUFBeUUsRUFDekUsbUJBQThJLElBQUksRUFDbEosbUJBQW1GLElBQUksRUFDdkYsVUFBZ0csRUFBRTtRQUV0RyxJQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxFQUFDO1lBRXJELElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUN6QztRQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBRTFDLElBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEVBQUM7Z0JBRXBELElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzthQUM3QztZQUVELElBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLFFBQVEsRUFBQztnQkFFckUsS0FBSSxJQUFJLE1BQU0sSUFBSSxPQUFPLEVBQUM7b0JBRXRCLElBQUcsTUFBTSxDQUFDLE9BQU8sRUFBQzt3QkFFZCxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO3dCQUUxRCxJQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUM7NEJBRTdCLFFBQVEsR0FBRywyREFBMkQsQ0FBQzt5QkFDMUU7d0JBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLEVBQzdDOzRCQUNJLEtBQUssRUFBQyxPQUFPOzRCQUNiLEtBQUssRUFBRSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQzs0QkFDMUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDO3lCQUNuQixDQUFDLENBQUM7cUJBQ1Y7aUJBQ0o7YUFDSjtZQUVELElBQUcsZ0JBQWdCLEtBQUssSUFBSSxFQUFDO2dCQUV6QixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDdkM7UUFFSixDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUMxQixDQUFDOzhHQTdFUSxXQUFXO2tIQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVHVyYm9HVUkgaXMgQSBsaWJyYXJ5IHRoYXQgaGVscHMgd2l0aCB0aGUgbW9zdCBjb21tb24gYW5kIGdlbmVyaWMgVUkgZWxlbWVudHMgYW5kIGZ1bmN0aW9uYWxpdGllc1xyXG4gKlxyXG4gKiBXZWJzaXRlIDogLT4gaHR0cDovL3d3dy50dXJib2d1aS5vcmdcclxuICogTGljZW5zZSA6IC0+IExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cclxuICogTGljZW5zZSBVcmwgOiAtPiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuICogQ29weVJpZ2h0IDogLT4gQ29weXJpZ2h0IDIwMTggRWRlcnRvbmUgQWR2YW5kZWQgU29sdXRpb25zLiBodHRwczovL3d3dy5lZGVydG9uZS5jb21cclxuICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEhUVFBNYW5hZ2VyLCBIVFRQTWFuYWdlckJhc2VSZXF1ZXN0LCBTdHJpbmdVdGlscyB9IGZyb20gJ3R1cmJvY29tbW9ucy10cyc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlhbG9nRXJyb3JDb21wb25lbnQgfSBmcm9tICcuLi92aWV3L2NvbXBvbmVudHMvZGlhbG9nLWVycm9yL2RpYWxvZy1lcnJvci5jb21wb25lbnQnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBNYW5hZ2VzIGFwcGxpY2F0aW9uIGh0dHAgY29tbXVuaWNhdGlvbnNcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEhUVFBTZXJ2aWNlIGV4dGVuZHMgSFRUUE1hbmFnZXIge1xyXG4gICAgXHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogZXhlY3V0ZSgpIG1ldGhvZCBvcHRpb24gdGhhdCB0ZWxscyB0aGUgc2VydmljZSB0byBhdm9pZCBibG9ja2luZyB0aGUgdXNlciBpbnRlcmZhY2Ugd2l0aCBhIG1vZGFsIGJ1c3kgc3RhdGUgd2hpbGUgdGhlIHJlcXVlc3RzIHRoYXQgYXJlXHJcbiAgICAgKiBsYXVuY2hlZCBieSB0aGUgZXhlY3V0ZSBtZXRob2QgYXJlIHJ1bm5pbmcuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyByZWFkb25seSBOT19NT0RBTF9CVVNZX1NUQVRFID0gJ05PX01PREFMX0JVU1lfU1RBVEUnO1xyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIGV4ZWN1dGUoKSBtZXRob2Qgb3B0aW9uIHRoYXQgdGVsbHMgdGhlIHNlcnZpY2UgdG8gc2tpcCBzaG93aW5nIGFuIGVycm9yIGRpYWxvZyB3aGVuIGEgcmVxdWVzdCBmYWlscy4gV2Ugbm9ybWFsbHkgdXNlIHRoaXMgdG8gaGFuZGxlIHRoZVxyXG4gICAgICogZXJyb3JzIGJ5IG91cnNlbHZlcyBvciBpZiB3ZSB3YW50IHRvIGhpZGUgdGhlIGVycm9yIGRpYWxvZyBmb3IgYSBzcGVjaWZpYyByZXF1ZXN0LlxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgRElTQUJMRV9FUlJPUl9IQU5ETElORyA9ICdESVNBQkxFX0VSUk9SX0hBTkRMSU5HJztcclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UpIHtcclxuXHJcbiAgICAgICAgc3VwZXIodHJ1ZSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc2FtZSBtZXRob2QgYXMgSFRUUE1hbmFnZXIuZXhlY3V0ZSBidXQgd2l0aCB0aGUgYWJpbGl0eSB0byBlbmFibGUgc2V2ZXJhbCBvcHRpb25zIHdoaWNoIGFyZSBzcGVjaWZpYyB0byB0aGlzIHNlcnZpY2U6XHJcbiAgICAgKlxyXG4gICAgICogLSBIVFRQU2VydmljZS5OT19NT0RBTF9CVVNZX1NUQVRFIFRvIHByZXZlbnQgdGhlIGRlZmF1bHQgYmVoYXZpb3VyIG9mIGxvY2tpbmcgdGhlIFVJIHdoaWxlIHRoZSByZXF1ZXN0IGlzIHJ1bm5pbmdcclxuICAgICAqIC0gSFRUUFNlcnZpY2UuRElTQUJMRV9FUlJPUl9IQU5ETElORyBUbyBwcmV2ZW50IHRoZSBkZWZhdWx0IGJlaGF2aW91ciBvZiBzaG93aW5nIGEgZGV0YWlsZWQgZXJyb3IgZGlhbG9nIHdoZW4gYSByZXF1ZXN0IGZhaWxzXHJcbiAgICAgKlxyXG4gICAgICogQHNlZSBIVFRQTWFuYWdlci5leGVjdXRlKClcclxuICAgICAqL1xyXG4gICAgZXhlY3V0ZShyZXF1ZXN0czogc3RyaW5nfHN0cmluZ1tdfEhUVFBNYW5hZ2VyQmFzZVJlcXVlc3R8SFRUUE1hbmFnZXJCYXNlUmVxdWVzdFtdLFxyXG4gICAgICAgICAgICBmaW5pc2hlZENhbGxiYWNrOiAoKHJlc3VsdHM6IHt1cmw6c3RyaW5nLCByZXNwb25zZTphbnksIGlzRXJyb3I6Ym9vbGVhbiwgZXJyb3JNc2c6c3RyaW5nLCBjb2RlOm51bWJlcn1bXSwgYW55RXJyb3I6Ym9vbGVhbikgPT4gdm9pZCkgfCBudWxsID0gbnVsbCxcclxuICAgICAgICAgICAgcHJvZ3Jlc3NDYWxsYmFjazogbnVsbCB8ICgoY29tcGxldGVkVXJsOiBzdHJpbmcsIHRvdGFsUmVxdWVzdHM6IG51bWJlcikgPT4gdm9pZCkgPSBudWxsLFxyXG4gICAgICAgICAgICBvcHRpb25zOiAodHlwZW9mIEhUVFBTZXJ2aWNlLk5PX01PREFMX0JVU1lfU1RBVEV8dHlwZW9mIEhUVFBTZXJ2aWNlLkRJU0FCTEVfRVJST1JfSEFORExJTkcpW10gPSBbXSl7XHJcbiAgICBcclxuICAgICAgICBpZihvcHRpb25zLmluZGV4T2YoSFRUUFNlcnZpY2UuTk9fTU9EQUxfQlVTWV9TVEFURSkgPCAwKXtcclxuICAgICAgICAgICBcclxuICAgICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuYWRkTW9kYWxCdXN5U3RhdGUoKTsgXHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgc3VwZXIuZXhlY3V0ZShyZXF1ZXN0cywgKHJlc3VsdHMsIGFueUVycm9yKSA9PiB7IFxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgaWYob3B0aW9ucy5pbmRleE9mKEhUVFBTZXJ2aWNlLk5PX01PREFMX0JVU1lfU1RBVEUpIDwgMCl7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5yZW1vdmVNb2RhbEJ1c3lTdGF0ZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZigob3B0aW9ucy5pbmRleE9mKEhUVFBTZXJ2aWNlLkRJU0FCTEVfRVJST1JfSEFORExJTkcpIDwgMCkgJiYgYW55RXJyb3Ipe1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IHJlc3VsdCBvZiByZXN1bHRzKXtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBpZihyZXN1bHQuaXNFcnJvcil7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZXJyb3JNc2cgPSByZXN1bHQuZXJyb3JNc2cgKyAnXFxuXFxuJyArIHJlc3VsdC5yZXNwb25zZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKFN0cmluZ1V0aWxzLmlzRW1wdHkoZXJyb3JNc2cpKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvck1zZyA9ICdVbmtub3duIGVycm9yLiBNYWtlIHN1cmUgSW50ZXJuZXQgY29ubmVjdGlvbiBpcyBhdmFpbGFibGUnOyAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5hZGREaWFsb2coRGlhbG9nRXJyb3JDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6JzYwMHB4JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0czogWydFcnJvcjogJyArIHJlc3VsdC5jb2RlLCBlcnJvck1zZ10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FwdGlvbnM6IFsnT2snXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7ICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmKGZpbmlzaGVkQ2FsbGJhY2sgIT09IG51bGwpe1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBmaW5pc2hlZENhbGxiYWNrKHJlc3VsdHMsIGFueUVycm9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgfSwgcHJvZ3Jlc3NDYWxsYmFjayk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -12,6 +12,8 @@ import { MatInputModule } from '@angular/material/input';
12
12
  import { MatSnackBarModule } from '@angular/material/snack-bar';
13
13
  import { MatButtonModule } from '@angular/material/button';
14
14
  import { MatFormFieldModule } from '@angular/material/form-field';
15
+ import { MatDatepickerModule } from '@angular/material/datepicker';
16
+ import { MatNativeDateModule } from '@angular/material/core';
15
17
  import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
16
18
  import { BusyStateBaseComponent } from '../../view/components/busy-state-base/busy-state-base.component';
17
19
  import { DialogService } from '../../controller/dialog.service';
@@ -23,6 +25,7 @@ import { ViewsService } from '../../controller/views.service';
23
25
  import { ViewsContainerComponent } from '../../view/components/views-container/views-container.component';
24
26
  import { ButtonImageComponent } from '../../view/components/button-image/button-image.component';
25
27
  import { ButtonContainerComponent } from '../../view/components/button-container/button-container.component';
28
+ import { DialogDateSelectionComponent } from '../../view/components/dialog-date-selection/dialog-date-selection.component';
26
29
  import { DialogErrorComponent } from '../../view/components/dialog-error/dialog-error.component';
27
30
  import { DialogSingleOptionComponent } from '../../view/components/dialog-single-option/dialog-single-option.component';
28
31
  import { DialogTwoOptionComponent } from '../../view/components/dialog-two-option/dialog-two-option.component';
@@ -40,6 +43,7 @@ import * as i0 from "@angular/core";
40
43
  export class TurboGuiAngularModule {
41
44
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TurboGuiAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
42
45
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: TurboGuiAngularModule, declarations: [BusyStateBaseComponent,
46
+ DialogDateSelectionComponent,
43
47
  DialogErrorComponent,
44
48
  DialogSingleOptionComponent,
45
49
  DialogTwoOptionComponent,
@@ -56,10 +60,13 @@ export class TurboGuiAngularModule {
56
60
  MatInputModule,
57
61
  MatButtonModule,
58
62
  MatFormFieldModule,
63
+ MatDatepickerModule,
64
+ MatNativeDateModule,
59
65
  BrowserAnimationsModule], exports: [BusyStateBaseComponent,
60
66
  ViewsContainerComponent,
61
67
  ButtonImageComponent,
62
68
  ButtonContainerComponent,
69
+ DialogDateSelectionComponent,
63
70
  DialogErrorComponent,
64
71
  DialogSingleOptionComponent,
65
72
  DialogTwoOptionComponent,
@@ -82,6 +89,8 @@ export class TurboGuiAngularModule {
82
89
  MatInputModule,
83
90
  MatButtonModule,
84
91
  MatFormFieldModule,
92
+ MatDatepickerModule,
93
+ MatNativeDateModule,
85
94
  BrowserAnimationsModule] }); }
86
95
  }
87
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TurboGuiAngularModule, decorators: [{
@@ -93,10 +102,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
93
102
  MatInputModule,
94
103
  MatButtonModule,
95
104
  MatFormFieldModule,
105
+ MatDatepickerModule,
106
+ MatNativeDateModule,
96
107
  BrowserAnimationsModule
97
108
  ],
98
109
  declarations: [
99
110
  BusyStateBaseComponent,
111
+ DialogDateSelectionComponent,
100
112
  DialogErrorComponent,
101
113
  DialogSingleOptionComponent,
102
114
  DialogTwoOptionComponent,
@@ -125,6 +137,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
125
137
  ViewsContainerComponent,
126
138
  ButtonImageComponent,
127
139
  ButtonContainerComponent,
140
+ DialogDateSelectionComponent,
128
141
  DialogErrorComponent,
129
142
  DialogSingleOptionComponent,
130
143
  DialogTwoOptionComponent,
@@ -137,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
137
150
  ]
138
151
  }]
139
152
  }] });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHVyYm9ndWktYW5ndWxhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXJib2d1aS1hbmd1bGFyL3NyYy9tYWluL21vZGVsL21vZHVsZXMvdHVyYm9ndWktYW5ndWxhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDekcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBQ3hILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDJGQUEyRixDQUFDO0FBQy9JLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQzlILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNoRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7QUFHdEc7O0dBRUc7QUF3REgsTUFBTSxPQUFPLHFCQUFxQjs4R0FBckIscUJBQXFCOytHQUFyQixxQkFBcUIsaUJBM0MxQixzQkFBc0I7WUFDdEIsb0JBQW9CO1lBQ3BCLDJCQUEyQjtZQUMzQix3QkFBd0I7WUFDeEIsNkJBQTZCO1lBQzdCLGtDQUFrQztZQUNsQyx1QkFBdUI7WUFDdkIsb0JBQW9CO1lBQ3BCLHdCQUF3QjtZQUN4Qix1QkFBdUI7WUFDdkIseUJBQXlCO1lBQ3pCLDJCQUEyQjtZQUMzQiw4QkFBOEIsYUFyQjlCLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsY0FBYztZQUNkLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsdUJBQXVCLGFBK0J2QixzQkFBc0I7WUFDdEIsdUJBQXVCO1lBQ3ZCLG9CQUFvQjtZQUNwQix3QkFBd0I7WUFDeEIsb0JBQW9CO1lBQ3BCLDJCQUEyQjtZQUMzQix3QkFBd0I7WUFDeEIsNkJBQTZCO1lBQzdCLGtDQUFrQztZQUNsQyx1QkFBdUI7WUFDdkIseUJBQXlCO1lBQ3pCLDJCQUEyQjtZQUMzQiw4QkFBOEI7K0dBSXpCLHFCQUFxQixhQTNCbkI7WUFDUCxhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsV0FBVztZQUNYLFlBQVk7WUFDWixjQUFjO1NBQ2pCLFlBakNHLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsY0FBYztZQUNkLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsdUJBQXVCOzsyRkErQ2xCLHFCQUFxQjtrQkF2RGpDLFFBQVE7bUJBQUM7b0JBRU4sT0FBTyxFQUFFO3dCQUNMLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQix1QkFBdUI7cUJBQzFCO29CQUVELFlBQVksRUFBRTt3QkFDVixzQkFBc0I7d0JBQ3RCLG9CQUFvQjt3QkFDcEIsMkJBQTJCO3dCQUMzQix3QkFBd0I7d0JBQ3hCLDZCQUE2Qjt3QkFDN0Isa0NBQWtDO3dCQUNsQyx1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4Qix1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsMkJBQTJCO3dCQUMzQiw4QkFBOEI7cUJBQ2pDO29CQUVELHVEQUF1RDtvQkFDdkQsU0FBUyxFQUFFO3dCQUNQLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGNBQWM7cUJBQ2pCO29CQUVELE9BQU8sRUFBRTt3QkFDTCxzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsMkJBQTJCO3dCQUMzQix3QkFBd0I7d0JBQ3hCLDZCQUE2Qjt3QkFDN0Isa0NBQWtDO3dCQUNsQyx1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsMkJBQTJCO3dCQUMzQiw4QkFBOEI7cUJBQ2pDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUdXJib0dVSSBpcyBBIGxpYnJhcnkgdGhhdCBoZWxwcyB3aXRoIHRoZSBtb3N0IGNvbW1vbiBhbmQgZ2VuZXJpYyBVSSBlbGVtZW50cyBhbmQgZnVuY3Rpb25hbGl0aWVzXG4gKlxuICogV2Vic2l0ZSA6IC0+IGh0dHA6Ly93d3cudHVyYm9ndWkub3JnXG4gKiBMaWNlbnNlIDogLT4gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMC4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogTGljZW5zZSBVcmwgOiAtPiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqIENvcHlSaWdodCA6IC0+IENvcHlyaWdodCAyMDE4IEVkZXJ0b25lIEFkdmFuZGVkIFNvbHV0aW9ucy4gaHR0cHM6Ly93d3cuZWRlcnRvbmUuY29tXG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbmltcG9ydCB7IEJ1c3lTdGF0ZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi92aWV3L2NvbXBvbmVudHMvYnVzeS1zdGF0ZS1iYXNlL2J1c3ktc3RhdGUtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnRyb2xsZXIvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29udHJvbGxlci9sb2NhbGl6YXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEhUVFBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29udHJvbGxlci9odHRwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29udHJvbGxlci9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnRyb2xsZXIvdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IFZpZXdzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnRyb2xsZXIvdmlld3Muc2VydmljZSc7XHJcbmltcG9ydCB7IFZpZXdzQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9jb21wb25lbnRzL3ZpZXdzLWNvbnRhaW5lci92aWV3cy1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi92aWV3L2NvbXBvbmVudHMvYnV0dG9uLWltYWdlL2J1dHRvbi1pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9jb21wb25lbnRzL2J1dHRvbi1jb250YWluZXIvYnV0dG9uLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nRXJyb3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi92aWV3L2NvbXBvbmVudHMvZGlhbG9nLWVycm9yL2RpYWxvZy1lcnJvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nU2luZ2xlT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9jb21wb25lbnRzL2RpYWxvZy1zaW5nbGUtb3B0aW9uL2RpYWxvZy1zaW5nbGUtb3B0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaWFsb2dUd29PcHRpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi92aWV3L2NvbXBvbmVudHMvZGlhbG9nLXR3by1vcHRpb24vZGlhbG9nLXR3by1vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ1NpbmdsZVNlbGVjdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi92aWV3L2NvbXBvbmVudHMvZGlhbG9nLXNpbmdsZS1zZWxlY3Rpb24tbGlzdC9kaWFsb2ctc2luZ2xlLXNlbGVjdGlvbi1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERpYWxvZ011bHRpcGxlT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9jb21wb25lbnRzL2RpYWxvZy1tdWx0aXBsZS1vcHRpb24vZGlhbG9nLW11bHRpcGxlLW9wdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbnRyb2xsZXIvYnJvd3Nlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRWxlbWVudENyZWF0ZWREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi92aWV3L2RpcmVjdGl2ZXMvRWxlbWVudENyZWF0ZWREaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBFbGVtZW50RGVzdHJveWVkRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vdmlldy9kaXJlY3RpdmVzL0VsZW1lbnREZXN0cm95ZWREaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBBdXRvRm9jdXNPbkRpc3BsYXlEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi92aWV3L2RpcmVjdGl2ZXMvQXV0b0ZvY3VzT25EaXNwbGF5RGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQXV0b1NlbGVjdFRleHRPbkZvY3VzRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vdmlldy9kaXJlY3RpdmVzL0F1dG9TZWxlY3RUZXh0T25Gb2N1c0RpcmVjdGl2ZSc7XG5cblxuLyoqXG4gKiBUaGlzIGZpbGUgY29udGFpbnMgdGhlIHJvb3QgbW9kdWxlIHRoYXQgY29udGFpbnMgYWxsIHRoZSBsaWJyYXJ5IGRlY2xhcmF0aW9ucyBhbmQgZXhwb3J0cy5cbiAqL1xuQE5nTW9kdWxlKHtcblxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgICAgICBNYXRTbmFja0Jhck1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZVxuICAgIF0sXG5cbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgQnVzeVN0YXRlQmFzZUNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nRXJyb3JDb21wb25lbnQsXG4gICAgICAgIERpYWxvZ1NpbmdsZU9wdGlvbkNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nVHdvT3B0aW9uQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dNdWx0aXBsZU9wdGlvbkNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nU2luZ2xlU2VsZWN0aW9uTGlzdENvbXBvbmVudCxcbiAgICAgICAgVmlld3NDb250YWluZXJDb21wb25lbnQsXG4gICAgICAgIEJ1dHRvbkltYWdlQ29tcG9uZW50LFxuICAgICAgICBCdXR0b25Db250YWluZXJDb21wb25lbnQsXG4gICAgICAgIEVsZW1lbnRDcmVhdGVkRGlyZWN0aXZlLFxuICAgICAgICBFbGVtZW50RGVzdHJveWVkRGlyZWN0aXZlLFxuICAgICAgICBBdXRvRm9jdXNPbkRpc3BsYXlEaXJlY3RpdmUsXG4gICAgICAgIEF1dG9TZWxlY3RUZXh0T25Gb2N1c0RpcmVjdGl2ZVxuICAgIF0sXG5cbiAgICAvLyBHbG9iYWxseSBhdmFpbGFibGUgc2luZ2xldG9uIHNlcnZpY2VzIGFyZSBhZGRlZCBoZXJlXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIExvY2FsaXphdGlvblNlcnZpY2UsXG4gICAgICAgIEhUVFBTZXJ2aWNlLFxuICAgICAgICBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgICAgICBVc2VyU2VydmljZSxcbiAgICAgICAgVmlld3NTZXJ2aWNlLFxuICAgICAgICBCcm93c2VyU2VydmljZVxuICAgIF0sXG5cbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEJ1c3lTdGF0ZUJhc2VDb21wb25lbnQsXG4gICAgICAgIFZpZXdzQ29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICBCdXR0b25JbWFnZUNvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uQ29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dFcnJvckNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nU2luZ2xlT3B0aW9uQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dUd29PcHRpb25Db21wb25lbnQsXG4gICAgICAgIERpYWxvZ011bHRpcGxlT3B0aW9uQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dTaW5nbGVTZWxlY3Rpb25MaXN0Q29tcG9uZW50LFxuICAgICAgICBFbGVtZW50Q3JlYXRlZERpcmVjdGl2ZSxcbiAgICAgICAgRWxlbWVudERlc3Ryb3llZERpcmVjdGl2ZSxcbiAgICAgICAgQXV0b0ZvY3VzT25EaXNwbGF5RGlyZWN0aXZlLFxuICAgICAgICBBdXRvU2VsZWN0VGV4dE9uRm9jdXNEaXJlY3RpdmVcbiAgICBdXG59KVxuXG5leHBvcnQgY2xhc3MgVHVyYm9HdWlBbmd1bGFyTW9kdWxlIHsgfVxuIl19
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHVyYm9ndWktYW5ndWxhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dXJib2d1aS1hbmd1bGFyL3NyYy9tYWluL21vZGVsL21vZHVsZXMvdHVyYm9ndWktYW5ndWxhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDekcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFN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QUNuQixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGNBQWM7cUJBQ2pCO29CQUVELE9BQU8sRUFBRTt3QkFDTCxzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQix3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsb0JBQW9CO3dCQUNwQiwyQkFBMkI7d0JBQzNCLHdCQUF3Qjt3QkFDeEIsNkJBQTZCO3dCQUM3QixrQ0FBa0M7d0JBQ2xDLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QiwyQkFBMkI7d0JBQzNCLDhCQUE4QjtxQkFDakM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFR1cmJvR1VJIGlzIEEgbGlicmFyeSB0aGF0IGhlbHBzIHdpdGggdGhlIG1vc3QgY29tbW9uIGFuZCBnZW5lcmljIFVJIGVsZW1lbnRzIGFuZCBmdW5jdGlvbmFsaXRpZXNcbiAqXG4gKiBXZWJzaXRlIDogLT4gaHR0cDovL3d3dy50dXJib2d1aS5vcmdcbiAqIExpY2Vuc2UgOiAtPiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBMaWNlbnNlIFVybCA6IC0+IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICogQ29weVJpZ2h0IDogLT4gQ29weXJpZ2h0IDIwMTggRWRlcnRvbmUgQWR2YW5kZWQgU29sdXRpb25zLiBodHRwczovL3d3dy5lZGVydG9uZS5jb21cbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQnVzeVN0YXRlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3ZpZXcvY29tcG9uZW50cy9idXN5LXN0YXRlLWJhc2UvYnVzeS1zdGF0ZS1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29udHJvbGxlci9kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb250cm9sbGVyL2xvY2FsaXphdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSFRUUFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb250cm9sbGVyL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb250cm9sbGVyL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29udHJvbGxlci91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmlld3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29udHJvbGxlci92aWV3cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmlld3NDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi92aWV3L2NvbXBvbmVudHMvdmlld3MtY29udGFpbmVyL3ZpZXdzLWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdXR0b25JbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3ZpZXcvY29tcG9uZW50cy9idXR0b24taW1hZ2UvYnV0dG9uLWltYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Db250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi92aWV3L2NvbXBvbmVudHMvYnV0dG9uLWNvbnRhaW5lci9idXR0b24tY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaWFsb2dEYXRlU2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9jb21wb25lbnRzL2RpYWxvZy1kYXRlLXNlbGVjdGlvbi9kaWFsb2ctZGF0ZS1zZWxlY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ0Vycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9jb21wb25lbnRzL2RpYWxvZy1lcnJvci9kaWFsb2ctZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ1NpbmdsZU9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3ZpZXcvY29tcG9uZW50cy9kaWFsb2ctc2luZ2xlLW9wdGlvbi9kaWFsb2ctc2luZ2xlLW9wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nVHdvT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9jb21wb25lbnRzL2RpYWxvZy10d28tb3B0aW9uL2RpYWxvZy10d28tb3B0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaWFsb2dTaW5nbGVTZWxlY3Rpb25MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdmlldy9jb21wb25lbnRzL2RpYWxvZy1zaW5nbGUtc2VsZWN0aW9uLWxpc3QvZGlhbG9nLXNpbmdsZS1zZWxlY3Rpb24tbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaWFsb2dNdWx0aXBsZU9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3ZpZXcvY29tcG9uZW50cy9kaWFsb2ctbXVsdGlwbGUtb3B0aW9uL2RpYWxvZy1tdWx0aXBsZS1vcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb250cm9sbGVyL2Jyb3dzZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEVsZW1lbnRDcmVhdGVkRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vdmlldy9kaXJlY3RpdmVzL0VsZW1lbnRDcmVhdGVkRGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRWxlbWVudERlc3Ryb3llZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3ZpZXcvZGlyZWN0aXZlcy9FbGVtZW50RGVzdHJveWVkRGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQXV0b0ZvY3VzT25EaXNwbGF5RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vdmlldy9kaXJlY3RpdmVzL0F1dG9Gb2N1c09uRGlzcGxheURpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEF1dG9TZWxlY3RUZXh0T25Gb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3ZpZXcvZGlyZWN0aXZlcy9BdXRvU2VsZWN0VGV4dE9uRm9jdXNEaXJlY3RpdmUnO1xuXG5cbi8qKlxuICogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSByb290IG1vZHVsZSB0aGF0IGNvbnRhaW5zIGFsbCB0aGUgbGlicmFyeSBkZWNsYXJhdGlvbnMgYW5kIGV4cG9ydHMuXG4gKi9cbkBOZ01vZHVsZSh7XG5cbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgTWF0U25hY2tCYXJNb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICAgICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICAgICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGVcbiAgICBdLFxuXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEJ1c3lTdGF0ZUJhc2VDb21wb25lbnQsXG4gICAgICAgIERpYWxvZ0RhdGVTZWxlY3Rpb25Db21wb25lbnQsXG4gICAgICAgIERpYWxvZ0Vycm9yQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dTaW5nbGVPcHRpb25Db21wb25lbnQsXG4gICAgICAgIERpYWxvZ1R3b09wdGlvbkNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nTXVsdGlwbGVPcHRpb25Db21wb25lbnQsXG4gICAgICAgIERpYWxvZ1NpbmdsZVNlbGVjdGlvbkxpc3RDb21wb25lbnQsXG4gICAgICAgIFZpZXdzQ29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICBCdXR0b25JbWFnZUNvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uQ29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICBFbGVtZW50Q3JlYXRlZERpcmVjdGl2ZSxcbiAgICAgICAgRWxlbWVudERlc3Ryb3llZERpcmVjdGl2ZSxcbiAgICAgICAgQXV0b0ZvY3VzT25EaXNwbGF5RGlyZWN0aXZlLFxuICAgICAgICBBdXRvU2VsZWN0VGV4dE9uRm9jdXNEaXJlY3RpdmVcbiAgICBdLFxuXG4gICAgLy8gR2xvYmFsbHkgYXZhaWxhYmxlIHNpbmdsZXRvbiBzZXJ2aWNlcyBhcmUgYWRkZWQgaGVyZVxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBMb2NhbGl6YXRpb25TZXJ2aWNlLFxuICAgICAgICBIVFRQU2VydmljZSxcbiAgICAgICAgTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICAgICAgVXNlclNlcnZpY2UsXG4gICAgICAgIFZpZXdzU2VydmljZSxcbiAgICAgICAgQnJvd3NlclNlcnZpY2VcbiAgICBdLFxuXG4gICAgZXhwb3J0czogW1xuICAgICAgICBCdXN5U3RhdGVCYXNlQ29tcG9uZW50LFxuICAgICAgICBWaWV3c0NvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgQnV0dG9uSW1hZ2VDb21wb25lbnQsXG4gICAgICAgIEJ1dHRvbkNvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nRGF0ZVNlbGVjdGlvbkNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nRXJyb3JDb21wb25lbnQsXG4gICAgICAgIERpYWxvZ1NpbmdsZU9wdGlvbkNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nVHdvT3B0aW9uQ29tcG9uZW50LFxuICAgICAgICBEaWFsb2dNdWx0aXBsZU9wdGlvbkNvbXBvbmVudCxcbiAgICAgICAgRGlhbG9nU2luZ2xlU2VsZWN0aW9uTGlzdENvbXBvbmVudCxcbiAgICAgICAgRWxlbWVudENyZWF0ZWREaXJlY3RpdmUsXG4gICAgICAgIEVsZW1lbnREZXN0cm95ZWREaXJlY3RpdmUsXG4gICAgICAgIEF1dG9Gb2N1c09uRGlzcGxheURpcmVjdGl2ZSxcbiAgICAgICAgQXV0b1NlbGVjdFRleHRPbkZvY3VzRGlyZWN0aXZlXG4gICAgXVxufSlcblxuZXhwb3J0IGNsYXNzIFR1cmJvR3VpQW5ndWxhck1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,46 @@
1
+ /**
2
+ * TurboGUI is A library that helps with the most common and generic UI elements and functionalities
3
+ *
4
+ * Website : -> http://www.turbogui.org
5
+ * License : -> Licensed under the Apache License, Version 2.0. You may not use this file except in compliance with the License.
6
+ * License Url : -> http://www.apache.org/licenses/LICENSE-2.0
7
+ * CopyRight : -> Copyright 2018 Edertone Advanded Solutions. https://www.edertone.com
8
+ */
9
+ import { Component, Inject } from '@angular/core';
10
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
11
+ import { DialogOptionsBaseComponent } from '../dialog-options-base/dialog-options-base.component';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "@angular/material/dialog";
14
+ import * as i2 from "@angular/material/datepicker";
15
+ /**
16
+ * A dialog component with a calendar that allows us to select a single date value
17
+ */
18
+ export class DialogDateSelectionComponent extends DialogOptionsBaseComponent {
19
+ constructor(dialogRef, data) {
20
+ super();
21
+ this.dialogRef = dialogRef;
22
+ this.data = data;
23
+ // if (data.texts.length < 1) {
24
+ //
25
+ // throw new Error('DialogErrorComponent expects 2 texts: The title and optionally a description');
26
+ // }
27
+ //
28
+ // if (data.options.length !== 1) {
29
+ //
30
+ // throw new Error('DialogErrorComponent expects only one option');
31
+ // }
32
+ }
33
+ onDateSelected(event) {
34
+ alert(`Selected: ${event}`);
35
+ }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DialogDateSelectionComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: DialogDateSelectionComponent, selector: "tg-dialog-date-selection", usesInheritance: true, ngImport: i0, template: "<h2>{{data.texts[0]}}</h2>\r\n\r\n<mat-calendar #calendar\r\n (selectedChange)=\"onDateSelected($event)\">\r\n</mat-calendar>", styles: [":host{position:relative;min-height:300px}h1{margin-top:0;margin-bottom:25px;width:82%}\n"], dependencies: [{ kind: "component", type: i2.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }] }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DialogDateSelectionComponent, decorators: [{
40
+ type: Component,
41
+ args: [{ selector: 'tg-dialog-date-selection', template: "<h2>{{data.texts[0]}}</h2>\r\n\r\n<mat-calendar #calendar\r\n (selectedChange)=\"onDateSelected($event)\">\r\n</mat-calendar>", styles: [":host{position:relative;min-height:300px}h1{margin-top:0;margin-bottom:25px;width:82%}\n"] }]
42
+ }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
43
+ type: Inject,
44
+ args: [MAT_DIALOG_DATA]
45
+ }] }] });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRhdGUtc2VsZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1cmJvZ3VpLWFuZ3VsYXIvc3JjL21haW4vdmlldy9jb21wb25lbnRzL2RpYWxvZy1kYXRlLXNlbGVjdGlvbi9kaWFsb2ctZGF0ZS1zZWxlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVyYm9ndWktYW5ndWxhci9zcmMvbWFpbi92aWV3L2NvbXBvbmVudHMvZGlhbG9nLWRhdGUtc2VsZWN0aW9uL2RpYWxvZy1kYXRlLXNlbGVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7OztBQUVsRzs7R0FFRztBQVFILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSwwQkFBMEI7SUFNeEUsWUFBbUIsU0FBbUQsRUFDMUIsSUFBUztRQUVqRCxLQUFLLEVBQUUsQ0FBQztRQUhPLGNBQVMsR0FBVCxTQUFTLENBQTBDO1FBQzFCLFNBQUksR0FBSixJQUFJLENBQUs7UUFJekQsc0NBQXNDO1FBQ3RDLEVBQUU7UUFDRiw4R0FBOEc7UUFDOUcsV0FBVztRQUNYLEVBQUU7UUFDRiwwQ0FBMEM7UUFDMUMsRUFBRTtRQUNGLDhFQUE4RTtRQUM5RSxXQUFXO0lBQ1AsQ0FBQztJQUdELGNBQWMsQ0FBQyxLQUFTO1FBQ3BCLEtBQUssQ0FBQyxhQUFhLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQzs4R0F6QlEsNEJBQTRCLDhDQU9qQixlQUFlO2tHQVAxQiw0QkFBNEIsdUZDdkJ6QyxrSUFJZTs7MkZEbUJGLDRCQUE0QjtrQkFQeEMsU0FBUzsrQkFDRSwwQkFBMEI7OzBCQWFyQixNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVHVyYm9HVUkgaXMgQSBsaWJyYXJ5IHRoYXQgaGVscHMgd2l0aCB0aGUgbW9zdCBjb21tb24gYW5kIGdlbmVyaWMgVUkgZWxlbWVudHMgYW5kIGZ1bmN0aW9uYWxpdGllc1xyXG4gKlxyXG4gKiBXZWJzaXRlIDogLT4gaHR0cDovL3d3dy50dXJib2d1aS5vcmdcclxuICogTGljZW5zZSA6IC0+IExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cclxuICogTGljZW5zZSBVcmwgOiAtPiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcclxuICogQ29weVJpZ2h0IDogLT4gQ29weXJpZ2h0IDIwMTggRWRlcnRvbmUgQWR2YW5kZWQgU29sdXRpb25zLiBodHRwczovL3d3dy5lZGVydG9uZS5jb21cclxuICovXHJcblxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IERpYWxvZ09wdGlvbnNCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vZGlhbG9nLW9wdGlvbnMtYmFzZS9kaWFsb2ctb3B0aW9ucy1iYXNlLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQSBkaWFsb2cgY29tcG9uZW50IHdpdGggYSBjYWxlbmRhciB0aGF0IGFsbG93cyB1cyB0byBzZWxlY3QgYSBzaW5nbGUgZGF0ZSB2YWx1ZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0Zy1kaWFsb2ctZGF0ZS1zZWxlY3Rpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kaWFsb2ctZGF0ZS1zZWxlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RpYWxvZy1kYXRlLXNlbGVjdGlvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIERpYWxvZ0RhdGVTZWxlY3Rpb25Db21wb25lbnQgZXh0ZW5kcyBEaWFsb2dPcHRpb25zQmFzZUNvbXBvbmVudCB7XHJcblxyXG4gICAgXHJcbiAgICBzZWxlY3RlZERhdGU6RGF0ZTtcclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPERpYWxvZ09wdGlvbnNCYXNlQ29tcG9uZW50PixcclxuICAgICAgICAgICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55KSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICBcclxuLy8gICAgICAgIGlmIChkYXRhLnRleHRzLmxlbmd0aCA8IDEpIHtcclxuLy9cclxuLy8gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RpYWxvZ0Vycm9yQ29tcG9uZW50IGV4cGVjdHMgMiB0ZXh0czogVGhlIHRpdGxlIGFuZCBvcHRpb25hbGx5IGEgZGVzY3JpcHRpb24nKTtcclxuLy8gICAgICAgIH1cclxuLy9cclxuLy8gICAgICAgIGlmIChkYXRhLm9wdGlvbnMubGVuZ3RoICE9PSAxKSB7XHJcbi8vXHJcbi8vICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdEaWFsb2dFcnJvckNvbXBvbmVudCBleHBlY3RzIG9ubHkgb25lIG9wdGlvbicpO1xyXG4vLyAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBcclxuICAgIG9uRGF0ZVNlbGVjdGVkKGV2ZW50OmFueSl7XHJcbiAgICAgICAgYWxlcnQoYFNlbGVjdGVkOiAke2V2ZW50fWApO1xyXG4gICAgfVxyXG59XHJcbiIsIjxoMj57e2RhdGEudGV4dHNbMF19fTwvaDI+XHJcblxyXG48bWF0LWNhbGVuZGFyICNjYWxlbmRhclxyXG4gICAgKHNlbGVjdGVkQ2hhbmdlKT1cIm9uRGF0ZVNlbGVjdGVkKCRldmVudClcIj5cclxuPC9tYXQtY2FsZW5kYXI+Il19
@@ -20,6 +20,7 @@ export { BrowserService } from './main/controller/browser.service';
20
20
  */
21
21
  export { BusyStateBaseComponent } from './main/view/components/busy-state-base/busy-state-base.component';
22
22
  export { DialogOptionsBaseComponent } from './main/view/components/dialog-options-base/dialog-options-base.component';
23
+ export { DialogDateSelectionComponent } from './main/view/components/dialog-date-selection/dialog-date-selection.component';
23
24
  export { DialogErrorComponent } from './main/view/components/dialog-error/dialog-error.component';
24
25
  export { DialogSingleOptionComponent } from './main/view/components/dialog-single-option/dialog-single-option.component';
25
26
  export { DialogTwoOptionComponent } from './main/view/components/dialog-two-option/dialog-two-option.component';
@@ -41,4 +42,4 @@ export { ElementCreatedDirective } from './main/view/directives/ElementCreatedDi
41
42
  export { ElementDestroyedDirective } from './main/view/directives/ElementDestroyedDirective';
42
43
  export { AutoFocusOnDisplayDirective } from './main/view/directives/AutoFocusOnDisplayDirective';
43
44
  export { AutoSelectTextOnFocusDirective } from './main/view/directives/AutoSelectTextOnFocusDirective';
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3R1cmJvZ3VpLWFuZ3VsYXIvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUdyRjs7R0FFRztBQUNILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHbkU7O0dBRUc7QUFDSCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMxRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0RUFBNEUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxnRkFBZ0YsQ0FBQztBQUMvSCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSw0RkFBNEYsQ0FBQztBQUNoSixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMzRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUc5Rzs7R0FFRztBQUNILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0dXJib2d1aS1hbmd1bGFyXHJcbiAqL1xyXG5cclxuZXhwb3J0IHsgVHVyYm9HdWlBbmd1bGFyTW9kdWxlIH0gZnJvbSAnLi9tYWluL21vZGVsL21vZHVsZXMvdHVyYm9ndWktYW5ndWxhci5tb2R1bGUnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlc1xyXG4gKi9cclxuZXhwb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vbWFpbi9jb250cm9sbGVyL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0IHsgR2xvYmFsRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi9tYWluL2NvbnRyb2xsZXIvZ2xvYmFsZXJyb3Iuc2VydmljZSc7XHJcbmV4cG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICcuL21haW4vY29udHJvbGxlci9sb2NhbGl6YXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCB7IEhUVFBTZXJ2aWNlIH0gZnJvbSAnLi9tYWluL2NvbnRyb2xsZXIvaHR0cC5zZXJ2aWNlJztcclxuZXhwb3J0IHsgSFRUUFNlcnZpY2VHZXRSZXF1ZXN0IH0gZnJvbSAnLi9tYWluL2NvbnRyb2xsZXIvaHR0cHNlcnZpY2UvSFRUUFNlcnZpY2VHZXRSZXF1ZXN0JztcclxuZXhwb3J0IHsgSFRUUFNlcnZpY2VQb3N0UmVxdWVzdCB9IGZyb20gJy4vbWFpbi9jb250cm9sbGVyL2h0dHBzZXJ2aWNlL0hUVFBTZXJ2aWNlUG9zdFJlcXVlc3QnO1xyXG5leHBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9tYWluL2NvbnRyb2xsZXIvZGlhbG9nLnNlcnZpY2UnO1xyXG5leHBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4vbWFpbi9jb250cm9sbGVyL3VzZXIuc2VydmljZSc7XHJcbmV4cG9ydCB7IFZpZXdzU2VydmljZSB9IGZyb20gJy4vbWFpbi9jb250cm9sbGVyL3ZpZXdzLnNlcnZpY2UnO1xyXG5leHBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJy4vbWFpbi9jb250cm9sbGVyL2Jyb3dzZXIuc2VydmljZSc7XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudHNcclxuICovXHJcbmV4cG9ydCB7IEJ1c3lTdGF0ZUJhc2VDb21wb25lbnQgfSBmcm9tICcuL21haW4vdmlldy9jb21wb25lbnRzL2J1c3ktc3RhdGUtYmFzZS9idXN5LXN0YXRlLWJhc2UuY29tcG9uZW50JztcclxuZXhwb3J0IHsgRGlhbG9nT3B0aW9uc0Jhc2VDb21wb25lbnQgfSBmcm9tICcuL21haW4vdmlldy9jb21wb25lbnRzL2RpYWxvZy1vcHRpb25zLWJhc2UvZGlhbG9nLW9wdGlvbnMtYmFzZS5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBEaWFsb2dFcnJvckNvbXBvbmVudCB9IGZyb20gJy4vbWFpbi92aWV3L2NvbXBvbmVudHMvZGlhbG9nLWVycm9yL2RpYWxvZy1lcnJvci5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBEaWFsb2dTaW5nbGVPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL21haW4vdmlldy9jb21wb25lbnRzL2RpYWxvZy1zaW5nbGUtb3B0aW9uL2RpYWxvZy1zaW5nbGUtb3B0aW9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IERpYWxvZ1R3b09wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vbWFpbi92aWV3L2NvbXBvbmVudHMvZGlhbG9nLXR3by1vcHRpb24vZGlhbG9nLXR3by1vcHRpb24uY29tcG9uZW50JztcclxuZXhwb3J0IHsgRGlhbG9nTXVsdGlwbGVPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL21haW4vdmlldy9jb21wb25lbnRzL2RpYWxvZy1tdWx0aXBsZS1vcHRpb24vZGlhbG9nLW11bHRpcGxlLW9wdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBEaWFsb2dTaW5nbGVTZWxlY3Rpb25MaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9tYWluL3ZpZXcvY29tcG9uZW50cy9kaWFsb2ctc2luZ2xlLXNlbGVjdGlvbi1saXN0L2RpYWxvZy1zaW5nbGUtc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50JztcclxuZXhwb3J0IHsgVmlld3NDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL21haW4vdmlldy9jb21wb25lbnRzL3ZpZXdzLWNvbnRhaW5lci92aWV3cy1jb250YWluZXIuY29tcG9uZW50JztcclxuZXhwb3J0IHsgQnV0dG9uSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuL21haW4vdmlldy9jb21wb25lbnRzL2J1dHRvbi1pbWFnZS9idXR0b24taW1hZ2UuY29tcG9uZW50JztcclxuZXhwb3J0IHsgQnV0dG9uQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9tYWluL3ZpZXcvY29tcG9uZW50cy9idXR0b24tY29udGFpbmVyL2J1dHRvbi1jb250YWluZXIuY29tcG9uZW50JztcclxuXHJcblxyXG4vKipcclxuICogQ2xhc3Nlc1xyXG4gKi9cclxuZXhwb3J0IHsgR1VJTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9tYWluL21vZGVsL2NsYXNzZXMvR1VJTm90aWZpY2F0aW9uJztcclxuZXhwb3J0IHsgVmlldyB9IGZyb20gJy4vbWFpbi9tb2RlbC9jbGFzc2VzL1ZpZXcnO1xyXG5leHBvcnQgeyBWaWV3TW9kZWwgfSBmcm9tICcuL21haW4vbW9kZWwvY2xhc3Nlcy9WaWV3TW9kZWwnO1xyXG5leHBvcnQgeyBWaWV3U2VydmljZSB9IGZyb20gJy4vbWFpbi9tb2RlbC9jbGFzc2VzL1ZpZXdTZXJ2aWNlJztcclxuZXhwb3J0IHsgRGVsYXllZE1ldGhvZENhbGxNYW5hZ2VyIH0gZnJvbSAnLi9tYWluL21hbmFnZXJzL0RlbGF5ZWRNZXRob2RDYWxsTWFuYWdlcic7XHJcbmV4cG9ydCB7IEZhZGVBbmltYXRpb25DbGFzcyB9IGZyb20gJy4vbWFpbi92aWV3L2FuaW1hdGlvbnMvZmFkZS5hbmltYXRpb24nO1xyXG5leHBvcnQgeyBFbGVtZW50Q3JlYXRlZERpcmVjdGl2ZSB9IGZyb20gJy4vbWFpbi92aWV3L2RpcmVjdGl2ZXMvRWxlbWVudENyZWF0ZWREaXJlY3RpdmUnO1xyXG5leHBvcnQgeyBFbGVtZW50RGVzdHJveWVkRGlyZWN0aXZlIH0gZnJvbSAnLi9tYWluL3ZpZXcvZGlyZWN0aXZlcy9FbGVtZW50RGVzdHJveWVkRGlyZWN0aXZlJztcclxuZXhwb3J0IHsgQXV0b0ZvY3VzT25EaXNwbGF5RGlyZWN0aXZlIH0gZnJvbSAnLi9tYWluL3ZpZXcvZGlyZWN0aXZlcy9BdXRvRm9jdXNPbkRpc3BsYXlEaXJlY3RpdmUnO1xyXG5leHBvcnQgeyBBdXRvU2VsZWN0VGV4dE9uRm9jdXNEaXJlY3RpdmUgfSBmcm9tICcuL21haW4vdmlldy9kaXJlY3RpdmVzL0F1dG9TZWxlY3RUZXh0T25Gb2N1c0RpcmVjdGl2ZSc7XHJcbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3R1cmJvZ3VpLWFuZ3VsYXIvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUdyRjs7R0FFRztBQUNILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHbkU7O0dBRUc7QUFDSCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMxRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4RUFBOEUsQ0FBQztBQUM1SCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0RUFBNEUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUNoSCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxnRkFBZ0YsQ0FBQztBQUMvSCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSw0RkFBNEYsQ0FBQztBQUNoSixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMzRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUc5Rzs7R0FFRztBQUNILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN6RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0dXJib2d1aS1hbmd1bGFyXHJcbiAqL1xyXG5cclxuZXhwb3J0IHsgVHVyYm9HdWlBbmd1bGFyTW9kdWxlIH0gZnJvbSAnLi9tYWluL21vZGVsL21vZHVsZXMvdHVyYm9ndWktYW5ndWxhci5tb2R1bGUnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlc1xyXG4gKi9cclxuZXhwb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vbWFpbi9jb250cm9sbGVyL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0IHsgR2xvYmFsRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi9tYWluL2NvbnRyb2xsZXIvZ2xvYmFsZXJyb3Iuc2VydmljZSc7XHJcbmV4cG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICcuL21haW4vY29udHJvbGxlci9sb2NhbGl6YXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCB7IEhUVFBTZXJ2aWNlIH0gZnJvbSAnLi9tYWluL2NvbnRyb2xsZXIvaHR0cC5zZXJ2aWNlJztcclxuZXhwb3J0IHsgSFRUUFNlcnZpY2VHZXRSZXF1ZXN0IH0gZnJvbSAnLi9tYWluL2NvbnRyb2xsZXIvaHR0cHNlcnZpY2UvSFRUUFNlcnZpY2VHZXRSZXF1ZXN0JztcclxuZXhwb3J0IHsgSFRUUFNlcnZpY2VQb3N0UmVxdWVzdCB9IGZyb20gJy4vbWFpbi9jb250cm9sbGVyL2h0dHBzZXJ2aWNlL0hUVFBTZXJ2aWNlUG9zdFJlcXVlc3QnO1xyXG5leHBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9tYWluL2NvbnRyb2xsZXIvZGlhbG9nLnNlcnZpY2UnO1xyXG5leHBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4vbWFpbi9jb250cm9sbGVyL3VzZXIuc2VydmljZSc7XHJcbmV4cG9ydCB7IFZpZXdzU2VydmljZSB9IGZyb20gJy4vbWFpbi9jb250cm9sbGVyL3ZpZXdzLnNlcnZpY2UnO1xyXG5leHBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJy4vbWFpbi9jb250cm9sbGVyL2Jyb3dzZXIuc2VydmljZSc7XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudHNcclxuICovXHJcbmV4cG9ydCB7IEJ1c3lTdGF0ZUJhc2VDb21wb25lbnQgfSBmcm9tICcuL21haW4vdmlldy9jb21wb25lbnRzL2J1c3ktc3RhdGUtYmFzZS9idXN5LXN0YXRlLWJhc2UuY29tcG9uZW50JztcclxuZXhwb3J0IHsgRGlhbG9nT3B0aW9uc0Jhc2VDb21wb25lbnQgfSBmcm9tICcuL21haW4vdmlldy9jb21wb25lbnRzL2RpYWxvZy1vcHRpb25zLWJhc2UvZGlhbG9nLW9wdGlvbnMtYmFzZS5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBEaWFsb2dEYXRlU2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9tYWluL3ZpZXcvY29tcG9uZW50cy9kaWFsb2ctZGF0ZS1zZWxlY3Rpb24vZGlhbG9nLWRhdGUtc2VsZWN0aW9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IERpYWxvZ0Vycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9tYWluL3ZpZXcvY29tcG9uZW50cy9kaWFsb2ctZXJyb3IvZGlhbG9nLWVycm9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IERpYWxvZ1NpbmdsZU9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vbWFpbi92aWV3L2NvbXBvbmVudHMvZGlhbG9nLXNpbmdsZS1vcHRpb24vZGlhbG9nLXNpbmdsZS1vcHRpb24uY29tcG9uZW50JztcclxuZXhwb3J0IHsgRGlhbG9nVHdvT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9tYWluL3ZpZXcvY29tcG9uZW50cy9kaWFsb2ctdHdvLW9wdGlvbi9kaWFsb2ctdHdvLW9wdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBEaWFsb2dNdWx0aXBsZU9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vbWFpbi92aWV3L2NvbXBvbmVudHMvZGlhbG9nLW11bHRpcGxlLW9wdGlvbi9kaWFsb2ctbXVsdGlwbGUtb3B0aW9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IERpYWxvZ1NpbmdsZVNlbGVjdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tICcuL21haW4vdmlldy9jb21wb25lbnRzL2RpYWxvZy1zaW5nbGUtc2VsZWN0aW9uLWxpc3QvZGlhbG9nLXNpbmdsZS1zZWxlY3Rpb24tbGlzdC5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBWaWV3c0NvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vbWFpbi92aWV3L2NvbXBvbmVudHMvdmlld3MtY29udGFpbmVyL3ZpZXdzLWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBCdXR0b25JbWFnZUNvbXBvbmVudCB9IGZyb20gJy4vbWFpbi92aWV3L2NvbXBvbmVudHMvYnV0dG9uLWltYWdlL2J1dHRvbi1pbWFnZS5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBCdXR0b25Db250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL21haW4vdmlldy9jb21wb25lbnRzL2J1dHRvbi1jb250YWluZXIvYnV0dG9uLWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBDbGFzc2VzXHJcbiAqL1xyXG5leHBvcnQgeyBHVUlOb3RpZmljYXRpb24gfSBmcm9tICcuL21haW4vbW9kZWwvY2xhc3Nlcy9HVUlOb3RpZmljYXRpb24nO1xyXG5leHBvcnQgeyBWaWV3IH0gZnJvbSAnLi9tYWluL21vZGVsL2NsYXNzZXMvVmlldyc7XHJcbmV4cG9ydCB7IFZpZXdNb2RlbCB9IGZyb20gJy4vbWFpbi9tb2RlbC9jbGFzc2VzL1ZpZXdNb2RlbCc7XHJcbmV4cG9ydCB7IFZpZXdTZXJ2aWNlIH0gZnJvbSAnLi9tYWluL21vZGVsL2NsYXNzZXMvVmlld1NlcnZpY2UnO1xyXG5leHBvcnQgeyBEZWxheWVkTWV0aG9kQ2FsbE1hbmFnZXIgfSBmcm9tICcuL21haW4vbWFuYWdlcnMvRGVsYXllZE1ldGhvZENhbGxNYW5hZ2VyJztcclxuZXhwb3J0IHsgRmFkZUFuaW1hdGlvbkNsYXNzIH0gZnJvbSAnLi9tYWluL3ZpZXcvYW5pbWF0aW9ucy9mYWRlLmFuaW1hdGlvbic7XHJcbmV4cG9ydCB7IEVsZW1lbnRDcmVhdGVkRGlyZWN0aXZlIH0gZnJvbSAnLi9tYWluL3ZpZXcvZGlyZWN0aXZlcy9FbGVtZW50Q3JlYXRlZERpcmVjdGl2ZSc7XHJcbmV4cG9ydCB7IEVsZW1lbnREZXN0cm95ZWREaXJlY3RpdmUgfSBmcm9tICcuL21haW4vdmlldy9kaXJlY3RpdmVzL0VsZW1lbnREZXN0cm95ZWREaXJlY3RpdmUnO1xyXG5leHBvcnQgeyBBdXRvRm9jdXNPbkRpc3BsYXlEaXJlY3RpdmUgfSBmcm9tICcuL21haW4vdmlldy9kaXJlY3RpdmVzL0F1dG9Gb2N1c09uRGlzcGxheURpcmVjdGl2ZSc7XHJcbmV4cG9ydCB7IEF1dG9TZWxlY3RUZXh0T25Gb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4vbWFpbi92aWV3L2RpcmVjdGl2ZXMvQXV0b1NlbGVjdFRleHRPbkZvY3VzRGlyZWN0aXZlJztcclxuIl19