imm-element-ui 2.2.7 → 2.2.8

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.
package/README.md CHANGED
@@ -5,7 +5,8 @@ This library was generated with [Angular CLI](https://github.com/angular/angular
5
5
  ## Code scaffolding
6
6
 
7
7
  Run `ng generate component component-name --project imm-element-ui` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project imm-element-ui`.
8
- > Note: Don't forget to add `--project imm-element-ui` or else it will be added to the default project in your `angular.json` file.
8
+
9
+ > Note: Don't forget to add `--project imm-element-ui` or else it will be added to the default project in your `angular.json` file.
9
10
 
10
11
  ## Build
11
12
 
@@ -22,3 +23,67 @@ Run `ng test imm-element-ui` to execute the unit tests via [Karma](https://karma
22
23
  ## Further help
23
24
 
24
25
  To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
26
+
27
+ ## PageForm slots
28
+
29
+ `PageFormComponent` supports a single custom tab slot via `ng-template[pageFormSlot]`.
30
+
31
+ ### Recommended usage
32
+
33
+ - Use `gridList[].slotKey` to mark tabs that should render through the custom slot.
34
+ - Keep one `ng-template[pageFormSlot]` on the page and branch inside the template with `slotKey`.
35
+ - `subDataKey` remains a compatibility fallback in the slot context when `slotKey` is not provided.
36
+
37
+ ### Example
38
+
39
+ ```html
40
+ <app-page-form
41
+ [gridList]="gridList"
42
+ [form]="formOptions"
43
+ [getPrmInput]="getPrm">
44
+ <ng-template
45
+ pageFormSlot
46
+ let-slotKey="slotKey"
47
+ let-grid="grid"
48
+ let-data="data"
49
+ let-model="model"
50
+ let-upsert="upsert"
51
+ let-pageForm="pageForm"
52
+ let-index="index"
53
+ let-active="active">
54
+ @if (slotKey === 'gantt') {
55
+ <app-gantt-data
56
+ [grid]="grid"
57
+ [data]="data"
58
+ [model]="model"
59
+ [upsert]="upsert"
60
+ [pageForm]="pageForm"
61
+ [active]="active">
62
+ </app-gantt-data>
63
+ }
64
+ </ng-template>
65
+ </app-page-form>
66
+ ```
67
+
68
+ ### Slot context
69
+
70
+ The slot template receives:
71
+
72
+ - `slotKey`: resolved from `grid.slotKey || grid.subDataKey`
73
+ - `grid`: current tab config
74
+ - `index`: current tab index
75
+ - `pageForm`: `PageFormComponent` instance
76
+ - `data`: page-level model data
77
+ - `model`: current tab model
78
+ - `upsert`: page save context
79
+ - `active`: whether the current tab is active
80
+
81
+ ### PageFormService
82
+
83
+ Provide `PageFormService` at the page container level so `PageFormComponent` and custom slot components share the same instance.
84
+ Custom slot components can update page data with:
85
+
86
+ - `pageFormService.updateData(partialData)`
87
+ - `pageFormService.updateDataByKey(key, value)`
88
+
89
+ `PageFormComponent` shallow-merges incoming page data and keeps sub-form models in sync.
@@ -78,6 +78,7 @@ export class AmComponent {
78
78
  }));
79
79
  }
80
80
  upsert(prm, cb) {
81
+ console.log(`upsert ${prm}`, prm, cb);
81
82
  if (prm) {
82
83
  this.web_upsert(prm).subscribe((res) => {
83
84
  cb && cb(res);
@@ -137,6 +138,7 @@ export class AmComponent {
137
138
  });
138
139
  param = { ...param, log: { ...param.log, subContent: lg } };
139
140
  }
141
+ console.log(`web_upsert`, param);
140
142
  // console.log('param====', param);
141
143
  return this.http.post(apiPath + 'upsert', param).pipe(map((response) => {
142
144
  if (param.log) {
@@ -528,4 +530,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
528
530
  providers: [MessageService, ConfirmationService],
529
531
  }]
530
532
  }], ctorParameters: () => [] });
531
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9hbS9hbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBd0IsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJFLE9BQU8sS0FBSyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBR3hDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQXVJdEQsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0FBUW5CLE1BQU0sT0FBTyxXQUFXO0lBdUN2QjtRQXRDQSxRQUFRO1FBQ1IsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixPQUFPO1FBQ1AsT0FBRSxHQUFXLENBQUMsQ0FBQztRQUNmLE1BQU07UUFDTixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLE1BQU07UUFDTixVQUFLLEdBQVUsRUFBRSxDQUFDO1FBQ2xCLFFBQUcsR0FBVyxFQUFFLENBQUM7UUFDakIsSUFBSTtRQUNKLGNBQVMsR0FBZ0IsRUFBRSxDQUFDO1FBQzVCLElBQUk7UUFDSixrQkFBYSxHQUFrQixFQUFFLENBQUM7UUFDbEMsTUFBTTtRQUNOLGdCQUFXLEdBQWdCLEVBQUUsQ0FBQztRQUM5QixRQUFRO1FBQ1IsY0FBUyxHQUFX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LElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNuRCxPQUFPLFFBQVEsQ0FBQztRQUNqQixDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ1QseUNBQXlDO1FBQzlDLENBQUMsQ0FBQyxDQUNGLENBQUM7SUFDSCxDQUFDOytHQTNpQlcsV0FBVzttR0FBWCxXQUFXLHFEQUZaLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDLDBCQUR0QyxFQUFFOzs0RkFHQSxXQUFXO2tCQVB2QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxRQUFRO29CQUNsQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsUUFBUSxFQUFFLEVBQUU7b0JBQ1osU0FBUyxFQUFFLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZWZmZWN0LCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmluYWxpemUsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyBGaWxlU2F2ZXIgZnJvbSAnZmlsZS1zYXZlcic7XHJcbmltcG9ydCB7IEZvcm1PcHRpb25zIH0gZnJvbSAnLi4vZm9ybS9mb3JtL2Zvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VhcmNoT3B0aW9ucyB9IGZyb20gJy4uL3NlYXJjaC9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBUb2FzdCB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTG9hZGluZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2xvYWRpbmcuc2VydmljZSc7XHJcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2kxOG4uc2VydmljZSc7XHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW0ge1xyXG5cdGlkPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRyYWNlTWVzc2FnZSB7XHJcblx0aWQ/OiBudW1iZXI7XHJcblx0cGlkPzogbnVtYmVyOyAvLyDooajkuK1pZFxyXG5cdGZ1bmM/OiBzdHJpbmc7XHJcblx0b3BlcmF0b3I/OiBzdHJpbmc7XHJcblx0Y29udGVudD86IHN0cmluZzsgLy8g5Li76KGo5Y+Y5pu05omA5pyJ5a2X5q615ou85o6l5LiA5Z2XXHJcblx0c3ViQ29udGVudD86IHN0cmluZzsgLy8g5a2Q6KGo5Y+Y5pu05ou85o6l5LiA6LW3XHJcblx0Y3JlYXRlZEF0Pzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgSW1wb3J0RXhjZWwge1xyXG5cdG1vZGVsTmFtZT86IHN0cmluZztcclxuXHRvcmdJZD86IG51bWJlcjtcclxuXHRvcmdOYW1lPzogc3RyaW5nO1xyXG5cdG9yZ0lkRmVpbGQ/OiBzdHJpbmc7XHJcblx0b3JnTmFtZUZlaWxkPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVwc2VydCB7XHJcblx0bW9kZWxOYW1lPzogc3RyaW5nO1xyXG5cdGFkZERhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cdHVwZERhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cdHN1YnNlcnQ/OiBTdWJVcHNlcnRbXTtcclxuXHRsb2dNb2RlbD86IHN0cmluZztcclxuXHRsb2c/OiBUcmFjZU1lc3NhZ2U7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3ViVXBzZXJ0IHtcclxuXHRzdWJNb2RlbE5hbWU/OiBzdHJpbmc7XHJcblx0Zms/OiBzdHJpbmc7XHJcblx0c3ViRGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT5bXTtcclxuXHRtYXB0bXA/OiBNYXA8bnVtYmVyLCBhbnk+O1xyXG5cdGxvZ3RtcD86IE1hcDxzdHJpbmcsIGFueT47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEZWFsIHtcclxuXHRtb2RlbE5hbWU/OiBzdHJpbmc7XHJcblx0ZGF0YT86IGFueTtcclxufVxyXG4vLyDmm7TmlrDnibnlrprlrZfmrrVcclxuZXhwb3J0IGludGVyZmFjZSBXcml0ZSB7XHJcblx0bW9kZWxOYW1lPzogc3RyaW5nO1xyXG5cdGRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cdGxvZ01vZGVsPzogc3RyaW5nO1xyXG5cdGxvZz86IFRyYWNlTWVzc2FnZTtcclxuXHR0cmFuc2FjdGlvbj86IGJvb2xlYW47XHJcbn1cclxuLy8g5Yig6Zmk5o6l5Y+j5aOw5piOXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3ZlIHtcclxuXHRtb2RlbE5hbWU/OiBzdHJpbmc7XHJcblx0aWRzPzogbnVtYmVyW107XHJcblx0ZGF0YT86IGFueTtcclxuXHRsb2dNb2RlbD86IHN0cmluZztcclxuXHRsb2c/OiBUcmFjZU1lc3NhZ2U7XHJcblx0dHJhbnNhY3Rpb24/OiBib29sZWFuO1xyXG59XHJcbi8vIOiOt+WPluWNleadoeaVsOaNruivpuaDhVxyXG5leHBvcnQgaW50ZXJmYWNlIEdldCB7XHJcblx0bW9kZWxOYW1lPzogc3RyaW5nO1xyXG5cdHVzZXJDb2RlPzogc3RyaW5nO1xyXG5cdG9yZ0ZpZWxkPzogc3RyaW5nO1xyXG5cdGlkPzogbnVtYmVyO1xyXG5cdHByZWxvYWRzPzogc3RyaW5nW107IC8vIOiBlOihqOafpeivouihqOWQjeensO+8jOmcgOWvueW6lOWQjuerr3N0cnVjdFxyXG5cdGZpdGVyUHJlbG9hZHM/OiBQcmVsb2FkW107IC8vIOWPquiDveWKoOS4gOWxgiDnsbvkvLwgJ21vZHVsZSA9JyBtb2R1bGVcclxuXHRnZXRMb2c/OiBib29sZWFuOyAvL+iOt+WPluaXpeW/l1xyXG5cdGRhdGE/OiBhbnk7IC8v5ZCO56uv6L+U5Zue55qEcmVzcG9uc2VcclxuXHRjb2x1bW5GaWx0ZXJzPzogQ29sdW1uRmlsdGVyW107IC8v6L+H5ruk55qE5YiXXHJcblx0Zm9yZWlnbktleT86IHN0cmluZzsgLy/nm7TmjqXmj5LlhaXlrZDooajpnIDopoHkvKDpgJLlpJbplK7lrZfmrrXku6Xlj4rlpJbplK7lgLxcclxuXHRbcHJvcE5hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFByZWxvYWQge1xyXG5cdGZlaWxkTmFtZT86IHN0cmluZztcclxuXHRmaXRlcnM/OiBDb2x1bW5GaWx0ZXJbXTtcclxuXHRzb3J0cz86IFNvcnRbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbkZpbHRlciB7XHJcblx0Y29sdW1uRmllbGQ/OiBzdHJpbmc7XHJcblx0dHlwZT86IHN0cmluZztcclxuXHRmaXRlcj86IGFueTtcclxuXHRmcm9tPzogc3RyaW5nIHwgbnVtYmVyO1xyXG5cdHRvPzogc3RyaW5nIHwgbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNvcnQge1xyXG5cdGZpZWxkPzogc3RyaW5nO1xyXG5cdGlzQXNjPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2gge1xyXG5cdG1vZGVsTmFtZT86IHN0cmluZztcclxuXHR1c2VyQ29kZT86IHN0cmluZztcclxuXHRvcmdGaWVsZD86IHN0cmluZztcclxuXHRjb3VudD86IGJvb2xlYW47IC8v5piv5ZCm6L+U5ZuedG90YWxOdW1cclxuXHRwcmVsb2Fkcz86IHN0cmluZ1tdO1xyXG5cdGZpdGVyUHJlbG9hZHM/OiBQcmVsb2FkW107XHJcblx0bW9kZWw/OiBhbnk7XHJcblx0ZGF0YT86IGFueTtcclxuXHRjb2x1bW5GaWx0ZXJzPzogQ29sdW1uRmlsdGVyW107IC8v6L+H5ruk55qE5YiXXHJcblx0c29ydHM/OiBTb3J0W107XHJcblx0Z3JvdXBzPzogc3RyaW5nW107XHJcblx0cmVhZD86IHN0cmluZ1tdOyAvL3JlYWQg5oyH5a6a5p+l6K+i54m55a6a5a2X5q61XHJcblx0ZnVuY3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+OyAvL+mAj+inhuihqOWQjuacn+imgeeUqFxyXG5cdG9mZnNldD86IG51bWJlcjtcclxuXHRsaW1pdD86IG51bWJlcjtcclxuXHR0b3RhbE51bT86IG51bWJlcjtcclxufVxyXG5pbnRlcmZhY2UgRGVhbEV4cG9ydCBleHRlbmRzIFNlYXJjaHtcclxuXHRmaWxlTmFtZT86c3RyaW5nXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBUb2tlbkluZm8ge1xyXG5cdHRva2VuPzogc3RyaW5nO1xyXG5cdGV4cGlyZWQ/OiBudW1iZXI7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBhbVdlYiB7XHJcblx0aWQ/OiBudW1iZXI7XHJcblx0Y29kZT86IHN0cmluZztcclxuXHR0eXBlPzogc3RyaW5nO1xyXG5cdG5hbWU/OiBzdHJpbmc7XHJcblx0YXBwSWQ/OiBudW1iZXI7XHJcblx0Y29udGVudD86IHN0cmluZztcclxuXHRjcmVhdGVkQXQ/OiBzdHJpbmc7XHJcblx0dXBkYXRlZEF0Pzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUmZkIHtcclxuXHRtb2RlbE5hbWU/OiBzdHJpbmc7XHJcblx0bGFiZWxGaWVsZD86IHN0cmluZztcclxuXHR2YWx1ZUZpZWxkPzogc3RyaW5nO1xyXG5cdHdoZXJlRmllbGQ/OiBzdHJpbmc7XHJcblx0dHlwZT86IHN0cmluZztcclxuXHRmaXRlcj86IGFueTtcclxuXHRkYXRhPzogYW55O1xyXG59XHJcbmNvbnN0IGFwaVBhdGggPSAnJztcclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtYW0nLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW10sXHJcblx0dGVtcGxhdGU6ICcnLFxyXG5cdHByb3ZpZGVyczogW01lc3NhZ2VTZXJ2aWNlLCBDb25maXJtYXRpb25TZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFtQ29tcG9uZW50IHtcclxuXHQvL+aYr+WQpuaPkOS6pOaXpeW/l1xyXG5cdGlzTG9nOiBib29sZWFuID0gZmFsc2U7XHJcblx0Ly/kuLvmlbDmja5pZFxyXG5cdGlkOiBudW1iZXIgPSAwO1xyXG5cdC8v5Li76KGo5qih5Z6LXHJcblx0bW9kZWxOYW1lOiBzdHJpbmcgPSAnJztcclxuXHQvL0lE5Y+C5pWwXHJcblx0cGFyYW06IFBhcmFtID0ge307XHJcblx0ZmlkOiBzdHJpbmcgPSAnJztcclxuXHQvL+WvvOWFpVxyXG5cdGltcG9ydFBybTogSW1wb3J0RXhjZWwgPSB7fTtcclxuXHQvL+aQnOe0oFxyXG5cdHNlYXJjaE9wdGlvbnM6IFNlYXJjaE9wdGlvbnMgPSB7fTtcclxuXHQvL2Zvcm1cclxuXHRmb3JtT3B0aW9uczogRm9ybU9wdGlvbnMgPSB7fTtcclxuXHQvL+WIm+W7uuaIluiAheabtOaWsFxyXG5cdHVwc2VydFBybTogVXBzZXJ0ID0geyB1cGREYXRhOiB7fSwgYWRkRGF0YToge30sIHN1YnNlcnQ6IFtdLCBsb2c6IHt9IH07XHJcblx0Ly/lpITnkIZcclxuXHRkZWFsUHJtOiBEZWFsID0ge307XHJcblx0Ly9tYXDmm7TmlrBcclxuXHR3cml0ZVBybTogV3JpdGUgPSB7fTtcclxuXHQvL+WIoOmZpFxyXG5cdHJlbW92ZVBybTogUmVtb3ZlID0ge307XHJcblx0Ly/ojrflj5bkuIDmnaHmlbDmja5cclxuXHRnZXRQcm06IEdldCA9IHsgZGF0YToge30gfTtcclxuXHQvL+afpeivouadoeS7tlxyXG5cdGZpbHRlcjogQ29sdW1uRmlsdGVyID0ge307XHJcblx0Ly/mn6Xor6LliJfooajmlbDmja5cclxuXHRzZWFyY2hQcm06IFNlYXJjaCA9IHt9O1xyXG5cdGV4cG9ydFBybTogU2VhcmNoID0ge307XHJcblx0dGFtcGxhdGU6IERlYWwgPSB7fTtcclxuXHRodHRwOiBIdHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpO1xyXG5cdG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSA9IGluamVjdChNZXNzYWdlU2VydmljZSk7XHJcblx0Y29uZmlybWF0aW9uU2VydmljZSA9IGluamVjdChDb25maXJtYXRpb25TZXJ2aWNlKTtcclxuXHRsb2FkaW5nU2VydmljZSA9IGluamVjdChMb2FkaW5nU2VydmljZSk7XHJcblx0cm91dGU6IEFjdGl2YXRlZFJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcclxuXHRyb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuXHRpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKVxyXG5cdGNvbnN0cnVjdG9yKCkge31cclxuXHJcblx0cmZkKHBybTogUmZkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoICsgJ1JGRCcsIHBybSkucGlwZShcclxuXHRcdFx0bWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlO1xyXG5cdFx0XHR9KSxcclxuXHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG5cdFx0XHRcdHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhmYWxzZSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0KTtcclxuXHR9XHJcblx0d2ViZ2V0KHBhcmFtOiBhbVdlYik6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCArICcvZ29hbS9hcGkvd2ViZ2V0JywgcGFyYW0pLnBpcGUoXHJcblx0XHRcdG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cdFx0XHRcdHJldHVybiByZXNwb25zZTtcclxuXHRcdFx0fSksXHJcblx0XHRcdGZpbmFsaXplKCgpID0+IHtcclxuXHRcdFx0XHQvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcoZmFsc2UpO1xyXG5cdFx0XHR9KSxcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHR3ZWJzYXZlKHBhcmFtOiBhbVdlYik6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCArICcvZ29hbS9hcGkvd2Vic2F2ZScsIHBhcmFtKS5waXBlKFxyXG5cdFx0XHRtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuXHRcdFx0XHRyZXR1cm4gcmVzcG9uc2U7XHJcblx0XHRcdH0pLFxyXG5cdFx0XHRmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKGZhbHNlKTtcclxuXHRcdFx0fSksXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0d2ViZGVsKHBhcmFtOiBhbVdlYik6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCArICd3ZWJkZWwnLCBwYXJhbSkucGlwZShcclxuXHRcdFx0bWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlO1xyXG5cdFx0XHR9KSxcclxuXHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhmYWxzZSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHVwc2VydChwcm0/OiBhbnksIGNiPzogRnVuY3Rpb24pIHtcclxuXHRcdGlmIChwcm0pIHtcclxuXHRcdFx0dGhpcy53ZWJfdXBzZXJ0KHBybSkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuXHRcdFx0XHRjYiAmJiBjYihyZXMpO1xyXG5cdFx0XHRcdHRoaXMucmVzZXRQcm0oJ3Vwc2VydCcpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdC8vIGNvbnN0IHBtOiBVcHNlcnQgPSB0aGlzLnVwc2VydHMoKVxyXG5cdFx0XHQvLyBjb25zb2xlLmxvZygnMT09PT0nLHBtKVxyXG5cdFx0XHR0aGlzLndlYl91cHNlcnQodGhpcy51cHNlcnRQcm0pLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0Y2IgJiYgY2IocmVzKTtcclxuXHRcdFx0XHR0aGlzLnJlc2V0UHJtKCd1cHNlcnQnKTtcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8v5YWo6YOo5Yib5bu65oiW5pu05paw77yM5qC55o2uSUTliKTmlq1cclxuXHR3ZWJfdXBzZXJ0KHBhcmFtOiBVcHNlcnQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKHRydWUpO1xyXG5cdFx0aWYgKCFwYXJhbS5tb2RlbE5hbWUpIHtcclxuXHRcdFx0cGFyYW0gPSB7IG1vZGVsTmFtZTogdGhpcy5tb2RlbE5hbWUsIC4uLnBhcmFtIH07XHJcblx0XHR9XHJcblx0XHRsZXQgYWRkRGF0YTogYW55ID0gcGFyYW0uYWRkRGF0YTtcclxuXHRcdGlmIChPYmplY3Qua2V5cyhhZGREYXRhKS5sZW5ndGggPT0gMCkge1xyXG5cdFx0XHRkZWxldGUgcGFyYW0uYWRkRGF0YTtcclxuXHRcdH1cclxuXHRcdGxldCB1cGREYXRhOiBhbnkgPSBwYXJhbS51cGREYXRhO1xyXG5cdFx0Ly8gY29uc29sZS5sb2coJ3BhcmFtLS0tLScsIHBhcmFtLnVwZERhdGEpO1xyXG5cdFx0aWYgKE9iamVjdC5rZXlzKHVwZERhdGEpLmxlbmd0aCA9PSAwKSB7XHJcblx0XHRcdGRlbGV0ZSBwYXJhbS51cGREYXRhO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0cGFyYW0udXBkRGF0YSFbJ2lkJ10gPSB0aGlzLmlkO1xyXG5cdFx0XHRwYXJhbS5sb2chLnBpZCA9IHRoaXMuaWQ7XHJcblx0XHR9XHJcblx0XHRpZiAoIXBhcmFtPy5hZGREYXRhICYmICFwYXJhbS51cGREYXRhKSB7XHJcblx0XHRcdHBhcmFtID0geyB1cGREYXRhOiB7IGlkOiB0aGlzLmlkIH0sIC4uLnBhcmFtIH07XHJcblx0XHR9XHJcblx0XHQvLyBjb25zb2xlLmxvZygndGhpcy5pc0xvZy0tLS0nLCB0aGlzLmlzTG9nKTtcclxuXHRcdGlmICghdGhpcy5pc0xvZykge1xyXG5cdFx0XHRkZWxldGUgcGFyYW0ubG9nO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0bGV0IGxnOiBzdHJpbmcgPSAnJztcclxuXHRcdFx0Ly8gQHRzLWlnbm9yZVxyXG5cdFx0XHRjb25zdCBpc0kxOG4gPSB3aW5kb3cuYXBwSXNJMThuXHJcblx0XHRcdGxldCBjcmVhdGVTdHIgPSBpc0kxOG4gPyB0aGlzLmkxOG4uZmFueWkoJ2FwcC5jcmVhdGUnKSA6J+aWsOW7uidcclxuXHRcdFx0cGFyYW0uc3Vic2VydD8uZm9yRWFjaCgodikgPT4ge1xyXG5cdFx0XHRcdHYubG9ndG1wPy5mb3JFYWNoKCh2LCBrKSA9PiB7XHJcblx0XHRcdFx0XHRpZiAodi5pZCA9PT0gMCkge1xyXG5cdFx0XHRcdFx0XHRsZyArPSBgJHtjcmVhdGVTdHJ977yaIC0+ICR7di5uZXdWYWx1ZX07YFxyXG5cdFx0XHRcdFx0XHQvLyBsZyArPSAn5paw5bu677yaIC0+ICcgKyB2Lm5ld1ZhbHVlICsgJzsnO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0bGcgKz0gJ1snICsgdi5pZCArICctJyArIHYubGFiZWwgKyAnXSAnICsgKHYub2xkVmFsdWUgfHwgJycpICsgJyAtPiAnICsgKHYubmV3VmFsdWUgfHwgJycpICsgJzsnO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9KTtcclxuXHRcdFx0cGFyYW0gPSB7IC4uLnBhcmFtLCBsb2c6IHsgLi4ucGFyYW0ubG9nLCBzdWJDb250ZW50OiBsZyB9IH07XHJcblx0XHR9XHJcblx0XHQvLyBjb25zb2xlLmxvZygncGFyYW09PT09JywgcGFyYW0pO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGggKyAndXBzZXJ0JywgcGFyYW0pLnBpcGUoXHJcblx0XHRcdG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cdFx0XHRcdGlmIChwYXJhbS5sb2cpIHtcclxuXHRcdFx0XHRcdGRlbGV0ZSBwYXJhbS5sb2c7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHJldHVybiByZXNwb25zZTtcclxuXHRcdFx0fSksXHJcblx0XHRcdGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcoZmFsc2UpO1xyXG5cdFx0XHR9KSxcclxuXHRcdCk7XHJcblx0fVxyXG5cdC8v6Ieq5aSE55CG6YC76L6RXHJcblx0ZGVhbChwcm0/OiBEZWFsKSB7XHJcblx0XHRpZiAocHJtKSB7XHJcblx0XHRcdHRoaXMud2ViX2RlYWwocHJtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMud2ViX2RlYWwodGhpcy5kZWFsUHJtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHR9XHJcblx0d2ViX2RlYWwocGFyYW06IERlYWwpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKHRydWUpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGggKyAnZGVhbCcsIHBhcmFtKS5waXBlKFxyXG5cdFx0XHRtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuXHRcdFx0XHR0aGlzLmRlYWxQcm0gPSB7IGRhdGE6IHJlc3BvbnNlLCAuLi50aGlzLmRlYWxQcm0gfTtcclxuXHRcdFx0XHRyZXR1cm4gcmVzcG9uc2U7XHJcblx0XHRcdH0pLFxyXG5cdFx0XHRmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKGZhbHNlKTtcclxuXHRcdFx0fSksXHJcblx0XHQpO1xyXG5cdH1cclxuXHQvL+S8oOWFpW1hcO+8jOagueaNrklE77yM5pu05pawbWFw5pWw5o2uXHJcblx0d3JpdGUocHJtPzogV3JpdGUpIHtcclxuXHRcdGlmIChwcm0pIHtcclxuXHRcdFx0dGhpcy53ZWJfd3JpdGUocHJtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMud2ViX3dyaXRlKHRoaXMud3JpdGVQcm0pLnN1YnNjcmliZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHR3ZWJfd3JpdGUocGFyYW06IFdyaXRlKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyh0cnVlKTtcclxuXHRcdGlmICghcGFyYW0ubW9kZWxOYW1lKSB7XHJcblx0XHRcdHBhcmFtID0geyBtb2RlbE5hbWU6IHRoaXMubW9kZWxOYW1lLCAuLi5wYXJhbSB9O1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGggKyAnd3JpdGUnLCBwYXJhbSkucGlwZShcclxuXHRcdFx0bWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0aWYgKHBhcmFtLmxvZykge1xyXG5cdFx0XHRcdFx0ZGVsZXRlIHBhcmFtLmxvZztcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlO1xyXG5cdFx0XHR9KSxcclxuXHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhmYWxzZSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0KTtcclxuXHR9XHJcblx0Ly/moLnmja5JROWIoOmZpFxyXG5cdHJlbW92ZShwcm0/OiBSZW1vdmUpIHtcclxuXHRcdGlmIChwcm0pIHtcclxuXHRcdFx0dGhpcy53ZWJfcmVtb3ZlKHBybSkuc3Vic2NyaWJlKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLndlYl9yZW1vdmUodGhpcy5yZW1vdmVQcm0pLnN1YnNjcmliZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHR3ZWJfcmVtb3ZlKHBhcmFtOiBSZW1vdmUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKHRydWUpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGggKyAncmVtb3ZlJywgcGFyYW0pLnBpcGUoXHJcblx0XHRcdG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cdFx0XHRcdGlmIChwYXJhbS5sb2cpIHtcclxuXHRcdFx0XHRcdGRlbGV0ZSBwYXJhbS5sb2c7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHJldHVybiByZXNwb25zZTtcclxuXHRcdFx0fSksXHJcblx0XHRcdGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcoZmFsc2UpO1xyXG5cdFx0XHR9KSxcclxuXHRcdCk7XHJcblx0fVxyXG5cdC8v5qC55o2uSUTojrflj5bkuIDmnaHmlbDmja5cclxuXHRnZXQocHJtPzogR2V0KSB7XHJcblx0XHRpZiAocHJtKSB7XHJcblx0XHRcdHRoaXMud2ViX2dldChwcm0pLnN1YnNjcmliZSgpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy53ZWJfZ2V0KHRoaXMuZ2V0UHJtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHR9XHJcblx0d2ViX2dldChwYXJhbTogR2V0KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdGlmICghcGFyYW0uaGFzT3duUHJvcGVydHkoJ21vZGVsTmFtZScpKSB7XHJcblx0XHRcdHBhcmFtLm1vZGVsTmFtZSA9IHRoaXMubW9kZWxOYW1lO1xyXG5cdFx0fVxyXG4gICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKHRydWUpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGggKyAnZ2V0JywgcGFyYW0pLnBpcGUoXHJcblx0XHRcdG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuZ2V0UHJtLmRhdGEgPSByZXNwb25zZTtcclxuXHRcdFx0XHRpZiAocmVzcG9uc2UuaWQgPT09IDAgJiYgcGFyYW0uaGFzT3duUHJvcGVydHkoJ2ZvcmVpZ25LZXknKSkge1xyXG5cdFx0XHRcdFx0dGhpcy51cHNlcnRQcm0uYWRkRGF0YSFbcGFyYW0uZm9yZWlnbktleSFdID0gcGFyYW1bcGFyYW0uZm9yZWlnbktleSFdO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLmlkID0gcmVzcG9uc2U/LmlkO1xyXG5cdFx0XHRcdHJldHVybiByZXNwb25zZTtcclxuXHRcdFx0fSksXHJcblx0XHRcdGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcoZmFsc2UpO1xyXG5cdFx0XHR9KSxcclxuXHRcdCk7XHJcblx0fVxyXG5cdC8v6I635Y+W5aSa5p2h5pWw5o2u77yM5qC55o2u5Lyg5YWl55qE5p2h5Lu26Ieq5Yqo57uE57uHc3FsXHJcblx0c2VhcmNoKHBybT86IFNlYXJjaCkge1xyXG5cdFx0aWYgKHBybSkge1xyXG5cdFx0XHR0aGlzLndlYl9zZWFyY2gocHJtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMud2ViX3NlYXJjaCh0aGlzLnNlYXJjaFBybSkuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdHdlYl9zZWFyY2gocGFyYW06IFNlYXJjaCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcodHJ1ZSk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCArICdzZWFyY2gnLCBwYXJhbSkucGlwZShcclxuXHRcdFx0bWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0dGhpcy5zZWFyY2hQcm0gPSB7IC4uLnJlc3BvbnNlIH07XHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coJ3Vwc2V5LS0tLS0nLCB0aGlzLnVwc2VydFBybSk7XHJcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlO1xyXG5cdFx0XHR9KSxcclxuXHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhmYWxzZSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0KTtcclxuXHR9XHJcblx0c2VhcmNobWFwKHBybT86IFNlYXJjaCkge1xyXG5cdFx0aWYgKHBybSkge1xyXG5cdFx0XHR0aGlzLndlYl9zZWFyY2gocHJtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMud2ViX3NlYXJjaCh0aGlzLnNlYXJjaFBybSkuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdHdlYl9zZWFyY2htYXAocGFyYW06IFNlYXJjaCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcodHJ1ZSk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCArICdzZWFyY2hNYXAnLCBwYXJhbSkucGlwZShcclxuXHRcdFx0bWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0dGhpcy5zZWFyY2hQcm0gPSB7IC4uLnJlc3BvbnNlIH07XHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coJ3Vwc2V5LS0tLS0nLCB0aGlzLnVwc2VydFBybSk7XHJcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlO1xyXG5cdFx0XHR9KSxcclxuXHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhmYWxzZSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0KTtcclxuXHR9XHJcblx0Ly/ojrflj5blpJrmnaHmlbDmja7vvIzmoLnmja7kvKDlhaXnmoTmnaHku7boh6rliqjnu4Tnu4dzcWxcclxuXHRzZWFyY2hDb3VudChwcm0/OiBTZWFyY2gpIHtcclxuXHRcdGlmIChwcm0pIHtcclxuXHRcdFx0dGhpcy53ZWJfc2VhcmNoQ291bnQocHJtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMud2ViX3NlYXJjaENvdW50KHRoaXMuc2VhcmNoUHJtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHR9XHJcblx0d2ViX3NlYXJjaENvdW50KHBhcmFtOiBTZWFyY2gpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKHRydWUpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGggKyAnc2VhcmNoQ291bnQnLCBwYXJhbSkucGlwZShcclxuXHRcdFx0bWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0dGhpcy5zZWFyY2hQcm0gPSB7IC4uLnJlc3BvbnNlIH07XHJcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlO1xyXG5cdFx0XHR9KSxcclxuXHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhmYWxzZSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0KTtcclxuXHR9XHJcblx0Ly9leGNlbOWvvOWFpVxyXG5cdC8vIGltcG9ydChwYXJhbTogSW1wb3J0RXhjZWwpOk9ic2VydmFibGU8YW55PiB7XHJcblx0Ly8gICB0aGlzLmlzTG9hZGluZy5zZXQodHJ1ZSk7XHJcblx0Ly8gICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXCJhbS9yZW1vdmVcIixwYXJhbSxodHRwT3B0aW9ucylcclxuXHQvLyAgIC5waXBlKFxyXG5cdC8vICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+e1xyXG5cdC8vICAgICAgIHRoaXMubWVzc2FnZS5zZXQocmVzcG9uc2UpO1xyXG5cdC8vICAgICAgIHRoaXMuaXNTdWNjZXNzLnNldCh0cnVlKTtcclxuXHQvLyAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcblx0Ly8gICAgIH0pLFxyXG5cdC8vICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG5cdC8vICAgICAgIC8vIOiLpeivt+axguWHuumUme+8jOiuvue9ruivt+axguaIkOWKn+eKtuaAgeS4uiBmYWxzZe+8jOW5tuWwhumUmeivr+mHjeaWsOaKm+WHulxyXG5cdC8vICAgICAgIHRoaXMuaXNTdWNjZXNzLnNldChmYWxzZSk7XHJcblx0Ly8gICAgICAgdGhpcy5tZXNzYWdlLnNldChlcnJvcik7XHJcblx0Ly8gICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xyXG5cdC8vICAgICB9KSxcclxuXHQvLyAgICAgZmluYWxpemUoKCkgPT4ge1xyXG5cdC8vICAgICAgIC8vIOaXoOiuuuivt+axguaIkOWKn+S4juWQpu+8jOmDveWwhuWKoOi9veS4reeKtuaAgeiuvue9ruS4uiBmYWxzZVxyXG5cdC8vICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XHJcblx0Ly8gICAgIH0pXHJcblx0Ly8gICApO1xyXG5cdC8vIH1cclxuXHQvLy8vZXhjZWwg5a+85Ye6XHJcblx0ZXhwb3J0KHBybT86IFNlYXJjaCkge1xyXG5cdFx0aWYgKHBybSkge1xyXG5cdFx0XHR0aGlzLndlYl9leHBvcnQocHJtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMud2ViX2V4cG9ydCh0aGlzLmV4cG9ydFBybSkuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdHdlYl9leHBvcnQocGFyYW06IFNlYXJjaCk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRpZiAoIXBhcmFtLm1vZGVsTmFtZSkge1xyXG5cdFx0XHRwYXJhbSA9IHsgbW9kZWxOYW1lOiB0aGlzLm1vZGVsTmFtZSwgLi4ucGFyYW0gfTtcclxuXHRcdH1cclxuICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyh0cnVlKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoICsgJ2V4cG9ydCcsIHBhcmFtLCB7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIH0pLnBpcGUoXHJcblx0XHRcdG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbcmVzcG9uc2VdLCB7XHJcblx0XHRcdFx0XHR0eXBlOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7IGNoYXJzZXQ9VVRGLTgnLFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdGNvbnN0IGZpbGVOYW1lID0gcGFyYW0ubW9kZWxOYW1lICsgJy54bHN4JztcclxuXHRcdFx0XHRGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGZpbGVOYW1lKTtcclxuXHRcdFx0XHRyZXR1cm4gcmVzcG9uc2U7XHJcblx0XHRcdH0pLFxyXG5cdFx0XHRmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKGZhbHNlKTtcclxuXHRcdFx0fSksXHJcblx0XHQpO1xyXG5cdH1cclxuXHQvL+S6uuW3peWkhOeQhuWvvOWFpVxyXG5cdGRlYWxFeHBvcnQocHJtPzogRGVhbEV4cG9ydCkge1xyXG5cdFx0aWYgKHBybSkge1xyXG5cdFx0XHR0aGlzLndlYl9kZWFsX2V4cG9ydChwcm0pLnN1YnNjcmliZSgpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy53ZWJfZGVhbF9leHBvcnQodGhpcy5leHBvcnRQcm0pLnN1YnNjcmliZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHR3ZWJfZGVhbF9leHBvcnQocGFyYW06IERlYWxFeHBvcnQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0aWYgKCFwYXJhbS5tb2RlbE5hbWUpIHtcclxuXHRcdFx0cGFyYW0gPSB7IG1vZGVsTmFtZTogdGhpcy5tb2RlbE5hbWUsIC4uLnBhcmFtIH07XHJcblx0XHR9XHJcbiAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcodHJ1ZSk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCArICdkZWFsRXhwb3J0JywgcGFyYW0sIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSkucGlwZShcclxuXHRcdFx0bWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0Y29uc3QgZGF0YTogQmxvYiA9IG5ldyBCbG9iKFtyZXNwb25zZV0sIHtcclxuXHRcdFx0XHRcdHR5cGU6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldDsgY2hhcnNldD1VVEYtOCcsXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0Ly8gY29uc3QgZmlsZU5hbWUgPSBwYXJhbS5tb2RlbE5hbWUgKyAnLnhsc3gnO1xyXG5cdFx0XHRcdGNvbnN0IGZpbGVOYW1lID0gYCR7cGFyYW0/LmZpbGVOYW1lID8gcGFyYW0uZmlsZU5hbWUgOiBwYXJhbS5tb2RlbE5hbWV9Lnhsc3hgXHJcblx0XHRcdFx0RmlsZVNhdmVyLnNhdmVBcyhkYXRhLCBmaWxlTmFtZSk7XHJcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlO1xyXG5cdFx0XHR9KSxcclxuXHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhmYWxzZSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0KTtcclxuXHR9XHJcblx0Ly/kuIvovb3lr7zlhaXnmoTmqKHmnb9cclxuXHRkb3dubG9hZFRlbXBsYXRlKHBybT86IERlYWwpIHtcclxuXHRcdGlmIChwcm0pIHtcclxuXHRcdFx0dGhpcy53ZWJfZG93bmxvYWRUZW1wbGF0ZShwcm0pLnN1YnNjcmliZSgpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy53ZWJfZG93bmxvYWRUZW1wbGF0ZSh0aGlzLnRhbXBsYXRlKS5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHR9XHJcblx0d2ViX2Rvd25sb2FkVGVtcGxhdGUocGFyYW06IERlYWwpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKHRydWUpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGggKyAnZG93bmxvYWQnLCBwYXJhbSwgeyByZXNwb25zZVR5cGU6ICdibG9iJyB9KS5waXBlKFxyXG5cdFx0XHRtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuXHRcdFx0XHRjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW3Jlc3BvbnNlXSwge1xyXG5cdFx0XHRcdFx0dHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0OyBjaGFyc2V0PVVURi04JyxcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRjb25zdCBmaWxlTmFtZSA9IHBhcmFtLm1vZGVsTmFtZSArICfmqKHmnb8ueGxzeCc7XHJcblx0XHRcdFx0RmlsZVNhdmVyLnNhdmVBcyhkYXRhLCBmaWxlTmFtZSk7XHJcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlO1xyXG5cdFx0XHR9KSxcclxuXHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhmYWxzZSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0KTtcclxuXHR9XHJcblx0Ly/liKDpmaTlm77niYdcclxuXHRpbWFnZURlbGV0ZShmaWQ/OiBzdHJpbmcpIHtcclxuXHRcdGlmIChmaWQpIHtcclxuXHRcdFx0dGhpcy53ZWJfaW1hZ2VEZWxldGUoZmlkKS5zdWJzY3JpYmUoKTtcclxuXHRcdH0gZWxzZSBpZiAodGhpcy5maWQubGVuZ3RoID4gMCkge1xyXG5cdFx0XHR0aGlzLndlYl9pbWFnZURlbGV0ZSh0aGlzLmZpZCkuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdHdlYl9pbWFnZURlbGV0ZShmaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcodHJ1ZSk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCArICdpbWFnZURlbGV0ZScsIGZpZCkucGlwZShcclxuXHRcdFx0bWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0dGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ3N1Y2Nlc3MnLCBzdW1tYXJ5OiAnU3VjY2VzcycsIGRldGFpbDogcmVzcG9uc2UgfSk7XHJcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlO1xyXG5cdFx0XHR9KSxcclxuXHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhmYWxzZSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0KTtcclxuXHR9XHJcblx0Ly/liKDpmaTlm77niYdcclxuXHRmaWxlckRlbGV0ZShmaWQ/OiBzdHJpbmcpIHtcclxuXHRcdGlmIChmaWQpIHtcclxuXHRcdFx0dGhpcy53ZWJfZmlsZXJEZWxldGUoZmlkKS5zdWJzY3JpYmUoKTtcclxuXHRcdH0gZWxzZSBpZiAodGhpcy5maWQubGVuZ3RoID4gMCkge1xyXG5cdFx0XHR0aGlzLndlYl9maWxlckRlbGV0ZSh0aGlzLmZpZCkuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdHdlYl9maWxlckRlbGV0ZShmaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcodHJ1ZSk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCArICdpbWFnZURlbGV0ZScsIGZpZCkucGlwZShcclxuXHRcdFx0bWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0dGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ3N1Y2Nlc3MnLCBzdW1tYXJ5OiAnU3VjY2VzcycsIGRldGFpbDogcmVzcG9uc2UgfSk7XHJcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlO1xyXG5cdFx0XHR9KSxcclxuXHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG5cdFx0XHRcdC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhmYWxzZSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0KTtcclxuXHR9XHJcblx0Ly/liLfmlrB0b2tlblxyXG5cdHJlZnJlc2hUb2tlbihwYXJhbTogVG9rZW5JbmZvKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoICsgJ3JlZnJlc2hUb2tlbicsIHBhcmFtKS5waXBlKFxyXG5cdFx0XHRtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuXHRcdFx0XHR0aGlzLmRlYWxQcm0gPSB7IGRhdGE6IHJlc3BvbnNlLCAuLi50aGlzLmRlYWxQcm0gfTtcclxuXHRcdFx0XHRyZXR1cm4gcmVzcG9uc2U7XHJcblx0XHRcdH0pLFxyXG5cdFx0XHRmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKGZhbHNlKTtcclxuXHRcdFx0fSksXHJcblx0XHQpO1xyXG5cdH1cclxuXHQvL+WIm+W7uuihqFxyXG5cdGNyZWF0ZVRhYmxlKHBybT86IFBhcmFtKSB7XHJcblx0XHRpZiAocHJtKSB7XHJcblx0XHRcdHRoaXMud2ViX2NyZWF0ZVRhYmxlKHBybSkuc3Vic2NyaWJlKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLndlYl9jcmVhdGVUYWJsZSh0aGlzLnBhcmFtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHR9XHJcblx0d2ViX2NyZWF0ZVRhYmxlKHBhcmFtOiBQYXJhbSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcodHJ1ZSk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCArICdjcmVhdGVUYWJsZScsIHBhcmFtKS5waXBlKFxyXG5cdFx0XHRtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuXHRcdFx0XHQvLyB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7c2V2ZXJpdHk6ICdzdWNjZXNzJyxzdW1tYXJ5OiAnU3VjY2VzcycsZGV0YWlsOiByZXNwb25zZX0pXHJcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlO1xyXG5cdFx0XHR9KSxcclxuXHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhmYWxzZSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0KTtcclxuXHR9XHJcblx0Ly8g5pqC5peg56Gu5a6a5piv5ZCm6YeN572u5YW25LuW5YWs5YWx5Y+Y6YePXHJcblx0cmVzZXRQcm0oc2VhcmNoPzogc3RyaW5nKSB7XHJcblx0XHRzd2l0Y2ggKHNlYXJjaCkge1xyXG5cdFx0XHRjYXNlICd1cHNlcnQnOlxyXG5cdFx0XHRcdHRoaXMudXBzZXJ0UHJtLmFkZERhdGEgPSB7fTtcclxuXHRcdFx0XHR0aGlzLnVwc2VydFBybS51cGREYXRhID0ge307XHJcblx0XHRcdFx0dGhpcy51cHNlcnRQcm0ubG9nID0ge307XHJcblx0XHRcdFx0dGhpcy51cHNlcnRQcm0uc3Vic2VydD8uZm9yRWFjaCgodikgPT4ge1xyXG5cdFx0XHRcdFx0di5sb2d0bXAgPSBuZXcgTWFwKCk7XHJcblx0XHRcdFx0XHR2Lm1hcHRtcCA9IG5ldyBNYXAoKTtcclxuXHRcdFx0XHRcdHYuc3ViRGF0YSA9IFtdO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdCcnO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQvL+iHquWkhOeQhumAu+i+kVxyXG5cdGRlYWxRdWVyeShwcm0/OiBEZWFsKSB7XHJcblx0XHRpZiAocHJtKSB7XHJcblx0XHRcdHRoaXMud2ViRGVhbFF1ZXJ5KHBybSkuc3Vic2NyaWJlKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLndlYkRlYWxRdWVyeSh0aGlzLmRlYWxQcm0pLnN1YnNjcmliZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHR3ZWJEZWFsUXVlcnkocGFyYW06IERlYWwpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKHRydWUpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGggKyAnZGVhbFF1ZXJ5JywgcGFyYW0pLnBpcGUoXHJcblx0XHRcdG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuZGVhbFBybSA9IHsgZGF0YTogcmVzcG9uc2UsIC4uLnRoaXMuZGVhbFBybSB9O1xyXG5cdFx0XHRcdHJldHVybiByZXNwb25zZTtcclxuXHRcdFx0fSksXHJcblx0XHRcdGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcoZmFsc2UpO1xyXG5cdFx0XHR9KSxcclxuXHRcdCk7XHJcblx0fVxyXG5cdGRlYWxDdXN0b20ocHJtPzogRGVhbCkge1xyXG5cdFx0aWYgKHBybSkge1xyXG5cdFx0XHR0aGlzLndlYkRlYWxDdXN0b20ocHJtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMud2ViRGVhbEN1c3RvbSh0aGlzLmRlYWxQcm0pLnN1YnNjcmliZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHR3ZWJEZWFsQ3VzdG9tKHBhcmFtOiBEZWFsKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyh0cnVlKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoICsgJ2RlYWxDdXN0b20nLCBwYXJhbSkucGlwZShcclxuXHRcdFx0bWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0dGhpcy5kZWFsUHJtID0geyBkYXRhOiByZXNwb25zZSwgLi4udGhpcy5kZWFsUHJtIH07XHJcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlO1xyXG5cdFx0XHR9KSxcclxuXHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhmYWxzZSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0KTtcclxuXHR9XHJcblx0ZGVhbFN1Ym1pdChwcm0/OiBEZWFsKSB7XHJcblx0XHRpZiAocHJtKSB7XHJcblx0XHRcdHRoaXMud2ViRGVhbEN1c3RvbShwcm0pLnN1YnNjcmliZSgpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy53ZWJEZWFsQ3VzdG9tKHRoaXMuZGVhbFBybSkuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdHdlYkRlYWxTdWJtaXQocGFyYW06IERlYWwpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKHRydWUpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGggKyAnZGVhbFN1Ym1pdCcsIHBhcmFtKS5waXBlKFxyXG5cdFx0XHRtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuXHRcdFx0XHR0aGlzLmRlYWxQcm0gPSB7IGRhdGE6IHJlc3BvbnNlLCAuLi50aGlzLmRlYWxQcm0gfTtcclxuXHRcdFx0XHRyZXR1cm4gcmVzcG9uc2U7XHJcblx0XHRcdH0pLFxyXG5cdFx0XHRmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKGZhbHNlKTtcclxuXHRcdFx0fSksXHJcblx0XHQpO1xyXG5cdH1cclxufVxyXG4iXX0=
533
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9hbS9hbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBd0IsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJFLE9BQU8sS0FBSyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBR3hDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQXVJdEQsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0FBUW5CLE1BQU0sT0FBTyxXQUFXO0lBdUN2QjtRQXRDQSxRQUFRO1FBQ1IsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixPQUFPO1FBQ1AsT0FBRSxHQUFXLENBQUMsQ0FBQztRQUNmLE1BQU07UUFDTixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLE1BQU07UUFDTixVQUFLLEdBQVUsRUFBRSxDQUFDO1FBQ2xCLFFBQUcsR0FBVyxFQUFFLENBQUM7UUFDakIsSUFBSTtRQUNKLGNBQVMsR0FBZ0IsRUFBRSxDQUFDO1FBQzVCLElBQUk7UUFDSixrQkFBYSxHQUFrQixFQUFFLENBQUM7UUFDbEMsTUFBTTtRQUNOLGdCQUFXLEdBQWdCLEVBQUUsQ0FBQztRQUM5QixRQUFRO1FBQ1IsY0FBUyxHQUFX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LFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ3hELEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25ELE9BQU8sUUFBUSxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxFQUNGLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDVCx5Q0FBeUM7UUFDOUMsQ0FBQyxDQUFDLENBQ0YsQ0FBQztJQUNILENBQUM7K0dBN2lCVyxXQUFXO21HQUFYLFdBQVcscURBRlosQ0FBQyxjQUFjLEVBQUUsbUJBQW1CLENBQUMsMEJBRHRDLEVBQUU7OzRGQUdBLFdBQVc7a0JBUHZCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsRUFBRTtvQkFDWCxRQUFRLEVBQUUsRUFBRTtvQkFDWixTQUFTLEVBQUUsQ0FBQyxjQUFjLEVBQUUsbUJBQW1CLENBQUM7aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBlZmZlY3QsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaW5hbGl6ZSwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0IHsgRm9ybU9wdGlvbnMgfSBmcm9tICcuLi9mb3JtL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWFyY2hPcHRpb25zIH0gZnJvbSAnLi4vc2VhcmNoL3NlYXJjaC9zZWFyY2guY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IFRvYXN0IH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBMb2FkaW5nU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvbG9hZGluZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvaTE4bi5zZXJ2aWNlJztcclxuZXhwb3J0IGludGVyZmFjZSBQYXJhbSB7XHJcblx0aWQ/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVHJhY2VNZXNzYWdlIHtcclxuXHRpZD86IG51bWJlcjtcclxuXHRwaWQ/OiBudW1iZXI7IC8vIOihqOS4rWlkXHJcblx0ZnVuYz86IHN0cmluZztcclxuXHRvcGVyYXRvcj86IHN0cmluZztcclxuXHRjb250ZW50Pzogc3RyaW5nOyAvLyDkuLvooajlj5jmm7TmiYDmnInlrZfmrrXmi7zmjqXkuIDlnZdcclxuXHRzdWJDb250ZW50Pzogc3RyaW5nOyAvLyDlrZDooajlj5jmm7Tmi7zmjqXkuIDotbdcclxuXHRjcmVhdGVkQXQ/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBJbXBvcnRFeGNlbCB7XHJcblx0bW9kZWxOYW1lPzogc3RyaW5nO1xyXG5cdG9yZ0lkPzogbnVtYmVyO1xyXG5cdG9yZ05hbWU/OiBzdHJpbmc7XHJcblx0b3JnSWRGZWlsZD86IHN0cmluZztcclxuXHRvcmdOYW1lRmVpbGQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVXBzZXJ0IHtcclxuXHRtb2RlbE5hbWU/OiBzdHJpbmc7XHJcblx0YWRkRGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblx0dXBkRGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblx0c3Vic2VydD86IFN1YlVwc2VydFtdO1xyXG5cdGxvZ01vZGVsPzogc3RyaW5nO1xyXG5cdGxvZz86IFRyYWNlTWVzc2FnZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdWJVcHNlcnQge1xyXG5cdHN1Yk1vZGVsTmFtZT86IHN0cmluZztcclxuXHRmaz86IHN0cmluZztcclxuXHRzdWJEYXRhPzogUmVjb3JkPHN0cmluZywgYW55PltdO1xyXG5cdG1hcHRtcD86IE1hcDxudW1iZXIsIGFueT47XHJcblx0bG9ndG1wPzogTWFwPHN0cmluZywgYW55PjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIERlYWwge1xyXG5cdG1vZGVsTmFtZT86IHN0cmluZztcclxuXHRkYXRhPzogYW55O1xyXG59XHJcbi8vIOabtOaWsOeJueWumuWtl+autVxyXG5leHBvcnQgaW50ZXJmYWNlIFdyaXRlIHtcclxuXHRtb2RlbE5hbWU/OiBzdHJpbmc7XHJcblx0ZGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblx0bG9nTW9kZWw/OiBzdHJpbmc7XHJcblx0bG9nPzogVHJhY2VNZXNzYWdlO1xyXG5cdHRyYW5zYWN0aW9uPzogYm9vbGVhbjtcclxufVxyXG4vLyDliKDpmaTmjqXlj6Plo7DmmI5cclxuZXhwb3J0IGludGVyZmFjZSBSZW1vdmUge1xyXG5cdG1vZGVsTmFtZT86IHN0cmluZztcclxuXHRpZHM/OiBudW1iZXJbXTtcclxuXHRkYXRhPzogYW55O1xyXG5cdGxvZ01vZGVsPzogc3RyaW5nO1xyXG5cdGxvZz86IFRyYWNlTWVzc2FnZTtcclxuXHR0cmFuc2FjdGlvbj86IGJvb2xlYW47XHJcbn1cclxuLy8g6I635Y+W5Y2V5p2h5pWw5o2u6K+m5oOFXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2V0IHtcclxuXHRtb2RlbE5hbWU/OiBzdHJpbmc7XHJcblx0dXNlckNvZGU/OiBzdHJpbmc7XHJcblx0b3JnRmllbGQ/OiBzdHJpbmc7XHJcblx0aWQ/OiBudW1iZXI7XHJcblx0cHJlbG9hZHM/OiBzdHJpbmdbXTsgLy8g6IGU6KGo5p+l6K+i6KGo5ZCN56ew77yM6ZyA5a+55bqU5ZCO56uvc3RydWN0XHJcblx0Zml0ZXJQcmVsb2Fkcz86IFByZWxvYWRbXTsgLy8g5Y+q6IO95Yqg5LiA5bGCIOexu+S8vCAnbW9kdWxlID0nIG1vZHVsZVxyXG5cdGdldExvZz86IGJvb2xlYW47IC8v6I635Y+W5pel5b+XXHJcblx0ZGF0YT86IGFueTsgLy/lkI7nq6/ov5Tlm57nmoRyZXNwb25zZVxyXG5cdGNvbHVtbkZpbHRlcnM/OiBDb2x1bW5GaWx0ZXJbXTsgLy/ov4fmu6TnmoTliJdcclxuXHRmb3JlaWduS2V5Pzogc3RyaW5nOyAvL+ebtOaOpeaPkuWFpeWtkOihqOmcgOimgeS8oOmAkuWklumUruWtl+auteS7peWPiuWklumUruWAvFxyXG5cdFtwcm9wTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUHJlbG9hZCB7XHJcblx0ZmVpbGROYW1lPzogc3RyaW5nO1xyXG5cdGZpdGVycz86IENvbHVtbkZpbHRlcltdO1xyXG5cdHNvcnRzPzogU29ydFtdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uRmlsdGVyIHtcclxuXHRjb2x1bW5GaWVsZD86IHN0cmluZztcclxuXHR0eXBlPzogc3RyaW5nO1xyXG5cdGZpdGVyPzogYW55O1xyXG5cdGZyb20/OiBzdHJpbmcgfCBudW1iZXI7XHJcblx0dG8/OiBzdHJpbmcgfCBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU29ydCB7XHJcblx0ZmllbGQ/OiBzdHJpbmc7XHJcblx0aXNBc2M/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaCB7XHJcblx0bW9kZWxOYW1lPzogc3RyaW5nO1xyXG5cdHVzZXJDb2RlPzogc3RyaW5nO1xyXG5cdG9yZ0ZpZWxkPzogc3RyaW5nO1xyXG5cdGNvdW50PzogYm9vbGVhbjsgLy/mmK/lkKbov5Tlm550b3RhbE51bVxyXG5cdHByZWxvYWRzPzogc3RyaW5nW107XHJcblx0Zml0ZXJQcmVsb2Fkcz86IFByZWxvYWRbXTtcclxuXHRtb2RlbD86IGFueTtcclxuXHRkYXRhPzogYW55O1xyXG5cdGNvbHVtbkZpbHRlcnM/OiBDb2x1bW5GaWx0ZXJbXTsgLy/ov4fmu6TnmoTliJdcclxuXHRzb3J0cz86IFNvcnRbXTtcclxuXHRncm91cHM/OiBzdHJpbmdbXTtcclxuXHRyZWFkPzogc3RyaW5nW107IC8vcmVhZCDmjIflrprmn6Xor6LnibnlrprlrZfmrrVcclxuXHRmdW5jcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47IC8v6YCP6KeG6KGo5ZCO5pyf6KaB55SoXHJcblx0b2Zmc2V0PzogbnVtYmVyO1xyXG5cdGxpbWl0PzogbnVtYmVyO1xyXG5cdHRvdGFsTnVtPzogbnVtYmVyO1xyXG59XHJcbmludGVyZmFjZSBEZWFsRXhwb3J0IGV4dGVuZHMgU2VhcmNoe1xyXG5cdGZpbGVOYW1lPzpzdHJpbmdcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFRva2VuSW5mbyB7XHJcblx0dG9rZW4/OiBzdHJpbmc7XHJcblx0ZXhwaXJlZD86IG51bWJlcjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIGFtV2ViIHtcclxuXHRpZD86IG51bWJlcjtcclxuXHRjb2RlPzogc3RyaW5nO1xyXG5cdHR5cGU/OiBzdHJpbmc7XHJcblx0bmFtZT86IHN0cmluZztcclxuXHRhcHBJZD86IG51bWJlcjtcclxuXHRjb250ZW50Pzogc3RyaW5nO1xyXG5cdGNyZWF0ZWRBdD86IHN0cmluZztcclxuXHR1cGRhdGVkQXQ/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBSZmQge1xyXG5cdG1vZGVsTmFtZT86IHN0cmluZztcclxuXHRsYWJlbEZpZWxkPzogc3RyaW5nO1xyXG5cdHZhbHVlRmllbGQ/OiBzdHJpbmc7XHJcblx0d2hlcmVGaWVsZD86IHN0cmluZztcclxuXHR0eXBlPzogc3RyaW5nO1xyXG5cdGZpdGVyPzogYW55O1xyXG5cdGRhdGE/OiBhbnk7XHJcbn1cclxuY29uc3QgYXBpUGF0aCA9ICcnO1xyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1hbScsXHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRpbXBvcnRzOiBbXSxcclxuXHR0ZW1wbGF0ZTogJycsXHJcblx0cHJvdmlkZXJzOiBbTWVzc2FnZVNlcnZpY2UsIENvbmZpcm1hdGlvblNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW1Db21wb25lbnQge1xyXG5cdC8v5piv5ZCm5o+Q5Lqk5pel5b+XXHJcblx0aXNMb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHQvL+S4u+aVsOaNrmlkXHJcblx0aWQ6IG51bWJlciA9IDA7XHJcblx0Ly/kuLvooajmqKHlnotcclxuXHRtb2RlbE5hbWU6IHN0cmluZyA9ICcnO1xyXG5cdC8vSUTlj4LmlbBcclxuXHRwYXJhbTogUGFyYW0gPSB7fTtcclxuXHRmaWQ6IHN0cmluZyA9ICcnO1xyXG5cdC8v5a+85YWlXHJcblx0aW1wb3J0UHJtOiBJbXBvcnRFeGNlbCA9IHt9O1xyXG5cdC8v5pCc57SgXHJcblx0c2VhcmNoT3B0aW9uczogU2VhcmNoT3B0aW9ucyA9IHt9O1xyXG5cdC8vZm9ybVxyXG5cdGZvcm1PcHRpb25zOiBGb3JtT3B0aW9ucyA9IHt9O1xyXG5cdC8v5Yib5bu65oiW6ICF5pu05pawXHJcblx0dXBzZXJ0UHJtOiBVcHNlcnQgPSB7IHVwZERhdGE6IHt9LCBhZGREYXRhOiB7fSwgc3Vic2VydDogW10sIGxvZzoge30gfTtcclxuXHQvL+WkhOeQhlxyXG5cdGRlYWxQcm06IERlYWwgPSB7fTtcclxuXHQvL21hcOabtOaWsFxyXG5cdHdyaXRlUHJtOiBXcml0ZSA9IHt9O1xyXG5cdC8v5Yig6ZmkXHJcblx0cmVtb3ZlUHJtOiBSZW1vdmUgPSB7fTtcclxuXHQvL+iOt+WPluS4gOadoeaVsOaNrlxyXG5cdGdldFBybTogR2V0ID0geyBkYXRhOiB7fSB9O1xyXG5cdC8v5p+l6K+i5p2h5Lu2XHJcblx0ZmlsdGVyOiBDb2x1bW5GaWx0ZXIgPSB7fTtcclxuXHQvL+afpeivouWIl+ihqOaVsOaNrlxyXG5cdHNlYXJjaFBybTogU2VhcmNoID0ge307XHJcblx0ZXhwb3J0UHJtOiBTZWFyY2ggPSB7fTtcclxuXHR0YW1wbGF0ZTogRGVhbCA9IHt9O1xyXG5cdGh0dHA6IEh0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudCk7XHJcblx0bWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlID0gaW5qZWN0KE1lc3NhZ2VTZXJ2aWNlKTtcclxuXHRjb25maXJtYXRpb25TZXJ2aWNlID0gaW5qZWN0KENvbmZpcm1hdGlvblNlcnZpY2UpO1xyXG5cdGxvYWRpbmdTZXJ2aWNlID0gaW5qZWN0KExvYWRpbmdTZXJ2aWNlKTtcclxuXHRyb3V0ZTogQWN0aXZhdGVkUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xyXG5cdHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG5cdGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpXHJcblx0Y29uc3RydWN0b3IoKSB7fVxyXG5cclxuXHRyZmQocHJtOiBSZmQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGggKyAnUkZEJywgcHJtKS5waXBlKFxyXG5cdFx0XHRtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuXHRcdFx0XHRyZXR1cm4gcmVzcG9uc2U7XHJcblx0XHRcdH0pLFxyXG5cdFx0XHRmaW5hbGl6ZSgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKGZhbHNlKTtcclxuXHRcdFx0fSksXHJcblx0XHQpO1xyXG5cdH1cclxuXHR3ZWJnZXQocGFyYW06IGFtV2ViKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoICsgJy9nb2FtL2FwaS93ZWJnZXQnLCBwYXJhbSkucGlwZShcclxuXHRcdFx0bWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlO1xyXG5cdFx0XHR9KSxcclxuXHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG5cdFx0XHRcdC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhmYWxzZSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHdlYnNhdmUocGFyYW06IGFtV2ViKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoICsgJy9nb2FtL2FwaS93ZWJzYXZlJywgcGFyYW0pLnBpcGUoXHJcblx0XHRcdG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cdFx0XHRcdHJldHVybiByZXNwb25zZTtcclxuXHRcdFx0fSksXHJcblx0XHRcdGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcoZmFsc2UpO1xyXG5cdFx0XHR9KSxcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHR3ZWJkZWwocGFyYW06IGFtV2ViKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoICsgJ3dlYmRlbCcsIHBhcmFtKS5waXBlKFxyXG5cdFx0XHRtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuXHRcdFx0XHRyZXR1cm4gcmVzcG9uc2U7XHJcblx0XHRcdH0pLFxyXG5cdFx0XHRmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKGZhbHNlKTtcclxuXHRcdFx0fSksXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0dXBzZXJ0KHBybT86IGFueSwgY2I/OiBGdW5jdGlvbikge1xyXG5cdFx0Y29uc29sZS5sb2coYHVwc2VydCAke3BybX1gLCBwcm0sIGNiKTtcclxuXHRcdGlmIChwcm0pIHtcclxuXHRcdFx0dGhpcy53ZWJfdXBzZXJ0KHBybSkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuXHRcdFx0XHRjYiAmJiBjYihyZXMpO1xyXG5cdFx0XHRcdHRoaXMucmVzZXRQcm0oJ3Vwc2VydCcpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdC8vIGNvbnN0IHBtOiBVcHNlcnQgPSB0aGlzLnVwc2VydHMoKVxyXG5cdFx0XHQvLyBjb25zb2xlLmxvZygnMT09PT0nLHBtKVxyXG5cdFx0XHR0aGlzLndlYl91cHNlcnQodGhpcy51cHNlcnRQcm0pLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0Y2IgJiYgY2IocmVzKTtcclxuXHRcdFx0XHR0aGlzLnJlc2V0UHJtKCd1cHNlcnQnKTtcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC8v5YWo6YOo5Yib5bu65oiW5pu05paw77yM5qC55o2uSUTliKTmlq1cclxuXHR3ZWJfdXBzZXJ0KHBhcmFtOiBVcHNlcnQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKHRydWUpO1xyXG5cdFx0aWYgKCFwYXJhbS5tb2RlbE5hbWUpIHtcclxuXHRcdFx0cGFyYW0gPSB7IG1vZGVsTmFtZTogdGhpcy5tb2RlbE5hbWUsIC4uLnBhcmFtIH07XHJcblx0XHR9XHJcblx0XHRsZXQgYWRkRGF0YTogYW55ID0gcGFyYW0uYWRkRGF0YTtcclxuXHRcdGlmIChPYmplY3Qua2V5cyhhZGREYXRhKS5sZW5ndGggPT0gMCkge1xyXG5cdFx0XHRkZWxldGUgcGFyYW0uYWRkRGF0YTtcclxuXHRcdH1cclxuXHRcdGxldCB1cGREYXRhOiBhbnkgPSBwYXJhbS51cGREYXRhO1xyXG5cdFx0Ly8gY29uc29sZS5sb2coJ3BhcmFtLS0tLScsIHBhcmFtLnVwZERhdGEpO1xyXG5cdFx0aWYgKE9iamVjdC5rZXlzKHVwZERhdGEpLmxlbmd0aCA9PSAwKSB7XHJcblx0XHRcdGRlbGV0ZSBwYXJhbS51cGREYXRhO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0cGFyYW0udXBkRGF0YSFbJ2lkJ10gPSB0aGlzLmlkO1xyXG5cdFx0XHRwYXJhbS5sb2chLnBpZCA9IHRoaXMuaWQ7XHJcblx0XHR9XHJcblx0XHRpZiAoIXBhcmFtPy5hZGREYXRhICYmICFwYXJhbS51cGREYXRhKSB7XHJcblx0XHRcdHBhcmFtID0geyB1cGREYXRhOiB7IGlkOiB0aGlzLmlkIH0sIC4uLnBhcmFtIH07XHJcblx0XHR9XHJcblx0XHQvLyBjb25zb2xlLmxvZygndGhpcy5pc0xvZy0tLS0nLCB0aGlzLmlzTG9nKTtcclxuXHRcdGlmICghdGhpcy5pc0xvZykge1xyXG5cdFx0XHRkZWxldGUgcGFyYW0ubG9nO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0bGV0IGxnOiBzdHJpbmcgPSAnJztcclxuXHRcdFx0Ly8gQHRzLWlnbm9yZVxyXG5cdFx0XHRjb25zdCBpc0kxOG4gPSB3aW5kb3cuYXBwSXNJMThuXHJcblx0XHRcdGxldCBjcmVhdGVTdHIgPSBpc0kxOG4gPyB0aGlzLmkxOG4uZmFueWkoJ2FwcC5jcmVhdGUnKSA6J+aWsOW7uidcclxuXHRcdFx0cGFyYW0uc3Vic2VydD8uZm9yRWFjaCgodikgPT4ge1xyXG5cdFx0XHRcdHYubG9ndG1wPy5mb3JFYWNoKCh2LCBrKSA9PiB7XHJcblx0XHRcdFx0XHRpZiAodi5pZCA9PT0gMCkge1xyXG5cdFx0XHRcdFx0XHRsZyArPSBgJHtjcmVhdGVTdHJ977yaIC0+ICR7di5uZXdWYWx1ZX07YFxyXG5cdFx0XHRcdFx0XHQvLyBsZyArPSAn5paw5bu677yaIC0+ICcgKyB2Lm5ld1ZhbHVlICsgJzsnO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0bGcgKz0gJ1snICsgdi5pZCArICctJyArIHYubGFiZWwgKyAnXSAnICsgKHYub2xkVmFsdWUgfHwgJycpICsgJyAtPiAnICsgKHYubmV3VmFsdWUgfHwgJycpICsgJzsnO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9KTtcclxuXHRcdFx0cGFyYW0gPSB7IC4uLnBhcmFtLCBsb2c6IHsgLi4ucGFyYW0ubG9nLCBzdWJDb250ZW50OiBsZyB9IH07XHJcblx0XHR9XHJcblx0XHRjb25zb2xlLmxvZyhgd2ViX3Vwc2VydGAsIHBhcmFtKVxyXG5cdFx0Ly8gY29uc29sZS5sb2coJ3BhcmFtPT09PScsIHBhcmFtKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoICsgJ3Vwc2VydCcsIHBhcmFtKS5waXBlKFxyXG5cdFx0XHRtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuXHRcdFx0XHRpZiAocGFyYW0ubG9nKSB7XHJcblx0XHRcdFx0XHRkZWxldGUgcGFyYW0ubG9nO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRyZXR1cm4gcmVzcG9uc2U7XHJcblx0XHRcdH0pLFxyXG5cdFx0XHRmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKGZhbHNlKTtcclxuXHRcdFx0fSksXHJcblx0XHQpO1xyXG5cdH1cclxuXHQvL+iHquWkhOeQhumAu+i+kVxyXG5cdGRlYWwocHJtPzogRGVhbCkge1xyXG5cdFx0aWYgKHBybSkge1xyXG5cdFx0XHR0aGlzLndlYl9kZWFsKHBybSkuc3Vic2NyaWJlKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLndlYl9kZWFsKHRoaXMuZGVhbFBybSkuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdHdlYl9kZWFsKHBhcmFtOiBEZWFsKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyh0cnVlKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoICsgJ2RlYWwnLCBwYXJhbSkucGlwZShcclxuXHRcdFx0bWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0dGhpcy5kZWFsUHJtID0geyBkYXRhOiByZXNwb25zZSwgLi4udGhpcy5kZWFsUHJtIH07XHJcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlO1xyXG5cdFx0XHR9KSxcclxuXHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhmYWxzZSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0KTtcclxuXHR9XHJcblx0Ly/kvKDlhaVtYXDvvIzmoLnmja5JRO+8jOabtOaWsG1hcOaVsOaNrlxyXG5cdHdyaXRlKHBybT86IFdyaXRlKSB7XHJcblx0XHRpZiAocHJtKSB7XHJcblx0XHRcdHRoaXMud2ViX3dyaXRlKHBybSkuc3Vic2NyaWJlKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLndlYl93cml0ZSh0aGlzLndyaXRlUHJtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHR9XHJcblx0d2ViX3dyaXRlKHBhcmFtOiBXcml0ZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcodHJ1ZSk7XHJcblx0XHRpZiAoIXBhcmFtLm1vZGVsTmFtZSkge1xyXG5cdFx0XHRwYXJhbSA9IHsgbW9kZWxOYW1lOiB0aGlzLm1vZGVsTmFtZSwgLi4ucGFyYW0gfTtcclxuXHRcdH1cclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoICsgJ3dyaXRlJywgcGFyYW0pLnBpcGUoXHJcblx0XHRcdG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cdFx0XHRcdGlmIChwYXJhbS5sb2cpIHtcclxuXHRcdFx0XHRcdGRlbGV0ZSBwYXJhbS5sb2c7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHJldHVybiByZXNwb25zZTtcclxuXHRcdFx0fSksXHJcblx0XHRcdGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcoZmFsc2UpO1xyXG5cdFx0XHR9KSxcclxuXHRcdCk7XHJcblx0fVxyXG5cdC8v5qC55o2uSUTliKDpmaRcclxuXHRyZW1vdmUocHJtPzogUmVtb3ZlKSB7XHJcblx0XHRpZiAocHJtKSB7XHJcblx0XHRcdHRoaXMud2ViX3JlbW92ZShwcm0pLnN1YnNjcmliZSgpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy53ZWJfcmVtb3ZlKHRoaXMucmVtb3ZlUHJtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHR9XHJcblx0d2ViX3JlbW92ZShwYXJhbTogUmVtb3ZlKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyh0cnVlKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoICsgJ3JlbW92ZScsIHBhcmFtKS5waXBlKFxyXG5cdFx0XHRtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuXHRcdFx0XHRpZiAocGFyYW0ubG9nKSB7XHJcblx0XHRcdFx0XHRkZWxldGUgcGFyYW0ubG9nO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRyZXR1cm4gcmVzcG9uc2U7XHJcblx0XHRcdH0pLFxyXG5cdFx0XHRmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKGZhbHNlKTtcclxuXHRcdFx0fSksXHJcblx0XHQpO1xyXG5cdH1cclxuXHQvL+agueaNrklE6I635Y+W5LiA5p2h5pWw5o2uXHJcblx0Z2V0KHBybT86IEdldCkge1xyXG5cdFx0aWYgKHBybSkge1xyXG5cdFx0XHR0aGlzLndlYl9nZXQocHJtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMud2ViX2dldCh0aGlzLmdldFBybSkuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdHdlYl9nZXQocGFyYW06IEdldCk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRpZiAoIXBhcmFtLmhhc093blByb3BlcnR5KCdtb2RlbE5hbWUnKSkge1xyXG5cdFx0XHRwYXJhbS5tb2RlbE5hbWUgPSB0aGlzLm1vZGVsTmFtZTtcclxuXHRcdH1cclxuICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyh0cnVlKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoICsgJ2dldCcsIHBhcmFtKS5waXBlKFxyXG5cdFx0XHRtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuXHRcdFx0XHR0aGlzLmdldFBybS5kYXRhID0gcmVzcG9uc2U7XHJcblx0XHRcdFx0aWYgKHJlc3BvbnNlLmlkID09PSAwICYmIHBhcmFtLmhhc093blByb3BlcnR5KCdmb3JlaWduS2V5JykpIHtcclxuXHRcdFx0XHRcdHRoaXMudXBzZXJ0UHJtLmFkZERhdGEhW3BhcmFtLmZvcmVpZ25LZXkhXSA9IHBhcmFtW3BhcmFtLmZvcmVpZ25LZXkhXTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy5pZCA9IHJlc3BvbnNlPy5pZDtcclxuXHRcdFx0XHRyZXR1cm4gcmVzcG9uc2U7XHJcblx0XHRcdH0pLFxyXG5cdFx0XHRmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKGZhbHNlKTtcclxuXHRcdFx0fSksXHJcblx0XHQpO1xyXG5cdH1cclxuXHQvL+iOt+WPluWkmuadoeaVsOaNru+8jOagueaNruS8oOWFpeeahOadoeS7tuiHquWKqOe7hOe7h3NxbFxyXG5cdHNlYXJjaChwcm0/OiBTZWFyY2gpIHtcclxuXHRcdGlmIChwcm0pIHtcclxuXHRcdFx0dGhpcy53ZWJfc2VhcmNoKHBybSkuc3Vic2NyaWJlKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLndlYl9zZWFyY2godGhpcy5zZWFyY2hQcm0pLnN1YnNjcmliZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHR3ZWJfc2VhcmNoKHBhcmFtOiBTZWFyY2gpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKHRydWUpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGggKyAnc2VhcmNoJywgcGFyYW0pLnBpcGUoXHJcblx0XHRcdG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuc2VhcmNoUHJtID0geyAuLi5yZXNwb25zZSB9O1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKCd1cHNleS0tLS0tJywgdGhpcy51cHNlcnRQcm0pO1xyXG5cdFx0XHRcdHJldHVybiByZXNwb25zZTtcclxuXHRcdFx0fSksXHJcblx0XHRcdGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcoZmFsc2UpO1xyXG5cdFx0XHR9KSxcclxuXHRcdCk7XHJcblx0fVxyXG5cdHNlYXJjaG1hcChwcm0/OiBTZWFyY2gpIHtcclxuXHRcdGlmIChwcm0pIHtcclxuXHRcdFx0dGhpcy53ZWJfc2VhcmNoKHBybSkuc3Vic2NyaWJlKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLndlYl9zZWFyY2godGhpcy5zZWFyY2hQcm0pLnN1YnNjcmliZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHR3ZWJfc2VhcmNobWFwKHBhcmFtOiBTZWFyY2gpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKHRydWUpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGggKyAnc2VhcmNoTWFwJywgcGFyYW0pLnBpcGUoXHJcblx0XHRcdG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuc2VhcmNoUHJtID0geyAuLi5yZXNwb25zZSB9O1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKCd1cHNleS0tLS0tJywgdGhpcy51cHNlcnRQcm0pO1xyXG5cdFx0XHRcdHJldHVybiByZXNwb25zZTtcclxuXHRcdFx0fSksXHJcblx0XHRcdGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcoZmFsc2UpO1xyXG5cdFx0XHR9KSxcclxuXHRcdCk7XHJcblx0fVxyXG5cdC8v6I635Y+W5aSa5p2h5pWw5o2u77yM5qC55o2u5Lyg5YWl55qE5p2h5Lu26Ieq5Yqo57uE57uHc3FsXHJcblx0c2VhcmNoQ291bnQocHJtPzogU2VhcmNoKSB7XHJcblx0XHRpZiAocHJtKSB7XHJcblx0XHRcdHRoaXMud2ViX3NlYXJjaENvdW50KHBybSkuc3Vic2NyaWJlKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLndlYl9zZWFyY2hDb3VudCh0aGlzLnNlYXJjaFBybSkuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdHdlYl9zZWFyY2hDb3VudChwYXJhbTogU2VhcmNoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyh0cnVlKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoICsgJ3NlYXJjaENvdW50JywgcGFyYW0pLnBpcGUoXHJcblx0XHRcdG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuc2VhcmNoUHJtID0geyAuLi5yZXNwb25zZSB9O1xyXG5cdFx0XHRcdHJldHVybiByZXNwb25zZTtcclxuXHRcdFx0fSksXHJcblx0XHRcdGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcoZmFsc2UpO1xyXG5cdFx0XHR9KSxcclxuXHRcdCk7XHJcblx0fVxyXG5cdC8vZXhjZWzlr7zlhaVcclxuXHQvLyBpbXBvcnQocGFyYW06IEltcG9ydEV4Y2VsKTpPYnNlcnZhYmxlPGFueT4ge1xyXG5cdC8vICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xyXG5cdC8vICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFwiYW0vcmVtb3ZlXCIscGFyYW0saHR0cE9wdGlvbnMpXHJcblx0Ly8gICAucGlwZShcclxuXHQvLyAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PntcclxuXHQvLyAgICAgICB0aGlzLm1lc3NhZ2Uuc2V0KHJlc3BvbnNlKTtcclxuXHQvLyAgICAgICB0aGlzLmlzU3VjY2Vzcy5zZXQodHJ1ZSk7XHJcblx0Ly8gICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG5cdC8vICAgICB9KSxcclxuXHQvLyAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuXHQvLyAgICAgICAvLyDoi6Xor7fmsYLlh7rplJnvvIzorr7nva7or7fmsYLmiJDlip/nirbmgIHkuLogZmFsc2XvvIzlubblsIbplJnor6/ph43mlrDmipvlh7pcclxuXHQvLyAgICAgICB0aGlzLmlzU3VjY2Vzcy5zZXQoZmFsc2UpO1xyXG5cdC8vICAgICAgIHRoaXMubWVzc2FnZS5zZXQoZXJyb3IpO1xyXG5cdC8vICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcclxuXHQvLyAgICAgfSksXHJcblx0Ly8gICAgIGZpbmFsaXplKCgpID0+IHtcclxuXHQvLyAgICAgICAvLyDml6Dorrror7fmsYLmiJDlip/kuI7lkKbvvIzpg73lsIbliqDovb3kuK3nirbmgIHorr7nva7kuLogZmFsc2VcclxuXHQvLyAgICAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xyXG5cdC8vICAgICB9KVxyXG5cdC8vICAgKTtcclxuXHQvLyB9XHJcblx0Ly8vL2V4Y2VsIOWvvOWHulxyXG5cdGV4cG9ydChwcm0/OiBTZWFyY2gpIHtcclxuXHRcdGlmIChwcm0pIHtcclxuXHRcdFx0dGhpcy53ZWJfZXhwb3J0KHBybSkuc3Vic2NyaWJlKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLndlYl9leHBvcnQodGhpcy5leHBvcnRQcm0pLnN1YnNjcmliZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHR3ZWJfZXhwb3J0KHBhcmFtOiBTZWFyY2gpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0aWYgKCFwYXJhbS5tb2RlbE5hbWUpIHtcclxuXHRcdFx0cGFyYW0gPSB7IG1vZGVsTmFtZTogdGhpcy5tb2RlbE5hbWUsIC4uLnBhcmFtIH07XHJcblx0XHR9XHJcbiAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcodHJ1ZSk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCArICdleHBvcnQnLCBwYXJhbSwgeyByZXNwb25zZVR5cGU6ICdibG9iJyB9KS5waXBlKFxyXG5cdFx0XHRtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuXHRcdFx0XHRjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW3Jlc3BvbnNlXSwge1xyXG5cdFx0XHRcdFx0dHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0OyBjaGFyc2V0PVVURi04JyxcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRjb25zdCBmaWxlTmFtZSA9IHBhcmFtLm1vZGVsTmFtZSArICcueGxzeCc7XHJcblx0XHRcdFx0RmlsZVNhdmVyLnNhdmVBcyhkYXRhLCBmaWxlTmFtZSk7XHJcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlO1xyXG5cdFx0XHR9KSxcclxuXHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhmYWxzZSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0KTtcclxuXHR9XHJcblx0Ly/kurrlt6XlpITnkIblr7zlhaVcclxuXHRkZWFsRXhwb3J0KHBybT86IERlYWxFeHBvcnQpIHtcclxuXHRcdGlmIChwcm0pIHtcclxuXHRcdFx0dGhpcy53ZWJfZGVhbF9leHBvcnQocHJtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMud2ViX2RlYWxfZXhwb3J0KHRoaXMuZXhwb3J0UHJtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHR9XHJcblx0d2ViX2RlYWxfZXhwb3J0KHBhcmFtOiBEZWFsRXhwb3J0KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdGlmICghcGFyYW0ubW9kZWxOYW1lKSB7XHJcblx0XHRcdHBhcmFtID0geyBtb2RlbE5hbWU6IHRoaXMubW9kZWxOYW1lLCAuLi5wYXJhbSB9O1xyXG5cdFx0fVxyXG4gICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKHRydWUpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGggKyAnZGVhbEV4cG9ydCcsIHBhcmFtLCB7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIH0pLnBpcGUoXHJcblx0XHRcdG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbcmVzcG9uc2VdLCB7XHJcblx0XHRcdFx0XHR0eXBlOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7IGNoYXJzZXQ9VVRGLTgnLFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdC8vIGNvbnN0IGZpbGVOYW1lID0gcGFyYW0ubW9kZWxOYW1lICsgJy54bHN4JztcclxuXHRcdFx0XHRjb25zdCBmaWxlTmFtZSA9IGAke3BhcmFtPy5maWxlTmFtZSA/IHBhcmFtLmZpbGVOYW1lIDogcGFyYW0ubW9kZWxOYW1lfS54bHN4YFxyXG5cdFx0XHRcdEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUpO1xyXG5cdFx0XHRcdHJldHVybiByZXNwb25zZTtcclxuXHRcdFx0fSksXHJcblx0XHRcdGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcoZmFsc2UpO1xyXG5cdFx0XHR9KSxcclxuXHRcdCk7XHJcblx0fVxyXG5cdC8v5LiL6L295a+85YWl55qE5qih5p2/XHJcblx0ZG93bmxvYWRUZW1wbGF0ZShwcm0/OiBEZWFsKSB7XHJcblx0XHRpZiAocHJtKSB7XHJcblx0XHRcdHRoaXMud2ViX2Rvd25sb2FkVGVtcGxhdGUocHJtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMud2ViX2Rvd25sb2FkVGVtcGxhdGUodGhpcy50YW1wbGF0ZSkuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdHdlYl9kb3dubG9hZFRlbXBsYXRlKHBhcmFtOiBEZWFsKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyh0cnVlKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoICsgJ2Rvd25sb2FkJywgcGFyYW0sIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSkucGlwZShcclxuXHRcdFx0bWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0Y29uc3QgZGF0YTogQmxvYiA9IG5ldyBCbG9iKFtyZXNwb25zZV0sIHtcclxuXHRcdFx0XHRcdHR5cGU6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldDsgY2hhcnNldD1VVEYtOCcsXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0Y29uc3QgZmlsZU5hbWUgPSBwYXJhbS5tb2RlbE5hbWUgKyAn5qih5p2/Lnhsc3gnO1xyXG5cdFx0XHRcdEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUpO1xyXG5cdFx0XHRcdHJldHVybiByZXNwb25zZTtcclxuXHRcdFx0fSksXHJcblx0XHRcdGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcoZmFsc2UpO1xyXG5cdFx0XHR9KSxcclxuXHRcdCk7XHJcblx0fVxyXG5cdC8v5Yig6Zmk5Zu+54mHXHJcblx0aW1hZ2VEZWxldGUoZmlkPzogc3RyaW5nKSB7XHJcblx0XHRpZiAoZmlkKSB7XHJcblx0XHRcdHRoaXMud2ViX2ltYWdlRGVsZXRlKGZpZCkuc3Vic2NyaWJlKCk7XHJcblx0XHR9IGVsc2UgaWYgKHRoaXMuZmlkLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0dGhpcy53ZWJfaW1hZ2VEZWxldGUodGhpcy5maWQpLnN1YnNjcmliZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHR3ZWJfaW1hZ2VEZWxldGUoZmlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKHRydWUpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGggKyAnaW1hZ2VEZWxldGUnLCBmaWQpLnBpcGUoXHJcblx0XHRcdG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdzdWNjZXNzJywgc3VtbWFyeTogJ1N1Y2Nlc3MnLCBkZXRhaWw6IHJlc3BvbnNlIH0pO1xyXG5cdFx0XHRcdHJldHVybiByZXNwb25zZTtcclxuXHRcdFx0fSksXHJcblx0XHRcdGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcoZmFsc2UpO1xyXG5cdFx0XHR9KSxcclxuXHRcdCk7XHJcblx0fVxyXG5cdC8v5Yig6Zmk5Zu+54mHXHJcblx0ZmlsZXJEZWxldGUoZmlkPzogc3RyaW5nKSB7XHJcblx0XHRpZiAoZmlkKSB7XHJcblx0XHRcdHRoaXMud2ViX2ZpbGVyRGVsZXRlKGZpZCkuc3Vic2NyaWJlKCk7XHJcblx0XHR9IGVsc2UgaWYgKHRoaXMuZmlkLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0dGhpcy53ZWJfZmlsZXJEZWxldGUodGhpcy5maWQpLnN1YnNjcmliZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHR3ZWJfZmlsZXJEZWxldGUoZmlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKHRydWUpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGggKyAnaW1hZ2VEZWxldGUnLCBmaWQpLnBpcGUoXHJcblx0XHRcdG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdzdWNjZXNzJywgc3VtbWFyeTogJ1N1Y2Nlc3MnLCBkZXRhaWw6IHJlc3BvbnNlIH0pO1xyXG5cdFx0XHRcdHJldHVybiByZXNwb25zZTtcclxuXHRcdFx0fSksXHJcblx0XHRcdGZpbmFsaXplKCgpID0+IHtcclxuXHRcdFx0XHQvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcoZmFsc2UpO1xyXG5cdFx0XHR9KSxcclxuXHRcdCk7XHJcblx0fVxyXG5cdC8v5Yi35pawdG9rZW5cclxuXHRyZWZyZXNoVG9rZW4ocGFyYW06IFRva2VuSW5mbyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCArICdyZWZyZXNoVG9rZW4nLCBwYXJhbSkucGlwZShcclxuXHRcdFx0bWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0dGhpcy5kZWFsUHJtID0geyBkYXRhOiByZXNwb25zZSwgLi4udGhpcy5kZWFsUHJtIH07XHJcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlO1xyXG5cdFx0XHR9KSxcclxuXHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhmYWxzZSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0KTtcclxuXHR9XHJcblx0Ly/liJvlu7rooahcclxuXHRjcmVhdGVUYWJsZShwcm0/OiBQYXJhbSkge1xyXG5cdFx0aWYgKHBybSkge1xyXG5cdFx0XHR0aGlzLndlYl9jcmVhdGVUYWJsZShwcm0pLnN1YnNjcmliZSgpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy53ZWJfY3JlYXRlVGFibGUodGhpcy5wYXJhbSkuc3Vic2NyaWJlKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdHdlYl9jcmVhdGVUYWJsZShwYXJhbTogUGFyYW0pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKHRydWUpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KGFwaVBhdGggKyAnY3JlYXRlVGFibGUnLCBwYXJhbSkucGlwZShcclxuXHRcdFx0bWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0Ly8gdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe3NldmVyaXR5OiAnc3VjY2Vzcycsc3VtbWFyeTogJ1N1Y2Nlc3MnLGRldGFpbDogcmVzcG9uc2V9KVxyXG5cdFx0XHRcdHJldHVybiByZXNwb25zZTtcclxuXHRcdFx0fSksXHJcblx0XHRcdGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcoZmFsc2UpO1xyXG5cdFx0XHR9KSxcclxuXHRcdCk7XHJcblx0fVxyXG5cdC8vIOaaguaXoOehruWumuaYr+WQpumHjee9ruWFtuS7luWFrOWFseWPmOmHj1xyXG5cdHJlc2V0UHJtKHNlYXJjaD86IHN0cmluZykge1xyXG5cdFx0c3dpdGNoIChzZWFyY2gpIHtcclxuXHRcdFx0Y2FzZSAndXBzZXJ0JzpcclxuXHRcdFx0XHR0aGlzLnVwc2VydFBybS5hZGREYXRhID0ge307XHJcblx0XHRcdFx0dGhpcy51cHNlcnRQcm0udXBkRGF0YSA9IHt9O1xyXG5cdFx0XHRcdHRoaXMudXBzZXJ0UHJtLmxvZyA9IHt9O1xyXG5cdFx0XHRcdHRoaXMudXBzZXJ0UHJtLnN1YnNlcnQ/LmZvckVhY2goKHYpID0+IHtcclxuXHRcdFx0XHRcdHYubG9ndG1wID0gbmV3IE1hcCgpO1xyXG5cdFx0XHRcdFx0di5tYXB0bXAgPSBuZXcgTWFwKCk7XHJcblx0XHRcdFx0XHR2LnN1YkRhdGEgPSBbXTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0ZGVmYXVsdDpcclxuXHRcdFx0XHQnJztcclxuXHRcdH1cclxuXHR9XHJcblx0Ly/oh6rlpITnkIbpgLvovpFcclxuXHRkZWFsUXVlcnkocHJtPzogRGVhbCkge1xyXG5cdFx0aWYgKHBybSkge1xyXG5cdFx0XHR0aGlzLndlYkRlYWxRdWVyeShwcm0pLnN1YnNjcmliZSgpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy53ZWJEZWFsUXVlcnkodGhpcy5kZWFsUHJtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHR9XHJcblx0d2ViRGVhbFF1ZXJ5KHBhcmFtOiBEZWFsKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyh0cnVlKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoICsgJ2RlYWxRdWVyeScsIHBhcmFtKS5waXBlKFxyXG5cdFx0XHRtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuXHRcdFx0XHR0aGlzLmRlYWxQcm0gPSB7IGRhdGE6IHJlc3BvbnNlLCAuLi50aGlzLmRlYWxQcm0gfTtcclxuXHRcdFx0XHRyZXR1cm4gcmVzcG9uc2U7XHJcblx0XHRcdH0pLFxyXG5cdFx0XHRmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgLy8gdGhpcy5sb2FkaW5nU2VydmljZS5zZXRMb2FkaW5nKGZhbHNlKTtcclxuXHRcdFx0fSksXHJcblx0XHQpO1xyXG5cdH1cclxuXHRkZWFsQ3VzdG9tKHBybT86IERlYWwpIHtcclxuXHRcdGlmIChwcm0pIHtcclxuXHRcdFx0dGhpcy53ZWJEZWFsQ3VzdG9tKHBybSkuc3Vic2NyaWJlKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLndlYkRlYWxDdXN0b20odGhpcy5kZWFsUHJtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH1cclxuXHR9XHJcblx0d2ViRGVhbEN1c3RvbShwYXJhbTogRGVhbCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcodHJ1ZSk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpUGF0aCArICdkZWFsQ3VzdG9tJywgcGFyYW0pLnBpcGUoXHJcblx0XHRcdG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuZGVhbFBybSA9IHsgZGF0YTogcmVzcG9uc2UsIC4uLnRoaXMuZGVhbFBybSB9O1xyXG5cdFx0XHRcdHJldHVybiByZXNwb25zZTtcclxuXHRcdFx0fSksXHJcblx0XHRcdGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAvLyB0aGlzLmxvYWRpbmdTZXJ2aWNlLnNldExvYWRpbmcoZmFsc2UpO1xyXG5cdFx0XHR9KSxcclxuXHRcdCk7XHJcblx0fVxyXG5cdGRlYWxTdWJtaXQocHJtPzogRGVhbCkge1xyXG5cdFx0aWYgKHBybSkge1xyXG5cdFx0XHR0aGlzLndlYkRlYWxDdXN0b20ocHJtKS5zdWJzY3JpYmUoKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMud2ViRGVhbEN1c3RvbSh0aGlzLmRlYWxQcm0pLnN1YnNjcmliZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHR3ZWJEZWFsU3VibWl0KHBhcmFtOiBEZWFsKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyh0cnVlKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAucG9zdChhcGlQYXRoICsgJ2RlYWxTdWJtaXQnLCBwYXJhbSkucGlwZShcclxuXHRcdFx0bWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0dGhpcy5kZWFsUHJtID0geyBkYXRhOiByZXNwb25zZSwgLi4udGhpcy5kZWFsUHJtIH07XHJcblx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlO1xyXG5cdFx0XHR9KSxcclxuXHRcdFx0ZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgIC8vIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2V0TG9hZGluZyhmYWxzZSk7XHJcblx0XHRcdH0pLFxyXG5cdFx0KTtcclxuXHR9XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2NvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './payload.type';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2NvcmUvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGF5bG9hZC50eXBlJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bG9hZC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9jb3JlL3R5cGVzL3BheWxvYWQudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgVXBkYXRlQnlLZXlQYXlsb2FkPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4gPSB7XG5cdFtLIGluIGtleW9mIFRdOiB7XG5cdFx0a2V5OiBLO1xuXHRcdHZhbHVlOiBUW0tdO1xuXHR9O1xufVtrZXlvZiBUXTtcbiJdfQ==
@@ -138,6 +138,7 @@ export class CrumbActionComponent extends AmComponent {
138
138
  }
139
139
  }
140
140
  handleSave() {
141
+ console.log(`handleSavfdsfse`);
141
142
  this.saveEvent.emit();
142
143
  }
143
144
  back(item) {
@@ -205,4 +206,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
205
206
  type: HostListener,
206
207
  args: ['window:resize', ['$event']]
207
208
  }] } });
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1bWItYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvY3J1bWItYWN0aW9uL2NydW1iLWFjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2NydW1iLWFjdGlvbi9jcnVtYi1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFDTixTQUFTLEVBQ1QsUUFBUSxFQUNSLFlBQVksRUFDWixNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUVOLE1BQU0sRUFFTixTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFlLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQVFoRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsV0FBVztJQXlFcEQ7UUFDQyxLQUFLLEVBQUUsQ0FBQztRQXpFVCx1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNoRCxXQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9CLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3pCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENB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UUFDMUIsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsWUFBWTtRQUNYLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUMvQyxDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOytHQXhMVyxvQkFBb0I7bUdBQXBCLG9CQUFvQiwwNUVDOUJqQyw0OFBBcUxNLHE0TUQzSkssWUFBWSw2YUFBRSxhQUFhLGlEQUFFLFlBQVksMFNBQUUsVUFBVTs7NEZBSW5ELG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDQyxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDO3dEQXlCL0MsRUFBRTtzQkFBbEIsU0FBUzt1QkFBQyxJQUFJO2dCQUNNLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDQyxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBeUM4QixpQkFBaUI7c0JBQWhFLFlBQVk7dUJBQUMsUUFBUSxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRTtnQkFxQzlDLE1BQU07c0JBREwsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbUNvbXBvbmVudCB9IGZyb20gJy4vLi4vYW0vYW0uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuXHRDb21wb25lbnQsXHJcblx0Y29tcHV0ZWQsXHJcblx0Q29udGVudENoaWxkLFxyXG5cdGVmZmVjdCxcclxuXHRIb3N0TGlzdGVuZXIsXHJcblx0aW5qZWN0LFxyXG5cdGlucHV0LFxyXG5cdE9uSW5pdCxcclxuXHRvdXRwdXQsXHJcblx0T3V0cHV0LFxyXG5cdHNpZ25hbCxcclxuXHRUZW1wbGF0ZVJlZixcclxuXHRWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVzZXJIaXN0b3J5U2VydmljZSwgSGlzdG9yeUl0ZW0sIEFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IFBvcG92ZXIgfSBmcm9tICdwcmltZW5nL3BvcG92ZXInO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBUaWVyZWRNZW51IH0gZnJvbSAncHJpbWVuZy90aWVyZWRtZW51JztcclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtY3J1bWItYWN0aW9uJyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdGltcG9ydHM6IFtCdXR0b25Nb2R1bGUsIFRyYW5zbGF0ZVBpcGUsIENvbW1vbk1vZHVsZSwgVGllcmVkTWVudV0sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2NydW1iLWFjdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmw6ICcuL2NydW1iLWFjdGlvbi5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcnVtYkFjdGlvbkNvbXBvbmVudCBleHRlbmRzIEFtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHR1c2VySGlzdG9yeVNlcnZpY2UgPSBpbmplY3QoVXNlckhpc3RvcnlTZXJ2aWNlKTtcclxuXHRhY3Rpb24gPSBpbmplY3QoQWN0aW9uU2VydmljZSk7XHJcblx0Y3J1bWJMaXN0ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG5cdFx0bGV0IGNydW1iID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnVzZXJIaXN0b3J5U2VydmljZS5oaXN0b3J5TGlzdCgpKSk7XHJcblx0XHQvLyBjb25zb2xlLmxvZygnY3J1bWInLGNydW1iKVxyXG5cdFx0Ly8gQHRzLWlnbm9yZVxyXG5cdFx0Y29uc3QgaXNJMThuID0gd2luZG93LmFwcElzSTE4bjtcclxuXHRcdGlmICghaXNJMThuKSB7XHJcblx0XHRcdGNydW1iLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xyXG5cdFx0XHRcdGl0ZW0uaTE4bktleSA9ICcnO1xyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBjcnVtYi5tYXAoKHY6IGFueSkgPT4gdik7XHJcblx0fSk7XHJcblx0Y3J1bWJUaXRsZSA9IHNpZ25hbDxhbnk+KHt9KTtcclxuXHQvLyByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuXHRpc05ldyA9IGZhbHNlO1xyXG5cdGlzU2hvd0NvZyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRjcnVtYkZyb250OiBIaXN0b3J5SXRlbVtdID0gW107XHJcblx0Y3J1bWJFbmQ6IEhpc3RvcnlJdGVtW10gPSBbXTtcclxuXHRAVmlld0NoaWxkKCdvcCcpIG9wITogUG9wb3ZlcjtcclxuXHRAVmlld0NoaWxkKCdsaXN0T3AnKSBsaXN0T3AhOiBQb3BvdmVyO1xyXG5cdEBWaWV3Q2hpbGQoJ2FjdE9wJykgYWN0T3AhOiBQb3BvdmVyO1xyXG5cdHNhdmVFdmVudCA9IG91dHB1dCgpO1xyXG5cdC8vIOaWsOW7uuaMiemSrlxyXG5cdGFkZFZpc2libGUgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkPigpO1xyXG5cdGltcG9ydFZpc2libGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRleHBvcnRWaXNpYmxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0bmV3VXJsID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcblx0Y29uZmlnTmV3UGF0aCA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdG9uRXhwb3J0ID0gaW5wdXQ8RnVuY3Rpb24+KCk7XHJcblx0Ly8g5paw5bu65oyJ6ZKub3V0bGluZVxyXG5cdG91dGxpbmVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdC8vIOaYr+WQpuaYr+WIl+ihqOmhtemdolxyXG5cdGlzTGlzdCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHQvLyDmnYPpmZDnrYnnuqdcclxuXHRhdXRoTGV2ZWwgPSBpbnB1dDxudW1iZXI+KC0xKTtcclxuXHRjYW5jZWxFdmVudCA9IG91dHB1dCgpO1xyXG5cdGFjdGlvbkxpc3QgPSBpbnB1dDxhbnk+KFtdKTtcclxuXHRhY3Rpb25FdmVudCA9IG91dHB1dCgpO1xyXG5cdGRhdGEgPSBpbnB1dDxhbnk+KCk7XHJcblx0c2hvd0FjdCA9IGZhbHNlO1xyXG5cdG1lbnVzID0gaW5wdXQ8YW55W10+KFtdKTtcclxuXHRkaXNwbGF5T3BJdGVtcyA9IGNvbXB1dGVkKCgpID0+IHtcclxuXHRcdGNvbnN0IGxpc3RPcEl0ZW1zID0gWy4uLnRoaXMubWVudXMoKV07XHJcblx0XHRpZiAodGhpcy5pbXBvcnRWaXNpYmxlKCkpIHtcclxuXHRcdFx0bGlzdE9wSXRlbXMucHVzaCh7XHJcblx0XHRcdFx0bGFiZWw6ICdhcHAudGFibGVBY0ltcG9ydCcsXHJcblx0XHRcdFx0dHlwZTogJ2ltcG9ydCcsXHJcblx0XHRcdFx0aWNvbjogJ3BpIHBpLXVwbG9hZCcsXHJcblx0XHRcdFx0YXV0aDogMyxcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0XHRpZiAodGhpcy5leHBvcnRWaXNpYmxlKCkpIHtcclxuXHRcdFx0bGlzdE9wSXRlbXMucHVzaCh7XHJcblx0XHRcdFx0bGFiZWw6ICdhcHAudGFibGVBY0V4cG9ydCcsXHJcblx0XHRcdFx0dHlwZTogJ2V4cG9ydCcsXHJcblx0XHRcdFx0aWNvbjogJ3BpIHBpLWRvd25sb2FkJyxcclxuXHRcdFx0XHRhdXRoOiAyLFxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBsaXN0T3BJdGVtcy5maWx0ZXIoKHYpID0+IHRoaXMuYXV0aExldmVsKCkgPj0gdi5hdXRoKTtcclxuXHR9KTtcclxuXHRAQ29udGVudENoaWxkKCduZXdCdG4nLCB7IGRlc2NlbmRhbnRzOiBmYWxzZSB9KSBuZXdCdG5UZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcclxuXHRpc1NhdmUgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5hY3Rpb24uc2F2ZVNpZ25hbCgpO1xyXG5cdH0pO1xyXG5cdGxvYWRpbmcgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5hY3Rpb24ubG9hZGluZygpO1xyXG5cdH0pO1xyXG5cdHNhdmVCdG5EaXNhYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdGN1cnJlbnRQYWdlVXJsID0gJyc7XHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHRzdXBlcigpO1xyXG5cdFx0ZWZmZWN0KFxyXG5cdFx0XHQoKSA9PiB7XHJcblx0XHRcdFx0bGV0IGxhc3QgPSB0aGlzLmNydW1iTGlzdCgpLnBvcCgpO1xyXG5cdFx0XHRcdGlmIChsYXN0Py51cmwpIHtcclxuXHRcdFx0XHRcdHRoaXMuaXNOZXcgPSBsYXN0LnVybD8uaW5kZXhPZignbmV3JykgPiAtMSA/IHRydWUgOiBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMuY3VycmVudFBhZ2VVcmwgPSBsYXN0LnVybDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKGxhc3Q/LnRpdGxlKSB7XHJcblx0XHRcdFx0XHR0aGlzLmNydW1iVGl0bGUuc2V0KGxhc3QpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Y29uc3QgbGVuZ3RoID0gdGhpcy5jcnVtYkxpc3QoKS5sZW5ndGg7XHJcblx0XHRcdFx0aWYgKGxlbmd0aCA+IDIpIHtcclxuXHRcdFx0XHRcdHRoaXMuY3J1bWJGcm9udCA9IHRoaXMuY3J1bWJMaXN0KClcclxuXHRcdFx0XHRcdFx0Lm1hcCgodjogYW55KSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0di5sYWJlbCA9IHYudGl0bGU7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHY7XHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdC5maWx0ZXIoKHY6IEhpc3RvcnlJdGVtLCBpbmRleDogbnVtYmVyKSA9PiBpbmRleCA8PSBsZW5ndGggLSAxIC0gMik7XHJcblx0XHRcdFx0XHR0aGlzLmNydW1iRW5kID0gW3RoaXMuY3J1bWJMaXN0KClbbGVuZ3RoIC0gMl0sIHRoaXMuY3J1bWJMaXN0KClbbGVuZ3RoIC0gMV1dO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxyXG5cdFx0KTtcclxuXHR9XHJcblx0QEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcblx0cmVzaXplKGV2ZW50OiBhbnkpIHtcclxuXHRcdGxldCB3aW5kb3dXaWR0aCA9IChldmVudC50YXJnZXQgYXMgV2luZG93KS5pbm5lcldpZHRoO1xyXG5cdFx0aWYgKHdpbmRvd1dpZHRoIDwgNzY4KSB7XHJcblx0XHRcdHRoaXMuc2hvd0FjdCA9IHRydWU7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLnNob3dBY3QgPSBmYWxzZTtcclxuXHRcdH1cclxuXHR9XHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLnNob3dBY3QgPSB3aW5kb3cuaW5uZXJXaWR0aCA8IDc2OCA/IHRydWUgOiBmYWxzZTtcclxuXHR9XHJcblxyXG5cdGdvTmV3KCkge1xyXG5cdFx0aWYgKCF0aGlzLmNvbmZpZ05ld1BhdGgoKSkge1xyXG5cdFx0XHRpZiAodGhpcy5uZXdVcmwoKSA9PSAnJykgcmV0dXJuO1xyXG5cdFx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5uZXdVcmwoKV0pLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdHRoaXMudXNlckhpc3RvcnlTZXJ2aWNlLnNldExhc3RUaXRsZSgnTmV3Jyk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMuY29uZmlnTmV3UGF0aCgpXSkudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0dGhpcy51c2VySGlzdG9yeVNlcnZpY2Uuc2V0TGFzdFRpdGxlKCdOZXcnKTtcclxuXHRcdFx0XHR0aGlzLnVzZXJIaXN0b3J5U2VydmljZS5maWx0ZXJVcmwodGhpcy5jdXJyZW50UGFnZVVybCk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Y2xvc2VOZXcoKSB7XHJcblx0XHRsZXQgbGVuZ3RoID0gdGhpcy5jcnVtYkxpc3QoKS5sZW5ndGg7XHJcblx0XHRsZXQgbGFzdCA9IHRoaXMuY3J1bWJMaXN0KClbbGVuZ3RoIC0gMV07XHJcblx0XHRpZiAobGFzdCkge1xyXG5cdFx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbbGFzdC51cmxdKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuY2FuY2VsRXZlbnQuZW1pdCgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aGFuZGxlU2F2ZSgpIHtcclxuXHRcdHRoaXMuc2F2ZUV2ZW50LmVtaXQoKTtcclxuXHR9XHJcblxyXG5cdGJhY2soaXRlbTogYW55KSB7XHJcblx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbaXRlbS51cmxdKTtcclxuXHR9XHJcblxyXG5cdHRvZ2dsZShldmVudDogYW55KSB7XHJcblx0XHR0aGlzLm9wLnRvZ2dsZShldmVudCk7XHJcblx0fVxyXG5cclxuXHR0b2dnbGVMaXN0T3AoZXZlbnQ6IGFueSkge1xyXG5cdFx0aWYgKCF0aGlzLmlzTGlzdCgpKSByZXR1cm47XHJcblx0XHR0aGlzLmxpc3RPcCAmJiB0aGlzLmxpc3RPcC50b2dnbGUoZXZlbnQpO1xyXG5cdH1cclxuXHJcblx0bGlzdEFjdChpdGVtOiBhbnkpIHtcclxuXHRcdGlmIChpdGVtLnR5cGUgPT09ICdleHBvcnQnKSB7XHJcblx0XHRcdGlmKHRoaXMub25FeHBvcnQoKSAmJiB0eXBlb2YgdGhpcy5vbkV4cG9ydCgpID09ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRcdHRoaXMub25FeHBvcnQgJiYgdGhpcy5vbkV4cG9ydCgpISgpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMuYWN0aW9uLnNldEFjdGlvbih7IHR5cGU6IGl0ZW0udHlwZSB9KTtcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIGlmIChpdGVtLnR5cGUgPT09ICdpbXBvcnQnKSB7XHJcblx0XHRcdHRoaXMuYWN0aW9uLnNldEFjdGlvbih7IHR5cGU6IGl0ZW0udHlwZSB9KTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGlmIChpdGVtLmhhc093blByb3BlcnR5KCdvbkNsaWNrJykgJiYgdHlwZW9mIGl0ZW0ub25DbGljayA9PT0gJ2Z1bmN0aW9uJykge1xyXG5cdFx0XHRcdGl0ZW0ub25DbGljayhpdGVtKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YWN0RXZlbnQoaXRlbTogYW55KSB7XHJcblx0XHR0aGlzLmFjdGlvbkV2ZW50LmVtaXQoaXRlbSk7XHJcblx0fVxyXG5cclxuXHR0b2dnbGVBY3QoZXZlbnQ6IGFueSkge1xyXG5cdFx0aWYgKHRoaXMuaXNMaXN0KCkpIHJldHVybjtcclxuXHRcdHRoaXMuYWN0T3AgJiYgdGhpcy5hY3RPcC50b2dnbGUoZXZlbnQpO1xyXG5cdH1cclxuXHRzZXRTYXZlQ2xhc3MoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5pc1NhdmUoKSA/ICdkYW5nZXInIDogJ3NlY29uZGFyeSc7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpIHtcclxuXHRcdHRoaXMuYWN0aW9uLnNhdmVTaWduYWwuc2V0KGZhbHNlKTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xXCI+XG4gIDxkaXYgY2xhc3M9XCJsZWZ0LWJ0biBmbGV4IGdhcC0xXCI+XG4gICAgPCEtLSBUT0RPIOadg+mZkOaVsOaNruaOpeWFpSAtLT5cbiAgICBAaWYoIW5ld0J0blRlbXBsYXRlUmVmKXtcbiAgICAgIEBpZih0aGlzLmF1dGhMZXZlbCgpID4gMiAmJiBhZGRWaXNpYmxlKCkpe1xuICAgICAgICA8cC1idXR0b24gKGNsaWNrKT1cImdvTmV3KClcIiBbb3V0bGluZWRdPVwib3V0bGluZWQoKVwiPnt7J2FwcC5jcmVhdGUnIHwgdHJhbnNsYXRlfX08L3AtYnV0dG9uPlxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5ld0J0blRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgfVxuICA8L2Rpdj5cbiAgQGlmKGNydW1iTGlzdCgpLmxlbmd0aCA+IDApe1xuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGxlYWRpbmctbm9uZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImhpZGRlbiBtZDpmbGV4XCI+XG4gICAgICAgIEBpZihjcnVtYkxpc3QoKS5sZW5ndGggPD0gMil7XG4gICAgICAgICAgQGZvcihmY2hpbGQgb2YgY3J1bWJMaXN0KCk7IHRyYWNrIGZjaGlsZC51cmwpe1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNydW1iLXRpdGxlIGN1cnNvci1wb2ludGVyIHRleHQtWzEycHhdIG1heC13LVsxMjBweF0gb3ZlcmZsb3ctaGlkZGVuIHdoaXRlc3BhY2Utbm93cmFwIHRleHQtZWxsaXBzaXNcIiAoY2xpY2spPVwiYmFjayhmY2hpbGQpXCI+XG4gICAgICAgICAgICAgICBAaWYoZmNoaWxkLmkxOG5LZXkhPSAnJyl7XG4gICAgICAgICAgICAgICAge3sgZmNoaWxkIS5pMThuS2V5IHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIHt7ZmNoaWxkLnRpdGxlfX1cbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcnVtYi10aXRsZSBjdXJzb3ItcG9pbnRlciBzZWxlY3QtY3J1bWJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctWzE3cHhdIGgtWzE3cHhdIGZsZXggaXRlbXMtY2VudGVyIGZvbnQtYm9sZCB0ZXh0LVsxM3B4XVwiIChjbGljayk9XCJ0b2dnbGUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIC4uLlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHAtdGllcmVkbWVudSAjb3AgW21vZGVsXT1cImNydW1iRnJvbnRcIiBbcG9wdXBdPVwidHJ1ZVwiIFtzdHlsZV09XCJ7cG9zaXRpb246J2Fic29sdXRlJ31cIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW0gbGV0LWl0ZW0gbGV0LWhhc1N1Ym1lbnU9XCJoYXNTdWJtZW51XCI+XG4gICAgICAgICAgICAgICAgICA8YSBwUmlwcGxlIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgcC10aWVyZWRtZW51LWl0ZW0tbGlua1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMiB3LWZ1bGxcIiAoY2xpY2spPVwiYmFjayhpdGVtKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmKGl0ZW0uaTE4bktleSE9ICcnKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbSEuaTE4bktleSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7aXRlbS50aXRsZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L3AtdGllcmVkbWVudT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGZvcihpdGVtIG9mIGNydW1iRW5kO3RyYWNrIGl0ZW0udXJsKXtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNydW1iLXRpdGxlIGN1cnNvci1wb2ludGVyIHRleHQtWzEycHhdIG1heC13LVsxMjBweF0gb3ZlcmZsb3ctaGlkZGVuIHdoaXRlc3BhY2Utbm93cmFwIHRleHQtZWxsaXBzaXNcIiAoY2xpY2spPVwiYmFjayhpdGVtKVwiPlxuICAgICAgICAgICAgICAgIEBpZihpdGVtLmkxOG5LZXkhPSAnJyl7XG4gICAgICAgICAgICAgICAgICB7eyBpdGVtIS5pMThuS2V5IHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICB7e2l0ZW0udGl0bGV9fVxuICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWluLXctMCB0ZXh0LXRleHQtY29sb3IgdGV4dC1bMTJweF0gdGl0bGUtYWN0aW9uXCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgW3RpdGxlXT1cImlzTmV3PyAnTmV3JzpjcnVtYlRpdGxlKCkudGl0bGVcIiBcbiAgICAgICAgICBjbGFzcz1cImhpZGRlbiBtZDppbmxpbmUtYmxvY2sgbWF4LXctWzE1MHB4XSBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcFwiPlxuICAgICAgICAgIHt7aXNOZXc/ICdOZXcnOmNydW1iVGl0bGUoKS50aXRsZX19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgQGlmKGlzU2hvd0NvZygpKXtcbiAgICAgICAgICBAaWYoaXNMaXN0KCkpe1xuICAgICAgICAgICAgPHAtYnV0dG9uIHZhcmlhbnQ9XCJ0ZXh0XCIgc2V2ZXJpdHk9XCJzZWNvbmRhcnlcIiBpY29uPVwicGkgIHBpLWNvZ1wiIGFyaWEtbGFiZWw9XCLmk43kvZxcIiAob25DbGljayk9XCJ0b2dnbGVMaXN0T3AoJGV2ZW50KVwiLz5cbiAgICAgICAgICAgIEBpZihkaXNwbGF5T3BJdGVtcygpLmxlbmd0aCA+IDApe1xuICAgICAgICAgICAgICA8cC10aWVyZWRtZW51ICNsaXN0T3AgW21vZGVsXT1cImRpc3BsYXlPcEl0ZW1zKClcIiBbcG9wdXBdPVwidHJ1ZVwiIFtzdHlsZV09XCJ7cG9zaXRpb246J2Fic29sdXRlJ31cIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW0gbGV0LWl0ZW0gbGV0LWhhc1N1Ym1lbnU9XCJoYXNTdWJtZW51XCI+XG4gICAgICAgICAgICAgICAgICA8YSBwUmlwcGxlIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgcC10aWVyZWRtZW51LWl0ZW0tbGlua1wiIChjbGljayk9XCJsaXN0QWN0KGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJpdGVtLmljb25cIiBjbGFzcz1cInAtdGllcmVkbWVudS1pdGVtLWljb25cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMlwiPnt7IGl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5zaG9ydGN1dFwiIGNsYXNzPVwibWwtYXV0byBib3JkZXIgYm9yZGVyLXN1cmZhY2Ugcm91bmRlZCBiZy1lbXBoYXNpcyB0ZXh0LW11dGVkLWNvbG9yIHRleHQteHMgcC0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnNob3J0Y3V0IH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJoYXNTdWJtZW51XCIgY2xhc3M9XCJwaSBwaS1hbmdsZS1yaWdodCBtbC1hdXRvXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L3AtdGllcmVkbWVudT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxwLWJ1dHRvbiB2YXJpYW50PVwidGV4dFwiIHNldmVyaXR5PVwic2Vjb25kYXJ5XCIgaWNvbj1cInBpICBwaS1jb2dcIiBhcmlhLWxhYmVsPVwi5pON5L2cXCIgKG9uQ2xpY2spPVwidG9nZ2xlQWN0KCRldmVudClcIi8+XG4gICAgICAgICAgICBAaWYoYWN0aW9uTGlzdCgpLmxlbmd0aCA+IDAgJiYgc2hvd0FjdCl7XG4gICAgICAgICAgICAgIDxwLXRpZXJlZG1lbnUgI2FjdE9wIFttb2RlbF09XCJhY3Rpb25MaXN0KClcIiBbcG9wdXBdPVwidHJ1ZVwiIFtzdHlsZV09XCJ7cG9zaXRpb246J2Fic29sdXRlJ31cIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW0gbGV0LWl0ZW0gbGV0LWhhc1N1Ym1lbnU9XCJoYXNTdWJtZW51XCI+XG4gICAgICAgICAgICAgICAgICA8YSBwUmlwcGxlIFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHAtdGllcmVkbWVudS1pdGVtLWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiKGl0ZW0uYXV0aCB8fCAwKSA+IChhdXRoTGV2ZWwoKSB8fCAwKSB8fCAhIWl0ZW0uYnRuSGlkZGVuPy4oZGF0YSgpKSA/ICdoaWRkZW4nIDogJ2Jsb2NrJ1wiIFxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0RXZlbnQoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC0yXCI+e3tpdGVtLmkxOG5LZXkgPyAoaXRlbS5pMThuS2V5IHwgdHJhbnNsYXRlKSA6IGl0ZW0ubGFiZWx9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLnNob3J0Y3V0XCIgY2xhc3M9XCJtbC1hdXRvIGJvcmRlciBib3JkZXItc3VyZmFjZSByb3VuZGVkIGJnLWVtcGhhc2lzIHRleHQtbXV0ZWQtY29sb3IgdGV4dC14cyBwLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uc2hvcnRjdXQgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImhhc1N1Ym1lbnVcIiBjbGFzcz1cInBpIHBpLWFuZ2xlLXJpZ2h0IG1sLWF1dG9cIj48L2k+XG4gICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9wLXRpZXJlZG1lbnU+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZih0aGlzLmF1dGhMZXZlbCgpID4gMiAmJiAhaXNMaXN0KCkpe1xuICAgICAgICAgIDxwLWJ1dHRvbiBcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCIgXG4gICAgICAgICAgICBbc2V2ZXJpdHldPVwic2V0U2F2ZUNsYXNzKClcIiBcbiAgICAgICAgICAgIGljb249XCJwaSAgcGktY2xvdWQtdXBsb2FkXCIgXG4gICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nKClcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIuaJi+WKqOS/neWtmFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwic2F2ZUJ0bkRpc2FibGUoKVwiIFxuICAgICAgICAgICAgY2xhc3M9XCJwLTBcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVNhdmUoKVwiPlxuICAgICAgICAgIDwvcC1idXR0b24+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBAaWYoY3J1bWJMaXN0KCkubGVuZ3RoID49IDIpeyAtLT5cbiAgICAgICAgICA8cC1idXR0b24gXG4gICAgICAgICAgICB2YXJpYW50PVwidGV4dFwiIFxuICAgICAgICAgICAgc2V2ZXJpdHk9XCJzZWNvbmRhcnlcIiBcbiAgICAgICAgICAgIGljb249XCJwaSAgcGktdGltZXNcIiBcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCLlhbPpl61cIiBcbiAgICAgICAgICAgIGNsYXNzPVwicC0wXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZU5ldygpXCI+XG4gICAgICAgICAgPC9wLWJ1dHRvbj5cbiAgICAgICAgPCEtLSB9IC0tPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH0gQGVsc2Uge1xuICAgIDwhLS0g5Yid5aeL6IqC54K5IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJtaW4tdy0wIGZsZXggaXRlbXMtY2VudGVyIHRleHQtWzE0cHhdIHRleHQtdGV4dC1jb2xvclwiPlxuICAgICAgPHNwYW4gXG4gICAgICAgIFt0aXRsZV09XCJjcnVtYlRpdGxlKCkuaTE4bktleSAhPSAnJyA/IChjcnVtYlRpdGxlKCkuaTE4bktleSB8IHRyYW5zbGF0ZSkgOiBjcnVtYlRpdGxlKCkudGl0bGVcIlxuICAgICAgICBjbGFzcz1cImhpZGRlbiBtZDppbmxpbmUtYmxvY2sgbWF4LXctWzEyMHB4XSBvdmVyZmxvdy1oaWRkZW4gd2hpdGVzcGFjZS1ub3dyYXAgdGV4dC1lbGxpcHNpc1wiPlxuICAgICAgICBAaWYoY3J1bWJUaXRsZSgpLmkxOG5LZXkgIT0gJycpe1xuICAgICAgICAgIHt7Y3J1bWJUaXRsZSgpLmkxOG5LZXkgfCB0cmFuc2xhdGV9fVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICB7e2NydW1iVGl0bGUoKS50aXRsZX19XG4gICAgICAgIH1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIEBpZihpc1Nob3dDb2coKSl7XG4gICAgICAgIDxwLWJ1dHRvbiBcbiAgICAgICAgICB2YXJpYW50PVwidGV4dFwiXG4gICAgICAgICAgc2V2ZXJpdHk9XCJzZWNvbmRhcnlcIiBcbiAgICAgICAgICBpY29uPVwicGkgIHBpLWNvZ1wiIFxuICAgICAgICAgIGFyaWEtbGFiZWw9XCLmk43kvZxcIiBcbiAgICAgICAgICAob25DbGljayk9XCJ0b2dnbGVMaXN0T3AoJGV2ZW50KVwiLz5cbiAgICAgICAgICBAaWYoZGlzcGxheU9wSXRlbXMoKS5sZW5ndGggPiAwKXtcbiAgICAgICAgICAgIDxwLXRpZXJlZG1lbnUgI2xpc3RPcCBbbW9kZWxdPVwiZGlzcGxheU9wSXRlbXMoKVwiIFtwb3B1cF09XCJ0cnVlXCIgW3N0eWxlXT1cIntwb3NpdGlvbjonYWJzb2x1dGUnfVwiPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW0gbGV0LWl0ZW0gbGV0LWhhc1N1Ym1lbnU9XCJoYXNTdWJtZW51XCI+XG4gICAgICAgICAgICAgICAgPGEgcFJpcHBsZSBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHAtdGllcmVkbWVudS1pdGVtLWxpbmtcIiAoY2xpY2spPVwibGlzdEFjdChpdGVtKVwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cIml0ZW0uaWNvblwiIGNsYXNzPVwicC10aWVyZWRtZW51LWl0ZW0taWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMlwiPnt7IGl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uc2hvcnRjdXRcIiBjbGFzcz1cIm1sLWF1dG8gYm9yZGVyIGJvcmRlci1zdXJmYWNlIHJvdW5kZWQgYmctZW1waGFzaXMgdGV4dC1tdXRlZC1jb2xvciB0ZXh0LXhzIHAtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uc2hvcnRjdXQgfX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiaGFzU3VibWVudVwiIGNsYXNzPVwicGkgcGktYW5nbGUtcmlnaHQgbWwtYXV0b1wiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9wLXRpZXJlZG1lbnU+XG4gICAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIEBpZighaXNMaXN0KCkpe1xuICAgICAgICA8cC1idXR0b24gXG4gICAgICAgICAgdmFyaWFudD1cInRleHRcIiBcbiAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiIFxuICAgICAgICAgIGljb249XCJwaSAgcGktY2xvdWQtdXBsb2FkXCIgXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIuaJi+WKqOS/neWtmFwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInNhdmVCdG5EaXNhYmxlKClcIiBcbiAgICAgICAgICBjbGFzcz1cInAtMFwiXG4gICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVNhdmUoKVwiPlxuICAgICAgICA8L3AtYnV0dG9uPlxuICAgICAgICA8cC1idXR0b24gXG4gICAgICAgICAgdmFyaWFudD1cInRleHRcIiBcbiAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiIFxuICAgICAgICAgIGljb249XCJwaSAgcGktdGltZXNcIiBcbiAgICAgICAgICBhcmlhLWxhYmVsPVwi5YWz6ZetXCIgXG4gICAgICAgICAgY2xhc3M9XCJwLTBcIlxuICAgICAgICAgIChjbGljayk9XCJjbG9zZU5ldygpXCI+XG4gICAgICAgIDwvcC1idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cbiAgXG48L2Rpdj4iXX0=
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1bWItYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvY3J1bWItYWN0aW9uL2NydW1iLWFjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2NydW1iLWFjdGlvbi9jcnVtYi1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFDTixTQUFTLEVBQ1QsUUFBUSxFQUNSLFlBQVksRUFDWixNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUVOLE1BQU0sRUFFTixTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFlLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQVFoRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsV0FBVztJQXlFcEQ7UUFDQyxLQUFLLEVBQUUsQ0FBQztRQXpFVCx1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNoRCxXQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9CLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3pCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENB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VTtRQUNuQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFBRSxPQUFPO1FBQzFCLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNELFlBQVk7UUFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDL0MsQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQzsrR0F6TFcsb0JBQW9CO21HQUFwQixvQkFBb0IsMDVFQzlCakMsNDhQQXFMTSxxNE1EM0pLLFlBQVksNmFBQUUsYUFBYSxpREFBRSxZQUFZLDBTQUFFLFVBQVU7OzRGQUluRCxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0Msa0JBQWtCLGNBQ2hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQzt3REF5Qi9DLEVBQUU7c0JBQWxCLFNBQVM7dUJBQUMsSUFBSTtnQkFDTSxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBQ0MsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQXlDOEIsaUJBQWlCO3NCQUFoRSxZQUFZO3VCQUFDLFFBQVEsRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7Z0JBcUM5QyxNQUFNO3NCQURMLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW1Db21wb25lbnQgfSBmcm9tICcuLy4uL2FtL2FtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcblx0Q29tcG9uZW50LFxyXG5cdGNvbXB1dGVkLFxyXG5cdENvbnRlbnRDaGlsZCxcclxuXHRlZmZlY3QsXHJcblx0SG9zdExpc3RlbmVyLFxyXG5cdGluamVjdCxcclxuXHRpbnB1dCxcclxuXHRPbkluaXQsXHJcblx0b3V0cHV0LFxyXG5cdE91dHB1dCxcclxuXHRzaWduYWwsXHJcblx0VGVtcGxhdGVSZWYsXHJcblx0Vmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVc2VySGlzdG9yeVNlcnZpY2UsIEhpc3RvcnlJdGVtLCBBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHVibGljLWFwaSc7XHJcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBQb3BvdmVyIH0gZnJvbSAncHJpbWVuZy9wb3BvdmVyJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgVGllcmVkTWVudSB9IGZyb20gJ3ByaW1lbmcvdGllcmVkbWVudSc7XHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLWNydW1iLWFjdGlvbicsXHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRpbXBvcnRzOiBbQnV0dG9uTW9kdWxlLCBUcmFuc2xhdGVQaXBlLCBDb21tb25Nb2R1bGUsIFRpZXJlZE1lbnVdLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9jcnVtYi1hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsOiAnLi9jcnVtYi1hY3Rpb24uY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3J1bWJBY3Rpb25Db21wb25lbnQgZXh0ZW5kcyBBbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblx0dXNlckhpc3RvcnlTZXJ2aWNlID0gaW5qZWN0KFVzZXJIaXN0b3J5U2VydmljZSk7XHJcblx0YWN0aW9uID0gaW5qZWN0KEFjdGlvblNlcnZpY2UpO1xyXG5cdGNydW1iTGlzdCA9IGNvbXB1dGVkKCgpID0+IHtcclxuXHRcdGxldCBjcnVtYiA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy51c2VySGlzdG9yeVNlcnZpY2UuaGlzdG9yeUxpc3QoKSkpO1xyXG5cdFx0Ly8gY29uc29sZS5sb2coJ2NydW1iJyxjcnVtYilcclxuXHRcdC8vIEB0cy1pZ25vcmVcclxuXHRcdGNvbnN0IGlzSTE4biA9IHdpbmRvdy5hcHBJc0kxOG47XHJcblx0XHRpZiAoIWlzSTE4bikge1xyXG5cdFx0XHRjcnVtYi5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcclxuXHRcdFx0XHRpdGVtLmkxOG5LZXkgPSAnJztcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gY3J1bWIubWFwKCh2OiBhbnkpID0+IHYpO1xyXG5cdH0pO1xyXG5cdGNydW1iVGl0bGUgPSBzaWduYWw8YW55Pih7fSk7XHJcblx0Ly8gcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcblx0aXNOZXcgPSBmYWxzZTtcclxuXHRpc1Nob3dDb2cgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0Y3J1bWJGcm9udDogSGlzdG9yeUl0ZW1bXSA9IFtdO1xyXG5cdGNydW1iRW5kOiBIaXN0b3J5SXRlbVtdID0gW107XHJcblx0QFZpZXdDaGlsZCgnb3AnKSBvcCE6IFBvcG92ZXI7XHJcblx0QFZpZXdDaGlsZCgnbGlzdE9wJykgbGlzdE9wITogUG9wb3ZlcjtcclxuXHRAVmlld0NoaWxkKCdhY3RPcCcpIGFjdE9wITogUG9wb3ZlcjtcclxuXHRzYXZlRXZlbnQgPSBvdXRwdXQoKTtcclxuXHQvLyDmlrDlu7rmjInpkq5cclxuXHRhZGRWaXNpYmxlID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZD4oKTtcclxuXHRpbXBvcnRWaXNpYmxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0ZXhwb3J0VmlzaWJsZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG5cdG5ld1VybCA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdGNvbmZpZ05ld1BhdGggPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHRvbkV4cG9ydCA9IGlucHV0PEZ1bmN0aW9uPigpO1xyXG5cdC8vIOaWsOW7uuaMiemSrm91dGxpbmVcclxuXHRvdXRsaW5lZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHQvLyDmmK/lkKbmmK/liJfooajpobXpnaJcclxuXHRpc0xpc3QgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0Ly8g5p2D6ZmQ562J57qnXHJcblx0YXV0aExldmVsID0gaW5wdXQ8bnVtYmVyPigtMSk7XHJcblx0Y2FuY2VsRXZlbnQgPSBvdXRwdXQoKTtcclxuXHRhY3Rpb25MaXN0ID0gaW5wdXQ8YW55PihbXSk7XHJcblx0YWN0aW9uRXZlbnQgPSBvdXRwdXQoKTtcclxuXHRkYXRhID0gaW5wdXQ8YW55PigpO1xyXG5cdHNob3dBY3QgPSBmYWxzZTtcclxuXHRtZW51cyA9IGlucHV0PGFueVtdPihbXSk7XHJcblx0ZGlzcGxheU9wSXRlbXMgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRjb25zdCBsaXN0T3BJdGVtcyA9IFsuLi50aGlzLm1lbnVzKCldO1xyXG5cdFx0aWYgKHRoaXMuaW1wb3J0VmlzaWJsZSgpKSB7XHJcblx0XHRcdGxpc3RPcEl0ZW1zLnB1c2goe1xyXG5cdFx0XHRcdGxhYmVsOiAnYXBwLnRhYmxlQWNJbXBvcnQnLFxyXG5cdFx0XHRcdHR5cGU6ICdpbXBvcnQnLFxyXG5cdFx0XHRcdGljb246ICdwaSBwaS11cGxvYWQnLFxyXG5cdFx0XHRcdGF1dGg6IDMsXHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdFx0aWYgKHRoaXMuZXhwb3J0VmlzaWJsZSgpKSB7XHJcblx0XHRcdGxpc3RPcEl0ZW1zLnB1c2goe1xyXG5cdFx0XHRcdGxhYmVsOiAnYXBwLnRhYmxlQWNFeHBvcnQnLFxyXG5cdFx0XHRcdHR5cGU6ICdleHBvcnQnLFxyXG5cdFx0XHRcdGljb246ICdwaSBwaS1kb3dubG9hZCcsXHJcblx0XHRcdFx0YXV0aDogMixcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gbGlzdE9wSXRlbXMuZmlsdGVyKCh2KSA9PiB0aGlzLmF1dGhMZXZlbCgpID49IHYuYXV0aCk7XHJcblx0fSk7XHJcblx0QENvbnRlbnRDaGlsZCgnbmV3QnRuJywgeyBkZXNjZW5kYW50czogZmFsc2UgfSkgbmV3QnRuVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XHJcblx0aXNTYXZlID0gY29tcHV0ZWQoKCkgPT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuYWN0aW9uLnNhdmVTaWduYWwoKTtcclxuXHR9KTtcclxuXHRsb2FkaW5nID0gY29tcHV0ZWQoKCkgPT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuYWN0aW9uLmxvYWRpbmcoKTtcclxuXHR9KTtcclxuXHRzYXZlQnRuRGlzYWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRjdXJyZW50UGFnZVVybCA9ICcnO1xyXG5cdGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0c3VwZXIoKTtcclxuXHRcdGVmZmVjdChcclxuXHRcdFx0KCkgPT4ge1xyXG5cdFx0XHRcdGxldCBsYXN0ID0gdGhpcy5jcnVtYkxpc3QoKS5wb3AoKTtcclxuXHRcdFx0XHRpZiAobGFzdD8udXJsKSB7XHJcblx0XHRcdFx0XHR0aGlzLmlzTmV3ID0gbGFzdC51cmw/LmluZGV4T2YoJ25ldycpID4gLTEgPyB0cnVlIDogZmFsc2U7XHJcblx0XHRcdFx0XHR0aGlzLmN1cnJlbnRQYWdlVXJsID0gbGFzdC51cmw7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChsYXN0Py50aXRsZSkge1xyXG5cdFx0XHRcdFx0dGhpcy5jcnVtYlRpdGxlLnNldChsYXN0KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGNvbnN0IGxlbmd0aCA9IHRoaXMuY3J1bWJMaXN0KCkubGVuZ3RoO1xyXG5cdFx0XHRcdGlmIChsZW5ndGggPiAyKSB7XHJcblx0XHRcdFx0XHR0aGlzLmNydW1iRnJvbnQgPSB0aGlzLmNydW1iTGlzdCgpXHJcblx0XHRcdFx0XHRcdC5tYXAoKHY6IGFueSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHYubGFiZWwgPSB2LnRpdGxlO1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiB2O1xyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHQuZmlsdGVyKCh2OiBIaXN0b3J5SXRlbSwgaW5kZXg6IG51bWJlcikgPT4gaW5kZXggPD0gbGVuZ3RoIC0gMSAtIDIpO1xyXG5cdFx0XHRcdFx0dGhpcy5jcnVtYkVuZCA9IFt0aGlzLmNydW1iTGlzdCgpW2xlbmd0aCAtIDJdLCB0aGlzLmNydW1iTGlzdCgpW2xlbmd0aCAtIDFdXTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcclxuXHRcdCk7XHJcblx0fVxyXG5cdEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG5cdHJlc2l6ZShldmVudDogYW55KSB7XHJcblx0XHRsZXQgd2luZG93V2lkdGggPSAoZXZlbnQudGFyZ2V0IGFzIFdpbmRvdykuaW5uZXJXaWR0aDtcclxuXHRcdGlmICh3aW5kb3dXaWR0aCA8IDc2OCkge1xyXG5cdFx0XHR0aGlzLnNob3dBY3QgPSB0cnVlO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5zaG93QWN0ID0gZmFsc2U7XHJcblx0XHR9XHJcblx0fVxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5zaG93QWN0ID0gd2luZG93LmlubmVyV2lkdGggPCA3NjggPyB0cnVlIDogZmFsc2U7XHJcblx0fVxyXG5cclxuXHRnb05ldygpIHtcclxuXHRcdGlmICghdGhpcy5jb25maWdOZXdQYXRoKCkpIHtcclxuXHRcdFx0aWYgKHRoaXMubmV3VXJsKCkgPT0gJycpIHJldHVybjtcclxuXHRcdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMubmV3VXJsKCldKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHR0aGlzLnVzZXJIaXN0b3J5U2VydmljZS5zZXRMYXN0VGl0bGUoJ05ldycpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmNvbmZpZ05ld1BhdGgoKV0pLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdHRoaXMudXNlckhpc3RvcnlTZXJ2aWNlLnNldExhc3RUaXRsZSgnTmV3Jyk7XHJcblx0XHRcdFx0dGhpcy51c2VySGlzdG9yeVNlcnZpY2UuZmlsdGVyVXJsKHRoaXMuY3VycmVudFBhZ2VVcmwpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGNsb3NlTmV3KCkge1xyXG5cdFx0bGV0IGxlbmd0aCA9IHRoaXMuY3J1bWJMaXN0KCkubGVuZ3RoO1xyXG5cdFx0bGV0IGxhc3QgPSB0aGlzLmNydW1iTGlzdCgpW2xlbmd0aCAtIDFdO1xyXG5cdFx0aWYgKGxhc3QpIHtcclxuXHRcdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGUoW2xhc3QudXJsXSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLmNhbmNlbEV2ZW50LmVtaXQoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGhhbmRsZVNhdmUoKSB7XHJcblx0XHRjb25zb2xlLmxvZyhgaGFuZGxlU2F2ZmRzZnNlYClcclxuXHRcdHRoaXMuc2F2ZUV2ZW50LmVtaXQoKTtcclxuXHR9XHJcblxyXG5cdGJhY2soaXRlbTogYW55KSB7XHJcblx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbaXRlbS51cmxdKTtcclxuXHR9XHJcblxyXG5cdHRvZ2dsZShldmVudDogYW55KSB7XHJcblx0XHR0aGlzLm9wLnRvZ2dsZShldmVudCk7XHJcblx0fVxyXG5cclxuXHR0b2dnbGVMaXN0T3AoZXZlbnQ6IGFueSkge1xyXG5cdFx0aWYgKCF0aGlzLmlzTGlzdCgpKSByZXR1cm47XHJcblx0XHR0aGlzLmxpc3RPcCAmJiB0aGlzLmxpc3RPcC50b2dnbGUoZXZlbnQpO1xyXG5cdH1cclxuXHJcblx0bGlzdEFjdChpdGVtOiBhbnkpIHtcclxuXHRcdGlmIChpdGVtLnR5cGUgPT09ICdleHBvcnQnKSB7XHJcblx0XHRcdGlmKHRoaXMub25FeHBvcnQoKSAmJiB0eXBlb2YgdGhpcy5vbkV4cG9ydCgpID09ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRcdHRoaXMub25FeHBvcnQgJiYgdGhpcy5vbkV4cG9ydCgpISgpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMuYWN0aW9uLnNldEFjdGlvbih7IHR5cGU6IGl0ZW0udHlwZSB9KTtcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIGlmIChpdGVtLnR5cGUgPT09ICdpbXBvcnQnKSB7XHJcblx0XHRcdHRoaXMuYWN0aW9uLnNldEFjdGlvbih7IHR5cGU6IGl0ZW0udHlwZSB9KTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGlmIChpdGVtLmhhc093blByb3BlcnR5KCdvbkNsaWNrJykgJiYgdHlwZW9mIGl0ZW0ub25DbGljayA9PT0gJ2Z1bmN0aW9uJykge1xyXG5cdFx0XHRcdGl0ZW0ub25DbGljayhpdGVtKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YWN0RXZlbnQoaXRlbTogYW55KSB7XHJcblx0XHR0aGlzLmFjdGlvbkV2ZW50LmVtaXQoaXRlbSk7XHJcblx0fVxyXG5cclxuXHR0b2dnbGVBY3QoZXZlbnQ6IGFueSkge1xyXG5cdFx0aWYgKHRoaXMuaXNMaXN0KCkpIHJldHVybjtcclxuXHRcdHRoaXMuYWN0T3AgJiYgdGhpcy5hY3RPcC50b2dnbGUoZXZlbnQpO1xyXG5cdH1cclxuXHRzZXRTYXZlQ2xhc3MoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5pc1NhdmUoKSA/ICdkYW5nZXInIDogJ3NlY29uZGFyeSc7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpIHtcclxuXHRcdHRoaXMuYWN0aW9uLnNhdmVTaWduYWwuc2V0KGZhbHNlKTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xXCI+XG4gIDxkaXYgY2xhc3M9XCJsZWZ0LWJ0biBmbGV4IGdhcC0xXCI+XG4gICAgPCEtLSBUT0RPIOadg+mZkOaVsOaNruaOpeWFpSAtLT5cbiAgICBAaWYoIW5ld0J0blRlbXBsYXRlUmVmKXtcbiAgICAgIEBpZih0aGlzLmF1dGhMZXZlbCgpID4gMiAmJiBhZGRWaXNpYmxlKCkpe1xuICAgICAgICA8cC1idXR0b24gKGNsaWNrKT1cImdvTmV3KClcIiBbb3V0bGluZWRdPVwib3V0bGluZWQoKVwiPnt7J2FwcC5jcmVhdGUnIHwgdHJhbnNsYXRlfX08L3AtYnV0dG9uPlxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5ld0J0blRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgfVxuICA8L2Rpdj5cbiAgQGlmKGNydW1iTGlzdCgpLmxlbmd0aCA+IDApe1xuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGxlYWRpbmctbm9uZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImhpZGRlbiBtZDpmbGV4XCI+XG4gICAgICAgIEBpZihjcnVtYkxpc3QoKS5sZW5ndGggPD0gMil7XG4gICAgICAgICAgQGZvcihmY2hpbGQgb2YgY3J1bWJMaXN0KCk7IHRyYWNrIGZjaGlsZC51cmwpe1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNydW1iLXRpdGxlIGN1cnNvci1wb2ludGVyIHRleHQtWzEycHhdIG1heC13LVsxMjBweF0gb3ZlcmZsb3ctaGlkZGVuIHdoaXRlc3BhY2Utbm93cmFwIHRleHQtZWxsaXBzaXNcIiAoY2xpY2spPVwiYmFjayhmY2hpbGQpXCI+XG4gICAgICAgICAgICAgICBAaWYoZmNoaWxkLmkxOG5LZXkhPSAnJyl7XG4gICAgICAgICAgICAgICAge3sgZmNoaWxkIS5pMThuS2V5IHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIHt7ZmNoaWxkLnRpdGxlfX1cbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcnVtYi10aXRsZSBjdXJzb3ItcG9pbnRlciBzZWxlY3QtY3J1bWJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctWzE3cHhdIGgtWzE3cHhdIGZsZXggaXRlbXMtY2VudGVyIGZvbnQtYm9sZCB0ZXh0LVsxM3B4XVwiIChjbGljayk9XCJ0b2dnbGUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIC4uLlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHAtdGllcmVkbWVudSAjb3AgW21vZGVsXT1cImNydW1iRnJvbnRcIiBbcG9wdXBdPVwidHJ1ZVwiIFtzdHlsZV09XCJ7cG9zaXRpb246J2Fic29sdXRlJ31cIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW0gbGV0LWl0ZW0gbGV0LWhhc1N1Ym1lbnU9XCJoYXNTdWJtZW51XCI+XG4gICAgICAgICAgICAgICAgICA8YSBwUmlwcGxlIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgcC10aWVyZWRtZW51LWl0ZW0tbGlua1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMiB3LWZ1bGxcIiAoY2xpY2spPVwiYmFjayhpdGVtKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmKGl0ZW0uaTE4bktleSE9ICcnKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbSEuaTE4bktleSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7aXRlbS50aXRsZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L3AtdGllcmVkbWVudT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGZvcihpdGVtIG9mIGNydW1iRW5kO3RyYWNrIGl0ZW0udXJsKXtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNydW1iLXRpdGxlIGN1cnNvci1wb2ludGVyIHRleHQtWzEycHhdIG1heC13LVsxMjBweF0gb3ZlcmZsb3ctaGlkZGVuIHdoaXRlc3BhY2Utbm93cmFwIHRleHQtZWxsaXBzaXNcIiAoY2xpY2spPVwiYmFjayhpdGVtKVwiPlxuICAgICAgICAgICAgICAgIEBpZihpdGVtLmkxOG5LZXkhPSAnJyl7XG4gICAgICAgICAgICAgICAgICB7eyBpdGVtIS5pMThuS2V5IHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICB7e2l0ZW0udGl0bGV9fVxuICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWluLXctMCB0ZXh0LXRleHQtY29sb3IgdGV4dC1bMTJweF0gdGl0bGUtYWN0aW9uXCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgW3RpdGxlXT1cImlzTmV3PyAnTmV3JzpjcnVtYlRpdGxlKCkudGl0bGVcIiBcbiAgICAgICAgICBjbGFzcz1cImhpZGRlbiBtZDppbmxpbmUtYmxvY2sgbWF4LXctWzE1MHB4XSBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcFwiPlxuICAgICAgICAgIHt7aXNOZXc/ICdOZXcnOmNydW1iVGl0bGUoKS50aXRsZX19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgQGlmKGlzU2hvd0NvZygpKXtcbiAgICAgICAgICBAaWYoaXNMaXN0KCkpe1xuICAgICAgICAgICAgPHAtYnV0dG9uIHZhcmlhbnQ9XCJ0ZXh0XCIgc2V2ZXJpdHk9XCJzZWNvbmRhcnlcIiBpY29uPVwicGkgIHBpLWNvZ1wiIGFyaWEtbGFiZWw9XCLmk43kvZxcIiAob25DbGljayk9XCJ0b2dnbGVMaXN0T3AoJGV2ZW50KVwiLz5cbiAgICAgICAgICAgIEBpZihkaXNwbGF5T3BJdGVtcygpLmxlbmd0aCA+IDApe1xuICAgICAgICAgICAgICA8cC10aWVyZWRtZW51ICNsaXN0T3AgW21vZGVsXT1cImRpc3BsYXlPcEl0ZW1zKClcIiBbcG9wdXBdPVwidHJ1ZVwiIFtzdHlsZV09XCJ7cG9zaXRpb246J2Fic29sdXRlJ31cIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW0gbGV0LWl0ZW0gbGV0LWhhc1N1Ym1lbnU9XCJoYXNTdWJtZW51XCI+XG4gICAgICAgICAgICAgICAgICA8YSBwUmlwcGxlIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgcC10aWVyZWRtZW51LWl0ZW0tbGlua1wiIChjbGljayk9XCJsaXN0QWN0KGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJpdGVtLmljb25cIiBjbGFzcz1cInAtdGllcmVkbWVudS1pdGVtLWljb25cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMlwiPnt7IGl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5zaG9ydGN1dFwiIGNsYXNzPVwibWwtYXV0byBib3JkZXIgYm9yZGVyLXN1cmZhY2Ugcm91bmRlZCBiZy1lbXBoYXNpcyB0ZXh0LW11dGVkLWNvbG9yIHRleHQteHMgcC0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnNob3J0Y3V0IH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJoYXNTdWJtZW51XCIgY2xhc3M9XCJwaSBwaS1hbmdsZS1yaWdodCBtbC1hdXRvXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L3AtdGllcmVkbWVudT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxwLWJ1dHRvbiB2YXJpYW50PVwidGV4dFwiIHNldmVyaXR5PVwic2Vjb25kYXJ5XCIgaWNvbj1cInBpICBwaS1jb2dcIiBhcmlhLWxhYmVsPVwi5pON5L2cXCIgKG9uQ2xpY2spPVwidG9nZ2xlQWN0KCRldmVudClcIi8+XG4gICAgICAgICAgICBAaWYoYWN0aW9uTGlzdCgpLmxlbmd0aCA+IDAgJiYgc2hvd0FjdCl7XG4gICAgICAgICAgICAgIDxwLXRpZXJlZG1lbnUgI2FjdE9wIFttb2RlbF09XCJhY3Rpb25MaXN0KClcIiBbcG9wdXBdPVwidHJ1ZVwiIFtzdHlsZV09XCJ7cG9zaXRpb246J2Fic29sdXRlJ31cIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW0gbGV0LWl0ZW0gbGV0LWhhc1N1Ym1lbnU9XCJoYXNTdWJtZW51XCI+XG4gICAgICAgICAgICAgICAgICA8YSBwUmlwcGxlIFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHAtdGllcmVkbWVudS1pdGVtLWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiKGl0ZW0uYXV0aCB8fCAwKSA+IChhdXRoTGV2ZWwoKSB8fCAwKSB8fCAhIWl0ZW0uYnRuSGlkZGVuPy4oZGF0YSgpKSA/ICdoaWRkZW4nIDogJ2Jsb2NrJ1wiIFxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0RXZlbnQoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC0yXCI+e3tpdGVtLmkxOG5LZXkgPyAoaXRlbS5pMThuS2V5IHwgdHJhbnNsYXRlKSA6IGl0ZW0ubGFiZWx9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLnNob3J0Y3V0XCIgY2xhc3M9XCJtbC1hdXRvIGJvcmRlciBib3JkZXItc3VyZmFjZSByb3VuZGVkIGJnLWVtcGhhc2lzIHRleHQtbXV0ZWQtY29sb3IgdGV4dC14cyBwLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uc2hvcnRjdXQgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImhhc1N1Ym1lbnVcIiBjbGFzcz1cInBpIHBpLWFuZ2xlLXJpZ2h0IG1sLWF1dG9cIj48L2k+XG4gICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9wLXRpZXJlZG1lbnU+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZih0aGlzLmF1dGhMZXZlbCgpID4gMiAmJiAhaXNMaXN0KCkpe1xuICAgICAgICAgIDxwLWJ1dHRvbiBcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCIgXG4gICAgICAgICAgICBbc2V2ZXJpdHldPVwic2V0U2F2ZUNsYXNzKClcIiBcbiAgICAgICAgICAgIGljb249XCJwaSAgcGktY2xvdWQtdXBsb2FkXCIgXG4gICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nKClcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIuaJi+WKqOS/neWtmFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwic2F2ZUJ0bkRpc2FibGUoKVwiIFxuICAgICAgICAgICAgY2xhc3M9XCJwLTBcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVNhdmUoKVwiPlxuICAgICAgICAgIDwvcC1idXR0b24+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBAaWYoY3J1bWJMaXN0KCkubGVuZ3RoID49IDIpeyAtLT5cbiAgICAgICAgICA8cC1idXR0b24gXG4gICAgICAgICAgICB2YXJpYW50PVwidGV4dFwiIFxuICAgICAgICAgICAgc2V2ZXJpdHk9XCJzZWNvbmRhcnlcIiBcbiAgICAgICAgICAgIGljb249XCJwaSAgcGktdGltZXNcIiBcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCLlhbPpl61cIiBcbiAgICAgICAgICAgIGNsYXNzPVwicC0wXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZU5ldygpXCI+XG4gICAgICAgICAgPC9wLWJ1dHRvbj5cbiAgICAgICAgPCEtLSB9IC0tPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH0gQGVsc2Uge1xuICAgIDwhLS0g5Yid5aeL6IqC54K5IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJtaW4tdy0wIGZsZXggaXRlbXMtY2VudGVyIHRleHQtWzE0cHhdIHRleHQtdGV4dC1jb2xvclwiPlxuICAgICAgPHNwYW4gXG4gICAgICAgIFt0aXRsZV09XCJjcnVtYlRpdGxlKCkuaTE4bktleSAhPSAnJyA/IChjcnVtYlRpdGxlKCkuaTE4bktleSB8IHRyYW5zbGF0ZSkgOiBjcnVtYlRpdGxlKCkudGl0bGVcIlxuICAgICAgICBjbGFzcz1cImhpZGRlbiBtZDppbmxpbmUtYmxvY2sgbWF4LXctWzEyMHB4XSBvdmVyZmxvdy1oaWRkZW4gd2hpdGVzcGFjZS1ub3dyYXAgdGV4dC1lbGxpcHNpc1wiPlxuICAgICAgICBAaWYoY3J1bWJUaXRsZSgpLmkxOG5LZXkgIT0gJycpe1xuICAgICAgICAgIHt7Y3J1bWJUaXRsZSgpLmkxOG5LZXkgfCB0cmFuc2xhdGV9fVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICB7e2NydW1iVGl0bGUoKS50aXRsZX19XG4gICAgICAgIH1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIEBpZihpc1Nob3dDb2coKSl7XG4gICAgICAgIDxwLWJ1dHRvbiBcbiAgICAgICAgICB2YXJpYW50PVwidGV4dFwiXG4gICAgICAgICAgc2V2ZXJpdHk9XCJzZWNvbmRhcnlcIiBcbiAgICAgICAgICBpY29uPVwicGkgIHBpLWNvZ1wiIFxuICAgICAgICAgIGFyaWEtbGFiZWw9XCLmk43kvZxcIiBcbiAgICAgICAgICAob25DbGljayk9XCJ0b2dnbGVMaXN0T3AoJGV2ZW50KVwiLz5cbiAgICAgICAgICBAaWYoZGlzcGxheU9wSXRlbXMoKS5sZW5ndGggPiAwKXtcbiAgICAgICAgICAgIDxwLXRpZXJlZG1lbnUgI2xpc3RPcCBbbW9kZWxdPVwiZGlzcGxheU9wSXRlbXMoKVwiIFtwb3B1cF09XCJ0cnVlXCIgW3N0eWxlXT1cIntwb3NpdGlvbjonYWJzb2x1dGUnfVwiPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW0gbGV0LWl0ZW0gbGV0LWhhc1N1Ym1lbnU9XCJoYXNTdWJtZW51XCI+XG4gICAgICAgICAgICAgICAgPGEgcFJpcHBsZSBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHAtdGllcmVkbWVudS1pdGVtLWxpbmtcIiAoY2xpY2spPVwibGlzdEFjdChpdGVtKVwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cIml0ZW0uaWNvblwiIGNsYXNzPVwicC10aWVyZWRtZW51LWl0ZW0taWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMlwiPnt7IGl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uc2hvcnRjdXRcIiBjbGFzcz1cIm1sLWF1dG8gYm9yZGVyIGJvcmRlci1zdXJmYWNlIHJvdW5kZWQgYmctZW1waGFzaXMgdGV4dC1tdXRlZC1jb2xvciB0ZXh0LXhzIHAtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uc2hvcnRjdXQgfX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiaGFzU3VibWVudVwiIGNsYXNzPVwicGkgcGktYW5nbGUtcmlnaHQgbWwtYXV0b1wiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9wLXRpZXJlZG1lbnU+XG4gICAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIEBpZighaXNMaXN0KCkpe1xuICAgICAgICA8cC1idXR0b24gXG4gICAgICAgICAgdmFyaWFudD1cInRleHRcIiBcbiAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiIFxuICAgICAgICAgIGljb249XCJwaSAgcGktY2xvdWQtdXBsb2FkXCIgXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIuaJi+WKqOS/neWtmFwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInNhdmVCdG5EaXNhYmxlKClcIiBcbiAgICAgICAgICBjbGFzcz1cInAtMFwiXG4gICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVNhdmUoKVwiPlxuICAgICAgICA8L3AtYnV0dG9uPlxuICAgICAgICA8cC1idXR0b24gXG4gICAgICAgICAgdmFyaWFudD1cInRleHRcIiBcbiAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiIFxuICAgICAgICAgIGljb249XCJwaSAgcGktdGltZXNcIiBcbiAgICAgICAgICBhcmlhLWxhYmVsPVwi5YWz6ZetXCIgXG4gICAgICAgICAgY2xhc3M9XCJwLTBcIlxuICAgICAgICAgIChjbGljayk9XCJjbG9zZU5ldygpXCI+XG4gICAgICAgIDwvcC1idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cbiAgXG48L2Rpdj4iXX0=
@@ -62,7 +62,6 @@ export class ImportComponent {
62
62
  this.disabled = true;
63
63
  let userInfo = JSON.parse(window.localStorage.getItem('userInfo')) || {};
64
64
  const formData = new FormData();
65
- console.log('this.dept ---', this.dept, this.importOrgValueField());
66
65
  formData.append('file', item.files[0]);
67
66
  if (this.orgVisible()) {
68
67
  formData.append(this.orgField() ?? 'orgId', this.dept ?? '');
@@ -100,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
100
99
  type: ViewChild,
101
100
  args: [FileUpload]
102
101
  }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvaW1wb3J0L2ltcG9ydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2ltcG9ydC9pbXBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUF5QixXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFlbkQsTUFBTSxPQUFPLGVBQWU7SUFlM0IsWUFDUyxJQUFnQixFQUNoQixNQUFxQjtRQURyQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFmOUIsWUFBTyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNoQyxhQUFRLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDM0IsYUFBUSxHQUFH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QUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekIsQ0FBQztTQUNELENBQUMsQ0FBQztJQUNKLENBQUM7K0dBeEZXLGVBQWU7bUdBQWYsZUFBZSx3c0NBQ2hCLFVBQVUsZ0RDMUJ0QixvMERBeURBLG1MRHBDVyxXQUFXLDhWQUFFLFlBQVksb1FBQUUsWUFBWSxvNkJBQUUsVUFBVSxnNUJBQUUsWUFBWSxvckNBQUUsYUFBYTs7NEZBSTlFLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0MsWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDOzJHQUtwRSxVQUFVO3NCQUFoQyxTQUFTO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgbW9kZWwsIGlucHV0LCBvdXRwdXQsIGluamVjdCwgZWZmZWN0LCBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZGlhbG9nJztcbmltcG9ydCB7IEZpbGVVcGxvYWQgfSBmcm9tICdwcmltZW5nL2ZpbGV1cGxvYWQnO1xuaW1wb3J0IHsgU2VsZWN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9zZWxlY3QnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50LCBIdHRwUmVxdWVzdCwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQWN0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC9ncmlkL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFBsYXRmb3JtTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEltcG9ydE9wdGlvbnMge1xuXHR0aXRsZT86IHN0cmluZztcblx0ZmlsZU5hbWU/OiBzdHJpbmc7XG5cdGRhdGE/OiBhbnk7XG59XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2FwcC1pbXBvcnQnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIEJ1dHRvbk1vZHVsZSwgRGlhbG9nTW9kdWxlLCBGaWxlVXBsb2FkLCBTZWxlY3RNb2R1bGUsIFRyYW5zbGF0ZVBpcGVdLFxuXHR0ZW1wbGF0ZVVybDogJy4vaW1wb3J0LmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmw6ICcuL2ltcG9ydC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEltcG9ydENvbXBvbmVudCB7XG5cdEBWaWV3Q2hpbGQoRmlsZVVwbG9hZCkgZmlsZVVwbG9hZCE6IEZpbGVVcGxvYWQ7XG5cdHZpc2libGUgPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XG5cdGZpbGVOYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xuXHRmdW5jTmFtZSA9IGlucHV0PHN0cmluZz4oKTtcblx0b3JnVmlzaWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblx0b3JnRmllbGQgPSBpbnB1dDxzdHJpbmc+KCk7XG5cdG1vZGVsTmFtZSA9IGlucHV0PHN0cmluZz4oJycpO1xuXHRncmlkID0gaW5wdXQ8R3JpZENvbXBvbmVudD4oKTtcblx0aW1wb3J0T3JnVmFsdWVGaWVsZCA9IGlucHV0PHN0cmluZz4oJ2RlcHRJZCcpO1xuXHRkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXHRwbGF0Zm9ybUxvY2F0aW9uID0gaW5qZWN0KFBsYXRmb3JtTG9jYXRpb24pO1xuXHRkZXB0czogYW55W10gPSBbXTtcblx0ZGVwdDogYW55O1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcblx0XHRwcml2YXRlIGFjdGlvbjogQWN0aW9uU2VydmljZSxcblx0KSB7XG5cdFx0ZWZmZWN0KFxuXHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRjb25zdCBhY3Rpb24gPSB0aGlzLmFjdGlvbi5nZXRBY3Rpb24oKTtcblx0XHRcdFx0aWYgKGFjdGlvbj8udHlwZSA9PT0gJ2ltcG9ydCcpIHtcblx0XHRcdFx0XHR0aGlzLmluaXREZXB0cygpO1xuXHRcdFx0XHRcdHRoaXMudmlzaWJsZS5zZXQodHJ1ZSk7XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHR7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXG5cdFx0KTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCkge1xuXHRcdHRoaXMuYWN0aW9uLnNldEFjdGlvbih1bmRlZmluZWQpO1xuXHR9XG5cblx0aW5pdERlcHRzKCkge1xuXHRcdGNvbnN0IHVzZXJJbmZvID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlckluZm8nKSEpO1xuXHRcdHRoaXMuZGVwdHMgPSB1c2VySW5mby5kZXB0cztcblx0fVxuXG5cdGNhbmNlbCgpIHtcblx0XHR0aGlzLnZpc2libGUuc2V0KGZhbHNlKTtcblx0fVxuXG5cdGRvd25sb2FkKCkge1xuXHRcdGxldCBiYXNlSHJlZiA9IHRoaXMucGxhdGZvcm1Mb2NhdGlvbi5nZXRCYXNlSHJlZkZyb21ET00oKTtcblx0XHRjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuXHRcdGxpbmsuaHJlZiA9IGlzRGV2TW9kZSgpXG5cdFx0XHQ/ICcvaW1wb3J0RmlsZXMvJyArIHRoaXMuZmlsZU5hbWUoKSArICcueGxzeCdcblx0XHRcdDogYC8ke2Jhc2VIcmVmLnJlcGxhY2UoL1xcLyguKj8pXFwvLywgJyQxJyl9L2ltcG9ydEZpbGVzLyR7dGhpcy5maWxlTmFtZSgpfS54bHN4YDtcblx0XHRsaW5rLmRvd25sb2FkID0gdGhpcy5maWxlTmFtZSgpICsgJy54bHN4Jztcblx0XHRkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuXHRcdGxpbmsuY2xpY2soKTtcblx0XHRkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xuXHR9XG5cblx0dXBsb2FkKGl0ZW06IGFueSkge1xuXHRcdHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuXHRcdGxldCB1c2VySW5mbyA9IEpTT04ucGFyc2Uod2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VySW5mbycpISkgfHwge307XG5cdFx0Y29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcblx0XHRjb25zb2xlLmxvZygndGhpcy5kZXB0IC0tLScsdGhpcy5kZXB0LHRoaXMuaW1wb3J0T3JnVmFsdWVGaWVsZCgpLClcblx0XHRmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBpdGVtLmZpbGVzWzBdIGFzIGFueSk7XG5cdFx0aWYgKHRoaXMub3JnVmlzaWJsZSgpKSB7XG5cdFx0XHRmb3JtRGF0YS5hcHBlbmQodGhpcy5vcmdGaWVsZCgpID8/ICdvcmdJZCcsIHRoaXMuZGVwdCA/PyAnJyk7XG5cdFx0fVxuXHRcdGZvcm1EYXRhLmFwcGVuZCgnbW9kZWxOYW1lJywgdGhpcy5tb2RlbE5hbWUoKSk7XG5cdFx0Zm9ybURhdGEuYXBwZW5kKCdvcGVyYXRvcicsIHVzZXJJbmZvLnVzZXJOYW1lIHx8ICcnKTtcblx0XHRjb25zdCByZXEgPSBuZXcgSHR0cFJlcXVlc3QoJ1BPU1QnLCB0aGlzLmZ1bmNOYW1lKCkgPz8gJ2ltcG9ydCcsIGZvcm1EYXRhLCB7XG5cdFx0XHRyZXBvcnRQcm9ncmVzczogdHJ1ZSxcblx0XHRcdHdpdGhDcmVkZW50aWFsczogZmFsc2UsXG5cdFx0fSk7XG5cblx0XHRyZXR1cm4gdGhpcy5odHRwLnJlcXVlc3QocmVxKS5zdWJzY3JpYmUoe1xuXHRcdFx0bmV4dDogKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4ge1xuXHRcdFx0XHRpZiAoZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpIHtcblx0XHRcdFx0XHR0aGlzLmRpc2FibGVkID0gZmFsc2U7XG5cdFx0XHRcdFx0dGhpcy5ncmlkKCk/LmdldERhdGEoKTtcblx0XHRcdFx0XHR0aGlzLmZpbGVVcGxvYWQuY2xlYXIoKTtcblx0XHRcdFx0XHR0aGlzLnZpc2libGUuc2V0KGZhbHNlKTtcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdGVycm9yOiAoZXJyKSA9PiB7XG5cdFx0XHRcdHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcblx0XHRcdFx0dGhpcy5ncmlkKCk/LmdldERhdGEoKTtcblx0XHRcdFx0dGhpcy5maWxlVXBsb2FkLmNsZWFyKCk7XG5cdFx0XHRcdHRoaXMudmlzaWJsZS5zZXQoZmFsc2UpO1xuXHRcdFx0fSxcblx0XHR9KTtcblx0fVxufVxuIiwiPHAtZGlhbG9nXG5cdFtoZWFkZXJdPVwiJ2ltcG9ydC50aXRsZScgfCB0cmFuc2xhdGVcIlxuXHRbbW9kYWxdPVwidHJ1ZVwiXG5cdGFwcGVuZFRvPVwiYm9keVwiXG5cdFtzdHlsZV09XCJ7IHdpZHRoOiAnMzByZW0nIH1cIlxuXHQob25IaWRlKT1cImNhbmNlbCgpXCJcblx0Wyh2aXNpYmxlKV09XCJ2aXNpYmxlXCI+XG5cdDxkaXYgY2xhc3M9XCJncmlkIHAtZmx1aWRcIj5cblx0XHQ8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG5cdFx0XHQ8c3BhbiBzdHlsZT1cImZvbnQtc2l6ZTogMTNweFwiPjEue3sgJ2ltcG9ydC50ZW1wbGF0ZURvd25sb2FkJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2XG5cdFx0XHRjbGFzcz1cImNvbC0xMlwiXG5cdFx0XHRzdHlsZT1cInBhZGRpbmc6IDAuNXJlbVwiPlxuXHRcdFx0PGJ1dHRvblxuXHRcdFx0XHRwQnV0dG9uXG5cdFx0XHRcdGNsYXNzPVwicC1lbGVtZW50IHAtYnV0dG9uLXRleHQgcC1idXR0b24gcC1jb21wb25lbnRcIlxuXHRcdFx0XHQoY2xpY2spPVwiZG93bmxvYWQoKVwiPlxuXHRcdFx0XHQ8c3BhbiBjbGFzcz1cInAtYnV0dG9uLWxhYmVsXCI+XG5cdFx0XHRcdFx0PGkgY2xhc3M9XCJwaSBwaS1kb3dubG9hZFwiPjwvaT48c3BhbiBjbGFzcz1cInBsLTJcIj57eyAnaW1wb3J0LmRvd25sb2FkVGVtcGxhdGUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuXHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHQ8L2J1dHRvbj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG5cdFx0XHQ8c3BhbiBzdHlsZT1cImZvbnQtc2l6ZTogMTNweFwiPjIue3sgJ2ltcG9ydC5maWxlVXBsb2FkJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cblx0XHQ8L2Rpdj5cblx0XHRAaWYgKG9yZ1Zpc2libGUoKSkge1xuXHRcdFx0PGRpdlxuXHRcdFx0XHRjbGFzcz1cImNvbC0xMlwiXG5cdFx0XHRcdHN0eWxlPVwicGFkZGluZzogMXJlbSAwLjVyZW0gMCAwLjVyZW1cIj5cblx0XHRcdFx0PHAtc2VsZWN0XG5cdFx0XHRcdFx0W3N0eWxlXT1cInsgd2lkdGg6ICcyNzVweCcgfVwiXG5cdFx0XHRcdFx0W29wdGlvbnNdPVwiZGVwdHNcIlxuXHRcdFx0XHRcdFsobmdNb2RlbCldPVwiZGVwdFwiXG5cdFx0XHRcdFx0YXBwZW5kVG89XCJib2R5XCJcblx0XHRcdFx0XHRvcHRpb25MYWJlbD1cImRlcHROYW1lXCJcblx0XHRcdFx0XHRbb3B0aW9uVmFsdWVdPVwiaW1wb3J0T3JnVmFsdWVGaWVsZCgpXCJcblx0XHRcdFx0XHRbcGxhY2Vob2xkZXJdPVwiJ2ltcG9ydC5kZXB0UGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcblx0XHRcdFx0XHRbc2l6ZV09XCInc21hbGwnXCJcblx0XHRcdFx0XHRjbGFzcz1cInctZnVsbCBtZDp3LTU2XCIgLz5cblx0XHRcdDwvZGl2PlxuXHRcdH1cblx0XHQ8ZGl2XG5cdFx0XHRjbGFzcz1cInAtZmlsZS1pbXBvcnQgY29sLTEyXCJcblx0XHRcdHN0eWxlPVwicGFkZGluZzogMC41cmVtXCI+XG5cdFx0XHQ8cC1maWxlVXBsb2FkXG5cdFx0XHRcdCNwcmltZUZpbGVVcGxvYWRcblx0XHRcdFx0Y2hvb3NlU3R5bGVDbGFzcz1cInAtZWxlbWVudCBwLWJ1dHRvbi10ZXh0IHAtYnV0dG9uIHAtY29tcG9uZW50XCJcblx0XHRcdFx0bW9kZT1cImJhc2ljXCJcblx0XHRcdFx0Y2hvb3NlSWNvbj1cInBpIHBpLXVwbG9hZFwiXG5cdFx0XHRcdFtjaG9vc2VMYWJlbF09XCInaW1wb3J0LnVwbG9hZEZpbGUnIHwgdHJhbnNsYXRlXCJcblx0XHRcdFx0W2F1dG9dPVwidHJ1ZVwiXG5cdFx0XHRcdFtjdXN0b21VcGxvYWRdPVwidHJ1ZVwiXG5cdFx0XHRcdCh1cGxvYWRIYW5kbGVyKT1cInVwbG9hZCgkZXZlbnQpXCI+PC9wLWZpbGVVcGxvYWQ+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuPC9wLWRpYWxvZz5cbiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvaW1wb3J0L2ltcG9ydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2ltcG9ydC9pbXBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUF5QixXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFlbkQsTUFBTSxPQUFPLGVBQWU7SUFlM0IsWUFDUyxJQUFnQixFQUNoQixNQUFxQjtRQURyQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFmOUIsWUFBTyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNoQyxhQUFRLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDM0IsYUFBUSxHQUFH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R0FBZixlQUFlLHdzQ0FDaEIsVUFBVSxnREMxQnRCLG8wREF5REEsbUxEcENXLFdBQVcsOFZBQUUsWUFBWSxvUUFBRSxZQUFZLG82QkFBRSxVQUFVLGc1QkFBRSxZQUFZLG9yQ0FBRSxhQUFhOzs0RkFJOUUsZUFBZTtrQkFQM0IsU0FBUzsrQkFDQyxZQUFZLGNBQ1YsSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxhQUFhLENBQUM7MkdBS3BFLFVBQVU7c0JBQWhDLFNBQVM7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBtb2RlbCwgaW5wdXQsIG91dHB1dCwgaW5qZWN0LCBlZmZlY3QsIGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xuaW1wb3J0IHsgRmlsZVVwbG9hZCB9IGZyb20gJ3ByaW1lbmcvZmlsZXVwbG9hZCc7XG5pbXBvcnQgeyBTZWxlY3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL3NlbGVjdCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXZlbnQsIEh0dHBSZXF1ZXN0LCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEdyaWRDb21wb25lbnQgfSBmcm9tICcuLi9ncmlkL2dyaWQvZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgUGxhdGZvcm1Mb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1wb3J0T3B0aW9ucyB7XG5cdHRpdGxlPzogc3RyaW5nO1xuXHRmaWxlTmFtZT86IHN0cmluZztcblx0ZGF0YT86IGFueTtcbn1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnYXBwLWltcG9ydCcsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgQnV0dG9uTW9kdWxlLCBEaWFsb2dNb2R1bGUsIEZpbGVVcGxvYWQsIFNlbGVjdE1vZHVsZSwgVHJhbnNsYXRlUGlwZV0sXG5cdHRlbXBsYXRlVXJsOiAnLi9pbXBvcnQuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybDogJy4vaW1wb3J0LmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgSW1wb3J0Q29tcG9uZW50IHtcblx0QFZpZXdDaGlsZChGaWxlVXBsb2FkKSBmaWxlVXBsb2FkITogRmlsZVVwbG9hZDtcblx0dmlzaWJsZSA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcblx0ZmlsZU5hbWUgPSBpbnB1dDxzdHJpbmc+KCk7XG5cdGZ1bmNOYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xuXHRvcmdWaXNpYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXHRvcmdGaWVsZCA9IGlucHV0PHN0cmluZz4oKTtcblx0bW9kZWxOYW1lID0gaW5wdXQ8c3RyaW5nPignJyk7XG5cdGdyaWQgPSBpbnB1dDxHcmlkQ29tcG9uZW50PigpO1xuXHRpbXBvcnRPcmdWYWx1ZUZpZWxkID0gaW5wdXQ8c3RyaW5nPignZGVwdElkJyk7XG5cdGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cdHBsYXRmb3JtTG9jYXRpb24gPSBpbmplY3QoUGxhdGZvcm1Mb2NhdGlvbik7XG5cdGRlcHRzOiBhbnlbXSA9IFtdO1xuXHRkZXB0OiBhbnk7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuXHRcdHByaXZhdGUgYWN0aW9uOiBBY3Rpb25TZXJ2aWNlLFxuXHQpIHtcblx0XHRlZmZlY3QoXG5cdFx0XHQoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGFjdGlvbiA9IHRoaXMuYWN0aW9uLmdldEFjdGlvbigpO1xuXHRcdFx0XHRpZiAoYWN0aW9uPy50eXBlID09PSAnaW1wb3J0Jykge1xuXHRcdFx0XHRcdHRoaXMuaW5pdERlcHRzKCk7XG5cdFx0XHRcdFx0dGhpcy52aXNpYmxlLnNldCh0cnVlKTtcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcblx0XHQpO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKSB7XG5cdFx0dGhpcy5hY3Rpb24uc2V0QWN0aW9uKHVuZGVmaW5lZCk7XG5cdH1cblxuXHRpbml0RGVwdHMoKSB7XG5cdFx0Y29uc3QgdXNlckluZm8gPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VySW5mbycpISk7XG5cdFx0dGhpcy5kZXB0cyA9IHVzZXJJbmZvLmRlcHRzO1xuXHR9XG5cblx0Y2FuY2VsKCkge1xuXHRcdHRoaXMudmlzaWJsZS5zZXQoZmFsc2UpO1xuXHR9XG5cblx0ZG93bmxvYWQoKSB7XG5cdFx0bGV0IGJhc2VIcmVmID0gdGhpcy5wbGF0Zm9ybUxvY2F0aW9uLmdldEJhc2VIcmVmRnJvbURPTSgpO1xuXHRcdGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG5cdFx0bGluay5ocmVmID0gaXNEZXZNb2RlKClcblx0XHRcdD8gJy9pbXBvcnRGaWxlcy8nICsgdGhpcy5maWxlTmFtZSgpICsgJy54bHN4J1xuXHRcdFx0OiBgLyR7YmFzZUhyZWYucmVwbGFjZSgvXFwvKC4qPylcXC8vLCAnJDEnKX0vaW1wb3J0RmlsZXMvJHt0aGlzLmZpbGVOYW1lKCl9Lnhsc3hgO1xuXHRcdGxpbmsuZG93bmxvYWQgPSB0aGlzLmZpbGVOYW1lKCkgKyAnLnhsc3gnO1xuXHRcdGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XG5cdFx0bGluay5jbGljaygpO1xuXHRcdGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XG5cdH1cblxuXHR1cGxvYWQoaXRlbTogYW55KSB7XG5cdFx0dGhpcy5kaXNhYmxlZCA9IHRydWU7XG5cdFx0bGV0IHVzZXJJbmZvID0gSlNPTi5wYXJzZSh3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJJbmZvJykhKSB8fCB7fTtcblx0XHRjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuXHRcdGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGl0ZW0uZmlsZXNbMF0gYXMgYW55KTtcblx0XHRpZiAodGhpcy5vcmdWaXNpYmxlKCkpIHtcblx0XHRcdGZvcm1EYXRhLmFwcGVuZCh0aGlzLm9yZ0ZpZWxkKCkgPz8gJ29yZ0lkJywgdGhpcy5kZXB0ID8/ICcnKTtcblx0XHR9XG5cdFx0Zm9ybURhdGEuYXBwZW5kKCdtb2RlbE5hbWUnLCB0aGlzLm1vZGVsTmFtZSgpKTtcblx0XHRmb3JtRGF0YS5hcHBlbmQoJ29wZXJhdG9yJywgdXNlckluZm8udXNlck5hbWUgfHwgJycpO1xuXHRcdGNvbnN0IHJlcSA9IG5ldyBIdHRwUmVxdWVzdCgnUE9TVCcsIHRoaXMuZnVuY05hbWUoKSA/PyAnaW1wb3J0JywgZm9ybURhdGEsIHtcblx0XHRcdHJlcG9ydFByb2dyZXNzOiB0cnVlLFxuXHRcdFx0d2l0aENyZWRlbnRpYWxzOiBmYWxzZSxcblx0XHR9KTtcblxuXHRcdHJldHVybiB0aGlzLmh0dHAucmVxdWVzdChyZXEpLnN1YnNjcmliZSh7XG5cdFx0XHRuZXh0OiAoZXZlbnQ6IEh0dHBFdmVudDxhbnk+KSA9PiB7XG5cdFx0XHRcdGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xuXHRcdFx0XHRcdHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcblx0XHRcdFx0XHR0aGlzLmdyaWQoKT8uZ2V0RGF0YSgpO1xuXHRcdFx0XHRcdHRoaXMuZmlsZVVwbG9hZC5jbGVhcigpO1xuXHRcdFx0XHRcdHRoaXMudmlzaWJsZS5zZXQoZmFsc2UpO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0ZXJyb3I6IChlcnIpID0+IHtcblx0XHRcdFx0dGhpcy5kaXNhYmxlZCA9IGZhbHNlO1xuXHRcdFx0XHR0aGlzLmdyaWQoKT8uZ2V0RGF0YSgpO1xuXHRcdFx0XHR0aGlzLmZpbGVVcGxvYWQuY2xlYXIoKTtcblx0XHRcdFx0dGhpcy52aXNpYmxlLnNldChmYWxzZSk7XG5cdFx0XHR9LFxuXHRcdH0pO1xuXHR9XG59XG4iLCI8cC1kaWFsb2dcblx0W2hlYWRlcl09XCInaW1wb3J0LnRpdGxlJyB8IHRyYW5zbGF0ZVwiXG5cdFttb2RhbF09XCJ0cnVlXCJcblx0YXBwZW5kVG89XCJib2R5XCJcblx0W3N0eWxlXT1cInsgd2lkdGg6ICczMHJlbScgfVwiXG5cdChvbkhpZGUpPVwiY2FuY2VsKClcIlxuXHRbKHZpc2libGUpXT1cInZpc2libGVcIj5cblx0PGRpdiBjbGFzcz1cImdyaWQgcC1mbHVpZFwiPlxuXHRcdDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cblx0XHRcdDxzcGFuIHN0eWxlPVwiZm9udC1zaXplOiAxM3B4XCI+MS57eyAnaW1wb3J0LnRlbXBsYXRlRG93bmxvYWQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuXHRcdDwvZGl2PlxuXHRcdDxkaXZcblx0XHRcdGNsYXNzPVwiY29sLTEyXCJcblx0XHRcdHN0eWxlPVwicGFkZGluZzogMC41cmVtXCI+XG5cdFx0XHQ8YnV0dG9uXG5cdFx0XHRcdHBCdXR0b25cblx0XHRcdFx0Y2xhc3M9XCJwLWVsZW1lbnQgcC1idXR0b24tdGV4dCBwLWJ1dHRvbiBwLWNvbXBvbmVudFwiXG5cdFx0XHRcdChjbGljayk9XCJkb3dubG9hZCgpXCI+XG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwicC1idXR0b24tbGFiZWxcIj5cblx0XHRcdFx0XHQ8aSBjbGFzcz1cInBpIHBpLWRvd25sb2FkXCI+PC9pPjxzcGFuIGNsYXNzPVwicGwtMlwiPnt7ICdpbXBvcnQuZG93bmxvYWRUZW1wbGF0ZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG5cdFx0XHRcdDwvc3Bhbj5cblx0XHRcdDwvYnV0dG9uPlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cblx0XHRcdDxzcGFuIHN0eWxlPVwiZm9udC1zaXplOiAxM3B4XCI+Mi57eyAnaW1wb3J0LmZpbGVVcGxvYWQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuXHRcdDwvZGl2PlxuXHRcdEBpZiAob3JnVmlzaWJsZSgpKSB7XG5cdFx0XHQ8ZGl2XG5cdFx0XHRcdGNsYXNzPVwiY29sLTEyXCJcblx0XHRcdFx0c3R5bGU9XCJwYWRkaW5nOiAxcmVtIDAuNXJlbSAwIDAuNXJlbVwiPlxuXHRcdFx0XHQ8cC1zZWxlY3Rcblx0XHRcdFx0XHRbc3R5bGVdPVwieyB3aWR0aDogJzI3NXB4JyB9XCJcblx0XHRcdFx0XHRbb3B0aW9uc109XCJkZXB0c1wiXG5cdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJkZXB0XCJcblx0XHRcdFx0XHRhcHBlbmRUbz1cImJvZHlcIlxuXHRcdFx0XHRcdG9wdGlvbkxhYmVsPVwiZGVwdE5hbWVcIlxuXHRcdFx0XHRcdFtvcHRpb25WYWx1ZV09XCJpbXBvcnRPcmdWYWx1ZUZpZWxkKClcIlxuXHRcdFx0XHRcdFtwbGFjZWhvbGRlcl09XCInaW1wb3J0LmRlcHRQbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuXHRcdFx0XHRcdFtzaXplXT1cIidzbWFsbCdcIlxuXHRcdFx0XHRcdGNsYXNzPVwidy1mdWxsIG1kOnctNTZcIiAvPlxuXHRcdFx0PC9kaXY+XG5cdFx0fVxuXHRcdDxkaXZcblx0XHRcdGNsYXNzPVwicC1maWxlLWltcG9ydCBjb2wtMTJcIlxuXHRcdFx0c3R5bGU9XCJwYWRkaW5nOiAwLjVyZW1cIj5cblx0XHRcdDxwLWZpbGVVcGxvYWRcblx0XHRcdFx0I3ByaW1lRmlsZVVwbG9hZFxuXHRcdFx0XHRjaG9vc2VTdHlsZUNsYXNzPVwicC1lbGVtZW50IHAtYnV0dG9uLXRleHQgcC1idXR0b24gcC1jb21wb25lbnRcIlxuXHRcdFx0XHRtb2RlPVwiYmFzaWNcIlxuXHRcdFx0XHRjaG9vc2VJY29uPVwicGkgcGktdXBsb2FkXCJcblx0XHRcdFx0W2Nob29zZUxhYmVsXT1cIidpbXBvcnQudXBsb2FkRmlsZScgfCB0cmFuc2xhdGVcIlxuXHRcdFx0XHRbYXV0b109XCJ0cnVlXCJcblx0XHRcdFx0W2N1c3RvbVVwbG9hZF09XCJ0cnVlXCJcblx0XHRcdFx0KHVwbG9hZEhhbmRsZXIpPVwidXBsb2FkKCRldmVudClcIj48L3AtZmlsZVVwbG9hZD5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L3AtZGlhbG9nPlxuIl19
@@ -0,0 +1,17 @@
1
+ import { Directive, inject, TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class PageFormSlotDirective {
4
+ constructor() {
5
+ this.templateRef = inject((TemplateRef));
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormSlotDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: PageFormSlotDirective, isStandalone: true, selector: "ng-template[pageFormSlot]", ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageFormSlotDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: 'ng-template[pageFormSlot]',
14
+ standalone: true,
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1mb3JtLXNsb3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9wYWdlLWZvcm0vcGFnZS1mb3JtLXNsb3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNL0QsTUFBTSxPQUFPLHFCQUFxQjtJQUpsQztRQUtDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLENBQUEsV0FBb0IsQ0FBQSxDQUFDLENBQUM7S0FDM0M7K0dBRlkscUJBQXFCO21HQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ25nLXRlbXBsYXRlW3BhZ2VGb3JtU2xvdF0nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdlRm9ybVNsb3REaXJlY3RpdmUge1xuXHR0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZjx1bmtub3duPik7XG59XG4iXX0=