@colijnit/transaction 255.1.38 → 255.1.40

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.
Files changed (63) hide show
  1. package/bundles/colijnit-transaction.umd.js +414 -91
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction-255.1.39.tgz +0 -0
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/lib/component/core/base/transaction-payment-base.component.js +12 -4
  6. package/esm2015/lib/component/delivery-planning/service/delivery-planning.service.js +18 -1
  7. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-popup/delivery-planning-overview-popup.component.js +53 -33
  8. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/delivery-planning-overview-tile-line.component.js +21 -11
  9. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/delivery-planning-overview-tile.component.js +12 -2
  10. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile-settings-popup/delivery-planning-overview-tile-settings-popup.component.js +53 -3
  11. package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/delivery-planning-overview.component.js +79 -24
  12. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.js +2 -1
  13. package/esm2015/lib/component/transaction/transaction.component.js +4 -1
  14. package/esm2015/lib/component/transaction-card/transaction-card-planning/transaction-card-planning.component.js +33 -4
  15. package/esm2015/lib/component/transaction-internal/transaction-internal.component.js +7 -4
  16. package/esm2015/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.js +2 -1
  17. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.component.js +2 -2
  18. package/esm2015/lib/component/transaction-line-side-panel-planning/transaction-line-side-panel-planning.component.js +2 -2
  19. package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation.component.js +21 -8
  20. package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.js +3 -2
  21. package/esm2015/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-cash-desk/transaction-lines-side-panel-cash-desk.component.js +22 -7
  22. package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.js +2 -1
  23. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-purchase-reservation-order-tile/transaction-purchase-reservation-order-tile.component.js +4 -14
  24. package/esm2015/lib/component/transaction-service-overview/components/transaction-service-message.component.js +3 -3
  25. package/esm2015/lib/component/transaction-service-overview/components/transaction-service-message.module.js +4 -3
  26. package/esm2015/lib/component/transaction-service-overview/transaction-service-overview.component.js +5 -3
  27. package/esm2015/lib/enum/icon.enum.js +7 -1
  28. package/esm2015/lib/enum/transaction-cfg-name.enum.js +3 -1
  29. package/esm2015/lib/model/icon-svg.js +7 -1
  30. package/esm2015/lib/service/transaction-create.service.js +12 -1
  31. package/esm2015/lib/service/transaction-payment.service.js +9 -3
  32. package/esm2015/lib/service/transaction.service.js +11 -4
  33. package/esm2015/lib/transaction-version.js +3 -3
  34. package/fesm2015/colijnit-transaction.js +368 -117
  35. package/fesm2015/colijnit-transaction.js.map +1 -1
  36. package/lib/component/core/base/transaction-payment-base.component.d.ts +5 -2
  37. package/lib/component/delivery-planning/service/delivery-planning.service.d.ts +4 -0
  38. package/lib/component/delivery-planning/style/_layout.scss +22 -1
  39. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-popup/delivery-planning-overview-popup.component.d.ts +9 -6
  40. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/delivery-planning-overview-tile-line.component.d.ts +3 -0
  41. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/style/_layout.scss +25 -10
  42. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/delivery-planning-overview-tile.component.d.ts +9 -0
  43. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/style/_layout.scss +13 -0
  44. package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile-settings-popup/delivery-planning-overview-tile-settings-popup.component.d.ts +14 -3
  45. package/lib/component/delivery-planning-main/component/delivery-planning-overview/delivery-planning-overview.component.d.ts +16 -0
  46. package/lib/component/delivery-planning-main/component/delivery-planning-overview/style/_layout.scss +9 -6
  47. package/lib/component/delivery-planning-main/style/_layout.scss +0 -1
  48. package/lib/component/transaction/transaction.component.d.ts +1 -0
  49. package/lib/component/transaction-card/transaction-card-planning/transaction-card-planning.component.d.ts +19 -0
  50. package/lib/component/transaction-internal/style/_layout.scss +6 -0
  51. package/lib/component/transaction-internal/transaction-internal.component.d.ts +1 -0
  52. package/lib/component/transaction-line-side-panel-planning/style/_layout.scss +20 -17
  53. package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation/style/_layout.scss +16 -4
  54. package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation.component.d.ts +5 -1
  55. package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-cash-desk/transaction-lines-side-panel-cash-desk.component.d.ts +2 -1
  56. package/lib/component/transaction-search/transaction-search-tile/transaction-purchase-reservation-order-tile/style/_layout.scss +26 -20
  57. package/lib/component/transaction-service-overview/transaction-service-overview.component.d.ts +2 -0
  58. package/lib/enum/icon.enum.d.ts +6 -0
  59. package/lib/enum/transaction-cfg-name.enum.d.ts +2 -1
  60. package/lib/service/transaction-create.service.d.ts +2 -0
  61. package/lib/service/transaction-payment.service.d.ts +3 -1
  62. package/lib/service/transaction.service.d.ts +2 -1
  63. package/package.json +1 -1
@@ -1,9 +1,26 @@
1
- import { Component, HostBinding, ViewChild, ViewEncapsulation } from '@angular/core';
1
+ import { ChangeDetectorRef, Component, HostBinding, ViewChild, ViewEncapsulation } from '@angular/core';
2
2
  import { TransactionBaseComponent } from '../../core/base/transaction-base.component';
3
3
  import { TransactionLineActionButtonsComponent } from '../../transaction-line-action-buttons/transaction-line-action-buttons.component';
4
+ import { DeliveryPlanningService } from "../../delivery-planning/service/delivery-planning.service";
5
+ import { TransactionEventService } from "../../../service/transaction-event.service";
6
+ import { IconCacheService } from "../../../service/icon-cache.service";
7
+ import { TransactionScreenConfigurationService } from "../../../service/transaction-screen-configuration.service";
8
+ import { OrderLineSetService } from "../../../service/order-line-set-service";
9
+ import { TransactionImageService } from "../../../service/transaction-image.service";
10
+ import { DictionaryService } from "../../../service/dictionary.service";
11
+ import { TransactionService } from "../../../service/transaction.service";
4
12
  export class TransactionCardPlanningComponent extends TransactionBaseComponent {
5
- constructor() {
6
- super(...arguments);
13
+ constructor(_deliveryPlanningService, transactionEventService, iconCacheService, screenConfigService, orderLineSetService, imageService, dictionaryService, transactionService, changeDetector) {
14
+ super(transactionEventService, iconCacheService, screenConfigService, imageService, dictionaryService, transactionService, changeDetector);
15
+ this._deliveryPlanningService = _deliveryPlanningService;
16
+ this.transactionEventService = transactionEventService;
17
+ this.iconCacheService = iconCacheService;
18
+ this.screenConfigService = screenConfigService;
19
+ this.orderLineSetService = orderLineSetService;
20
+ this.imageService = imageService;
21
+ this.dictionaryService = dictionaryService;
22
+ this.transactionService = transactionService;
23
+ this.changeDetector = changeDetector;
7
24
  this.expanded = false;
8
25
  this.statusBarConfigNames = {
9
26
  statusBarBT: this.cfgNames.StatusBarBT,
@@ -31,6 +48,7 @@ export class TransactionCardPlanningComponent extends TransactionBaseComponent {
31
48
  this.transactionEventService.openSidePanel.next(line);
32
49
  }
33
50
  dragStarted(ev) {
51
+ this._deliveryPlanningService.currentTransId = this.transaction.transactionInfo.id;
34
52
  ev.dataTransfer.setData("text", "lines");
35
53
  }
36
54
  }
@@ -104,8 +122,19 @@ TransactionCardPlanningComponent.decorators = [
104
122
  encapsulation: ViewEncapsulation.None
105
123
  },] }
106
124
  ];
125
+ TransactionCardPlanningComponent.ctorParameters = () => [
126
+ { type: DeliveryPlanningService },
127
+ { type: TransactionEventService },
128
+ { type: IconCacheService },
129
+ { type: TransactionScreenConfigurationService },
130
+ { type: OrderLineSetService },
131
+ { type: TransactionImageService },
132
+ { type: DictionaryService },
133
+ { type: TransactionService },
134
+ { type: ChangeDetectorRef }
135
+ ];
107
136
  TransactionCardPlanningComponent.propDecorators = {
108
137
  transactionLineActionButtons: [{ type: ViewChild, args: [TransactionLineActionButtonsComponent,] }],
109
138
  showClass: [{ type: HostBinding, args: ["class.co-transaction-card-sales-overview",] }]
110
139
  };
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FyZC1wbGFubmluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtcGxhbm5pbmcvdHJhbnNhY3Rpb24tY2FyZC1wbGFubmluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQVMsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLGlGQUFpRixDQUFDO0FBMEV0SSxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsd0JBQXdCO0lBcEU5RTs7UUE0RVMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUsxQix5QkFBb0IsR0FBc0I7WUFDL0MsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1lBQ3RDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1lBQ3RDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1lBQ3RDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7U0FDdkMsQ0FBQTtRQUNNLHdCQUFtQixHQUF5QjtZQUNqRCxhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhO1lBQzFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCO1lBQ3BELHNCQUFzQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCO1lBQzVELG1CQUFtQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CO1lBQ3RELG1CQUFtQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CO1NBQ3ZELENBQUE7SUFLSCxDQUFDO0lBL0JRLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFJTSxtQkFBbUIsQ0FBQyxJQUF5QjtRQUNsRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN2RCxDQUFDO0lBb0JNLFdBQVcsQ0FBQyxFQUFNO1FBQ3ZCLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDOzs7WUF0R0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw4QkFBOEI7Z0JBQ3hDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0RUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7MkNBRUUsU0FBUyxTQUFDLHFDQUFxQzt3QkFFL0MsV0FBVyxTQUFDLDBDQUEwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL3RyYW5zYWN0aW9uLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVBY3Rpb25CdXR0b25zQ29tcG9uZW50fSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1saW5lLWFjdGlvbi1idXR0b25zL3RyYW5zYWN0aW9uLWxpbmUtYWN0aW9uLWJ1dHRvbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvJztcclxuaW1wb3J0IHtTdGF0dXNCYXJDZmdOYW1lc30gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlL3N0YXR1cy1iYXItY2ZnLW5hbWVzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7TGluZURpc2NvdW50Q2ZnTmFtZXN9IGZyb20gXCIuLi8uLi8uLi9pbnRlcmZhY2UvbGluZS1kaXNjb3VudC1jZmctbmFtZXMuaW50ZXJmYWNlXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tY2FyZC1wbGFubmluZ1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tY2FyZC13cmFwcGVyXCIgb2JzZXJ2ZVZpc2liaWxpdHkgI29ic2VydmVyPXZpc2liaWxpdHlPYnNlcnZlXHJcbiAgICAgICAgIFtkcmFnZ2FibGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgIChkcmFnc3RhcnQpPVwiZHJhZ1N0YXJ0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICh2aXNpYmlsaXR5Q2hhbmdlKT1cImhhbmRsZVZpc2liaWxpdHlDaGFuZ2UodHJhbnNhY3Rpb25MaW5lLCAkZXZlbnQpXCI+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1jYXJkLWhlYWRlclxyXG4gICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICBbc2hvd0FjdGlvbkJ1dHRvbnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3Nob3dDaGVja2JveF09XCJ0cnVlXCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIiBbc2VsZWN0ZWRdPVwic2VsZWN0ZWRcIlxyXG4gICAgICAoY2hlY2tib3hWYWx1ZUNoYW5nZWQpPVwic2VsZWN0ZWQgPSAkZXZlbnRcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvY28tdHJhbnNhY3Rpb24tY2FyZC1oZWFkZXI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1jYXJkLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWJhc2UgdG9wLWJhc2VcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWNvbW1pc3Npb24tYnV0dG9uIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCIgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtY29tbWlzc2lvbi1idXR0b24+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1zdXBwbGllci1idXR0b24gW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIiBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1zdXBwbGllci1idXR0b24+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1zdGF0dXNiYXJcclxuICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuU3RhdHVzQmFyXCJcclxuICAgICAgICAgICAgW2NvbmZpZ05hbWVzXT1cInN0YXR1c0JhckNvbmZpZ05hbWVzXCJcclxuICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgIFthY3RpdmVDYXRlZ29yeV09XCJjYXRlZ29yeS5TYWxlc09yZGVyUGxhbm5pbmdcIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtc3RhdHVzYmFyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWJhc2UgYm90dG9tLWJhc2VcIj5cclxuICAgICAgICAgIDxjby1lZGl0YWJsZS1sYWJlbCBjbGFzcz1cInRyYW5zYWN0aW9uLWNhcmQtcHJpY2UgcHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJ0cmFuc2FjdGlvbkxpbmUucHJpY2UgfCBjb0N1cnJlbmN5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICA+PC9jby1lZGl0YWJsZS1sYWJlbD5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXRvdGFscy1hbW91bnRcIj5cclxuICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtYW1vdW50IGNsYXNzPVwiYW1vdW50LW51bWJlci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZUFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtYW1vdW50PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1kaXNjb3VudC1idXR0b24gKm5nSWY9XCIhcHJldmlld1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZURpc2NvdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnTmFtZXNdPVwiZGlzY291bnRDb25maWdOYW1lc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uPlxyXG4gICAgICAgICAgPGNvLWVkaXRhYmxlLWxhYmVsIGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS10b3RhbHMtdG90YWwgcHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJ0cmFuc2FjdGlvbkxpbmUuZGlzcGxheU5ldExpbmVUb3RhbCB8IGNvQ3VycmVuY3lcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlZGl0TW9kZWxdPVwidHJhbnNhY3Rpb25MaW5lLmRpc3BsYXlOZXRMaW5lVG90YWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgID48L2NvLWVkaXRhYmxlLWxhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWV4cGFuZGVkXCIgKm5nSWY9XCJleHBhbmRlZFwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtd2FyZWhvdXNlLWJ1dHRvbiBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLXdhcmVob3VzZS1idXR0b24+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1idXR0b24gY2xhc3M9XCJmaXQtY29udGVudFwiIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCIgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktYnV0dG9uPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtdmF0LWJ1dHRvbiBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLXZhdC1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGNvLXRyYW5zYWN0aW9uLWNhcmQtZm9vdGVyXHJcbiAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCJcclxuICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgW3RyYW5zYWN0aW9uVHlwZUNhdGVnb3J5XT1cImNhdGVnb3J5LlNhbGVzT3JkZXJPdmVydmlld1wiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cImV4cGFuZGVkXCJcclxuICAgICAgICAoZXhwYW5kQ2xpY2tlZCk9XCJleHBhbmRlZCA9ICFleHBhbmRlZFwiXHJcbiAgICAgID48L2NvLXRyYW5zYWN0aW9uLWNhcmQtZm9vdGVyPlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkNhcmRQbGFubmluZ0NvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZChUcmFuc2FjdGlvbkxpbmVBY3Rpb25CdXR0b25zQ29tcG9uZW50KVxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvbkxpbmVBY3Rpb25CdXR0b25zOiBUcmFuc2FjdGlvbkxpbmVBY3Rpb25CdXR0b25zQ29tcG9uZW50O1xyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLWNhcmQtc2FsZXMtb3ZlcnZpZXdcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGhhbmRsZVNob3dTaWRlUGFuZWwobGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5vcGVuU2lkZVBhbmVsLm5leHQobGluZSlcclxuICB9XHJcbiAgcHVibGljIHN0YXR1c0JhckNvbmZpZ05hbWVzOiBTdGF0dXNCYXJDZmdOYW1lcyA9IHtcclxuICAgIHN0YXR1c0JhckJUOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckJULFxyXG4gICAgc3RhdHVzQmFyVEc6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVEcsXHJcbiAgICBzdGF0dXNCYXJQQTogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJQQSxcclxuICAgIHN0YXR1c0JhclBWOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclBWLFxyXG4gICAgc3RhdHVzQmFyVFA6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVFAsXHJcbiAgICBzdGF0dXNCYXJHVDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHVCxcclxuICAgIHN0YXR1c0JhckdQOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdQLFxyXG4gICAgc3RhdHVzQmFyR0w6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR0wsXHJcbiAgICBzdGF0dXNCYXJHRjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHRlxyXG4gIH1cclxuICBwdWJsaWMgZGlzY291bnRDb25maWdOYW1lczogTGluZURpc2NvdW50Q2ZnTmFtZXMgPSB7XHJcbiAgICBsaW5lUHJpY2VMaXN0OiB0aGlzLmNmZ05hbWVzLkxpbmVQcmljZUxpc3QsXHJcbiAgICBsaW5lRGlzY291bnRBbW91bnQ6IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50QW1vdW50LFxyXG4gICAgbGluZURpc2NvdW50UGVyY2VudGFnZTogdGhpcy5jZmdOYW1lcy5MaW5lRGlzY291bnRQZXJjZW50YWdlLFxyXG4gICAgbGluZURpc2NvdW50U3BlY2lhbDogdGhpcy5jZmdOYW1lcy5MaW5lRGlzY291bnRTcGVjaWFsLFxyXG4gICAgbGluZURpc2NvdW50UXVhbnR1bTogdGhpcy5jZmdOYW1lcy5MaW5lRGlzY291bnRRdWFudHVtXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZHJhZ1N0YXJ0ZWQoZXY6YW55KSB7XHJcbiAgICBldi5kYXRhVHJhbnNmZXIuc2V0RGF0YShcInRleHRcIiwgXCJsaW5lc1wiKTtcclxuICB9XHJcbn1cclxuIl19
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tY2FyZC1wbGFubmluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1jYXJkL3RyYW5zYWN0aW9uLWNhcmQtcGxhbm5pbmcvdHJhbnNhY3Rpb24tY2FyZC1wbGFubmluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVMsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLGlGQUFpRixDQUFDO0FBSXRJLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ2hILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBdUV4RSxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsd0JBQXdCO0lBUTVFLFlBQ1Usd0JBQWlELEVBQ2xELHVCQUFnRCxFQUNoRCxnQkFBa0MsRUFDbEMsbUJBQTBELEVBQzFELG1CQUF3QyxFQUNy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UmVmLCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUFjdGlvbkJ1dHRvbnNDb21wb25lbnR9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWxpbmUtYWN0aW9uLWJ1dHRvbnMvdHJhbnNhY3Rpb24tbGluZS1hY3Rpb24tYnV0dG9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm8nO1xyXG5pbXBvcnQge1N0YXR1c0JhckNmZ05hbWVzfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2Uvc3RhdHVzLWJhci1jZmctbmFtZXMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtMaW5lRGlzY291bnRDZmdOYW1lc30gZnJvbSBcIi4uLy4uLy4uL2ludGVyZmFjZS9saW5lLWRpc2NvdW50LWNmZy1uYW1lcy5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nU2VydmljZX0gZnJvbSBcIi4uLy4uL2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZVwiO1xyXG5pbXBvcnQge09yZGVyTGluZVNldFNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL29yZGVyLWxpbmUtc2V0LXNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkltYWdlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1jYXJkLXBsYW5uaW5nXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1jYXJkLXdyYXBwZXJcIiBvYnNlcnZlVmlzaWJpbGl0eSAjb2JzZXJ2ZXI9dmlzaWJpbGl0eU9ic2VydmVcclxuICAgICAgICAgW2RyYWdnYWJsZV09XCJ0cnVlXCJcclxuICAgICAgICAgKGRyYWdzdGFydCk9XCJkcmFnU3RhcnRlZCgkZXZlbnQpXCJcclxuICAgICAgICAgKHZpc2liaWxpdHlDaGFuZ2UpPVwiaGFuZGxlVmlzaWJpbGl0eUNoYW5nZSh0cmFuc2FjdGlvbkxpbmUsICRldmVudClcIj5cclxuICAgICAgPGNvLXRyYW5zYWN0aW9uLWNhcmQtaGVhZGVyXHJcbiAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgIFtzaG93QWN0aW9uQnV0dG9uc109XCJ0cnVlXCJcclxuICAgICAgICBbc2hvd0NoZWNrYm94XT1cInRydWVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJleHBhbmRlZFwiIFtzZWxlY3RlZF09XCJzZWxlY3RlZFwiXHJcbiAgICAgIChjaGVja2JveFZhbHVlQ2hhbmdlZCk9XCJzZWxlY3RlZCA9ICRldmVudFwiXHJcbiAgICAgID5cclxuICAgICAgPC9jby10cmFuc2FjdGlvbi1jYXJkLWhlYWRlcj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWNhcmQtY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtYmFzZSB0b3AtYmFzZVwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtY29tbWlzc2lvbi1idXR0b24gW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIiBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1jb21taXNzaW9uLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXN1cHBsaWVyLWJ1dHRvbiBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLXN1cHBsaWVyLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXN0YXR1c2JhclxyXG4gICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5TdGF0dXNCYXJcIlxyXG4gICAgICAgICAgICBbY29uZmlnTmFtZXNdPVwic3RhdHVzQmFyQ29uZmlnTmFtZXNcIlxyXG4gICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgW2FjdGl2ZUNhdGVnb3J5XT1cImNhdGVnb3J5LlNhbGVzT3JkZXJQbGFubmluZ1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1zdGF0dXNiYXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtYmFzZSBib3R0b20tYmFzZVwiPlxyXG4gICAgICAgICAgPGNvLWVkaXRhYmxlLWxhYmVsIGNsYXNzPVwidHJhbnNhY3Rpb24tY2FyZC1wcmljZSBwcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5wcmljZSB8IGNvQ3VycmVuY3lcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgID48L2NvLWVkaXRhYmxlLWxhYmVsPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtdG90YWxzLWFtb3VudFwiPlxyXG4gICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1hbW91bnQgY2xhc3M9XCJhbW91bnQtbnVtYmVyLXBpY2tlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lQW1vdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1hbW91bnQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWRpc2NvdW50LWJ1dHRvbiAqbmdJZj1cIiFwcmV2aWV3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lRGlzY291bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdOYW1lc109XCJkaXNjb3VudENvbmZpZ05hbWVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1kaXNjb3VudC1idXR0b24+XHJcbiAgICAgICAgICA8Y28tZWRpdGFibGUtbGFiZWwgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXRvdGFscy10b3RhbCBwcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5kaXNwbGF5TmV0TGluZVRvdGFsIHwgY29DdXJyZW5jeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VkaXRNb2RlbF09XCJ0cmFuc2FjdGlvbkxpbmUuZGlzcGxheU5ldExpbmVUb3RhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgPjwvY28tZWRpdGFibGUtbGFiZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtZXhwYW5kZWRcIiAqbmdJZj1cImV4cGFuZGVkXCI+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS13YXJlaG91c2UtYnV0dG9uIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCIgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtd2FyZWhvdXNlLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWJ1dHRvbiBjbGFzcz1cImZpdC1jb250ZW50XCIgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIiBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1idXR0b24+XHJcbiAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS12YXQtYnV0dG9uIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCIgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtdmF0LWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8Y28tdHJhbnNhY3Rpb24tY2FyZC1mb290ZXJcclxuICAgICAgICBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIlxyXG4gICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICBbdHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnldPVwiY2F0ZWdvcnkuU2FsZXNPcmRlck92ZXJ2aWV3XCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxyXG4gICAgICAgIChleHBhbmRDbGlja2VkKT1cImV4cGFuZGVkID0gIWV4cGFuZGVkXCJcclxuICAgICAgPjwvY28tdHJhbnNhY3Rpb24tY2FyZC1mb290ZXI+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQ2FyZFBsYW5uaW5nQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKFRyYW5zYWN0aW9uTGluZUFjdGlvbkJ1dHRvbnNDb21wb25lbnQpXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uTGluZUFjdGlvbkJ1dHRvbnM6IFRyYW5zYWN0aW9uTGluZUFjdGlvbkJ1dHRvbnNDb21wb25lbnQ7XHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tY2FyZC1zYWxlcy1vdmVydmlld1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZGVsaXZlcnlQbGFubmluZ1NlcnZpY2U6IERlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNjcmVlbkNvbmZpZ1NlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgb3JkZXJMaW5lU2V0U2VydmljZTogT3JkZXJMaW5lU2V0U2VydmljZSxcclxuICAgIHByb3RlY3RlZCBpbWFnZVNlcnZpY2U6IFRyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByb3RlY3RlZCB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgKSB7XHJcbiAgICBzdXBlcih0cmFuc2FjdGlvbkV2ZW50U2VydmljZSwgaWNvbkNhY2hlU2VydmljZSwgc2NyZWVuQ29uZmlnU2VydmljZSwgaW1hZ2VTZXJ2aWNlLCBkaWN0aW9uYXJ5U2VydmljZSwgdHJhbnNhY3Rpb25TZXJ2aWNlLCBjaGFuZ2VEZXRlY3Rvcik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGhhbmRsZVNob3dTaWRlUGFuZWwobGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5vcGVuU2lkZVBhbmVsLm5leHQobGluZSlcclxuICB9XHJcbiAgcHVibGljIHN0YXR1c0JhckNvbmZpZ05hbWVzOiBTdGF0dXNCYXJDZmdOYW1lcyA9IHtcclxuICAgIHN0YXR1c0JhckJUOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckJULFxyXG4gICAgc3RhdHVzQmFyVEc6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVEcsXHJcbiAgICBzdGF0dXNCYXJQQTogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJQQSxcclxuICAgIHN0YXR1c0JhclBWOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclBWLFxyXG4gICAgc3RhdHVzQmFyVFA6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVFAsXHJcbiAgICBzdGF0dXNCYXJHVDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHVCxcclxuICAgIHN0YXR1c0JhckdQOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdQLFxyXG4gICAgc3RhdHVzQmFyR0w6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR0wsXHJcbiAgICBzdGF0dXNCYXJHRjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHRlxyXG4gIH1cclxuICBwdWJsaWMgZGlzY291bnRDb25maWdOYW1lczogTGluZURpc2NvdW50Q2ZnTmFtZXMgPSB7XHJcbiAgICBsaW5lUHJpY2VMaXN0OiB0aGlzLmNmZ05hbWVzLkxpbmVQcmljZUxpc3QsXHJcbiAgICBsaW5lRGlzY291bnRBbW91bnQ6IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50QW1vdW50LFxyXG4gICAgbGluZURpc2NvdW50UGVyY2VudGFnZTogdGhpcy5jZmdOYW1lcy5MaW5lRGlzY291bnRQZXJjZW50YWdlLFxyXG4gICAgbGluZURpc2NvdW50U3BlY2lhbDogdGhpcy5jZmdOYW1lcy5MaW5lRGlzY291bnRTcGVjaWFsLFxyXG4gICAgbGluZURpc2NvdW50UXVhbnR1bTogdGhpcy5jZmdOYW1lcy5MaW5lRGlzY291bnRRdWFudHVtXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZHJhZ1N0YXJ0ZWQoZXY6YW55KSB7XHJcbiAgICB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5jdXJyZW50VHJhbnNJZCA9IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmlkO1xyXG4gICAgZXYuZGF0YVRyYW5zZmVyLnNldERhdGEoXCJ0ZXh0XCIsIFwibGluZXNcIik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -47,6 +47,7 @@ export class TransactionInternalComponent {
47
47
  this.relation = new CustomerFullObject();
48
48
  this.showHeader = true;
49
49
  this.showViewModeButtons = true;
50
+ this.transactionPlanning = false;
50
51
  this.relationChange = new EventEmitter();
51
52
  this.showQuickAccess = true;
52
53
  this.showButtonBar = true;
@@ -418,14 +419,15 @@ TransactionInternalComponent.decorators = [
418
419
  <div *ngIf="activeCategory === category.ServiceOrderService">
419
420
  <co-transaction-service-overview [posOrderData]="posOrderData" [transaction]="transaction"></co-transaction-service-overview>
420
421
  </div>
421
- <div class="transaction-tiles-wrapper" *ngIf="activeViewMode === viewModes.Tiles || shouldShowTiles()">
422
+ <div class="transaction-tiles-wrapper" *ngIf="activeViewMode === viewModes.Tiles || shouldShowTiles() || transactionPlanning">
422
423
  <co-transaction-cards
423
424
  [transaction]="transaction"
424
- [activeCategory]="activeCategory">
425
+ [activeCategory]="activeCategory"
426
+ [class.planning-cards]="transactionPlanning">
425
427
  </co-transaction-cards>
426
428
  </div>
427
429
  <div class="transaction-lines-wrapper"
428
- *ngIf="(activeViewMode === viewModes.List && !shouldShowTiles()) && activeCategory !== category.ServiceOrderService">
430
+ *ngIf="(activeViewMode === viewModes.List && !shouldShowTiles()) && activeCategory !== category.ServiceOrderService && !transactionPlanning">
429
431
  <co-transaction-lines
430
432
  [transaction]="transaction"
431
433
  [activeCategory]="activeCategory"
@@ -559,10 +561,11 @@ TransactionInternalComponent.propDecorators = {
559
561
  transaction: [{ type: Input }],
560
562
  showHeader: [{ type: Input }],
561
563
  showViewModeButtons: [{ type: Input }],
564
+ transactionPlanning: [{ type: Input }],
562
565
  relationChange: [{ type: Output }],
563
566
  showQuickAccess: [{ type: HostBinding, args: ['class.show-quick-access',] }, { type: Input }],
564
567
  showButtonBar: [{ type: HostBinding, args: ['class.show-button-bar',] }, { type: Input }],
565
568
  showClass: [{ type: HostBinding, args: ['class.co-transaction-internal',] }],
566
569
  onResize: [{ type: HostListener, args: ['window:resize', ['$event'],] }]
567
570
  };
568
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taW50ZXJuYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24taW50ZXJuYWwvdHJhbnNhY3Rpb24taW50ZXJuYWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsY0FBYyxFQUNkLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxlQUFlLEVBQUUsOENBQThDLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFFdkgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDN0YsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFJMUcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sd0RBQXdELENB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aWNhdGlvblJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFZpZXdDaGlsZHJlbixcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSBmcm9tICcuLi8uLi9lbnVtL3RyYW5zYWN0aW9uLXR5cGUtY2F0ZWdvcnkuZW51bSc7XHJcbmltcG9ydCB7Q29udGVudFZpZXdNb2RlLCBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DZmdOYW1lfSBmcm9tICcuLi8uLi9lbnVtL3RyYW5zYWN0aW9uLWNmZy1uYW1lLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZVNpZGVQYW5lbENvbXBvbmVudH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsL3RyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1JlbGF0aW9uQW55VHlwZX0gZnJvbSAnLi4vLi4vbW9kZWwvcmVsYXRpb24tYW55LXR5cGUnO1xyXG5pbXBvcnQge0N1c3RvbWVyRnVsbE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL2N1c3RvbWVyLWZ1bGwtb2JqZWN0LmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm9SZXNwb25zZX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWluZm8tcmVzcG9uc2UuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTGluZUluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm8nO1xyXG5pbXBvcnQge1N0YXR1c0JhckNmZ05hbWVzfSBmcm9tICcuLi8uLi9pbnRlcmZhY2Uvc3RhdHVzLWJhci1jZmctbmFtZXMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7RHluYW1pY0NvbXBvbmVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvZHluYW1pYy1jb21wb25lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1zY3JlZW4tY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHtMaW5lU2VsZWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9saW5lLXNlbGVjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhckJ1dHRvbn0gZnJvbSAnLi4vLi4vbW9kZWwvdHJhbnNhY3Rpb24tYmFyLWJ1dHRvbic7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25BZGRUZXh0TGluZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1hZGQtdGV4dC1saW5lLXJlcXVlc3QuYm8nO1xyXG5pbXBvcnQge09yZGVyTGluZVNldERUT30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL29yZGVyLWxpbmUtc2V0LWR0byc7XHJcbmltcG9ydCB7T3JkZXJMaW5lU2V0SW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL29yZGVyLWxpbmUtc2V0LWluZm8uYm8nO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uQWRkT3JkZXJMaW5lU2V0VGV4dExpbmVSZXF1ZXN0XHJcbn0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWFkZC1vcmRlci1saW5lLXNldC10ZXh0LWxpbmUtcmVxdWVzdCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWNvbm5lY3Rvci5zZXJ2aWNlJztcclxuaW1wb3J0IHtQdXJjaGFzZUNvbmZpcm1hdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvcHVyY2hhc2UtY29uZmlybWF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge2lzTmlsbH0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvdXRpbHMvZnVuY3Rpb24vaXMtbmlsbC5mdW5jdGlvbic7XHJcbmltcG9ydCB7UG9zT3JkZXJEYXRhfSBmcm9tICcuLi8uLi9tb2RlbC9wb3Mtb3JkZXItZGF0YSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25LaW5kfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS90cmFuc2FjdGlvbi1raW5kLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTWFyZ2luSW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLW1hcmdpbi1pbmZvLmJvJztcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nU2VydmljZX0gZnJvbSAnLi4vZGVsaXZlcnktcGxhbm5pbmcvc2VydmljZS9kZWxpdmVyeS1wbGFubmluZy5zZXJ2aWNlJztcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nTW9kZXN9IGZyb20gJy4uLy4uL2VudW0vZGVsaXZlcnktcGxhbm5pbmctbW9kZXMuZW51bSc7XHJcbmltcG9ydCB7UGxhbk9yZGVyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXIuYm9cIjtcclxuaW1wb3J0IHtQbGFuT3JkZXJMaW5lfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXItbGluZS5ib1wiO1xyXG5pbXBvcnQge1BsYW5uaW5nfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW5uaW5nLmJvXCI7XHJcbmltcG9ydCB7XHJcbiAgQ3JlYXRlU2VydmljZU9yZGVyV2l0aFNvdXJjZVRyYW5zYWN0aW9uTGluZVJlcXVlc3RcclxufSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NyZWF0ZS1zZXJ2aWNlLW9yZGVyLXdpdGgtc291cmNlLXRyYW5zYWN0aW9uLWxpbmUtcmVxdWVzdFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby10cmFuc2FjdGlvbi1pbnRlcm5hbCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkZWRcIj5cclxuICAgICAgPGNvLWNsaWNrLWJsb2NrPjwvY28tY2xpY2stYmxvY2s+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1oZWFkZXJcclxuICAgICAgICAqbmdJZj1cInNob3dIZWFkZXJcIlxyXG4gICAgICAgIFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblwiXHJcbiAgICAgICAgW3JlbGF0aW9uXT1cInJlbGF0aW9uXCJcclxuICAgICAgICAocmVsYXRpb25DaGFuZ2UpPVwiaGFuZGxlUmVsYXRpb25DaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICA8L2NvLXRyYW5zYWN0aW9uLWhlYWRlcj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lcy1oZWFkZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dRdWlja0FjY2Vzc1wiXHJcbiAgICAgICAgICBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmVzLWhlYWRlci1pdGVtXCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblwiXHJcbiAgICAgICAgICBbcmVsYXRpb25dPVwicmVsYXRpb25cIlxyXG4gICAgICAgICAgW2FjdGl2ZUNhdGVnb3J5XT1cImFjdGl2ZUNhdGVnb3J5XCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1xdWljay1hY2Nlc3M+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWJ1dHRvbi1iYXJcclxuICAgICAgICAgICpuZ0lmPVwic2hvd0J1dHRvbkJhclwiXHJcbiAgICAgICAgICBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmVzLWhlYWRlci1pdGVtXCJcclxuICAgICAgICAgIFtzZWxlY3RlZENhdGVnb3J5XT1cImFjdGl2ZUNhdGVnb3J5XCJcclxuICAgICAgICAgIChidXR0b25DbGlja2VkKT1cImhhbmRsZUJ1dHRvbkJhckJ1dHRvbkNsaWNrZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tYnV0dG9uLWJhcj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmVzLWhlYWRlci1pdGVtIHJpZ2h0XCI+XHJcbiAgICAgICAgICA8Y28tYXZhdGFyXHJcbiAgICAgICAgICAgIGNsYXNzPVwidHJhbnNhY3Rpb24tc2FsZXMtYXZhdGFyXCJcclxuICAgICAgICAgICAgW3JlbGF0aW9uSWRdPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmhhbmRsZWRCeVwiXHJcbiAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkhlYWRlckhhbmRsZWRCeVwiXHJcbiAgICAgICAgICAgIHNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQ+XHJcbiAgICAgICAgICA8L2NvLWF2YXRhcj5cclxuICAgICAgICAgIDxjby1hdmF0YXJcclxuICAgICAgICAgICAgY2xhc3M9XCJ0cmFuc2FjdGlvbi1zYWxlcy1hdmF0YXJcIlxyXG4gICAgICAgICAgICBbcmVsYXRpb25JZF09XCJ0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8uYnJhbmNoPy5yZWxhdGlvbklkXCJcclxuICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuSGVhZGVyQnJhbmNoXCJcclxuICAgICAgICAgICAgc2NyZWVuQ29uZmlnTmF0aXZlRWxlbWVudD5cclxuICAgICAgICAgIDwvY28tYXZhdGFyPlxyXG4gICAgICAgICAgPGNvLXZpZXctbW9kZS1idXR0b25zXHJcbiAgICAgICAgICAgICpuZ0lmPVwiIXNob3VsZFNob3dUaWxlcygpICYmIHNob3dWaWV3TW9kZUJ1dHRvbnNcIlxyXG4gICAgICAgICAgICBbc2hvd1ZpZXdNb2Rlc109XCJbdmlld01vZGVzLkxpc3QsIHZpZXdNb2Rlcy5UaWxlc11cIlxyXG4gICAgICAgICAgICAodmlld01vZGVDaGFuZ2UpPVwiaGFuZGxlVmlld01vZGVDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPC9jby12aWV3LW1vZGUtYnV0dG9ucz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZXMtY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgPCEtLTxjby10cmFuc2FjdGlvbi1kb2N1bWVudC1idXR0b24tYmFyIFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblwiPjwvY28tdHJhbnNhY3Rpb24tZG9jdW1lbnQtYnV0dG9uLWJhcj4tLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZXMtY29udGVudFwiPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImFjdGl2ZUNhdGVnb3J5ID09PSBjYXRlZ29yeS5TZXJ2aWNlT3JkZXJTZXJ2aWNlXCI+XHJcbiAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1zZXJ2aWNlLW92ZXJ2aWV3IFtwb3NPcmRlckRhdGFdPVwicG9zT3JkZXJEYXRhXCIgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCI+PC9jby10cmFuc2FjdGlvbi1zZXJ2aWNlLW92ZXJ2aWV3PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tdGlsZXMtd3JhcHBlclwiICpuZ0lmPVwiYWN0aXZlVmlld01vZGUgPT09IHZpZXdNb2Rlcy5UaWxlcyB8fCBzaG91bGRTaG93VGlsZXMoKVwiPlxyXG4gICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tY2FyZHNcclxuICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIlxyXG4gICAgICAgICAgICAgIFthY3RpdmVDYXRlZ29yeV09XCJhY3RpdmVDYXRlZ29yeVwiPlxyXG4gICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWNhcmRzPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZXMtd3JhcHBlclwiXHJcbiAgICAgICAgICAgICAgICpuZ0lmPVwiKGFjdGl2ZVZpZXdNb2RlID09PSB2aWV3TW9kZXMuTGlzdCAmJiAhc2hvdWxkU2hvd1RpbGVzKCkpICYmIGFjdGl2ZUNhdGVnb3J5ICE9PSBjYXRlZ29yeS5TZXJ2aWNlT3JkZXJTZXJ2aWNlXCI+XHJcbiAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lc1xyXG4gICAgICAgICAgICAgIFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblwiXHJcbiAgICAgICAgICAgICAgW2FjdGl2ZUNhdGVnb3J5XT1cImFjdGl2ZUNhdGVnb3J5XCJcclxuICAgICAgICAgICAgICAoc2F2ZVRyYW5zYWN0aW9uTGluZSk9XCJzYXZlVHJhbnNhY3Rpb25MaW5lVGV4dCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tbGluZXM+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1mb290ZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZm9vdGVyLWxlZnRcIj5cclxuICAgICAgICAgICAgICA8Y28tYWRkLXByb2R1Y3RcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiYWN0aXZlQ2F0ZWdvcnkgPT09IGNhdGVnb3JpZXMuU2FsZXNPcmRlckNhc2hSZWdpc3RlciB8fFxyXG4gICAgICAgICAgICAgICAgYWN0aXZlQ2F0ZWdvcnkgPT09IGNhdGVnb3JpZXMuU2FsZXNPcmRlck92ZXJ2aWV3IHx8XHJcbiAgICAgICAgICAgICAgICBhY3RpdmVDYXRlZ29yeSA9PT0gY2F0ZWdvcmllcy5QdXJjaGFzZU9yZGVyT3ZlcnZpZXcgfHxcclxuICAgICAgICAgICAgICAgIGFjdGl2ZUNhdGVnb3J5ID09PSBjYXRlZ29yaWVzLlNhbGVzT3JkZXJRdW90YXRpb24gfHxcclxuICAgICAgICAgICAgICAgIGFjdGl2ZUNhdGVnb3J5ID09PSBjYXRlZ29yaWVzLlNlcnZpY2VPcmRlck92ZXJ2aWV3XCI+XHJcbiAgICAgICAgICAgICAgPC9jby1hZGQtcHJvZHVjdD5cclxuICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tYnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImN1c3RvbS13aWR0aCB0ZXh0LXJ1bGVcIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJhY3RpdmVDYXRlZ29yeSAhPT0gY2F0ZWdvcmllcy5TZXJ2aWNlT3JkZXJTZXJ2aWNlXCJcclxuICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuVGV4dFNvbGlkKVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlVHJhbnNhY3Rpb25UZXh0KClcIj5cclxuICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZm9vdGVyLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1tYXJnaW4gKm5nSWY9XCJhY3RpdmVDYXRlZ29yeSA9PT0gY2F0ZWdvcmllcy5TYWxlc09yZGVyTWFyZ2luSW5mb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25NYXJnaW5JbmZvXT1cInRyYW5zYWN0aW9uTWFyZ2luSW5mb1wiXHJcbiAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbWFyZ2luPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi10b3RhbHNcclxuICAgICAgICAgICAgICAqbmdJZj1cImFjdGl2ZUNhdGVnb3J5ICE9PSBjYXRlZ29yeS5TZXJ2aWNlT3JkZXJTZXJ2aWNlXCJcclxuICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uVG90YWxdPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25Ub3RhbFwiXHJcbiAgICAgICAgICAgICAgW3Nob3dEaXNjb3VudF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tdG90YWxzPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lcy1zaWRlLXBhbmVsXHJcbiAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgdHJhbnNhY3Rpb24gJiZcclxuICAgICAgICAgICh0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kID09PSB0cmFuc2FjdGlvbktpbmQuQ2FzaERlc2sgJiYgIWZ1bGx5SW52b2ljZWQoKSlcIlxyXG4gICAgICAgICAgW3Bvc09yZGVyRGF0YV09XCJwb3NPcmRlckRhdGFcIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1saW5lcy1zaWRlLXBhbmVsPlxyXG5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dTaWRlUGFuZWxcIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwic2lkZVBhbmVsVHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgIFthY3RpdmVDYXRlZ29yeV09XCJhY3RpdmVDYXRlZ29yeVwiXHJcbiAgICAgICAgICAoY2FuY2VsQ2xpY2spPVwic2hvd1NpZGVQYW5lbCA9IGZhbHNlXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWw+XHJcblxyXG4gICAgICAgIDwhLS1Qb3B1cCB2b29yIHdpanppZ2VuIHZvbGdvcmRlIHZhbiB0ZWtzdHJlZ2Vscy0tPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQtb3ZlcnZpZXdcclxuICAgICAgICAgICpuZ0lmPVwic2hvd0FydGljbGVUZXh0T3ZlcnZpZXdcIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgKGNsb3NlQ2xpY2spPVwiY2xvc2VBcnRpY2xlVGV4dE92ZXJ2aWV3KClcIlxyXG4gICAgICAgICAgKGNhbmNlbENsaWNrKT1cImNsb3NlQXJ0aWNsZVRleHRPdmVydmlldygpXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQtb3ZlcnZpZXc+XHJcblxyXG4gICAgICAgIDwhLS1Qb3B1cCB2b29yIGFhbm1ha2VuIGVuIHVwZGF0ZW4gdHJhbnNhY3RpZXRla3N0cmVnZWxzLS0+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWFydGljbGUtdGV4dFxyXG4gICAgICAgICAgKm5nSWY9XCJzaG93VHJhbnNhY3Rpb25UZXh0XCJcclxuICAgICAgICAgIFtoZWFkZXJdPVwiJ09SREVSX1RFWFRfTElORScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICBbdHJhbnNhY3Rpb25VdWlkXT1cInRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby51dWlkXCJcclxuICAgICAgICAgIFtlZGl0VGV4dF09XCJ0ZXh0VG9FZGl0XCJcclxuICAgICAgICAgIFtvcmRlckxpbmVTZXREVE9dPVwic2VsZWN0ZWRPcmRlckxpbmVTZXREVE9cIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgKHNhdmVDbGljayk9XCJzYXZlVHJhbnNhY3Rpb25MaW5lVGV4dCgkZXZlbnQpXCJcclxuICAgICAgICAgIChjbG9zZUNsaWNrKT1cImNsb3NlVHJhbnNhY3Rpb25UZXh0KClcIlxyXG4gICAgICAgICAgKGNhbmNlbENsaWNrKT1cImNsb3NlVHJhbnNhY3Rpb25UZXh0KClcIlxyXG4gICAgICAgICAgKHNhdmVPcmRlckxpbmVTZXRDbGljayk9XCJzYXZlT3JkZXJMaW5lU2V0KCRldmVudClcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWFydGljbGUtdGV4dD5cclxuXHJcbiAgICAgICAgPCEtLVBvcHVwIHZvb3IgYWFubWFrZW4gZW4gdXBkYXRlbiBhcnRpa2VsdGVrc3RyZWdlbHMtLT5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0XHJcbiAgICAgICAgICAqbmdJZj1cInNob3dBcnRpY2xlVGV4dFwiXHJcbiAgICAgICAgICBbaGVhZGVyXT1cIidQUk9EVUNUX0RFU0NSSVBUSU9OX0FORF9URVhUUycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICBbdHJhbnNhY3Rpb25VdWlkXT1cInRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby51dWlkXCJcclxuICAgICAgICAgIFtzaG93QXJ0aWNsZUltYWdlRGVzY3JpcHRpb25dPVwidHJhbnNhY3Rpb25MaW5lLmFydGljbGVCb3VuZFwiXHJcbiAgICAgICAgICBbc2hvd0ltYWdlXT1cImZhbHNlXCJcclxuICAgICAgICAgIFthcnRpY2xlTGluZU5yXT1cInRyYW5zYWN0aW9uTGluZS5saW5lTnJcIlxyXG4gICAgICAgICAgW2FydGljbGVSZWZdPVwidHJhbnNhY3Rpb25MaW5lLmFydGljbGVOdW1iZXJcIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgW2VkaXRUZXh0XT1cInRleHRUb0VkaXRcIlxyXG4gICAgICAgICAgKHNhdmVDbGljayk9XCJzYXZlQXJ0aWNsZUxpbmVUZXh0KCRldmVudClcIlxyXG4gICAgICAgICAgKGNsb3NlQ2xpY2spPVwiY2xvc2VBcnRpY2xlVGV4dCgpXCJcclxuICAgICAgICAgIChjYW5jZWxDbGljayk9XCJjbG9zZUFydGljbGVUZXh0KClcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWFydGljbGUtdGV4dD5cclxuXHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWNvcHktb3JkZXJcclxuICAgICAgICAgICpuZ0lmPVwic2hvd0NvcHlPcmRlckRpYWxvZ1wiXHJcbiAgICAgICAgICBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIlxyXG4gICAgICAgICAgKGNsb3NlRGlhbG9nKT1cInNob3dDb3B5T3JkZXJEaWFsb2cgPSBmYWxzZVwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tY29weS1vcmRlcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUcmFuc2FjdGlvbkludGVybmFsQ29tcG9uZW50KVxyXG4gIH1cclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uSW50ZXJuYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyByZWFkb25seSBjYXRlZ29yaWVzOiB0eXBlb2YgVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkgPSBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeTtcclxuICBwdWJsaWMgcmVhZG9ubHkgZGVsaXZlcnlQbGFubmluZ01vZGVzOiB0eXBlb2YgRGVsaXZlcnlQbGFubmluZ01vZGVzID0gRGVsaXZlcnlQbGFubmluZ01vZGVzO1xyXG4gIHB1YmxpYyByZWFkb25seSB2aWV3TW9kZXM6IHR5cGVvZiBDb250ZW50Vmlld01vZGUgPSBDb250ZW50Vmlld01vZGU7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcbiAgcHVibGljIHJlYWRvbmx5IGNmZ05hbWVzOiB0eXBlb2YgVHJhbnNhY3Rpb25DZmdOYW1lID0gVHJhbnNhY3Rpb25DZmdOYW1lO1xyXG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2FjdGlvbktpbmQ6IHR5cGVvZiBUcmFuc2FjdGlvbktpbmQgPSBUcmFuc2FjdGlvbktpbmQ7XHJcbiAgcHVibGljIHJlYWRvbmx5IGNhdGVnb3J5OiB0eXBlb2YgVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkgPSBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeTtcclxuICBwdWJsaWMgc2NyZWVuV2lkdGg6IG51bWJlcjtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbihUcmFuc2FjdGlvbkxpbmVTaWRlUGFuZWxDb21wb25lbnQpXHJcbiAgcHVibGljIHNpZGVQYW5lbENvbXBvbmVudHM6IFF1ZXJ5TGlzdDxUcmFuc2FjdGlvbkxpbmVTaWRlUGFuZWxDb21wb25lbnQ+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZWxhdGlvbjogUmVsYXRpb25BbnlUeXBlID0gbmV3IEN1c3RvbWVyRnVsbE9iamVjdCgpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgY29uZmlybWF0aW9uQW5hbHlzaXNJZCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9jb25maXJtYXRpb25BbmFseXNpc0lkID0gdmFsdWU7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5zZXJ2aWNlLmFjdGl2ZVJ1YnJpYyA9IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJPcmRlckNvbmZpcm1hdGlvbjtcclxuICAgICAgdGhpcy5hY3RpdmVDYXRlZ29yeSA9IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJPcmRlckNvbmZpcm1hdGlvbjtcclxuICAgIH1cclxuICAgIHRoaXMuX3B1cmNoYXNlQ29uZmlybWF0aW9uU2VydmljZS5jb25maXJtYXRpb25BbmFseXNpc0lkID0gdGhpcy5fY29uZmlybWF0aW9uQW5hbHlzaXNJZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY29uZmlybWF0aW9uQW5hbHlzaXNJZCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpcm1hdGlvbkFuYWx5c2lzSWQ7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwb3NPcmRlckRhdGE6IFBvc09yZGVyRGF0YTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHRyYW5zYWN0aW9uKHZhbHVlOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHRyYW5zYWN0aW9uKCk6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlIHtcclxuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dIZWFkZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93Vmlld01vZGVCdXR0b25zOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlbGF0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVsYXRpb25BbnlUeXBlPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVsYXRpb25BbnlUeXBlPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNob3ctcXVpY2stYWNjZXNzJylcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93UXVpY2tBY2Nlc3M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNob3ctYnV0dG9uLWJhcicpXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0J1dHRvbkJhcjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tdHJhbnNhY3Rpb24taW50ZXJuYWwnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIG9uUmVzaXplKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuc2NyZWVuV2lkdGggPSBldmVudC50YXJnZXQuaW5uZXJXaWR0aDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhY3RpdmVWaWV3TW9kZTogQ29udGVudFZpZXdNb2RlID0gQ29udGVudFZpZXdNb2RlLkxpc3Q7XHJcbiAgcHVibGljIGFjdGl2ZUNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeTtcclxuICBwdWJsaWMgc2lkZVBhbmVsVHJhbnNhY3Rpb25MaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvO1xyXG4gIHB1YmxpYyB0cmFuc2FjdGlvbkxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm87XHJcbiAgcHVibGljIHNlbGVjdGVkT3JkZXJMaW5lU2V0RFRPOiBPcmRlckxpbmVTZXREVE87XHJcbiAgcHVibGljIHNob3dTaWRlUGFuZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvdWxkU2hvd1NpZGVQYW5lbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93QXJ0aWNsZVRleHRPdmVydmlldzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93VHJhbnNhY3Rpb25UZXh0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dBcnRpY2xlVGV4dDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93Q29weU9yZGVyRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGxvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyB0ZXh0VG9FZGl0OiBzdHJpbmc7XHJcbiAgcHVibGljIGhpc3RvcmljVHJhbnNhY3Rpb25MaW5lczogVHJhbnNhY3Rpb25MaW5lSW5mb1tdIHwgbnVsbDtcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25NYXJnaW5JbmZvOiBUcmFuc2FjdGlvbk1hcmdpbkluZm8gPSBuZXcgVHJhbnNhY3Rpb25NYXJnaW5JbmZvKCk7XHJcblxyXG4gIHB1YmxpYyBsaW5lRHJhZ2dlZE92ZXI6IG51bWJlcjtcclxuXHJcbiAgcHVibGljIHN0YXR1c0JhckNvbmZpZ05hbWVzOiBTdGF0dXNCYXJDZmdOYW1lcyA9IHtcclxuICAgIHN0YXR1c0JhckJUOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckJULFxyXG4gICAgc3RhdHVzQmFyVEc6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVEcsXHJcbiAgICBzdGF0dXNCYXJQQTogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJQQSxcclxuICAgIHN0YXR1c0JhclBWOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclBWLFxyXG4gICAgc3RhdHVzQmFyVFA6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVFAsXHJcbiAgICBzdGF0dXNCYXJHVDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHVCxcclxuICAgIHN0YXR1c0JhckdQOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdQLFxyXG4gICAgc3RhdHVzQmFyR0w6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR0wsXHJcbiAgICBzdGF0dXNCYXJHRjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHRixcclxuICAgIHN0YXR1c0JhcklCOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhcklCLFxyXG4gICAgc3RhdHVzQmFyTlQ6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyTlQsXHJcbiAgICBzdGF0dXNCYXJCTjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJCTixcclxuICAgIHN0YXR1c0JhckJHOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckJHLFxyXG4gICAgc3RhdHVzQmFyRkM6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyRkNcclxuICB9O1xyXG5cclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIHByaXZhdGUgX3RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSA9IG5ldyBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSgpO1xyXG4gIHByaXZhdGUgX2NvbmZpcm1hdGlvbkFuYWx5c2lzSWQ6IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcclxuICAgIHByaXZhdGUgX2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBEeW5hbWljQ29tcG9uZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZTogVHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfbGluZVNlbGVjdGlvblNlcnZpY2U6IExpbmVTZWxlY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcHVyY2hhc2VDb25maXJtYXRpb25TZXJ2aWNlOiBQdXJjaGFzZUNvbmZpcm1hdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kZWxpdmVyeVBsYW5uaW5nU2VydmljZTogRGVsaXZlcnlQbGFubmluZ1NlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMuc2VydmljZS50cmFuc2FjdGlvblVwZGF0ZWQuc3Vic2NyaWJlKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAodHJhbnNhY3Rpb24pIHtcclxuICAgICAgICAgIHRoaXMuc2hvdWxkU2hvd1NpZGVQYW5lbCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjtcclxuICAgICAgICAgIHRoaXMudXBkYXRlVHJhbnNhY3Rpb25MaW5lKCk7XHJcbiAgICAgICAgICBpZiAodHJhbnNhY3Rpb24/LnRyYW5zYWN0aW9uSW5mbz8udXVpZCkge1xyXG4gICAgICAgICAgICB0aGlzLmdldFRyYW5zYWN0aW9uTWFyZ2luSW5mbyh0cmFuc2FjdGlvbj8udHJhbnNhY3Rpb25JbmZvPy51dWlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0cmFuc2FjdGlvbj8udHJhbnNhY3Rpb25JbmZvLmlkICYmIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQgPT09IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0UGxhbk9yZGVyRm9yVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMuc2VydmljZS5yZWxhdGlvblVwZGF0ZWQuc3Vic2NyaWJlKChyZWxhdGlvbjogUmVsYXRpb25BbnlUeXBlKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlbGF0aW9uKSB7XHJcbiAgICAgICAgICB0aGlzLnJlbGF0aW9uID0gcmVsYXRpb247XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgdGhpcy5zZXJ2aWNlLnRyYW5zYWN0aW9uS2luZFNldC5zdWJzY3JpYmUoKHNldDogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIGlmIChzZXQpIHtcclxuICAgICAgICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnkgPSB0aGlzLmNvbmZpcm1hdGlvbkFuYWx5c2lzSWQgPyBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3JkZXJDb25maXJtYXRpb24gOiB0aGlzLnNlcnZpY2UuYWN0aXZlUnVicmljO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZS5jb25uZWN0aW9uSW5pdGlhbGl6ZWQuc3Vic2NyaWJlKChpbml0aWFsaXplZDogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIGlmIChpbml0aWFsaXplZCkge1xyXG4gICAgICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMuX3B1cmNoYXNlQ29uZmlybWF0aW9uU2VydmljZS5jb25maXJtYXRpb25OZWVkZWQuc3Vic2NyaWJlKChuZWVkZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAobmVlZGVkKSB7XHJcbiAgICAgICAgICB0aGlzLnNob3VsZFNob3dTaWRlUGFuZWwgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5oYW5kbGVTaG93U2lkZVBhbmVsKHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lc1swXSwgdHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvbkxpbmVEcmFnZ2VkT3Zlci5zdWJzY3JpYmUoKGxpbmVOcikgPT4ge1xyXG4gICAgICAgIHRoaXMubGluZURyYWdnZWRPdmVyID0gbGluZU5yO1xyXG4gICAgICB9KSxcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uub3BlblNpZGVQYW5lbC5zdWJzY3JpYmUoKGxpbmUpID0+IHRoaXMuaGFuZGxlU2hvd1NpZGVQYW5lbChsaW5lKSksXHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLm9wZW5BcnRpY2xlVGV4dE92ZXJ2aWV3LnN1YnNjcmliZSgobGluZSkgPT4gdGhpcy5oYW5kbGVTaG93QXJ0aWNsZVRleHRPdmVydmlldyhsaW5lKSksXHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLmFkZFRyYW5zYWN0aW9uVGV4dC5zdWJzY3JpYmUoKGxpbmUpID0+IHRoaXMuaGFuZGxlU2hvd1RyYW5zYWN0aW9uVGV4dChsaW5lKSksXHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLmFkZEFydGljbGVUZXh0LnN1YnNjcmliZSgobGluZSkgPT4gdGhpcy5oYW5kbGVTaG93QXJ0aWNsZVRleHQobGluZSkpLFxyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5lZGl0VHJhbnNhY3Rpb25UZXh0LnN1YnNjcmliZSgobGluZSkgPT4gdGhpcy5oYW5kbGVFZGl0VHJhbnNhY3Rpb25UZXh0KGxpbmUpKSxcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UuZWRpdEFydGljbGVUZXh0LnN1YnNjcmliZSgobGluZSkgPT4gdGhpcy5oYW5kbGVFZGl0QXJ0aWNsZVRleHQobGluZSkpLFxyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5jcmVhdGVTZXJ2aWNlQnV0dG9uQ2xpY2tlZC5zdWJzY3JpYmUoKGxpbmVOcikgPT4gdGhpcy5oYW5kbGVDcmVhdGVTZXJ2aWNlUmVxdWVzdChsaW5lTnIpKSxcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UuaGlzdG9yaWNSZXBvcnRMaW5lc1RvU2hvd1xyXG4gICAgICAgIC5zdWJzY3JpYmUoKGxpbmVzKSA9PiB0aGlzLmhpc3RvcmljVHJhbnNhY3Rpb25MaW5lcyA9IGxpbmVzKSxcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uuc2hvd0Vycm9yLnN1YnNjcmliZSgoZSkgPT5cclxuICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dFcnJvcihlLm1lc3NhZ2UsIGUubG9jYWxpemUsIGUuZGV0YWlscykpLFxyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5jb3B5T3JkZXIuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2hvd0NvcHlPcmRlckRpYWxvZyA9IHRydWUpXHJcbiAgICApO1xyXG4gICAgdGhpcy5zY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVSZWxhdGlvbkNoYW5nZShyZWxhdGlvbjogUmVsYXRpb25BbnlUeXBlKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2UucmVsYXRpb24gPSByZWxhdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVCdXR0b25CYXJCdXR0b25DbGlja2VkKGJ1dHRvbjogVHJhbnNhY3Rpb25CYXJCdXR0b24pOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnkgPSBidXR0b24uY2F0ZWdvcnk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2hvd1NpZGVQYW5lbChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvLCBmb3JjZTogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICBpZiAobGluZSB8fCBmb3JjZSkge1xyXG4gICAgICB0aGlzLnNpZGVQYW5lbFRyYW5zYWN0aW9uTGluZSA9IGxpbmU7XHJcbiAgICAgIHRoaXMuc2hvd1NpZGVQYW5lbCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlVHJhbnNhY3Rpb25UZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5hZGRUcmFuc2FjdGlvblRleHQubmV4dCh0aGlzLnRyYW5zYWN0aW9uTGluZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2hvd0FydGljbGVUZXh0T3ZlcnZpZXcobGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyk6IHZvaWQge1xyXG4gICAgaWYgKGxpbmUpIHtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUgPSBsaW5lO1xyXG4gICAgICB0aGlzLnNob3dBcnRpY2xlVGV4dE92ZXJ2aWV3ID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTaG93VHJhbnNhY3Rpb25UZXh0KGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50ZXh0VG9FZGl0ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zZWxlY3RlZE9yZGVyTGluZVNldERUTyA9IG5ldyBPcmRlckxpbmVTZXREVE8oKTtcclxuICAgIHRoaXMuc2hvd1RyYW5zYWN0aW9uVGV4dERpYWxvZygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNob3dBcnRpY2xlVGV4dChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKTogdm9pZCB7XHJcbiAgICBpZiAobGluZSkge1xyXG4gICAgICB0aGlzLnRleHRUb0VkaXQgPSB1bmRlZmluZWQ7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lID0gbGluZTtcclxuICAgICAgdGhpcy5zaG93QXJ0aWNsZVRleHREaWFsb2coKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBzYXZlVHJhbnNhY3Rpb25MaW5lVGV4dChkYXRhOiB7IHJlcXVlc3Q6IFRyYW5zYWN0aW9uQWRkVGV4dExpbmVSZXF1ZXN0LCBuZXc6IGJvb2xlYW4gfSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCFkYXRhLm5ldykgeyAvL3VwZGF0ZVxyXG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2UudXBkYXRlVGV4dExpbmUoZGF0YS5yZXF1ZXN0LnRyYW5zYWN0aW9uVXVpZCwgdGhpcy50cmFuc2FjdGlvbkxpbmUudXVpZCwgZGF0YS5yZXF1ZXN0LnNob3dPbkRvY3VtZW50cywgZGF0YS5yZXF1ZXN0LnRleHQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLmFkZFRleHRMaW5lKFxyXG4gICAgICAgIGRhdGEucmVxdWVzdC5zaG93T25Eb2N1bWVudHMsXHJcbiAgICAgICAgZGF0YS5yZXF1ZXN0LnRleHQsXHJcbiAgICAgICAgMCxcclxuICAgICAgICBkYXRhLnJlcXVlc3QuYXJ0aWNsZUJvdW5kLFxyXG4gICAgICAgIDAsXHJcbiAgICAgICAgMCxcclxuICAgICAgICAwKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9oaWRlVHJhbnNhY3Rpb25UZXh0RGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc2F2ZU9yZGVyTGluZVNldChkYXRhOiB7IHJlcXVlc3Q6IE9yZGVyTGluZVNldERUTywgbmV3OiBib29sZWFuIH0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghZGF0YS5uZXcpIHtcclxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnVwZGF0ZU9yZGVyTGluZVNldChkYXRhLnJlcXVlc3QpO1xyXG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2UudXBkYXRlVGV4dExpbmUoZGF0YS5yZXF1ZXN0LnRyYW5zYWN0aW9uVXVpZCwgdGhpcy50cmFuc2FjdGlvbkxpbmUudXVpZCwgZGF0YS5yZXF1ZXN0LnNob3dPbkRvY3VtZW50cywgZGF0YS5yZXF1ZXN0LnRpdGxlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IG5ld1JlcXVlc3Q6IFRyYW5zYWN0aW9uQWRkT3JkZXJMaW5lU2V0VGV4dExpbmVSZXF1ZXN0ID0gbmV3IFRyYW5zYWN0aW9uQWRkT3JkZXJMaW5lU2V0VGV4dExpbmVSZXF1ZXN0KCk7XHJcbiAgICAgIG5ld1JlcXVlc3Qub3JkZXJMaW5lU2V0VGV4dCA9IGRhdGEucmVxdWVzdC50ZXh0O1xyXG4gICAgICBuZXdSZXF1ZXN0LmFtb3VudCA9IGRhdGEucmVxdWVzdC5hbW91bnQ7XHJcbiAgICAgIG5ld1JlcXVlc3QuY2F0ZWdvcnlJZCA9IGRhdGEucmVxdWVzdC5jYXRlZ29yeUlkO1xyXG4gICAgICBuZXdSZXF1ZXN0LmNvbG9yID0gZGF0YS5yZXF1ZXN0LmNvbG9yO1xyXG4gICAgICBuZXdSZXF1ZXN0LnRyYW5zYWN0aW9uVXVpZCA9IGRhdGEucmVxdWVzdC50cmFuc2FjdGlvblV1aWQ7XHJcbiAgICAgIG5ld1JlcXVlc3Quc2hvd09uRG9jdW1lbnRzID0gZGF0YS5yZXF1ZXN0LnNob3dPbkRvY3VtZW50cztcclxuICAgICAgbmV3UmVxdWVzdC50ZXh0ID0gZGF0YS5yZXF1ZXN0LnRpdGxlO1xyXG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2UuYWRkT3JkZXJMaW5lU2V0KG5ld1JlcXVlc3QpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5faGlkZVRyYW5zYWN0aW9uVGV4dERpYWxvZygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNhdmVBcnRpY2xlTGluZVRleHQoZGF0YTogeyByZXF1ZXN0OiBUcmFuc2FjdGlvbkFkZFRleHRMaW5lUmVxdWVzdCwgbmV3OiBib29sZWFuIH0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghZGF0YS5uZXcpIHsgLy91cGRhdGVcclxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnVwZGF0ZVRleHRMaW5lKGRhdGEucmVxdWVzdC50cmFuc2FjdGlvblV1aWQsIHRoaXMudHJhbnNhY3Rpb25MaW5lLnV1aWQsIGRhdGEucmVxdWVzdC5zaG93T25Eb2N1bWVudHMsIGRhdGEucmVxdWVzdC50ZXh0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuc2VydmljZS5hZGRUZXh0TGluZShcclxuICAgICAgICBkYXRhLnJlcXVlc3Quc2hvd09uRG9jdW1lbnRzLFxyXG4gICAgICAgIGRhdGEucmVxdWVzdC50ZXh0LFxyXG4gICAgICAgIDAsXHJcbiAgICAgICAgdHJ1ZSxcclxuICAgICAgICBkYXRhLnJlcXVlc3QucmVmQXJ0aWNsZUxpbmVOclxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5faGlkZUFydGljbGVUZXh0RGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRWRpdFRyYW5zYWN0aW9uVGV4dChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uTGluZSA9IGxpbmU7XHJcbiAgICB0aGlzLnNlbGVjdGVkT3JkZXJMaW5lU2V0RFRPID0gdGhpcy5fZ2V0T3JkZXJMaW5lU2V0SWZFeGlzdHMobGluZSk7XHJcbiAgICBpZiAoaXNOaWxsKHRoaXMuc2VsZWN0ZWRPcmRlckxpbmVTZXREVE8pKSB7XHJcbiAgICAgIHRoaXMudGV4dFRvRWRpdCA9IGxpbmUudGV4dDtcclxuICAgIH1cclxuICAgIGlmIChsaW5lLmlzVGV4dCkge1xyXG4gICAgICB0aGlzLnNob3dUcmFuc2FjdGlvblRleHREaWFsb2coKTtcclxuICAgIH1cclxuICAgIC8vIGlmIChsaW5lLmFydGljbGVCb3VuZENvbmNhdGVuYXRlZFRleHQgJiYgbGluZS5hcnRpY2xlQm91bmRDb25jYXRlbmF0ZWRUZXh0Lmxlbmd0aCA+IDApIHtcclxuICAgIC8vICAgdGhpcy5zaG93QXJ0aWNsZVRleHRPdmVydmlld0RpYWxvZygpO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUVkaXRBcnRpY2xlVGV4dChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKTogdm9pZCB7XHJcbiAgICB0aGlzLnRleHRUb0VkaXQgPSBsaW5lLnRleHQ7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uTGluZSA9IGxpbmU7XHJcbiAgICB0aGlzLl9oaWRlQXJ0aWNsZVRleHRPdmVydmlld0RpYWxvZygpO1xyXG4gICAgdGhpcy5zaG93QXJ0aWNsZVRleHREaWFsb2coKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDcmVhdGVTZXJ2aWNlUmVxdWVzdChsaW5lTnI6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKGxpbmVOciAmJiB0aGlzLnRyYW5zYWN0aW9uKSB7LypcclxuICAgICAgbGV0IHJlcXVlc3Q6Q3JlYXRlU2VydmljZU9yZGVyV2l0aFNvdXJjZVRyYW5zYWN0aW9uTGluZVJlcXVlc3QgPSBuZXcgQ3JlYXRlU2VydmljZU9yZGVyV2l0aFNvdXJjZVRyYW5zYWN0aW9uTGluZVJlcXVlc3QoKTtcclxuICAgICAgcmVxdWVzdC5zb3VyY2VMaW5lTnIgPSBsaW5lLmxpbmVOcjtcclxuICAgICAgcmVxdWVzdC5zb3VyY2VUcmFuc0lkID0gdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8uaWQ7XHJcbiAgICAgIHJlcXVlc3QuY3VzdG9tZXJSZWxhdGlvbklkID0gdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ucmVsYXRpb24ucmVsYXRpb25JZDtcclxuICAgICAgcmVxdWVzdC5icmFuY2hOciA9IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmJyYW5jaC5yZWxhdGlvbk5yOyovXHJcblxyXG4gICAgICAvKnRoaXMuX3RyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZS5jcmVhdGVTZXJ2aWNlT3JkZXJXaXRoU291cmNlVHJhbnNhY3Rpb25MaW5lKHJlcXVlc3QpLnRoZW4oKHJlc3VsdDogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZihyZXN1bHQpIHsqL1xyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5yZXF1ZXN0Q3JlYXRlU2VydmljZU9yZGVyRnJvbVRyYW5zYWN0aW9uTGluZS5uZXh0KHt0cmFuc2FjdGlvbjogdGhpcy50cmFuc2FjdGlvbiwgbGluZU5yOiBsaW5lTnJ9KTtcclxuICAgICAvKiAgIH1cclxuICAgICAgfSk7Ki9cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZUFydGljbGVUZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5faGlkZUFydGljbGVUZXh0RGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VUcmFuc2FjdGlvblRleHQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9oaWRlVHJhbnNhY3Rpb25UZXh0RGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VBcnRpY2xlVGV4dE92ZXJ2aWV3KCk6IHZvaWQge1xyXG4gICAgdGhpcy5faGlkZUFydGljbGVUZXh0T3ZlcnZpZXdEaWFsb2coKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93VHJhbnNhY3Rpb25UZXh0RGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93VHJhbnNhY3Rpb25UZXh0ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93QXJ0aWNsZVRleHREaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dBcnRpY2xlVGV4dCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0FydGljbGVUZXh0T3ZlcnZpZXdEaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dBcnRpY2xlVGV4dE92ZXJ2aWV3ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG91bGRTaG93VGlsZXMoKTogYm9vbGVhbiB7XHJcbiAgICAvLyBBZGp1c3QgdGhlIHdpZHRoIGNvbmRpdGlvbiBhcyBuZWVkZWRcclxuICAgIHJldHVybiB0aGlzLnNjcmVlbldpZHRoIDwgMTI4MDsgLy8gU2hvdyB0aGUgZGl2IGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyIHRoYW4gMTI4MHB4XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZnVsbHlJbnZvaWNlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAodGhpcy50cmFuc2FjdGlvbiAmJlxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mbyAmJlxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5oZWFkZXJJbmZvU3RhdHVzICYmXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMuaGFzT3duUHJvcGVydHkoJ2lzRnVsbHlJbnZvaWNlZCcpICYmXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMuaXNGdWxseUludm9pY2VkKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldE9yZGVyTGluZVNldElmRXhpc3RzKGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiBPcmRlckxpbmVTZXREVE8ge1xyXG4gICAgaWYgKCFsaW5lLm9yZGVyTGluZVNldENvZGUpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBsaW5lU2V0OiBPcmRlckxpbmVTZXRJbmZvID0gdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ub3JkZXJMaW5lU2V0cy5maW5kKHNldCA9PiBzZXQub3JkZXJMaW5lU2V0Q29kZSA9PT0gbGluZS5vcmRlckxpbmVTZXRDb2RlKTtcclxuICAgICAgaWYgKCFsaW5lU2V0KSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGV0IERUTzogT3JkZXJMaW5lU2V0RFRPID0gbmV3IE9yZGVyTGluZVNldERUTygpO1xyXG4gICAgICAgIERUTy5vcmRlckxpbmVTZXRDb2RlID0gbGluZVNldC5vcmRlckxpbmVTZXRDb2RlO1xyXG4gICAgICAgIERUTy5vcmRlckxpbmVTZXRJZCA9IGxpbmVTZXQub3JkZXJMaW5lU2V0SWQ7XHJcbiAgICAgICAgRFRPLnRleHQgPSBsaW5lU2V0LnRleHQ7XHJcbiAgICAgICAgRFRPLmFtb3VudCA9IGxpbmVTZXQuYW1vdW50O1xyXG4gICAgICAgIERUTy50aXRsZSA9IGxpbmVTZXQudGl0bGU7XHJcbiAgICAgICAgRFRPLmNvbG9yID0gbGluZVNldC5jb2xvcjtcclxuICAgICAgICBEVE8uY2F0ZWdvcnlJZCA9IGxpbmVTZXQuY2F0ZWdvcnlJZDtcclxuICAgICAgICByZXR1cm4gRFRPO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oaWRlQXJ0aWNsZVRleHREaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dBcnRpY2xlVGV4dCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGlkZVRyYW5zYWN0aW9uVGV4dERpYWxvZygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1RyYW5zYWN0aW9uVGV4dCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGlkZUFydGljbGVUZXh0T3ZlcnZpZXdEaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dBcnRpY2xlVGV4dE92ZXJ2aWV3ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVRyYW5zYWN0aW9uTGluZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uTGluZSkge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZSA9IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lc1xyXG4gICAgICAgIC5maW5kKChsaW5lKSA9PiBsaW5lLmxpbmVOciA9PT0gdGhpcy50cmFuc2FjdGlvbkxpbmUubGluZU5yKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNpZGVQYW5lbFRyYW5zYWN0aW9uTGluZSkge1xyXG4gICAgICB0aGlzLnNpZGVQYW5lbFRyYW5zYWN0aW9uTGluZSA9IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lc1xyXG4gICAgICAgIC5maW5kKChsaW5lKSA9PiBsaW5lLmxpbmVOciA9PT0gdGhpcy5zaWRlUGFuZWxUcmFuc2FjdGlvbkxpbmUubGluZU5yKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNob3VsZFNob3dTaWRlUGFuZWwgJiYgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkxpbmVzICYmIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlU2hvd1NpZGVQYW5lbCh0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTGluZXNbMF0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gcHJpdmF0ZSBfcHJlcGFyZUhlYWRlcigpOiB2b2lkIHtcclxuICAvLyAgICAgaWYgKHRoaXMuX3NjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5SZWxhdGlvbkluZm9IZWFkZXIpLmltbWVkaWF0ZWx5SGlkZGVuKCkgJiZcclxuICAvLyAgICAgICAgIHRoaXMuX3NjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5PcmRlckluZm9IZWFkZXIpLmltbWVkaWF0ZWx5SGlkZGVuKCkgJiZcclxuICAvLyAgICAgICAgIHRoaXMuX3NjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5QYXltZW50SW5mb0hlYWRlcikuaW1tZWRpYXRlbHlIaWRkZW4oKSAmJlxyXG4gIC8vICAgICAgICAgdGhpcy5fc2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UuZ2V0T2JqZWN0Q29uZmlndXJhdGlvbkZvcih0aGlzLmNmZ05hbWVzLkRlbGl2ZXJ5SW5mb0hlYWRlcikuaW1tZWRpYXRlbHlIaWRkZW4oKSkge1xyXG4gIC8vICAgICAgICAgLy8gbm90aGluZyB0byBzZWUgaGVyZVxyXG4gIC8vICAgICAgICAgdGhpcy5zaG93SGVhZGVyID0gZmFsc2U7XHJcbiAgLy8gICAgIH1cclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBnZXRUcmFuc2FjdGlvbk1hcmdpbkluZm8odHJhbnNhY3Rpb25VVUlEOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh0cmFuc2FjdGlvblVVSUQpIHtcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLmdldFRyYW5zYWN0aW9uTWFyZ2luSW5mbyh0cmFuc2FjdGlvblVVSUQpLnRoZW4oKHJlc3VsdDogVHJhbnNhY3Rpb25NYXJnaW5JbmZvKSA9PiB7XHJcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbk1hcmdpbkluZm8gPSByZXN1bHQ7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVZpZXdNb2RlQ2hhbmdlKG1vZGU6IENvbnRlbnRWaWV3TW9kZSkge1xyXG4gICAgdGhpcy5hY3RpdmVWaWV3TW9kZSA9IG1vZGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UGxhbk9yZGVyRm9yVHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKSB7XHJcbiAgICBpZiAoIXRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRQbGFubmluZz8ucGxhbm5pbmdJZCkge1xyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2UuZ2V0UGxhbm5pbmdTb3VyY2VzKCkudGhlbigocmVzdWx0OiBQbGFubmluZ1tdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuY3VycmVudFBsYW5uaW5nID0gcmVzdWx0WzBdO1xyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLmdldFBsYW5PcmRlcih0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8uaWQpLnRoZW4oIChwbGFuT3JkZXI6IFBsYW5PcmRlcikgPT4ge1xyXG4gICAgICBsZXQgcmVxdWVzdCA9IHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLm1ha2VPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3QocGxhbk9yZGVyKTtcclxuICAgICAgaWYocmVxdWVzdD8ucGxhbm5pbmdJZCkge1xyXG4gICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZS5nZXRPcmRlckxpbmVzUGxhbm5lZChyZXF1ZXN0KS50aGVuKChvcmRlckxpbmVzUGxhbm5lZDogUGxhbk9yZGVyTGluZVtdKSA9PiB7XHJcbiAgICAgICAgICBpZiAob3JkZXJMaW5lc1BsYW5uZWQgJiYgb3JkZXJMaW5lc1BsYW5uZWQ/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgcGxhbk9yZGVyLmxpbmVzID0gW107XHJcbiAgICAgICAgICAgIHBsYW5PcmRlci5saW5lcy5wdXNoKC4uLm9yZGVyTGluZXNQbGFubmVkKTtcclxuICAgICAgICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UubGluZXNQbGFuT3JkZXIgPSBwbGFuT3JkZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
571
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taW50ZXJuYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24taW50ZXJuYWwvdHJhbnNhY3Rpb24taW50ZXJuYWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsY0FBYyxFQUNkLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxlQUFlLEVBQUUsOENBQThDLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFFdkgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDN0YsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFJMUcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sd0RBQXdELENB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QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQXBwbGljYXRpb25SZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gZnJvbSAnLi4vLi4vZW51bS90cmFuc2FjdGlvbi10eXBlLWNhdGVnb3J5LmVudW0nO1xyXG5pbXBvcnQge0NvbnRlbnRWaWV3TW9kZSwgU0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ2ZnTmFtZX0gZnJvbSAnLi4vLi4vZW51bS90cmFuc2FjdGlvbi1jZmctbmFtZS5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVTaWRlUGFuZWxDb21wb25lbnR9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbC90cmFuc2FjdGlvbi1saW5lLXNpZGUtcGFuZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHtSZWxhdGlvbkFueVR5cGV9IGZyb20gJy4uLy4uL21vZGVsL3JlbGF0aW9uLWFueS10eXBlJztcclxuaW1wb3J0IHtDdXN0b21lckZ1bGxPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9jdXN0b21lci1mdWxsLW9iamVjdC5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvJztcclxuaW1wb3J0IHtTdGF0dXNCYXJDZmdOYW1lc30gZnJvbSAnLi4vLi4vaW50ZXJmYWNlL3N0YXR1cy1iYXItY2ZnLW5hbWVzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0R5bmFtaWNDb21wb25lbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2R5bmFtaWMtY29tcG9uZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7RGlhbG9nU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7TGluZVNlbGVjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvbGluZS1zZWxlY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CYXJCdXR0b259IGZyb20gJy4uLy4uL21vZGVsL3RyYW5zYWN0aW9uLWJhci1idXR0b24nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQWRkVGV4dExpbmVSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tYWRkLXRleHQtbGluZS1yZXF1ZXN0LmJvJztcclxuaW1wb3J0IHtPcmRlckxpbmVTZXREVE99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9vcmRlci1saW5lLXNldC1kdG8nO1xyXG5pbXBvcnQge09yZGVyTGluZVNldEluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9vcmRlci1saW5lLXNldC1pbmZvLmJvJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkFkZE9yZGVyTGluZVNldFRleHRMaW5lUmVxdWVzdFxyXG59IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1hZGQtb3JkZXItbGluZS1zZXQtdGV4dC1saW5lLXJlcXVlc3QnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1jb25uZWN0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7UHVyY2hhc2VDb25maXJtYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3B1cmNoYXNlLWNvbmZpcm1hdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtpc05pbGx9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL3V0aWxzL2Z1bmN0aW9uL2lzLW5pbGwuZnVuY3Rpb24nO1xyXG5pbXBvcnQge1Bvc09yZGVyRGF0YX0gZnJvbSAnLi4vLi4vbW9kZWwvcG9zLW9yZGVyLWRhdGEnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uS2luZH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vdHJhbnNhY3Rpb24ta2luZC5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbk1hcmdpbkluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1tYXJnaW4taW5mby5ibyc7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1NlcnZpY2V9IGZyb20gJy4uL2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZSc7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ01vZGVzfSBmcm9tICcuLi8uLi9lbnVtL2RlbGl2ZXJ5LXBsYW5uaW5nLW1vZGVzLmVudW0nO1xyXG5pbXBvcnQge1BsYW5PcmRlcn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFuLW9yZGVyLmJvXCI7XHJcbmltcG9ydCB7UGxhbk9yZGVyTGluZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFuLW9yZGVyLWxpbmUuYm9cIjtcclxuaW1wb3J0IHtQbGFubmluZ30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFubmluZy5ib1wiO1xyXG5pbXBvcnQge1xyXG4gIENyZWF0ZVNlcnZpY2VPcmRlcldpdGhTb3VyY2VUcmFuc2FjdGlvbkxpbmVSZXF1ZXN0XHJcbn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jcmVhdGUtc2VydmljZS1vcmRlci13aXRoLXNvdXJjZS10cmFuc2FjdGlvbi1saW5lLXJlcXVlc3RcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tdHJhbnNhY3Rpb24taW50ZXJuYWwnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGVkXCI+XHJcbiAgICAgIDxjby1jbGljay1ibG9jaz48L2NvLWNsaWNrLWJsb2NrPlxyXG4gICAgICA8Y28tdHJhbnNhY3Rpb24taGVhZGVyXHJcbiAgICAgICAgKm5nSWY9XCJzaG93SGVhZGVyXCJcclxuICAgICAgICBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIlxyXG4gICAgICAgIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiXHJcbiAgICAgICAgKHJlbGF0aW9uQ2hhbmdlKT1cImhhbmRsZVJlbGF0aW9uQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgPC9jby10cmFuc2FjdGlvbi1oZWFkZXI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZXMtaGVhZGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzc1xyXG4gICAgICAgICAgKm5nSWY9XCJzaG93UXVpY2tBY2Nlc3NcIlxyXG4gICAgICAgICAgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lcy1oZWFkZXItaXRlbVwiXHJcbiAgICAgICAgICBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIlxyXG4gICAgICAgICAgW3JlbGF0aW9uXT1cInJlbGF0aW9uXCJcclxuICAgICAgICAgIFthY3RpdmVDYXRlZ29yeV09XCJhY3RpdmVDYXRlZ29yeVwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1idXR0b24tYmFyXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dCdXR0b25CYXJcIlxyXG4gICAgICAgICAgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lcy1oZWFkZXItaXRlbVwiXHJcbiAgICAgICAgICBbc2VsZWN0ZWRDYXRlZ29yeV09XCJhY3RpdmVDYXRlZ29yeVwiXHJcbiAgICAgICAgICAoYnV0dG9uQ2xpY2tlZCk9XCJoYW5kbGVCdXR0b25CYXJCdXR0b25DbGlja2VkKCRldmVudClcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWJ1dHRvbi1iYXI+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lcy1oZWFkZXItaXRlbSByaWdodFwiPlxyXG4gICAgICAgICAgPGNvLWF2YXRhclxyXG4gICAgICAgICAgICBjbGFzcz1cInRyYW5zYWN0aW9uLXNhbGVzLWF2YXRhclwiXHJcbiAgICAgICAgICAgIFtyZWxhdGlvbklkXT1cInRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5oYW5kbGVkQnlcIlxyXG4gICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5IZWFkZXJIYW5kbGVkQnlcIlxyXG4gICAgICAgICAgICBzY3JlZW5Db25maWdOYXRpdmVFbGVtZW50PlxyXG4gICAgICAgICAgPC9jby1hdmF0YXI+XHJcbiAgICAgICAgICA8Y28tYXZhdGFyXHJcbiAgICAgICAgICAgIGNsYXNzPVwidHJhbnNhY3Rpb24tc2FsZXMtYXZhdGFyXCJcclxuICAgICAgICAgICAgW3JlbGF0aW9uSWRdPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmJyYW5jaD8ucmVsYXRpb25JZFwiXHJcbiAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkhlYWRlckJyYW5jaFwiXHJcbiAgICAgICAgICAgIHNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQ+XHJcbiAgICAgICAgICA8L2NvLWF2YXRhcj5cclxuICAgICAgICAgIDxjby12aWV3LW1vZGUtYnV0dG9uc1xyXG4gICAgICAgICAgICAqbmdJZj1cIiFzaG91bGRTaG93VGlsZXMoKSAmJiBzaG93Vmlld01vZGVCdXR0b25zXCJcclxuICAgICAgICAgICAgW3Nob3dWaWV3TW9kZXNdPVwiW3ZpZXdNb2Rlcy5MaXN0LCB2aWV3TW9kZXMuVGlsZXNdXCJcclxuICAgICAgICAgICAgKHZpZXdNb2RlQ2hhbmdlKT1cImhhbmRsZVZpZXdNb2RlQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICAgIDwvY28tdmlldy1tb2RlLWJ1dHRvbnM+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmVzLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgIDwhLS08Y28tdHJhbnNhY3Rpb24tZG9jdW1lbnQtYnV0dG9uLWJhciBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIj48L2NvLXRyYW5zYWN0aW9uLWRvY3VtZW50LWJ1dHRvbi1iYXI+LS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmVzLWNvbnRlbnRcIj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJhY3RpdmVDYXRlZ29yeSA9PT0gY2F0ZWdvcnkuU2VydmljZU9yZGVyU2VydmljZVwiPlxyXG4gICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tc2VydmljZS1vdmVydmlldyBbcG9zT3JkZXJEYXRhXT1cInBvc09yZGVyRGF0YVwiIFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblwiPjwvY28tdHJhbnNhY3Rpb24tc2VydmljZS1vdmVydmlldz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLXRpbGVzLXdyYXBwZXJcIiAqbmdJZj1cImFjdGl2ZVZpZXdNb2RlID09PSB2aWV3TW9kZXMuVGlsZXMgfHwgc2hvdWxkU2hvd1RpbGVzKCkgfHwgdHJhbnNhY3Rpb25QbGFubmluZ1wiPlxyXG4gICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tY2FyZHNcclxuICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIlxyXG4gICAgICAgICAgICAgIFthY3RpdmVDYXRlZ29yeV09XCJhY3RpdmVDYXRlZ29yeVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLnBsYW5uaW5nLWNhcmRzXT1cInRyYW5zYWN0aW9uUGxhbm5pbmdcIj5cclxuICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1jYXJkcz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmVzLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICAgICAqbmdJZj1cIihhY3RpdmVWaWV3TW9kZSA9PT0gdmlld01vZGVzLkxpc3QgJiYgIXNob3VsZFNob3dUaWxlcygpKSAmJiBhY3RpdmVDYXRlZ29yeSAhPT0gY2F0ZWdvcnkuU2VydmljZU9yZGVyU2VydmljZSAmJiAhdHJhbnNhY3Rpb25QbGFubmluZ1wiPlxyXG4gICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZXNcclxuICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIlxyXG4gICAgICAgICAgICAgIFthY3RpdmVDYXRlZ29yeV09XCJhY3RpdmVDYXRlZ29yeVwiXHJcbiAgICAgICAgICAgICAgKHNhdmVUcmFuc2FjdGlvbkxpbmUpPVwic2F2ZVRyYW5zYWN0aW9uTGluZVRleHQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWxpbmVzPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tZm9vdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZvb3Rlci1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgPGNvLWFkZC1wcm9kdWN0XHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImFjdGl2ZUNhdGVnb3J5ID09PSBjYXRlZ29yaWVzLlNhbGVzT3JkZXJDYXNoUmVnaXN0ZXIgfHxcclxuICAgICAgICAgICAgICAgIGFjdGl2ZUNhdGVnb3J5ID09PSBjYXRlZ29yaWVzLlNhbGVzT3JkZXJPdmVydmlldyB8fFxyXG4gICAgICAgICAgICAgICAgYWN0aXZlQ2F0ZWdvcnkgPT09IGNhdGVnb3JpZXMuUHVyY2hhc2VPcmRlck92ZXJ2aWV3IHx8XHJcbiAgICAgICAgICAgICAgICBhY3RpdmVDYXRlZ29yeSA9PT0gY2F0ZWdvcmllcy5TYWxlc09yZGVyUXVvdGF0aW9uIHx8XHJcbiAgICAgICAgICAgICAgICBhY3RpdmVDYXRlZ29yeSA9PT0gY2F0ZWdvcmllcy5TZXJ2aWNlT3JkZXJPdmVydmlld1wiPlxyXG4gICAgICAgICAgICAgIDwvY28tYWRkLXByb2R1Y3Q+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjdXN0b20td2lkdGggdGV4dC1ydWxlXCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiYWN0aXZlQ2F0ZWdvcnkgIT09IGNhdGVnb3JpZXMuU2VydmljZU9yZGVyU2VydmljZVwiXHJcbiAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlRleHRTb2xpZClcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVRyYW5zYWN0aW9uVGV4dCgpXCI+XHJcbiAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWZvb3Rlci1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbWFyZ2luICpuZ0lmPVwiYWN0aXZlQ2F0ZWdvcnkgPT09IGNhdGVnb3JpZXMuU2FsZXNPcmRlck1hcmdpbkluZm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uTWFyZ2luSW5mb109XCJ0cmFuc2FjdGlvbk1hcmdpbkluZm9cIlxyXG4gICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLW1hcmdpbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tdG90YWxzXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJhY3RpdmVDYXRlZ29yeSAhPT0gY2F0ZWdvcnkuU2VydmljZU9yZGVyU2VydmljZVwiXHJcbiAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgICAgIFt0cmFuc2FjdGlvblRvdGFsXT1cInRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uVG90YWxcIlxyXG4gICAgICAgICAgICAgIFtzaG93RGlzY291bnRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLXRvdGFscz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZXMtc2lkZS1wYW5lbFxyXG4gICAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgIHRyYW5zYWN0aW9uICYmXHJcbiAgICAgICAgICAodHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnRyYW5zYWN0aW9uS2luZCA9PT0gdHJhbnNhY3Rpb25LaW5kLkNhc2hEZXNrICYmICFmdWxseUludm9pY2VkKCkpXCJcclxuICAgICAgICAgIFtwb3NPcmRlckRhdGFdPVwicG9zT3JkZXJEYXRhXCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tbGluZXMtc2lkZS1wYW5lbD5cclxuXHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtc2lkZS1wYW5lbFxyXG4gICAgICAgICAgKm5nSWY9XCJzaG93U2lkZVBhbmVsXCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbl09XCJ0cmFuc2FjdGlvblwiXHJcbiAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInNpZGVQYW5lbFRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICBbYWN0aXZlQ2F0ZWdvcnldPVwiYWN0aXZlQ2F0ZWdvcnlcIlxyXG4gICAgICAgICAgKGNhbmNlbENsaWNrKT1cInNob3dTaWRlUGFuZWwgPSBmYWxzZVwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tbGluZS1zaWRlLXBhbmVsPlxyXG5cclxuICAgICAgICA8IS0tUG9wdXAgdm9vciB3aWp6aWdlbiB2b2xnb3JkZSB2YW4gdGVrc3RyZWdlbHMtLT5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0LW92ZXJ2aWV3XHJcbiAgICAgICAgICAqbmdJZj1cInNob3dBcnRpY2xlVGV4dE92ZXJ2aWV3XCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgIChjbG9zZUNsaWNrKT1cImNsb3NlQXJ0aWNsZVRleHRPdmVydmlldygpXCJcclxuICAgICAgICAgIChjYW5jZWxDbGljayk9XCJjbG9zZUFydGljbGVUZXh0T3ZlcnZpZXcoKVwiPlxyXG4gICAgICAgIDwvY28tdHJhbnNhY3Rpb24tYXJ0aWNsZS10ZXh0LW92ZXJ2aWV3PlxyXG5cclxuICAgICAgICA8IS0tUG9wdXAgdm9vciBhYW5tYWtlbiBlbiB1cGRhdGVuIHRyYW5zYWN0aWV0ZWtzdHJlZ2Vscy0tPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1hcnRpY2xlLXRleHRcclxuICAgICAgICAgICpuZ0lmPVwic2hvd1RyYW5zYWN0aW9uVGV4dFwiXHJcbiAgICAgICAgICBbaGVhZGVyXT1cIidPUkRFUl9URVhUX0xJTkUnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uVXVpZF09XCJ0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udXVpZFwiXHJcbiAgICAgICAgICBbZWRpdFRleHRdPVwidGV4dFRvRWRpdFwiXHJcbiAgICAgICAgICBbb3JkZXJMaW5lU2V0RFRPXT1cInNlbGVjdGVkT3JkZXJMaW5lU2V0RFRPXCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgIChzYXZlQ2xpY2spPVwic2F2ZVRyYW5zYWN0aW9uTGluZVRleHQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoY2xvc2VDbGljayk9XCJjbG9zZVRyYW5zYWN0aW9uVGV4dCgpXCJcclxuICAgICAgICAgIChjYW5jZWxDbGljayk9XCJjbG9zZVRyYW5zYWN0aW9uVGV4dCgpXCJcclxuICAgICAgICAgIChzYXZlT3JkZXJMaW5lU2V0Q2xpY2spPVwic2F2ZU9yZGVyTGluZVNldCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQ+XHJcblxyXG4gICAgICAgIDwhLS1Qb3B1cCB2b29yIGFhbm1ha2VuIGVuIHVwZGF0ZW4gYXJ0aWtlbHRla3N0cmVnZWxzLS0+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWFydGljbGUtdGV4dFxyXG4gICAgICAgICAgKm5nSWY9XCJzaG93QXJ0aWNsZVRleHRcIlxyXG4gICAgICAgICAgW2hlYWRlcl09XCInUFJPRFVDVF9ERVNDUklQVElPTl9BTkRfVEVYVFMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uVXVpZF09XCJ0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udXVpZFwiXHJcbiAgICAgICAgICBbc2hvd0FydGljbGVJbWFnZURlc2NyaXB0aW9uXT1cInRyYW5zYWN0aW9uTGluZS5hcnRpY2xlQm91bmRcIlxyXG4gICAgICAgICAgW3Nob3dJbWFnZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICBbYXJ0aWNsZUxpbmVOcl09XCJ0cmFuc2FjdGlvbkxpbmUubGluZU5yXCJcclxuICAgICAgICAgIFthcnRpY2xlUmVmXT1cInRyYW5zYWN0aW9uTGluZS5hcnRpY2xlTnVtYmVyXCJcclxuICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgIFtlZGl0VGV4dF09XCJ0ZXh0VG9FZGl0XCJcclxuICAgICAgICAgIChzYXZlQ2xpY2spPVwic2F2ZUFydGljbGVMaW5lVGV4dCgkZXZlbnQpXCJcclxuICAgICAgICAgIChjbG9zZUNsaWNrKT1cImNsb3NlQXJ0aWNsZVRleHQoKVwiXHJcbiAgICAgICAgICAoY2FuY2VsQ2xpY2spPVwiY2xvc2VBcnRpY2xlVGV4dCgpXCI+XHJcbiAgICAgICAgPC9jby10cmFuc2FjdGlvbi1hcnRpY2xlLXRleHQ+XHJcblxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1jb3B5LW9yZGVyXHJcbiAgICAgICAgICAqbmdJZj1cInNob3dDb3B5T3JkZXJEaWFsb2dcIlxyXG4gICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCJcclxuICAgICAgICAgIChjbG9zZURpYWxvZyk9XCJzaG93Q29weU9yZGVyRGlhbG9nID0gZmFsc2VcIj5cclxuICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWNvcHktb3JkZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFt7XHJcbiAgICBwcm92aWRlOiBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHJhbnNhY3Rpb25JbnRlcm5hbENvbXBvbmVudClcclxuICB9XHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkludGVybmFsQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgY2F0ZWdvcmllczogdHlwZW9mIFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5ID0gVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk7XHJcbiAgcHVibGljIHJlYWRvbmx5IGRlbGl2ZXJ5UGxhbm5pbmdNb2RlczogdHlwZW9mIERlbGl2ZXJ5UGxhbm5pbmdNb2RlcyA9IERlbGl2ZXJ5UGxhbm5pbmdNb2RlcztcclxuICBwdWJsaWMgcmVhZG9ubHkgdmlld01vZGVzOiB0eXBlb2YgQ29udGVudFZpZXdNb2RlID0gQ29udGVudFZpZXdNb2RlO1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyByZWFkb25seSBjZmdOYW1lczogdHlwZW9mIFRyYW5zYWN0aW9uQ2ZnTmFtZSA9IFRyYW5zYWN0aW9uQ2ZnTmFtZTtcclxuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNhY3Rpb25LaW5kOiB0eXBlb2YgVHJhbnNhY3Rpb25LaW5kID0gVHJhbnNhY3Rpb25LaW5kO1xyXG4gIHB1YmxpYyByZWFkb25seSBjYXRlZ29yeTogdHlwZW9mIFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5ID0gVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk7XHJcbiAgcHVibGljIHNjcmVlbldpZHRoOiBudW1iZXI7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oVHJhbnNhY3Rpb25MaW5lU2lkZVBhbmVsQ29tcG9uZW50KVxyXG4gIHB1YmxpYyBzaWRlUGFuZWxDb21wb25lbnRzOiBRdWVyeUxpc3Q8VHJhbnNhY3Rpb25MaW5lU2lkZVBhbmVsQ29tcG9uZW50PjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVsYXRpb246IFJlbGF0aW9uQW55VHlwZSA9IG5ldyBDdXN0b21lckZ1bGxPYmplY3QoKTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGNvbmZpcm1hdGlvbkFuYWx5c2lzSWQodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fY29uZmlybWF0aW9uQW5hbHlzaXNJZCA9IHZhbHVlO1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VydmljZS5hY3RpdmVSdWJyaWMgPSBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3JkZXJDb25maXJtYXRpb247XHJcbiAgICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnkgPSBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3JkZXJDb25maXJtYXRpb247XHJcbiAgICB9XHJcbiAgICB0aGlzLl9wdXJjaGFzZUNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybWF0aW9uQW5hbHlzaXNJZCA9IHRoaXMuX2NvbmZpcm1hdGlvbkFuYWx5c2lzSWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNvbmZpcm1hdGlvbkFuYWx5c2lzSWQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9jb25maXJtYXRpb25BbmFseXNpc0lkO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcG9zT3JkZXJEYXRhOiBQb3NPcmRlckRhdGE7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCB0cmFuc2FjdGlvbih2YWx1ZTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB0cmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93SGVhZGVyOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1ZpZXdNb2RlQnV0dG9uczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uUGxhbm5pbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlbGF0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVsYXRpb25BbnlUeXBlPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVsYXRpb25BbnlUeXBlPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNob3ctcXVpY2stYWNjZXNzJylcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93UXVpY2tBY2Nlc3M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNob3ctYnV0dG9uLWJhcicpXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0J1dHRvbkJhcjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tdHJhbnNhY3Rpb24taW50ZXJuYWwnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIG9uUmVzaXplKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuc2NyZWVuV2lkdGggPSBldmVudC50YXJnZXQuaW5uZXJXaWR0aDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhY3RpdmVWaWV3TW9kZTogQ29udGVudFZpZXdNb2RlID0gQ29udGVudFZpZXdNb2RlLkxpc3Q7XHJcbiAgcHVibGljIGFjdGl2ZUNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeTtcclxuICBwdWJsaWMgc2lkZVBhbmVsVHJhbnNhY3Rpb25MaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvO1xyXG4gIHB1YmxpYyB0cmFuc2FjdGlvbkxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm87XHJcbiAgcHVibGljIHNlbGVjdGVkT3JkZXJMaW5lU2V0RFRPOiBPcmRlckxpbmVTZXREVE87XHJcbiAgcHVibGljIHNob3dTaWRlUGFuZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvdWxkU2hvd1NpZGVQYW5lbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93QXJ0aWNsZVRleHRPdmVydmlldzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93VHJhbnNhY3Rpb25UZXh0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dBcnRpY2xlVGV4dDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93Q29weU9yZGVyRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGxvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyB0ZXh0VG9FZGl0OiBzdHJpbmc7XHJcbiAgcHVibGljIGhpc3RvcmljVHJhbnNhY3Rpb25MaW5lczogVHJhbnNhY3Rpb25MaW5lSW5mb1tdIHwgbnVsbDtcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25NYXJnaW5JbmZvOiBUcmFuc2FjdGlvbk1hcmdpbkluZm8gPSBuZXcgVHJhbnNhY3Rpb25NYXJnaW5JbmZvKCk7XHJcblxyXG4gIHB1YmxpYyBsaW5lRHJhZ2dlZE92ZXI6IG51bWJlcjtcclxuXHJcbiAgcHVibGljIHN0YXR1c0JhckNvbmZpZ05hbWVzOiBTdGF0dXNCYXJDZmdOYW1lcyA9IHtcclxuICAgIHN0YXR1c0JhckJUOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckJULFxyXG4gICAgc3RhdHVzQmFyVEc6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVEcsXHJcbiAgICBzdGF0dXNCYXJQQTogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJQQSxcclxuICAgIHN0YXR1c0JhclBWOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclBWLFxyXG4gICAgc3RhdHVzQmFyVFA6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVFAsXHJcbiAgICBzdGF0dXNCYXJHVDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHVCxcclxuICAgIHN0YXR1c0JhckdQOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdQLFxyXG4gICAgc3RhdHVzQmFyR0w6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR0wsXHJcbiAgICBzdGF0dXNCYXJHRjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHRixcclxuICAgIHN0YXR1c0JhcklCOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhcklCLFxyXG4gICAgc3RhdHVzQmFyTlQ6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyTlQsXHJcbiAgICBzdGF0dXNCYXJCTjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJCTixcclxuICAgIHN0YXR1c0JhckJHOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckJHLFxyXG4gICAgc3RhdHVzQmFyRkM6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyRkNcclxuICB9O1xyXG5cclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIHByaXZhdGUgX3RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSA9IG5ldyBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSgpO1xyXG4gIHByaXZhdGUgX2NvbmZpcm1hdGlvbkFuYWx5c2lzSWQ6IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHB1YmxpYyBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcclxuICAgIHByaXZhdGUgX2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlOiBEeW5hbWljQ29tcG9uZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZTogVHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfbGluZVNlbGVjdGlvblNlcnZpY2U6IExpbmVTZWxlY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcHVyY2hhc2VDb25maXJtYXRpb25TZXJ2aWNlOiBQdXJjaGFzZUNvbmZpcm1hdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kZWxpdmVyeVBsYW5uaW5nU2VydmljZTogRGVsaXZlcnlQbGFubmluZ1NlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMuc2VydmljZS50cmFuc2FjdGlvblVwZGF0ZWQuc3Vic2NyaWJlKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAodHJhbnNhY3Rpb24pIHtcclxuICAgICAgICAgIHRoaXMuc2hvdWxkU2hvd1NpZGVQYW5lbCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjtcclxuICAgICAgICAgIHRoaXMudXBkYXRlVHJhbnNhY3Rpb25MaW5lKCk7XHJcbiAgICAgICAgICBpZiAodHJhbnNhY3Rpb24/LnRyYW5zYWN0aW9uSW5mbz8udXVpZCkge1xyXG4gICAgICAgICAgICB0aGlzLmdldFRyYW5zYWN0aW9uTWFyZ2luSW5mbyh0cmFuc2FjdGlvbj8udHJhbnNhY3Rpb25JbmZvPy51dWlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0cmFuc2FjdGlvbj8udHJhbnNhY3Rpb25JbmZvLmlkICYmIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbktpbmQgPT09IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0UGxhbk9yZGVyRm9yVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMuc2VydmljZS5yZWxhdGlvblVwZGF0ZWQuc3Vic2NyaWJlKChyZWxhdGlvbjogUmVsYXRpb25BbnlUeXBlKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlbGF0aW9uKSB7XHJcbiAgICAgICAgICB0aGlzLnJlbGF0aW9uID0gcmVsYXRpb247XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgdGhpcy5zZXJ2aWNlLnRyYW5zYWN0aW9uS2luZFNldC5zdWJzY3JpYmUoKHNldDogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIGlmIChzZXQpIHtcclxuICAgICAgICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnkgPSB0aGlzLmNvbmZpcm1hdGlvbkFuYWx5c2lzSWQgPyBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeS5QdXJjaGFzZU9yZGVyT3JkZXJDb25maXJtYXRpb24gOiB0aGlzLnNlcnZpY2UuYWN0aXZlUnVicmljO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZS5jb25uZWN0aW9uSW5pdGlhbGl6ZWQuc3Vic2NyaWJlKChpbml0aWFsaXplZDogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIGlmIChpbml0aWFsaXplZCkge1xyXG4gICAgICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMuX3B1cmNoYXNlQ29uZmlybWF0aW9uU2VydmljZS5jb25maXJtYXRpb25OZWVkZWQuc3Vic2NyaWJlKChuZWVkZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAobmVlZGVkKSB7XHJcbiAgICAgICAgICB0aGlzLnNob3VsZFNob3dTaWRlUGFuZWwgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5oYW5kbGVTaG93U2lkZVBhbmVsKHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lc1swXSwgdHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvbkxpbmVEcmFnZ2VkT3Zlci5zdWJzY3JpYmUoKGxpbmVOcikgPT4ge1xyXG4gICAgICAgIHRoaXMubGluZURyYWdnZWRPdmVyID0gbGluZU5yO1xyXG4gICAgICB9KSxcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uub3BlblNpZGVQYW5lbC5zdWJzY3JpYmUoKGxpbmUpID0+IHRoaXMuaGFuZGxlU2hvd1NpZGVQYW5lbChsaW5lKSksXHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLm9wZW5BcnRpY2xlVGV4dE92ZXJ2aWV3LnN1YnNjcmliZSgobGluZSkgPT4gdGhpcy5oYW5kbGVTaG93QXJ0aWNsZVRleHRPdmVydmlldyhsaW5lKSksXHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLmFkZFRyYW5zYWN0aW9uVGV4dC5zdWJzY3JpYmUoKGxpbmUpID0+IHRoaXMuaGFuZGxlU2hvd1RyYW5zYWN0aW9uVGV4dChsaW5lKSksXHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLmFkZEFydGljbGVUZXh0LnN1YnNjcmliZSgobGluZSkgPT4gdGhpcy5oYW5kbGVTaG93QXJ0aWNsZVRleHQobGluZSkpLFxyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5lZGl0VHJhbnNhY3Rpb25UZXh0LnN1YnNjcmliZSgobGluZSkgPT4gdGhpcy5oYW5kbGVFZGl0VHJhbnNhY3Rpb25UZXh0KGxpbmUpKSxcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UuZWRpdEFydGljbGVUZXh0LnN1YnNjcmliZSgobGluZSkgPT4gdGhpcy5oYW5kbGVFZGl0QXJ0aWNsZVRleHQobGluZSkpLFxyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5jcmVhdGVTZXJ2aWNlQnV0dG9uQ2xpY2tlZC5zdWJzY3JpYmUoKGxpbmVOcikgPT4gdGhpcy5oYW5kbGVDcmVhdGVTZXJ2aWNlUmVxdWVzdChsaW5lTnIpKSxcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UuaGlzdG9yaWNSZXBvcnRMaW5lc1RvU2hvd1xyXG4gICAgICAgIC5zdWJzY3JpYmUoKGxpbmVzKSA9PiB0aGlzLmhpc3RvcmljVHJhbnNhY3Rpb25MaW5lcyA9IGxpbmVzKSxcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uuc2hvd0Vycm9yLnN1YnNjcmliZSgoZSkgPT5cclxuICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dFcnJvcihlLm1lc3NhZ2UsIGUubG9jYWxpemUsIGUuZGV0YWlscykpLFxyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5jb3B5T3JkZXIuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2hvd0NvcHlPcmRlckRpYWxvZyA9IHRydWUpXHJcbiAgICApO1xyXG4gICAgdGhpcy5zY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVSZWxhdGlvbkNoYW5nZShyZWxhdGlvbjogUmVsYXRpb25BbnlUeXBlKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2UucmVsYXRpb24gPSByZWxhdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVCdXR0b25CYXJCdXR0b25DbGlja2VkKGJ1dHRvbjogVHJhbnNhY3Rpb25CYXJCdXR0b24pOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnkgPSBidXR0b24uY2F0ZWdvcnk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2hvd1NpZGVQYW5lbChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvLCBmb3JjZTogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICBpZiAobGluZSB8fCBmb3JjZSkge1xyXG4gICAgICB0aGlzLnNpZGVQYW5lbFRyYW5zYWN0aW9uTGluZSA9IGxpbmU7XHJcbiAgICAgIHRoaXMuc2hvd1NpZGVQYW5lbCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlVHJhbnNhY3Rpb25UZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5hZGRUcmFuc2FjdGlvblRleHQubmV4dCh0aGlzLnRyYW5zYWN0aW9uTGluZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2hvd0FydGljbGVUZXh0T3ZlcnZpZXcobGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyk6IHZvaWQge1xyXG4gICAgaWYgKGxpbmUpIHtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUgPSBsaW5lO1xyXG4gICAgICB0aGlzLnNob3dBcnRpY2xlVGV4dE92ZXJ2aWV3ID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTaG93VHJhbnNhY3Rpb25UZXh0KGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy50ZXh0VG9FZGl0ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zZWxlY3RlZE9yZGVyTGluZVNldERUTyA9IG5ldyBPcmRlckxpbmVTZXREVE8oKTtcclxuICAgIHRoaXMuc2hvd1RyYW5zYWN0aW9uVGV4dERpYWxvZygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNob3dBcnRpY2xlVGV4dChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKTogdm9pZCB7XHJcbiAgICBpZiAobGluZSkge1xyXG4gICAgICB0aGlzLnRleHRUb0VkaXQgPSB1bmRlZmluZWQ7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lID0gbGluZTtcclxuICAgICAgdGhpcy5zaG93QXJ0aWNsZVRleHREaWFsb2coKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBzYXZlVHJhbnNhY3Rpb25MaW5lVGV4dChkYXRhOiB7IHJlcXVlc3Q6IFRyYW5zYWN0aW9uQWRkVGV4dExpbmVSZXF1ZXN0LCBuZXc6IGJvb2xlYW4gfSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCFkYXRhLm5ldykgeyAvL3VwZGF0ZVxyXG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2UudXBkYXRlVGV4dExpbmUoZGF0YS5yZXF1ZXN0LnRyYW5zYWN0aW9uVXVpZCwgdGhpcy50cmFuc2FjdGlvbkxpbmUudXVpZCwgZGF0YS5yZXF1ZXN0LnNob3dPbkRvY3VtZW50cywgZGF0YS5yZXF1ZXN0LnRleHQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLmFkZFRleHRMaW5lKFxyXG4gICAgICAgIGRhdGEucmVxdWVzdC5zaG93T25Eb2N1bWVudHMsXHJcbiAgICAgICAgZGF0YS5yZXF1ZXN0LnRleHQsXHJcbiAgICAgICAgMCxcclxuICAgICAgICBkYXRhLnJlcXVlc3QuYXJ0aWNsZUJvdW5kLFxyXG4gICAgICAgIDAsXHJcbiAgICAgICAgMCxcclxuICAgICAgICAwKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9oaWRlVHJhbnNhY3Rpb25UZXh0RGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc2F2ZU9yZGVyTGluZVNldChkYXRhOiB7IHJlcXVlc3Q6IE9yZGVyTGluZVNldERUTywgbmV3OiBib29sZWFuIH0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghZGF0YS5uZXcpIHtcclxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnVwZGF0ZU9yZGVyTGluZVNldChkYXRhLnJlcXVlc3QpO1xyXG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2UudXBkYXRlVGV4dExpbmUoZGF0YS5yZXF1ZXN0LnRyYW5zYWN0aW9uVXVpZCwgdGhpcy50cmFuc2FjdGlvbkxpbmUudXVpZCwgZGF0YS5yZXF1ZXN0LnNob3dPbkRvY3VtZW50cywgZGF0YS5yZXF1ZXN0LnRpdGxlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IG5ld1JlcXVlc3Q6IFRyYW5zYWN0aW9uQWRkT3JkZXJMaW5lU2V0VGV4dExpbmVSZXF1ZXN0ID0gbmV3IFRyYW5zYWN0aW9uQWRkT3JkZXJMaW5lU2V0VGV4dExpbmVSZXF1ZXN0KCk7XHJcbiAgICAgIG5ld1JlcXVlc3Qub3JkZXJMaW5lU2V0VGV4dCA9IGRhdGEucmVxdWVzdC50ZXh0O1xyXG4gICAgICBuZXdSZXF1ZXN0LmFtb3VudCA9IGRhdGEucmVxdWVzdC5hbW91bnQ7XHJcbiAgICAgIG5ld1JlcXVlc3QuY2F0ZWdvcnlJZCA9IGRhdGEucmVxdWVzdC5jYXRlZ29yeUlkO1xyXG4gICAgICBuZXdSZXF1ZXN0LmNvbG9yID0gZGF0YS5yZXF1ZXN0LmNvbG9yO1xyXG4gICAgICBuZXdSZXF1ZXN0LnRyYW5zYWN0aW9uVXVpZCA9IGRhdGEucmVxdWVzdC50cmFuc2FjdGlvblV1aWQ7XHJcbiAgICAgIG5ld1JlcXVlc3Quc2hvd09uRG9jdW1lbnRzID0gZGF0YS5yZXF1ZXN0LnNob3dPbkRvY3VtZW50cztcclxuICAgICAgbmV3UmVxdWVzdC50ZXh0ID0gZGF0YS5yZXF1ZXN0LnRpdGxlO1xyXG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2UuYWRkT3JkZXJMaW5lU2V0KG5ld1JlcXVlc3QpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5faGlkZVRyYW5zYWN0aW9uVGV4dERpYWxvZygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNhdmVBcnRpY2xlTGluZVRleHQoZGF0YTogeyByZXF1ZXN0OiBUcmFuc2FjdGlvbkFkZFRleHRMaW5lUmVxdWVzdCwgbmV3OiBib29sZWFuIH0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghZGF0YS5uZXcpIHsgLy91cGRhdGVcclxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnVwZGF0ZVRleHRMaW5lKGRhdGEucmVxdWVzdC50cmFuc2FjdGlvblV1aWQsIHRoaXMudHJhbnNhY3Rpb25MaW5lLnV1aWQsIGRhdGEucmVxdWVzdC5zaG93T25Eb2N1bWVudHMsIGRhdGEucmVxdWVzdC50ZXh0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuc2VydmljZS5hZGRUZXh0TGluZShcclxuICAgICAgICBkYXRhLnJlcXVlc3Quc2hvd09uRG9jdW1lbnRzLFxyXG4gICAgICAgIGRhdGEucmVxdWVzdC50ZXh0LFxyXG4gICAgICAgIDAsXHJcbiAgICAgICAgdHJ1ZSxcclxuICAgICAgICBkYXRhLnJlcXVlc3QucmVmQXJ0aWNsZUxpbmVOclxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5faGlkZUFydGljbGVUZXh0RGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRWRpdFRyYW5zYWN0aW9uVGV4dChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uTGluZSA9IGxpbmU7XHJcbiAgICB0aGlzLnNlbGVjdGVkT3JkZXJMaW5lU2V0RFRPID0gdGhpcy5fZ2V0T3JkZXJMaW5lU2V0SWZFeGlzdHMobGluZSk7XHJcbiAgICBpZiAoaXNOaWxsKHRoaXMuc2VsZWN0ZWRPcmRlckxpbmVTZXREVE8pKSB7XHJcbiAgICAgIHRoaXMudGV4dFRvRWRpdCA9IGxpbmUudGV4dDtcclxuICAgIH1cclxuICAgIGlmIChsaW5lLmlzVGV4dCkge1xyXG4gICAgICB0aGlzLnNob3dUcmFuc2FjdGlvblRleHREaWFsb2coKTtcclxuICAgIH1cclxuICAgIC8vIGlmIChsaW5lLmFydGljbGVCb3VuZENvbmNhdGVuYXRlZFRleHQgJiYgbGluZS5hcnRpY2xlQm91bmRDb25jYXRlbmF0ZWRUZXh0Lmxlbmd0aCA+IDApIHtcclxuICAgIC8vICAgdGhpcy5zaG93QXJ0aWNsZVRleHRPdmVydmlld0RpYWxvZygpO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUVkaXRBcnRpY2xlVGV4dChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKTogdm9pZCB7XHJcbiAgICB0aGlzLnRleHRUb0VkaXQgPSBsaW5lLnRleHQ7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uTGluZSA9IGxpbmU7XHJcbiAgICB0aGlzLl9oaWRlQXJ0aWNsZVRleHRPdmVydmlld0RpYWxvZygpO1xyXG4gICAgdGhpcy5zaG93QXJ0aWNsZVRleHREaWFsb2coKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDcmVhdGVTZXJ2aWNlUmVxdWVzdChsaW5lTnI6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKGxpbmVOciAmJiB0aGlzLnRyYW5zYWN0aW9uKSB7LypcclxuICAgICAgbGV0IHJlcXVlc3Q6Q3JlYXRlU2VydmljZU9yZGVyV2l0aFNvdXJjZVRyYW5zYWN0aW9uTGluZVJlcXVlc3QgPSBuZXcgQ3JlYXRlU2VydmljZU9yZGVyV2l0aFNvdXJjZVRyYW5zYWN0aW9uTGluZVJlcXVlc3QoKTtcclxuICAgICAgcmVxdWVzdC5zb3VyY2VMaW5lTnIgPSBsaW5lLmxpbmVOcjtcclxuICAgICAgcmVxdWVzdC5zb3VyY2VUcmFuc0lkID0gdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8uaWQ7XHJcbiAgICAgIHJlcXVlc3QuY3VzdG9tZXJSZWxhdGlvbklkID0gdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ucmVsYXRpb24ucmVsYXRpb25JZDtcclxuICAgICAgcmVxdWVzdC5icmFuY2hOciA9IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmJyYW5jaC5yZWxhdGlvbk5yOyovXHJcblxyXG4gICAgICAvKnRoaXMuX3RyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZS5jcmVhdGVTZXJ2aWNlT3JkZXJXaXRoU291cmNlVHJhbnNhY3Rpb25MaW5lKHJlcXVlc3QpLnRoZW4oKHJlc3VsdDogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZihyZXN1bHQpIHsqL1xyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS5yZXF1ZXN0Q3JlYXRlU2VydmljZU9yZGVyRnJvbVRyYW5zYWN0aW9uTGluZS5uZXh0KHt0cmFuc2FjdGlvbjogdGhpcy50cmFuc2FjdGlvbiwgbGluZU5yOiBsaW5lTnJ9KTtcclxuICAgICAvKiAgIH1cclxuICAgICAgfSk7Ki9cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZUFydGljbGVUZXh0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5faGlkZUFydGljbGVUZXh0RGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VUcmFuc2FjdGlvblRleHQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9oaWRlVHJhbnNhY3Rpb25UZXh0RGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VBcnRpY2xlVGV4dE92ZXJ2aWV3KCk6IHZvaWQge1xyXG4gICAgdGhpcy5faGlkZUFydGljbGVUZXh0T3ZlcnZpZXdEaWFsb2coKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93VHJhbnNhY3Rpb25UZXh0RGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93VHJhbnNhY3Rpb25UZXh0ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93QXJ0aWNsZVRleHREaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dBcnRpY2xlVGV4dCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0FydGljbGVUZXh0T3ZlcnZpZXdEaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dBcnRpY2xlVGV4dE92ZXJ2aWV3ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG91bGRTaG93VGlsZXMoKTogYm9vbGVhbiB7XHJcbiAgICAvLyBBZGp1c3QgdGhlIHdpZHRoIGNvbmRpdGlvbiBhcyBuZWVkZWRcclxuICAgIHJldHVybiB0aGlzLnNjcmVlbldpZHRoIDwgMTI4MDsgLy8gU2hvdyB0aGUgZGl2IGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyIHRoYW4gMTI4MHB4XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZnVsbHlJbnZvaWNlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAodGhpcy50cmFuc2FjdGlvbiAmJlxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mbyAmJlxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5oZWFkZXJJbmZvU3RhdHVzICYmXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMuaGFzT3duUHJvcGVydHkoJ2lzRnVsbHlJbnZvaWNlZCcpICYmXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMuaXNGdWxseUludm9pY2VkKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldE9yZGVyTGluZVNldElmRXhpc3RzKGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiBPcmRlckxpbmVTZXREVE8ge1xyXG4gICAgaWYgKCFsaW5lLm9yZGVyTGluZVNldENvZGUpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBsaW5lU2V0OiBPcmRlckxpbmVTZXRJbmZvID0gdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8ub3JkZXJMaW5lU2V0cy5maW5kKHNldCA9PiBzZXQub3JkZXJMaW5lU2V0Q29kZSA9PT0gbGluZS5vcmRlckxpbmVTZXRDb2RlKTtcclxuICAgICAgaWYgKCFsaW5lU2V0KSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbGV0IERUTzogT3JkZXJMaW5lU2V0RFRPID0gbmV3IE9yZGVyTGluZVNldERUTygpO1xyXG4gICAgICAgIERUTy5vcmRlckxpbmVTZXRDb2RlID0gbGluZVNldC5vcmRlckxpbmVTZXRDb2RlO1xyXG4gICAgICAgIERUTy5vcmRlckxpbmVTZXRJZCA9IGxpbmVTZXQub3JkZXJMaW5lU2V0SWQ7XHJcbiAgICAgICAgRFRPLnRleHQgPSBsaW5lU2V0LnRleHQ7XHJcbiAgICAgICAgRFRPLmFtb3VudCA9IGxpbmVTZXQuYW1vdW50O1xyXG4gICAgICAgIERUTy50aXRsZSA9IGxpbmVTZXQudGl0bGU7XHJcbiAgICAgICAgRFRPLmNvbG9yID0gbGluZVNldC5jb2xvcjtcclxuICAgICAgICBEVE8uY2F0ZWdvcnlJZCA9IGxpbmVTZXQuY2F0ZWdvcnlJZDtcclxuICAgICAgICByZXR1cm4gRFRPO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oaWRlQXJ0aWNsZVRleHREaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dBcnRpY2xlVGV4dCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGlkZVRyYW5zYWN0aW9uVGV4dERpYWxvZygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1RyYW5zYWN0aW9uVGV4dCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGlkZUFydGljbGVUZXh0T3ZlcnZpZXdEaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dBcnRpY2xlVGV4dE92ZXJ2aWV3ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVRyYW5zYWN0aW9uTGluZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uTGluZSkge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZSA9IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lc1xyXG4gICAgICAgIC5maW5kKChsaW5lKSA9PiBsaW5lLmxpbmVOciA9PT0gdGhpcy50cmFuc2FjdGlvbkxpbmUubGluZU5yKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNpZGVQYW5lbFRyYW5zYWN0aW9uTGluZSkge1xyXG4gICAgICB0aGlzLnNpZGVQYW5lbFRyYW5zYWN0aW9uTGluZSA9IHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lc1xyXG4gICAgICAgIC5maW5kKChsaW5lKSA9PiBsaW5lLmxpbmVOciA9PT0gdGhpcy5zaWRlUGFuZWxUcmFuc2FjdGlvbkxpbmUubGluZU5yKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNob3VsZFNob3dTaWRlUGFuZWwgJiYgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvbkxpbmVzICYmIHRoaXMudHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlU2hvd1NpZGVQYW5lbCh0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTGluZXNbMF0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gcHJpdmF0ZSBfcHJlcGFyZUhlYWRlcigpOiB2b2lkIHtcclxuICAvLyAgICAgaWYgKHRoaXMuX3NjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5SZWxhdGlvbkluZm9IZWFkZXIpLmltbWVkaWF0ZWx5SGlkZGVuKCkgJiZcclxuICAvLyAgICAgICAgIHRoaXMuX3NjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5PcmRlckluZm9IZWFkZXIpLmltbWVkaWF0ZWx5SGlkZGVuKCkgJiZcclxuICAvLyAgICAgICAgIHRoaXMuX3NjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5QYXltZW50SW5mb0hlYWRlcikuaW1tZWRpYXRlbHlIaWRkZW4oKSAmJlxyXG4gIC8vICAgICAgICAgdGhpcy5fc2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UuZ2V0T2JqZWN0Q29uZmlndXJhdGlvbkZvcih0aGlzLmNmZ05hbWVzLkRlbGl2ZXJ5SW5mb0hlYWRlcikuaW1tZWRpYXRlbHlIaWRkZW4oKSkge1xyXG4gIC8vICAgICAgICAgLy8gbm90aGluZyB0byBzZWUgaGVyZVxyXG4gIC8vICAgICAgICAgdGhpcy5zaG93SGVhZGVyID0gZmFsc2U7XHJcbiAgLy8gICAgIH1cclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBnZXRUcmFuc2FjdGlvbk1hcmdpbkluZm8odHJhbnNhY3Rpb25VVUlEOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh0cmFuc2FjdGlvblVVSUQpIHtcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLmdldFRyYW5zYWN0aW9uTWFyZ2luSW5mbyh0cmFuc2FjdGlvblVVSUQpLnRoZW4oKHJlc3VsdDogVHJhbnNhY3Rpb25NYXJnaW5JbmZvKSA9PiB7XHJcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbk1hcmdpbkluZm8gPSByZXN1bHQ7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVZpZXdNb2RlQ2hhbmdlKG1vZGU6IENvbnRlbnRWaWV3TW9kZSkge1xyXG4gICAgdGhpcy5hY3RpdmVWaWV3TW9kZSA9IG1vZGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UGxhbk9yZGVyRm9yVHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKSB7XHJcbiAgICBpZiAoIXRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRQbGFubmluZz8ucGxhbm5pbmdJZCkge1xyXG4gICAgICB0aGlzLl90cmFuc2FjdGlvbkNvbm5lY3RvclNlcnZpY2UuZ2V0UGxhbm5pbmdTb3VyY2VzKCkudGhlbigocmVzdWx0OiBQbGFubmluZ1tdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuY3VycmVudFBsYW5uaW5nID0gcmVzdWx0WzBdO1xyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlLmdldFBsYW5PcmRlcih0cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8uaWQpLnRoZW4oIChwbGFuT3JkZXI6IFBsYW5PcmRlcikgPT4ge1xyXG4gICAgICBsZXQgcmVxdWVzdCA9IHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLm1ha2VPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3QocGxhbk9yZGVyKTtcclxuICAgICAgaWYocmVxdWVzdD8ucGxhbm5pbmdJZCkge1xyXG4gICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZS5nZXRPcmRlckxpbmVzUGxhbm5lZChyZXF1ZXN0KS50aGVuKChvcmRlckxpbmVzUGxhbm5lZDogUGxhbk9yZGVyTGluZVtdKSA9PiB7XHJcbiAgICAgICAgICBpZiAob3JkZXJMaW5lc1BsYW5uZWQgJiYgb3JkZXJMaW5lc1BsYW5uZWQ/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgcGxhbk9yZGVyLmxpbmVzID0gW107XHJcbiAgICAgICAgICAgIHBsYW5PcmRlci5saW5lcy5wdXNoKC4uLm9yZGVyTGluZXNQbGFubmVkKTtcclxuICAgICAgICAgICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UubGluZXNQbGFuT3JkZXIgPSBwbGFuT3JkZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -77,6 +77,7 @@ export class TransactionPlanningLineComponent extends TransactionBaseComponent {
77
77
  }
78
78
  }
79
79
  dragStarted(ev) {
80
+ this._deliveryPlanningService.currentTransId = this.transaction.transactionInfo.id;
80
81
  ev.dataTransfer.setData("text", "lines");
81
82
  }
82
83
  lineNotPlanned(line) {
@@ -216,4 +217,4 @@ TransactionPlanningLineComponent.propDecorators = {
216
217
  handleMouseOver: [{ type: HostListener, args: ["mouseover", ["$event"],] }],
217
218
  handleMouseLeave: [{ type: HostListener, args: ["mouseleave", ["$event"],] }]
218
219
  };
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcGxhbm5pbmctbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXBsYW5uaW5nLWxpbmUvdHJhbnNhY3Rpb24tcGxhbm5pbmctbGluZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQzFGLE9BQU8sRUFDTCxxQ0FBcUMsRUFDdEMsTUFBTSxpRkFBaUYsQ0FBQztBQUN6RixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUdyRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNoSCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQXlHbEcsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLHdCQUF3QjtJQXFENUUsWUFDVSx3QkFBaUQsRUFDbEQsdUJBQWdELEVBQ2hELGdCQUFrQyxFQUNsQyxtQkFBMEQsRUFDMUQsbUJBQXdDLEVBQ3JDLFlBQXFDLEVBQ3JDLGlCQUFvQyxFQUNwQyxrQkFBc0MsRUFDdEMsY0FBaUM7UUFFM0MsS0FBSyxDQUFDLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLENBQUMsQ0FBQztRQVZuSSw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQXlCO1FBQ2xELDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXVDO1FBQzFELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDckMsaUJBQVksR0FBWixZQUFZLENBQXlCO1FBQ3JDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUE3RDdCLGFBQVEsR0FBbUMsdUJBQXVCLENBQUM7UUFPNUUsd0JBQW1CLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFpQm5FLFVBQUssR0FBZ0IsV0FBVyxDQUFDLEdBQUcsQ0FBQztRQUNyQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIseUJBQW9CLEdBQXNCO1lBQy9DLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1lBQ3RDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1lBQ3RDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1NBQ3ZDLENBQUE7UUFFTSx3QkFBbUIsR0FBeUI7WUFDakQsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYTtZQUMxQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQjtZQUNwRCxzQkFBc0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQjtZQUM1RCxtQkFBbUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQjtZQUN0RCxtQkFBbUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQjtTQUN2RCxDQUFBO1FBRU0sdUNBQWtDLEdBQVksS0FBSyxDQUFDO1FBRW5ELG1CQUFjLEdBQW1CLEVBQUUsQ0FBQztJQWM1QyxDQUFDO0lBdERNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFHTSxlQUFlLENBQUMsS0FBaUI7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUdNLGdCQUFnQixDQUFDLEtBQWlCO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUE0Q0QsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDdEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGtDQUFrQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2xGLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxHQUFHLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQztRQUNwRixDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVNLDBCQUEwQixDQUFDLEtBQWMsRUFBRSxJQUF5QjtRQUN6RSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFVBQXdCO1FBQy9DLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsS0FBSyxHQUFHLEVBQUU7WUFDdkUsT0FBTztTQUNSO1FBQ0QsTUFBTSxNQUFNLEdBQTZCLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDM0QsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssZUFBZSxFQUFFO1lBQ3hHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUN2RTtJQUNILENBQUM7SUFFTSxXQUFXLENBQUMsRUFBTztRQUN4QixFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUdNLGNBQWMsQ0FBQyxJQUF5QjtRQUM3QyxJQUFHLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWMsRUFBRTtZQUNoRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsSUFBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUN4RyxPQUFPLEtBQUssQ0FBQztTQUNkO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVNLG9CQUFvQjs7UUFDekIsT0FBTyxNQUFBLElBQUksQ0FBQyxlQUFlLDBDQUFFLG9CQUFvQixDQUFDO0lBQ3BELENBQUM7OztZQWxORixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnR1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFFdEM7OztZQXhHTyx1QkFBdUI7WUFSdkIsdUJBQXVCO1lBQ3ZCLGdCQUFnQjtZQUNoQixxQ0FBcUM7WUFDckMsbUJBQW1CO1lBQ25CLHVCQUF1QjtZQUN2QixpQkFBaUI7WUFDakIsa0JBQWtCO1lBdkJ4QixpQkFBaUI7OzsyQ0FzSWhCLFNBQVMsU0FBQyxxQ0FBcUM7a0NBRy9DLE1BQU07d0JBR04sV0FBVyxTQUFDLG9DQUFvQzs4QkFLaEQsWUFBWSxTQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQzsrQkFLcEMsWUFBWSxTQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXIsIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U3RvY2tTdGF0dXN9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3JlZmNvZGUvc3RvY2stc3RhdHVzLmVudW0nO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uTGluZUFjdGlvbkJ1dHRvbnNDb21wb25lbnRcclxufSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1saW5lLWFjdGlvbi1idXR0b25zL3RyYW5zYWN0aW9uLWxpbmUtYWN0aW9uLWJ1dHRvbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9IGZyb20gJy4uLy4uLy4uL2VudW0vdHJhbnNhY3Rpb24tdHlwZS1jYXRlZ29yeS5lbnVtJztcclxuaW1wb3J0IHtTdGF0dXNCYXJDZmdOYW1lc30gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlL3N0YXR1cy1iYXItY2ZnLW5hbWVzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7TGluZURpc2NvdW50Q2ZnTmFtZXN9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZS9saW5lLWRpc2NvdW50LWNmZy1uYW1lcy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge09yZGVyTGluZVNldFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2Uvb3JkZXItbGluZS1zZXQtc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm9cIjtcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nU2VydmljZX0gZnJvbSBcIi4uLy4uL2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZVwiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXBsYW5uaW5nLW92ZXJ2aWV3LWxpbmVcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLXRyYW5zYWN0aW9uLWJhc2UtbGluZVxyXG4gICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgW3ByZXZpZXddPVwicHJldmlld1wiXHJcbiAgICAgIFtpc0ZpcnN0XT1cImlzRmlyc3RcIlxyXG4gICAgICBbZHJhZ2dhYmxlXT1cImxpbmVOb3RQbGFubmVkKHRyYW5zYWN0aW9uTGluZSlcIlxyXG4gICAgICAoZHJhZ3N0YXJ0KT1cImRyYWdTdGFydGVkKCRldmVudClcIlxyXG4gICAgICBbY2hlY2tib3hdPVwidHJ1ZVwiXHJcbiAgICAgIFtjaGVja2JveFZhbHVlXT1cInRyYW5zYWN0aW9uTGluZS5zZWxlY3RlZFwiXHJcbiAgICAgIFtjaGVja2JveFJlYWRvbmx5XT1cImZhbHNlXCJcclxuICAgICAgKGNoZWNrYm94VmFsdWVDaGFuZ2VkKT1cImhhbmRsZUNoZWNrQm94VmFsdWVDaGFuZ2VkKCRldmVudCwgdHJhbnNhY3Rpb25MaW5lKVwiXHJcbiAgICAgIChjbGljayk9XCJoYW5kbGVMaW5lQ2xpY2tlZCgkZXZlbnQpXCJcclxuICAgICAgb2JzZXJ2ZVZpc2liaWxpdHkgI29ic2VydmVyPXZpc2liaWxpdHlPYnNlcnZlXHJcbiAgICAgICh2aXNpYmlsaXR5Q2hhbmdlKT1cImhhbmRsZVZpc2liaWxpdHlDaGFuZ2UodHJhbnNhY3Rpb25MaW5lLCAkZXZlbnQpXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmFuc2FjdGlvbkxpbmUuaXNBcnRpY2xlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj0hcHJldmlldyBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtZXh0ZW5kZWQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uMVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ0NPTU1JU1NJT05fQ09ERScgfCBsb2NhbGl6ZVwiICpuZ0lmPVwiaXNGaXJzdFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1jb21taXNzaW9uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZUNvbW1pc3Npb25cIlxyXG4gICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtY29tbWlzc2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uMlwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1dBUkVIT1VTRV9BTkRfU1RBVFVTJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzRmlyc3RcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtd2FyZWhvdXNlLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZVdhcmVob3VzZVwiXHJcbiAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS13YXJlaG91c2UtYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXN0YXR1c2JhclxyXG4gICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuU3RhdHVzQmFyXCJcclxuICAgICAgICAgICAgICAgIFtjb25maWdOYW1lc109XCJzdGF0dXNCYXJDb25maWdOYW1lc1wiXHJcbiAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgICAgICBbYWN0aXZlQ2F0ZWdvcnldPVwiY2F0ZWdvcnkuU2FsZXNPcmRlclBsYW5uaW5nXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLXN0YXR1c2Jhcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4zXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInREVMSVZFUllfSU5GT1JNQVRJT04nIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNGaXJzdFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1idXR0b25cclxuICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVEZWxpdmVyeU1ldGhvZFwiXHJcbiAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1idXR0b24+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktZGF0ZS1idXR0b24gY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWRhdGUgdHdvLWNvbHVtblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZURlbGl2ZXJ5RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWRhdGUtYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtc2VjdGlvblwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidUT1RBTFNfQU5EX0RJU0NPVU5UJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc0ZpcnN0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS12YXQtYnV0dG9uICpuZ0lmPVwiIXByZXZpZXdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVWYXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtdmF0LWJ1dHRvbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtdG90YWxzXCI+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtcHJpY2UgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXRvdGFscy1wcmljZSBwcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZVByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TGFiZWxdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0RWRpdE1vZGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtcHJpY2U+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uICpuZ0lmPVwiIXByZXZpZXdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lRGlzY291bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnTmFtZXNdPVwiZGlzY291bnRDb25maWdOYW1lc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXRvdGFscy1hbW91bnRcIj5cclxuICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWFtb3VudCBjbGFzcz1cImFtb3VudC1udW1iZXItcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lQW1vdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1hbW91bnQ+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGNvLWVkaXRhYmxlLWxhYmVsIGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS10b3RhbHMtdG90YWwgcHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lTmV0TGluZVRvdGFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5kaXNwbGF5TmV0TGluZVRvdGFsIHwgY29DdXJyZW5jeTogdHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlZGl0TW9kZWxdPVwidHJhbnNhY3Rpb25MaW5lLmRpc3BsYXlOZXRMaW5lVG90YWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tbWl0XT1cIiFyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgPjwvY28tZWRpdGFibGUtbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9jby10cmFuc2FjdGlvbi1iYXNlLWxpbmU+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIC8vY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uUGxhbm5pbmdMaW5lQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIHB1YmxpYyByZWFkb25seSBjYXRlZ29yeTogdHlwZW9mIFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5ID0gVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk7XHJcblxyXG5cclxuICBAVmlld0NoaWxkKFRyYW5zYWN0aW9uTGluZUFjdGlvbkJ1dHRvbnNDb21wb25lbnQpXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uTGluZUFjdGlvbkJ1dHRvbnM6IFRyYW5zYWN0aW9uTGluZUFjdGlvbkJ1dHRvbnNDb21wb25lbnQ7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBkZXNjcmlwdGlvbkRibENsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLW92ZXJ2aWV3LWxpbmVcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKFwibW91c2VvdmVyXCIsIFtcIiRldmVudFwiXSlcclxuICBwdWJsaWMgaGFuZGxlTW91c2VPdmVyKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLm1vdXNlT3ZlciA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKFwibW91c2VsZWF2ZVwiLCBbXCIkZXZlbnRcIl0pXHJcbiAgcHVibGljIGhhbmRsZU1vdXNlTGVhdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMubW91c2VPdmVyID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RvY2s6IFN0b2NrU3RhdHVzID0gU3RvY2tTdGF0dXMuTG93O1xyXG4gIHB1YmxpYyBtb3VzZU92ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHN0YXR1c0JhckNvbmZpZ05hbWVzOiBTdGF0dXNCYXJDZmdOYW1lcyA9IHtcclxuICAgIHN0YXR1c0JhckJUOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckJULFxyXG4gICAgc3RhdHVzQmFyVEc6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVEcsXHJcbiAgICBzdGF0dXNCYXJQQTogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJQQSxcclxuICAgIHN0YXR1c0JhclBWOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclBWLFxyXG4gICAgc3RhdHVzQmFyVFA6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVFAsXHJcbiAgICBzdGF0dXNCYXJHVDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHVCxcclxuICAgIHN0YXR1c0JhckdQOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdQLFxyXG4gICAgc3RhdHVzQmFyR0w6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR0wsXHJcbiAgICBzdGF0dXNCYXJHRjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHRlxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRpc2NvdW50Q29uZmlnTmFtZXM6IExpbmVEaXNjb3VudENmZ05hbWVzID0ge1xyXG4gICAgbGluZVByaWNlTGlzdDogdGhpcy5jZmdOYW1lcy5MaW5lUHJpY2VMaXN0LFxyXG4gICAgbGluZURpc2NvdW50QW1vdW50OiB0aGlzLmNmZ05hbWVzLkxpbmVEaXNjb3VudEFtb3VudCxcclxuICAgIGxpbmVEaXNjb3VudFBlcmNlbnRhZ2U6IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50UGVyY2VudGFnZSxcclxuICAgIGxpbmVEaXNjb3VudFNwZWNpYWw6IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50U3BlY2lhbCxcclxuICAgIGxpbmVEaXNjb3VudFF1YW50dW06IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50UXVhbnR1bVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uTGluZVRvQmVQaWNrZWRDb21wbGV0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9kZWxpdmVyeVBsYW5uaW5nU2VydmljZTogRGVsaXZlcnlQbGFubmluZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2NyZWVuQ29uZmlnU2VydmljZTogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyBvcmRlckxpbmVTZXRTZXJ2aWNlOiBPcmRlckxpbmVTZXRTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICApIHtcclxuICAgIHN1cGVyKHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLCBpY29uQ2FjaGVTZXJ2aWNlLCBzY3JlZW5Db25maWdTZXJ2aWNlLCBpbWFnZVNlcnZpY2UsIGRpY3Rpb25hcnlTZXJ2aWNlLCB0cmFuc2FjdGlvblNlcnZpY2UsIGNoYW5nZURldGVjdG9yKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5zZWxlY3RBbGxTYWxlc09yZGVyTGluZXNUb0JlUGlja2VkLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5zZWxlY3RlZCA9IHZhbHVlICYmICF0aGlzLnRyYW5zYWN0aW9uTGluZVRvQmVQaWNrZWRDb21wbGV0ZWQ7XHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2hlY2tCb3hWYWx1ZUNoYW5nZWQodmFsdWU6IGJvb2xlYW4sIGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlTGluZUNsaWNrZWQobW91c2VDbGljazogUG9pbnRlckV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbkxpbmUgJiYgdGhpcy50cmFuc2FjdGlvbkxpbmUuY29tbWlzc2lvbkNvZGUgIT09IFwiMVwiKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHRhcmdldDogSFRNTEVsZW1lbnQgPSA8SFRNTEVsZW1lbnQ+bW91c2VDbGljay50YXJnZXQ7XHJcbiAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC5kYXRhc2V0ICYmIHRhcmdldC5kYXRhc2V0WydhY3Rpb24nXSAmJiB0YXJnZXQuZGF0YXNldFsnYWN0aW9uJ10gPT09ICdvcGVuU2lkZVBhbmVsJykge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLm9wZW5TaWRlUGFuZWwubmV4dCh0aGlzLnRyYW5zYWN0aW9uTGluZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZHJhZ1N0YXJ0ZWQoZXY6IGFueSkge1xyXG4gICAgZXYuZGF0YVRyYW5zZmVyLnNldERhdGEoXCJ0ZXh0XCIsIFwibGluZXNcIik7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGxpbmVOb3RQbGFubmVkKGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pIHtcclxuICAgIGlmKCF0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5saW5lc1BsYW5PcmRlcikge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmKHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmxpbmVzUGxhbk9yZGVyLmxpbmVzLmZpbmQoIGxpbmUgPT4gbGluZS5saW5lTnIgPT09IGxpbmUub3JpZ2luYWxMaW5lTnIpKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFsbG93UGFydGlhbERlbGl2ZXJ5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25JbmZvPy5hbGxvd1BhcnRpYWxEZWxpdmVyeTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcGxhbm5pbmctbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXBsYW5uaW5nLWxpbmUvdHJhbnNhY3Rpb24tcGxhbm5pbmctbGluZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQzFGLE9BQU8sRUFDTCxxQ0FBcUMsRUFDdEMsTUFBTSxpRkFBaUYsQ0FBQztBQUN6RixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUdyRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNoSCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQXlHbEcsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLHdCQUF3QjtJQXFENUUsWUFDVSx3QkFBaUQsRUFDbEQsdUJBQWdELEVBQ2hELGdCQUFrQyxFQUNsQyxtQkFBMEQsRUFDMUQsbUJBQXdDLEVBQ3JDLFlBQXFDLEVBQ3JDLGlCQUFvQyxFQUNwQyxrQkFBc0MsRUFDdEMsY0FBaUM7UUFFM0MsS0FBSyxDQUFDLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLENBQUMsQ0FBQztRQVZuSSw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQXlCO1FBQ2xELDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXVDO1FBQzFELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDckMsaUJBQVksR0FBWixZQUFZLENBQXlCO1FBQ3JDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUE3RDdCLGFBQVEsR0FBbUMsdUJBQXVCLENBQUM7UUFPNUUsd0JBQW1CLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFpQm5FLFVBQUssR0FBZ0IsV0FBVyxDQUFDLEdBQUcsQ0FBQztRQUNyQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIseUJBQW9CLEdBQXNCO1lBQy9DLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1lBQ3RDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1lBQ3RDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1NBQ3ZDLENBQUE7UUFFTSx3QkFBbUIsR0FBeUI7WUFDakQsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYTtZQUMxQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQjtZQUNwRCxzQkFBc0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQjtZQUM1RCxtQkFBbUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQjtZQUN0RCxtQkFBbUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQjtTQUN2RCxDQUFBO1FBRU0sdUNBQWtDLEdBQVksS0FBSyxDQUFDO1FBRW5ELG1CQUFjLEdBQW1CLEVBQUUsQ0FBQztJQWM1QyxDQUFDO0lBdERNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFHTSxlQUFlLENBQUMsS0FBaUI7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUdNLGdCQUFnQixDQUFDLEtBQWlCO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUE0Q0QsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDdEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGtDQUFrQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2xGLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxHQUFHLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQztRQUNwRixDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVNLDBCQUEwQixDQUFDLEtBQWMsRUFBRSxJQUF5QjtRQUN6RSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFVBQXdCO1FBQy9DLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsS0FBSyxHQUFHLEVBQUU7WUFDdkUsT0FBTztTQUNSO1FBQ0QsTUFBTSxNQUFNLEdBQTZCLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDM0QsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssZUFBZSxFQUFFO1lBQ3hHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUN2RTtJQUNILENBQUM7SUFFTSxXQUFXLENBQUMsRUFBTztRQUN4QixJQUFJLENBQUMsd0JBQXdCLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztRQUNuRixFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUdNLGNBQWMsQ0FBQyxJQUF5QjtRQUM3QyxJQUFHLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWMsRUFBRTtZQUNoRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsSUFBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUN4RyxPQUFPLEtBQUssQ0FBQztTQUNkO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVNLG9CQUFvQjs7UUFDekIsT0FBTyxNQUFBLElBQUksQ0FBQyxlQUFlLDBDQUFFLG9CQUFvQixDQUFDO0lBQ3BELENBQUM7OztZQW5ORixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnR1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFFdEM7OztZQXhHTyx1QkFBdUI7WUFSdkIsdUJBQXVCO1lBQ3ZCLGdCQUFnQjtZQUNoQixxQ0FBcUM7WUFDckMsbUJBQW1CO1lBQ25CLHVCQUF1QjtZQUN2QixpQkFBaUI7WUFDakIsa0JBQWtCO1lBdkJ4QixpQkFBaUI7OzsyQ0FzSWhCLFNBQVMsU0FBQyxxQ0FBcUM7a0NBRy9DLE1BQU07d0JBR04sV0FBVyxTQUFDLG9DQUFvQzs4QkFLaEQsWUFBWSxTQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQzsrQkFLcEMsWUFBWSxTQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXIsIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U3RvY2tTdGF0dXN9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3JlZmNvZGUvc3RvY2stc3RhdHVzLmVudW0nO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uTGluZUFjdGlvbkJ1dHRvbnNDb21wb25lbnRcclxufSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1saW5lLWFjdGlvbi1idXR0b25zL3RyYW5zYWN0aW9uLWxpbmUtYWN0aW9uLWJ1dHRvbnMuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9IGZyb20gJy4uLy4uLy4uL2VudW0vdHJhbnNhY3Rpb24tdHlwZS1jYXRlZ29yeS5lbnVtJztcclxuaW1wb3J0IHtTdGF0dXNCYXJDZmdOYW1lc30gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlL3N0YXR1cy1iYXItY2ZnLW5hbWVzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7TGluZURpc2NvdW50Q2ZnTmFtZXN9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZS9saW5lLWRpc2NvdW50LWNmZy1uYW1lcy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge09yZGVyTGluZVNldFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2Uvb3JkZXItbGluZS1zZXQtc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm9cIjtcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nU2VydmljZX0gZnJvbSBcIi4uLy4uL2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZVwiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXBsYW5uaW5nLW92ZXJ2aWV3LWxpbmVcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLXRyYW5zYWN0aW9uLWJhc2UtbGluZVxyXG4gICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgW3ByZXZpZXddPVwicHJldmlld1wiXHJcbiAgICAgIFtpc0ZpcnN0XT1cImlzRmlyc3RcIlxyXG4gICAgICBbZHJhZ2dhYmxlXT1cImxpbmVOb3RQbGFubmVkKHRyYW5zYWN0aW9uTGluZSlcIlxyXG4gICAgICAoZHJhZ3N0YXJ0KT1cImRyYWdTdGFydGVkKCRldmVudClcIlxyXG4gICAgICBbY2hlY2tib3hdPVwidHJ1ZVwiXHJcbiAgICAgIFtjaGVja2JveFZhbHVlXT1cInRyYW5zYWN0aW9uTGluZS5zZWxlY3RlZFwiXHJcbiAgICAgIFtjaGVja2JveFJlYWRvbmx5XT1cImZhbHNlXCJcclxuICAgICAgKGNoZWNrYm94VmFsdWVDaGFuZ2VkKT1cImhhbmRsZUNoZWNrQm94VmFsdWVDaGFuZ2VkKCRldmVudCwgdHJhbnNhY3Rpb25MaW5lKVwiXHJcbiAgICAgIChjbGljayk9XCJoYW5kbGVMaW5lQ2xpY2tlZCgkZXZlbnQpXCJcclxuICAgICAgb2JzZXJ2ZVZpc2liaWxpdHkgI29ic2VydmVyPXZpc2liaWxpdHlPYnNlcnZlXHJcbiAgICAgICh2aXNpYmlsaXR5Q2hhbmdlKT1cImhhbmRsZVZpc2liaWxpdHlDaGFuZ2UodHJhbnNhY3Rpb25MaW5lLCAkZXZlbnQpXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmFuc2FjdGlvbkxpbmUuaXNBcnRpY2xlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj0hcHJldmlldyBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtZXh0ZW5kZWQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uMVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ0NPTU1JU1NJT05fQ09ERScgfCBsb2NhbGl6ZVwiICpuZ0lmPVwiaXNGaXJzdFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1jb21taXNzaW9uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZUNvbW1pc3Npb25cIlxyXG4gICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtY29tbWlzc2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uMlwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHJhbnNhY3Rpb24tZmllbGQtbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1dBUkVIT1VTRV9BTkRfU1RBVFVTJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzRmlyc3RcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtd2FyZWhvdXNlLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZVdhcmVob3VzZVwiXHJcbiAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS13YXJlaG91c2UtYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXN0YXR1c2JhclxyXG4gICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuU3RhdHVzQmFyXCJcclxuICAgICAgICAgICAgICAgIFtjb25maWdOYW1lc109XCJzdGF0dXNCYXJDb25maWdOYW1lc1wiXHJcbiAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgICAgICBbYWN0aXZlQ2F0ZWdvcnldPVwiY2F0ZWdvcnkuU2FsZXNPcmRlclBsYW5uaW5nXCI+PC9jby10cmFuc2FjdGlvbi1saW5lLXN0YXR1c2Jhcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4zXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWVsZC1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInREVMSVZFUllfSU5GT1JNQVRJT04nIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNGaXJzdFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1idXR0b25cclxuICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVEZWxpdmVyeU1ldGhvZFwiXHJcbiAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1idXR0b24+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktZGF0ZS1idXR0b24gY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWRhdGUgdHdvLWNvbHVtblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZURlbGl2ZXJ5RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWRhdGUtYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtc2VjdGlvblwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRyYW5zYWN0aW9uLWZpZWxkLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidUT1RBTFNfQU5EX0RJU0NPVU5UJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc0ZpcnN0XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS12YXQtYnV0dG9uICpuZ0lmPVwiIXByZXZpZXdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVWYXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtdmF0LWJ1dHRvbj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtdG90YWxzXCI+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtcHJpY2UgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXRvdGFscy1wcmljZSBwcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZVByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TGFiZWxdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0RWRpdE1vZGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtcHJpY2U+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uICpuZ0lmPVwiIXByZXZpZXdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lRGlzY291bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnTmFtZXNdPVwiZGlzY291bnRDb25maWdOYW1lc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLXRvdGFscy1hbW91bnRcIj5cclxuICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWFtb3VudCBjbGFzcz1cImFtb3VudC1udW1iZXItcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lQW1vdW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1hbW91bnQ+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGNvLWVkaXRhYmxlLWxhYmVsIGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS10b3RhbHMtdG90YWwgcHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lTmV0TGluZVRvdGFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5kaXNwbGF5TmV0TGluZVRvdGFsIHwgY29DdXJyZW5jeTogdHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlZGl0TW9kZWxdPVwidHJhbnNhY3Rpb25MaW5lLmRpc3BsYXlOZXRMaW5lVG90YWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tbWl0XT1cIiFyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgPjwvY28tZWRpdGFibGUtbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9jby10cmFuc2FjdGlvbi1iYXNlLWxpbmU+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIC8vY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uUGxhbm5pbmdMaW5lQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIHB1YmxpYyByZWFkb25seSBjYXRlZ29yeTogdHlwZW9mIFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5ID0gVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk7XHJcblxyXG5cclxuICBAVmlld0NoaWxkKFRyYW5zYWN0aW9uTGluZUFjdGlvbkJ1dHRvbnNDb21wb25lbnQpXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uTGluZUFjdGlvbkJ1dHRvbnM6IFRyYW5zYWN0aW9uTGluZUFjdGlvbkJ1dHRvbnNDb21wb25lbnQ7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBkZXNjcmlwdGlvbkRibENsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLW92ZXJ2aWV3LWxpbmVcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKFwibW91c2VvdmVyXCIsIFtcIiRldmVudFwiXSlcclxuICBwdWJsaWMgaGFuZGxlTW91c2VPdmVyKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLm1vdXNlT3ZlciA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKFwibW91c2VsZWF2ZVwiLCBbXCIkZXZlbnRcIl0pXHJcbiAgcHVibGljIGhhbmRsZU1vdXNlTGVhdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMubW91c2VPdmVyID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RvY2s6IFN0b2NrU3RhdHVzID0gU3RvY2tTdGF0dXMuTG93O1xyXG4gIHB1YmxpYyBtb3VzZU92ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHN0YXR1c0JhckNvbmZpZ05hbWVzOiBTdGF0dXNCYXJDZmdOYW1lcyA9IHtcclxuICAgIHN0YXR1c0JhckJUOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckJULFxyXG4gICAgc3RhdHVzQmFyVEc6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVEcsXHJcbiAgICBzdGF0dXNCYXJQQTogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJQQSxcclxuICAgIHN0YXR1c0JhclBWOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhclBWLFxyXG4gICAgc3RhdHVzQmFyVFA6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyVFAsXHJcbiAgICBzdGF0dXNCYXJHVDogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHVCxcclxuICAgIHN0YXR1c0JhckdQOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckdQLFxyXG4gICAgc3RhdHVzQmFyR0w6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyR0wsXHJcbiAgICBzdGF0dXNCYXJHRjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJHRlxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRpc2NvdW50Q29uZmlnTmFtZXM6IExpbmVEaXNjb3VudENmZ05hbWVzID0ge1xyXG4gICAgbGluZVByaWNlTGlzdDogdGhpcy5jZmdOYW1lcy5MaW5lUHJpY2VMaXN0LFxyXG4gICAgbGluZURpc2NvdW50QW1vdW50OiB0aGlzLmNmZ05hbWVzLkxpbmVEaXNjb3VudEFtb3VudCxcclxuICAgIGxpbmVEaXNjb3VudFBlcmNlbnRhZ2U6IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50UGVyY2VudGFnZSxcclxuICAgIGxpbmVEaXNjb3VudFNwZWNpYWw6IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50U3BlY2lhbCxcclxuICAgIGxpbmVEaXNjb3VudFF1YW50dW06IHRoaXMuY2ZnTmFtZXMuTGluZURpc2NvdW50UXVhbnR1bVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uTGluZVRvQmVQaWNrZWRDb21wbGV0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9kZWxpdmVyeVBsYW5uaW5nU2VydmljZTogRGVsaXZlcnlQbGFubmluZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2NyZWVuQ29uZmlnU2VydmljZTogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyBvcmRlckxpbmVTZXRTZXJ2aWNlOiBPcmRlckxpbmVTZXRTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICApIHtcclxuICAgIHN1cGVyKHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLCBpY29uQ2FjaGVTZXJ2aWNlLCBzY3JlZW5Db25maWdTZXJ2aWNlLCBpbWFnZVNlcnZpY2UsIGRpY3Rpb25hcnlTZXJ2aWNlLCB0cmFuc2FjdGlvblNlcnZpY2UsIGNoYW5nZURldGVjdG9yKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5zZWxlY3RBbGxTYWxlc09yZGVyTGluZXNUb0JlUGlja2VkLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5zZWxlY3RlZCA9IHZhbHVlICYmICF0aGlzLnRyYW5zYWN0aW9uTGluZVRvQmVQaWNrZWRDb21wbGV0ZWQ7XHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2hlY2tCb3hWYWx1ZUNoYW5nZWQodmFsdWU6IGJvb2xlYW4sIGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlTGluZUNsaWNrZWQobW91c2VDbGljazogUG9pbnRlckV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbkxpbmUgJiYgdGhpcy50cmFuc2FjdGlvbkxpbmUuY29tbWlzc2lvbkNvZGUgIT09IFwiMVwiKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHRhcmdldDogSFRNTEVsZW1lbnQgPSA8SFRNTEVsZW1lbnQ+bW91c2VDbGljay50YXJnZXQ7XHJcbiAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC5kYXRhc2V0ICYmIHRhcmdldC5kYXRhc2V0WydhY3Rpb24nXSAmJiB0YXJnZXQuZGF0YXNldFsnYWN0aW9uJ10gPT09ICdvcGVuU2lkZVBhbmVsJykge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLm9wZW5TaWRlUGFuZWwubmV4dCh0aGlzLnRyYW5zYWN0aW9uTGluZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZHJhZ1N0YXJ0ZWQoZXY6IGFueSkge1xyXG4gICAgdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuY3VycmVudFRyYW5zSWQgPSB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5pZDtcclxuICAgIGV2LmRhdGFUcmFuc2Zlci5zZXREYXRhKFwidGV4dFwiLCBcImxpbmVzXCIpO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBsaW5lTm90UGxhbm5lZChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKSB7XHJcbiAgICBpZighdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UubGluZXNQbGFuT3JkZXIpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5saW5lc1BsYW5PcmRlci5saW5lcy5maW5kKCBsaW5lID0+IGxpbmUubGluZU5yID09PSBsaW5lLm9yaWdpbmFsTGluZU5yKSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhbGxvd1BhcnRpYWxEZWxpdmVyeSgpIHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uSW5mbz8uYWxsb3dQYXJ0aWFsRGVsaXZlcnk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -12,7 +12,7 @@ export class TransactionLineWarehouseComponent extends TransactionFilterPopupBas
12
12
  }
13
13
  ngOnInit() {
14
14
  this.viewModels.length = 0;
15
- this.transactionService.getWarehouseStockInfoByGoodAndBranch(this.transactionLine.goodId).then((warehouses) => {
15
+ this.transactionService.getWarehouseStockInfoByGoodAndBranch(this.transactionLine.goodId, this.transactionInfo).then((warehouses) => {
16
16
  this.collection = !this.transactionLine.dropShipment ? warehouses.slice() : warehouses.slice().filter((warehouse) => warehouse.dropShipment);
17
17
  this.detectChanges();
18
18
  });
@@ -53,4 +53,4 @@ TransactionLineWarehouseComponent.decorators = [
53
53
  encapsulation: ViewEncapsulation.None
54
54
  },] }
55
55
  ];
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS13YXJlaG91c2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS1maWVsZHMvdHJhbnNhY3Rpb24tbGluZS13YXJlaG91c2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBaUJ6RyxNQUFNLE9BQU8saUNBQWtDLFNBQVEsbUNBQXVEO0lBYjlHOztRQWVZLGNBQVMsR0FBVyxpQkFBaUIsQ0FBQztRQUN0QyxlQUFVLEdBQVcsaUJBQWlCLENBQUM7UUFDdkMsa0JBQWEsR0FBb0M7WUFDdkQsRUFBQyxLQUFLLEVBQUUsaUJBQWlCLEVBQUMsRUFBRSxFQUFDLEtBQUssRUFBRSxhQUFhLEVBQUMsRUFBRSxFQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDO1NBQ2pILENBQUM7SUE2QkosQ0FBQztJQTNCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQ0FBb0MsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQWdDLEVBQUUsRUFBRTtZQUNsSSxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQTZCLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNqSyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRVksTUFBTSxDQUFDLFNBQWlCOztZQUNuQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxLQUFLLFNBQVMsRUFBRTtnQkFDdEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUM7Z0JBQzFELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUNwTCxJQUFJLENBQUMsT0FBTyxFQUFFO29CQUNaLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztpQkFDbEQ7Z0JBQ0QsT0FBTyxPQUFPLENBQUM7YUFDaEI7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7S0FBQTtJQUVTLGtCQUFrQjtRQUMxQixLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3JELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQztTQUMzRjtJQUNILENBQUM7OztZQS9DRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLCtCQUErQjtnQkFDekMsUUFBUSxFQUFFOzs7Ozs7OztHQVFUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRmlsdGVyUG9wdXBCYXNlQ29tcG9uZW50fSBmcm9tICcuLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tZmlsdGVyLXBvcHVwLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtXYXJlaG91c2VTdG9ja0luZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC93YXJlaG91c2Utc3RvY2staW5mby5ibyc7XHJcbmltcG9ydCB7Q2hlY2tib3hMaXN0UHJvcGVydHlJbnRlcmZhY2V9IGZyb20gJy4uLy4uL2ludGVyZmFjZS9jaGVja2JveC1saXN0LXByb3BlcnR5LmludGVyZmFjZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1saW5lLXdhcmVob3VzZVwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1jaGVja2JveC1saXN0XHJcbiAgICAgIFtjb21taXR0aW5nXT1cImNvbW1pdHRpbmdcIlxyXG4gICAgICBbY29sbGVjdGlvbl09XCJ2aWV3TW9kZWxzRmlsdGVyZWRcIlxyXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICBbdG9vbHRpcF09XCJ0b29sdGlwTWVzc2FnZVwiXHJcbiAgICAgIChjaGVja2VkKT1cImhhbmRsZUNoZWNrZWQoJGV2ZW50KVwiXHJcbiAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLWNoZWNrYm94LWxpc3Q+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkxpbmVXYXJlaG91c2VDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkZpbHRlclBvcHVwQmFzZUNvbXBvbmVudDxXYXJlaG91c2VTdG9ja0luZm8+IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHJvdGVjdGVkIGNvZGVGaWVsZDogc3RyaW5nID0gJ3dhcmVob3VzZU51bWJlcic7XHJcbiAgcHJvdGVjdGVkIGNoZWNrRmllbGQ6IHN0cmluZyA9ICd3YXJlaG91c2VOdW1iZXInO1xyXG4gIHByb3RlY3RlZCBwcm9wc0ZvckxhYmVsOiBDaGVja2JveExpc3RQcm9wZXJ0eUludGVyZmFjZVtdID0gW1xyXG4gICAgICB7bGFiZWw6ICd3YXJlaG91c2VOdW1iZXInfSwge2xhYmVsOiAnZGVzY3JpcHRpb24nfSwge2xhYmVsOiAnbm93QXZhaWxhYmxlJywgYWxpZ25tZW50OiAncmlnaHQnLCB3aWR0aDogJzc1cHgnfVxyXG4gIF07XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3TW9kZWxzLmxlbmd0aCA9IDA7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRXYXJlaG91c2VTdG9ja0luZm9CeUdvb2RBbmRCcmFuY2godGhpcy50cmFuc2FjdGlvbkxpbmUuZ29vZElkKS50aGVuKCh3YXJlaG91c2VzOiBXYXJlaG91c2VTdG9ja0luZm9bXSkgPT4ge1xyXG4gICAgICB0aGlzLmNvbGxlY3Rpb24gPSAhdGhpcy50cmFuc2FjdGlvbkxpbmUuZHJvcFNoaXBtZW50ID8gd2FyZWhvdXNlcy5zbGljZSgpIDogd2FyZWhvdXNlcy5zbGljZSgpLmZpbHRlcigod2FyZWhvdXNlOiBXYXJlaG91c2VTdG9ja0luZm8pID0+IHdhcmVob3VzZS5kcm9wU2hpcG1lbnQpO1xyXG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY29tbWl0KHdhcmVob3VzZTogbnVtYmVyKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbkxpbmUud2FyZWhvdXNlTnVtYmVyICE9PSB3YXJlaG91c2UpIHtcclxuICAgICAgY29uc3Qgb2xkV2FyZWhvdXNlID0gdGhpcy50cmFuc2FjdGlvbkxpbmUud2FyZWhvdXNlTnVtYmVyO1xyXG4gICAgICBjb25zdCBzdWNjZXNzID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UudXBkYXRlV2FyZWhvdXNlVHJhbnNhY3Rpb25MaW5lKHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udXVpZCwgdGhpcy50cmFuc2FjdGlvbkxpbmUudXVpZCwgd2FyZWhvdXNlKTtcclxuICAgICAgaWYgKCFzdWNjZXNzKSB7XHJcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUud2FyZWhvdXNlTnVtYmVyID0gd2FyZWhvdXNlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBzdWNjZXNzO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25MaW5lU2V0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIudHJhbnNhY3Rpb25MaW5lU2V0KCk7XHJcbiAgICBpZiAodGhpcy5saW5lSGFzTG9naXN0aWNhbFN0YXRlICYmIHRoaXMubGluZUlzT3JkZXJlZCkge1xyXG4gICAgICB0aGlzLnJlYWRvbmx5ID0gdHJ1ZTtcclxuICAgICAgdGhpcy5hZGRMaW5lVG9vbHRpcE1lc3NhZ2UodGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJPUkRFUl9MSU5FX0hBU19MT0dJU1RJQ0FMX1NUQVRFXCIpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS13YXJlaG91c2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS1maWVsZHMvdHJhbnNhY3Rpb24tbGluZS13YXJlaG91c2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFpQixpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUMsbUNBQW1DLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQWtCekcsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLG1DQUF1RDtJQWI5Rzs7UUFlWSxjQUFTLEdBQVcsaUJBQWlCLENBQUM7UUFDdEMsZUFBVSxHQUFXLGlCQUFpQixDQUFDO1FBQ3ZDLGtCQUFhLEdBQW9DO1lBQ3ZELEVBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFDLEVBQUUsRUFBQyxLQUFLLEVBQUUsYUFBYSxFQUFDLEVBQUUsRUFBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQztTQUNqSCxDQUFDO0lBNkJKLENBQUM7SUEzQkMsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsb0NBQW9DLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQWdDLEVBQUUsRUFBRTtZQUN4SixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQTZCLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNqSyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRVksTUFBTSxDQUFDLFNBQWlCOztZQUNuQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxLQUFLLFNBQVMsRUFBRTtnQkFDdEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUM7Z0JBQzFELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUNwTCxJQUFJLENBQUMsT0FBTyxFQUFFO29CQUNaLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztpQkFDbEQ7Z0JBQ0QsT0FBTyxPQUFPLENBQUM7YUFDaEI7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7S0FBQTtJQUVTLGtCQUFrQjtRQUMxQixLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3JELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQztTQUMzRjtJQUNILENBQUM7OztZQS9DRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLCtCQUErQjtnQkFDekMsUUFBUSxFQUFFOzs7Ozs7OztHQVFUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkZpbHRlclBvcHVwQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vY29yZS9iYXNlL3RyYW5zYWN0aW9uLWZpbHRlci1wb3B1cC1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7V2FyZWhvdXNlU3RvY2tJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvd2FyZWhvdXNlLXN0b2NrLWluZm8uYm8nO1xyXG5pbXBvcnQge0NoZWNrYm94TGlzdFByb3BlcnR5SW50ZXJmYWNlfSBmcm9tICcuLi8uLi9pbnRlcmZhY2UvY2hlY2tib3gtbGlzdC1wcm9wZXJ0eS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW5mb30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1saW5lLXdhcmVob3VzZVwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1jaGVja2JveC1saXN0XHJcbiAgICAgIFtjb21taXR0aW5nXT1cImNvbW1pdHRpbmdcIlxyXG4gICAgICBbY29sbGVjdGlvbl09XCJ2aWV3TW9kZWxzRmlsdGVyZWRcIlxyXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICBbdG9vbHRpcF09XCJ0b29sdGlwTWVzc2FnZVwiXHJcbiAgICAgIChjaGVja2VkKT1cImhhbmRsZUNoZWNrZWQoJGV2ZW50KVwiXHJcbiAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLWNoZWNrYm94LWxpc3Q+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkxpbmVXYXJlaG91c2VDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkZpbHRlclBvcHVwQmFzZUNvbXBvbmVudDxXYXJlaG91c2VTdG9ja0luZm8+IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHJvdGVjdGVkIGNvZGVGaWVsZDogc3RyaW5nID0gJ3dhcmVob3VzZU51bWJlcic7XHJcbiAgcHJvdGVjdGVkIGNoZWNrRmllbGQ6IHN0cmluZyA9ICd3YXJlaG91c2VOdW1iZXInO1xyXG4gIHByb3RlY3RlZCBwcm9wc0ZvckxhYmVsOiBDaGVja2JveExpc3RQcm9wZXJ0eUludGVyZmFjZVtdID0gW1xyXG4gICAgICB7bGFiZWw6ICd3YXJlaG91c2VOdW1iZXInfSwge2xhYmVsOiAnZGVzY3JpcHRpb24nfSwge2xhYmVsOiAnbm93QXZhaWxhYmxlJywgYWxpZ25tZW50OiAncmlnaHQnLCB3aWR0aDogJzc1cHgnfVxyXG4gIF07XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3TW9kZWxzLmxlbmd0aCA9IDA7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRXYXJlaG91c2VTdG9ja0luZm9CeUdvb2RBbmRCcmFuY2godGhpcy50cmFuc2FjdGlvbkxpbmUuZ29vZElkLCB0aGlzLnRyYW5zYWN0aW9uSW5mbykudGhlbigod2FyZWhvdXNlczogV2FyZWhvdXNlU3RvY2tJbmZvW10pID0+IHtcclxuICAgICAgdGhpcy5jb2xsZWN0aW9uID0gIXRoaXMudHJhbnNhY3Rpb25MaW5lLmRyb3BTaGlwbWVudCA/IHdhcmVob3VzZXMuc2xpY2UoKSA6IHdhcmVob3VzZXMuc2xpY2UoKS5maWx0ZXIoKHdhcmVob3VzZTogV2FyZWhvdXNlU3RvY2tJbmZvKSA9PiB3YXJlaG91c2UuZHJvcFNoaXBtZW50KTtcclxuICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNvbW1pdCh3YXJlaG91c2U6IG51bWJlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb25MaW5lLndhcmVob3VzZU51bWJlciAhPT0gd2FyZWhvdXNlKSB7XHJcbiAgICAgIGNvbnN0IG9sZFdhcmVob3VzZSA9IHRoaXMudHJhbnNhY3Rpb25MaW5lLndhcmVob3VzZU51bWJlcjtcclxuICAgICAgY29uc3Qgc3VjY2VzcyA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnVwZGF0ZVdhcmVob3VzZVRyYW5zYWN0aW9uTGluZSh0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnV1aWQsIHRoaXMudHJhbnNhY3Rpb25MaW5lLnV1aWQsIHdhcmVob3VzZSk7XHJcbiAgICAgIGlmICghc3VjY2Vzcykge1xyXG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLndhcmVob3VzZU51bWJlciA9IHdhcmVob3VzZTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gc3VjY2VzcztcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uTGluZVNldCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLnRyYW5zYWN0aW9uTGluZVNldCgpO1xyXG4gICAgaWYgKHRoaXMubGluZUhhc0xvZ2lzdGljYWxTdGF0ZSAmJiB0aGlzLmxpbmVJc09yZGVyZWQpIHtcclxuICAgICAgdGhpcy5yZWFkb25seSA9IHRydWU7XHJcbiAgICAgIHRoaXMuYWRkTGluZVRvb2x0aXBNZXNzYWdlKHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KFwiT1JERVJfTElORV9IQVNfTE9HSVNUSUNBTF9TVEFURVwiKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==