verben-workflow-ui 0.5.20 → 0.5.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,9 @@
1
1
  import { Component, input, Input } from '@angular/core';
2
- import { columns } from './my-queue.columns';
3
- import { BaseDataViewComponent } from 'verben-workflow-ui/src/lib/shared';
4
- import { DataType } from 'verben-workflow-ui/src/lib/models';
5
2
  import { BehaviorSubject } from 'rxjs';
6
- import { TaskStatus } from 'verben-workflow-ui/src/lib/models';
7
3
  import { TaskModel } from 'verben-workflow-ui/src/lib/components/tasks';
8
- import { ObjectState } from 'verben-workflow-ui/src/lib/models';
4
+ import { DataType, ObjectState, TaskStatus } from 'verben-workflow-ui/src/lib/models';
5
+ import { BaseDataViewComponent } from 'verben-workflow-ui/src/lib/shared';
6
+ import { columns } from './my-queue.columns';
9
7
  import * as i0 from "@angular/core";
10
8
  import * as i1 from "./my-queue.facade";
11
9
  import * as i2 from "@angular/common";
@@ -118,7 +116,7 @@ export class MyQueueComponent extends BaseDataViewComponent {
118
116
  });
119
117
  this.selectedAction.subscribe((action) => {
120
118
  if (action) {
121
- this.facade.loadNextActors(this.selectedTaskCode, action.ToStage);
119
+ this.facade.loadNextActors(this.selectedTaskCode, false, action.ToStage);
122
120
  }
123
121
  else {
124
122
  this.nextActors = [];
@@ -359,4 +357,4 @@ var ActionType;
359
357
  ActionType["UnfollowTask"] = "UnfollowTask";
360
358
  ActionType["SkipTo"] = "SkipTo";
361
359
  })(ActionType || (ActionType = {}));
362
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktcXVldWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy9teS1xdWV1ZS9teS1xdWV1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL215LXF1ZXVlL215LXF1ZXVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBTTFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7OztBQU9oRSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEscUJBQTJCO0lBNEYzQztJQUFnQztJQTNGcEQsU0FBUyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUN6QixJQUFJLENBQVU7SUFDdkIsTUFBTSxHQUF5QjtRQUM3QixVQUFVLEVBQUUsRUFBRSxFQUFFLHdCQUF3QjtRQUN4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLG1DQUFtQztRQUNyRCxjQUFjLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENB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QkFDbEIsS0FBSztnQkFDTCw0Q0FBNEM7Z0JBQzVDLGdDQUFnQztnQkFDaEMsa0NBQWtDO2dCQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQ2xDLE1BQU07WUFDUixpQkFBaUI7WUFDakIsbUNBQW1DO1lBQ25DLFdBQVc7WUFDWCxlQUFlO1lBQ2YsaUNBQWlDO1lBQ2pDLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsbUNBQW1DO1lBQ25DLFdBQVc7WUFDWDtnQkFDRSxNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7d0dBbFhVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLGlWQ3RCN0IseThkQThaQTs7NEZEeFlhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxjQUFjO2tIQU1mLElBQUk7c0JBQVosS0FBSzs7QUFtWFIsSUFBSyxVQVNKO0FBVEQsV0FBSyxVQUFVO0lBQ2IsbUNBQXFCLENBQUE7SUFDckIsdUNBQXlCLENBQUE7SUFDekIsbUNBQXFCLENBQUE7SUFDckIsK0JBQWlCLENBQUE7SUFDakIsbUNBQXFCLENBQUE7SUFDckIsdUNBQXlCLENBQUE7SUFDekIsMkNBQTZCLENBQUE7SUFDN0IsK0JBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVRJLFVBQVUsS0FBVixVQUFVLFFBU2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBpbnB1dCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFWaWV3Q29uZmlnIH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvc2hhcmVkJztcbmltcG9ydCB7IFRhc2sgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgY29sdW1ucyB9IGZyb20gJy4vbXktcXVldWUuY29sdW1ucyc7XG5pbXBvcnQgeyBNeVF1ZXVlRmFjYWRlIH0gZnJvbSAnLi9teS1xdWV1ZS5mYWNhZGUnO1xuaW1wb3J0IHsgQmFzZURhdGFWaWV3Q29tcG9uZW50IH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvc2hhcmVkJztcbmltcG9ydCB7IGdlbmVyYXRlVGFza3MgfSBmcm9tICcuL215LXF1ZXVlLmhlbHBlcic7XG5pbXBvcnQgeyBDYXJkRGF0YSwgVmVyYmVuUG9wVXBDb21wb25lbnQgfSBmcm9tICd2ZXJiZW4tbmctdWknO1xuaW1wb3J0IHsgV29ya2Zsb3dBY3Rpb24gfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgQWN0b3IgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgRm9ybSB9IGZyb20gJ3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBEYXRhVHlwZSB9IGZyb20gJ3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL21vZGVscyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRhc2tTdGF0dXMgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgVGFza01vZGVsIH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy90YXNrcyc7XG5pbXBvcnQgeyBPYmplY3RTdGF0ZSB9IGZyb20gJ3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1teS1xdWV1ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9teS1xdWV1ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9teS1xdWV1ZS5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgTXlRdWV1ZUNvbXBvbmVudCBleHRlbmRzIEJhc2VEYXRhVmlld0NvbXBvbmVudDxUYXNrPiB7XG4gIGlzR2VuZXJhbCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgQElucHV0KCkgdXNlciE6IHN0cmluZztcbiAgY29uZmlnOiBEYXRhVmlld0NvbmZpZzxUYXNrPiA9IHtcbiAgICBkYXRhU291cmNlOiBbXSwgLy8gUG9wdWxhdGUgZnJvbSBzZXJ2aWNlXG4gICAgY29sdW1uczogY29sdW1ucywgLy8gWW91ciBleGlzdGluZyBjb2x1bW4gZGVmaW5pdGlvbnNcbiAgICBjYXJkRGF0YU1hcHBlcjogKHRhc2spID0+ICh7XG4gICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICB0aXRsZTogdGFzay5OYW1lLFxuICAgICAgZGF0YTogdGFzayxcbiAgICAgIGJvZHk6IFtcbiAgICAgICAgeyB0aXRsZTogJ05hbWUnLCB2YWx1ZTogdGFzay5OYW1lIH0sXG4gICAgICAgIHsgdGl0bGU6ICdTdGF0dXMnLCB2YWx1ZTogdGFzay5TdGF0dXMgfSxcbiAgICAgIF0sXG4gICAgICBjaGlsZHJlbjogW10sXG4gICAgfSksXG4gICAgb25EZXRhaWxWaWV3OiAodGFzaykgPT4ge1xuICAgICAgLy8gQ3VzdG9tIGRldGFpbCB2aWV3IGxvZ2ljXG4gICAgfSxcbiAgfTtcblxuICBzZWxlY3RlZFRhc2tDb2RlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgYWN0aXZlQWN0aW9uVHlwZTogQWN0aW9uVHlwZSB8IG51bGwgPSBudWxsO1xuICBjb21tZW50OiBzdHJpbmcgPSAnJztcbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICB0YWJsZVJvd0FjdGlvbnMgPSBbXG4gICAgeyBsYWJlbDogJ1BpY2sgVGFzaycsIGFjdGlvbjogKGRhdGE6IFRhc2spID0+IHt9LCBkaXZpZGVyOiBmYWxzZSB9LFxuICAgIHsgbGFiZWw6ICdSZWxlYXNlIFRhc2snLCBhY3Rpb246IChkYXRhOiBUYXNrKSA9PiB7fSwgZGl2aWRlcjogZmFsc2UgfSxcbiAgICB7IGxhYmVsOiAnRm9sbG93IFRhc2snLCBhY3Rpb246IChkYXRhOiBUYXNrKSA9PiB7fSwgZGl2aWRlcjogdHJ1ZSB9LFxuICAgIHsgbGFiZWw6ICdVbmZvbGxvdyBUYXNrJywgYWN0aW9uOiAoZGF0YTogVGFzaykgPT4ge30sIGRpdmlkZXI6IHRydWUgfSxcblxuICAgIHtcbiAgICAgIGxhYmVsOiAnUGFzcyBPbicsXG4gICAgICBhY3Rpb246IChkYXRhOiBUYXNrKSA9PiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGRhdGEpO1xuICAgICAgICB0aGlzLmFjdGl2ZUFjdGlvblR5cGUgPSBBY3Rpb25UeXBlLlBhc3NPbjtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFRhc2tDb2RlID0gZGF0YS5Db2RlO1xuICAgICAgICB0aGlzLmZhY2FkZS5sb2FkTmV4dEFjdGlvbnMoZGF0YS5Db2RlKTtcbiAgICAgICAgLy8gLnRoZW4oKGFjdGlvbnMpID0+IHtcbiAgICAgICAgLy8gICBpZiAoYWN0aW9ucy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgLy8gICAgIHRoaXMuc2VsZWN0ZWRBY3Rpb24gPSBhY3Rpb25zWzBdO1xuICAgICAgICAvLyAgICAgdGhpcy5mYWNhZGVcbiAgICAgICAgLy8gICAgICAgLmxvYWROZXh0QWN0b3JzKGRhdGEuQ29kZSwgdGhpcy5zZWxlY3RlZEFjdGlvbj8uQ29kZSlcbiAgICAgICAgLy8gICAgICAgLnRoZW4oKGFjdG9ycykgPT4ge30pO1xuICAgICAgICAvLyAgIH1cbiAgICAgICAgLy8gfSk7XG4gICAgICAgIHRoaXMuZmFjYWRlLmxvYWRUYXNrRm9ybXMoZGF0YS5Db2RlKTtcbiAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5zZWxlY3RlZFRhc2tDb2RlKTtcbiAgICAgIH0sXG4gICAgICBkaXZpZGVyOiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnUGFzcyBCYWNrJyxcbiAgICAgIGFjdGlvbjogKGRhdGE6IFRhc2spID0+IHtcbiAgICAgICAgdGhpcy5hY3RpdmVBY3Rpb25UeXBlID0gQWN0aW9uVHlwZS5QYXNzQmFjaztcbiAgICAgICAgdGhpcy5zZWxlY3RlZFRhc2tDb2RlID0gZGF0YS5Db2RlO1xuICAgICAgICB0aGlzLmZhY2FkZS5sb2FkUHJldmlvdXNBY3Rpb25zKGRhdGEuQ29kZSk7XG4gICAgICB9LFxuICAgICAgZGl2aWRlcjogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ1NraXAgVG8nLFxuICAgICAgYWN0aW9uOiAoZGF0YTogVGFzaykgPT4ge1xuICAgICAgICB0aGlzLmFjdGl2ZUFjdGlvblR5cGUgPSBBY3Rpb25UeXBlLlNraXBUbztcbiAgICAgICAgdGhpcy5zZWxlY3RlZFRhc2tDb2RlID0gZGF0YS5Db2RlO1xuICAgICAgICB0aGlzLmZhY2FkZS5sb2FkQWxsUHJldmlvdXNBY3Rpb25zKGRhdGEuQ29kZSk7XG4gICAgICB9LFxuICAgICAgZGl2aWRlcjogZmFsc2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ1JlLUFzc2lnbicsXG4gICAgICBhY3Rpb246IChkYXRhOiBUYXNrKSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZlQWN0aW9uVHlwZSA9IEFjdGlvblR5cGUuUmVBc3NpZ247XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUYXNrQ29kZSA9IGRhdGEuQ29kZTtcbiAgICAgIH0sXG4gICAgICBkaXZpZGVyOiB0cnVlLFxuICAgIH0sXG4gICAgLy8geyBsYWJlbDogJ1ZpZXcgT3BlcmF0aW9uJywgYWN0aW9uOiAoZGF0YTogVGFzaykgPT4ge30sIGRpdmlkZXI6IGZhbHNlIH0sXG4gIF07XG5cbiAgbmV4dEFjdGlvbnM6IFdvcmtmbG93QWN0aW9uW10gPSBbXTtcbiAgbmV4dEFjdG9yczogQWN0b3JbXSA9IFtdO1xuICBzdGFnZUZvcm06IEZvcm0gfCBudWxsID0gbnVsbDtcbiAgYWN0aXZlOiBudW1iZXIgPSAwO1xuICBkYXRhVHlwZTogRGF0YVR5cGUgPSBEYXRhVHlwZS5UZXh0O1xuXG4gIHJlY2lwaWVudENvZGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBzZWxlY3RlZEFjdGlvbjogQmVoYXZpb3JTdWJqZWN0PFdvcmtmbG93QWN0aW9uIHwgbnVsbD4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8V29ya2Zsb3dBY3Rpb24gfCBudWxsPihudWxsKTtcbiAgY3VycmVudFRhc2s6IFRhc2sgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgZmFjYWRlOiBNeVF1ZXVlRmFjYWRlKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuZmFjYWRlLmdldFJlcXVlc3RzJCgpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgdGhpcy5kYXRhLnNldChkYXRhKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZmFjYWRlLmdldE5leHRBY3Rpb25zJCgpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgdGhpcy5uZXh0QWN0aW9ucyA9IGRhdGE7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZhY2FkZS5nZXROZXh0QWN0b3JzJCgpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgdGhpcy5uZXh0QWN0b3JzID0gZGF0YTtcbiAgICB9KTtcblxuICAgIHRoaXMuZmFjYWRlLmdldFRhc2tGb3JtcyQoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuc3RhZ2VGb3JtID0gZGF0YT8uWzBdIHx8IG51bGw7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNlbGVjdGVkQWN0aW9uLnN1YnNjcmliZSgoYWN0aW9uKSA9PiB7XG4gICAgICBpZiAoYWN0aW9uKSB7XG4gICAgICAgIHRoaXMuZmFjYWRlLmxvYWROZXh0QWN0b3JzKHRoaXMuc2VsZWN0ZWRUYXNrQ29kZSEsIGFjdGlvbi5Ub1N0YWdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubmV4dEFjdG9ycyA9IFtdO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgbG9hZEluaXRpYWxEYXRhKCkge1xuICAgIHRoaXMuZmFjYWRlLnVwZGF0ZVF1ZXJ5UGFyYW1zKHsgdXNlcjogdGhpcy51c2VyIH0pO1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmZhY2FkZS5sb2FkUmVxdWVzdHMoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgfVxuICB9XG5cbiAgLy8gcHJvdGVjdGVkIGdldENhcmREYXRhQnlJZGVudGlmaWVyKG1haWxBZGRyZXNzOiBzdHJpbmcpOiBDYXJkRGF0YSB8IHVuZGVmaW5lZCB7XG4gIC8vICAgcmV0dXJuIHRoaXMuY2FyZERhdGEoKS5maW5kKCh7IGRhdGEgfSkgPT4gZGF0YS5NYWlsQWRkcmVzcyA9PT0gbWFpbEFkZHJlc3MpO1xuICAvLyB9XG5cbiAgYXN5bmMgbG9hZE1vcmUoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuZmFjYWRlLmxvYWRNb3JlKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIEhhbmRsZSBlcnJvclxuICAgIH1cbiAgfVxuXG4gIGdldFRhYmxlQWN0aW9ucyh0YXNrOiBUYXNrKSB7XG4gICAgY29uc3QgYWN0aW9ucyA9IFtdIGFzIHR5cGVvZiB0aGlzLnRhYmxlUm93QWN0aW9ucztcbiAgICBpZiAodGhpcy5pc0dlbmVyYWwoKSkge1xuICAgICAgY29uc3QgYWN0aW9uTmFtZXMgPSBbXG4gICAgICAgICdQaWNrIFRhc2snLFxuICAgICAgICAnUmVsZWFzZSBUYXNrJyxcbiAgICAgICAgJ0ZvbGxvdyBUYXNrJyxcbiAgICAgICAgJ1VuZm9sbG93IFRhc2snLFxuICAgICAgXTtcbiAgICAgIGFjdGlvbnMucHVzaChcbiAgICAgICAgLi4udGhpcy50YWJsZVJvd0FjdGlvbnMuZmlsdGVyKCh7IGxhYmVsIH0pID0+XG4gICAgICAgICAgYWN0aW9uTmFtZXMuaW5jbHVkZXMobGFiZWwpXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGFjdGlvbk5hbWVzID0gWydQYXNzIE9uJywgJ1Bhc3MgQmFjaycsICdTa2lwIFRvJywgJ1JlLUFzc2lnbiddO1xuICAgICAgaWYgKHRhc2suRnVsbFN0YWdlcz8uWzBdPy5Jc0VudHJ5UG9pbnQpIHtcbiAgICAgICAgYWN0aW9ucy5wdXNoKFxuICAgICAgICAgIC4uLnRoaXMudGFibGVSb3dBY3Rpb25zLmZpbHRlcihcbiAgICAgICAgICAgICh7IGxhYmVsIH0pID0+IGFjdGlvbk5hbWVzLmluY2x1ZGVzKGxhYmVsKSAmJiBsYWJlbCAhPT0gJ1Bhc3MgQmFjaydcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhY3Rpb25zLnB1c2goXG4gICAgICAgICAgLi4udGhpcy50YWJsZVJvd0FjdGlvbnMuZmlsdGVyKCh7IGxhYmVsIH0pID0+XG4gICAgICAgICAgICBhY3Rpb25OYW1lcy5pbmNsdWRlcyhsYWJlbClcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjdGlvbnM7XG4gIH1cblxuICBncm91cEJ5V29ya2Zsb3dDb2RlKHRhc2s6IFRhc2spIHtcbiAgICByZXR1cm4gYFdvcmtmbG93OiAke3Rhc2suV29ya2Zsb3dDb2RlfWA7XG4gIH1cblxuICBoYW5kbGVQb3B1cENsb3NlKGV2ZW50OiBib29sZWFuKSB7XG4gICAgY29uc29sZS5sb2coJ0Nsb3NpbmcuLi4nLCBldmVudCk7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVGFza0NvZGUgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGNoZWNrRm9yRm9ybVRoZW5QYXNzT24odGFzazogVGFzaywgcG9wdXA/OiBWZXJiZW5Qb3BVcENvbXBvbmVudCkge1xuICAgIHRoaXMuY3VycmVudFRhc2sgPSB0YXNrO1xuXG4gICAgaWYgKHRoaXMuc3RhZ2VGb3JtKSB7XG4gICAgICBwb3B1cD8udG9nZ2xlRHJvcGRvd24oKTtcbiAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBhc3NPbihwb3B1cCk7XG4gICAgfVxuXG4gICAgLy8gdGhpcy5wYXNzT24ocG9wdXApO1xuICB9XG5cbiAgaGFuZGxlQWN0aW9uKHRhc2s6IFRhc2ssIHBvcHVwOiBWZXJiZW5Qb3BVcENvbXBvbmVudCkge1xuICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuYWN0aXZlQWN0aW9uVHlwZTtcblxuICAgIHN3aXRjaCAoYWN0aW9uKSB7XG4gICAgICBjYXNlIEFjdGlvblR5cGUuUGFzc09uOlxuICAgICAgICBjb25zb2xlLmxvZygnUGFzcyBPbiBBY3Rpb24nLCB0YXNrKTtcbiAgICAgICAgdGhpcy5jaGVja0ZvckZvcm1UaGVuUGFzc09uKHRhc2ssIHBvcHVwKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEFjdGlvblR5cGUuUmVBc3NpZ246XG4gICAgICAgIHRoaXMuZmFjYWRlLnJlQXNzaWduKHRhc2ssIHRoaXMuY29tbWVudCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jb21tZW50ID0gJyc7XG4gICAgICAgICAgdGhpcy5uZXh0QWN0aW9ucyA9IFtdO1xuICAgICAgICAgIHRoaXMucmVjaXBpZW50Q29kZSA9IG51bGw7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEFjdGlvbi5uZXh0KG51bGwpO1xuICAgICAgICAgIHBvcHVwLnRvZ2dsZURyb3Bkb3duKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQWN0aW9uVHlwZS5QYXNzQmFjazpcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRBY3Rpb24pIHtcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZEFjdGlvbiA9IHRoaXMuc2VsZWN0ZWRBY3Rpb24uZ2V0VmFsdWUoKTtcbiAgICAgICAgICBpZiAoc2VsZWN0ZWRBY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZmFjYWRlXG4gICAgICAgICAgICAgIC5wYXNzQmFjayhzZWxlY3RlZEFjdGlvbiwgdGFzaywgdGhpcy5jb21tZW50LCB0aGlzLnJlY2lwaWVudENvZGUpXG4gICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbW1lbnQgPSAnJztcbiAgICAgICAgICAgICAgICB0aGlzLm5leHRBY3Rpb25zID0gW107XG4gICAgICAgICAgICAgICAgdGhpcy5yZWNpcGllbnRDb2RlID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQWN0aW9uLm5leHQobnVsbCk7XG4gICAgICAgICAgICAgICAgcG9wdXAudG9nZ2xlRHJvcGRvd24oKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBBY3Rpb25UeXBlLlNraXBUbzpcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRBY3Rpb24gPSB0aGlzLnNlbGVjdGVkQWN0aW9uLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdTZWxlY3RlZCBBY3Rpb24gZm9yIFNraXA6Jywgc2VsZWN0ZWRBY3Rpb24pO1xuICAgICAgICBjb25zb2xlLmxvZygnVGFzayBmb3IgU2tpcDonLCB0YXNrKTtcbiAgICAgICAgY29uc29sZS5sb2coJ0NvbW1lbnQgZm9yIFNraXA6JywgdGhpcy5jb21tZW50KTtcbiAgICAgICAgY29uc29sZS5sb2coJ1JlY2lwaWVudCBDb2RlIGZvciBTa2lwOicsIHRoaXMucmVjaXBpZW50Q29kZSk7XG4gICAgICAgIGlmIChzZWxlY3RlZEFjdGlvbikge1xuICAgICAgICAgIHRoaXMuZmFjYWRlXG4gICAgICAgICAgICAuc2tpcFRvKFxuICAgICAgICAgICAgICB0YXNrLkN1cnJlbnRTdGFnZXNbMF0sXG4gICAgICAgICAgICAgIHNlbGVjdGVkQWN0aW9uLlRvU3RhZ2UsXG4gICAgICAgICAgICAgIHRhc2ssXG4gICAgICAgICAgICAgIHRoaXMuY29tbWVudCxcbiAgICAgICAgICAgICAgdGhpcy5yZWNpcGllbnRDb2RlXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuY29tbWVudCA9ICcnO1xuICAgICAgICAgICAgICB0aGlzLm5leHRBY3Rpb25zID0gW107XG4gICAgICAgICAgICAgIHRoaXMucmVjaXBpZW50Q29kZSA9IG51bGw7XG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRBY3Rpb24ubmV4dChudWxsKTtcbiAgICAgICAgICAgICAgcG9wdXAudG9nZ2xlRHJvcGRvd24oKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgc3VibWl0Rm9ybSgpIHtcbiAgICBjb25zdCBmb3JtID0gdGhpcy5zdGFnZUZvcm07XG4gICAgaWYgKGZvcm0gJiYgdGhpcy5jdXJyZW50VGFzaykge1xuICAgICAgdGhpcy5mYWNhZGVcbiAgICAgICAgLmZpbGxGb3JtKGZvcm0sIHRoaXMuY3VycmVudFRhc2suQ29kZSlcbiAgICAgICAgLnRoZW4oKGZpbGxlZEZvcm0pID0+IHtcbiAgICAgICAgICB0aGlzLnN0YWdlRm9ybSA9IG51bGw7XG4gICAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMucGFzc09uKCk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmaWxsaW5nIGZvcm06JywgZXJyb3IpO1xuICAgICAgICAgIC8vIEhhbmRsZSBlcnJvciAoZS5nLiwgc2hvdyBhIG5vdGlmaWNhdGlvbilcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcGFzc09uKHBvcHVwPzogVmVyYmVuUG9wVXBDb21wb25lbnQpIHtcbiAgICBjb25zdCBzZWxlY3RlZEFjdGlvbiA9IHRoaXMuc2VsZWN0ZWRBY3Rpb24uZ2V0VmFsdWUoKTtcbiAgICBjb25zb2xlLmxvZygnU2VsZWN0ZWQgQWN0aW9uOicsIHNlbGVjdGVkQWN0aW9uKTtcbiAgICBjb25zb2xlLmxvZygnQ3VycmVudCBUYXNrOicsIHRoaXMuY3VycmVudFRhc2spO1xuICAgIGNvbnNvbGUubG9nKCdDb21tZW50OicsIHRoaXMuY29tbWVudCk7XG4gICAgY29uc29sZS5sb2coJ1JlY2lwaWVudCBDb2RlOicsIHRoaXMucmVjaXBpZW50Q29kZSk7XG4gICAgaWYgKHNlbGVjdGVkQWN0aW9uICYmIHRoaXMuY3VycmVudFRhc2sgJiYgdGhpcy5jb21tZW50KSB7XG4gICAgICB0aGlzLmZhY2FkZVxuICAgICAgICAucGFzc09uKFxuICAgICAgICAgIHNlbGVjdGVkQWN0aW9uLFxuICAgICAgICAgIHRoaXMuY3VycmVudFRhc2ssXG4gICAgICAgICAgdGhpcy5jb21tZW50LFxuICAgICAgICAgIHRoaXMucmVjaXBpZW50Q29kZSxcbiAgICAgICAgICB0aGlzLnVzZXJcbiAgICAgICAgKVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jb21tZW50ID0gJyc7XG4gICAgICAgICAgdGhpcy5uZXh0QWN0aW9ucyA9IFtdO1xuICAgICAgICAgIHRoaXMucmVjaXBpZW50Q29kZSA9IG51bGw7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEFjdGlvbi5uZXh0KG51bGwpO1xuXG4gICAgICAgICAgaWYgKHBvcHVwKSB7XG4gICAgICAgICAgICBwb3B1cC50b2dnbGVEcm9wZG93bigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYXJlUmVxdWlyZWRQcm9wZXJ0aWVzRmlsbGVkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLnN0YWdlRm9ybT8uRW50aXRpZXNbdGhpcy5hY3RpdmVdLlByb3BlcnRpZXMgfHwgW107XG5cbiAgICAvLyBDaGVjayBpZiBhbGwgcmVxdWlyZWQgcHJvcGVydGllcyBoYXZlIHZhbGlkIHZhbHVlc1xuICAgIC8vIHJldHVybiBwcm9wZXJ0aWVzLmV2ZXJ5KChwcm9wZXJ0eTogYW55KSA9PiB7XG4gICAgLy8gICBjb25zb2xlLmxvZyhwcm9wZXJ0eSk7XG4gICAgLy8gICByZXR1cm4gKFxuICAgIC8vICAgICAhcHJvcGVydHkuaXNSZXF1aXJlZCB8fFxuICAgIC8vICAgICAocHJvcGVydHkuVmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgIC8vICAgICAgIHByb3BlcnR5LlZhbHVlICE9PSBudWxsICYmXG4gICAgLy8gICAgICAgcHJvcGVydHkuVmFsdWUgIT09ICcnKVxuICAgIC8vICAgKTtcbiAgICAvLyB9KTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIG9uQWN0aW9uRHJvcERvd25DaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHNlbGVjdGVkQWN0aW9uID0gZXZlbnQgYXMgV29ya2Zsb3dBY3Rpb247XG4gICAgaWYgKHNlbGVjdGVkQWN0aW9uKSB7XG4gICAgICBjb25zb2xlLmxvZygnU2VsZWN0ZWQgQWN0aW9uOicsIHNlbGVjdGVkQWN0aW9uKTtcbiAgICAgIC8vIC8vIHRoaXMuc2VsZWN0ZWRBY3Rpb24gPSBzZWxlY3RlZEFjdGlvbjtcbiAgICAgIC8vIHRoaXMuZmFjYWRlXG4gICAgICAvLyAgIC5sb2FkTmV4dEFjdG9ycyh0aGlzLnNlbGVjdGVkVGFza0NvZGUhLCBzZWxlY3RlZEFjdGlvbi5Db2RlKVxuICAgICAgLy8gICAudGhlbigoYWN0b3JzKSA9PiB7fSk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgb25TdGF0ZUNoYW5nZShldmVudDogeyBrZXk6IHN0cmluZzsgdmFsdWU6IGJvb2xlYW4gfSk6IHZvaWQge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdjcmVhdGUnOlxuICAgICAgICB2YXIgbmV3SXRlbTogVGFzayA9IG5ldyBUYXNrTW9kZWwoe1xuICAgICAgICAgIFdvcmtmbG93Q29kZTogJycsXG4gICAgICAgICAgU3RhdHVzOiBUYXNrU3RhdHVzLkFjdGl2ZSxcbiAgICAgICAgICBGbG93YWJsZTogJycsXG4gICAgICAgICAgRmxvd2FibGVEYXRhOiBudWxsLFxuICAgICAgICAgIEZsb3dhYmxlUGF0aDogJycsXG4gICAgICAgICAgQ3VycmVudEFjdG9yczogW10sXG4gICAgICAgICAgRGF0YVN0YXRlOiBPYmplY3RTdGF0ZS5OZXcsXG4gICAgICAgIH0pIGFzIHVua25vd24gYXMgVGFzaztcbiAgICAgICAgdGhpcy5mYWNhZGUuYWRkTmV3UmVxdWVzdChuZXdJdGVtKTtcbiAgICAgICAgLy8gY29uc3QgY2FyZERhdGE6IENhcmREYXRhID0ge1xuICAgICAgICAvLyAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgLy8gICB0aXRsZTogLFxuICAgICAgICAvLyAgIGRhdGE6IG5ld0dyb3VwLFxuICAgICAgICAvLyAgIGJvZHk6IFtdLFxuICAgICAgICAvLyAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgLy8gfTtcbiAgICAgICAgLy8gdGhpcy5kYXRhID0gdGhpcy5kYXRhLmNvbmNhdChbbmV3R3JvdXBdKTtcbiAgICAgICAgLy8gdGhpcy5jYXJkRGF0YS5wdXNoKGNhcmREYXRhKTtcbiAgICAgICAgLy8gdGhpcy51c2VyQ2FyZENsaWNrZWQoY2FyZERhdGEpO1xuICAgICAgICB0aGlzLmRhdGFWaWV3LmlzVGFibGVWaWV3ID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgLy8gY2FzZSAnZmlsdGVyJzpcbiAgICAgIC8vICAgdGhpcy5zaG93RmlsdGVyID0gZXZlbnQudmFsdWU7XG4gICAgICAvLyAgIGJyZWFrO1xuICAgICAgLy8gY2FzZSAnc29ydCc6XG4gICAgICAvLyAgIHRoaXMuc2hvd1NvcnQgPSBldmVudC52YWx1ZTtcbiAgICAgIC8vICAgYnJlYWs7XG4gICAgICAvLyBjYXNlICdjb2x1bW4nOlxuICAgICAgLy8gICB0aGlzLnNob3dDb2x1bW4gPSBldmVudC52YWx1ZTtcbiAgICAgIC8vICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbn1cblxuZW51bSBBY3Rpb25UeXBlIHtcbiAgUGlja1Rhc2sgPSAnUGlja1Rhc2snLFxuICBVblBpY2tUYXNrID0gJ1VuUGlja1Rhc2snLFxuICBSZUFzc2lnbiA9ICdSZUFzc2lnbicsXG4gIFBhc3NPbiA9ICdQYXNzT24nLFxuICBQYXNzQmFjayA9ICdQYXNzQmFjaycsXG4gIEZvbGxvd1Rhc2sgPSAnRm9sbG93VGFzaycsXG4gIFVuZm9sbG93VGFzayA9ICdVbmZvbGxvd1Rhc2snLFxuICBTa2lwVG8gPSAnU2tpcFRvJyxcbn1cbiIsIjxkaXYgY2xhc3M9XCJzcGFjZS15LThcIj5cbiAgPHZlcmJlbi1kYXRhLXZpZXdcbiAgICAjdmR2XG4gICAgW3ZpZXdTdGF0ZV09XCJ7XG4gICAgICBpc1NlYXJjaDogdHJ1ZSxcbiAgICAgIGlzQ29sdW1uOiB0cnVlLFxuICAgICAgaXNGaWx0ZXI6IHRydWUsXG4gICAgICBpc1NvcnQ6IHRydWUsXG4gICAgICBpc0V4cG9ydDogdHJ1ZSxcbiAgICAgIGlzU2VsZWN0OiB0cnVlLFxuICAgICAgaXNDcmVhdGU6IGlzR2VuZXJhbCgpLFxuICAgICAgaXNUb2dnbGU6IHRydWUsXG4gICAgfVwiXG4gICAgW2J1dHRvbkNsYXNzXT1cIidteS1jdXN0b20tYnV0dG9uLWNsYXNzJ1wiXG4gICAgW2ljb25DbGFzc109XCInbXktaWNvbi1jbGFzcydcIlxuICAgIFthY3RpdmVJY29uQ2xhc3NdPVwiJ215LWFjdGl2ZS1pY29uLWNsYXNzJ1wiXG4gICAgW3NlbGVjdGVkQ29sdW1uQ291bnRdPVwiMFwiXG4gICAgW3NlbGVjdGVkU29ydENvdW50XT1cIjBcIlxuICAgIFtzZWxlY3RlZEZpbHRlclRhYmxlQ291bnRdPVwiMFwiXG4gICAgKHZpZXdDaGFuZ2UpPVwib25WaWV3Q2hhbmdlKCRldmVudClcIlxuICAgIChzdGF0ZUNoYW5nZSk9XCJvblN0YXRlQ2hhbmdlKCRldmVudClcIlxuICA+XG4gICAgPGRpdiB0YWJsZS1jb250ZW50PlxuICAgICAgPGxpYi1kYXRhLXRhYmxlXG4gICAgICAgIFtkYXRhXT1cImRhdGEoKVwiXG4gICAgICAgIFtjb2x1bW5zXT1cImNvbmZpZy5jb2x1bW5zXCJcbiAgICAgICAgW3N0eWxlQ29uZmlnXT1cInN0eWxlc1wiXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtncm91cEJ5XT1cImdyb3VwQnlXb3JrZmxvd0NvZGVcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyIGxpYkNvbHVtbj1cImhpc3RvcnlcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LXZhbHVlIGxldC1kZWxldGVSb3c+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy93b3JrZmxvdy90YXNrLWhpc3RvcnknLCB2YWx1ZV1cIlxuICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwicm91dGVyLWxpbmstYWN0aXZlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ1bmRlcmxpbmUgdGV4dC1bIzAwMDBGRl1cIlxuICAgICAgICAgICAgICA+dmlldyBoaXN0b3J5PC9hXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBsaWJDb2x1bW49XCJ3b3JrZmxvd1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtdmFsdWU+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy93b3JrZmxvdy93b3JrZmxvd3MnLCB2YWx1ZV1cIlxuICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwicm91dGVyLWxpbmstYWN0aXZlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ1bmRlcmxpbmUgdGV4dC1bIzAwMDBGRl1cIlxuICAgICAgICAgICAgICA+dmlldyBXb3JrZmxvdzwvYVxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgbGliQ29sdW1uPVwiYWN0aW9uc1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtcm93PVwicm93XCI+XG4gICAgICAgICAgICA8dmVyYmVuLXBvcC1VcFxuICAgICAgICAgICAgICAjcG9wdXBcbiAgICAgICAgICAgICAgW2N1c3RvbVN0eWxlc109XCJ7ICd6LWluZGV4JzogJzk5JyB9XCJcbiAgICAgICAgICAgICAgW2VuYWJsZU1vdXNlTGVhdmVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbY3VzdG9tU3R5bGVzXT1cIntcbiAgICAgICAgICAgICAgICBib3JkZXI6ICcxcHggc29saWQgI2Q0YTEwNzgwJyxcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc1cHgnLFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3doaXRlJ1xuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgKGRyb3Bkb3duT3BlbkNoYW5nZSk9XCJoYW5kbGVQb3B1cENsb3NlKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICAgICAgICAgIGRyb3Bkb3duLXRyaWdnZXJcbiAgICAgICAgICAgICAgICBpY29uPVwiZG90c1wiXG4gICAgICAgICAgICAgICAgW3dpZHRoXT1cIjRcIlxuICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiMjRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgdy1hdXRvXCJcbiAgICAgICAgICAgICAgPjwvdmVyYmVuLXN2Zz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJnLXdoaXRlIHJvdW5kZWQtc21cIiBkcm9wZG93bi1jb250ZW50PlxuICAgICAgICAgICAgICAgIEBpZiAoc2VsZWN0ZWRUYXNrQ29kZSAmJiBhY3RpdmVBY3Rpb25UeXBlKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOiAxNnJlbVwiPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC00IGp1c3RpZnktYmV0d2VlbiBoLTEyIHB4LTIgcHQtNFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCJcbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNlwiXG4gICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiXG4gICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPGcgb3BhY2l0eT1cIjAuNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02Ljc0NjQ5IDguMDAzMzhDNi45MTQ4MyA4LjEzNDcgNy4wMjUyIDguMjA0NTUgNy4xMTUzMSA4LjI5Mzk2QzcuOTg4NDYgOS4xNjIyMiA4Ljg1NzQyIDEwLjAzNDcgOS43MjkxNyAxMC45MDVDOS44NzE2NyAxMS4wNDc1IDkuOTkzOTEgMTEuMTkyMSA5Ljk5MzIxIDExLjQxMjlDOS45OTI1MSAxMS42NDYyIDkuODk0NzIgMTEuODE1MiA5LjY5NTY0IDExLjkyNTZDOS40OTMwNyAxMi4wMzggOS4yOTI2IDEyLjAyMDYgOS4xMDQ2OSAxMS44ODk5QzkuMDM4MzMgMTEuODQzOCA4Ljk4MTc1IDExLjc4NDUgOC45MjM3OCAxMS43MjcyQzcuODU1NzQgMTAuNjU5MiA2Ljc5Njc4IDkuNTgyMDMgNS43MTQ3NyA4LjUyODY3QzUuMzcxMSA4LjE5NDA3IDUuMzg0MzcgNy43OTE3MyA1LjcwNzc5IDcuNDc1OTlDNi43ODg0IDYuNDIxMjMgNy44NDg3NSA1LjM0NTUxIDguOTE1MzkgNC4yNzYwN0M5LjExMzc3IDQuMDc3NjkgOS4zMjA1NCAzLjkyMjYyIDkuNjIzIDQuMDQxMzdDOS45NzkyNCA0LjE4MTA3IDEwLjExMiA0LjU4OTAxIDkuODk0NzIgNC45MDMzNUM5LjgyOTc2IDQuOTk3NjUgOS43NDE3NCA1LjA3NzI4IDkuNjYwMDIgNS4xNTk3QzguODA2NDIgNi4wMTQ2OSA3Ljk1MjgzIDYuODY5NjggNy4wOTY0NSA3LjcyMjU3QzcuMDE0NzIgNy44MDQzIDYuOTE1NTMgNy44Njg1NiA2Ljc0NTc5IDguMDA0MDhMNi43NDY0OSA4LjAwMzM4WlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwidGV4dC1zbSBmb250LW1lZGl1bVwiPlNlbGVjdCBBc3NpZ25lZTwvaDM+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ2FwLTIgbWF4LWgtOTYgb3ZlcmZsb3cteS1hdXRvIHAtMlwiPlxuICAgICAgICAgICAgICAgICAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiQWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgICAgICAgICAgIFttdWx0aXNlbGVjdF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd0NsZWFyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IEFjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgWyhvcHRpb25zKV09XCJuZXh0QWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgaWQ9XCJhY3Rpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cIk5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInNlbGVjdGVkQWN0aW9uIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdGVkQWN0aW9uLm5leHQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvdmVyYmVuLWRyb3AtZG93bj5cblxuICAgICAgICAgICAgICAgICAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiQWN0b3JzXCJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgICAgICAgICAgIFttdWx0aXNlbGVjdF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd0NsZWFyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IEFjdG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICBbKG9wdGlvbnMpXT1cIm5leHRBY3RvcnNcIlxuICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYWN0b3JzXCJcbiAgICAgICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cIk5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwiQ29kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJyZWNpcGllbnRDb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC92ZXJiZW4tZHJvcC1kb3duPlxuXG4gICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29tbWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJFbnRlciBDb21tZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBwLTEgdGV4dC14cyBib3JkZXIgYm9yZGVyLXByaW1hcnkgcm91bmRlZC1tZFwiXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IDhyZW1cIlxuICAgICAgICAgICAgICAgICAgICAgIFtjb2xzXT1cIjhcIlxuICAgICAgICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cblxuICAgICAgICAgICAgICAgICAgICA8dmVyYmVuYS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZV09XCIhY29tbWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgW3RleHRdPVwiYWN0aXZlQWN0aW9uVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUFjdGlvbihyb3csIHBvcHVwKVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXhzIHctZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgYmdDb2xvcj1cIiNGRkU2ODFcIlxuICAgICAgICAgICAgICAgICAgICAgIHRleHRDb2xvcj1cIiM0MDQwNDBcIlxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1cz1cIjEwcHhcIlxuICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplPVwiMTRweFwiXG4gICAgICAgICAgICAgICAgICAgICAgcGQ9XCIxMHB4IDIwcHhcIlxuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMzJweFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBhY3RpdmVBY3Rpb25UeXBlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvdmVyYmVuYS1idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHsgQGZvciAoaXRlbSBvZiBnZXRUYWJsZUFjdGlvbnMocm93KTsgdHJhY2sgaXRlbS5sYWJlbClcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIml0ZW0uYWN0aW9uKHJvdylcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBweS0yIHB4LTMgdGV4dC1zbSBob3ZlcjpiZy1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtLmRpdmlkZXIpIHtcbiAgICAgICAgICAgICAgICA8aHIgY2xhc3M9XCJiZy1bI0ZGRTY4MV0gaC0xIHJvdW5kZWQteGwgYm9yZGVyLTBcIiAvPlxuICAgICAgICAgICAgICAgIH0gfSB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC92ZXJiZW4tcG9wLVVwPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XG4gICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5BY3Rpb25zPC9zdHJvbmc+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2xpYi1kYXRhLXRhYmxlPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2FyZC1jb250ZW50PlxuICAgICAgPHZlcmJlbi1jYXJkLWRhdGEtdmlld1xuICAgICAgICBib3JkZXJSYWRpdXM9XCIxMnB4XCJcbiAgICAgICAgKGxvYWRNb3JlQ2xpY2spPVwibG9hZE1vcmUoKVwiXG4gICAgICAgICN2ZGN2XG4gICAgICAgIGRhdGFJZD1cIklkXCJcbiAgICAgICAgYm9yZGVyPVwiNXB4XCJcbiAgICAgICAgW2NhcmREYXRhTGlzdF09XCJjYXJkRGF0YSgpXCJcbiAgICAgICAgcmJnQ29sb3I9XCIjZjVmNmY5XCJcbiAgICAgICAgbWc9XCIyMHB4XCJcbiAgICAgID5cbiAgICAgICAgPHZlcmJlbi1sZWZ0LWNhcmQtZGF0YS12aWV3IGNsYXNzPVwic3BhY2UteS03XCI+XG4gICAgICAgICAgPHZlcmJlbi1sZWZ0LWNhcmQtZGF0YVxuICAgICAgICAgICAgI3ZsY2RcbiAgICAgICAgICAgIFtwYXJlbnRdPVwidmRjdlwiXG4gICAgICAgICAgICBkYXRhSWQ9XCJJZFwiXG4gICAgICAgICAgICBjbGFzcz1cImJnLXNlY29uZGFyeS0xMDAgcm91bmRlZC14bCBib3JkZXItcHJpbWFyeSBib3JkZXItWzFweF1cIlxuICAgICAgICAgICAgW2NhcmREYXRhTGlzdF09XCJjYXJkRGF0YSgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2NhcmQgbGV0LWl0ZW0+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgICBjdXJyZW50RGF0YSA9IGlzR2VuZXJhbCgpID8gdmRjdi5vbkl0ZW1DbGljayhpdGVtKSA6IG51bGxcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnREYXRhID0gaXNHZW5lcmFsKCkgPyB2ZGN2Lm9uSXRlbUNsaWNrKGl0ZW0pIDogbnVsbFxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBjdXJzb3ItcG9pbnRlciB3LWZ1bGwgYmctc2Vjb25kYXJ5IHJvdW5kZWQteGxcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LTMgcm91bmRlZC14bCByb3VuZGVkLXRyLW5vbmUgcm91bmRlZC1ici1ub25lXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgaXRlbS5zZWxlY3RlZCA/ICdiZy1wcmltYXJ5JyA6ICdiZy1zZWNvbmRhcnktMjAwJ1xuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgcHktMiBweC00IHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTQganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ2FwLXktMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LXNlbWlib2xkIHRleHQtWyM0MDQwNDBdXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS50aXRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwaG9uZVwiIGNsYXNzPVwidGV4dC1bMTBweF0gZm9udC1saWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlN0YXR1czo8L2xhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJwaG9uZVwiIGNsYXNzPVwidGV4dC1zbVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRhLlN0YXR1c1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdhcC15LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZvcj1cInJvbGVcIiBjbGFzcz1cImZvbnQtbGlnaHRcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmRhdGEuV29ya2Zsb3dDb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIltcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnL3dvcmtmbG93L3Rhc2staGlzdG9yeScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRhLkNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJyb3V0ZXItbGluay1hY3RpdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInVuZGVybGluZSB0ZXh0LVsjMDAwMEZGXSB0ZXh0LXhzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPnZpZXcgaGlzdG9yeTwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LW5vcm1hbCB0ZXh0LXNtXCI+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGNpSXRlbSBvZiBpdGVtLmJvZHk7IHRyYWNrIGNpSXRlbS52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LW11dGVkIGZvbnQtbGlnaHQgdGV4dC14c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+e3sgY2lJdGVtLnRpdGxlIH19Ojwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtYmxhY2tcIj57eyBjaUl0ZW0udmFsdWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9IC0tPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L3ZlcmJlbi1sZWZ0LWNhcmQtZGF0YT5cbiAgICAgICAgPC92ZXJiZW4tbGVmdC1jYXJkLWRhdGEtdmlldz5cblxuICAgICAgICA8dmVyYmVuLXJpZ2h0LWNhcmQtZGF0YS12aWV3PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcGFyZW50PlxuICAgICAgICAgICAgPCEtLSA8bGliLXVzZXItcmVxdWVzdC1mb3JtXG4gICAgICAgICAgICAgIFtjdXJyZW50RGF0YV09XCJjdXJyZW50RGF0YVwiXG4gICAgICAgICAgICAgIChzd2l0Y2hWaWV3KT1cInZkdi50b2dnbGVWaWV3KClcIlxuICAgICAgICAgICAgICAob25BcHByb3ZhbCk9XCJvbkFwcHJvdmUoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9saWItdXNlci1yZXF1ZXN0LWZvcm0+IC0tPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdmVyYmVuLXJpZ2h0LWNhcmQtZGF0YS12aWV3PlxuXG4gICAgICAgIDx2ZXJiZW4tY2FyZC1kYXRhLXZpZXctZm9vdGVyIGNsYXNzPVwidy1mdWxsXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnZmxleCBnYXAtMiBpdGVtcy1jZW50ZXInOiB0cnVlLFxuICAgICAgICAgICAgICAnanVzdGlmeS1lbmQnOiB0cnVlLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPCEtLSA8dmVyYmVuYS1idXR0b25cbiAgICAgICAgICAgICAgKm5nSWY9XCIhdmRjdi5oYXNDdXJyZW50SXRlbSgpXCJcbiAgICAgICAgICAgICAgW2ZvbnRXZWlnaHRdPVwiJ2JvbGQnXCJcbiAgICAgICAgICAgICAgW2JnQ29sb3JdPVwiJyM4RThEODcnXCJcbiAgICAgICAgICAgICAgW2JvcmRlclJhZGl1c109XCInNHB4J1wiXG4gICAgICAgICAgICAgIFt0ZXh0Q29sb3JdPVwiJyNmZmYnXCJcbiAgICAgICAgICAgICAgW3BkXT1cIic5Ljc5cHggMzcuMjhweCdcIlxuICAgICAgICAgICAgICBbdGV4dF09XCInRGVsZXRlJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3ZlcmJlbmEtYnV0dG9uPiAtLT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IHt7XG4gICAgICAgICAgICAgICAgdmRjdi5oYXNDdXJyZW50SXRlbSgpID8gJ2ZsZXgtMScgOiAnJ1xuICAgICAgICAgICAgICB9fSBqdXN0aWZ5LWVuZCBpdGVtcy1jZW50ZXIgZ2FwLTVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhZ2luYXRvci10ZXh0XCJcbiAgICAgICAgICAgICAgICA+e3sgY2FyZERhdGEoKS5sZW5ndGggfX0gcmVjb3JkcyBsb2FkZWQ8L3NwYW5cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImxvYWRNb3JlKClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibG9hZC1tb3JlIHZpZXctbGlua3MgdGV4dC1bIzM0NzlFOV0gdW5kZXJsaW5lXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIExvYWQgbW9yZVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3ZlcmJlbi1jYXJkLWRhdGEtdmlldy1mb290ZXI+XG4gICAgICA8L3ZlcmJlbi1jYXJkLWRhdGEtdmlldz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNvbHVtbi1jb250ZW50PlxuICAgICAgPGxpYi1kYXRhLWNvbHVtbnNcbiAgICAgICAgW2NvbHVtbnNdPVwiY29uZmlnLmNvbHVtbnNcIlxuICAgICAgICAoY29sdW1uc1VwZGF0ZWQpPVwib25Db2x1bW5zVXBkYXRlZCgkZXZlbnQpXCJcbiAgICAgID48L2xpYi1kYXRhLWNvbHVtbnM+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBmaWx0ZXItY29udGVudD5cbiAgICAgIDx2ZXJiZW4tdGFibGUtZmlsdGVyXG4gICAgICAgIFtib3JkZXJdPVwiJzFweCBzb2xpZCByZ2JhKDIxMiwgMTYwLCA3LCAxKSdcIlxuICAgICAgICBib3JkZXJSYWRpdXM9XCIxMHB4XCJcbiAgICAgICAgYm94U2hhZG93PVwiMnB4IDJweCAycHggMHB4IHNpbHZlclwiXG4gICAgICAgIGJnQ29sb3I9XCJ3aGl0ZVwiXG4gICAgICAgIHdpZHRoPVwiNDIwcHhcIlxuICAgICAgICB0ZXh0Q29sb3I9XCJibGFja1wiXG4gICAgICAgIHBkPVwiMXJlbVwiXG4gICAgICAgIHByaW1hcnlDb2xvcj1cIiNGRkU2ODFcIlxuICAgICAgICBzZWNvbmRhcnlDb2xvcj1cIiMzNDc5RTlcIlxuICAgICAgICB0ZXJ0aWFyeUNvbG9yPVwiIzQwNDA0MFwiXG4gICAgICAgIFtmaWx0ZXJPcHRpb25zXT1cImZpbHRlckFycmF5XCJcbiAgICAgICAgW21heEZpbHRlckxlbmd0aF09XCIzXCJcbiAgICAgID48L3ZlcmJlbi10YWJsZS1maWx0ZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBzb3J0LWNvbnRlbnQ+XG4gICAgICA8bGliLWRhdGEtc29ydFxuICAgICAgICBbY29sdW1uc109XCJjb25maWcuY29sdW1uc1wiXG4gICAgICAgIFtkYXRhXT1cImRhdGEoKVwiXG4gICAgICAgIChzb3J0QXBwbGllZCk9XCJvblNvcnRVcGRhdGVkKCRldmVudClcIlxuICAgICAgPjwvbGliLWRhdGEtc29ydD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGV4cG9ydC1jb250ZW50PlxuICAgICAgPGxpYi1kYXRhLWV4cG9ydCBbZGF0YV09XCJkYXRhKClcIiAoZXhwb3J0RGF0YUV2ZW50KT1cImhhbmRsZUV4cG9ydCgkZXZlbnQpXCI+XG4gICAgICA8L2xpYi1kYXRhLWV4cG9ydD5cbiAgICA8L2Rpdj5cbiAgPC92ZXJiZW4tZGF0YS12aWV3PlxuXG4gIDxkaXYgKm5nSWY9XCJ2ZHYuaXNUYWJsZVZpZXdcIiBjbGFzcz1cImZsZXggZ2FwLTIganVzdGlmeS1lbmRcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktZW5kIGl0ZW1zLWNlbnRlciBnYXAtNVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJwYWdpbmF0b3ItdGV4dFwiPnt7IGNhcmREYXRhKCkubGVuZ3RoIH19IHJlY29yZHMgbG9hZGVkPC9zcGFuPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwibG9hZE1vcmUoKVwiXG4gICAgICAgIGNsYXNzPVwibG9hZC1tb3JlIHZpZXctbGlua3MgdGV4dC1bIzM0NzlFOV0gdW5kZXJsaW5lXCJcbiAgICAgID5cbiAgICAgICAgTG9hZCBtb3JlXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPHZlcmJlbi1kaWFsb2d1ZVxuICBbc2hvd0Nsb3NlSWNvbl09XCJ0cnVlXCJcbiAgW2Rpc21pc3NPdXRzaWRlQ2xpY2tdPVwidHJ1ZVwiXG4gIFtjbG9zZU9uRXNjYXBlXT1cInRydWVcIlxuICBbbW9kZV09XCInZHJhd2VyJ1wiXG4gIFtwYWRkaW5nXT1cIicwcHgnXCJcbiAgW2RyYXdlcldpZHRoXT1cIic0MDBweCdcIlxuICBbZGlzYWJsZUZvb3Rlcl09XCJmYWxzZVwiXG4gIFtpc1Zpc2libGVdPVwiaXNNb2RhbFZpc2libGVcIlxuICBbbW9kYWxEYXRhXT1cInN0YWdlRm9ybVwiXG4gIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiXG4gIFtib2R5VGVtcGxhdGVdPVwiYm9keVRlbXBsYXRlXCJcbiAgW3Nob3dDbG9zZUljb25dPVwiZmFsc2VcIlxuPlxuPC92ZXJiZW4tZGlhbG9ndWU+XG48bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiYmctWyNGRkU2ODFdIHB4LTYgcHktNCBmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXJcIj5cbiAgICA8aDE+Rm9ybTwvaDE+XG4gICAgPHZlcmJlbi1zdmdcbiAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgW2ljb25dPVwiJ2Nsb3NlLWNpcmNsZSdcIlxuICAgICAgKGNsaWNrKT1cImlzTW9kYWxWaXNpYmxlID0gZmFsc2VcIlxuICAgICAgW3dpZHRoXT1cIjE1XCJcbiAgICAgIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgW3N0cm9rZV09XCInI2ZmZidcIlxuICAgID48L3ZlcmJlbi1zdmc+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNib2R5VGVtcGxhdGU+XG4gIDxkaXY+XG4gICAgPGRpdiAqbmdJZj1cInN0YWdlRm9ybT8uRW50aXRpZXM/LlthY3RpdmVdOyBlbHNlIGVtcHR5U3RhdGVcIiBjbGFzcz1cIm10LTRcIj5cbiAgICAgIDxmb3JtLWNvbnRyb2xcbiAgICAgICAgW2RhdGFUeXBlXT1cImRhdGFUeXBlXCJcbiAgICAgICAgW2Zvcm1Qcm9wZXJ0aWVzXT1cInN0YWdlRm9ybT8uRW50aXRpZXM/LlthY3RpdmVdPy5Qcm9wZXJ0aWVzID8/IFtdXCJcbiAgICAgID48L2Zvcm0tY29udHJvbD5cblxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTMganVzdGlmeS1lbmRcIj5cbiAgICAgICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJ2ZXJiZW4tcHJpbWFyeS1idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJzdWJtaXRGb3JtKClcIlxuICAgICAgICAgIFtkaXNhYmxlXT1cIiFhcmVSZXF1aXJlZFByb3BlcnRpZXNGaWxsZWQoKVwiXG4gICAgICAgICAgdGV4dD1cIlNhdmVcIlxuICAgICAgICA+PC92ZXJiZW5hLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBFbXB0eSBzdGF0ZSB0ZW1wbGF0ZSAtLT5cbiAgICA8bmctdGVtcGxhdGUgI2VtcHR5U3RhdGU+XG4gICAgICA8cCBjbGFzcz1cIm10LTQgcC00IHRleHQtZ3JheS02MDAgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgTm8gZW50cmllcyBhdmFpbGFibGUgZm9yIHRoZSBzZWxlY3RlZCBmb3JtIGdyb3VwLlxuICAgICAgPC9wPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
360
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktcXVldWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy9teS1xdWV1ZS9teS1xdWV1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL215LXF1ZXVlL215LXF1ZXVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDeEUsT0FBTyxFQUFTLFFBQVEsRUFBUSxXQUFXLEVBQVEsVUFBVSxFQUFrQixNQUFNLG1DQUFtQyxDQUFDO0FBQ3pILE9BQU8sRUFBRSxxQkFBcUIsRUFBa0IsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7O0FBUTdDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxxQkFBMkI7SUE0RjNDO0lBQWdDO0lBM0ZwRCxTQUFTLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLElBQUksQ0FBVTtJQUN2QixNQUFNLEdBQXlCO1FBQzdCLFVBQVUsRUFBRSxFQUFFLEVBQUUsd0JBQXdCO1FBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsbUNBQW1DO1FBQ3JELGNBQWMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN6QixRQUFRLEVBQUUsS0FBSztZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNoQixJQUFJ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QUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQ2xDLE1BQU07WUFDUixpQkFBaUI7WUFDakIsbUNBQW1DO1lBQ25DLFdBQVc7WUFDWCxlQUFlO1lBQ2YsaUNBQWlDO1lBQ2pDLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsbUNBQW1DO1lBQ25DLFdBQVc7WUFDWDtnQkFDRSxNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7d0dBbFhVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLGlWQ2Q3Qix5OGRBOFpBOzs0RkRoWmEsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGNBQWM7a0hBTWYsSUFBSTtzQkFBWixLQUFLOztBQW1YUixJQUFLLFVBU0o7QUFURCxXQUFLLFVBQVU7SUFDYixtQ0FBcUIsQ0FBQTtJQUNyQix1Q0FBeUIsQ0FBQTtJQUN6QixtQ0FBcUIsQ0FBQTtJQUNyQiwrQkFBaUIsQ0FBQTtJQUNqQixtQ0FBcUIsQ0FBQTtJQUNyQix1Q0FBeUIsQ0FBQTtJQUN6QiwyQ0FBNkIsQ0FBQTtJQUM3QiwrQkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBVEksVUFBVSxLQUFWLFVBQVUsUUFTZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIGlucHV0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBWZXJiZW5Qb3BVcENvbXBvbmVudCB9IGZyb20gJ3ZlcmJlbi1uZy11aSc7XG5pbXBvcnQgeyBUYXNrTW9kZWwgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2tzJztcbmltcG9ydCB7IEFjdG9yLCBEYXRhVHlwZSwgRm9ybSwgT2JqZWN0U3RhdGUsIFRhc2ssIFRhc2tTdGF0dXMsIFdvcmtmbG93QWN0aW9uIH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IEJhc2VEYXRhVmlld0NvbXBvbmVudCwgRGF0YVZpZXdDb25maWcgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9zaGFyZWQnO1xuaW1wb3J0IHsgY29sdW1ucyB9IGZyb20gJy4vbXktcXVldWUuY29sdW1ucyc7XG5pbXBvcnQgeyBNeVF1ZXVlRmFjYWRlIH0gZnJvbSAnLi9teS1xdWV1ZS5mYWNhZGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItbXktcXVldWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXktcXVldWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbXktcXVldWUuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIE15UXVldWVDb21wb25lbnQgZXh0ZW5kcyBCYXNlRGF0YVZpZXdDb21wb25lbnQ8VGFzaz4ge1xuICBpc0dlbmVyYWwgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIEBJbnB1dCgpIHVzZXIhOiBzdHJpbmc7XG4gIGNvbmZpZzogRGF0YVZpZXdDb25maWc8VGFzaz4gPSB7XG4gICAgZGF0YVNvdXJjZTogW10sIC8vIFBvcHVsYXRlIGZyb20gc2VydmljZVxuICAgIGNvbHVtbnM6IGNvbHVtbnMsIC8vIFlvdXIgZXhpc3RpbmcgY29sdW1uIGRlZmluaXRpb25zXG4gICAgY2FyZERhdGFNYXBwZXI6ICh0YXNrKSA9PiAoe1xuICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgdGl0bGU6IHRhc2suTmFtZSxcbiAgICAgIGRhdGE6IHRhc2ssXG4gICAgICBib2R5OiBbXG4gICAgICAgIHsgdGl0bGU6ICdOYW1lJywgdmFsdWU6IHRhc2suTmFtZSB9LFxuICAgICAgICB7IHRpdGxlOiAnU3RhdHVzJywgdmFsdWU6IHRhc2suU3RhdHVzIH0sXG4gICAgICBdLFxuICAgICAgY2hpbGRyZW46IFtdLFxuICAgIH0pLFxuICAgIG9uRGV0YWlsVmlldzogKHRhc2spID0+IHtcbiAgICAgIC8vIEN1c3RvbSBkZXRhaWwgdmlldyBsb2dpY1xuICAgIH0sXG4gIH07XG5cbiAgc2VsZWN0ZWRUYXNrQ29kZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIGFjdGl2ZUFjdGlvblR5cGU6IEFjdGlvblR5cGUgfCBudWxsID0gbnVsbDtcbiAgY29tbWVudDogc3RyaW5nID0gJyc7XG4gIGlzTW9kYWxWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgdGFibGVSb3dBY3Rpb25zID0gW1xuICAgIHsgbGFiZWw6ICdQaWNrIFRhc2snLCBhY3Rpb246IChkYXRhOiBUYXNrKSA9PiB7IH0sIGRpdmlkZXI6IGZhbHNlIH0sXG4gICAgeyBsYWJlbDogJ1JlbGVhc2UgVGFzaycsIGFjdGlvbjogKGRhdGE6IFRhc2spID0+IHsgfSwgZGl2aWRlcjogZmFsc2UgfSxcbiAgICB7IGxhYmVsOiAnRm9sbG93IFRhc2snLCBhY3Rpb246IChkYXRhOiBUYXNrKSA9PiB7IH0sIGRpdmlkZXI6IHRydWUgfSxcbiAgICB7IGxhYmVsOiAnVW5mb2xsb3cgVGFzaycsIGFjdGlvbjogKGRhdGE6IFRhc2spID0+IHsgfSwgZGl2aWRlcjogdHJ1ZSB9LFxuXG4gICAge1xuICAgICAgbGFiZWw6ICdQYXNzIE9uJyxcbiAgICAgIGFjdGlvbjogKGRhdGE6IFRhc2spID0+IHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coZGF0YSk7XG4gICAgICAgIHRoaXMuYWN0aXZlQWN0aW9uVHlwZSA9IEFjdGlvblR5cGUuUGFzc09uO1xuICAgICAgICB0aGlzLnNlbGVjdGVkVGFza0NvZGUgPSBkYXRhLkNvZGU7XG4gICAgICAgIHRoaXMuZmFjYWRlLmxvYWROZXh0QWN0aW9ucyhkYXRhLkNvZGUpO1xuICAgICAgICAvLyAudGhlbigoYWN0aW9ucykgPT4ge1xuICAgICAgICAvLyAgIGlmIChhY3Rpb25zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAvLyAgICAgdGhpcy5zZWxlY3RlZEFjdGlvbiA9IGFjdGlvbnNbMF07XG4gICAgICAgIC8vICAgICB0aGlzLmZhY2FkZVxuICAgICAgICAvLyAgICAgICAubG9hZE5leHRBY3RvcnMoZGF0YS5Db2RlLCB0aGlzLnNlbGVjdGVkQWN0aW9uPy5Db2RlKVxuICAgICAgICAvLyAgICAgICAudGhlbigoYWN0b3JzKSA9PiB7fSk7XG4gICAgICAgIC8vICAgfVxuICAgICAgICAvLyB9KTtcbiAgICAgICAgdGhpcy5mYWNhZGUubG9hZFRhc2tGb3JtcyhkYXRhLkNvZGUpO1xuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnNlbGVjdGVkVGFza0NvZGUpO1xuICAgICAgfSxcbiAgICAgIGRpdmlkZXI6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdQYXNzIEJhY2snLFxuICAgICAgYWN0aW9uOiAoZGF0YTogVGFzaykgPT4ge1xuICAgICAgICB0aGlzLmFjdGl2ZUFjdGlvblR5cGUgPSBBY3Rpb25UeXBlLlBhc3NCYWNrO1xuICAgICAgICB0aGlzLnNlbGVjdGVkVGFza0NvZGUgPSBkYXRhLkNvZGU7XG4gICAgICAgIHRoaXMuZmFjYWRlLmxvYWRQcmV2aW91c0FjdGlvbnMoZGF0YS5Db2RlKTtcbiAgICAgIH0sXG4gICAgICBkaXZpZGVyOiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnU2tpcCBUbycsXG4gICAgICBhY3Rpb246IChkYXRhOiBUYXNrKSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZlQWN0aW9uVHlwZSA9IEFjdGlvblR5cGUuU2tpcFRvO1xuICAgICAgICB0aGlzLnNlbGVjdGVkVGFza0NvZGUgPSBkYXRhLkNvZGU7XG4gICAgICAgIHRoaXMuZmFjYWRlLmxvYWRBbGxQcmV2aW91c0FjdGlvbnMoZGF0YS5Db2RlKTtcbiAgICAgIH0sXG4gICAgICBkaXZpZGVyOiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnUmUtQXNzaWduJyxcbiAgICAgIGFjdGlvbjogKGRhdGE6IFRhc2spID0+IHtcbiAgICAgICAgdGhpcy5hY3RpdmVBY3Rpb25UeXBlID0gQWN0aW9uVHlwZS5SZUFzc2lnbjtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFRhc2tDb2RlID0gZGF0YS5Db2RlO1xuICAgICAgfSxcbiAgICAgIGRpdmlkZXI6IHRydWUsXG4gICAgfSxcbiAgICAvLyB7IGxhYmVsOiAnVmlldyBPcGVyYXRpb24nLCBhY3Rpb246IChkYXRhOiBUYXNrKSA9PiB7fSwgZGl2aWRlcjogZmFsc2UgfSxcbiAgXTtcblxuICBuZXh0QWN0aW9uczogV29ya2Zsb3dBY3Rpb25bXSA9IFtdO1xuICBuZXh0QWN0b3JzOiBBY3RvcltdID0gW107XG4gIHN0YWdlRm9ybTogRm9ybSB8IG51bGwgPSBudWxsO1xuICBhY3RpdmU6IG51bWJlciA9IDA7XG4gIGRhdGFUeXBlOiBEYXRhVHlwZSA9IERhdGFUeXBlLlRleHQ7XG5cbiAgcmVjaXBpZW50Q29kZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHNlbGVjdGVkQWN0aW9uOiBCZWhhdmlvclN1YmplY3Q8V29ya2Zsb3dBY3Rpb24gfCBudWxsPiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxXb3JrZmxvd0FjdGlvbiB8IG51bGw+KG51bGwpO1xuICBjdXJyZW50VGFzazogVGFzayB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBmYWNhZGU6IE15UXVldWVGYWNhZGUpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5mYWNhZGUuZ2V0UmVxdWVzdHMkKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLmRhdGEuc2V0KGRhdGEpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5mYWNhZGUuZ2V0TmV4dEFjdGlvbnMkKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLm5leHRBY3Rpb25zID0gZGF0YTtcbiAgICB9KTtcblxuICAgIHRoaXMuZmFjYWRlLmdldE5leHRBY3RvcnMkKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLm5leHRBY3RvcnMgPSBkYXRhO1xuICAgIH0pO1xuXG4gICAgdGhpcy5mYWNhZGUuZ2V0VGFza0Zvcm1zJCgpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgdGhpcy5zdGFnZUZvcm0gPSBkYXRhPy5bMF0gfHwgbnVsbDtcbiAgICB9KTtcblxuICAgIHRoaXMuc2VsZWN0ZWRBY3Rpb24uc3Vic2NyaWJlKChhY3Rpb24pID0+IHtcbiAgICAgIGlmIChhY3Rpb24pIHtcbiAgICAgICAgdGhpcy5mYWNhZGUubG9hZE5leHRBY3RvcnModGhpcy5zZWxlY3RlZFRhc2tDb2RlISwgZmFsc2UsIGFjdGlvbi5Ub1N0YWdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubmV4dEFjdG9ycyA9IFtdO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgbG9hZEluaXRpYWxEYXRhKCkge1xuICAgIHRoaXMuZmFjYWRlLnVwZGF0ZVF1ZXJ5UGFyYW1zKHsgdXNlcjogdGhpcy51c2VyIH0pO1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmZhY2FkZS5sb2FkUmVxdWVzdHMoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgfVxuICB9XG5cbiAgLy8gcHJvdGVjdGVkIGdldENhcmREYXRhQnlJZGVudGlmaWVyKG1haWxBZGRyZXNzOiBzdHJpbmcpOiBDYXJkRGF0YSB8IHVuZGVmaW5lZCB7XG4gIC8vICAgcmV0dXJuIHRoaXMuY2FyZERhdGEoKS5maW5kKCh7IGRhdGEgfSkgPT4gZGF0YS5NYWlsQWRkcmVzcyA9PT0gbWFpbEFkZHJlc3MpO1xuICAvLyB9XG5cbiAgYXN5bmMgbG9hZE1vcmUoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuZmFjYWRlLmxvYWRNb3JlKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIEhhbmRsZSBlcnJvclxuICAgIH1cbiAgfVxuXG4gIGdldFRhYmxlQWN0aW9ucyh0YXNrOiBUYXNrKSB7XG4gICAgY29uc3QgYWN0aW9ucyA9IFtdIGFzIHR5cGVvZiB0aGlzLnRhYmxlUm93QWN0aW9ucztcbiAgICBpZiAodGhpcy5pc0dlbmVyYWwoKSkge1xuICAgICAgY29uc3QgYWN0aW9uTmFtZXMgPSBbXG4gICAgICAgICdQaWNrIFRhc2snLFxuICAgICAgICAnUmVsZWFzZSBUYXNrJyxcbiAgICAgICAgJ0ZvbGxvdyBUYXNrJyxcbiAgICAgICAgJ1VuZm9sbG93IFRhc2snLFxuICAgICAgXTtcbiAgICAgIGFjdGlvbnMucHVzaChcbiAgICAgICAgLi4udGhpcy50YWJsZVJvd0FjdGlvbnMuZmlsdGVyKCh7IGxhYmVsIH0pID0+XG4gICAgICAgICAgYWN0aW9uTmFtZXMuaW5jbHVkZXMobGFiZWwpXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGFjdGlvbk5hbWVzID0gWydQYXNzIE9uJywgJ1Bhc3MgQmFjaycsICdTa2lwIFRvJywgJ1JlLUFzc2lnbiddO1xuICAgICAgaWYgKHRhc2suRnVsbFN0YWdlcz8uWzBdPy5Jc0VudHJ5UG9pbnQpIHtcbiAgICAgICAgYWN0aW9ucy5wdXNoKFxuICAgICAgICAgIC4uLnRoaXMudGFibGVSb3dBY3Rpb25zLmZpbHRlcihcbiAgICAgICAgICAgICh7IGxhYmVsIH0pID0+IGFjdGlvbk5hbWVzLmluY2x1ZGVzKGxhYmVsKSAmJiBsYWJlbCAhPT0gJ1Bhc3MgQmFjaydcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhY3Rpb25zLnB1c2goXG4gICAgICAgICAgLi4udGhpcy50YWJsZVJvd0FjdGlvbnMuZmlsdGVyKCh7IGxhYmVsIH0pID0+XG4gICAgICAgICAgICBhY3Rpb25OYW1lcy5pbmNsdWRlcyhsYWJlbClcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjdGlvbnM7XG4gIH1cblxuICBncm91cEJ5V29ya2Zsb3dDb2RlKHRhc2s6IFRhc2spIHtcbiAgICByZXR1cm4gYFdvcmtmbG93OiAke3Rhc2suV29ya2Zsb3dDb2RlfWA7XG4gIH1cblxuICBoYW5kbGVQb3B1cENsb3NlKGV2ZW50OiBib29sZWFuKSB7XG4gICAgY29uc29sZS5sb2coJ0Nsb3NpbmcuLi4nLCBldmVudCk7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVGFza0NvZGUgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGNoZWNrRm9yRm9ybVRoZW5QYXNzT24odGFzazogVGFzaywgcG9wdXA/OiBWZXJiZW5Qb3BVcENvbXBvbmVudCkge1xuICAgIHRoaXMuY3VycmVudFRhc2sgPSB0YXNrO1xuXG4gICAgaWYgKHRoaXMuc3RhZ2VGb3JtKSB7XG4gICAgICBwb3B1cD8udG9nZ2xlRHJvcGRvd24oKTtcbiAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBhc3NPbihwb3B1cCk7XG4gICAgfVxuXG4gICAgLy8gdGhpcy5wYXNzT24ocG9wdXApO1xuICB9XG5cbiAgaGFuZGxlQWN0aW9uKHRhc2s6IFRhc2ssIHBvcHVwOiBWZXJiZW5Qb3BVcENvbXBvbmVudCkge1xuICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuYWN0aXZlQWN0aW9uVHlwZTtcblxuICAgIHN3aXRjaCAoYWN0aW9uKSB7XG4gICAgICBjYXNlIEFjdGlvblR5cGUuUGFzc09uOlxuICAgICAgICBjb25zb2xlLmxvZygnUGFzcyBPbiBBY3Rpb24nLCB0YXNrKTtcbiAgICAgICAgdGhpcy5jaGVja0ZvckZvcm1UaGVuUGFzc09uKHRhc2ssIHBvcHVwKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEFjdGlvblR5cGUuUmVBc3NpZ246XG4gICAgICAgIHRoaXMuZmFjYWRlLnJlQXNzaWduKHRhc2ssIHRoaXMuY29tbWVudCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jb21tZW50ID0gJyc7XG4gICAgICAgICAgdGhpcy5uZXh0QWN0aW9ucyA9IFtdO1xuICAgICAgICAgIHRoaXMucmVjaXBpZW50Q29kZSA9IG51bGw7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEFjdGlvbi5uZXh0KG51bGwpO1xuICAgICAgICAgIHBvcHVwLnRvZ2dsZURyb3Bkb3duKCk7XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQWN0aW9uVHlwZS5QYXNzQmFjazpcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRBY3Rpb24pIHtcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZEFjdGlvbiA9IHRoaXMuc2VsZWN0ZWRBY3Rpb24uZ2V0VmFsdWUoKTtcbiAgICAgICAgICBpZiAoc2VsZWN0ZWRBY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZmFjYWRlXG4gICAgICAgICAgICAgIC5wYXNzQmFjayhzZWxlY3RlZEFjdGlvbiwgdGFzaywgdGhpcy5jb21tZW50LCB0aGlzLnJlY2lwaWVudENvZGUpXG4gICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbW1lbnQgPSAnJztcbiAgICAgICAgICAgICAgICB0aGlzLm5leHRBY3Rpb25zID0gW107XG4gICAgICAgICAgICAgICAgdGhpcy5yZWNpcGllbnRDb2RlID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQWN0aW9uLm5leHQobnVsbCk7XG4gICAgICAgICAgICAgICAgcG9wdXAudG9nZ2xlRHJvcGRvd24oKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBBY3Rpb25UeXBlLlNraXBUbzpcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRBY3Rpb24gPSB0aGlzLnNlbGVjdGVkQWN0aW9uLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdTZWxlY3RlZCBBY3Rpb24gZm9yIFNraXA6Jywgc2VsZWN0ZWRBY3Rpb24pO1xuICAgICAgICBjb25zb2xlLmxvZygnVGFzayBmb3IgU2tpcDonLCB0YXNrKTtcbiAgICAgICAgY29uc29sZS5sb2coJ0NvbW1lbnQgZm9yIFNraXA6JywgdGhpcy5jb21tZW50KTtcbiAgICAgICAgY29uc29sZS5sb2coJ1JlY2lwaWVudCBDb2RlIGZvciBTa2lwOicsIHRoaXMucmVjaXBpZW50Q29kZSk7XG4gICAgICAgIGlmIChzZWxlY3RlZEFjdGlvbikge1xuICAgICAgICAgIHRoaXMuZmFjYWRlXG4gICAgICAgICAgICAuc2tpcFRvKFxuICAgICAgICAgICAgICB0YXNrLkN1cnJlbnRTdGFnZXNbMF0sXG4gICAgICAgICAgICAgIHNlbGVjdGVkQWN0aW9uLlRvU3RhZ2UsXG4gICAgICAgICAgICAgIHRhc2ssXG4gICAgICAgICAgICAgIHRoaXMuY29tbWVudCxcbiAgICAgICAgICAgICAgdGhpcy5yZWNpcGllbnRDb2RlXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuY29tbWVudCA9ICcnO1xuICAgICAgICAgICAgICB0aGlzLm5leHRBY3Rpb25zID0gW107XG4gICAgICAgICAgICAgIHRoaXMucmVjaXBpZW50Q29kZSA9IG51bGw7XG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRBY3Rpb24ubmV4dChudWxsKTtcbiAgICAgICAgICAgICAgcG9wdXAudG9nZ2xlRHJvcGRvd24oKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgc3VibWl0Rm9ybSgpIHtcbiAgICBjb25zdCBmb3JtID0gdGhpcy5zdGFnZUZvcm07XG4gICAgaWYgKGZvcm0gJiYgdGhpcy5jdXJyZW50VGFzaykge1xuICAgICAgdGhpcy5mYWNhZGVcbiAgICAgICAgLmZpbGxGb3JtKGZvcm0sIHRoaXMuY3VycmVudFRhc2suQ29kZSlcbiAgICAgICAgLnRoZW4oKGZpbGxlZEZvcm0pID0+IHtcbiAgICAgICAgICB0aGlzLnN0YWdlRm9ybSA9IG51bGw7XG4gICAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMucGFzc09uKCk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmaWxsaW5nIGZvcm06JywgZXJyb3IpO1xuICAgICAgICAgIC8vIEhhbmRsZSBlcnJvciAoZS5nLiwgc2hvdyBhIG5vdGlmaWNhdGlvbilcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcGFzc09uKHBvcHVwPzogVmVyYmVuUG9wVXBDb21wb25lbnQpIHtcbiAgICBjb25zdCBzZWxlY3RlZEFjdGlvbiA9IHRoaXMuc2VsZWN0ZWRBY3Rpb24uZ2V0VmFsdWUoKTtcbiAgICBjb25zb2xlLmxvZygnU2VsZWN0ZWQgQWN0aW9uOicsIHNlbGVjdGVkQWN0aW9uKTtcbiAgICBjb25zb2xlLmxvZygnQ3VycmVudCBUYXNrOicsIHRoaXMuY3VycmVudFRhc2spO1xuICAgIGNvbnNvbGUubG9nKCdDb21tZW50OicsIHRoaXMuY29tbWVudCk7XG4gICAgY29uc29sZS5sb2coJ1JlY2lwaWVudCBDb2RlOicsIHRoaXMucmVjaXBpZW50Q29kZSk7XG4gICAgaWYgKHNlbGVjdGVkQWN0aW9uICYmIHRoaXMuY3VycmVudFRhc2sgJiYgdGhpcy5jb21tZW50KSB7XG4gICAgICB0aGlzLmZhY2FkZVxuICAgICAgICAucGFzc09uKFxuICAgICAgICAgIHNlbGVjdGVkQWN0aW9uLFxuICAgICAgICAgIHRoaXMuY3VycmVudFRhc2ssXG4gICAgICAgICAgdGhpcy5jb21tZW50LFxuICAgICAgICAgIHRoaXMucmVjaXBpZW50Q29kZSxcbiAgICAgICAgICB0aGlzLnVzZXJcbiAgICAgICAgKVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jb21tZW50ID0gJyc7XG4gICAgICAgICAgdGhpcy5uZXh0QWN0aW9ucyA9IFtdO1xuICAgICAgICAgIHRoaXMucmVjaXBpZW50Q29kZSA9IG51bGw7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEFjdGlvbi5uZXh0KG51bGwpO1xuXG4gICAgICAgICAgaWYgKHBvcHVwKSB7XG4gICAgICAgICAgICBwb3B1cC50b2dnbGVEcm9wZG93bigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYXJlUmVxdWlyZWRQcm9wZXJ0aWVzRmlsbGVkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLnN0YWdlRm9ybT8uRW50aXRpZXNbdGhpcy5hY3RpdmVdLlByb3BlcnRpZXMgfHwgW107XG5cbiAgICAvLyBDaGVjayBpZiBhbGwgcmVxdWlyZWQgcHJvcGVydGllcyBoYXZlIHZhbGlkIHZhbHVlc1xuICAgIC8vIHJldHVybiBwcm9wZXJ0aWVzLmV2ZXJ5KChwcm9wZXJ0eTogYW55KSA9PiB7XG4gICAgLy8gICBjb25zb2xlLmxvZyhwcm9wZXJ0eSk7XG4gICAgLy8gICByZXR1cm4gKFxuICAgIC8vICAgICAhcHJvcGVydHkuaXNSZXF1aXJlZCB8fFxuICAgIC8vICAgICAocHJvcGVydHkuVmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgIC8vICAgICAgIHByb3BlcnR5LlZhbHVlICE9PSBudWxsICYmXG4gICAgLy8gICAgICAgcHJvcGVydHkuVmFsdWUgIT09ICcnKVxuICAgIC8vICAgKTtcbiAgICAvLyB9KTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIG9uQWN0aW9uRHJvcERvd25DaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IHNlbGVjdGVkQWN0aW9uID0gZXZlbnQgYXMgV29ya2Zsb3dBY3Rpb247XG4gICAgaWYgKHNlbGVjdGVkQWN0aW9uKSB7XG4gICAgICBjb25zb2xlLmxvZygnU2VsZWN0ZWQgQWN0aW9uOicsIHNlbGVjdGVkQWN0aW9uKTtcbiAgICAgIC8vIC8vIHRoaXMuc2VsZWN0ZWRBY3Rpb24gPSBzZWxlY3RlZEFjdGlvbjtcbiAgICAgIC8vIHRoaXMuZmFjYWRlXG4gICAgICAvLyAgIC5sb2FkTmV4dEFjdG9ycyh0aGlzLnNlbGVjdGVkVGFza0NvZGUhLCBzZWxlY3RlZEFjdGlvbi5Db2RlKVxuICAgICAgLy8gICAudGhlbigoYWN0b3JzKSA9PiB7fSk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgb25TdGF0ZUNoYW5nZShldmVudDogeyBrZXk6IHN0cmluZzsgdmFsdWU6IGJvb2xlYW4gfSk6IHZvaWQge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdjcmVhdGUnOlxuICAgICAgICB2YXIgbmV3SXRlbTogVGFzayA9IG5ldyBUYXNrTW9kZWwoe1xuICAgICAgICAgIFdvcmtmbG93Q29kZTogJycsXG4gICAgICAgICAgU3RhdHVzOiBUYXNrU3RhdHVzLkFjdGl2ZSxcbiAgICAgICAgICBGbG93YWJsZTogJycsXG4gICAgICAgICAgRmxvd2FibGVEYXRhOiBudWxsLFxuICAgICAgICAgIEZsb3dhYmxlUGF0aDogJycsXG4gICAgICAgICAgQ3VycmVudEFjdG9yczogW10sXG4gICAgICAgICAgRGF0YVN0YXRlOiBPYmplY3RTdGF0ZS5OZXcsXG4gICAgICAgIH0pIGFzIHVua25vd24gYXMgVGFzaztcbiAgICAgICAgdGhpcy5mYWNhZGUuYWRkTmV3UmVxdWVzdChuZXdJdGVtKTtcbiAgICAgICAgLy8gY29uc3QgY2FyZERhdGE6IENhcmREYXRhID0ge1xuICAgICAgICAvLyAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgLy8gICB0aXRsZTogLFxuICAgICAgICAvLyAgIGRhdGE6IG5ld0dyb3VwLFxuICAgICAgICAvLyAgIGJvZHk6IFtdLFxuICAgICAgICAvLyAgIGNoaWxkcmVuOiBbXSxcbiAgICAgICAgLy8gfTtcbiAgICAgICAgLy8gdGhpcy5kYXRhID0gdGhpcy5kYXRhLmNvbmNhdChbbmV3R3JvdXBdKTtcbiAgICAgICAgLy8gdGhpcy5jYXJkRGF0YS5wdXNoKGNhcmREYXRhKTtcbiAgICAgICAgLy8gdGhpcy51c2VyQ2FyZENsaWNrZWQoY2FyZERhdGEpO1xuICAgICAgICB0aGlzLmRhdGFWaWV3LmlzVGFibGVWaWV3ID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgLy8gY2FzZSAnZmlsdGVyJzpcbiAgICAgIC8vICAgdGhpcy5zaG93RmlsdGVyID0gZXZlbnQudmFsdWU7XG4gICAgICAvLyAgIGJyZWFrO1xuICAgICAgLy8gY2FzZSAnc29ydCc6XG4gICAgICAvLyAgIHRoaXMuc2hvd1NvcnQgPSBldmVudC52YWx1ZTtcbiAgICAgIC8vICAgYnJlYWs7XG4gICAgICAvLyBjYXNlICdjb2x1bW4nOlxuICAgICAgLy8gICB0aGlzLnNob3dDb2x1bW4gPSBldmVudC52YWx1ZTtcbiAgICAgIC8vICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbn1cblxuZW51bSBBY3Rpb25UeXBlIHtcbiAgUGlja1Rhc2sgPSAnUGlja1Rhc2snLFxuICBVblBpY2tUYXNrID0gJ1VuUGlja1Rhc2snLFxuICBSZUFzc2lnbiA9ICdSZUFzc2lnbicsXG4gIFBhc3NPbiA9ICdQYXNzT24nLFxuICBQYXNzQmFjayA9ICdQYXNzQmFjaycsXG4gIEZvbGxvd1Rhc2sgPSAnRm9sbG93VGFzaycsXG4gIFVuZm9sbG93VGFzayA9ICdVbmZvbGxvd1Rhc2snLFxuICBTa2lwVG8gPSAnU2tpcFRvJyxcbn1cbiIsIjxkaXYgY2xhc3M9XCJzcGFjZS15LThcIj5cbiAgPHZlcmJlbi1kYXRhLXZpZXdcbiAgICAjdmR2XG4gICAgW3ZpZXdTdGF0ZV09XCJ7XG4gICAgICBpc1NlYXJjaDogdHJ1ZSxcbiAgICAgIGlzQ29sdW1uOiB0cnVlLFxuICAgICAgaXNGaWx0ZXI6IHRydWUsXG4gICAgICBpc1NvcnQ6IHRydWUsXG4gICAgICBpc0V4cG9ydDogdHJ1ZSxcbiAgICAgIGlzU2VsZWN0OiB0cnVlLFxuICAgICAgaXNDcmVhdGU6IGlzR2VuZXJhbCgpLFxuICAgICAgaXNUb2dnbGU6IHRydWUsXG4gICAgfVwiXG4gICAgW2J1dHRvbkNsYXNzXT1cIidteS1jdXN0b20tYnV0dG9uLWNsYXNzJ1wiXG4gICAgW2ljb25DbGFzc109XCInbXktaWNvbi1jbGFzcydcIlxuICAgIFthY3RpdmVJY29uQ2xhc3NdPVwiJ215LWFjdGl2ZS1pY29uLWNsYXNzJ1wiXG4gICAgW3NlbGVjdGVkQ29sdW1uQ291bnRdPVwiMFwiXG4gICAgW3NlbGVjdGVkU29ydENvdW50XT1cIjBcIlxuICAgIFtzZWxlY3RlZEZpbHRlclRhYmxlQ291bnRdPVwiMFwiXG4gICAgKHZpZXdDaGFuZ2UpPVwib25WaWV3Q2hhbmdlKCRldmVudClcIlxuICAgIChzdGF0ZUNoYW5nZSk9XCJvblN0YXRlQ2hhbmdlKCRldmVudClcIlxuICA+XG4gICAgPGRpdiB0YWJsZS1jb250ZW50PlxuICAgICAgPGxpYi1kYXRhLXRhYmxlXG4gICAgICAgIFtkYXRhXT1cImRhdGEoKVwiXG4gICAgICAgIFtjb2x1bW5zXT1cImNvbmZpZy5jb2x1bW5zXCJcbiAgICAgICAgW3N0eWxlQ29uZmlnXT1cInN0eWxlc1wiXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtncm91cEJ5XT1cImdyb3VwQnlXb3JrZmxvd0NvZGVcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyIGxpYkNvbHVtbj1cImhpc3RvcnlcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LXZhbHVlIGxldC1kZWxldGVSb3c+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy93b3JrZmxvdy90YXNrLWhpc3RvcnknLCB2YWx1ZV1cIlxuICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwicm91dGVyLWxpbmstYWN0aXZlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ1bmRlcmxpbmUgdGV4dC1bIzAwMDBGRl1cIlxuICAgICAgICAgICAgICA+dmlldyBoaXN0b3J5PC9hXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBsaWJDb2x1bW49XCJ3b3JrZmxvd1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtdmFsdWU+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbJy93b3JrZmxvdy93b3JrZmxvd3MnLCB2YWx1ZV1cIlxuICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwicm91dGVyLWxpbmstYWN0aXZlXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ1bmRlcmxpbmUgdGV4dC1bIzAwMDBGRl1cIlxuICAgICAgICAgICAgICA+dmlldyBXb3JrZmxvdzwvYVxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgbGliQ29sdW1uPVwiYWN0aW9uc1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtcm93PVwicm93XCI+XG4gICAgICAgICAgICA8dmVyYmVuLXBvcC1VcFxuICAgICAgICAgICAgICAjcG9wdXBcbiAgICAgICAgICAgICAgW2N1c3RvbVN0eWxlc109XCJ7ICd6LWluZGV4JzogJzk5JyB9XCJcbiAgICAgICAgICAgICAgW2VuYWJsZU1vdXNlTGVhdmVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBbY3VzdG9tU3R5bGVzXT1cIntcbiAgICAgICAgICAgICAgICBib3JkZXI6ICcxcHggc29saWQgI2Q0YTEwNzgwJyxcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc1cHgnLFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3doaXRlJ1xuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgKGRyb3Bkb3duT3BlbkNoYW5nZSk9XCJoYW5kbGVQb3B1cENsb3NlKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICAgICAgICAgIGRyb3Bkb3duLXRyaWdnZXJcbiAgICAgICAgICAgICAgICBpY29uPVwiZG90c1wiXG4gICAgICAgICAgICAgICAgW3dpZHRoXT1cIjRcIlxuICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiMjRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgdy1hdXRvXCJcbiAgICAgICAgICAgICAgPjwvdmVyYmVuLXN2Zz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJnLXdoaXRlIHJvdW5kZWQtc21cIiBkcm9wZG93bi1jb250ZW50PlxuICAgICAgICAgICAgICAgIEBpZiAoc2VsZWN0ZWRUYXNrQ29kZSAmJiBhY3RpdmVBY3Rpb25UeXBlKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOiAxNnJlbVwiPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC00IGp1c3RpZnktYmV0d2VlbiBoLTEyIHB4LTIgcHQtNFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCJcbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNlwiXG4gICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNiAxNlwiXG4gICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPGcgb3BhY2l0eT1cIjAuNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02Ljc0NjQ5IDguMDAzMzhDNi45MTQ4MyA4LjEzNDcgNy4wMjUyIDguMjA0NTUgNy4xMTUzMSA4LjI5Mzk2QzcuOTg4NDYgOS4xNjIyMiA4Ljg1NzQyIDEwLjAzNDcgOS43MjkxNyAxMC45MDVDOS44NzE2NyAxMS4wNDc1IDkuOTkzOTEgMTEuMTkyMSA5Ljk5MzIxIDExLjQxMjlDOS45OTI1MSAxMS42NDYyIDkuODk0NzIgMTEuODE1MiA5LjY5NTY0IDExLjkyNTZDOS40OTMwNyAxMi4wMzggOS4yOTI2IDEyLjAyMDYgOS4xMDQ2OSAxMS44ODk5QzkuMDM4MzMgMTEuODQzOCA4Ljk4MTc1IDExLjc4NDUgOC45MjM3OCAxMS43MjcyQzcuODU1NzQgMTAuNjU5MiA2Ljc5Njc4IDkuNTgyMDMgNS43MTQ3NyA4LjUyODY3QzUuMzcxMSA4LjE5NDA3IDUuMzg0MzcgNy43OTE3MyA1LjcwNzc5IDcuNDc1OTlDNi43ODg0IDYuNDIxMjMgNy44NDg3NSA1LjM0NTUxIDguOTE1MzkgNC4yNzYwN0M5LjExMzc3IDQuMDc3NjkgOS4zMjA1NCAzLjkyMjYyIDkuNjIzIDQuMDQxMzdDOS45NzkyNCA0LjE4MTA3IDEwLjExMiA0LjU4OTAxIDkuODk0NzIgNC45MDMzNUM5LjgyOTc2IDQuOTk3NjUgOS43NDE3NCA1LjA3NzI4IDkuNjYwMDIgNS4xNTk3QzguODA2NDIgNi4wMTQ2OSA3Ljk1MjgzIDYuODY5NjggNy4wOTY0NSA3LjcyMjU3QzcuMDE0NzIgNy44MDQzIDYuOTE1NTMgNy44Njg1NiA2Ljc0NTc5IDguMDA0MDhMNi43NDY0OSA4LjAwMzM4WlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJibGFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwidGV4dC1zbSBmb250LW1lZGl1bVwiPlNlbGVjdCBBc3NpZ25lZTwvaDM+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ2FwLTIgbWF4LWgtOTYgb3ZlcmZsb3cteS1hdXRvIHAtMlwiPlxuICAgICAgICAgICAgICAgICAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiQWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgICAgICAgICAgIFttdWx0aXNlbGVjdF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd0NsZWFyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IEFjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgWyhvcHRpb25zKV09XCJuZXh0QWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgaWQ9XCJhY3Rpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cIk5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInNlbGVjdGVkQWN0aW9uIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdGVkQWN0aW9uLm5leHQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvdmVyYmVuLWRyb3AtZG93bj5cblxuICAgICAgICAgICAgICAgICAgICA8dmVyYmVuLWRyb3AtZG93blxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPVwiQWN0b3JzXCJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAgICAgICAgICAgICAgIFttdWx0aXNlbGVjdF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd0NsZWFyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IEFjdG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICBbKG9wdGlvbnMpXT1cIm5leHRBY3RvcnNcIlxuICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYWN0b3JzXCJcbiAgICAgICAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cIk5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwiQ29kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJyZWNpcGllbnRDb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC92ZXJiZW4tZHJvcC1kb3duPlxuXG4gICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29tbWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJFbnRlciBDb21tZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBwLTEgdGV4dC14cyBib3JkZXIgYm9yZGVyLXByaW1hcnkgcm91bmRlZC1tZFwiXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IDhyZW1cIlxuICAgICAgICAgICAgICAgICAgICAgIFtjb2xzXT1cIjhcIlxuICAgICAgICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cblxuICAgICAgICAgICAgICAgICAgICA8dmVyYmVuYS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZV09XCIhY29tbWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgW3RleHRdPVwiYWN0aXZlQWN0aW9uVHlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUFjdGlvbihyb3csIHBvcHVwKVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXhzIHctZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgYmdDb2xvcj1cIiNGRkU2ODFcIlxuICAgICAgICAgICAgICAgICAgICAgIHRleHRDb2xvcj1cIiM0MDQwNDBcIlxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1cz1cIjEwcHhcIlxuICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplPVwiMTRweFwiXG4gICAgICAgICAgICAgICAgICAgICAgcGQ9XCIxMHB4IDIwcHhcIlxuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMzJweFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBhY3RpdmVBY3Rpb25UeXBlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvdmVyYmVuYS1idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHsgQGZvciAoaXRlbSBvZiBnZXRUYWJsZUFjdGlvbnMocm93KTsgdHJhY2sgaXRlbS5sYWJlbClcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIml0ZW0uYWN0aW9uKHJvdylcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBweS0yIHB4LTMgdGV4dC1zbSBob3ZlcjpiZy1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtLmRpdmlkZXIpIHtcbiAgICAgICAgICAgICAgICA8aHIgY2xhc3M9XCJiZy1bI0ZGRTY4MV0gaC0xIHJvdW5kZWQteGwgYm9yZGVyLTBcIiAvPlxuICAgICAgICAgICAgICAgIH0gfSB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC92ZXJiZW4tcG9wLVVwPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+XG4gICAgICAgICAgICA8c3Ryb25nIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5BY3Rpb25zPC9zdHJvbmc+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2xpYi1kYXRhLXRhYmxlPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2FyZC1jb250ZW50PlxuICAgICAgPHZlcmJlbi1jYXJkLWRhdGEtdmlld1xuICAgICAgICBib3JkZXJSYWRpdXM9XCIxMnB4XCJcbiAgICAgICAgKGxvYWRNb3JlQ2xpY2spPVwibG9hZE1vcmUoKVwiXG4gICAgICAgICN2ZGN2XG4gICAgICAgIGRhdGFJZD1cIklkXCJcbiAgICAgICAgYm9yZGVyPVwiNXB4XCJcbiAgICAgICAgW2NhcmREYXRhTGlzdF09XCJjYXJkRGF0YSgpXCJcbiAgICAgICAgcmJnQ29sb3I9XCIjZjVmNmY5XCJcbiAgICAgICAgbWc9XCIyMHB4XCJcbiAgICAgID5cbiAgICAgICAgPHZlcmJlbi1sZWZ0LWNhcmQtZGF0YS12aWV3IGNsYXNzPVwic3BhY2UteS03XCI+XG4gICAgICAgICAgPHZlcmJlbi1sZWZ0LWNhcmQtZGF0YVxuICAgICAgICAgICAgI3ZsY2RcbiAgICAgICAgICAgIFtwYXJlbnRdPVwidmRjdlwiXG4gICAgICAgICAgICBkYXRhSWQ9XCJJZFwiXG4gICAgICAgICAgICBjbGFzcz1cImJnLXNlY29uZGFyeS0xMDAgcm91bmRlZC14bCBib3JkZXItcHJpbWFyeSBib3JkZXItWzFweF1cIlxuICAgICAgICAgICAgW2NhcmREYXRhTGlzdF09XCJjYXJkRGF0YSgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2NhcmQgbGV0LWl0ZW0+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgICBjdXJyZW50RGF0YSA9IGlzR2VuZXJhbCgpID8gdmRjdi5vbkl0ZW1DbGljayhpdGVtKSA6IG51bGxcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnREYXRhID0gaXNHZW5lcmFsKCkgPyB2ZGN2Lm9uSXRlbUNsaWNrKGl0ZW0pIDogbnVsbFxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBjdXJzb3ItcG9pbnRlciB3LWZ1bGwgYmctc2Vjb25kYXJ5IHJvdW5kZWQteGxcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LTMgcm91bmRlZC14bCByb3VuZGVkLXRyLW5vbmUgcm91bmRlZC1ici1ub25lXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgaXRlbS5zZWxlY3RlZCA/ICdiZy1wcmltYXJ5JyA6ICdiZy1zZWNvbmRhcnktMjAwJ1xuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgcHktMiBweC00IHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTQganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ2FwLXktMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LXNlbWlib2xkIHRleHQtWyM0MDQwNDBdXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS50aXRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJwaG9uZVwiIGNsYXNzPVwidGV4dC1bMTBweF0gZm9udC1saWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlN0YXR1czo8L2xhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJwaG9uZVwiIGNsYXNzPVwidGV4dC1zbVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRhLlN0YXR1c1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdhcC15LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZvcj1cInJvbGVcIiBjbGFzcz1cImZvbnQtbGlnaHRcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmRhdGEuV29ya2Zsb3dDb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIltcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnL3dvcmtmbG93L3Rhc2staGlzdG9yeScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRhLkNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJyb3V0ZXItbGluay1hY3RpdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInVuZGVybGluZSB0ZXh0LVsjMDAwMEZGXSB0ZXh0LXhzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPnZpZXcgaGlzdG9yeTwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LW5vcm1hbCB0ZXh0LXNtXCI+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGNpSXRlbSBvZiBpdGVtLmJvZHk7IHRyYWNrIGNpSXRlbS52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LW11dGVkIGZvbnQtbGlnaHQgdGV4dC14c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+e3sgY2lJdGVtLnRpdGxlIH19Ojwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtYmxhY2tcIj57eyBjaUl0ZW0udmFsdWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9IC0tPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L3ZlcmJlbi1sZWZ0LWNhcmQtZGF0YT5cbiAgICAgICAgPC92ZXJiZW4tbGVmdC1jYXJkLWRhdGEtdmlldz5cblxuICAgICAgICA8dmVyYmVuLXJpZ2h0LWNhcmQtZGF0YS12aWV3PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcGFyZW50PlxuICAgICAgICAgICAgPCEtLSA8bGliLXVzZXItcmVxdWVzdC1mb3JtXG4gICAgICAgICAgICAgIFtjdXJyZW50RGF0YV09XCJjdXJyZW50RGF0YVwiXG4gICAgICAgICAgICAgIChzd2l0Y2hWaWV3KT1cInZkdi50b2dnbGVWaWV3KClcIlxuICAgICAgICAgICAgICAob25BcHByb3ZhbCk9XCJvbkFwcHJvdmUoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9saWItdXNlci1yZXF1ZXN0LWZvcm0+IC0tPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdmVyYmVuLXJpZ2h0LWNhcmQtZGF0YS12aWV3PlxuXG4gICAgICAgIDx2ZXJiZW4tY2FyZC1kYXRhLXZpZXctZm9vdGVyIGNsYXNzPVwidy1mdWxsXCI+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAnZmxleCBnYXAtMiBpdGVtcy1jZW50ZXInOiB0cnVlLFxuICAgICAgICAgICAgICAnanVzdGlmeS1lbmQnOiB0cnVlLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPCEtLSA8dmVyYmVuYS1idXR0b25cbiAgICAgICAgICAgICAgKm5nSWY9XCIhdmRjdi5oYXNDdXJyZW50SXRlbSgpXCJcbiAgICAgICAgICAgICAgW2ZvbnRXZWlnaHRdPVwiJ2JvbGQnXCJcbiAgICAgICAgICAgICAgW2JnQ29sb3JdPVwiJyM4RThEODcnXCJcbiAgICAgICAgICAgICAgW2JvcmRlclJhZGl1c109XCInNHB4J1wiXG4gICAgICAgICAgICAgIFt0ZXh0Q29sb3JdPVwiJyNmZmYnXCJcbiAgICAgICAgICAgICAgW3BkXT1cIic5Ljc5cHggMzcuMjhweCdcIlxuICAgICAgICAgICAgICBbdGV4dF09XCInRGVsZXRlJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3ZlcmJlbmEtYnV0dG9uPiAtLT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IHt7XG4gICAgICAgICAgICAgICAgdmRjdi5oYXNDdXJyZW50SXRlbSgpID8gJ2ZsZXgtMScgOiAnJ1xuICAgICAgICAgICAgICB9fSBqdXN0aWZ5LWVuZCBpdGVtcy1jZW50ZXIgZ2FwLTVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhZ2luYXRvci10ZXh0XCJcbiAgICAgICAgICAgICAgICA+e3sgY2FyZERhdGEoKS5sZW5ndGggfX0gcmVjb3JkcyBsb2FkZWQ8L3NwYW5cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImxvYWRNb3JlKClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibG9hZC1tb3JlIHZpZXctbGlua3MgdGV4dC1bIzM0NzlFOV0gdW5kZXJsaW5lXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIExvYWQgbW9yZVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3ZlcmJlbi1jYXJkLWRhdGEtdmlldy1mb290ZXI+XG4gICAgICA8L3ZlcmJlbi1jYXJkLWRhdGEtdmlldz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNvbHVtbi1jb250ZW50PlxuICAgICAgPGxpYi1kYXRhLWNvbHVtbnNcbiAgICAgICAgW2NvbHVtbnNdPVwiY29uZmlnLmNvbHVtbnNcIlxuICAgICAgICAoY29sdW1uc1VwZGF0ZWQpPVwib25Db2x1bW5zVXBkYXRlZCgkZXZlbnQpXCJcbiAgICAgID48L2xpYi1kYXRhLWNvbHVtbnM+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBmaWx0ZXItY29udGVudD5cbiAgICAgIDx2ZXJiZW4tdGFibGUtZmlsdGVyXG4gICAgICAgIFtib3JkZXJdPVwiJzFweCBzb2xpZCByZ2JhKDIxMiwgMTYwLCA3LCAxKSdcIlxuICAgICAgICBib3JkZXJSYWRpdXM9XCIxMHB4XCJcbiAgICAgICAgYm94U2hhZG93PVwiMnB4IDJweCAycHggMHB4IHNpbHZlclwiXG4gICAgICAgIGJnQ29sb3I9XCJ3aGl0ZVwiXG4gICAgICAgIHdpZHRoPVwiNDIwcHhcIlxuICAgICAgICB0ZXh0Q29sb3I9XCJibGFja1wiXG4gICAgICAgIHBkPVwiMXJlbVwiXG4gICAgICAgIHByaW1hcnlDb2xvcj1cIiNGRkU2ODFcIlxuICAgICAgICBzZWNvbmRhcnlDb2xvcj1cIiMzNDc5RTlcIlxuICAgICAgICB0ZXJ0aWFyeUNvbG9yPVwiIzQwNDA0MFwiXG4gICAgICAgIFtmaWx0ZXJPcHRpb25zXT1cImZpbHRlckFycmF5XCJcbiAgICAgICAgW21heEZpbHRlckxlbmd0aF09XCIzXCJcbiAgICAgID48L3ZlcmJlbi10YWJsZS1maWx0ZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBzb3J0LWNvbnRlbnQ+XG4gICAgICA8bGliLWRhdGEtc29ydFxuICAgICAgICBbY29sdW1uc109XCJjb25maWcuY29sdW1uc1wiXG4gICAgICAgIFtkYXRhXT1cImRhdGEoKVwiXG4gICAgICAgIChzb3J0QXBwbGllZCk9XCJvblNvcnRVcGRhdGVkKCRldmVudClcIlxuICAgICAgPjwvbGliLWRhdGEtc29ydD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGV4cG9ydC1jb250ZW50PlxuICAgICAgPGxpYi1kYXRhLWV4cG9ydCBbZGF0YV09XCJkYXRhKClcIiAoZXhwb3J0RGF0YUV2ZW50KT1cImhhbmRsZUV4cG9ydCgkZXZlbnQpXCI+XG4gICAgICA8L2xpYi1kYXRhLWV4cG9ydD5cbiAgICA8L2Rpdj5cbiAgPC92ZXJiZW4tZGF0YS12aWV3PlxuXG4gIDxkaXYgKm5nSWY9XCJ2ZHYuaXNUYWJsZVZpZXdcIiBjbGFzcz1cImZsZXggZ2FwLTIganVzdGlmeS1lbmRcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktZW5kIGl0ZW1zLWNlbnRlciBnYXAtNVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJwYWdpbmF0b3ItdGV4dFwiPnt7IGNhcmREYXRhKCkubGVuZ3RoIH19IHJlY29yZHMgbG9hZGVkPC9zcGFuPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwibG9hZE1vcmUoKVwiXG4gICAgICAgIGNsYXNzPVwibG9hZC1tb3JlIHZpZXctbGlua3MgdGV4dC1bIzM0NzlFOV0gdW5kZXJsaW5lXCJcbiAgICAgID5cbiAgICAgICAgTG9hZCBtb3JlXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPHZlcmJlbi1kaWFsb2d1ZVxuICBbc2hvd0Nsb3NlSWNvbl09XCJ0cnVlXCJcbiAgW2Rpc21pc3NPdXRzaWRlQ2xpY2tdPVwidHJ1ZVwiXG4gIFtjbG9zZU9uRXNjYXBlXT1cInRydWVcIlxuICBbbW9kZV09XCInZHJhd2VyJ1wiXG4gIFtwYWRkaW5nXT1cIicwcHgnXCJcbiAgW2RyYXdlcldpZHRoXT1cIic0MDBweCdcIlxuICBbZGlzYWJsZUZvb3Rlcl09XCJmYWxzZVwiXG4gIFtpc1Zpc2libGVdPVwiaXNNb2RhbFZpc2libGVcIlxuICBbbW9kYWxEYXRhXT1cInN0YWdlRm9ybVwiXG4gIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiXG4gIFtib2R5VGVtcGxhdGVdPVwiYm9keVRlbXBsYXRlXCJcbiAgW3Nob3dDbG9zZUljb25dPVwiZmFsc2VcIlxuPlxuPC92ZXJiZW4tZGlhbG9ndWU+XG48bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiYmctWyNGRkU2ODFdIHB4LTYgcHktNCBmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXJcIj5cbiAgICA8aDE+Rm9ybTwvaDE+XG4gICAgPHZlcmJlbi1zdmdcbiAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgW2ljb25dPVwiJ2Nsb3NlLWNpcmNsZSdcIlxuICAgICAgKGNsaWNrKT1cImlzTW9kYWxWaXNpYmxlID0gZmFsc2VcIlxuICAgICAgW3dpZHRoXT1cIjE1XCJcbiAgICAgIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgW3N0cm9rZV09XCInI2ZmZidcIlxuICAgID48L3ZlcmJlbi1zdmc+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNib2R5VGVtcGxhdGU+XG4gIDxkaXY+XG4gICAgPGRpdiAqbmdJZj1cInN0YWdlRm9ybT8uRW50aXRpZXM/LlthY3RpdmVdOyBlbHNlIGVtcHR5U3RhdGVcIiBjbGFzcz1cIm10LTRcIj5cbiAgICAgIDxmb3JtLWNvbnRyb2xcbiAgICAgICAgW2RhdGFUeXBlXT1cImRhdGFUeXBlXCJcbiAgICAgICAgW2Zvcm1Qcm9wZXJ0aWVzXT1cInN0YWdlRm9ybT8uRW50aXRpZXM/LlthY3RpdmVdPy5Qcm9wZXJ0aWVzID8/IFtdXCJcbiAgICAgID48L2Zvcm0tY29udHJvbD5cblxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTMganVzdGlmeS1lbmRcIj5cbiAgICAgICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJ2ZXJiZW4tcHJpbWFyeS1idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJzdWJtaXRGb3JtKClcIlxuICAgICAgICAgIFtkaXNhYmxlXT1cIiFhcmVSZXF1aXJlZFByb3BlcnRpZXNGaWxsZWQoKVwiXG4gICAgICAgICAgdGV4dD1cIlNhdmVcIlxuICAgICAgICA+PC92ZXJiZW5hLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBFbXB0eSBzdGF0ZSB0ZW1wbGF0ZSAtLT5cbiAgICA8bmctdGVtcGxhdGUgI2VtcHR5U3RhdGU+XG4gICAgICA8cCBjbGFzcz1cIm10LTQgcC00IHRleHQtZ3JheS02MDAgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgTm8gZW50cmllcyBhdmFpbGFibGUgZm9yIHRoZSBzZWxlY3RlZCBmb3JtIGdyb3VwLlxuICAgICAgPC9wPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -190,11 +190,11 @@ export class MyQueueFacade {
190
190
  this.state.setUpdating(false);
191
191
  }
192
192
  }
193
- async loadNextActors(taskCode, stageCode, forCurrentStage) {
193
+ async loadNextActors(taskCode, forCurrentStage, stageCode) {
194
194
  try {
195
195
  this.state.setUpdating(true);
196
196
  const params = this.state.getQueryParamsValue();
197
- const requests = await this.service.getNextActors(taskCode, stageCode, forCurrentStage);
197
+ const requests = await this.service.getNextActors(taskCode, forCurrentStage, stageCode);
198
198
  this.state.setNextActors(requests);
199
199
  return requests;
200
200
  }
@@ -405,4 +405,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
405
405
  providedIn: 'root',
406
406
  }]
407
407
  }], ctorParameters: () => [{ type: i1.MyQueueService }, { type: i2.MyQueueState }, { type: i3.UtilService }] });
408
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktcXVldWUuZmFjYWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy9teS1xdWV1ZS9teS1xdWV1ZS5mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQWFqRCxNQUFNLE9BQU8sYUFBYTtJQUVkO0lBQ0E7SUFDQTtJQUhWLFlBQ1UsT0FBdUIsRUFDdkIsS0FBbUIsRUFDbkIsV0FBd0I7UUFGeEIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUVoQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVU7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBaUIsS0FBSztRQUN2QyxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFFaEQsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSztnQkFDdEMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FDckMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQ2pCLE1BQU0sQ0FBQyxJQUFJLEVBQ1gsTUFBTSxDQUFDLEtBQUssRUFDWixNQUFNLENBQUMsU0FBUyxJQUFJLGFBQWEsRUFDakMsTUFBTSxDQUFDLFNBQVMsQ0FDakI7Z0JBQ0gsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQ2hDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxFQUNqQixNQUFNLENBQUMsSUFBSSxFQUNYLE1BQU0sQ0FBQyxLQUFLLEVBQ1osTUFBTSxDQUFDLFNBQVMsSUFBSSxhQUFhLEVBQ2pDLE1BQU0sQ0FBQyxTQUFTLENBQ2pCLENBQUM7WUFFTixJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDL0MsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNqRCxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQixDQUFDLEtBQWE7UUFDdkMsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBRWhELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FDbEQsS0FBSyxFQUNMLE1BQU0sQ0FBQyxJQUFJLEVBQ1gsTUFBTSxDQUFDLEtBQUssRUFDWixNQUFNLENBQUMsU0FBUyxJQUFJLGFBQWEsRUFDakMsTUFBTSxDQUFDLFNBQVMsQ0FDakIsQ0FBQztZQUVGLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxxQ0FBcUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM1RCxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQ2YsTUFBc0Q7UUFFdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQyx1QkFBdUI7SUFDekIsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBc0I7UUFDckMsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsTUFBTSxVQUFVLEdBQUcsRUFBRSxHQUFHLE9BQU8sRUFBVSxDQUFDO1lBQzFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRWxDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQzNDLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsb0NBQW9DO1FBQ2pFLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSyxDQUFDLENBQUM7WUFDeEMsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO2dCQUFTLENBQUM7WUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBYTtRQUMvQixJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbEQsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO2dCQUFTLENBQUM7WUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBaUI7UUFDbkMsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsTUFBTSxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xELE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQWE7UUFDaEMsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2xFLHlCQUF5QjtZQUN6QixNQUFNLElBQUksR0FBSSxRQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQyxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xELE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUFDLFFBQWdCO1FBQ3BDLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUVoRCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRTdELElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXBDLDZCQUE2QjtZQUM3Qix5Q0FBeUM7WUFDekMsd0RBQXdEO1lBQ3hELElBQUk7WUFFSixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMscUNBQXFDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDNUQsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO2dCQUFTLENBQUM7WUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxRQUFnQjtRQUN4QyxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU3QixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFakUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFcEMsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLHFDQUFxQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztnQkFBUyxDQUFDO1lBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsc0JBQXNCLENBQUMsUUFBZ0I7UUFDM0MsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXBFLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXBDLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxxQ0FBcUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM1RCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FDbEIsUUFBZ0IsRUFDaEIsU0FBa0IsRUFDbEIsZUFBeUI7UUFFekIsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBRWhELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQy9DLFFBQVEsRUFDUixTQUFTLEVBQ1QsZUFBZSxDQUNoQixDQUFDO1lBRUYsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFbkMsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLHFDQUFxQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztnQkFBUyxDQUFDO1lBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQWdCO1FBQ2xDLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUNqQyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFbEMsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLHFDQUFxQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztnQkFBUyxDQUFDO1lBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUNWLE1BQXNCLEVBQ3RCLE9BQWEsRUFDYixPQUFlLEVBQ2YsU0FBd0IsRUFDeEIsV0FBbUI7UUFFbkIsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDeEMsTUFBTSxDQUFDLFNBQVMsRUFDaEIsTUFBTSxDQUFDLE9BQU8sRUFDZDtnQkFDRSxHQUFHLE9BQU87Z0JBQ1YsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUMvQyxHQUFHLENBQUM7b0JBQ0osU0FBUyxFQUFFLEVBQUU7aUJBQ2QsQ0FBQyxDQUFDO2FBQ0osRUFDRCxPQUFPLEVBQ1AsU0FBUyxJQUFJLFNBQVMsQ0FDdkIsQ0FBQztZQUNGLHlCQUF5QjtZQUN6QixNQUFNLElBQUksR0FBRyxRQUFnQixDQUFDO1lBQzlCLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO29CQUN0RSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDakMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDekMsQ0FBQztnQkFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1lBQzlELENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEQsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUNaLE1BQXNCLEVBQ3RCLE9BQWEsRUFDYixPQUFlLEVBQ2YsU0FBd0I7UUFFeEIsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07WUFDeEMsaUNBQWlDO1lBQ2pDLE1BQU0sQ0FBQyxPQUFPLEVBQ2QsTUFBTSxDQUFDLFNBQVMsRUFDaEI7Z0JBQ0UsR0FBRyxPQUFPO2dCQUNWLFVBQVUsRUFBRSxFQUFFO2dCQUNkLGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDL0MsR0FBRyxDQUFDO29CQUNKLFNBQVMsRUFBRSxFQUFFO2lCQUNkLENBQUMsQ0FBQzthQUNKLEVBQ0QsT0FBTyxFQUNQLFNBQVMsSUFBSSxTQUFTLENBQ3ZCLENBQUM7WUFDRix5QkFBeUI7WUFDekIsTUFBTSxJQUFJLEdBQUcsUUFBZ0IsQ0FBQztZQUM5QixJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNULElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pDLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbEQsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO2dCQUFTLENBQUM7WUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQ1YsSUFBaUMsRUFDakMsRUFBNkIsRUFDN0IsT0FBYSxFQUNiLE9BQWUsRUFDZixTQUF3QjtRQUV4QixJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUN4QyxJQUFJLEVBQ0osRUFBRSxFQUNGO2dCQUNFLEdBQUcsT0FBTztnQkFDVixVQUFVLEVBQUUsRUFBRTtnQkFDZCxhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQy9DLEdBQUcsQ0FBQztvQkFDSixTQUFTLEVBQUUsRUFBRTtpQkFDZCxDQUFDLENBQUM7YUFDSixFQUNELE9BQU8sRUFDUCxTQUFTLElBQUksU0FBUyxDQUN2QixDQUFDO1lBQ0YseUJBQXlCO1lBQ3pCLE1BQU0sSUFBSSxHQUFHLFFBQWdCLENBQUM7WUFDOUIsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQyxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xELE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUNaLE1BQXNCLEVBQ3RCLE9BQWEsRUFDYixPQUFlLEVBQ2YsU0FBd0I7UUFFeEIsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDeEMsTUFBTSxDQUFDLFNBQVMsRUFDaEIsTUFBTSxDQUFDLE9BQU8sRUFDZDtnQkFDRSxHQUFHLE9BQU87Z0JBQ1YsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUMvQyxHQUFHLENBQUM7b0JBQ0osU0FBUyxFQUFFLEVBQUU7aUJBQ2QsQ0FBQyxDQUFDO2FBQ0osRUFDRCxPQUFPLEVBQ1AsU0FBUyxJQUFJLFNBQVMsQ0FDdkIsQ0FBQztZQUNGLHlCQUF5QjtZQUN6QixNQUFNLElBQUksR0FBRyxRQUFnQixDQUFDO1lBQzlCLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsRCxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFhLEVBQUUsT0FBZTtRQUMzQyxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUMxQztnQkFDRSxHQUFHLE9BQU87Z0JBQ1YsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUMvQyxHQUFHLENBQUM7b0JBQ0osU0FBUyxFQUFFLEVBQUU7aUJBQ2QsQ0FBQyxDQUFDO2FBQ0osRUFDRCxPQUFPLENBQ1IsQ0FBQztZQUNGLHlCQUF5QjtZQUN6QixNQUFNLElBQUksR0FBRyxRQUFnQixDQUFDO1lBQzlCLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsRCxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFVLEVBQUUsUUFBZ0I7UUFDekMsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDL0QsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzdDLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCxxQkFBcUI7SUFDckIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFpQixLQUFLO1FBQ25DLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUN2RCxzREFBc0Q7WUFDdEQsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBRXpCLG9CQUFvQjtZQUNwQixNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUM7WUFFekQsdUJBQXVCO1lBQ3ZCLE1BQU0sUUFBUSxHQUFHLEtBQUs7Z0JBQ3BCLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQ3JDLGFBQWEsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUN4QixhQUFhLENBQUMsSUFBSSxFQUNsQixhQUFhLENBQUMsS0FBSyxFQUNuQixhQUFhLENBQUMsU0FBUyxJQUFJLGFBQWEsRUFDeEMsYUFBYSxDQUFDLFNBQVMsQ0FDeEI7Z0JBQ0gsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQ2hDLGFBQWEsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUN4QixhQUFhLENBQUMsSUFBSSxFQUNsQixhQUFhLENBQUMsS0FBSyxFQUNuQixhQUFhLENBQUMsU0FBUyxJQUFJLGFBQWEsRUFDeEMsYUFBYSxDQUFDLFNBQVMsQ0FDeEIsQ0FBQztZQUVOLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDO2dCQUMzQixJQUFJLEVBQUUsT0FBTztnQkFDYixLQUFLLEVBQUUsYUFBYSxDQUFDLEtBQUs7YUFDM0IsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzFDLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7d0dBeGVVLGFBQWE7NEdBQWIsYUFBYSxjQUZaLE1BQU07OzRGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbGFzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBNeVF1ZXVlU2VydmljZSB9IGZyb20gJy4vbXktcXVldWUuc2VydmljZSc7XG5pbXBvcnQgeyBNeVF1ZXVlU3RhdGUgfSBmcm9tICcuL215LXF1ZXVlLnN0YXRlJztcbmltcG9ydCB7IFRhc2sgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgUXVlcnlQYXJhbXMgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgV29ya2Zsb3dBY3Rpb24gfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgQWN0b3IgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgRm9ybSB9IGZyb20gJ3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL21vZGVscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNeVF1ZXVlRmFjYWRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBNeVF1ZXVlU2VydmljZSxcbiAgICBwcml2YXRlIHN0YXRlOiBNeVF1ZXVlU3RhdGUsXG4gICAgcHJpdmF0ZSB1dGlsU2VydmljZTogVXRpbFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5pc1VwZGF0aW5nJCgpLnN1YnNjcmliZSgobG9hZGluZykgPT4ge1xuICAgICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkobG9hZGluZyk7XG4gICAgfSk7XG4gIH1cblxuICBpc1VwZGF0aW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5pc1VwZGF0aW5nJCgpO1xuICB9XG5cbiAgZ2V0UmVxdWVzdHMkKCk6IE9ic2VydmFibGU8VGFza1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuZ2V0UmVxdWVzdHMkKCk7XG4gIH1cblxuICBnZXROZXh0QWN0aW9ucyQoKTogT2JzZXJ2YWJsZTxXb3JrZmxvd0FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuZ2V0TmV4dEFjdGlvbnMkKCk7XG4gIH1cblxuICBnZXROZXh0QWN0b3JzJCgpOiBPYnNlcnZhYmxlPEFjdG9yW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5nZXROZXh0QWN0b3JzJCgpO1xuICB9XG5cbiAgZ2V0VGFza0Zvcm1zJCgpOiBPYnNlcnZhYmxlPEZvcm1bXT4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLmdldFRhc2tGb3JtcyQoKTtcbiAgfVxuXG4gIGdldFF1ZXJ5UGFyYW1zJCgpOiBPYnNlcnZhYmxlPFF1ZXJ5UGFyYW1zPFRhc2s+PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuZ2V0UXVlcnlQYXJhbXMkKCk7XG4gIH1cblxuICBhZGROZXdSZXF1ZXN0KHRhc2s6IFRhc2spIHtcbiAgICB0aGlzLnN0YXRlLmFkZFJlcXVlc3QodGFzayk7XG4gIH1cblxuICBhc3luYyBsb2FkUmVxdWVzdHMocXVldWU6IGJvb2xlYW4gPSBmYWxzZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5zdGF0ZS5nZXRRdWVyeVBhcmFtc1ZhbHVlKCk7XG5cbiAgICAgIGNvbnN0IHsgU2tpcCwgUGFnZVNpemUsIFJlc3VsdCB9ID0gcXVldWVcbiAgICAgICAgPyBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0UXVldWVUYXNrc0ZvclVzZXIoXG4gICAgICAgICAgICBwYXJhbXMudXNlciB8fCAnJyxcbiAgICAgICAgICAgIHBhcmFtcy5za2lwLFxuICAgICAgICAgICAgcGFyYW1zLmxpbWl0LFxuICAgICAgICAgICAgcGFyYW1zLnNvcnRQYXJhbSB8fCAnQ3JlYXRlZERhdGUnLFxuICAgICAgICAgICAgcGFyYW1zLnNvcnRPcmRlclxuICAgICAgICAgIClcbiAgICAgICAgOiBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0VGFza3NGb3JVc2VyKFxuICAgICAgICAgICAgcGFyYW1zLnVzZXIgfHwgJycsXG4gICAgICAgICAgICBwYXJhbXMuc2tpcCxcbiAgICAgICAgICAgIHBhcmFtcy5saW1pdCxcbiAgICAgICAgICAgIHBhcmFtcy5zb3J0UGFyYW0gfHwgJ0NyZWF0ZWREYXRlJyxcbiAgICAgICAgICAgIHBhcmFtcy5zb3J0T3JkZXJcbiAgICAgICAgICApO1xuXG4gICAgICBpZiAoUmVzdWx0KSB7XG4gICAgICAgIHRoaXMuc3RhdGUuc2V0UmVxdWVzdHMoUmVzdWx0KTtcbiAgICAgICAgdGhpcy5zdGF0ZS51cGRhdGVRdWVyeVBhcmFtcyh7IHNraXA6IFNraXAgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHJlcXVlc3RzOicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkUmVxdWVzdHNXaXRoUGFyYW0ocGFyYW06IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5zdGF0ZS5nZXRRdWVyeVBhcmFtc1ZhbHVlKCk7XG5cbiAgICAgIGNvbnN0IHJlcXVlc3RzID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldFRhc2tXaXRoUGFyYW0oXG4gICAgICAgIHBhcmFtLFxuICAgICAgICBwYXJhbXMuc2tpcCxcbiAgICAgICAgcGFyYW1zLmxpbWl0LFxuICAgICAgICBwYXJhbXMuc29ydFBhcmFtIHx8ICdDcmVhdGVkRGF0ZScsXG4gICAgICAgIHBhcmFtcy5zb3J0T3JkZXJcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuc3RhdGUuc2V0UmVxdWVzdHMocmVxdWVzdHMuUmVzdWx0KTtcbiAgICAgIHRoaXMuc3RhdGUudXBkYXRlUXVlcnlQYXJhbXMoeyBza2lwOiByZXF1ZXN0cy5Ta2lwIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCByZXF1ZXN0cyB3aXRoIHBhcmFtOicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVRdWVyeVBhcmFtcyhcbiAgICBwYXJhbXM6IFBhcnRpYWw8UXVlcnlQYXJhbXM8VGFzaz4+ICYgeyB1c2VyPzogc3RyaW5nIH1cbiAgKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZS51cGRhdGVRdWVyeVBhcmFtcyhwYXJhbXMpO1xuICAgIC8vIHRoaXMubG9hZFJlcXVlc3RzKCk7XG4gIH1cblxuICBhc3luYyBhZGRSZXF1ZXN0KHJlcXVlc3Q6IFBhcnRpYWw8VGFzaz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IG5ld1JlcXVlc3QgPSB7IC4uLnJlcXVlc3QgfSBhcyBUYXNrO1xuICAgICAgdGhpcy5zdGF0ZS5hZGRSZXF1ZXN0KG5ld1JlcXVlc3QpO1xuXG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2Uuc2F2ZVRhc2tzKFtuZXdSZXF1ZXN0XSk7XG4gICAgICBhd2FpdCB0aGlzLmxvYWRSZXF1ZXN0cygpOyAvLyBSZWxvYWQgdG8gZ2V0IHNlcnZlci1zaWRlIGNoYW5nZXNcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGFkZCByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRoaXMuc3RhdGUucmVtb3ZlUmVxdWVzdChyZXF1ZXN0LkNvZGUhKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyB1cGRhdGVSZXF1ZXN0KHJlcXVlc3Q6IFRhc2spOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGF3YWl0IHRoaXMuc2VydmljZS5zYXZlVGFza3MoW3JlcXVlc3RdKTtcbiAgICAgIHRoaXMuc3RhdGUudXBkYXRlUmVxdWVzdChyZXF1ZXN0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBkZWxldGVSZXF1ZXN0KHJlcXVlc3RJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMuc2VydmljZS5kZWxldGVUYXNrcyhbcmVxdWVzdElkXSkpO1xuICAgICAgdGhpcy5zdGF0ZS5yZW1vdmVSZXF1ZXN0KHJlcXVlc3RJZCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBkZWxldGUgcmVxdWVzdDonLCBlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgYXBwcm92ZVJlcXVlc3QocmVxdWVzdDogVGFzayk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnNlcnZpY2UucHJvY2Vzc1Rhc2tzKFtyZXF1ZXN0XSwgdHJ1ZSk7XG4gICAgICAvLyBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICBjb25zdCBkYXRhID0gKHJlc3BvbnNlIGFzIFRhc2tbXSk/LlswXTtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRoaXMuc3RhdGUudXBkYXRlUmVxdWVzdChkYXRhKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkTmV4dEFjdGlvbnModGFza0NvZGU6IHN0cmluZyk6IFByb21pc2U8V29ya2Zsb3dBY3Rpb25bXT4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5zdGF0ZS5nZXRRdWVyeVBhcmFtc1ZhbHVlKCk7XG5cbiAgICAgIGNvbnN0IHJlcXVlc3RzID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldE5leHRBY3Rpb25zKHRhc2tDb2RlKTtcblxuICAgICAgdGhpcy5zdGF0ZS5zZXROZXh0QWN0aW9ucyhyZXF1ZXN0cyk7XG5cbiAgICAgIC8vIGlmIChyZXF1ZXN0cy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyAgIC8vIHRoaXMuc2VsZWN0ZWRBY3Rpb24gPSBhY3Rpb25zWzBdO1xuICAgICAgLy8gICB0aGlzLmxvYWROZXh0QWN0b3JzKHRhc2tDb2RlLCByZXF1ZXN0c1swXS5Ub1N0YWdlKTtcbiAgICAgIC8vIH1cblxuICAgICAgcmV0dXJuIHJlcXVlc3RzO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCByZXF1ZXN0cyB3aXRoIHBhcmFtOicsIGVycm9yKTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZFByZXZpb3VzQWN0aW9ucyh0YXNrQ29kZTogc3RyaW5nKTogUHJvbWlzZTxXb3JrZmxvd0FjdGlvbltdPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG5cbiAgICAgIGNvbnN0IHJlcXVlc3RzID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldFByZXZpb3VzQWN0aW9ucyh0YXNrQ29kZSk7XG5cbiAgICAgIHRoaXMuc3RhdGUuc2V0TmV4dEFjdGlvbnMocmVxdWVzdHMpO1xuXG4gICAgICByZXR1cm4gcmVxdWVzdHM7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHJlcXVlc3RzIHdpdGggcGFyYW06JywgZXJyb3IpO1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkQWxsUHJldmlvdXNBY3Rpb25zKHRhc2tDb2RlOiBzdHJpbmcpOiBQcm9taXNlPFdvcmtmbG93QWN0aW9uW10+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcblxuICAgICAgY29uc3QgcmVxdWVzdHMgPSBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0QWxsUHJldmlvdXNBY3Rpb25zKHRhc2tDb2RlKTtcblxuICAgICAgdGhpcy5zdGF0ZS5zZXROZXh0QWN0aW9ucyhyZXF1ZXN0cyk7XG5cbiAgICAgIHJldHVybiByZXF1ZXN0cztcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGxvYWQgcmVxdWVzdHMgd2l0aCBwYXJhbTonLCBlcnJvcik7XG4gICAgICByZXR1cm4gW107XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGxvYWROZXh0QWN0b3JzKFxuICAgIHRhc2tDb2RlOiBzdHJpbmcsXG4gICAgc3RhZ2VDb2RlPzogc3RyaW5nLFxuICAgIGZvckN1cnJlbnRTdGFnZT86IGJvb2xlYW5cbiAgKTogUHJvbWlzZTxBY3RvcltdPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLnN0YXRlLmdldFF1ZXJ5UGFyYW1zVmFsdWUoKTtcblxuICAgICAgY29uc3QgcmVxdWVzdHMgPSBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0TmV4dEFjdG9ycyhcbiAgICAgICAgdGFza0NvZGUsXG4gICAgICAgIHN0YWdlQ29kZSxcbiAgICAgICAgZm9yQ3VycmVudFN0YWdlXG4gICAgICApO1xuXG4gICAgICB0aGlzLnN0YXRlLnNldE5leHRBY3RvcnMocmVxdWVzdHMpO1xuXG4gICAgICByZXR1cm4gcmVxdWVzdHM7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHJlcXVlc3RzIHdpdGggcGFyYW06JywgZXJyb3IpO1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkVGFza0Zvcm1zKHRhc2tDb2RlOiBzdHJpbmcpOiBQcm9taXNlPEZvcm1bXT4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc29sZS5sb2coJ0xvYWRpbmcgdGFzayBmb3JtJyk7XG4gICAgICBjb25zdCByZXF1ZXN0cyA9IGF3YWl0IHRoaXMuc2VydmljZS5nZXRDdXJyZW50Rm9ybXNGb3JUYXNrKHRhc2tDb2RlKTtcbiAgICAgIGNvbnNvbGUubG9nKCdGT1JNUycsIHJlcXVlc3RzKTtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VGFza0Zvcm1zKHJlcXVlc3RzKTtcblxuICAgICAgcmV0dXJuIHJlcXVlc3RzO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCByZXF1ZXN0cyB3aXRoIHBhcmFtOicsIGVycm9yKTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcGFzc09uKFxuICAgIGFjdGlvbjogV29ya2Zsb3dBY3Rpb24sXG4gICAgcmVxdWVzdDogVGFzayxcbiAgICBjb21tZW50OiBzdHJpbmcsXG4gICAgcmVjaXBpZW50OiBzdHJpbmcgfCBudWxsLFxuICAgIGN1cnJlbnRVc2VyOiBzdHJpbmdcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuc2VydmljZS5wYXNzT24oXG4gICAgICAgIGFjdGlvbi5Gcm9tU3RhZ2UsXG4gICAgICAgIGFjdGlvbi5Ub1N0YWdlLFxuICAgICAgICB7XG4gICAgICAgICAgLi4ucmVxdWVzdCxcbiAgICAgICAgICBGdWxsU3RhZ2VzOiBbXSxcbiAgICAgICAgICBDdXJyZW50QWN0b3JzOiByZXF1ZXN0LkN1cnJlbnRBY3RvcnMubWFwKChjKSA9PiAoe1xuICAgICAgICAgICAgLi4uYyxcbiAgICAgICAgICAgIEFjdG9yVGFnczogW10sXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9LFxuICAgICAgICBjb21tZW50LFxuICAgICAgICByZWNpcGllbnQgPz8gdW5kZWZpbmVkXG4gICAgICApO1xuICAgICAgLy8gY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgY29uc3QgZGF0YSA9IHJlc3BvbnNlIGFzIFRhc2s7XG4gICAgICBpZiAoZGF0YSkge1xuICAgICAgICBpZiAoZGF0YS5DdXJyZW50QWN0b3JzLm1hcCgoYykgPT4gYy5JZGVudGlmaWVyKS5pbmNsdWRlcyhjdXJyZW50VXNlcikpIHtcbiAgICAgICAgICB0aGlzLnN0YXRlLnVwZGF0ZVJlcXVlc3QoZGF0YSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zdGF0ZS5yZW1vdmVSZXF1ZXN0KHJlcXVlc3QuQ29kZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51dGlsU2VydmljZS5zaG93U3VjY2VzcygnVGFzayBwYXNzZWQgb24gc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byB1cGRhdGUgcmVxdWVzdDonLCBlcnJvcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHBhc3NCYWNrKFxuICAgIGFjdGlvbjogV29ya2Zsb3dBY3Rpb24sXG4gICAgcmVxdWVzdDogVGFzayxcbiAgICBjb21tZW50OiBzdHJpbmcsXG4gICAgcmVjaXBpZW50OiBzdHJpbmcgfCBudWxsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnNlcnZpY2UucGFzc09uKFxuICAgICAgICAvLyBBbHRlcm5hdGUgZnJvbSBhbmQgdG8gc3RhZ2Ugby5cbiAgICAgICAgYWN0aW9uLlRvU3RhZ2UsXG4gICAgICAgIGFjdGlvbi5Gcm9tU3RhZ2UsXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5yZXF1ZXN0LFxuICAgICAgICAgIEZ1bGxTdGFnZXM6IFtdLFxuICAgICAgICAgIEN1cnJlbnRBY3RvcnM6IHJlcXVlc3QuQ3VycmVudEFjdG9ycy5tYXAoKGMpID0+ICh7XG4gICAgICAgICAgICAuLi5jLFxuICAgICAgICAgICAgQWN0b3JUYWdzOiBbXSxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH0sXG4gICAgICAgIGNvbW1lbnQsXG4gICAgICAgIHJlY2lwaWVudCA/PyB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgICAvLyBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICBjb25zdCBkYXRhID0gcmVzcG9uc2UgYXMgVGFzaztcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRoaXMuc3RhdGUudXBkYXRlUmVxdWVzdChkYXRhKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBza2lwVG8oXG4gICAgZnJvbTogV29ya2Zsb3dBY3Rpb25bJ0Zyb21TdGFnZSddLFxuICAgIHRvOiBXb3JrZmxvd0FjdGlvblsnVG9TdGFnZSddLFxuICAgIHJlcXVlc3Q6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIHJlY2lwaWVudDogc3RyaW5nIHwgbnVsbFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5zZXJ2aWNlLnNraXBUbyhcbiAgICAgICAgZnJvbSxcbiAgICAgICAgdG8sXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5yZXF1ZXN0LFxuICAgICAgICAgIEZ1bGxTdGFnZXM6IFtdLFxuICAgICAgICAgIEN1cnJlbnRBY3RvcnM6IHJlcXVlc3QuQ3VycmVudEFjdG9ycy5tYXAoKGMpID0+ICh7XG4gICAgICAgICAgICAuLi5jLFxuICAgICAgICAgICAgQWN0b3JUYWdzOiBbXSxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH0sXG4gICAgICAgIGNvbW1lbnQsXG4gICAgICAgIHJlY2lwaWVudCA/PyB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgICAvLyBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICBjb25zdCBkYXRhID0gcmVzcG9uc2UgYXMgVGFzaztcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRoaXMuc3RhdGUudXBkYXRlUmVxdWVzdChkYXRhKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBwaWNrVGFzayhcbiAgICBhY3Rpb246IFdvcmtmbG93QWN0aW9uLFxuICAgIHJlcXVlc3Q6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIHJlY2lwaWVudDogc3RyaW5nIHwgbnVsbFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5zZXJ2aWNlLnBhc3NPbihcbiAgICAgICAgYWN0aW9uLkZyb21TdGFnZSxcbiAgICAgICAgYWN0aW9uLlRvU3RhZ2UsXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5yZXF1ZXN0LFxuICAgICAgICAgIEZ1bGxTdGFnZXM6IFtdLFxuICAgICAgICAgIEN1cnJlbnRBY3RvcnM6IHJlcXVlc3QuQ3VycmVudEFjdG9ycy5tYXAoKGMpID0+ICh7XG4gICAgICAgICAgICAuLi5jLFxuICAgICAgICAgICAgQWN0b3JUYWdzOiBbXSxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH0sXG4gICAgICAgIGNvbW1lbnQsXG4gICAgICAgIHJlY2lwaWVudCA/PyB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgICAvLyBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICBjb25zdCBkYXRhID0gcmVzcG9uc2UgYXMgVGFzaztcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRoaXMuc3RhdGUudXBkYXRlUmVxdWVzdChkYXRhKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyByZUFzc2lnbihyZXF1ZXN0OiBUYXNrLCBjb21tZW50OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5zZXJ2aWNlLnJlQXNzaWduKFxuICAgICAgICB7XG4gICAgICAgICAgLi4ucmVxdWVzdCxcbiAgICAgICAgICBGdWxsU3RhZ2VzOiBbXSxcbiAgICAgICAgICBDdXJyZW50QWN0b3JzOiByZXF1ZXN0LkN1cnJlbnRBY3RvcnMubWFwKChjKSA9PiAoe1xuICAgICAgICAgICAgLi4uYyxcbiAgICAgICAgICAgIEFjdG9yVGFnczogW10sXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9LFxuICAgICAgICBjb21tZW50XG4gICAgICApO1xuICAgICAgLy8gY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgY29uc3QgZGF0YSA9IHJlc3BvbnNlIGFzIFRhc2s7XG4gICAgICBpZiAoZGF0YSkge1xuICAgICAgICB0aGlzLnN0YXRlLnVwZGF0ZVJlcXVlc3QoZGF0YSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byB1cGRhdGUgcmVxdWVzdDonLCBlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZmlsbEZvcm0oZm9ybTogRm9ybSwgdGFza0NvZGU6IHN0cmluZyk6IFByb21pc2U8Rm9ybT4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgZmlsbGVkRm9ybSA9IGF3YWl0IHRoaXMuc2VydmljZS5maWxsRm9ybShmb3JtLCB0YXNrQ29kZSk7XG4gICAgICByZXR1cm4gZmlsbGVkRm9ybTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGZpbGwgZm9ybTonLCBlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTG9hZCBtb3JlIGhhbmRsaW5nXG4gIGFzeW5jIGxvYWRNb3JlKHF1ZXVlOiBib29sZWFuID0gZmFsc2UpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IGN1cnJlbnRQYXJhbXMgPSB0aGlzLnN0YXRlLmdldFF1ZXJ5UGFyYW1zVmFsdWUoKTtcbiAgICAgIC8vIGNvbnN0IHNlYXJjaFRlcm0gPSB0aGlzLnN0YXRlLmdldFNlYXJjaFRlcm1WYWx1ZSgpO1xuICAgICAgY29uc3Qgc2VhcmNoVGVybSA9IGZhbHNlO1xuXG4gICAgICAvLyBVcGRhdGUgc2tpcCB2YWx1ZVxuICAgICAgY29uc3QgbmV3U2tpcCA9IGN1cnJlbnRQYXJhbXMuc2tpcCArIGN1cnJlbnRQYXJhbXMubGltaXQ7XG5cbiAgICAgIC8vIExvYWQgYW5kIGFwcGVuZCBkYXRhXG4gICAgICBjb25zdCByZXNwb25zZSA9IHF1ZXVlXG4gICAgICAgID8gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldFF1ZXVlVGFza3NGb3JVc2VyKFxuICAgICAgICAgICAgY3VycmVudFBhcmFtcy51c2VyIHx8ICcnLFxuICAgICAgICAgICAgY3VycmVudFBhcmFtcy5za2lwLFxuICAgICAgICAgICAgY3VycmVudFBhcmFtcy5saW1pdCxcbiAgICAgICAgICAgIGN1cnJlbnRQYXJhbXMuc29ydFBhcmFtIHx8ICdDcmVhdGVkRGF0ZScsXG4gICAgICAgICAgICBjdXJyZW50UGFyYW1zLnNvcnRPcmRlclxuICAgICAgICAgIClcbiAgICAgICAgOiBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0VGFza3NGb3JVc2VyKFxuICAgICAgICAgICAgY3VycmVudFBhcmFtcy51c2VyIHx8ICcnLFxuICAgICAgICAgICAgY3VycmVudFBhcmFtcy5za2lwLFxuICAgICAgICAgICAgY3VycmVudFBhcmFtcy5saW1pdCxcbiAgICAgICAgICAgIGN1cnJlbnRQYXJhbXMuc29ydFBhcmFtIHx8ICdDcmVhdGVkRGF0ZScsXG4gICAgICAgICAgICBjdXJyZW50UGFyYW1zLnNvcnRPcmRlclxuICAgICAgICAgICk7XG5cbiAgICAgIHRoaXMuc3RhdGUuYXBwZW5kUmVxdWVzdHMocmVzcG9uc2UuUmVzdWx0KTtcbiAgICAgIHRoaXMuc3RhdGUudXBkYXRlUXVlcnlQYXJhbXMoe1xuICAgICAgICBza2lwOiBuZXdTa2lwLFxuICAgICAgICBsaW1pdDogY3VycmVudFBhcmFtcy5saW1pdCxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdMb2FkIG1vcmUgZmFpbGVkOicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
408
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktcXVldWUuZmFjYWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy9teS1xdWV1ZS9teS1xdWV1ZS5mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQVNqRCxNQUFNLE9BQU8sYUFBYTtJQUVkO0lBQ0E7SUFDQTtJQUhWLFlBQ1UsT0FBdUIsRUFDdkIsS0FBbUIsRUFDbkIsV0FBd0I7UUFGeEIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUVoQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNwQyxD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QW1CLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDMUMsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO2dCQUFTLENBQUM7WUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQzt3R0F4ZVUsYUFBYTs0R0FBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBsYXN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBY3RvciwgRm9ybSwgUXVlcnlQYXJhbXMsIFRhc2ssIFdvcmtmbG93QWN0aW9uIH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvc2VydmljZXMnO1xuaW1wb3J0IHsgTXlRdWV1ZVNlcnZpY2UgfSBmcm9tICcuL215LXF1ZXVlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTXlRdWV1ZVN0YXRlIH0gZnJvbSAnLi9teS1xdWV1ZS5zdGF0ZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNeVF1ZXVlRmFjYWRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBNeVF1ZXVlU2VydmljZSxcbiAgICBwcml2YXRlIHN0YXRlOiBNeVF1ZXVlU3RhdGUsXG4gICAgcHJpdmF0ZSB1dGlsU2VydmljZTogVXRpbFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5pc1VwZGF0aW5nJCgpLnN1YnNjcmliZSgobG9hZGluZykgPT4ge1xuICAgICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkobG9hZGluZyk7XG4gICAgfSk7XG4gIH1cblxuICBpc1VwZGF0aW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5pc1VwZGF0aW5nJCgpO1xuICB9XG5cbiAgZ2V0UmVxdWVzdHMkKCk6IE9ic2VydmFibGU8VGFza1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuZ2V0UmVxdWVzdHMkKCk7XG4gIH1cblxuICBnZXROZXh0QWN0aW9ucyQoKTogT2JzZXJ2YWJsZTxXb3JrZmxvd0FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuZ2V0TmV4dEFjdGlvbnMkKCk7XG4gIH1cblxuICBnZXROZXh0QWN0b3JzJCgpOiBPYnNlcnZhYmxlPEFjdG9yW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5nZXROZXh0QWN0b3JzJCgpO1xuICB9XG5cbiAgZ2V0VGFza0Zvcm1zJCgpOiBPYnNlcnZhYmxlPEZvcm1bXT4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLmdldFRhc2tGb3JtcyQoKTtcbiAgfVxuXG4gIGdldFF1ZXJ5UGFyYW1zJCgpOiBPYnNlcnZhYmxlPFF1ZXJ5UGFyYW1zPFRhc2s+PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuZ2V0UXVlcnlQYXJhbXMkKCk7XG4gIH1cblxuICBhZGROZXdSZXF1ZXN0KHRhc2s6IFRhc2spIHtcbiAgICB0aGlzLnN0YXRlLmFkZFJlcXVlc3QodGFzayk7XG4gIH1cblxuICBhc3luYyBsb2FkUmVxdWVzdHMocXVldWU6IGJvb2xlYW4gPSBmYWxzZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5zdGF0ZS5nZXRRdWVyeVBhcmFtc1ZhbHVlKCk7XG5cbiAgICAgIGNvbnN0IHsgU2tpcCwgUGFnZVNpemUsIFJlc3VsdCB9ID0gcXVldWVcbiAgICAgICAgPyBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0UXVldWVUYXNrc0ZvclVzZXIoXG4gICAgICAgICAgcGFyYW1zLnVzZXIgfHwgJycsXG4gICAgICAgICAgcGFyYW1zLnNraXAsXG4gICAgICAgICAgcGFyYW1zLmxpbWl0LFxuICAgICAgICAgIHBhcmFtcy5zb3J0UGFyYW0gfHwgJ0NyZWF0ZWREYXRlJyxcbiAgICAgICAgICBwYXJhbXMuc29ydE9yZGVyXG4gICAgICAgIClcbiAgICAgICAgOiBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0VGFza3NGb3JVc2VyKFxuICAgICAgICAgIHBhcmFtcy51c2VyIHx8ICcnLFxuICAgICAgICAgIHBhcmFtcy5za2lwLFxuICAgICAgICAgIHBhcmFtcy5saW1pdCxcbiAgICAgICAgICBwYXJhbXMuc29ydFBhcmFtIHx8ICdDcmVhdGVkRGF0ZScsXG4gICAgICAgICAgcGFyYW1zLnNvcnRPcmRlclxuICAgICAgICApO1xuXG4gICAgICBpZiAoUmVzdWx0KSB7XG4gICAgICAgIHRoaXMuc3RhdGUuc2V0UmVxdWVzdHMoUmVzdWx0KTtcbiAgICAgICAgdGhpcy5zdGF0ZS51cGRhdGVRdWVyeVBhcmFtcyh7IHNraXA6IFNraXAgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHJlcXVlc3RzOicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkUmVxdWVzdHNXaXRoUGFyYW0ocGFyYW06IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5zdGF0ZS5nZXRRdWVyeVBhcmFtc1ZhbHVlKCk7XG5cbiAgICAgIGNvbnN0IHJlcXVlc3RzID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldFRhc2tXaXRoUGFyYW0oXG4gICAgICAgIHBhcmFtLFxuICAgICAgICBwYXJhbXMuc2tpcCxcbiAgICAgICAgcGFyYW1zLmxpbWl0LFxuICAgICAgICBwYXJhbXMuc29ydFBhcmFtIHx8ICdDcmVhdGVkRGF0ZScsXG4gICAgICAgIHBhcmFtcy5zb3J0T3JkZXJcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuc3RhdGUuc2V0UmVxdWVzdHMocmVxdWVzdHMuUmVzdWx0KTtcbiAgICAgIHRoaXMuc3RhdGUudXBkYXRlUXVlcnlQYXJhbXMoeyBza2lwOiByZXF1ZXN0cy5Ta2lwIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCByZXF1ZXN0cyB3aXRoIHBhcmFtOicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVRdWVyeVBhcmFtcyhcbiAgICBwYXJhbXM6IFBhcnRpYWw8UXVlcnlQYXJhbXM8VGFzaz4+ICYgeyB1c2VyPzogc3RyaW5nIH1cbiAgKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZS51cGRhdGVRdWVyeVBhcmFtcyhwYXJhbXMpO1xuICAgIC8vIHRoaXMubG9hZFJlcXVlc3RzKCk7XG4gIH1cblxuICBhc3luYyBhZGRSZXF1ZXN0KHJlcXVlc3Q6IFBhcnRpYWw8VGFzaz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IG5ld1JlcXVlc3QgPSB7IC4uLnJlcXVlc3QgfSBhcyBUYXNrO1xuICAgICAgdGhpcy5zdGF0ZS5hZGRSZXF1ZXN0KG5ld1JlcXVlc3QpO1xuXG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2Uuc2F2ZVRhc2tzKFtuZXdSZXF1ZXN0XSk7XG4gICAgICBhd2FpdCB0aGlzLmxvYWRSZXF1ZXN0cygpOyAvLyBSZWxvYWQgdG8gZ2V0IHNlcnZlci1zaWRlIGNoYW5nZXNcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGFkZCByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRoaXMuc3RhdGUucmVtb3ZlUmVxdWVzdChyZXF1ZXN0LkNvZGUhKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyB1cGRhdGVSZXF1ZXN0KHJlcXVlc3Q6IFRhc2spOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGF3YWl0IHRoaXMuc2VydmljZS5zYXZlVGFza3MoW3JlcXVlc3RdKTtcbiAgICAgIHRoaXMuc3RhdGUudXBkYXRlUmVxdWVzdChyZXF1ZXN0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBkZWxldGVSZXF1ZXN0KHJlcXVlc3RJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMuc2VydmljZS5kZWxldGVUYXNrcyhbcmVxdWVzdElkXSkpO1xuICAgICAgdGhpcy5zdGF0ZS5yZW1vdmVSZXF1ZXN0KHJlcXVlc3RJZCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBkZWxldGUgcmVxdWVzdDonLCBlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgYXBwcm92ZVJlcXVlc3QocmVxdWVzdDogVGFzayk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnNlcnZpY2UucHJvY2Vzc1Rhc2tzKFtyZXF1ZXN0XSwgdHJ1ZSk7XG4gICAgICAvLyBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICBjb25zdCBkYXRhID0gKHJlc3BvbnNlIGFzIFRhc2tbXSk/LlswXTtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRoaXMuc3RhdGUudXBkYXRlUmVxdWVzdChkYXRhKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkTmV4dEFjdGlvbnModGFza0NvZGU6IHN0cmluZyk6IFByb21pc2U8V29ya2Zsb3dBY3Rpb25bXT4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5zdGF0ZS5nZXRRdWVyeVBhcmFtc1ZhbHVlKCk7XG5cbiAgICAgIGNvbnN0IHJlcXVlc3RzID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldE5leHRBY3Rpb25zKHRhc2tDb2RlKTtcblxuICAgICAgdGhpcy5zdGF0ZS5zZXROZXh0QWN0aW9ucyhyZXF1ZXN0cyk7XG5cbiAgICAgIC8vIGlmIChyZXF1ZXN0cy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyAgIC8vIHRoaXMuc2VsZWN0ZWRBY3Rpb24gPSBhY3Rpb25zWzBdO1xuICAgICAgLy8gICB0aGlzLmxvYWROZXh0QWN0b3JzKHRhc2tDb2RlLCByZXF1ZXN0c1swXS5Ub1N0YWdlKTtcbiAgICAgIC8vIH1cblxuICAgICAgcmV0dXJuIHJlcXVlc3RzO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCByZXF1ZXN0cyB3aXRoIHBhcmFtOicsIGVycm9yKTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZFByZXZpb3VzQWN0aW9ucyh0YXNrQ29kZTogc3RyaW5nKTogUHJvbWlzZTxXb3JrZmxvd0FjdGlvbltdPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG5cbiAgICAgIGNvbnN0IHJlcXVlc3RzID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldFByZXZpb3VzQWN0aW9ucyh0YXNrQ29kZSk7XG5cbiAgICAgIHRoaXMuc3RhdGUuc2V0TmV4dEFjdGlvbnMocmVxdWVzdHMpO1xuXG4gICAgICByZXR1cm4gcmVxdWVzdHM7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHJlcXVlc3RzIHdpdGggcGFyYW06JywgZXJyb3IpO1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkQWxsUHJldmlvdXNBY3Rpb25zKHRhc2tDb2RlOiBzdHJpbmcpOiBQcm9taXNlPFdvcmtmbG93QWN0aW9uW10+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcblxuICAgICAgY29uc3QgcmVxdWVzdHMgPSBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0QWxsUHJldmlvdXNBY3Rpb25zKHRhc2tDb2RlKTtcblxuICAgICAgdGhpcy5zdGF0ZS5zZXROZXh0QWN0aW9ucyhyZXF1ZXN0cyk7XG5cbiAgICAgIHJldHVybiByZXF1ZXN0cztcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGxvYWQgcmVxdWVzdHMgd2l0aCBwYXJhbTonLCBlcnJvcik7XG4gICAgICByZXR1cm4gW107XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGxvYWROZXh0QWN0b3JzKFxuICAgIHRhc2tDb2RlOiBzdHJpbmcsXG4gICAgZm9yQ3VycmVudFN0YWdlOiBib29sZWFuLFxuICAgIHN0YWdlQ29kZT86IHN0cmluZyxcbiAgKTogUHJvbWlzZTxBY3RvcltdPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLnN0YXRlLmdldFF1ZXJ5UGFyYW1zVmFsdWUoKTtcblxuICAgICAgY29uc3QgcmVxdWVzdHMgPSBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0TmV4dEFjdG9ycyhcbiAgICAgICAgdGFza0NvZGUsXG4gICAgICAgIGZvckN1cnJlbnRTdGFnZSxcbiAgICAgICAgc3RhZ2VDb2RlLFxuICAgICAgKTtcblxuICAgICAgdGhpcy5zdGF0ZS5zZXROZXh0QWN0b3JzKHJlcXVlc3RzKTtcblxuICAgICAgcmV0dXJuIHJlcXVlc3RzO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCByZXF1ZXN0cyB3aXRoIHBhcmFtOicsIGVycm9yKTtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZFRhc2tGb3Jtcyh0YXNrQ29kZTogc3RyaW5nKTogUHJvbWlzZTxGb3JtW10+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnNvbGUubG9nKCdMb2FkaW5nIHRhc2sgZm9ybScpO1xuICAgICAgY29uc3QgcmVxdWVzdHMgPSBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0Q3VycmVudEZvcm1zRm9yVGFzayh0YXNrQ29kZSk7XG4gICAgICBjb25zb2xlLmxvZygnRk9STVMnLCByZXF1ZXN0cyk7XG4gICAgICB0aGlzLnN0YXRlLnNldFRhc2tGb3JtcyhyZXF1ZXN0cyk7XG5cbiAgICAgIHJldHVybiByZXF1ZXN0cztcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGxvYWQgcmVxdWVzdHMgd2l0aCBwYXJhbTonLCBlcnJvcik7XG4gICAgICByZXR1cm4gW107XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHBhc3NPbihcbiAgICBhY3Rpb246IFdvcmtmbG93QWN0aW9uLFxuICAgIHJlcXVlc3Q6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIHJlY2lwaWVudDogc3RyaW5nIHwgbnVsbCxcbiAgICBjdXJyZW50VXNlcjogc3RyaW5nXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnNlcnZpY2UucGFzc09uKFxuICAgICAgICBhY3Rpb24uRnJvbVN0YWdlLFxuICAgICAgICBhY3Rpb24uVG9TdGFnZSxcbiAgICAgICAge1xuICAgICAgICAgIC4uLnJlcXVlc3QsXG4gICAgICAgICAgRnVsbFN0YWdlczogW10sXG4gICAgICAgICAgQ3VycmVudEFjdG9yczogcmVxdWVzdC5DdXJyZW50QWN0b3JzLm1hcCgoYykgPT4gKHtcbiAgICAgICAgICAgIC4uLmMsXG4gICAgICAgICAgICBBY3RvclRhZ3M6IFtdLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfSxcbiAgICAgICAgY29tbWVudCxcbiAgICAgICAgcmVjaXBpZW50ID8/IHVuZGVmaW5lZFxuICAgICAgKTtcbiAgICAgIC8vIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgIGNvbnN0IGRhdGEgPSByZXNwb25zZSBhcyBUYXNrO1xuICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgaWYgKGRhdGEuQ3VycmVudEFjdG9ycy5tYXAoKGMpID0+IGMuSWRlbnRpZmllcikuaW5jbHVkZXMoY3VycmVudFVzZXIpKSB7XG4gICAgICAgICAgdGhpcy5zdGF0ZS51cGRhdGVSZXF1ZXN0KGRhdGEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc3RhdGUucmVtb3ZlUmVxdWVzdChyZXF1ZXN0LkNvZGUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2hvd1N1Y2Nlc3MoJ1Rhc2sgcGFzc2VkIG9uIHN1Y2Nlc3NmdWxseScpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gdXBkYXRlIHJlcXVlc3Q6JywgZXJyb3IpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBwYXNzQmFjayhcbiAgICBhY3Rpb246IFdvcmtmbG93QWN0aW9uLFxuICAgIHJlcXVlc3Q6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIHJlY2lwaWVudDogc3RyaW5nIHwgbnVsbFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5zZXJ2aWNlLnBhc3NPbihcbiAgICAgICAgLy8gQWx0ZXJuYXRlIGZyb20gYW5kIHRvIHN0YWdlIG8uXG4gICAgICAgIGFjdGlvbi5Ub1N0YWdlLFxuICAgICAgICBhY3Rpb24uRnJvbVN0YWdlLFxuICAgICAgICB7XG4gICAgICAgICAgLi4ucmVxdWVzdCxcbiAgICAgICAgICBGdWxsU3RhZ2VzOiBbXSxcbiAgICAgICAgICBDdXJyZW50QWN0b3JzOiByZXF1ZXN0LkN1cnJlbnRBY3RvcnMubWFwKChjKSA9PiAoe1xuICAgICAgICAgICAgLi4uYyxcbiAgICAgICAgICAgIEFjdG9yVGFnczogW10sXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9LFxuICAgICAgICBjb21tZW50LFxuICAgICAgICByZWNpcGllbnQgPz8gdW5kZWZpbmVkXG4gICAgICApO1xuICAgICAgLy8gY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgY29uc3QgZGF0YSA9IHJlc3BvbnNlIGFzIFRhc2s7XG4gICAgICBpZiAoZGF0YSkge1xuICAgICAgICB0aGlzLnN0YXRlLnVwZGF0ZVJlcXVlc3QoZGF0YSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byB1cGRhdGUgcmVxdWVzdDonLCBlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2tpcFRvKFxuICAgIGZyb206IFdvcmtmbG93QWN0aW9uWydGcm9tU3RhZ2UnXSxcbiAgICB0bzogV29ya2Zsb3dBY3Rpb25bJ1RvU3RhZ2UnXSxcbiAgICByZXF1ZXN0OiBUYXNrLFxuICAgIGNvbW1lbnQ6IHN0cmluZyxcbiAgICByZWNpcGllbnQ6IHN0cmluZyB8IG51bGxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuc2VydmljZS5za2lwVG8oXG4gICAgICAgIGZyb20sXG4gICAgICAgIHRvLFxuICAgICAgICB7XG4gICAgICAgICAgLi4ucmVxdWVzdCxcbiAgICAgICAgICBGdWxsU3RhZ2VzOiBbXSxcbiAgICAgICAgICBDdXJyZW50QWN0b3JzOiByZXF1ZXN0LkN1cnJlbnRBY3RvcnMubWFwKChjKSA9PiAoe1xuICAgICAgICAgICAgLi4uYyxcbiAgICAgICAgICAgIEFjdG9yVGFnczogW10sXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9LFxuICAgICAgICBjb21tZW50LFxuICAgICAgICByZWNpcGllbnQgPz8gdW5kZWZpbmVkXG4gICAgICApO1xuICAgICAgLy8gY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgY29uc3QgZGF0YSA9IHJlc3BvbnNlIGFzIFRhc2s7XG4gICAgICBpZiAoZGF0YSkge1xuICAgICAgICB0aGlzLnN0YXRlLnVwZGF0ZVJlcXVlc3QoZGF0YSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byB1cGRhdGUgcmVxdWVzdDonLCBlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcGlja1Rhc2soXG4gICAgYWN0aW9uOiBXb3JrZmxvd0FjdGlvbixcbiAgICByZXF1ZXN0OiBUYXNrLFxuICAgIGNvbW1lbnQ6IHN0cmluZyxcbiAgICByZWNpcGllbnQ6IHN0cmluZyB8IG51bGxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuc2VydmljZS5wYXNzT24oXG4gICAgICAgIGFjdGlvbi5Gcm9tU3RhZ2UsXG4gICAgICAgIGFjdGlvbi5Ub1N0YWdlLFxuICAgICAgICB7XG4gICAgICAgICAgLi4ucmVxdWVzdCxcbiAgICAgICAgICBGdWxsU3RhZ2VzOiBbXSxcbiAgICAgICAgICBDdXJyZW50QWN0b3JzOiByZXF1ZXN0LkN1cnJlbnRBY3RvcnMubWFwKChjKSA9PiAoe1xuICAgICAgICAgICAgLi4uYyxcbiAgICAgICAgICAgIEFjdG9yVGFnczogW10sXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9LFxuICAgICAgICBjb21tZW50LFxuICAgICAgICByZWNpcGllbnQgPz8gdW5kZWZpbmVkXG4gICAgICApO1xuICAgICAgLy8gY29uc29sZS5sb2cocmVzcG9uc2UpO1xuICAgICAgY29uc3QgZGF0YSA9IHJlc3BvbnNlIGFzIFRhc2s7XG4gICAgICBpZiAoZGF0YSkge1xuICAgICAgICB0aGlzLnN0YXRlLnVwZGF0ZVJlcXVlc3QoZGF0YSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byB1cGRhdGUgcmVxdWVzdDonLCBlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcmVBc3NpZ24ocmVxdWVzdDogVGFzaywgY29tbWVudDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuc2VydmljZS5yZUFzc2lnbihcbiAgICAgICAge1xuICAgICAgICAgIC4uLnJlcXVlc3QsXG4gICAgICAgICAgRnVsbFN0YWdlczogW10sXG4gICAgICAgICAgQ3VycmVudEFjdG9yczogcmVxdWVzdC5DdXJyZW50QWN0b3JzLm1hcCgoYykgPT4gKHtcbiAgICAgICAgICAgIC4uLmMsXG4gICAgICAgICAgICBBY3RvclRhZ3M6IFtdLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfSxcbiAgICAgICAgY29tbWVudFxuICAgICAgKTtcbiAgICAgIC8vIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgIGNvbnN0IGRhdGEgPSByZXNwb25zZSBhcyBUYXNrO1xuICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgdGhpcy5zdGF0ZS51cGRhdGVSZXF1ZXN0KGRhdGEpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gdXBkYXRlIHJlcXVlc3Q6JywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGZpbGxGb3JtKGZvcm06IEZvcm0sIHRhc2tDb2RlOiBzdHJpbmcpOiBQcm9taXNlPEZvcm0+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IGZpbGxlZEZvcm0gPSBhd2FpdCB0aGlzLnNlcnZpY2UuZmlsbEZvcm0oZm9ybSwgdGFza0NvZGUpO1xuICAgICAgcmV0dXJuIGZpbGxlZEZvcm07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBmaWxsIGZvcm06JywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIExvYWQgbW9yZSBoYW5kbGluZ1xuICBhc3luYyBsb2FkTW9yZShxdWV1ZTogYm9vbGVhbiA9IGZhbHNlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBjb25zdCBjdXJyZW50UGFyYW1zID0gdGhpcy5zdGF0ZS5nZXRRdWVyeVBhcmFtc1ZhbHVlKCk7XG4gICAgICAvLyBjb25zdCBzZWFyY2hUZXJtID0gdGhpcy5zdGF0ZS5nZXRTZWFyY2hUZXJtVmFsdWUoKTtcbiAgICAgIGNvbnN0IHNlYXJjaFRlcm0gPSBmYWxzZTtcblxuICAgICAgLy8gVXBkYXRlIHNraXAgdmFsdWVcbiAgICAgIGNvbnN0IG5ld1NraXAgPSBjdXJyZW50UGFyYW1zLnNraXAgKyBjdXJyZW50UGFyYW1zLmxpbWl0O1xuXG4gICAgICAvLyBMb2FkIGFuZCBhcHBlbmQgZGF0YVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBxdWV1ZVxuICAgICAgICA/IGF3YWl0IHRoaXMuc2VydmljZS5nZXRRdWV1ZVRhc2tzRm9yVXNlcihcbiAgICAgICAgICBjdXJyZW50UGFyYW1zLnVzZXIgfHwgJycsXG4gICAgICAgICAgY3VycmVudFBhcmFtcy5za2lwLFxuICAgICAgICAgIGN1cnJlbnRQYXJhbXMubGltaXQsXG4gICAgICAgICAgY3VycmVudFBhcmFtcy5zb3J0UGFyYW0gfHwgJ0NyZWF0ZWREYXRlJyxcbiAgICAgICAgICBjdXJyZW50UGFyYW1zLnNvcnRPcmRlclxuICAgICAgICApXG4gICAgICAgIDogYXdhaXQgdGhpcy5zZXJ2aWNlLmdldFRhc2tzRm9yVXNlcihcbiAgICAgICAgICBjdXJyZW50UGFyYW1zLnVzZXIgfHwgJycsXG4gICAgICAgICAgY3VycmVudFBhcmFtcy5za2lwLFxuICAgICAgICAgIGN1cnJlbnRQYXJhbXMubGltaXQsXG4gICAgICAgICAgY3VycmVudFBhcmFtcy5zb3J0UGFyYW0gfHwgJ0NyZWF0ZWREYXRlJyxcbiAgICAgICAgICBjdXJyZW50UGFyYW1zLnNvcnRPcmRlclxuICAgICAgICApO1xuXG4gICAgICB0aGlzLnN0YXRlLmFwcGVuZFJlcXVlc3RzKHJlc3BvbnNlLlJlc3VsdCk7XG4gICAgICB0aGlzLnN0YXRlLnVwZGF0ZVF1ZXJ5UGFyYW1zKHtcbiAgICAgICAgc2tpcDogbmV3U2tpcCxcbiAgICAgICAgbGltaXQ6IGN1cnJlbnRQYXJhbXMubGltaXQsXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignTG9hZCBtb3JlIGZhaWxlZDonLCBlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5zdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -84,10 +84,8 @@ export class MyQueueService {
84
84
  const url = `${this.BASE_URL}/GetAllPreviousActions/${taskCode}`;
85
85
  return this.httpService.get(url);
86
86
  }
87
- getNextActors(taskCode, stageCode, forCurrentStage) {
88
- const url = `${this.BASE_URL}/GetNextActors/${taskCode}${stageCode
89
- ? '/' + stageCode + (forCurrentStage ? '/' + forCurrentStage : '')
90
- : ''}`;
87
+ getNextActors(taskCode, forCurrentStage, stageCode) {
88
+ const url = `${this.BASE_URL}/GetNextActors/${taskCode}${'/' + forCurrentStage + (stageCode ? '/' + stageCode : '')}`;
91
89
  return this.httpService.get(url);
92
90
  }
93
91
  passOn(fromStage, toStage, task, comment, recipient) {
@@ -141,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
141
139
  providedIn: 'root',
142
140
  }]
143
141
  }], ctorParameters: () => [{ type: i1.HttpWebRequestService }] });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktcXVldWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL2NvbXBvbmVudHMvbXktcXVldWUvbXktcXVldWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRM0MsTUFBTSxPQUFPLGNBQWM7SUFHTDtJQUZILFFBQVEsR0FBRyxNQUFNLENBQUM7SUFFbkMsWUFBb0IsV0FBa0M7UUFBbEMsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO0lBQUksQ0FBQztJQUUzRDs7Ozs7OztPQU9HO0lBQ0gsUUFBUSxDQUNOLElBQVksRUFDWixLQUFhLEVBQ2IsU0FBaUIsRUFDakIsU0FBaUI7UUFFakIsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxhQUFhLElBQUksSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ25GLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUF5QixDQUFDO0lBQzNELENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILGdCQUFnQixDQUNkLEtBQWEsRUFDYixJQUFZLEVBQ1osS0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFNBQWlCO1FBRWpCLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEscUJBQXFCLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLFNBQVMsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNwRyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBeUIsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxRQUFnQjtRQUN4QixNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLFlB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TSxDQUNKLFNBQWlCLEVBQ2pCLE9BQWUsRUFDZixJQUFVLEVBQ1YsT0FBZSxFQUNmLFNBQWtCLEVBQ2xCLGFBQXNCLEtBQUs7UUFFM0IsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxXQUFXLFNBQVMsSUFBSSxPQUFPLElBQUksT0FBTyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFDckcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsUUFBZ0I7UUFDckMsTUFBTSxHQUFHLEdBQUcsK0JBQStCLFFBQVEsRUFBRSxDQUFDO1FBQ3RELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFvQixDQUFDO0lBQ3RELENBQUM7SUFFRCxRQUFRLENBQUMsSUFBVSxFQUFFLFFBQWdCO1FBQ25DLE1BQU0sR0FBRyxHQUFHLGlCQUFpQixRQUFRLEVBQUUsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO3dHQWpPVSxjQUFjOzRHQUFkLGNBQWMsY0FGYixNQUFNOzs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFjdG9yLCBGb3JtLCBQYWdlZCwgVGFzaywgV29ya2Zsb3dBY3Rpb24gfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgSHR0cFdlYlJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvc2VydmljZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTXlRdWV1ZVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IEJBU0VfVVJMID0gJ1Rhc2snO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBXZWJSZXF1ZXN0U2VydmljZSkgeyB9XG5cbiAgLyoqXG4gICAqIEdldCB0YXNrcyB3aXRoIHBhZ2luYXRpb24gYW5kIHNvcnRpbmdcbiAgICogQHBhcmFtIHNraXAgTnVtYmVyIG9mIHJlY29yZHMgdG8gc2tpcFxuICAgKiBAcGFyYW0gbGltaXQgTnVtYmVyIG9mIHJlY29yZHMgdG8gdGFrZVxuICAgKiBAcGFyYW0gc29ydFBhcmFtIFNvcnQgcGFyYW1ldGVyXG4gICAqIEBwYXJhbSBzb3J0T3JkZXIgU29ydCBvcmRlciAoJ2FzYycgb3IgJ2Rlc2MnKVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbnRhaW5pbmcgdGhlIHRhc2tzXG4gICAqL1xuICBnZXRUYXNrcyhcbiAgICBza2lwOiBudW1iZXIsXG4gICAgbGltaXQ6IG51bWJlcixcbiAgICBzb3J0UGFyYW06IHN0cmluZyxcbiAgICBzb3J0T3JkZXI6IHN0cmluZ1xuICApOiBQcm9taXNlPFBhZ2VkPFRhc2s+PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vR2V0VGFza3MvJHtza2lwfS8ke2xpbWl0fS8ke3NvcnRQYXJhbX0vJHtzb3J0T3JkZXJ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPFBhZ2VkPFRhc2s+PjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGFza3Mgd2l0aCBhZGRpdGlvbmFsIHBhcmFtZXRlciwgcGFnaW5hdGlvbiBhbmQgc29ydGluZ1xuICAgKiBAcGFyYW0gcGFyYW0gU2VhcmNoIHBhcmFtZXRlclxuICAgKiBAcGFyYW0gc2tpcCBOdW1iZXIgb2YgcmVjb3JkcyB0byBza2lwXG4gICAqIEBwYXJhbSBsaW1pdCBOdW1iZXIgb2YgcmVjb3JkcyB0byB0YWtlXG4gICAqIEBwYXJhbSBzb3J0UGFyYW0gU29ydCBwYXJhbWV0ZXJcbiAgICogQHBhcmFtIHNvcnRPcmRlciBTb3J0IG9yZGVyICgnYXNjJyBvciAnZGVzYycpXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29udGFpbmluZyB0aGUgZmlsdGVyZWQgdGFza3NcbiAgICovXG4gIGdldFRhc2tXaXRoUGFyYW0oXG4gICAgcGFyYW06IHN0cmluZyxcbiAgICBza2lwOiBudW1iZXIsXG4gICAgbGltaXQ6IG51bWJlcixcbiAgICBzb3J0UGFyYW06IHN0cmluZyxcbiAgICBzb3J0T3JkZXI6IHN0cmluZ1xuICApOiBQcm9taXNlPFBhZ2VkPFRhc2s+PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vR2V0VGFza1dpdGhQYXJhbS8ke3BhcmFtfS8ke3NraXB9LyR7bGltaXR9LyR7c29ydFBhcmFtfS8ke3NvcnRPcmRlcn1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8UGFnZWQ8VGFzaz4+O1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmUgbXVsdGlwbGUgdGFza3NcbiAgICogQHBhcmFtIHJlcXVlc3RzIEFycmF5IG9mIHRhc2tzIHRvIHNhdmVcbiAgICogQHJldHVybnMgUHJvbWlzZSBjb250YWluaW5nIHRoZSBzYXZlIG9wZXJhdGlvbiByZXN1bHRcbiAgICovXG4gIHNhdmVUYXNrcyhyZXF1ZXN0czogVGFza1tdKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9TYXZlVGFza3NgO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QodXJsLCByZXF1ZXN0cyk7XG4gIH1cblxuICAvKipcbiAgICogQXBwcm92ZSBvciByZWplY3QgbXVsdGlwbGUgdGFza3NcbiAgICogQHBhcmFtIHJlcXVlc3RzIEFycmF5IG9mIHRhc2tzIHRvIHNhdmVcbiAgICogQHBhcmFtIGlzQXBwcm92YWwgVHJ1ZSBmb3IgYXBwcm92YWwsIGZhbHNlIGZvciBkZWNsaW5lXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29udGFpbmluZyB0aGUgc2F2ZSBvcGVyYXRpb24gcmVzdWx0XG4gICAqL1xuICBwcm9jZXNzVGFza3MocmVxdWVzdHM6IFRhc2tbXSwgaXNBcHByb3ZhbDogYm9vbGVhbik6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vVGFza0FjdGlvbi8ke2lzQXBwcm92YWx9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgcmVxdWVzdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBtdWx0aXBsZSB0YXNrc1xuICAgKiBAcGFyYW0gcmVxdWVzdElkcyBBcnJheSBvZiByZXF1ZXN0IElEcyB0byBkZWxldGVcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBjb250YWluaW5nIHRoZSBkZWxldGUgb3BlcmF0aW9uIHJlc3VsdFxuICAgKi9cbiAgZGVsZXRlVGFza3MocmVxdWVzdElkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L0RlbGV0ZVRhc2tzYDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5kZWxldGUoYCR7dXJsfT9kYXRhPSR7cmVxdWVzdElkcy5qb2luKCcsJyl9YCk7XG4gIH1cblxuICBnZXRUYXNrc0ZvclVzZXIoXG4gICAgdXNlcjogc3RyaW5nLFxuICAgIHNraXA6IG51bWJlcixcbiAgICBsaW1pdDogbnVtYmVyLFxuICAgIHNvcnRQYXJhbTogc3RyaW5nLFxuICAgIHNvcnRPcmRlcjogc3RyaW5nXG4gICk6IFByb21pc2U8UGFnZWQ8VGFzaz4+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9HZXRUYXNrc0ZvclVzZXIvJHtza2lwfS8ke2xpbWl0fS8ke3NvcnRQYXJhbX0vJHtzb3J0T3JkZXJ9LyR7dXNlcn1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8UGFnZWQ8VGFzaz4+O1xuICB9XG5cbiAgZ2V0UXVldWVUYXNrc0ZvclVzZXIoXG4gICAgdXNlcjogc3RyaW5nLFxuICAgIHNraXA6IG51bWJlcixcbiAgICBsaW1pdDogbnVtYmVyLFxuICAgIHNvcnRQYXJhbTogc3RyaW5nLFxuICAgIHNvcnRPcmRlcjogc3RyaW5nXG4gICk6IFByb21pc2U8UGFnZWQ8VGFzaz4+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9HZXRRdWV1ZVRhc2tzRm9yVXNlci8ke3NraXB9LyR7bGltaXR9LyR7c29ydFBhcmFtfS8ke3NvcnRPcmRlcn0vJHt1c2VyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxQYWdlZDxUYXNrPj47XG4gIH1cblxuICBnZXRQb3NzaWJsZVRhc2tzRm9yVXNlcihcbiAgICB1c2VyOiBzdHJpbmcsXG4gICAgc2tpcDogbnVtYmVyLFxuICAgIGxpbWl0OiBudW1iZXIsXG4gICAgc29ydFBhcmFtOiBzdHJpbmcsXG4gICAgc29ydE9yZGVyOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxQYWdlZDxUYXNrPj4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L0dldFBvc3NpYmxlVGFza3NGb3JVc2VyLyR7c2tpcH0vJHtsaW1pdH0vJHtzb3J0UGFyYW19LyR7c29ydE9yZGVyfS8ke3VzZXJ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPFBhZ2VkPFRhc2s+PjtcbiAgfVxuXG4gIGdldE5leHRBY3Rpb25zKHRhc2tDb2RlOiBzdHJpbmcpOiBQcm9taXNlPFdvcmtmbG93QWN0aW9uW10+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9HZXROZXh0QWN0aW9ucy8ke3Rhc2tDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxXb3JrZmxvd0FjdGlvbltdPjtcbiAgfVxuXG4gIGdldFByZXZpb3VzQWN0aW9ucyh0YXNrQ29kZTogc3RyaW5nKTogUHJvbWlzZTxXb3JrZmxvd0FjdGlvbltdPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vR2V0UHJldmlvdXNBY3Rpb25zLyR7dGFza0NvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPFdvcmtmbG93QWN0aW9uW10+O1xuICB9XG5cbiAgZ2V0QWxsUHJldmlvdXNBY3Rpb25zKHRhc2tDb2RlOiBzdHJpbmcpOiBQcm9taXNlPFdvcmtmbG93QWN0aW9uW10+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9HZXRBbGxQcmV2aW91c0FjdGlvbnMvJHt0YXNrQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8V29ya2Zsb3dBY3Rpb25bXT47XG4gIH1cblxuICBnZXROZXh0QWN0b3JzKFxuICAgIHRhc2tDb2RlOiBzdHJpbmcsXG4gICAgc3RhZ2VDb2RlPzogc3RyaW5nLFxuICAgIGZvckN1cnJlbnRTdGFnZT86IGJvb2xlYW5cbiAgKTogUHJvbWlzZTxBY3RvcltdPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vR2V0TmV4dEFjdG9ycy8ke3Rhc2tDb2RlfSR7c3RhZ2VDb2RlXG4gICAgICAgID8gJy8nICsgc3RhZ2VDb2RlICsgKGZvckN1cnJlbnRTdGFnZSA/ICcvJyArIGZvckN1cnJlbnRTdGFnZSA6ICcnKVxuICAgICAgICA6ICcnXG4gICAgICB9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPEFjdG9yW10+O1xuICB9XG5cbiAgcGFzc09uKFxuICAgIGZyb21TdGFnZTogc3RyaW5nLFxuICAgIHRvU3RhZ2U6IHN0cmluZyxcbiAgICB0YXNrOiBUYXNrLFxuICAgIGNvbW1lbnQ6IHN0cmluZyxcbiAgICByZWNpcGllbnQ/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxUYXNrPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vUGFzc09uLyR7ZnJvbVN0YWdlfS8ke3RvU3RhZ2V9LyR7Y29tbWVudH0ke3JlY2lwaWVudCA/ICcvJyArIHJlY2lwaWVudCA6ICcnXG4gICAgICB9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgdGFzayk7XG4gIH1cblxuICBwYXNzQmFjayhcbiAgICBmcm9tU3RhZ2U6IHN0cmluZyxcbiAgICB0b1N0YWdlOiBzdHJpbmcsXG4gICAgdGFzazogVGFzayxcbiAgICBjb21tZW50OiBzdHJpbmcsXG4gICAgcmVjaXBpZW50Pzogc3RyaW5nXG4gICk6IFByb21pc2U8VGFzaz4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L1Bhc3NCYWNrLyR7ZnJvbVN0YWdlfS8ke3RvU3RhZ2V9LyR7Y29tbWVudH0ke3JlY2lwaWVudCA/ICcvJyArIHJlY2lwaWVudCA6ICcnXG4gICAgICB9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgdGFzayk7XG4gIH1cblxuICBwaWNrVGFzayhcbiAgICB0YXJnZXRTdGFnZTogc3RyaW5nLFxuICAgIHRhc2s6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIHJlY2lwaWVudD86IHN0cmluZ1xuICApOiBQcm9taXNlPFRhc2s+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9QaWNrVGFzay8ke2NvbW1lbnR9LyR7dGFyZ2V0U3RhZ2V9JHtyZWNpcGllbnQgPyAnLycgKyByZWNpcGllbnQgOiAnJ1xuICAgICAgfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHRhc2spO1xuICB9XG5cbiAgdW5QaWNrVGFzayhcbiAgICB0YXJnZXRTdGFnZTogc3RyaW5nLFxuICAgIHRhc2s6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIHJlY2lwaWVudD86IHN0cmluZ1xuICApOiBQcm9taXNlPFRhc2s+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9VblBpY2tUYXNrLyR7Y29tbWVudH0vJHt0YXJnZXRTdGFnZX0ke3JlY2lwaWVudCA/ICcvJyArIHJlY2lwaWVudCA6ICcnXG4gICAgICB9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgdGFzayk7XG4gIH1cblxuICBmb2xsb3dUYXNrKGFjdG9ySWQ6IHN0cmluZywgdGFzazogVGFzayk6IFByb21pc2U8VGFzaz4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L0ZvbGxvd1Rhc2svJHthY3RvcklkfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHRhc2spO1xuICB9XG5cbiAgdW5Gb2xsb3dUYXNrKFxuICAgIHRhc2tJZDogc3RyaW5nLFxuICAgIGFjdG9ySWQ6IHN0cmluZ1xuICAgIC8vIHRhc2s6IFRhc2ssXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L1VuRm9sbG93VGFzay8ke3Rhc2tJZH0vJHthY3RvcklkfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHt9KTtcbiAgfVxuXG4gIHJlQXNzaWduKFxuICAgIHRhc2s6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIGZyb21Vc2VyPzogc3RyaW5nLFxuICAgIHRvVXNlcj86IHN0cmluZ1xuICApOiBQcm9taXNlPFRhc2s+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9SZWFzc2lnbi8ke2NvbW1lbnR9LyR7dG9Vc2VyfS8ke2Zyb21Vc2VyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHRhc2spO1xuICB9XG5cbiAgc2tpcFRvKFxuICAgIGZyb21TdGFnZTogc3RyaW5nLFxuICAgIHRvU3RhZ2U6IHN0cmluZyxcbiAgICB0YXNrOiBUYXNrLFxuICAgIGNvbW1lbnQ6IHN0cmluZyxcbiAgICByZWNpcGllbnQ/OiBzdHJpbmcsXG4gICAgaXNCYWNrd2FyZDogYm9vbGVhbiA9IGZhbHNlXG4gICk6IFByb21pc2U8VGFzaz4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L1NraXBUby8ke2Zyb21TdGFnZX0vJHt0b1N0YWdlfS8ke2NvbW1lbnR9JHtyZWNpcGllbnQgPyAnLycgKyByZWNpcGllbnQgOiAnJ1xuICAgICAgfS8ke2lzQmFja3dhcmR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgdGFzayk7XG4gIH1cblxuICBnZXRDdXJyZW50Rm9ybXNGb3JUYXNrKHRhc2tDb2RlOiBzdHJpbmcpOiBQcm9taXNlPEZvcm1bXT4ge1xuICAgIGNvbnN0IHVybCA9IGBUYXNrL0dldEN1cnJlbnRGb3Jtc0ZvclRhc2svJHt0YXNrQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8Rm9ybVtdPjtcbiAgfVxuXG4gIGZpbGxGb3JtKGZvcm06IEZvcm0sIHRhc2tDb2RlOiBzdHJpbmcpOiBQcm9taXNlPEZvcm0+IHtcbiAgICBjb25zdCB1cmwgPSBgRm9ybS9GaWxsRm9ybS8ke3Rhc2tDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIGZvcm0pO1xuICB9XG59XG4iXX0=
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktcXVldWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL2NvbXBvbmVudHMvbXktcXVldWUvbXktcXVldWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRM0MsTUFBTSxPQUFPLGNBQWM7SUFHTDtJQUZILFFBQVEsR0FBRyxNQUFNLENBQUM7SUFFbkMsWUFBb0IsV0FBa0M7UUFBbEMsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO0lBQUksQ0FBQztJQUUzRDs7Ozs7OztPQU9HO0lBQ0gsUUFBUSxDQUNOLElBQVksRUFDWixLQUFhLEVBQ2IsU0FBaUIsRUFDakIsU0FBaUI7UUFFakIsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxhQUFhLElBQUksSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ25GLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUF5QixDQUFDO0lBQzNELENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILGdCQUFnQixDQUNkLEtBQWEsRUFDYixJQUFZLEVBQ1osS0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFNBQWlCO1FBRWpCLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEscUJBQXFCLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLFNBQVMsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNwRyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBeUIsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxRQUFnQjtRQUN4QixNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLFlB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QWUsRUFDZixTQUFrQixFQUNsQixhQUFzQixLQUFLO1FBRTNCLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsV0FBVyxTQUFTLElBQUksT0FBTyxJQUFJLE9BQU8sR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQ3JHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELHNCQUFzQixDQUFDLFFBQWdCO1FBQ3JDLE1BQU0sR0FBRyxHQUFHLCtCQUErQixRQUFRLEVBQUUsQ0FBQztRQUN0RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBb0IsQ0FBQztJQUN0RCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVUsRUFBRSxRQUFnQjtRQUNuQyxNQUFNLEdBQUcsR0FBRyxpQkFBaUIsUUFBUSxFQUFFLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQzt3R0E5TlUsY0FBYzs0R0FBZCxjQUFjLGNBRmIsTUFBTTs7NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBY3RvciwgRm9ybSwgUGFnZWQsIFRhc2ssIFdvcmtmbG93QWN0aW9uIH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IEh0dHBXZWJSZXF1ZXN0U2VydmljZSB9IGZyb20gJ3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL3NlcnZpY2VzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE15UXVldWVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBCQVNFX1VSTCA9ICdUYXNrJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwV2ViUmVxdWVzdFNlcnZpY2UpIHsgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGFza3Mgd2l0aCBwYWdpbmF0aW9uIGFuZCBzb3J0aW5nXG4gICAqIEBwYXJhbSBza2lwIE51bWJlciBvZiByZWNvcmRzIHRvIHNraXBcbiAgICogQHBhcmFtIGxpbWl0IE51bWJlciBvZiByZWNvcmRzIHRvIHRha2VcbiAgICogQHBhcmFtIHNvcnRQYXJhbSBTb3J0IHBhcmFtZXRlclxuICAgKiBAcGFyYW0gc29ydE9yZGVyIFNvcnQgb3JkZXIgKCdhc2MnIG9yICdkZXNjJylcbiAgICogQHJldHVybnMgUHJvbWlzZSBjb250YWluaW5nIHRoZSB0YXNrc1xuICAgKi9cbiAgZ2V0VGFza3MoXG4gICAgc2tpcDogbnVtYmVyLFxuICAgIGxpbWl0OiBudW1iZXIsXG4gICAgc29ydFBhcmFtOiBzdHJpbmcsXG4gICAgc29ydE9yZGVyOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxQYWdlZDxUYXNrPj4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L0dldFRhc2tzLyR7c2tpcH0vJHtsaW1pdH0vJHtzb3J0UGFyYW19LyR7c29ydE9yZGVyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxQYWdlZDxUYXNrPj47XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRhc2tzIHdpdGggYWRkaXRpb25hbCBwYXJhbWV0ZXIsIHBhZ2luYXRpb24gYW5kIHNvcnRpbmdcbiAgICogQHBhcmFtIHBhcmFtIFNlYXJjaCBwYXJhbWV0ZXJcbiAgICogQHBhcmFtIHNraXAgTnVtYmVyIG9mIHJlY29yZHMgdG8gc2tpcFxuICAgKiBAcGFyYW0gbGltaXQgTnVtYmVyIG9mIHJlY29yZHMgdG8gdGFrZVxuICAgKiBAcGFyYW0gc29ydFBhcmFtIFNvcnQgcGFyYW1ldGVyXG4gICAqIEBwYXJhbSBzb3J0T3JkZXIgU29ydCBvcmRlciAoJ2FzYycgb3IgJ2Rlc2MnKVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbnRhaW5pbmcgdGhlIGZpbHRlcmVkIHRhc2tzXG4gICAqL1xuICBnZXRUYXNrV2l0aFBhcmFtKFxuICAgIHBhcmFtOiBzdHJpbmcsXG4gICAgc2tpcDogbnVtYmVyLFxuICAgIGxpbWl0OiBudW1iZXIsXG4gICAgc29ydFBhcmFtOiBzdHJpbmcsXG4gICAgc29ydE9yZGVyOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxQYWdlZDxUYXNrPj4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L0dldFRhc2tXaXRoUGFyYW0vJHtwYXJhbX0vJHtza2lwfS8ke2xpbWl0fS8ke3NvcnRQYXJhbX0vJHtzb3J0T3JkZXJ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPFBhZ2VkPFRhc2s+PjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlIG11bHRpcGxlIHRhc2tzXG4gICAqIEBwYXJhbSByZXF1ZXN0cyBBcnJheSBvZiB0YXNrcyB0byBzYXZlXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29udGFpbmluZyB0aGUgc2F2ZSBvcGVyYXRpb24gcmVzdWx0XG4gICAqL1xuICBzYXZlVGFza3MocmVxdWVzdHM6IFRhc2tbXSk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vU2F2ZVRhc2tzYDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgcmVxdWVzdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcHJvdmUgb3IgcmVqZWN0IG11bHRpcGxlIHRhc2tzXG4gICAqIEBwYXJhbSByZXF1ZXN0cyBBcnJheSBvZiB0YXNrcyB0byBzYXZlXG4gICAqIEBwYXJhbSBpc0FwcHJvdmFsIFRydWUgZm9yIGFwcHJvdmFsLCBmYWxzZSBmb3IgZGVjbGluZVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbnRhaW5pbmcgdGhlIHNhdmUgb3BlcmF0aW9uIHJlc3VsdFxuICAgKi9cbiAgcHJvY2Vzc1Rhc2tzKHJlcXVlc3RzOiBUYXNrW10sIGlzQXBwcm92YWw6IGJvb2xlYW4pOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L1Rhc2tBY3Rpb24vJHtpc0FwcHJvdmFsfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHJlcXVlc3RzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgbXVsdGlwbGUgdGFza3NcbiAgICogQHBhcmFtIHJlcXVlc3RJZHMgQXJyYXkgb2YgcmVxdWVzdCBJRHMgdG8gZGVsZXRlXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgY29udGFpbmluZyB0aGUgZGVsZXRlIG9wZXJhdGlvbiByZXN1bHRcbiAgICovXG4gIGRlbGV0ZVRhc2tzKHJlcXVlc3RJZHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9EZWxldGVUYXNrc2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZGVsZXRlKGAke3VybH0/ZGF0YT0ke3JlcXVlc3RJZHMuam9pbignLCcpfWApO1xuICB9XG5cbiAgZ2V0VGFza3NGb3JVc2VyKFxuICAgIHVzZXI6IHN0cmluZyxcbiAgICBza2lwOiBudW1iZXIsXG4gICAgbGltaXQ6IG51bWJlcixcbiAgICBzb3J0UGFyYW06IHN0cmluZyxcbiAgICBzb3J0T3JkZXI6IHN0cmluZ1xuICApOiBQcm9taXNlPFBhZ2VkPFRhc2s+PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vR2V0VGFza3NGb3JVc2VyLyR7c2tpcH0vJHtsaW1pdH0vJHtzb3J0UGFyYW19LyR7c29ydE9yZGVyfS8ke3VzZXJ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPFBhZ2VkPFRhc2s+PjtcbiAgfVxuXG4gIGdldFF1ZXVlVGFza3NGb3JVc2VyKFxuICAgIHVzZXI6IHN0cmluZyxcbiAgICBza2lwOiBudW1iZXIsXG4gICAgbGltaXQ6IG51bWJlcixcbiAgICBzb3J0UGFyYW06IHN0cmluZyxcbiAgICBzb3J0T3JkZXI6IHN0cmluZ1xuICApOiBQcm9taXNlPFBhZ2VkPFRhc2s+PiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vR2V0UXVldWVUYXNrc0ZvclVzZXIvJHtza2lwfS8ke2xpbWl0fS8ke3NvcnRQYXJhbX0vJHtzb3J0T3JkZXJ9LyR7dXNlcn1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8UGFnZWQ8VGFzaz4+O1xuICB9XG5cbiAgZ2V0UG9zc2libGVUYXNrc0ZvclVzZXIoXG4gICAgdXNlcjogc3RyaW5nLFxuICAgIHNraXA6IG51bWJlcixcbiAgICBsaW1pdDogbnVtYmVyLFxuICAgIHNvcnRQYXJhbTogc3RyaW5nLFxuICAgIHNvcnRPcmRlcjogc3RyaW5nXG4gICk6IFByb21pc2U8UGFnZWQ8VGFzaz4+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9HZXRQb3NzaWJsZVRhc2tzRm9yVXNlci8ke3NraXB9LyR7bGltaXR9LyR7c29ydFBhcmFtfS8ke3NvcnRPcmRlcn0vJHt1c2VyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxQYWdlZDxUYXNrPj47XG4gIH1cblxuICBnZXROZXh0QWN0aW9ucyh0YXNrQ29kZTogc3RyaW5nKTogUHJvbWlzZTxXb3JrZmxvd0FjdGlvbltdPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vR2V0TmV4dEFjdGlvbnMvJHt0YXNrQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8V29ya2Zsb3dBY3Rpb25bXT47XG4gIH1cblxuICBnZXRQcmV2aW91c0FjdGlvbnModGFza0NvZGU6IHN0cmluZyk6IFByb21pc2U8V29ya2Zsb3dBY3Rpb25bXT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L0dldFByZXZpb3VzQWN0aW9ucy8ke3Rhc2tDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxXb3JrZmxvd0FjdGlvbltdPjtcbiAgfVxuXG4gIGdldEFsbFByZXZpb3VzQWN0aW9ucyh0YXNrQ29kZTogc3RyaW5nKTogUHJvbWlzZTxXb3JrZmxvd0FjdGlvbltdPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vR2V0QWxsUHJldmlvdXNBY3Rpb25zLyR7dGFza0NvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPFdvcmtmbG93QWN0aW9uW10+O1xuICB9XG5cbiAgZ2V0TmV4dEFjdG9ycyhcbiAgICB0YXNrQ29kZTogc3RyaW5nLFxuICAgIGZvckN1cnJlbnRTdGFnZTogYm9vbGVhbixcbiAgICBzdGFnZUNvZGU/OiBzdHJpbmcsXG4gICk6IFByb21pc2U8QWN0b3JbXT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L0dldE5leHRBY3RvcnMvJHt0YXNrQ29kZX0keycvJyArIGZvckN1cnJlbnRTdGFnZSArIChzdGFnZUNvZGUgPyAnLycgKyBzdGFnZUNvZGUgOiAnJyl9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPEFjdG9yW10+O1xuICB9XG5cbiAgcGFzc09uKFxuICAgIGZyb21TdGFnZTogc3RyaW5nLFxuICAgIHRvU3RhZ2U6IHN0cmluZyxcbiAgICB0YXNrOiBUYXNrLFxuICAgIGNvbW1lbnQ6IHN0cmluZyxcbiAgICByZWNpcGllbnQ/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxUYXNrPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5CQVNFX1VSTH0vUGFzc09uLyR7ZnJvbVN0YWdlfS8ke3RvU3RhZ2V9LyR7Y29tbWVudH0ke3JlY2lwaWVudCA/ICcvJyArIHJlY2lwaWVudCA6ICcnXG4gICAgICB9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgdGFzayk7XG4gIH1cblxuICBwYXNzQmFjayhcbiAgICBmcm9tU3RhZ2U6IHN0cmluZyxcbiAgICB0b1N0YWdlOiBzdHJpbmcsXG4gICAgdGFzazogVGFzayxcbiAgICBjb21tZW50OiBzdHJpbmcsXG4gICAgcmVjaXBpZW50Pzogc3RyaW5nXG4gICk6IFByb21pc2U8VGFzaz4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L1Bhc3NCYWNrLyR7ZnJvbVN0YWdlfS8ke3RvU3RhZ2V9LyR7Y29tbWVudH0ke3JlY2lwaWVudCA/ICcvJyArIHJlY2lwaWVudCA6ICcnXG4gICAgICB9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgdGFzayk7XG4gIH1cblxuICBwaWNrVGFzayhcbiAgICB0YXJnZXRTdGFnZTogc3RyaW5nLFxuICAgIHRhc2s6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIHJlY2lwaWVudD86IHN0cmluZ1xuICApOiBQcm9taXNlPFRhc2s+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9QaWNrVGFzay8ke2NvbW1lbnR9LyR7dGFyZ2V0U3RhZ2V9JHtyZWNpcGllbnQgPyAnLycgKyByZWNpcGllbnQgOiAnJ1xuICAgICAgfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHRhc2spO1xuICB9XG5cbiAgdW5QaWNrVGFzayhcbiAgICB0YXJnZXRTdGFnZTogc3RyaW5nLFxuICAgIHRhc2s6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIHJlY2lwaWVudD86IHN0cmluZ1xuICApOiBQcm9taXNlPFRhc2s+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9VblBpY2tUYXNrLyR7Y29tbWVudH0vJHt0YXJnZXRTdGFnZX0ke3JlY2lwaWVudCA/ICcvJyArIHJlY2lwaWVudCA6ICcnXG4gICAgICB9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgdGFzayk7XG4gIH1cblxuICBmb2xsb3dUYXNrKGFjdG9ySWQ6IHN0cmluZywgdGFzazogVGFzayk6IFByb21pc2U8VGFzaz4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L0ZvbGxvd1Rhc2svJHthY3RvcklkfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHRhc2spO1xuICB9XG5cbiAgdW5Gb2xsb3dUYXNrKFxuICAgIHRhc2tJZDogc3RyaW5nLFxuICAgIGFjdG9ySWQ6IHN0cmluZ1xuICAgIC8vIHRhc2s6IFRhc2ssXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L1VuRm9sbG93VGFzay8ke3Rhc2tJZH0vJHthY3RvcklkfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHt9KTtcbiAgfVxuXG4gIHJlQXNzaWduKFxuICAgIHRhc2s6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIGZyb21Vc2VyPzogc3RyaW5nLFxuICAgIHRvVXNlcj86IHN0cmluZ1xuICApOiBQcm9taXNlPFRhc2s+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLkJBU0VfVVJMfS9SZWFzc2lnbi8ke2NvbW1lbnR9LyR7dG9Vc2VyfS8ke2Zyb21Vc2VyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHRhc2spO1xuICB9XG5cbiAgc2tpcFRvKFxuICAgIGZyb21TdGFnZTogc3RyaW5nLFxuICAgIHRvU3RhZ2U6IHN0cmluZyxcbiAgICB0YXNrOiBUYXNrLFxuICAgIGNvbW1lbnQ6IHN0cmluZyxcbiAgICByZWNpcGllbnQ/OiBzdHJpbmcsXG4gICAgaXNCYWNrd2FyZDogYm9vbGVhbiA9IGZhbHNlXG4gICk6IFByb21pc2U8VGFzaz4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuQkFTRV9VUkx9L1NraXBUby8ke2Zyb21TdGFnZX0vJHt0b1N0YWdlfS8ke2NvbW1lbnR9JHtyZWNpcGllbnQgPyAnLycgKyByZWNpcGllbnQgOiAnJ1xuICAgICAgfS8ke2lzQmFja3dhcmR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgdGFzayk7XG4gIH1cblxuICBnZXRDdXJyZW50Rm9ybXNGb3JUYXNrKHRhc2tDb2RlOiBzdHJpbmcpOiBQcm9taXNlPEZvcm1bXT4ge1xuICAgIGNvbnN0IHVybCA9IGBUYXNrL0dldEN1cnJlbnRGb3Jtc0ZvclRhc2svJHt0YXNrQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8Rm9ybVtdPjtcbiAgfVxuXG4gIGZpbGxGb3JtKGZvcm06IEZvcm0sIHRhc2tDb2RlOiBzdHJpbmcpOiBQcm9taXNlPEZvcm0+IHtcbiAgICBjb25zdCB1cmwgPSBgRm9ybS9GaWxsRm9ybS8ke3Rhc2tDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIGZvcm0pO1xuICB9XG59XG4iXX0=