@colijnit/transaction 254.1.4 → 254.1.6

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 (66) hide show
  1. package/bundles/colijnit-transaction.umd.js +1047 -782
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +311 -305
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +312 -306
  6. package/esm2015/lib/component/dialog/transaction-search/components/transaction-search-header/transaction-search-header.component.js +56 -0
  7. package/esm2015/lib/component/dialog/transaction-search/components/transaction-search-header/transaction-search-header.module.js +20 -0
  8. package/esm2015/lib/component/dialog/transaction-search/dialog-transaction-search.component.js +66 -0
  9. package/esm2015/lib/component/dialog/transaction-search/dialog-transaction-search.module.js +35 -0
  10. package/esm2015/lib/component/service-wizard-qa/question-answer-item/question-answer-item.component.js +12 -4
  11. package/esm2015/lib/component/service-wizard-qa/service-wizard-qa.component.js +5 -1
  12. package/esm2015/lib/component/simple-vertical-stepper/co-simple-vertical-stepper.component.js +19 -3
  13. package/esm2015/lib/component/simple-vertical-stepper/co-simple-vertical-stepper.module.js +4 -3
  14. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/transaction-cash-register-payment-dialog.component.js +7 -3
  15. package/esm2015/lib/component/transaction-create-wizard/transaction-create-wizard.component.js +15 -9
  16. package/esm2015/lib/component/transaction-create-wizard/transaction-create-wizard.module.js +4 -2
  17. package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-create-service.component.js +28 -13
  18. package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-relation.component.js +59 -51
  19. package/esm2015/lib/component/transaction-header/transaction-header-popup/transaction-header-popup.module.js +4 -2
  20. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-sales-quotation/transaction-quick-access-sales-quotation.component.js +2 -2
  21. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.js +2 -1
  22. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-line-select-tile/transaction-search-sales-line-select-tile.component.js +25 -0
  23. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-line-select-tile/transaction-search-sales-line-select-tile.module.js +19 -0
  24. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.js +9 -5
  25. package/esm2015/lib/component/transaction-service-overview/transaction-service-overview.component.js +1 -9
  26. package/esm2015/lib/enum/icon.enum.js +2 -1
  27. package/esm2015/lib/model/icon-svg.js +2 -1
  28. package/esm2015/lib/service/transaction-connector-adapter.service.js +16 -3
  29. package/esm2015/lib/service/transaction-connector.service.js +6 -1
  30. package/esm2015/lib/service/transaction.service.js +6 -1
  31. package/esm2015/lib/transaction-version.js +3 -3
  32. package/fesm2015/colijnit-transaction.js +805 -530
  33. package/fesm2015/colijnit-transaction.js.map +1 -1
  34. package/lib/component/dialog/transaction-search/components/transaction-search-header/style/_layout.scss +29 -0
  35. package/lib/component/dialog/transaction-search/components/transaction-search-header/style/_material-definition.scss +2 -0
  36. package/lib/component/dialog/transaction-search/components/transaction-search-header/style/_theme.scss +4 -0
  37. package/lib/component/dialog/transaction-search/components/transaction-search-header/style/material.scss +4 -0
  38. package/lib/component/dialog/transaction-search/components/transaction-search-header/transaction-search-header.component.d.ts +15 -0
  39. package/lib/component/dialog/transaction-search/components/transaction-search-header/transaction-search-header.module.d.ts +2 -0
  40. package/lib/component/dialog/transaction-search/dialog-transaction-search.component.d.ts +19 -0
  41. package/lib/component/dialog/transaction-search/dialog-transaction-search.module.d.ts +2 -0
  42. package/lib/component/dialog/transaction-search/style/_layout.scss +1 -25
  43. package/lib/component/dialog/transaction-search/style/material.scss +2 -0
  44. package/lib/component/service-wizard-qa/question-answer-item/question-answer-item.component.d.ts +3 -0
  45. package/lib/component/service-wizard-qa/service-wizard-qa.component.d.ts +1 -0
  46. package/lib/component/simple-vertical-stepper/co-simple-vertical-stepper.component.d.ts +3 -0
  47. package/lib/component/simple-vertical-stepper/style/_layout.scss +26 -0
  48. package/lib/component/simple-vertical-stepper/style/_material-definition.scss +5 -0
  49. package/lib/component/transaction-create-wizard/style/_layout.scss +60 -0
  50. package/lib/component/transaction-create-wizard/transaction-create-wizard.component.d.ts +2 -0
  51. package/lib/component/transaction-header/transaction-header-popup/style/_layout.scss +14 -0
  52. package/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-create-service.component.d.ts +6 -5
  53. package/lib/component/transaction-header/transaction-header-popup/transaction-header-popup-relation.component.d.ts +1 -0
  54. package/lib/component/transaction-header/transaction-header-relation/style/_layout.scss +2 -1
  55. package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-line-select-tile/style/_layout.scss +5 -0
  56. package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-line-select-tile/style/_material-definition.scss +0 -0
  57. package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-line-select-tile/style/_theme.scss +4 -0
  58. package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-line-select-tile/style/material.scss +5 -0
  59. package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-line-select-tile/transaction-search-sales-line-select-tile.component.d.ts +6 -0
  60. package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-line-select-tile/transaction-search-sales-line-select-tile.module.d.ts +2 -0
  61. package/lib/component/transaction-search/transaction-search-tile/transaction-search-sales-order-tile/transaction-search-sales-order-tile.component.d.ts +1 -0
  62. package/lib/enum/icon.enum.d.ts +1 -0
  63. package/lib/service/transaction-connector-adapter.service.d.ts +2 -0
  64. package/lib/service/transaction-connector.service.d.ts +2 -0
  65. package/lib/service/transaction.service.d.ts +2 -0
  66. package/package.json +2 -2
@@ -31,6 +31,7 @@ export class TransactionHeaderPopupRelationComponent extends TransactionHeaderPo
31
31
  this.addressType = AddressType;
32
32
  this.forceReadonly = false;
33
33
  this.showPrivacy = true;
34
+ this.showInvoiceAddress = true;
34
35
  this.inputChangeForSuggestions = new EventEmitter();
35
36
  this.deliveryAddressNawNr = 0;
36
37
  this.invoiceAddressNawNr = 0;
@@ -198,71 +199,77 @@ TransactionHeaderPopupRelationComponent.decorators = [
198
199
  <co-form>
199
200
  <div class="header-relation-content">
200
201
  <div class="transaction-header-popup-section general">
201
- <div class="transaction-header-popup-section-label" [textContent]="'PERSONAL_DATA' | localize"></div>
202
+ <div class="transaction-header-popup-section-label">
203
+ <span [textContent]="'01'"></span>
204
+ <span class="label-description" [textContent]="'PERSONAL_DATA' | localize"></span>
205
+ </div>
206
+ <div class="service-data-column">
202
207
  <co-relation-type *ngIf="relationKind === relKind.Customer"
203
208
  [screenConfigurationObject]="cfgNames.RelationType"
204
209
  [readonly]="readonly || forceReadonly"
205
210
  [(relation)]="relation"
206
211
  ></co-relation-type>
207
212
  <ng-container *ngIf="relationKind === relKind.Customer">
208
- <relation-customer-groups
209
- [screenConfigurationObject]="cfgNames.RelationCustomerGroup"
210
- [readonly]="readonly || forceReadonly"
211
- [model]="customerGroup"
212
- (modelChange)="handleChangeCustomGroup($event)"
213
- ></relation-customer-groups>
213
+ <relation-customer-groups
214
+ [screenConfigurationObject]="cfgNames.RelationCustomerGroup"
215
+ [readonly]="readonly || forceReadonly"
216
+ [model]="customerGroup"
217
+ (modelChange)="handleChangeCustomGroup($event)"
218
+ ></relation-customer-groups>
214
219
  </ng-container>
215
220
  <co-relation-general
216
- [configNames]="relationGeneralConfigNames"
217
- [readonly]="readonly || forceReadonly"
218
- [(relation)]="relation"
219
- [relationType]="relation.type"
220
- [relationKind]="relationKind"
221
- (inputChangeForSuggestions)="handleInputChange($event)"
221
+ [configNames]="relationGeneralConfigNames"
222
+ [readonly]="readonly || forceReadonly"
223
+ [(relation)]="relation"
224
+ [relationType]="relation.type"
225
+ [relationKind]="relationKind"
226
+ (inputChangeForSuggestions)="handleInputChange($event)"
222
227
  ></co-relation-general>
223
- </div>
224
- <div class="transaction-header-popup-section" [screenConfigurationObject]="cfgNames.RelationAddressesHeader" screenConfigNativeElement>
225
- <div class="transaction-header-popup-section-label" [textContent]="'ADDRESSES' | localize"></div>
226
- <co-relation-addresses
227
- [readonly]="readonly || headerReadonly || forceReadonly"
228
- [tooltip]="headerReadonly ? tooltipMessage : ''"
229
- [(relation)]="relation"
230
- [addresses]="relation.activeAddresses"
231
- [type]="addressType.DeliveryAddress"
232
- [selectedNawNr]="deliveryAddressNawNr"
233
- (selectedNawNrChange)="setIndexDeliveryAddress($event)"
234
- ></co-relation-addresses>
235
- <ng-container *ngIf="relationKind === relKind.Customer">
236
- <div class="transaction-header-popup-section-label" [textContent]="'INVOICE_ADDRESS' | localize"></div>
237
- <co-input-checkbox [readonly]="readonly || headerReadonly || forceReadonly"
238
- [(model)]="invoiceAddressSameAsDeliveryAddress"
239
- [label]="'SAME_AS_DELIVERY' | localize"
240
- [tooltip]="headerReadonly ? tooltipMessage : ''"
241
- (modelChange)="checkSameAddress($event)"
242
- ></co-input-checkbox>
243
- <div class="overview-delivery-invoice-address" *ngIf="!invoiceAddressSameAsDeliveryAddress" @showHideInvoiceAddress>
244
- <co-relation-addresses
245
- [readonly]="readonly || headerReadonly || forceReadonly"
246
- [tooltip]="headerReadonly ? tooltipMessage : ''"
247
- [(relation)]="relation"
248
- [addresses]="relation.activeAddresses"
249
- [type]="addressType.BillingAddress"
250
- [selectedNawNr]="invoiceAddressNawNr"
251
- (selectedNawNrChange)="setIndexInvoiceAddress($event)"
252
- ></co-relation-addresses>
253
- </div>
254
- </ng-container>
255
- </div>
256
- <div class="transaction-header-popup-section contact">
257
- <div class="transaction-header-popup-section-label" [textContent]="'CONTACT_DETAILS' | localize"></div>
258
- <co-relation-contact-details
228
+ <co-relation-addresses
229
+ [readonly]="readonly || headerReadonly || forceReadonly"
230
+ [tooltip]="headerReadonly ? tooltipMessage : ''"
231
+ [(relation)]="relation"
232
+ [addresses]="relation.activeAddresses"
233
+ [type]="addressType.DeliveryAddress"
234
+ [selectedNawNr]="deliveryAddressNawNr"
235
+ (selectedNawNrChange)="setIndexDeliveryAddress($event)"
236
+ ></co-relation-addresses>
237
+ <co-relation-contact-details
259
238
  [configNames]="configNames?.contactDetails"
260
239
  [readonly]="readonly || forceReadonly"
261
240
  [(relation)]="relation"
262
241
  [relationKind]="relationKind"
263
242
  [showInviteForAccount]="false"
264
243
  (inputChangeForSuggestions)="inputChangeForSuggestions.emit($event)"
265
- ></co-relation-contact-details>
244
+ ></co-relation-contact-details>
245
+ </div>
246
+ </div>
247
+ <div *ngIf="showInvoiceAddress" class="transaction-header-popup-section" [screenConfigurationObject]="cfgNames.RelationAddressesHeader" screenConfigNativeElement>
248
+ <ng-container *ngIf="relationKind === relKind.Customer">
249
+ <div class="transaction-header-popup-section-label">
250
+ <span [textContent]="'02'"></span>
251
+ <span class="label-description" [textContent]="'INVOICE_ADDRESS' | localize"></span>
252
+ </div>
253
+ <div class="service-data-column">
254
+ <co-input-checkbox [readonly]="readonly || headerReadonly || forceReadonly"
255
+ [(model)]="invoiceAddressSameAsDeliveryAddress"
256
+ [label]="'SAME_AS_DELIVERY' | localize"
257
+ [tooltip]="headerReadonly ? tooltipMessage : ''"
258
+ (modelChange)="checkSameAddress($event)"
259
+ ></co-input-checkbox>
260
+ <div class="overview-delivery-invoice-address" *ngIf="!invoiceAddressSameAsDeliveryAddress" @showHideInvoiceAddress>
261
+ <co-relation-addresses
262
+ [readonly]="readonly || headerReadonly || forceReadonly"
263
+ [tooltip]="headerReadonly ? tooltipMessage : ''"
264
+ [(relation)]="relation"
265
+ [addresses]="relation.activeAddresses"
266
+ [type]="addressType.BillingAddress"
267
+ [selectedNawNr]="invoiceAddressNawNr"
268
+ (selectedNawNrChange)="setIndexInvoiceAddress($event)"
269
+ ></co-relation-addresses>
270
+ </div>
271
+ </div>
272
+ </ng-container>
266
273
  </div>
267
274
  </div>
268
275
  <div class="header-relation-content" *ngIf="showPrivacy">
@@ -306,10 +313,11 @@ TransactionHeaderPopupRelationComponent.propDecorators = {
306
313
  configNames: [{ type: Input }],
307
314
  forceReadonly: [{ type: Input }],
308
315
  showPrivacy: [{ type: Input }],
316
+ showInvoiceAddress: [{ type: Input }],
309
317
  inputChangeForSuggestions: [{ type: Output }],
310
318
  navigationItems: [{ type: ViewChild, args: ['navigationItems', { read: ElementRef },] }],
311
319
  mainItems: [{ type: ViewChild, args: ['mainItems', { read: ElementRef },] }],
312
320
  preferenceItems: [{ type: ViewChild, args: ['preferenceItems', { read: ElementRef },] }],
313
321
  showClass: [{ type: HostBinding, args: ['class.co-transaction-header-popup-relation',] }]
314
322
  };
315
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXJlbGF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLWhlYWRlci90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAvdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXJlbGF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUFFLFlBQVksRUFDeEIsV0FBVyxFQUNYLEtBQUssRUFDRyxNQUFNLEVBQ2QsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFJakYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQy9FLE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzlGLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFJL0UsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxn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VSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztxQkFDckQsQ0FBQztpQkFDTDtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsaUJBQWlCO29CQUNqQiwwQkFBMEI7aUJBQzNCO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3hDOzs7WUF6R08sdUJBQXVCO1lBSnZCLGtCQUFrQjtZQUtsQixnQkFBZ0I7WUFDaEIscUNBQXFDO1lBQ3JDLGlCQUFpQjtZQUNqQix1QkFBdUI7WUE1QjdCLGlCQUFpQjtZQXNCWCxhQUFhO1lBYmIsaUJBQWlCO1lBWWpCLDBCQUEwQjtZQUUxQiwwQkFBMEI7OzswQkE4RzdCLEtBQUs7NEJBR0wsS0FBSzswQkFHTCxLQUFLO3dDQUdMLE1BQU07OEJBR04sU0FBUyxTQUFDLGlCQUFpQixFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQzt3QkFHL0MsU0FBUyxTQUFDLFdBQVcsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7OEJBR3pDLFNBQVMsU0FBQyxpQkFBaUIsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7d0JBRy9DLFdBQVcsU0FBQyw0Q0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBPbkluaXQsIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3JtTWFzdGVyU2VydmljZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7UmVsYXRpb25LaW5kfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1raW5kLmVudW0nO1xyXG5pbXBvcnQge0N1c3RvbWVyRnVsbE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL2N1c3RvbWVyLWZ1bGwtb2JqZWN0LmJvJztcclxuaW1wb3J0IHtBZGRyZXNzfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvYWRkcmVzcy5ibyc7XHJcbmltcG9ydCB7VmFsaWRhdGlvblJlc3VsdH0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvdmFsaWRhdGlvbi1yZXN1bHQnO1xyXG5pbXBvcnQge0FkZHJlc3NUeXBlfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9hZGRyZXNzLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJQb3B1cEJhc2VDb21wb25lbnR9IGZyb20gJy4vdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge1JlbGF0aW9uR2VuZXJhbENmZ05hbWVzfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2UvcmVsYXRpb24tZ2VuZXJhbC1jZmctbmFtZXMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtSZWxhdGlvbkNvbnRhY3REZXRhaWxzQ2ZnTmFtZXN9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZS9yZWxhdGlvbi1jb250YWN0LWRldGFpbHMtY2ZnLW5hbWVzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7UmVsYXRpb25TdWdnZXN0aW9uc1JlcXVlc3R9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZS9yZWxhdGlvbi1zdWdnZXN0aW9ucy1yZXF1ZXN0LmludGVyZmFjZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUmVsYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXJlbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RpYWxvZ1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQge1JlbGF0aW9uU3VnZ2VzdGlvbnNTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3JlbGF0aW9uLXN1Z2dlc3Rpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7UmVsYXRpb25MaXN0T2JqZWN0fSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tbGlzdC1vYmplY3QuYm8nO1xyXG5pbXBvcnQge1JlbGF0aW9uQW55VHlwZX0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvcmVsYXRpb24tYW55LXR5cGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NvLXRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1yZWxhdGlvbicsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDwhLS1jby10cmFuc2FjdGlvbi1maWx0ZXItY2F0ZWdvcmllcyBbY2F0ZWdvcmllc109XCJjYXRlZ29yaWVzXCIgKGNhdGVnb3J5Q2xpY2spPVwiaGFuZGxlTmF2aWdhdGlvbkNsaWNrKCRldmVudClcIj48L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1jYXRlZ29yaWVzLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1jYXRlZ29yeS13cmFwcGVyIGNvLXNtYWxsLXNjcm9sbGJhclwiPlxyXG4gICAgICAgICAgICA8Y28tZm9ybT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcmVsYXRpb24tY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VjdGlvbiBnZW5lcmFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VjdGlvbi1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInUEVSU09OQUxfREFUQScgfCBsb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tdHlwZSAqbmdJZj1cInJlbGF0aW9uS2luZCA9PT0gcmVsS2luZC5DdXN0b21lclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLlJlbGF0aW9uVHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seSB8fCBmb3JjZVJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhyZWxhdGlvbildPVwicmVsYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9jby1yZWxhdGlvbi10eXBlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVsYXRpb25LaW5kID09PSByZWxLaW5kLkN1c3RvbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVsYXRpb24tY3VzdG9tZXItZ3JvdXBzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLlJlbGF0aW9uQ3VzdG9tZXJHcm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seSB8fCBmb3JjZVJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cImN1c3RvbWVyR3JvdXBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlQ3VzdG9tR3JvdXAoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9yZWxhdGlvbi1jdXN0b21lci1ncm91cHM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tZ2VuZXJhbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdOYW1lc109XCJyZWxhdGlvbkdlbmVyYWxDb25maWdOYW1lc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5IHx8IGZvcmNlUmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsocmVsYXRpb24pXT1cInJlbGF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVsYXRpb25UeXBlXT1cInJlbGF0aW9uLnR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWxhdGlvbktpbmRdPVwicmVsYXRpb25LaW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW5wdXRDaGFuZ2VGb3JTdWdnZXN0aW9ucyk9XCJoYW5kbGVJbnB1dENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tcmVsYXRpb24tZ2VuZXJhbD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXNlY3Rpb25cIiBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5SZWxhdGlvbkFkZHJlc3Nlc0hlYWRlclwiIHNjcmVlbkNvbmZpZ05hdGl2ZUVsZW1lbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VjdGlvbi1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInQUREUkVTU0VTJyB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjby1yZWxhdGlvbi1hZGRyZXNzZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkgfHwgaGVhZGVyUmVhZG9ubHkgfHwgZm9yY2VSZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwiaGVhZGVyUmVhZG9ubHkgPyB0b29sdGlwTWVzc2FnZSA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHJlbGF0aW9uKV09XCJyZWxhdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FkZHJlc3Nlc109XCJyZWxhdGlvbi5hY3RpdmVBZGRyZXNzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImFkZHJlc3NUeXBlLkRlbGl2ZXJ5QWRkcmVzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkTmF3TnJdPVwiZGVsaXZlcnlBZGRyZXNzTmF3TnJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZE5hd05yQ2hhbmdlKT1cInNldEluZGV4RGVsaXZlcnlBZGRyZXNzKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9jby1yZWxhdGlvbi1hZGRyZXNzZXM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyZWxhdGlvbktpbmQgPT09IHJlbEtpbmQuQ3VzdG9tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VjdGlvbi1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInSU5WT0lDRV9BRERSRVNTJyB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggW3JlYWRvbmx5XT1cInJlYWRvbmx5IHx8IGhlYWRlclJlYWRvbmx5IHx8IGZvcmNlUmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImludm9pY2VBZGRyZXNzU2FtZUFzRGVsaXZlcnlBZGRyZXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1NBTUVfQVNfREVMSVZFUlknIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwXT1cImhlYWRlclJlYWRvbmx5ID8gdG9vbHRpcE1lc3NhZ2UgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImNoZWNrU2FtZUFkZHJlc3MoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy1kZWxpdmVyeS1pbnZvaWNlLWFkZHJlc3NcIiAqbmdJZj1cIiFpbnZvaWNlQWRkcmVzc1NhbWVBc0RlbGl2ZXJ5QWRkcmVzc1wiIEBzaG93SGlkZUludm9pY2VBZGRyZXNzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjby1yZWxhdGlvbi1hZGRyZXNzZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seSB8fCBoZWFkZXJSZWFkb25seSB8fCBmb3JjZVJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwXT1cImhlYWRlclJlYWRvbmx5ID8gdG9vbHRpcE1lc3NhZ2UgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHJlbGF0aW9uKV09XCJyZWxhdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWRkcmVzc2VzXT1cInJlbGF0aW9uLmFjdGl2ZUFkZHJlc3Nlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJhZGRyZXNzVHlwZS5CaWxsaW5nQWRkcmVzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWROYXdOcl09XCJpbnZvaWNlQWRkcmVzc05hd05yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RlZE5hd05yQ2hhbmdlKT1cInNldEluZGV4SW52b2ljZUFkZHJlc3MoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tcmVsYXRpb24tYWRkcmVzc2VzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VjdGlvbiBjb250YWN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VjdGlvbi1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInQ09OVEFDVF9ERVRBSUxTJyB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjby1yZWxhdGlvbi1jb250YWN0LWRldGFpbHNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdOYW1lc109XCJjb25maWdOYW1lcz8uY29udGFjdERldGFpbHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5IHx8IGZvcmNlUmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhyZWxhdGlvbildPVwicmVsYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlbGF0aW9uS2luZF09XCJyZWxhdGlvbktpbmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dJbnZpdGVGb3JBY2NvdW50XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnB1dENoYW5nZUZvclN1Z2dlc3Rpb25zKT1cImlucHV0Q2hhbmdlRm9yU3VnZ2VzdGlvbnMuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tcmVsYXRpb24tY29udGFjdC1kZXRhaWxzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJlbGF0aW9uLWNvbnRlbnRcIiAqbmdJZj1cInNob3dQcml2YWN5XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VjdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VjdGlvbi1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInUFJJVkFDWV9QUkVGRVJFTkNFUycgfCBsb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxjby1yZWxhdGlvbi1wcmVmZXJlbmNlcyBbcmVhZG9ubHldPVwicmVhZG9ubHkgfHwgZm9yY2VSZWFkb25seVwiIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiPjwvY28tcmVsYXRpb24tcHJlZmVyZW5jZXM+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvY28tZm9ybT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgICBhbmltYXRpb25zOiBbXHJcbiAgICAgICAgdHJpZ2dlcihcInNob3dIaWRlSW52b2ljZUFkZHJlc3NcIiwgW1xyXG4gICAgICAgICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe2hlaWdodDogMCwgb3BhY2l0eTogMH0pKSxcclxuICAgICAgICAgICAgc3RhdGUoXCIqXCIsIHN0eWxlKHtoZWlnaHQ6IFwiKlwiLCBvcGFjaXR5OiAxfSkpLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFwidm9pZCA9PiAqXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSksXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oXCIqID0+IHZvaWRcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2Utb3V0XCIpKVxyXG4gICAgICAgIF0pXHJcbiAgICBdLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgIEZvcm1NYXN0ZXJTZXJ2aWNlLFxyXG4gICAgICBSZWxhdGlvblN1Z2dlc3Rpb25zU2VydmljZVxyXG4gICAgXSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBSZWxhdGlvbkNvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICAgIHB1YmxpYyByZWFkb25seSBhZGRyZXNzVHlwZTogdHlwZW9mIEFkZHJlc3NUeXBlID0gQWRkcmVzc1R5cGU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjb25maWdOYW1lczogUmVsYXRpb25HZW5lcmFsQ2ZnTmFtZXM7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBmb3JjZVJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzaG93UHJpdmFjeTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgaW5wdXRDaGFuZ2VGb3JTdWdnZXN0aW9uczogRXZlbnRFbWl0dGVyPFJlbGF0aW9uU3VnZ2VzdGlvbnNSZXF1ZXN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVsYXRpb25TdWdnZXN0aW9uc1JlcXVlc3Q+KCk7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnbmF2aWdhdGlvbkl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gICAgcHVibGljIG5hdmlnYXRpb25JdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdtYWluSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgICBwdWJsaWMgbWFpbkl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ3ByZWZlcmVuY2VJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICAgIHB1YmxpYyBwcmVmZXJlbmNlSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby10cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtcmVsYXRpb24nKVxyXG4gICAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZGVsaXZlcnlBZGRyZXNzTmF3TnI6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgaW52b2ljZUFkZHJlc3NOYXdOcjogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBpbnZvaWNlQWRkcmVzc1NhbWVBc0RlbGl2ZXJ5QWRkcmVzczogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBwdWJsaWMgY2F0ZWdvcmllczogc3RyaW5nW10gPSBbXTtcclxuICAgIHB1YmxpYyBjdXN0b21lckdyb3VwOiBzdHJpbmc7XHJcblxyXG4gICAgcHVibGljIGNvbnRhY3REZXRhaWxzQ29uZmlnTmFtZXM6IFJlbGF0aW9uQ29udGFjdERldGFpbHNDZmdOYW1lcyA9IHtcclxuICAgICAgICByZWxhdGlvblBob25lOiB0aGlzLmNmZ05hbWVzLlJlbGF0aW9uUGhvbmUsXHJcbiAgICAgICAgcmVsYXRpb25FbWFpbEFkZHJlc3M6IHRoaXMuY2ZnTmFtZXMuUmVsYXRpb25FbWFpbEFkZHJlc3MsXHJcbiAgICAgICAgcmVsYXRpb25JbnZpdGVUb0FjY291bnQ6IHRoaXMuY2ZnTmFtZXMuUmVsYXRpb25JbnZpdGVUb0FjY291bnRcclxuICAgIH1cclxuICAgIHB1YmxpYyByZWxhdGlvbkdlbmVyYWxDb25maWdOYW1lczogUmVsYXRpb25HZW5lcmFsQ2ZnTmFtZXMgPSB7XHJcbiAgICAgICAgcmVsYXRpb25Db21wYW55OiB0aGlzLmNmZ05hbWVzLlJlbGF0aW9uQ29tcGFueSxcclxuICAgICAgICByZWxhdGlvbkZpcnN0TmFtZTogdGhpcy5jZmdOYW1lcy5SZWxhdGlvbkZpcnN0TmFtZSxcclxuICAgICAgICByZWxhdGlvblByZWZpeDogdGhpcy5jZmdOYW1lcy5SZWxhdGlvblByZWZpeCxcclxuICAgICAgICByZWxhdGlvbkxhc3ROYW1lOiB0aGlzLmNmZ05hbWVzLlJlbGF0aW9uTGFzdE5hbWUsXHJcbiAgICAgICAgcmVsYXRpb25HZW5kZXI6IHRoaXMuY2ZnTmFtZXMuUmVsYXRpb25HZW5kZXIsXHJcbiAgICAgICAgY29udGFjdERldGFpbHM6IHRoaXMuY29udGFjdERldGFpbHNDb25maWdOYW1lc1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3JlcXVlc3RGb3JTdWdnZXN0aW9uczogUmVsYXRpb25TdWdnZXN0aW9uc1JlcXVlc3QgPSB7fTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgICAgcHVibGljIHNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICAgIHB1YmxpYyB0cmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgICBwcm90ZWN0ZWQgaW1hZ2VTZXJ2aWNlOiBUcmFuc2FjdGlvbkltYWdlU2VydmljZSxcclxuICAgICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgcHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICAgIHByb3RlY3RlZCBmb3JtTWFzdGVyU2VydmljZTogRm9ybU1hc3RlclNlcnZpY2UsXHJcbiAgICAgIHByb3RlY3RlZCByZWxhdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uUmVsYXRpb25TZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIF9zdWdnZXN0aW9uc1NlcnZpY2U6IFJlbGF0aW9uU3VnZ2VzdGlvbnNTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihcclxuICAgICAgICAgIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLCBzZXJ2aWNlLCBpY29uQ2FjaGVTZXJ2aWNlLCB0cmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgICAgZGljdGlvbmFyeVNlcnZpY2UsIGltYWdlU2VydmljZSwgY2hhbmdlRGV0ZWN0b3IsIGRpYWxvZ1NlcnZpY2UsIGZvcm1NYXN0ZXJTZXJ2aWNlLCByZWxhdGlvblNlcnZpY2UpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbnNTZXJ2aWNlLmluaXQodGhpcy5yZWxhdGlvbi5yZWxhdGlvblR5cGUpO1xyXG4gICAgICAgIHRoaXMuc3Vicy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLnNjcmVlbkNvbmZpZ1NlcnZpY2UuY29uZmlnU2V0LnN1YnNjcmliZSgoY29uZmlnT2JqZWN0czogc3RyaW5nW10pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChjb25maWdPYmplY3RzICYmIGNvbmZpZ09iamVjdHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2F0ZWdvcmllcy5sZW5ndGggPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnNjcmVlbkNvbmZpZ1NlcnZpY2UuZ2V0T2JqZWN0Q29uZmlndXJhdGlvbkZvcih0aGlzLmNmZ05hbWVzLlJlbGF0aW9uQ2xpZW50RGF0YUhlYWRlcikuaW1tZWRpYXRlbHlWaXNpYmxlKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yaWVzLnB1c2godGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ0NMSUVOVF9EQVRBJykpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5zY3JlZW5Db25maWdTZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5SZWxhdGlvblByZWZlcmVuY2VzSGVhZGVyKS5pbW1lZGlhdGVseVZpc2libGUoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3JpZXMucHVzaCh0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnUFJJVkFDWV9QUkVGRVJFTkNFUycpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICB0aGlzLl9zdWdnZXN0aW9uc1NlcnZpY2Uuc3VnZ2VzdGVkUmVsYXRpb25DbGljay5zdWJzY3JpYmUoKHJlbGF0aW9uOiBSZWxhdGlvbkxpc3RPYmplY3QpID0+IHRoaXMub25SZWxhdGlvblN1Z2dlc3Rpb25DbGljayhyZWxhdGlvbikpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY2F0ZWdvcmllc1swXSA9PT0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ1BSSVZBQ1lfUFJFRkVSRU5DRVMnKSkge1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZU5hdmlnYXRpb25DbGljaygnUFJJVkFDWV9QUkVGRVJFTkNFUycpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3VibWl0KCk6IGJvb2xlYW4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5mb3JtTWFzdGVyU2VydmljZS5zdWJtaXRTbGF2ZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgb25SZWxhdGlvblN1Z2dlc3Rpb25DbGljayhyZWxhdGlvblN1Z2dlc3RlZDogUmVsYXRpb25MaXN0T2JqZWN0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKHJlbGF0aW9uU3VnZ2VzdGVkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGxvY2tSZXN1bHQ6IFZhbGlkYXRpb25SZXN1bHQgPSBhd2FpdCB0aGlzLnJlbGF0aW9uU2VydmljZS5sb2NrUmVsYXRpb24ocmVsYXRpb25TdWdnZXN0ZWQucmVsYXRpb25UeXBlLCBwYXJzZUludChyZWxhdGlvblN1Z2dlc3RlZC5yZWxhdGlvbk5yLCAwKSk7XHJcbiAgICAgICAgICAgIGlmICghbG9ja1Jlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd0Vycm9yKCdSRUxBVElPTl9BTFJFQURZX0xPQ0tFRCcsIHRydWUsIGxvY2tSZXN1bHQubWVzc2FnZXNbMF0ubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zdWdnZXN0aW9uc1NlcnZpY2UuaGlkZVNpZGViYXIoKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHN1Z2dlc3RlZFJlbGF0aW9uOiBSZWxhdGlvbkFueVR5cGUgPSBhd2FpdCB0aGlzLnJlbGF0aW9uU2VydmljZS5nZXRSZWxhdGlvbihyZWxhdGlvblN1Z2dlc3RlZC5yZWxhdGlvblR5cGUsIHBhcnNlSW50KHJlbGF0aW9uU3VnZ2VzdGVkLnJlbGF0aW9uTnIpKTtcclxuICAgICAgICAgICAgICAgIGlmIChzdWdnZXN0ZWRSZWxhdGlvbiAmJiBzdWdnZXN0ZWRSZWxhdGlvbi5hZGRyZXNzZXMgJiYgc3VnZ2VzdGVkUmVsYXRpb24uYWRkcmVzc2VzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBzdWdnZXN0ZWRSZWxhdGlvbi5hZGRyZXNzZXMuc29ydCgoYSwgYikgPT4gYS5zZXF1ZW5jZSA8IGIuc2VxdWVuY2UgPyAtMSA6IDEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZWxhdGlvbiA9IHN1Z2dlc3RlZFJlbGF0aW9uO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLnJlbGF0aW9uID0gdGhpcy5yZWxhdGlvbjtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVsYXRpb25DaGFuZ2UubmV4dCh0aGlzLnJlbGF0aW9uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgcmVsYXRpb25TZXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKHRoaXMucmVsYXRpb25LaW5kID09PSBSZWxhdGlvbktpbmQuQ3VzdG9tZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5jdXN0b21lckdyb3VwID0gKHRoaXMucmVsYXRpb24gYXMgQ3VzdG9tZXJGdWxsT2JqZWN0KS5jdXN0b21lckdyb3VwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhd2FpdCB0aGlzLl9sb2NrUmVsYXRpb24oKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgc2V0SW5kZXhEZWxpdmVyeUFkZHJlc3MobmF3TnI6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGNvbnN0IGFkZHJlc3M6IEFkZHJlc3MgPSB0aGlzLnJlbGF0aW9uLmFkZHJlc3Nlcy5maW5kKGEgPT4gYS5uYXdOciA9PT0gbmF3TnIpO1xyXG4gICAgICAgIGlmIChhZGRyZXNzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0Rm9ybURpcnR5KCk7XHJcbiAgICAgICAgICAgIHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnIgPSBuYXdOcjtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UudXBkYXRlSGVhZGVyRGVsaXZlcnlBZGRyZXNzKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQsIG5hd05yLCBmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBzZXRJbmRleEludm9pY2VBZGRyZXNzKG5hd05yOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBjb25zdCBhZGRyZXNzOiBBZGRyZXNzID0gdGhpcy5yZWxhdGlvbi5hZGRyZXNzZXMuZmluZChhID0+IGEubmF3TnIgPT09IG5hd05yKTtcclxuICAgICAgICBpZiAoYWRkcmVzcykge1xyXG4gICAgICAgICAgICB0aGlzLnNldEZvcm1EaXJ0eSgpO1xyXG4gICAgICAgICAgICB0aGlzLmludm9pY2VBZGRyZXNzTmF3TnIgPSBuYXdOcjtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UudXBkYXRlSGVhZGVySW52b2ljZUFkZHJlc3ModGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCwgbmF3TnIsIGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNoZWNrU2FtZUFkZHJlc3MoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIGlmIChjaGVja2VkKSB7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuZWRpdEFkZHJlc3NUeXBlID0gQWRkcmVzc1R5cGUuRGVsaXZlcnlBZGRyZXNzO1xyXG4gICAgICAgICAgICAvLyB0aGlzLnNlbGVjdEFkZHJlc3ModGhpcy5kZWxpdmVyeUFkZHJlc3MpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlSW5wdXRDaGFuZ2UocmVxdWVzdDogUmVsYXRpb25TdWdnZXN0aW9uc1JlcXVlc3QpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yZXF1ZXN0Rm9yU3VnZ2VzdGlvbnMgPSBPYmplY3QuYXNzaWduKHRoaXMuX3JlcXVlc3RGb3JTdWdnZXN0aW9ucywgcmVxdWVzdCk7XHJcbiAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbnNTZXJ2aWNlLnJlcXVlc3RGb3JTdWdnZXN0aW9ucyA9IHRoaXMuX3JlcXVlc3RGb3JTdWdnZXN0aW9ucztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlTmF2aWdhdGlvbkNsaWNrKG5hdjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgIGlmIChuYXYgPT09IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdDTElFTlRfREFUQScpKSB7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5tYWluSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMucHJlZmVyZW5jZUl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVDaGFuZ2VDdXN0b21Hcm91cChncm91cDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jdXN0b21lckdyb3VwID0gZ3JvdXA7XHJcbiAgICAgICAgaWYgKHRoaXMucmVsYXRpb25LaW5kID09PSBSZWxhdGlvbktpbmQuQ3VzdG9tZXIpIHtcclxuICAgICAgICAgICAgKHRoaXMucmVsYXRpb24gYXMgQ3VzdG9tZXJGdWxsT2JqZWN0KS5jdXN0b21lckdyb3VwID0gdGhpcy5jdXN0b21lckdyb3VwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25TZXQoKSB7XHJcbiAgICAgICAgc3VwZXIudHJhbnNhY3Rpb25TZXQoKTtcclxuICAgICAgICBpZiAodGhpcy50cmFuc2FjdGlvbkluZm8pIHtcclxuICAgICAgICAgICAgdGhpcy5kZWxpdmVyeUFkZHJlc3NOYXdOciA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLnRyYW5zYWN0aW9uQWRkcmVzcztcclxuICAgICAgICAgICAgdGhpcy5pbnZvaWNlQWRkcmVzc05hd05yID0gdGhpcy50cmFuc2FjdGlvbkluZm8uaW52b2ljZUFkZHJlc3M7XHJcbiAgICAgICAgICAgIHRoaXMuaW52b2ljZUFkZHJlc3NTYW1lQXNEZWxpdmVyeUFkZHJlc3MgPSB0aGlzLmRlbGl2ZXJ5QWRkcmVzc05hd05yID09PSB0aGlzLmludm9pY2VBZGRyZXNzTmF3TnI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3NldEZpcnN0QWRkcmVzcyhhZGRyZXNzOiBBZGRyZXNzKTogdm9pZCB7XHJcbiAgICAgICAgYWRkcmVzcy5zZXF1ZW5jZSA9IDA7XHJcbiAgICAgICAgY29uc3QgYWRkcmVzc2VzOiBBZGRyZXNzW10gPSB0aGlzLnJlbGF0aW9uLmFkZHJlc3Nlc1xyXG4gICAgICAgICAgICAuZmlsdGVyKGEgPT4gYS5uYXdOciAhPT0gYWRkcmVzcy5uYXdOcilcclxuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEuc2VxdWVuY2UgPCBiLnNlcXVlbmNlID8gLTEgOiAxKTtcclxuICAgICAgICBsZXQgc29ydGVkQWRkcmVzc2VzOiBBZGRyZXNzW10gPSBbYWRkcmVzc107XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhZGRyZXNzZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgYWRkcmVzczogQWRkcmVzcyA9IGFkZHJlc3Nlc1tpXTtcclxuICAgICAgICAgICAgYWRkcmVzcy5zZXF1ZW5jZSA9IGkgKyAxO1xyXG4gICAgICAgICAgICBzb3J0ZWRBZGRyZXNzZXMucHVzaChhZGRyZXNzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yZWxhdGlvbi5hZGRyZXNzZXMuZm9yRWFjaChyYSA9PiByYS5zZXF1ZW5jZSA9IHNvcnRlZEFkZHJlc3Nlcy5maW5kKHNhID0+IHNhLm5hd05yID09PSByYS5uYXdOcikuc2VxdWVuY2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgX2xvY2tSZWxhdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBjb25zdCBsb2NrUmVzdWx0OiBWYWxpZGF0aW9uUmVzdWx0ID0gYXdhaXQgdGhpcy5yZWxhdGlvblNlcnZpY2UubG9ja1JlbGF0aW9uKHRoaXMucmVsYXRpb24ucmVsYXRpb25UeXBlLCBwYXJzZUludCh0aGlzLnJlbGF0aW9uLnJlbGF0aW9uTnVtYmVyLCAwKSk7XHJcbiAgICAgICAgaWYgKCFsb2NrUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLnNob3dJbmZvcm1hdGlvbihsb2NrUmVzdWx0Lm1lc3NhZ2VzWzBdLm1lc3NhZ2UsIGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5yZWFkb25seSA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5yZWFkb25seSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
323
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXJlbGF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLWhlYWRlci90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAvdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXJlbGF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUFFLFlBQVksRUFDeEIsV0FBVyxFQUNYLEtBQUssRUFDRyxNQUFNLEVBQ2QsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFJakYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQy9FLE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzlGLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFJL0UsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxn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TyxDQUFDLG1CQUFtQixDQUFDLENBQUM7d0JBQ3JELFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQ3JELENBQUM7aUJBQ0w7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULGlCQUFpQjtvQkFDakIsMEJBQTBCO2lCQUMzQjtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN4Qzs7O1lBL0dPLHVCQUF1QjtZQUp2QixrQkFBa0I7WUFLbEIsZ0JBQWdCO1lBQ2hCLHFDQUFxQztZQUNyQyxpQkFBaUI7WUFDakIsdUJBQXVCO1lBNUI3QixpQkFBaUI7WUFzQlgsYUFBYTtZQWJiLGlCQUFpQjtZQVlqQiwwQkFBMEI7WUFFMUIsMEJBQTBCOzs7MEJBb0g3QixLQUFLOzRCQUdMLEtBQUs7MEJBR0wsS0FBSztpQ0FHTCxLQUFLO3dDQUdMLE1BQU07OEJBR04sU0FBUyxTQUFDLGlCQUFpQixFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQzt3QkFHL0MsU0FBUyxTQUFDLFdBQVcsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7OEJBR3pDLFNBQVMsU0FBQyxpQkFBaUIsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7d0JBRy9DLFdBQVcsU0FBQyw0Q0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBPbkluaXQsIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3JtTWFzdGVyU2VydmljZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7UmVsYXRpb25LaW5kfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1raW5kLmVudW0nO1xyXG5pbXBvcnQge0N1c3RvbWVyRnVsbE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL2N1c3RvbWVyLWZ1bGwtb2JqZWN0LmJvJztcclxuaW1wb3J0IHtBZGRyZXNzfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvYWRkcmVzcy5ibyc7XHJcbmltcG9ydCB7VmFsaWRhdGlvblJlc3VsdH0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvdmFsaWRhdGlvbi1yZXN1bHQnO1xyXG5pbXBvcnQge0FkZHJlc3NUeXBlfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9hZGRyZXNzLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJQb3B1cEJhc2VDb21wb25lbnR9IGZyb20gJy4vdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge1JlbGF0aW9uR2VuZXJhbENmZ05hbWVzfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2UvcmVsYXRpb24tZ2VuZXJhbC1jZmctbmFtZXMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtSZWxhdGlvbkNvbnRhY3REZXRhaWxzQ2ZnTmFtZXN9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZS9yZWxhdGlvbi1jb250YWN0LWRldGFpbHMtY2ZnLW5hbWVzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7UmVsYXRpb25TdWdnZXN0aW9uc1JlcXVlc3R9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZS9yZWxhdGlvbi1zdWdnZXN0aW9ucy1yZXF1ZXN0LmludGVyZmFjZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUmVsYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXJlbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RpYWxvZ1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQge1JlbGF0aW9uU3VnZ2VzdGlvbnNTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3JlbGF0aW9uLXN1Z2dlc3Rpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7UmVsYXRpb25MaXN0T2JqZWN0fSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tbGlzdC1vYmplY3QuYm8nO1xyXG5pbXBvcnQge1JlbGF0aW9uQW55VHlwZX0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvcmVsYXRpb24tYW55LXR5cGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NvLXRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1yZWxhdGlvbicsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDwhLS1jby10cmFuc2FjdGlvbi1maWx0ZXItY2F0ZWdvcmllcyBbY2F0ZWdvcmllc109XCJjYXRlZ29yaWVzXCIgKGNhdGVnb3J5Q2xpY2spPVwiaGFuZGxlTmF2aWdhdGlvbkNsaWNrKCRldmVudClcIj48L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1jYXRlZ29yaWVzLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1jYXRlZ29yeS13cmFwcGVyIGNvLXNtYWxsLXNjcm9sbGJhclwiPlxyXG4gICAgICAgICAgICA8Y28tZm9ybT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcmVsYXRpb24tY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VjdGlvbiBnZW5lcmFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VjdGlvbi1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInMDEnXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiJ1BFUlNPTkFMX0RBVEEnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtZGF0YS1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXJlbGF0aW9uLXR5cGUgKm5nSWY9XCJyZWxhdGlvbktpbmQgPT09IHJlbEtpbmQuQ3VzdG9tZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5SZWxhdGlvblR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkgfHwgZm9yY2VSZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsocmVsYXRpb24pXT1cInJlbGF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tcmVsYXRpb24tdHlwZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlbGF0aW9uS2luZCA9PT0gcmVsS2luZC5DdXN0b21lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWxhdGlvbi1jdXN0b21lci1ncm91cHNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLlJlbGF0aW9uQ3VzdG9tZXJHcm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkgfHwgZm9yY2VSZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwiY3VzdG9tZXJHcm91cFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlQ3VzdG9tR3JvdXAoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvcmVsYXRpb24tY3VzdG9tZXItZ3JvdXBzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXJlbGF0aW9uLWdlbmVyYWxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnTmFtZXNdPVwicmVsYXRpb25HZW5lcmFsQ29uZmlnTmFtZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seSB8fCBmb3JjZVJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbKHJlbGF0aW9uKV09XCJyZWxhdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlbGF0aW9uVHlwZV09XCJyZWxhdGlvbi50eXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVsYXRpb25LaW5kXT1cInJlbGF0aW9uS2luZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGlucHV0Q2hhbmdlRm9yU3VnZ2VzdGlvbnMpPVwiaGFuZGxlSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXJlbGF0aW9uLWdlbmVyYWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXJlbGF0aW9uLWFkZHJlc3Nlc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5IHx8IGhlYWRlclJlYWRvbmx5IHx8IGZvcmNlUmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwiaGVhZGVyUmVhZG9ubHkgPyB0b29sdGlwTWVzc2FnZSA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsocmVsYXRpb24pXT1cInJlbGF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthZGRyZXNzZXNdPVwicmVsYXRpb24uYWN0aXZlQWRkcmVzc2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImFkZHJlc3NUeXBlLkRlbGl2ZXJ5QWRkcmVzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWROYXdOcl09XCJkZWxpdmVyeUFkZHJlc3NOYXdOclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0ZWROYXdOckNoYW5nZSk9XCJzZXRJbmRleERlbGl2ZXJ5QWRkcmVzcygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9jby1yZWxhdGlvbi1hZGRyZXNzZXM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLXJlbGF0aW9uLWNvbnRhY3QtZGV0YWlsc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ05hbWVzXT1cImNvbmZpZ05hbWVzPy5jb250YWN0RGV0YWlsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkgfHwgZm9yY2VSZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHJlbGF0aW9uKV09XCJyZWxhdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVsYXRpb25LaW5kXT1cInJlbGF0aW9uS2luZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0ludml0ZUZvckFjY291bnRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlucHV0Q2hhbmdlRm9yU3VnZ2VzdGlvbnMpPVwiaW5wdXRDaGFuZ2VGb3JTdWdnZXN0aW9ucy5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLXJlbGF0aW9uLWNvbnRhY3QtZGV0YWlscz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93SW52b2ljZUFkZHJlc3NcIiBjbGFzcz1cInRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1zZWN0aW9uXCIgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuUmVsYXRpb25BZGRyZXNzZXNIZWFkZXJcIiBzY3JlZW5Db25maWdOYXRpdmVFbGVtZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlbGF0aW9uS2luZCA9PT0gcmVsS2luZC5DdXN0b21lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXNlY3Rpb24tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJzAyJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLWRlc2NyaXB0aW9uXCIgW3RleHRDb250ZW50XT1cIidJTlZPSUNFX0FERFJFU1MnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtZGF0YS1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggW3JlYWRvbmx5XT1cInJlYWRvbmx5IHx8IGhlYWRlclJlYWRvbmx5IHx8IGZvcmNlUmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJpbnZvaWNlQWRkcmVzc1NhbWVBc0RlbGl2ZXJ5QWRkcmVzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInU0FNRV9BU19ERUxJVkVSWScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwXT1cImhlYWRlclJlYWRvbmx5ID8gdG9vbHRpcE1lc3NhZ2UgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGVja1NhbWVBZGRyZXNzKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy1kZWxpdmVyeS1pbnZvaWNlLWFkZHJlc3NcIiAqbmdJZj1cIiFpbnZvaWNlQWRkcmVzc1NhbWVBc0RlbGl2ZXJ5QWRkcmVzc1wiIEBzaG93SGlkZUludm9pY2VBZGRyZXNzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tYWRkcmVzc2VzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5IHx8IGhlYWRlclJlYWRvbmx5IHx8IGZvcmNlUmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwXT1cImhlYWRlclJlYWRvbmx5ID8gdG9vbHRpcE1lc3NhZ2UgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhyZWxhdGlvbildPVwicmVsYXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthZGRyZXNzZXNdPVwicmVsYXRpb24uYWN0aXZlQWRkcmVzc2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJhZGRyZXNzVHlwZS5CaWxsaW5nQWRkcmVzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkTmF3TnJdPVwiaW52b2ljZUFkZHJlc3NOYXdOclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkTmF3TnJDaGFuZ2UpPVwic2V0SW5kZXhJbnZvaWNlQWRkcmVzcygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvY28tcmVsYXRpb24tYWRkcmVzc2VzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yZWxhdGlvbi1jb250ZW50XCIgKm5nSWY9XCJzaG93UHJpdmFjeVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXNlY3Rpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXNlY3Rpb24tbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1BSSVZBQ1lfUFJFRkVSRU5DRVMnIHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tcHJlZmVyZW5jZXMgW3JlYWRvbmx5XT1cInJlYWRvbmx5IHx8IGZvcmNlUmVhZG9ubHlcIiBbcmVsYXRpb25dPVwicmVsYXRpb25cIj48L2NvLXJlbGF0aW9uLXByZWZlcmVuY2VzPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2NvLWZvcm0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gICAgYW5pbWF0aW9uczogW1xyXG4gICAgICAgIHRyaWdnZXIoXCJzaG93SGlkZUludm9pY2VBZGRyZXNzXCIsIFtcclxuICAgICAgICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHtoZWlnaHQ6IDAsIG9wYWNpdHk6IDB9KSksXHJcbiAgICAgICAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7aGVpZ2h0OiBcIipcIiwgb3BhY2l0eTogMX0pKSxcclxuICAgICAgICAgICAgdHJhbnNpdGlvbihcInZvaWQgPT4gKlwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFwiKiA9PiB2b2lkXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLW91dFwiKSlcclxuICAgICAgICBdKVxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICBGb3JtTWFzdGVyU2VydmljZSxcclxuICAgICAgUmVsYXRpb25TdWdnZXN0aW9uc1NlcnZpY2VcclxuICAgIF0sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkhlYWRlclBvcHVwUmVsYXRpb25Db21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkhlYWRlclBvcHVwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgYWRkcmVzc1R5cGU6IHR5cGVvZiBBZGRyZXNzVHlwZSA9IEFkZHJlc3NUeXBlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY29uZmlnTmFtZXM6IFJlbGF0aW9uR2VuZXJhbENmZ05hbWVzO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZm9yY2VSZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2hvd1ByaXZhY3k6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2hvd0ludm9pY2VBZGRyZXNzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBpbnB1dENoYW5nZUZvclN1Z2dlc3Rpb25zOiBFdmVudEVtaXR0ZXI8UmVsYXRpb25TdWdnZXN0aW9uc1JlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWxhdGlvblN1Z2dlc3Rpb25zUmVxdWVzdD4oKTtcclxuXHJcbiAgICBAVmlld0NoaWxkKCduYXZpZ2F0aW9uSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgICBwdWJsaWMgbmF2aWdhdGlvbkl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ21haW5JdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICAgIHB1YmxpYyBtYWluSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgncHJlZmVyZW5jZUl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gICAgcHVibGljIHByZWZlcmVuY2VJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXRyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1yZWxhdGlvbicpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkZWxpdmVyeUFkZHJlc3NOYXdOcjogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBpbnZvaWNlQWRkcmVzc05hd05yOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGludm9pY2VBZGRyZXNzU2FtZUFzRGVsaXZlcnlBZGRyZXNzOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIHB1YmxpYyBjYXRlZ29yaWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgcHVibGljIGN1c3RvbWVyR3JvdXA6IHN0cmluZztcclxuXHJcbiAgICBwdWJsaWMgY29udGFjdERldGFpbHNDb25maWdOYW1lczogUmVsYXRpb25Db250YWN0RGV0YWlsc0NmZ05hbWVzID0ge1xyXG4gICAgICAgIHJlbGF0aW9uUGhvbmU6IHRoaXMuY2ZnTmFtZXMuUmVsYXRpb25QaG9uZSxcclxuICAgICAgICByZWxhdGlvbkVtYWlsQWRkcmVzczogdGhpcy5jZmdOYW1lcy5SZWxhdGlvbkVtYWlsQWRkcmVzcyxcclxuICAgICAgICByZWxhdGlvbkludml0ZVRvQWNjb3VudDogdGhpcy5jZmdOYW1lcy5SZWxhdGlvbkludml0ZVRvQWNjb3VudFxyXG4gICAgfVxyXG4gICAgcHVibGljIHJlbGF0aW9uR2VuZXJhbENvbmZpZ05hbWVzOiBSZWxhdGlvbkdlbmVyYWxDZmdOYW1lcyA9IHtcclxuICAgICAgICByZWxhdGlvbkNvbXBhbnk6IHRoaXMuY2ZnTmFtZXMuUmVsYXRpb25Db21wYW55LFxyXG4gICAgICAgIHJlbGF0aW9uRmlyc3ROYW1lOiB0aGlzLmNmZ05hbWVzLlJlbGF0aW9uRmlyc3ROYW1lLFxyXG4gICAgICAgIHJlbGF0aW9uUHJlZml4OiB0aGlzLmNmZ05hbWVzLlJlbGF0aW9uUHJlZml4LFxyXG4gICAgICAgIHJlbGF0aW9uTGFzdE5hbWU6IHRoaXMuY2ZnTmFtZXMuUmVsYXRpb25MYXN0TmFtZSxcclxuICAgICAgICByZWxhdGlvbkdlbmRlcjogdGhpcy5jZmdOYW1lcy5SZWxhdGlvbkdlbmRlcixcclxuICAgICAgICBjb250YWN0RGV0YWlsczogdGhpcy5jb250YWN0RGV0YWlsc0NvbmZpZ05hbWVzXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfcmVxdWVzdEZvclN1Z2dlc3Rpb25zOiBSZWxhdGlvblN1Z2dlc3Rpb25zUmVxdWVzdCA9IHt9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgcHVibGljIHRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICAgIHByb3RlY3RlZCBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICAgIHByb3RlY3RlZCBpbWFnZVNlcnZpY2U6IFRyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlLFxyXG4gICAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICBwcm90ZWN0ZWQgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgICAgcHJvdGVjdGVkIGZvcm1NYXN0ZXJTZXJ2aWNlOiBGb3JtTWFzdGVyU2VydmljZSxcclxuICAgICAgcHJvdGVjdGVkIHJlbGF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25SZWxhdGlvblNlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgX3N1Z2dlc3Rpb25zU2VydmljZTogUmVsYXRpb25TdWdnZXN0aW9uc1NlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKFxyXG4gICAgICAgICAgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsIHNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgICBkaWN0aW9uYXJ5U2VydmljZSwgaW1hZ2VTZXJ2aWNlLCBjaGFuZ2VEZXRlY3RvciwgZGlhbG9nU2VydmljZSwgZm9ybU1hc3RlclNlcnZpY2UsIHJlbGF0aW9uU2VydmljZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLl9zdWdnZXN0aW9uc1NlcnZpY2UuaW5pdCh0aGlzLnJlbGF0aW9uLnJlbGF0aW9uVHlwZSk7XHJcbiAgICAgICAgdGhpcy5zdWJzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMuc2NyZWVuQ29uZmlnU2VydmljZS5jb25maWdTZXQuc3Vic2NyaWJlKChjb25maWdPYmplY3RzOiBzdHJpbmdbXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGNvbmZpZ09iamVjdHMgJiYgY29uZmlnT2JqZWN0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXRlZ29yaWVzLmxlbmd0aCA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2NyZWVuQ29uZmlnU2VydmljZS5nZXRPYmplY3RDb25maWd1cmF0aW9uRm9yKHRoaXMuY2ZnTmFtZXMuUmVsYXRpb25DbGllbnREYXRhSGVhZGVyKS5pbW1lZGlhdGVseVZpc2libGUoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNhdGVnb3JpZXMucHVzaCh0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnQ0xJRU5UX0RBVEEnKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnNjcmVlbkNvbmZpZ1NlcnZpY2UuZ2V0T2JqZWN0Q29uZmlndXJhdGlvbkZvcih0aGlzLmNmZ05hbWVzLlJlbGF0aW9uUHJlZmVyZW5jZXNIZWFkZXIpLmltbWVkaWF0ZWx5VmlzaWJsZSgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2F0ZWdvcmllcy5wdXNoKHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdQUklWQUNZX1BSRUZFUkVOQ0VTJykpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIHRoaXMuX3N1Z2dlc3Rpb25zU2VydmljZS5zdWdnZXN0ZWRSZWxhdGlvbkNsaWNrLnN1YnNjcmliZSgocmVsYXRpb246IFJlbGF0aW9uTGlzdE9iamVjdCkgPT4gdGhpcy5vblJlbGF0aW9uU3VnZ2VzdGlvbkNsaWNrKHJlbGF0aW9uKSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICBpZiAodGhpcy5jYXRlZ29yaWVzWzBdID09PSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnUFJJVkFDWV9QUkVGRVJFTkNFUycpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlTmF2aWdhdGlvbkNsaWNrKCdQUklWQUNZX1BSRUZFUkVOQ0VTJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdWJtaXQoKTogYm9vbGVhbiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZvcm1NYXN0ZXJTZXJ2aWNlLnN1Ym1pdFNsYXZlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBvblJlbGF0aW9uU3VnZ2VzdGlvbkNsaWNrKHJlbGF0aW9uU3VnZ2VzdGVkOiBSZWxhdGlvbkxpc3RPYmplY3QpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBpZiAocmVsYXRpb25TdWdnZXN0ZWQpIHtcclxuICAgICAgICAgICAgY29uc3QgbG9ja1Jlc3VsdDogVmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IHRoaXMucmVsYXRpb25TZXJ2aWNlLmxvY2tSZWxhdGlvbihyZWxhdGlvblN1Z2dlc3RlZC5yZWxhdGlvblR5cGUsIHBhcnNlSW50KHJlbGF0aW9uU3VnZ2VzdGVkLnJlbGF0aW9uTnIsIDApKTtcclxuICAgICAgICAgICAgaWYgKCFsb2NrUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5zaG93RXJyb3IoJ1JFTEFUSU9OX0FMUkVBRFlfTE9DS0VEJywgdHJ1ZSwgbG9ja1Jlc3VsdC5tZXNzYWdlc1swXS5tZXNzYWdlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3N1Z2dlc3Rpb25zU2VydmljZS5oaWRlU2lkZWJhcigpO1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc3VnZ2VzdGVkUmVsYXRpb246IFJlbGF0aW9uQW55VHlwZSA9IGF3YWl0IHRoaXMucmVsYXRpb25TZXJ2aWNlLmdldFJlbGF0aW9uKHJlbGF0aW9uU3VnZ2VzdGVkLnJlbGF0aW9uVHlwZSwgcGFyc2VJbnQocmVsYXRpb25TdWdnZXN0ZWQucmVsYXRpb25OcikpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHN1Z2dlc3RlZFJlbGF0aW9uICYmIHN1Z2dlc3RlZFJlbGF0aW9uLmFkZHJlc3NlcyAmJiBzdWdnZXN0ZWRSZWxhdGlvbi5hZGRyZXNzZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHN1Z2dlc3RlZFJlbGF0aW9uLmFkZHJlc3Nlcy5zb3J0KChhLCBiKSA9PiBhLnNlcXVlbmNlIDwgYi5zZXF1ZW5jZSA/IC0xIDogMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbGF0aW9uID0gc3VnZ2VzdGVkUmVsYXRpb247XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2UucmVsYXRpb24gPSB0aGlzLnJlbGF0aW9uO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZWxhdGlvbkNoYW5nZS5uZXh0KHRoaXMucmVsYXRpb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyByZWxhdGlvblNldCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBpZiAodGhpcy5yZWxhdGlvbktpbmQgPT09IFJlbGF0aW9uS2luZC5DdXN0b21lcikge1xyXG4gICAgICAgICAgICB0aGlzLmN1c3RvbWVyR3JvdXAgPSAodGhpcy5yZWxhdGlvbiBhcyBDdXN0b21lckZ1bGxPYmplY3QpLmN1c3RvbWVyR3JvdXA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGF3YWl0IHRoaXMuX2xvY2tSZWxhdGlvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBzZXRJbmRleERlbGl2ZXJ5QWRkcmVzcyhuYXdOcjogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgY29uc3QgYWRkcmVzczogQWRkcmVzcyA9IHRoaXMucmVsYXRpb24uYWRkcmVzc2VzLmZpbmQoYSA9PiBhLm5hd05yID09PSBuYXdOcik7XHJcbiAgICAgICAgaWYgKGFkZHJlc3MpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRGb3JtRGlydHkoKTtcclxuICAgICAgICAgICAgdGhpcy5kZWxpdmVyeUFkZHJlc3NOYXdOciA9IG5hd05yO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS51cGRhdGVIZWFkZXJEZWxpdmVyeUFkZHJlc3ModGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCwgbmF3TnIsIGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIHNldEluZGV4SW52b2ljZUFkZHJlc3MobmF3TnI6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGNvbnN0IGFkZHJlc3M6IEFkZHJlc3MgPSB0aGlzLnJlbGF0aW9uLmFkZHJlc3Nlcy5maW5kKGEgPT4gYS5uYXdOciA9PT0gbmF3TnIpO1xyXG4gICAgICAgIGlmIChhZGRyZXNzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0Rm9ybURpcnR5KCk7XHJcbiAgICAgICAgICAgIHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOciA9IG5hd05yO1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS51cGRhdGVIZWFkZXJJbnZvaWNlQWRkcmVzcyh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkLCBuYXdOciwgZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2hlY2tTYW1lQWRkcmVzcyhjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGNoZWNrZWQpIHtcclxuICAgICAgICAgICAgLy8gdGhpcy5lZGl0QWRkcmVzc1R5cGUgPSBBZGRyZXNzVHlwZS5EZWxpdmVyeUFkZHJlc3M7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuc2VsZWN0QWRkcmVzcyh0aGlzLmRlbGl2ZXJ5QWRkcmVzcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVJbnB1dENoYW5nZShyZXF1ZXN0OiBSZWxhdGlvblN1Z2dlc3Rpb25zUmVxdWVzdCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JlcXVlc3RGb3JTdWdnZXN0aW9ucyA9IE9iamVjdC5hc3NpZ24odGhpcy5fcmVxdWVzdEZvclN1Z2dlc3Rpb25zLCByZXF1ZXN0KTtcclxuICAgICAgICB0aGlzLl9zdWdnZXN0aW9uc1NlcnZpY2UucmVxdWVzdEZvclN1Z2dlc3Rpb25zID0gdGhpcy5fcmVxdWVzdEZvclN1Z2dlc3Rpb25zO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVOYXZpZ2F0aW9uQ2xpY2sobmF2OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgaWYgKG5hdiA9PT0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ0NMSUVOVF9EQVRBJykpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLm1haW5JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5wcmVmZXJlbmNlSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUNoYW5nZUN1c3RvbUdyb3VwKGdyb3VwOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmN1c3RvbWVyR3JvdXAgPSBncm91cDtcclxuICAgICAgICBpZiAodGhpcy5yZWxhdGlvbktpbmQgPT09IFJlbGF0aW9uS2luZC5DdXN0b21lcikge1xyXG4gICAgICAgICAgICAodGhpcy5yZWxhdGlvbiBhcyBDdXN0b21lckZ1bGxPYmplY3QpLmN1c3RvbWVyR3JvdXAgPSB0aGlzLmN1c3RvbWVyR3JvdXA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCB0cmFuc2FjdGlvblNldCgpIHtcclxuICAgICAgICBzdXBlci50cmFuc2FjdGlvblNldCgpO1xyXG4gICAgICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uSW5mbykge1xyXG4gICAgICAgICAgICB0aGlzLmRlbGl2ZXJ5QWRkcmVzc05hd05yID0gdGhpcy50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25BZGRyZXNzO1xyXG4gICAgICAgICAgICB0aGlzLmludm9pY2VBZGRyZXNzTmF3TnIgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5pbnZvaWNlQWRkcmVzcztcclxuICAgICAgICAgICAgdGhpcy5pbnZvaWNlQWRkcmVzc1NhbWVBc0RlbGl2ZXJ5QWRkcmVzcyA9IHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnIgPT09IHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2V0Rmlyc3RBZGRyZXNzKGFkZHJlc3M6IEFkZHJlc3MpOiB2b2lkIHtcclxuICAgICAgICBhZGRyZXNzLnNlcXVlbmNlID0gMDtcclxuICAgICAgICBjb25zdCBhZGRyZXNzZXM6IEFkZHJlc3NbXSA9IHRoaXMucmVsYXRpb24uYWRkcmVzc2VzXHJcbiAgICAgICAgICAgIC5maWx0ZXIoYSA9PiBhLm5hd05yICE9PSBhZGRyZXNzLm5hd05yKVxyXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYS5zZXF1ZW5jZSA8IGIuc2VxdWVuY2UgPyAtMSA6IDEpO1xyXG4gICAgICAgIGxldCBzb3J0ZWRBZGRyZXNzZXM6IEFkZHJlc3NbXSA9IFthZGRyZXNzXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFkZHJlc3Nlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBhZGRyZXNzOiBBZGRyZXNzID0gYWRkcmVzc2VzW2ldO1xyXG4gICAgICAgICAgICBhZGRyZXNzLnNlcXVlbmNlID0gaSArIDE7XHJcbiAgICAgICAgICAgIHNvcnRlZEFkZHJlc3Nlcy5wdXNoKGFkZHJlc3MpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnJlbGF0aW9uLmFkZHJlc3Nlcy5mb3JFYWNoKHJhID0+IHJhLnNlcXVlbmNlID0gc29ydGVkQWRkcmVzc2VzLmZpbmQoc2EgPT4gc2EubmF3TnIgPT09IHJhLm5hd05yKS5zZXF1ZW5jZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyBfbG9ja1JlbGF0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGNvbnN0IGxvY2tSZXN1bHQ6IFZhbGlkYXRpb25SZXN1bHQgPSBhd2FpdCB0aGlzLnJlbGF0aW9uU2VydmljZS5sb2NrUmVsYXRpb24odGhpcy5yZWxhdGlvbi5yZWxhdGlvblR5cGUsIHBhcnNlSW50KHRoaXMucmVsYXRpb24ucmVsYXRpb25OdW1iZXIsIDApKTtcclxuICAgICAgICBpZiAoIWxvY2tSZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd0luZm9ybWF0aW9uKGxvY2tSZXN1bHQubWVzc2FnZXNbMF0ubWVzc2FnZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLnJlYWRvbmx5ID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -52,6 +52,7 @@ import { TransactionHeaderPopupServiceFieldsComponent } from "./transaction-head
52
52
  import { DialogCatalogModule } from "../../dialog/catalog/dialog-catalog/dialog-catalog.module";
53
53
  import { ServiceWizardQaModule } from "../../service-wizard-qa/service-wizard-qa.module";
54
54
  import { DialogHeaderSearchModule } from "../../dialog/dialog-header-search/dialog-header-search.module";
55
+ import { DialogTransactionSearchModule } from "../../dialog/transaction-search/dialog-transaction-search.module";
55
56
  export class TransactionHeaderPopupModule {
56
57
  }
57
58
  TransactionHeaderPopupModule.decorators = [
@@ -110,7 +111,8 @@ TransactionHeaderPopupModule.decorators = [
110
111
  DialogCatalogModule,
111
112
  InputSearchModule,
112
113
  ServiceWizardQaModule,
113
- DialogHeaderSearchModule
114
+ DialogHeaderSearchModule,
115
+ DialogTransactionSearchModule
114
116
  ],
115
117
  declarations: [
116
118
  TransactionHeaderPopupComponent,
@@ -132,4 +134,4 @@ TransactionHeaderPopupModule.decorators = [
132
134
  ]
133
135
  },] }
134
136
  ];
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLWhlYWRlci90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAvdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRixPQUFPLEVBQ0gsWUFBWSxFQUNaLGNBQWMsRUFDZCxVQUFVLEVBQ1YsVUFBVSxFQUNWLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUMzRCxlQUFlLEVBQ2YseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN6QixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsdUNBQXVDLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RyxPQUFPLEVBQ0wsaUNBQWlDLEVBQ2xDLE1BQU0sNkZBQTZGLENBQUM7QUFDckcsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDckYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQzlGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQzFHLE9BQU8sRUFBQyxvQ0FBb0MsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hHLE9BQU8sRUFBQyx1Q0FBdUMsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxzQ0FBc0MsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3BHLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBQy9HLE9BQU8sRUFDTCxrQ0FBa0MsRUFDbkMsTUFBTSx3RUFBd0UsQ0FBQztBQUNoRixPQUFPLEVBQ0wsNkNBQTZDLEVBQzlDLE1BQU0sbUZBQW1GLENBQUM7QUFDM0YsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFDdEgsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDbkgsT0FBTyxFQUNMLHVDQUF1QyxFQUN4QyxNQUFNLDZFQUE2RSxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBQ3RILE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLHFFQUFxRSxDQUFDO0FBQ3JILE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFDTCxzQ0FBc0MsRUFDdkMsTUFBTSxnSEFBZ0gsQ0FBQztBQUN4SCxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUNqSCxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUNySCxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3pDLE1BQU0sOEVBQThFLENBQUM7QUFDdEYsT0FBTyxFQUNMLDJDQUEyQyxFQUM1QyxNQUFNLDRIQUE0SCxDQUFDO0FBQ3BJLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBQ3ZILE9BQU8sRUFDTCxtQ0FBbUMsRUFDcEMsTUFBTSx5RUFBeUUsQ0FBQztBQUNqRixPQUFPLEVBQ0wsNENBQTRDLEVBQzdDLE1BQU0sbUZBQW1GLENBQUM7QUFDM0YsT0FBTyxFQUNMLG1EQUFtRCxFQUNwRCxNQUFNLDRJQUE0SSxDQUFDO0FBQ3BKLE9BQU8sRUFDTCx3Q0FBd0MsRUFDekMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0RixPQUFPLEVBQ0wsb0NBQW9DLEVBQ3JDLE1BQU0sMEVBQTBFLENBQUM7QUFDbEYsT0FBTyxFQUNMLG9DQUFvQyxFQUNyQyxNQUFNLDRHQUE0RyxDQUFDO0FBQ3BILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQ0wsbUNBQW1DLEVBQ3BDLE1BQU0seUVBQXlFLENBQUM7QUFDakYsT0FBTyxFQUNMLHFDQUFxQyxFQUN0QyxNQUFNLDRFQUE0RSxDQUFDO0FBQ3BGLE9BQU8sRUFDTCxvQ0FBb0MsRUFDckMsTUFBTSwwRUFBMEUsQ0FBQztBQUNsRixPQUFPLEVBQ0wsb0NBQW9DLEVBQ3JDLE1BQU0sMEVBQTBFLENBQUM7QUFDbEYsT0FBTyxFQUNMLGtDQUFrQyxFQUNuQyxNQUFNLHdFQUF3RSxDQUFDO0FBQ2hGLE9BQU8sRUFDTCxzQ0FBc0MsRUFDdkMsTUFBTSxnSEFBZ0gsQ0FBQztBQUN4SCxPQUFPLEVBQ0wsNkNBQTZDLEVBQzlDLE1BQU0sb0ZBQW9GLENBQUM7QUFDNUYsT0FBTyxFQUNMLHFDQUFxQyxFQUN0QyxNQUFNLDRFQUE0RSxDQUFDO0FBQ3BGLE9BQU8sRUFDTCxrQ0FBa0MsRUFDbkMsTUFBTSx3RUFBd0UsQ0FBQztBQUNoRixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSx5RUFBeUUsQ0FBQztBQUNySCxPQUFPLEVBQUMsNENBQTRDLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUNqSCxPQUFPLEVBQUMsNENBQTRDLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUNqSCxPQUFPLEVBQUMsNENBQTRDLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUNqSCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUM5RixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUN2RixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQStFdkcsTUFBTSxPQUFPLDRCQUE0Qjs7O1lBN0V4QyxRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osY0FBYztvQkFDZCxVQUFVO29CQUNWLGlDQUFpQztvQkFDakMsVUFBVTtvQkFDVixrQkFBa0I7b0JBQ2xCLFVBQVU7b0JBQ1YscUJBQXFCO29CQUNyQix1QkFBdUI7b0JBQ3ZCLG1CQUFtQjtvQkFDbkIseUJBQXlCO29CQUN6Qiw2QkFBNkI7b0JBQzdCLGtDQUFrQztvQkFDbEMsNkNBQTZDO29CQUM3QyxnQ0FBZ0M7b0JBQ2hDLCtCQUErQjtvQkFDL0IsdUNBQXVDO29CQUN2QyxnQ0FBZ0M7b0JBQ2hDLGdDQUFnQztvQkFDaEMsb0JBQW9CO29CQUNwQixzQ0FBc0M7b0JBQ3RDLDhCQUE4QjtvQkFDOUIsZ0NBQWdDO29CQUNoQyx3Q0FBd0M7b0JBQ3hDLDJDQUEyQztvQkFDM0MsWUFBWTtvQkFDWixpQ0FBaUM7b0JBQ2pDLG1DQUFtQztvQkFDbkMsNENBQTRDO29CQUM1QyxtREFBbUQ7b0JBQ25ELHdDQUF3QztvQkFDeEMsb0NBQW9DO29CQUNwQyxvQ0FBb0M7b0JBQ3BDLFVBQVU7b0JBQ1Ysc0JBQXNCO29CQUN0QixZQUFZO29CQUNaLG1DQUFtQztvQkFDbkMscUNBQXFDO29CQUNyQyxlQUFlO29CQUNmLG9DQUFvQztvQkFDcEMsb0NBQW9DO29CQUNwQyxrQ0FBa0M7b0JBQ2xDLHNDQUFzQztvQkFDdEMseUJBQXlCO29CQUN6Qiw2Q0FBNkM7b0JBQzdDLHFDQUFxQztvQkFDckMsZ0NBQWdDO29CQUNoQyxrQ0FBa0M7b0JBQ2xDLDRCQUE0QjtvQkFDNUIsbUJBQW1CO29CQUNuQixtQkFBbUI7b0JBQ25CLGlCQUFpQjtvQkFDakIscUJBQXFCO29CQUNyQix3QkFBd0I7aUJBQzNCO2dCQUNILFlBQVksRUFBRTtvQkFDWiwrQkFBK0I7b0JBQy9CLHVDQUF1QztvQkFDdkMsb0NBQW9DO29CQUNwQyx1Q0FBdUM7b0JBQ3ZDLHNDQUFzQztvQkFDdEMsNEJBQTRCO29CQUM1Qiw0Q0FBNEM7b0JBQzVDLDRDQUE0QztvQkFDNUMsNENBQTRDO2lCQUU3QztnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsK0JBQStCO29CQUMvQix1Q0FBdUM7b0JBQ3ZDLDRDQUE0QztvQkFDNUMsNENBQTRDO29CQUM1Qyw0Q0FBNEM7aUJBQzdDO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJQb3B1cENvbXBvbmVudH0gZnJvbSAnLi90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIEJ1dHRvbk1vZHVsZSxcclxuICAgIENvRGlhbG9nTW9kdWxlLFxyXG4gICAgRm9ybU1vZHVsZSxcclxuICAgIEljb25Nb2R1bGUsXHJcbiAgICBJbnB1dENoZWNrYm94TW9kdWxlLCBJbnB1dFNlYXJjaE1vZHVsZSwgSW5wdXRUZXh0YXJlYU1vZHVsZSxcclxuICAgIElucHV0VGV4dE1vZHVsZSxcclxuICAgIFNjcmVlbkNvbmZpZ3VyYXRpb25Nb2R1bGUsXHJcbiAgICBUb29sdGlwRGlyZWN0aXZlTW9kdWxlXHJcbn0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSAnLi4vLi4vLi4vcGlwZS9waXBlLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJQb3B1cFJlbGF0aW9uQ29tcG9uZW50fSBmcm9tICcuL3RyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1yZWxhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uRmlsdGVyQ2F0ZWdvcmllc01vZHVsZVxyXG59IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1maWx0ZXItY2F0ZWdvcmllcy90cmFuc2FjdGlvbi1maWx0ZXItY2F0ZWdvcmllcy5tb2R1bGUnO1xyXG5pbXBvcnQge1JlbGF0aW9uVHlwZU1vZHVsZX0gZnJvbSAnLi4vLi4vcmVsYXRpb24vcmVsYXRpb24tdHlwZS9yZWxhdGlvbi10eXBlLm1vZHVsZSc7XHJcbmltcG9ydCB7Q29yZU1vZHVsZX0gZnJvbSAnLi4vLi4vY29yZS9jb3JlLm1vZHVsZSc7XHJcbmltcG9ydCB7UmVsYXRpb25HZW5lcmFsTW9kdWxlfSBmcm9tICcuLi8uLi9yZWxhdGlvbi9yZWxhdGlvbi1nZW5lcmFsL3JlbGF0aW9uLWdlbmVyYWwubW9kdWxlJztcclxuaW1wb3J0IHtSZWxhdGlvbkFkZHJlc3Nlc01vZHVsZX0gZnJvbSAnLi4vLi4vcmVsYXRpb24vcmVsYXRpb24tYWRkcmVzc2VzL3JlbGF0aW9uLWFkZHJlc3Nlcy5tb2R1bGUnO1xyXG5pbXBvcnQge1JlbGF0aW9uUHJlZmVyZW5jZXNNb2R1bGV9IGZyb20gJy4uLy4uL3JlbGF0aW9uL3JlbGF0aW9uLXByZWZlcmVuY2VzL3JlbGF0aW9uLXByZWZlcmVuY2VzLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJQb3B1cE9yZGVyQ29tcG9uZW50fSBmcm9tICcuL3RyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1vcmRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyUG9wdXBEZWxpdmVyeUNvbXBvbmVudH0gZnJvbSAnLi90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtZGVsaXZlcnkuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclBvcHVwUGF5bWVudENvbXBvbmVudH0gZnJvbSAnLi90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtcGF5bWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Nhc2hPbkRlbGl2ZXJ5TW9kYWxDb21wb25lbnR9IGZyb20gJy4vY2FzaC1vbi1kZWxpdmVyeS1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyQnJhbmNoTW9kdWxlfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1icmFuY2gubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkhlYWRlclNhbGVzUGVyc29uTW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItc2FsZXMtcGVyc29uLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25IZWFkZXJBZG1pbmlzdHJhdGl2ZVJlbGF0aW9uTW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItYWRtaW5pc3RyYXRpdmUtcmVsYXRpb24ubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclByaWNlS2luZE1vZHVsZX0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItcHJpY2Uta2luZC5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyQ3VycmVuY3lNb2R1bGV9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLWN1cnJlbmN5Lm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25IZWFkZXJQYXltZW50Q29uZGl0aW9uTW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItcGF5bWVudC1jb25kaXRpb24ubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlckhvbGRDb2Rlc01vZHVsZX0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItaG9sZC1jb2Rlcy5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyTWFya2V0aW5nTW9kdWxlfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1tYXJrZXRpbmcubW9kdWxlJztcclxuaW1wb3J0IHtEZXBvc2l0UGF5bWVudE1vZHVsZX0gZnJvbSAnLi4vLi4vZGVwb3NpdC1wYXltZW50L2RlcG9zaXQtcGF5bWVudC5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uSGVhZGVyRGVsaXZlcnlPcHRpb25zTW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItZGVsaXZlcnktb3B0aW9ucy90cmFuc2FjdGlvbi1oZWFkZXItZGVsaXZlcnktb3B0aW9ucy5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyUmVtYXJrc01vZHVsZX0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItcmVtYXJrcy5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyUmVmZXJlbmNlTW9kdWxlfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1yZWZlcmVuY2UubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkhlYWRlclJlbGF0aW9uUmVmZXJlbmNlTW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItcmVsYXRpb24tcmVmZXJlbmNlLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25IZWFkZXJEZWxpdmVyeU1ldGhvZEJ1dHRvbk1vZHVsZVxyXG59IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLWRlbGl2ZXJ5LW1ldGhvZC1idXR0b24vdHJhbnNhY3Rpb24taGVhZGVyLWRlbGl2ZXJ5LW1ldGhvZC1idXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlckRlZmluaXRpdmVNb2R1bGV9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLWRlZmluaXRpdmUubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkhlYWRlckRlbGl2ZXJ5RGF0ZU1vZHVsZVxyXG59IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLWRlbGl2ZXJ5LWRhdGUubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkhlYWRlclByZWZlcnJlZERlbGl2ZXJ5RGF0ZU1vZHVsZVxyXG59IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLXByZWZlcnJlZC1kZWxpdmVyeS1kYXRlLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25IZWFkZXJEZWxpdmVyeWRhdGVEZWZpbml0aXZlQnV0dG9uTW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItZGVsaXZlcnlkYXRlLWRlZmluaXRpdmUtYnV0dG9uL3RyYW5zYWN0aW9uLWhlYWRlci1kZWxpdmVyeWRhdGUtZGVmaW5pdGl2ZS1idXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkhlYWRlckRlcG9zaXRQZXJjZW50YWdlTW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItZGVwb3NpdC1wZXJjZW50YWdlLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25IZWFkZXJEZXBvc2l0QW1vdW50TW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItZGVwb3NpdC1hbW91bnQubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkhlYWRlclBheW1lbnRCdXR0b25Nb2R1bGVcclxufSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1wYXltZW50LWJ1dHRvbi90cmFuc2FjdGlvbi1oZWFkZXItcGF5bWVudC1idXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHtMb2FkZXJNb2R1bGV9IGZyb20gJy4uLy4uL2xvYWRlci9sb2FkZXIubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkhlYWRlckRpdmlkZUV2ZW5seU1vZHVsZVxyXG59IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLWRpdmlkZS1ldmVubHkubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkhlYWRlckFtb3VudFRvU2V0dGxlTW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItYW1vdW50LXRvLXNldHRsZS5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uSGVhZGVyU2NvcmluZ0NoYW5jZU1vZHVsZVxyXG59IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLXNjb3JpbmctY2hhbmNlLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25IZWFkZXJSZXRhaWxTdGFkaXVtTW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItcmV0YWlsLXN0YWRpdW0ubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkhlYWRlclNjb3JpbmdEYXRlTW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItc2NvcmluZy1kYXRlLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25IZWFkZXJQYXJ0aWFsRGVsaXZlcnlNb2R1bGVcclxufSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1wYXJ0aWFsLWRlbGl2ZXJ5L3RyYW5zYWN0aW9uLWhlYWRlci1wYXJ0aWFsLWRlbGl2ZXJ5Lm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25IZWFkZXJBdXRvUmVjYWxjdWxhdGVEZXBvc2l0TW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItYXV0by1yZWNhbGN1bGF0ZS1kZXBvc2l0Lm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25IZWFkZXJVc2VEZXBvc2l0UnVsZU1vZHVsZVxyXG59IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLXVzZS1kZXBvc2l0LXJ1bGUubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkhlYWRlclByb2plY3RDb2RlTW9kdWxlXHJcbn0gZnJvbSBcIi4uLy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLXByb2plY3QtY29kZS5tb2R1bGVcIjtcclxuaW1wb3J0IHtSZWxhdGlvbkNvbnRhY3REZXRhaWxzTW9kdWxlfSBmcm9tIFwiLi4vLi4vcmVsYXRpb24vcmVsYXRpb24tY29udGFjdC1kZXRhaWxzL3JlbGF0aW9uLWNvbnRhY3QtZGV0YWlscy5tb2R1bGVcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclBvcHVwQ3JlYXRlU2VydmljZUNvbXBvbmVudH0gZnJvbSBcIi4vdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLWNyZWF0ZS1zZXJ2aWNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyUG9wdXBTZXJ2aWNlV2l6YXJkQ29tcG9uZW50fSBmcm9tIFwiLi90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtc2VydmljZS13aXphcmQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJQb3B1cFNlcnZpY2VGaWVsZHNDb21wb25lbnR9IGZyb20gXCIuL3RyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1zZXJ2aWNlLWZpZWxkcy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtEaWFsb2dDYXRhbG9nTW9kdWxlfSBmcm9tIFwiLi4vLi4vZGlhbG9nL2NhdGFsb2cvZGlhbG9nLWNhdGFsb2cvZGlhbG9nLWNhdGFsb2cubW9kdWxlXCI7XHJcbmltcG9ydCB7U2VydmljZVdpemFyZFFhTW9kdWxlfSBmcm9tIFwiLi4vLi4vc2VydmljZS13aXphcmQtcWEvc2VydmljZS13aXphcmQtcWEubW9kdWxlXCI7XHJcbmltcG9ydCB7RGlhbG9nSGVhZGVyU2VhcmNoTW9kdWxlfSBmcm9tIFwiLi4vLi4vZGlhbG9nL2RpYWxvZy1oZWFkZXItc2VhcmNoL2RpYWxvZy1oZWFkZXItc2VhcmNoLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICAgICAgUGlwZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkZpbHRlckNhdGVnb3JpZXNNb2R1bGUsXHJcbiAgICAgICAgRm9ybU1vZHVsZSxcclxuICAgICAgICBSZWxhdGlvblR5cGVNb2R1bGUsXHJcbiAgICAgICAgQ29yZU1vZHVsZSxcclxuICAgICAgICBSZWxhdGlvbkdlbmVyYWxNb2R1bGUsXHJcbiAgICAgICAgUmVsYXRpb25BZGRyZXNzZXNNb2R1bGUsXHJcbiAgICAgICAgSW5wdXRDaGVja2JveE1vZHVsZSxcclxuICAgICAgICBSZWxhdGlvblByZWZlcmVuY2VzTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyQnJhbmNoTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyU2FsZXNQZXJzb25Nb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJBZG1pbmlzdHJhdGl2ZVJlbGF0aW9uTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyUHJpY2VLaW5kTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyQ3VycmVuY3lNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJQYXltZW50Q29uZGl0aW9uTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVySG9sZENvZGVzTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyTWFya2V0aW5nTW9kdWxlLFxyXG4gICAgICAgIERlcG9zaXRQYXltZW50TW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyRGVsaXZlcnlPcHRpb25zTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyUmVtYXJrc01vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclJlZmVyZW5jZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclJlbGF0aW9uUmVmZXJlbmNlTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyRGVsaXZlcnlNZXRob2RCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyRGVmaW5pdGl2ZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckRlbGl2ZXJ5RGF0ZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclByZWZlcnJlZERlbGl2ZXJ5RGF0ZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckRlbGl2ZXJ5ZGF0ZURlZmluaXRpdmVCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJEZXBvc2l0UGVyY2VudGFnZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckRlcG9zaXRBbW91bnRNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJQYXltZW50QnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIEljb25Nb2R1bGUsXHJcbiAgICAgICAgVG9vbHRpcERpcmVjdGl2ZU1vZHVsZSxcclxuICAgICAgICBMb2FkZXJNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJEaXZpZGVFdmVubHlNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJBbW91bnRUb1NldHRsZU1vZHVsZSxcclxuICAgICAgICBJbnB1dFRleHRNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJTY29yaW5nQ2hhbmNlTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyUmV0YWlsU3RhZGl1bU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclNjb3JpbmdEYXRlTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyUGFydGlhbERlbGl2ZXJ5TW9kdWxlLFxyXG4gICAgICAgIFNjcmVlbkNvbmZpZ3VyYXRpb25Nb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJBdXRvUmVjYWxjdWxhdGVEZXBvc2l0TW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyVXNlRGVwb3NpdFJ1bGVNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJQcmljZUtpbmRNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJQcm9qZWN0Q29kZU1vZHVsZSxcclxuICAgICAgICBSZWxhdGlvbkNvbnRhY3REZXRhaWxzTW9kdWxlLFxyXG4gICAgICAgIElucHV0VGV4dGFyZWFNb2R1bGUsXHJcbiAgICAgICAgRGlhbG9nQ2F0YWxvZ01vZHVsZSxcclxuICAgICAgICBJbnB1dFNlYXJjaE1vZHVsZSxcclxuICAgICAgICBTZXJ2aWNlV2l6YXJkUWFNb2R1bGUsXHJcbiAgICAgICAgRGlhbG9nSGVhZGVyU2VhcmNoTW9kdWxlXHJcbiAgICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgVHJhbnNhY3Rpb25IZWFkZXJQb3B1cENvbXBvbmVudCxcclxuICAgIFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBSZWxhdGlvbkNvbXBvbmVudCxcclxuICAgIFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBPcmRlckNvbXBvbmVudCxcclxuICAgIFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBEZWxpdmVyeUNvbXBvbmVudCxcclxuICAgIFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBQYXltZW50Q29tcG9uZW50LFxyXG4gICAgQ2FzaE9uRGVsaXZlcnlNb2RhbENvbXBvbmVudCxcclxuICAgIFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBDcmVhdGVTZXJ2aWNlQ29tcG9uZW50LFxyXG4gICAgVHJhbnNhY3Rpb25IZWFkZXJQb3B1cFNlcnZpY2VXaXphcmRDb21wb25lbnQsXHJcbiAgICBUcmFuc2FjdGlvbkhlYWRlclBvcHVwU2VydmljZUZpZWxkc0NvbXBvbmVudFxyXG5cclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBDb21wb25lbnQsXHJcbiAgICBUcmFuc2FjdGlvbkhlYWRlclBvcHVwUmVsYXRpb25Db21wb25lbnQsXHJcbiAgICBUcmFuc2FjdGlvbkhlYWRlclBvcHVwQ3JlYXRlU2VydmljZUNvbXBvbmVudCxcclxuICAgIFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBTZXJ2aWNlV2l6YXJkQ29tcG9uZW50LFxyXG4gICAgVHJhbnNhY3Rpb25IZWFkZXJQb3B1cFNlcnZpY2VGaWVsZHNDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkhlYWRlclBvcHVwTW9kdWxlIHtcclxufVxyXG4iXX0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLWhlYWRlci90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAvdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRixPQUFPLEVBQ0gsWUFBWSxFQUNaLGNBQWMsRUFDZCxVQUFVLEVBQ1YsVUFBVSxFQUNWLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUMzRCxlQUFlLEVBQ2YseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN6QixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsdUNBQXVDLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RyxPQUFPLEVBQ0wsaUNBQWlDLEVBQ2xDLE1BQU0sNkZBQTZGLENBQUM7QUFDckcsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDckYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQzlGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZEQUE2RCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQzFHLE9BQU8sRUFBQyxvQ0FB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cUJBQXFCO29CQUNyQix3QkFBd0I7b0JBQ3hCLDZCQUE2QjtpQkFDaEM7Z0JBQ0gsWUFBWSxFQUFFO29CQUNaLCtCQUErQjtvQkFDL0IsdUNBQXVDO29CQUN2QyxvQ0FBb0M7b0JBQ3BDLHVDQUF1QztvQkFDdkMsc0NBQXNDO29CQUN0Qyw0QkFBNEI7b0JBQzVCLDRDQUE0QztvQkFDNUMsNENBQTRDO29CQUM1Qyw0Q0FBNEM7aUJBRTdDO2dCQUNELE9BQU8sRUFBRTtvQkFDUCwrQkFBK0I7b0JBQy9CLHVDQUF1QztvQkFDdkMsNENBQTRDO29CQUM1Qyw0Q0FBNEM7b0JBQzVDLDRDQUE0QztpQkFDN0M7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclBvcHVwQ29tcG9uZW50fSBmcm9tICcuL3RyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICBGb3JtTW9kdWxlLFxyXG4gICAgSWNvbk1vZHVsZSxcclxuICAgIElucHV0Q2hlY2tib3hNb2R1bGUsIElucHV0U2VhcmNoTW9kdWxlLCBJbnB1dFRleHRhcmVhTW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgU2NyZWVuQ29uZmlndXJhdGlvbk1vZHVsZSxcclxuICAgIFRvb2x0aXBEaXJlY3RpdmVNb2R1bGVcclxufSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtQaXBlTW9kdWxlfSBmcm9tICcuLi8uLi8uLi9waXBlL3BpcGUubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclBvcHVwUmVsYXRpb25Db21wb25lbnR9IGZyb20gJy4vdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXJlbGF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25GaWx0ZXJDYXRlZ29yaWVzTW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLWZpbHRlci1jYXRlZ29yaWVzL3RyYW5zYWN0aW9uLWZpbHRlci1jYXRlZ29yaWVzLm1vZHVsZSc7XHJcbmltcG9ydCB7UmVsYXRpb25UeXBlTW9kdWxlfSBmcm9tICcuLi8uLi9yZWxhdGlvbi9yZWxhdGlvbi10eXBlL3JlbGF0aW9uLXR5cGUubW9kdWxlJztcclxuaW1wb3J0IHtDb3JlTW9kdWxlfSBmcm9tICcuLi8uLi9jb3JlL2NvcmUubW9kdWxlJztcclxuaW1wb3J0IHtSZWxhdGlvbkdlbmVyYWxNb2R1bGV9IGZyb20gJy4uLy4uL3JlbGF0aW9uL3JlbGF0aW9uLWdlbmVyYWwvcmVsYXRpb24tZ2VuZXJhbC5tb2R1bGUnO1xyXG5pbXBvcnQge1JlbGF0aW9uQWRkcmVzc2VzTW9kdWxlfSBmcm9tICcuLi8uLi9yZWxhdGlvbi9yZWxhdGlvbi1hZGRyZXNzZXMvcmVsYXRpb24tYWRkcmVzc2VzLm1vZHVsZSc7XHJcbmltcG9ydCB7UmVsYXRpb25QcmVmZXJlbmNlc01vZHVsZX0gZnJvbSAnLi4vLi4vcmVsYXRpb24vcmVsYXRpb24tcHJlZmVyZW5jZXMvcmVsYXRpb24tcHJlZmVyZW5jZXMubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclBvcHVwT3JkZXJDb21wb25lbnR9IGZyb20gJy4vdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLW9yZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJQb3B1cERlbGl2ZXJ5Q29tcG9uZW50fSBmcm9tICcuL3RyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1kZWxpdmVyeS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyUG9wdXBQYXltZW50Q29tcG9uZW50fSBmcm9tICcuL3RyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1wYXltZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Q2FzaE9uRGVsaXZlcnlNb2RhbENvbXBvbmVudH0gZnJvbSAnLi9jYXNoLW9uLWRlbGl2ZXJ5LW1vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJCcmFuY2hNb2R1bGV9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLWJyYW5jaC5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uSGVhZGVyU2FsZXNQZXJzb25Nb2R1bGVcclxufSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1zYWxlcy1wZXJzb24ubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkhlYWRlckFkbWluaXN0cmF0aXZlUmVsYXRpb25Nb2R1bGVcclxufSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1hZG1pbmlzdHJhdGl2ZS1yZWxhdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyUHJpY2VLaW5kTW9kdWxlfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1wcmljZS1raW5kLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJDdXJyZW5jeU1vZHVsZX0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItY3VycmVuY3kubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkhlYWRlclBheW1lbnRDb25kaXRpb25Nb2R1bGVcclxufSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1wYXltZW50LWNvbmRpdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVySG9sZENvZGVzTW9kdWxlfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1ob2xkLWNvZGVzLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJNYXJrZXRpbmdNb2R1bGV9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLW1hcmtldGluZy5tb2R1bGUnO1xyXG5pbXBvcnQge0RlcG9zaXRQYXltZW50TW9kdWxlfSBmcm9tICcuLi8uLi9kZXBvc2l0LXBheW1lbnQvZGVwb3NpdC1wYXltZW50Lm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25IZWFkZXJEZWxpdmVyeU9wdGlvbnNNb2R1bGVcclxufSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1kZWxpdmVyeS1vcHRpb25zL3RyYW5zYWN0aW9uLWhlYWRlci1kZWxpdmVyeS1vcHRpb25zLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJSZW1hcmtzTW9kdWxlfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1yZW1hcmtzLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJSZWZlcmVuY2VNb2R1bGV9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLXJlZmVyZW5jZS5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uSGVhZGVyUmVsYXRpb25SZWZlcmVuY2VNb2R1bGVcclxufSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1yZWxhdGlvbi1yZWZlcmVuY2UubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkhlYWRlckRlbGl2ZXJ5TWV0aG9kQnV0dG9uTW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItZGVsaXZlcnktbWV0aG9kLWJ1dHRvbi90cmFuc2FjdGlvbi1oZWFkZXItZGVsaXZlcnktbWV0aG9kLWJ1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyRGVmaW5pdGl2ZU1vZHVsZX0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItZGVmaW5pdGl2ZS5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uSGVhZGVyRGVsaXZlcnlEYXRlTW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItZGVsaXZlcnktZGF0ZS5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uSGVhZGVyUHJlZmVycmVkRGVsaXZlcnlEYXRlTW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItcHJlZmVycmVkLWRlbGl2ZXJ5LWRhdGUubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkhlYWRlckRlbGl2ZXJ5ZGF0ZURlZmluaXRpdmVCdXR0b25Nb2R1bGVcclxufSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1kZWxpdmVyeWRhdGUtZGVmaW5pdGl2ZS1idXR0b24vdHJhbnNhY3Rpb24taGVhZGVyLWRlbGl2ZXJ5ZGF0ZS1kZWZpbml0aXZlLWJ1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uSGVhZGVyRGVwb3NpdFBlcmNlbnRhZ2VNb2R1bGVcclxufSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1kZXBvc2l0LXBlcmNlbnRhZ2UubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkhlYWRlckRlcG9zaXRBbW91bnRNb2R1bGVcclxufSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1kZXBvc2l0LWFtb3VudC5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uSGVhZGVyUGF5bWVudEJ1dHRvbk1vZHVsZVxyXG59IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLXBheW1lbnQtYnV0dG9uL3RyYW5zYWN0aW9uLWhlYWRlci1wYXltZW50LWJ1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQge0xvYWRlck1vZHVsZX0gZnJvbSAnLi4vLi4vbG9hZGVyL2xvYWRlci5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uSGVhZGVyRGl2aWRlRXZlbmx5TW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItZGl2aWRlLWV2ZW5seS5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uSGVhZGVyQW1vdW50VG9TZXR0bGVNb2R1bGVcclxufSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1hbW91bnQtdG8tc2V0dGxlLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgVHJhbnNhY3Rpb25IZWFkZXJTY29yaW5nQ2hhbmNlTW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItc2NvcmluZy1jaGFuY2UubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkhlYWRlclJldGFpbFN0YWRpdW1Nb2R1bGVcclxufSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1yZXRhaWwtc3RhZGl1bS5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uSGVhZGVyU2NvcmluZ0RhdGVNb2R1bGVcclxufSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1zY29yaW5nLWRhdGUubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkhlYWRlclBhcnRpYWxEZWxpdmVyeU1vZHVsZVxyXG59IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLXBhcnRpYWwtZGVsaXZlcnkvdHJhbnNhY3Rpb24taGVhZGVyLXBhcnRpYWwtZGVsaXZlcnkubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkhlYWRlckF1dG9SZWNhbGN1bGF0ZURlcG9zaXRNb2R1bGVcclxufSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1hdXRvLXJlY2FsY3VsYXRlLWRlcG9zaXQubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICBUcmFuc2FjdGlvbkhlYWRlclVzZURlcG9zaXRSdWxlTW9kdWxlXHJcbn0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItdXNlLWRlcG9zaXQtcnVsZS5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gIFRyYW5zYWN0aW9uSGVhZGVyUHJvamVjdENvZGVNb2R1bGVcclxufSBmcm9tIFwiLi4vLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItcHJvamVjdC1jb2RlLm1vZHVsZVwiO1xyXG5pbXBvcnQge1JlbGF0aW9uQ29udGFjdERldGFpbHNNb2R1bGV9IGZyb20gXCIuLi8uLi9yZWxhdGlvbi9yZWxhdGlvbi1jb250YWN0LWRldGFpbHMvcmVsYXRpb24tY29udGFjdC1kZXRhaWxzLm1vZHVsZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyUG9wdXBDcmVhdGVTZXJ2aWNlQ29tcG9uZW50fSBmcm9tIFwiLi90cmFuc2FjdGlvbi1oZWFkZXItcG9wdXAtY3JlYXRlLXNlcnZpY2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJQb3B1cFNlcnZpY2VXaXphcmRDb21wb25lbnR9IGZyb20gXCIuL3RyYW5zYWN0aW9uLWhlYWRlci1wb3B1cC1zZXJ2aWNlLXdpemFyZC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclBvcHVwU2VydmljZUZpZWxkc0NvbXBvbmVudH0gZnJvbSBcIi4vdHJhbnNhY3Rpb24taGVhZGVyLXBvcHVwLXNlcnZpY2UtZmllbGRzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0RpYWxvZ0NhdGFsb2dNb2R1bGV9IGZyb20gXCIuLi8uLi9kaWFsb2cvY2F0YWxvZy9kaWFsb2ctY2F0YWxvZy9kaWFsb2ctY2F0YWxvZy5tb2R1bGVcIjtcclxuaW1wb3J0IHtTZXJ2aWNlV2l6YXJkUWFNb2R1bGV9IGZyb20gXCIuLi8uLi9zZXJ2aWNlLXdpemFyZC1xYS9zZXJ2aWNlLXdpemFyZC1xYS5tb2R1bGVcIjtcclxuaW1wb3J0IHtEaWFsb2dIZWFkZXJTZWFyY2hNb2R1bGV9IGZyb20gXCIuLi8uLi9kaWFsb2cvZGlhbG9nLWhlYWRlci1zZWFyY2gvZGlhbG9nLWhlYWRlci1zZWFyY2gubW9kdWxlXCI7XHJcbmltcG9ydCB7RGlhbG9nVHJhbnNhY3Rpb25TZWFyY2hNb2R1bGV9IGZyb20gXCIuLi8uLi9kaWFsb2cvdHJhbnNhY3Rpb24tc2VhcmNoL2RpYWxvZy10cmFuc2FjdGlvbi1zZWFyY2gubW9kdWxlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBDb0RpYWxvZ01vZHVsZSxcclxuICAgICAgICBQaXBlTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uRmlsdGVyQ2F0ZWdvcmllc01vZHVsZSxcclxuICAgICAgICBGb3JtTW9kdWxlLFxyXG4gICAgICAgIFJlbGF0aW9uVHlwZU1vZHVsZSxcclxuICAgICAgICBDb3JlTW9kdWxlLFxyXG4gICAgICAgIFJlbGF0aW9uR2VuZXJhbE1vZHVsZSxcclxuICAgICAgICBSZWxhdGlvbkFkZHJlc3Nlc01vZHVsZSxcclxuICAgICAgICBJbnB1dENoZWNrYm94TW9kdWxlLFxyXG4gICAgICAgIFJlbGF0aW9uUHJlZmVyZW5jZXNNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJCcmFuY2hNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJTYWxlc1BlcnNvbk1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckFkbWluaXN0cmF0aXZlUmVsYXRpb25Nb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJQcmljZUtpbmRNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJDdXJyZW5jeU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclBheW1lbnRDb25kaXRpb25Nb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJIb2xkQ29kZXNNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJNYXJrZXRpbmdNb2R1bGUsXHJcbiAgICAgICAgRGVwb3NpdFBheW1lbnRNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJEZWxpdmVyeU9wdGlvbnNNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJSZW1hcmtzTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyUmVmZXJlbmNlTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyUmVsYXRpb25SZWZlcmVuY2VNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJEZWxpdmVyeU1ldGhvZEJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJEZWZpbml0aXZlTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyRGVsaXZlcnlEYXRlTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyUHJlZmVycmVkRGVsaXZlcnlEYXRlTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyRGVsaXZlcnlkYXRlRGVmaW5pdGl2ZUJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckRlcG9zaXRQZXJjZW50YWdlTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyRGVwb3NpdEFtb3VudE1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclBheW1lbnRCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgSWNvbk1vZHVsZSxcclxuICAgICAgICBUb29sdGlwRGlyZWN0aXZlTW9kdWxlLFxyXG4gICAgICAgIExvYWRlck1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckRpdmlkZUV2ZW5seU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckFtb3VudFRvU2V0dGxlTW9kdWxlLFxyXG4gICAgICAgIElucHV0VGV4dE1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclNjb3JpbmdDaGFuY2VNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJSZXRhaWxTdGFkaXVtTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyU2NvcmluZ0RhdGVNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJQYXJ0aWFsRGVsaXZlcnlNb2R1bGUsXHJcbiAgICAgICAgU2NyZWVuQ29uZmlndXJhdGlvbk1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckF1dG9SZWNhbGN1bGF0ZURlcG9zaXRNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJVc2VEZXBvc2l0UnVsZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclByaWNlS2luZE1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclByb2plY3RDb2RlTW9kdWxlLFxyXG4gICAgICAgIFJlbGF0aW9uQ29udGFjdERldGFpbHNNb2R1bGUsXHJcbiAgICAgICAgSW5wdXRUZXh0YXJlYU1vZHVsZSxcclxuICAgICAgICBEaWFsb2dDYXRhbG9nTW9kdWxlLFxyXG4gICAgICAgIElucHV0U2VhcmNoTW9kdWxlLFxyXG4gICAgICAgIFNlcnZpY2VXaXphcmRRYU1vZHVsZSxcclxuICAgICAgICBEaWFsb2dIZWFkZXJTZWFyY2hNb2R1bGUsXHJcbiAgICAgICAgRGlhbG9nVHJhbnNhY3Rpb25TZWFyY2hNb2R1bGVcclxuICAgIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBUcmFuc2FjdGlvbkhlYWRlclBvcHVwQ29tcG9uZW50LFxyXG4gICAgVHJhbnNhY3Rpb25IZWFkZXJQb3B1cFJlbGF0aW9uQ29tcG9uZW50LFxyXG4gICAgVHJhbnNhY3Rpb25IZWFkZXJQb3B1cE9yZGVyQ29tcG9uZW50LFxyXG4gICAgVHJhbnNhY3Rpb25IZWFkZXJQb3B1cERlbGl2ZXJ5Q29tcG9uZW50LFxyXG4gICAgVHJhbnNhY3Rpb25IZWFkZXJQb3B1cFBheW1lbnRDb21wb25lbnQsXHJcbiAgICBDYXNoT25EZWxpdmVyeU1vZGFsQ29tcG9uZW50LFxyXG4gICAgVHJhbnNhY3Rpb25IZWFkZXJQb3B1cENyZWF0ZVNlcnZpY2VDb21wb25lbnQsXHJcbiAgICBUcmFuc2FjdGlvbkhlYWRlclBvcHVwU2VydmljZVdpemFyZENvbXBvbmVudCxcclxuICAgIFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBTZXJ2aWNlRmllbGRzQ29tcG9uZW50XHJcblxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgVHJhbnNhY3Rpb25IZWFkZXJQb3B1cENvbXBvbmVudCxcclxuICAgIFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBSZWxhdGlvbkNvbXBvbmVudCxcclxuICAgIFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBDcmVhdGVTZXJ2aWNlQ29tcG9uZW50LFxyXG4gICAgVHJhbnNhY3Rpb25IZWFkZXJQb3B1cFNlcnZpY2VXaXphcmRDb21wb25lbnQsXHJcbiAgICBUcmFuc2FjdGlvbkhlYWRlclBvcHVwU2VydmljZUZpZWxkc0NvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uSGVhZGVyUG9wdXBNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -170,7 +170,7 @@ TransactionQuickAccessSalesQuotationComponent.decorators = [
170
170
  <co-transaction-navigation-button-list
171
171
  [refTransactions]="getCurrentRefTransactions()"
172
172
  [showRelationButton]="false"
173
- [emptyLabel]="'NO_SALES_ORDER' | localize"
173
+ [emptyLabel]="'NO_SALES_QUOTE_ORDER' | localize"
174
174
  (transactionClick)="handleSalesOrderNavigation($event)"
175
175
  ></co-transaction-navigation-button-list>
176
176
  <co-send-method-dialog *ngIf="showSendMethodDialog"
@@ -212,4 +212,4 @@ TransactionQuickAccessSalesQuotationComponent.propDecorators = {
212
212
  sendDocumentsComponent: [{ type: ViewChild, args: [TransactionSendDocumentsComponent,] }],
213
213
  showClass: [{ type: HostBinding, args: ["class.co-transaction-quick-access-sales-quotation",] }]
214
214
  };
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvbi90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtc2FsZXMtcXVvdGF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQXFCLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6SCxPQUFPLEVBQUMsNkNBQTZDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUNySCxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0SSxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0SSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUdsSCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUVyRyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDckUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDeEgsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDcEgsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sOERBQThELENBQUM7QUFHbkcsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDcEgsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sOERBQThELENBQUM7QUFDbkcsT0FBTyxF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RUFBRTtnQkFDcEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtvQkFDaEQsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO29CQUM1QyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQy9CO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sbUJBQW1CLENBQUM7SUFDN0IsQ0FBQzs7O1lBak1GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNkNBQTZDO2dCQUN2RCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQ1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTFETyx1QkFBdUI7WUFDdkIsZ0JBQWdCO1lBQ2hCLHFDQUFxQztZQUNyQyx1QkFBdUI7WUFDdkIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQXhCbEIsaUJBQWlCO1lBNEJqQixhQUFhO1lBSGIsMEJBQTBCOzs7cUNBd0QvQixTQUFTLFNBQUMsaUNBQWlDO3dCQU8zQyxXQUFXLFNBQUMsbURBQW1EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUXVpY2tBY2Nlc3NTZW5kTWV0aG9kQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNlbmQtbWV0aG9kLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcHJpbnQtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcGRmLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tZW1haWwuYm8nO1xyXG5pbXBvcnQge0NvcHlUcmFuc2FjdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jb3B5LXRyYW5zYWN0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge0VtYWlsSGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9lbWFpbC1oaXN0b3JpYy1vcmRlci1jb25maXJtYXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7Q29Eb2N1bWVudH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VuZERvY3VtZW50c0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tc2VuZC1kb2N1bWVudHMvdHJhbnNhY3Rpb24tc2VuZC1kb2N1bWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHtFbWFpbEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2VtYWlsLWhpc3RvcmljLXF1b3RhdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtFbWFpbFF1b3RhdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9lbWFpbC1xdW90YXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7UHJpbnRIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3ByaW50LWhpc3RvcmljLW9yZGVyLWNvbmZpcm1hdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtQZGZIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BkZi1oaXN0b3JpYy1vcmRlci1jb25maXJtYXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7UHJpbnRIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wcmludC1oaXN0b3JpYy1xdW90YXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7UHJpbnRRdW90YXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHJpbnQtcXVvdGF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge1BkZlF1b3RhdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wZGYtcXVvdGF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge1BkZkhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BkZi1oaXN0b3JpYy1xdW90YXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DcmVhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tY3JlYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25SZWZUcmFuc2FjdGlvbn0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ibyc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9kaWFsb2cuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwicXVpY2stYWNjZXNzLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICA8Y28tcXVpY2stc2VuZC1idXR0b25cclxuICAgICAgICBbZGVmYXVsdE1ldGhvZEljb25dPVwiZGVmYXVsdFNlbmRNZXRob2RJY29uXCJcclxuICAgICAgICBbc2hvd0xvYWRlcl09XCJzaG93TG9hZGVyXCJcclxuICAgICAgICAoc2VuZEljb25DbGlja2VkKT1cImhhbmRsZVNlbmQoZGVmYXVsdFNlbmRNZXRob2QpXCJcclxuICAgICAgICAob3BlblNlbmRNZXRob2REaWFsb2cpPVwic2hvd1NlbmRNZXRob2REaWFsb2cgPSB0cnVlXCJcclxuICAgICAgPjwvY28tcXVpY2stc2VuZC1idXR0b24+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1zZW5kLWRvY3VtZW50c1xyXG4gICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICBbdHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnldPVwidHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclF1b3RhdGlvblwiXHJcbiAgICAgID48L2NvLXRyYW5zYWN0aW9uLXNlbmQtZG9jdW1lbnRzPlxyXG4gICAgICA8Y28tYnV0dG9uXHJcbiAgICAgICAgW2xhYmVsXT1cIidTQUxFU19RVU9UQVRJT04nIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2FydFNob3BwaW5nUmVndWxhcilcIlxyXG4gICAgICAgIChjbGljayk9XCJjcmVhdGVTYWxlc09yZGVyKClcIlxyXG4gICAgICA+PC9jby1idXR0b24+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1uYXZpZ2F0aW9uLWJ1dHRvbi1saXN0XHJcbiAgICAgICAgW3JlZlRyYW5zYWN0aW9uc109XCJnZXRDdXJyZW50UmVmVHJhbnNhY3Rpb25zKClcIlxyXG4gICAgICAgIFtzaG93UmVsYXRpb25CdXR0b25dPVwiZmFsc2VcIlxyXG4gICAgICAgIFtlbXB0eUxhYmVsXT1cIidOT19TQUxFU19PUkRFUicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgKHRyYW5zYWN0aW9uQ2xpY2spPVwiaGFuZGxlU2FsZXNPcmRlck5hdmlnYXRpb24oJGV2ZW50KVwiXHJcbiAgICAgID48L2NvLXRyYW5zYWN0aW9uLW5hdmlnYXRpb24tYnV0dG9uLWxpc3Q+XHJcbiAgICAgIDxjby1zZW5kLW1ldGhvZC1kaWFsb2cgKm5nSWY9XCJzaG93U2VuZE1ldGhvZERpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hlYWRlclRpdGxlXT1cIidWZXJ6ZW5kbWV0aG9kZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRTZW5kTWV0aG9kXT1cImRlZmF1bHRTZW5kTWV0aG9kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmlzaWJsZU1ldGhvZHNdPVwiW3NlbmRNZXRob2RUeXBlLlByaW50LCBzZW5kTWV0aG9kVHlwZS5FbWFpbCwgc2VuZE1ldGhvZFR5cGUuUGRmXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtYWlsQWRkcmVzc2VzXT1cImVtYWlsQWRkcmVzc2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW1haWxMYXlvdXRzXT1cImVtYWlsTGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ByaW50TGF5b3V0c109XCJwcmludExheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0RvY1NpZ25FbmFibGVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsocmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3QpXT1cInJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0KV09XCJyZXBvcnREb2N1bWVudFByaW50UmVxdWVzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhyZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3QpXT1cInJlcG9ydERvY3VtZW50UGRmUmVxdWVzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlQ2xpY2spPVwic2hvd1NlbmRNZXRob2REaWFsb2cgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9rQ2xpY2spPVwiaGFuZGxlU2VuZE1ldGhvZE9rQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgID48L2NvLXNlbmQtbWV0aG9kLWRpYWxvZz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLWRpZ2l0YWwtc2lnbmF0dXJlXHJcbiAgICAgIFtkb2N1bWVudElkXT1cInNpZ25hdHVyZURvY3VtZW50SWRcIlxyXG4gICAgICAoZG9jdW1lbnRTdG9yZWQpPVwiY29tbWl0QW5kUmVmcmVzaFRyYW5zYWN0aW9uKClcIlxyXG4gICAgPjwvY28tZGlnaXRhbC1zaWduYXR1cmU+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NhbGVzUXVvdGF0aW9uQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NlbmRNZXRob2RCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBAVmlld0NoaWxkKFRyYW5zYWN0aW9uU2VuZERvY3VtZW50c0NvbXBvbmVudClcclxuICBwdWJsaWMgc2VuZERvY3VtZW50c0NvbXBvbmVudDogVHJhbnNhY3Rpb25TZW5kRG9jdW1lbnRzQ29tcG9uZW50O1xyXG5cclxuICBwdWJsaWMgY3JlYXRpbmdTYWxlc09yZGVyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1zYWxlcy1xdW90YXRpb25cIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QgPSBuZXcgUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCgpO1xyXG4gIHB1YmxpYyByZXBvcnREb2N1bWVudFByaW50UmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KCk7XHJcbiAgcHVibGljIHJlcG9ydERvY3VtZW50UGRmUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNjcmVlbkNvbmZpZ1NlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgaW1hZ2VTZXJ2aWNlOiBUcmFuc2FjdGlvbkltYWdlU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zYWN0aW9uQ3JlYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvbkNyZWF0aW9uU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIodHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHNjcmVlbkNvbmZpZ1NlcnZpY2UsIGltYWdlU2VydmljZSwgZGljdGlvbmFyeVNlcnZpY2UsIHRyYW5zYWN0aW9uU2VydmljZSwgY2hhbmdlRGV0ZWN0b3IsIGRpYWxvZ1NlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS51cGRhdGVUcmFuc2FjdGlvblJlZmVyZW5jZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmNoZWNrUmVmVHJhbnNhY3Rpb24oKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBlbWFpbERvY3VtZW50KHJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLnNlbmREb2N1bWVudHNDb21wb25lbnQuc2VsZWN0ZWQpIHtcclxuICAgICAgY29uc3QgZW1haWxIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3Q6IEVtYWlsSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0ID1cclxuICAgICAgICBPYmplY3QuYXNzaWduKG5ldyBFbWFpbEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCgpLCByZXF1ZXN0KTtcclxuICAgICAgdGhpcy5fcHJlcGFyZUhpc3RvcmljUmVxdWVzdChlbWFpbEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCk7XHJcbiAgICAgIGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmVtYWlsSGlzdG9yaWNRdW90YXRpb24oZW1haWxIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZW1haWxRdW90YXRpb25SZXF1ZXN0OiBFbWFpbFF1b3RhdGlvblJlcXVlc3QgPVxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24obmV3IEVtYWlsUXVvdGF0aW9uUmVxdWVzdCgpLCByZXF1ZXN0KTtcclxuICAgICAgY29uc3QgcmVzdWx0OiBDb0RvY3VtZW50IHwgYm9vbGVhbiA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmVtYWlsUXVvdGF0aW9uKGVtYWlsUXVvdGF0aW9uUmVxdWVzdCk7XHJcbiAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBDb0RvY3VtZW50KSB7XHJcbiAgICAgICAgdGhpcy5zaWduYXR1cmVEb2N1bWVudElkID0gcmVzdWx0LmRvY3VtZW50SWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0RW1haWxBZGRyZXNzTGlzdCgpOiBQcm9taXNlPHN0cmluZ1tdPiB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0RGVmYXVsdEVtYWlsQWRkcmVzc0xpc3RGb3JRdW90YXRpb24odGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0RGVmYXVsdFNlbmRNZXRob2QoKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRRdW90YXRpb25EZWZhdWx0U2VuZE1ldGhvZCh0aGlzLnRyYW5zYWN0aW9uSW5mby5yZWxhdGlvbi5yZWxhdGlvbklkKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRFbWFpbExheW91dHMoKTogUHJvbWlzZTxSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0UXVvdGF0aW9uRW1haWxMYXlvdXRzKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldFByaW50TGF5b3V0cygpOiBQcm9taXNlPFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRRdW90YXRpb25QcmludExheW91dHModGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgcGRmRG9jdW1lbnQocmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCkge1xyXG4gICAgaWYgKHRoaXMuc2VuZERvY3VtZW50c0NvbXBvbmVudC5zZWxlY3RlZCkge1xyXG4gICAgICBjb25zdCBwZGZIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3Q6IFBkZkhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCA9XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihuZXcgUGRmSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KCksIHJlcXVlc3QpO1xyXG4gICAgICB0aGlzLl9wcmVwYXJlSGlzdG9yaWNSZXF1ZXN0KHBkZkhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCk7XHJcbiAgICAgIGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnBkZkhpc3RvcmljUXVvdGF0aW9uKHBkZkhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBwZGZRdW90YXRpb25SZXF1ZXN0OiBQZGZRdW90YXRpb25SZXF1ZXN0ID1cclxuICAgICAgICBPYmplY3QuYXNzaWduKG5ldyBQZGZRdW90YXRpb25SZXF1ZXN0KCksIHJlcXVlc3QpO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5wZGZRdW90YXRpb24ocGRmUXVvdGF0aW9uUmVxdWVzdCkudGhlbigocmVzdWx0OiBDb0RvY3VtZW50IHwgYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBDb0RvY3VtZW50KSB7XHJcbiAgICAgICAgICB0aGlzLnNpZ25hdHVyZURvY3VtZW50SWQgPSByZXN1bHQuZG9jdW1lbnRJZDtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFzeW5jIHByaW50RG9jdW1lbnQocmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCkge1xyXG4gICAgaWYgKHRoaXMuc2VuZERvY3VtZW50c0NvbXBvbmVudC5zZWxlY3RlZCkge1xyXG4gICAgICBjb25zdCBwcmludEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdDogUHJpbnRIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QgPVxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24obmV3IFByaW50SGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KCksIHJlcXVlc3QpO1xyXG4gICAgICB0aGlzLl9wcmVwYXJlSGlzdG9yaWNSZXF1ZXN0KHByaW50SGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KTtcclxuICAgICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UucHJpbnRIaXN0b3JpY1F1b3RhdGlvbihwcmludEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBwcmludFF1b3RhdGlvblJlcXVlc3Q6IFByaW50UXVvdGF0aW9uUmVxdWVzdCA9XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihuZXcgUHJpbnRRdW90YXRpb25SZXF1ZXN0KCksIHJlcXVlc3QpO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5wcmludFF1b3RhdGlvbihwcmludFF1b3RhdGlvblJlcXVlc3QpLnRoZW4oKHJlc3VsdDogQ29Eb2N1bWVudCB8IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgQ29Eb2N1bWVudCkge1xyXG4gICAgICAgICAgdGhpcy5zaWduYXR1cmVEb2N1bWVudElkID0gcmVzdWx0LmRvY3VtZW50SWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVIaXN0b3JpY1JlcXVlc3QocmVxdWVzdDogRW1haWxIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCB8IFByaW50SGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QgfCBQZGZIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCk6IHZvaWQge1xyXG4gICAgcmVxdWVzdC5yZXBvcnREYXRhSWQgPSB0aGlzLnNlbmREb2N1bWVudHNDb21wb25lbnQuYWN0aXZlUmVwb3J0LnJlcG9ydElkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNyZWF0ZVNhbGVzT3JkZXIoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0OiBDb3B5VHJhbnNhY3Rpb25SZXF1ZXN0ID0gbmV3IENvcHlUcmFuc2FjdGlvblJlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QudHJhbnNJZCA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkO1xyXG4gICAgcmVxdWVzdC50cmFuc2FjdGlvbkRhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgcmVxdWVzdC50cmFuc2FjdGlvblJlbGF0aW9uSWQgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5yZWxhdGlvbi5yZWxhdGlvbklkO1xyXG4gICAgcmVxdWVzdC5oYW5kbGVkQnlSZWxhdGlvbklkID0gdGhpcy50cmFuc2FjdGlvbkluZm8uaGFuZGxlZEJ5O1xyXG5cclxuICAgIHRoaXMuY3JlYXRpbmdTYWxlc09yZGVyID0gdHJ1ZTtcclxuICAgIGF3YWl0IHRoaXMudHJhbnNhY3Rpb25DcmVhdGlvblNlcnZpY2UuY3JlYXRlU2FsZXNPcmRlclRocm91Z2hRdW90YXRpb24ocmVxdWVzdCk7XHJcbiAgICB0aGlzLmNyZWF0aW5nU2FsZXNPcmRlciA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNhbGVzT3JkZXJOYXZpZ2F0aW9uKHRyYW5zTnI6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvbk5hdmlnYXRpb24ubmV4dCh0cmFuc05yKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDdXJyZW50UmVmVHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uUmVmVHJhbnNhY3Rpb25bXSB7XHJcbiAgICBjb25zdCByZWZUcmFuc2FjdGlvbk5yczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XHJcbiAgICBjb25zdCByZWZUcmFuc2FjdGlvbnNMaXN0OiBUcmFuc2FjdGlvblJlZlRyYW5zYWN0aW9uW10gPSBbXTtcclxuXHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lcy5mb3JFYWNoKChsaW5lKSA9PiB7XHJcbiAgICAgIGxpbmUucmVmVHJhbnNhY3Rpb25zPy5mb3JFYWNoKChyZWYpID0+IHtcclxuICAgICAgICBpZiAoIXJlZlRyYW5zYWN0aW9uTnJzLmhhcyhyZWYucmVmVHJhbnNhY3Rpb25OcikpIHtcclxuICAgICAgICAgIHJlZlRyYW5zYWN0aW9uTnJzLmFkZChyZWYucmVmVHJhbnNhY3Rpb25Ocik7XHJcbiAgICAgICAgICByZWZUcmFuc2FjdGlvbnNMaXN0LnB1c2gocmVmKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHJlZlRyYW5zYWN0aW9uc0xpc3Q7XHJcbiAgfVxyXG59XHJcbiJdfQ==
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvbi90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtc2FsZXMtcXVvdGF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQXFCLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6SCxPQUFPLEVBQUMsNkNBQTZDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUNySCxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0SSxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0SSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUdsSCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUVyRyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDckUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDeEgsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDcEgsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sOERBQThELENBQUM7QUFHbkcsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDcEgsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sOERBQThELENBQUM7QUFDbkcsT0FBTyxF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RUFBRTtnQkFDcEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtvQkFDaEQsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO29CQUM1QyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQy9CO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sbUJBQW1CLENBQUM7SUFDN0IsQ0FBQzs7O1lBak1GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNkNBQTZDO2dCQUN2RCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQ1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTFETyx1QkFBdUI7WUFDdkIsZ0JBQWdCO1lBQ2hCLHFDQUFxQztZQUNyQyx1QkFBdUI7WUFDdkIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQXhCbEIsaUJBQWlCO1lBNEJqQixhQUFhO1lBSGIsMEJBQTBCOzs7cUNBd0QvQixTQUFTLFNBQUMsaUNBQWlDO3dCQU8zQyxXQUFXLFNBQUMsbURBQW1EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUXVpY2tBY2Nlc3NTZW5kTWV0aG9kQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNlbmQtbWV0aG9kLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcHJpbnQtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtZW1haWwtc2lnbi1kb2MtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtcGRmLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tZW1haWwuYm8nO1xyXG5pbXBvcnQge0NvcHlUcmFuc2FjdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jb3B5LXRyYW5zYWN0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge0VtYWlsSGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9lbWFpbC1oaXN0b3JpYy1vcmRlci1jb25maXJtYXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7Q29Eb2N1bWVudH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VuZERvY3VtZW50c0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tc2VuZC1kb2N1bWVudHMvdHJhbnNhY3Rpb24tc2VuZC1kb2N1bWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHtFbWFpbEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2VtYWlsLWhpc3RvcmljLXF1b3RhdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtFbWFpbFF1b3RhdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9lbWFpbC1xdW90YXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7UHJpbnRIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3ByaW50LWhpc3RvcmljLW9yZGVyLWNvbmZpcm1hdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtQZGZIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BkZi1oaXN0b3JpYy1vcmRlci1jb25maXJtYXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7UHJpbnRIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wcmludC1oaXN0b3JpYy1xdW90YXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7UHJpbnRRdW90YXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHJpbnQtcXVvdGF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge1BkZlF1b3RhdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wZGYtcXVvdGF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge1BkZkhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BkZi1oaXN0b3JpYy1xdW90YXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25DcmVhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tY3JlYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25SZWZUcmFuc2FjdGlvbn0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ibyc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9kaWFsb2cuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwicXVpY2stYWNjZXNzLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICA8Y28tcXVpY2stc2VuZC1idXR0b25cclxuICAgICAgICBbZGVmYXVsdE1ldGhvZEljb25dPVwiZGVmYXVsdFNlbmRNZXRob2RJY29uXCJcclxuICAgICAgICBbc2hvd0xvYWRlcl09XCJzaG93TG9hZGVyXCJcclxuICAgICAgICAoc2VuZEljb25DbGlja2VkKT1cImhhbmRsZVNlbmQoZGVmYXVsdFNlbmRNZXRob2QpXCJcclxuICAgICAgICAob3BlblNlbmRNZXRob2REaWFsb2cpPVwic2hvd1NlbmRNZXRob2REaWFsb2cgPSB0cnVlXCJcclxuICAgICAgPjwvY28tcXVpY2stc2VuZC1idXR0b24+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1zZW5kLWRvY3VtZW50c1xyXG4gICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICBbdHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnldPVwidHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclF1b3RhdGlvblwiXHJcbiAgICAgID48L2NvLXRyYW5zYWN0aW9uLXNlbmQtZG9jdW1lbnRzPlxyXG4gICAgICA8Y28tYnV0dG9uXHJcbiAgICAgICAgW2xhYmVsXT1cIidTQUxFU19RVU9UQVRJT04nIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2FydFNob3BwaW5nUmVndWxhcilcIlxyXG4gICAgICAgIChjbGljayk9XCJjcmVhdGVTYWxlc09yZGVyKClcIlxyXG4gICAgICA+PC9jby1idXR0b24+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1uYXZpZ2F0aW9uLWJ1dHRvbi1saXN0XHJcbiAgICAgICAgW3JlZlRyYW5zYWN0aW9uc109XCJnZXRDdXJyZW50UmVmVHJhbnNhY3Rpb25zKClcIlxyXG4gICAgICAgIFtzaG93UmVsYXRpb25CdXR0b25dPVwiZmFsc2VcIlxyXG4gICAgICAgIFtlbXB0eUxhYmVsXT1cIidOT19TQUxFU19RVU9URV9PUkRFUicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgKHRyYW5zYWN0aW9uQ2xpY2spPVwiaGFuZGxlU2FsZXNPcmRlck5hdmlnYXRpb24oJGV2ZW50KVwiXHJcbiAgICAgID48L2NvLXRyYW5zYWN0aW9uLW5hdmlnYXRpb24tYnV0dG9uLWxpc3Q+XHJcbiAgICAgIDxjby1zZW5kLW1ldGhvZC1kaWFsb2cgKm5nSWY9XCJzaG93U2VuZE1ldGhvZERpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hlYWRlclRpdGxlXT1cIidWZXJ6ZW5kbWV0aG9kZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRTZW5kTWV0aG9kXT1cImRlZmF1bHRTZW5kTWV0aG9kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmlzaWJsZU1ldGhvZHNdPVwiW3NlbmRNZXRob2RUeXBlLlByaW50LCBzZW5kTWV0aG9kVHlwZS5FbWFpbCwgc2VuZE1ldGhvZFR5cGUuUGRmXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtYWlsQWRkcmVzc2VzXT1cImVtYWlsQWRkcmVzc2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW1haWxMYXlvdXRzXT1cImVtYWlsTGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ByaW50TGF5b3V0c109XCJwcmludExheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0RvY1NpZ25FbmFibGVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsocmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3QpXT1cInJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0KV09XCJyZXBvcnREb2N1bWVudFByaW50UmVxdWVzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhyZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3QpXT1cInJlcG9ydERvY3VtZW50UGRmUmVxdWVzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlQ2xpY2spPVwic2hvd1NlbmRNZXRob2REaWFsb2cgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9rQ2xpY2spPVwiaGFuZGxlU2VuZE1ldGhvZE9rQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgID48L2NvLXNlbmQtbWV0aG9kLWRpYWxvZz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLWRpZ2l0YWwtc2lnbmF0dXJlXHJcbiAgICAgIFtkb2N1bWVudElkXT1cInNpZ25hdHVyZURvY3VtZW50SWRcIlxyXG4gICAgICAoZG9jdW1lbnRTdG9yZWQpPVwiY29tbWl0QW5kUmVmcmVzaFRyYW5zYWN0aW9uKClcIlxyXG4gICAgPjwvY28tZGlnaXRhbC1zaWduYXR1cmU+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NhbGVzUXVvdGF0aW9uQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NlbmRNZXRob2RCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBAVmlld0NoaWxkKFRyYW5zYWN0aW9uU2VuZERvY3VtZW50c0NvbXBvbmVudClcclxuICBwdWJsaWMgc2VuZERvY3VtZW50c0NvbXBvbmVudDogVHJhbnNhY3Rpb25TZW5kRG9jdW1lbnRzQ29tcG9uZW50O1xyXG5cclxuICBwdWJsaWMgY3JlYXRpbmdTYWxlc09yZGVyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1zYWxlcy1xdW90YXRpb25cIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QgPSBuZXcgUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCgpO1xyXG4gIHB1YmxpYyByZXBvcnREb2N1bWVudFByaW50UmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KCk7XHJcbiAgcHVibGljIHJlcG9ydERvY3VtZW50UGRmUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNjcmVlbkNvbmZpZ1NlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgaW1hZ2VTZXJ2aWNlOiBUcmFuc2FjdGlvbkltYWdlU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJvdGVjdGVkIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zYWN0aW9uQ3JlYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvbkNyZWF0aW9uU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIodHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHNjcmVlbkNvbmZpZ1NlcnZpY2UsIGltYWdlU2VydmljZSwgZGljdGlvbmFyeVNlcnZpY2UsIHRyYW5zYWN0aW9uU2VydmljZSwgY2hhbmdlRGV0ZWN0b3IsIGRpYWxvZ1NlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS51cGRhdGVUcmFuc2FjdGlvblJlZmVyZW5jZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmNoZWNrUmVmVHJhbnNhY3Rpb24oKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBlbWFpbERvY3VtZW50KHJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLnNlbmREb2N1bWVudHNDb21wb25lbnQuc2VsZWN0ZWQpIHtcclxuICAgICAgY29uc3QgZW1haWxIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3Q6IEVtYWlsSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0ID1cclxuICAgICAgICBPYmplY3QuYXNzaWduKG5ldyBFbWFpbEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCgpLCByZXF1ZXN0KTtcclxuICAgICAgdGhpcy5fcHJlcGFyZUhpc3RvcmljUmVxdWVzdChlbWFpbEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCk7XHJcbiAgICAgIGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmVtYWlsSGlzdG9yaWNRdW90YXRpb24oZW1haWxIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZW1haWxRdW90YXRpb25SZXF1ZXN0OiBFbWFpbFF1b3RhdGlvblJlcXVlc3QgPVxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24obmV3IEVtYWlsUXVvdGF0aW9uUmVxdWVzdCgpLCByZXF1ZXN0KTtcclxuICAgICAgY29uc3QgcmVzdWx0OiBDb0RvY3VtZW50IHwgYm9vbGVhbiA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmVtYWlsUXVvdGF0aW9uKGVtYWlsUXVvdGF0aW9uUmVxdWVzdCk7XHJcbiAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBDb0RvY3VtZW50KSB7XHJcbiAgICAgICAgdGhpcy5zaWduYXR1cmVEb2N1bWVudElkID0gcmVzdWx0LmRvY3VtZW50SWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0RW1haWxBZGRyZXNzTGlzdCgpOiBQcm9taXNlPHN0cmluZ1tdPiB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0RGVmYXVsdEVtYWlsQWRkcmVzc0xpc3RGb3JRdW90YXRpb24odGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0RGVmYXVsdFNlbmRNZXRob2QoKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRRdW90YXRpb25EZWZhdWx0U2VuZE1ldGhvZCh0aGlzLnRyYW5zYWN0aW9uSW5mby5yZWxhdGlvbi5yZWxhdGlvbklkKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRFbWFpbExheW91dHMoKTogUHJvbWlzZTxSZXBvcnRMYXlvdXRTZWxlY3Rpb25FbWFpbFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0UXVvdGF0aW9uRW1haWxMYXlvdXRzKHRoaXMudHJhbnNhY3Rpb25JbmZvLnV1aWQpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldFByaW50TGF5b3V0cygpOiBQcm9taXNlPFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRRdW90YXRpb25QcmludExheW91dHModGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgcGRmRG9jdW1lbnQocmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCkge1xyXG4gICAgaWYgKHRoaXMuc2VuZERvY3VtZW50c0NvbXBvbmVudC5zZWxlY3RlZCkge1xyXG4gICAgICBjb25zdCBwZGZIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3Q6IFBkZkhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCA9XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihuZXcgUGRmSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KCksIHJlcXVlc3QpO1xyXG4gICAgICB0aGlzLl9wcmVwYXJlSGlzdG9yaWNSZXF1ZXN0KHBkZkhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCk7XHJcbiAgICAgIGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnBkZkhpc3RvcmljUXVvdGF0aW9uKHBkZkhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBwZGZRdW90YXRpb25SZXF1ZXN0OiBQZGZRdW90YXRpb25SZXF1ZXN0ID1cclxuICAgICAgICBPYmplY3QuYXNzaWduKG5ldyBQZGZRdW90YXRpb25SZXF1ZXN0KCksIHJlcXVlc3QpO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5wZGZRdW90YXRpb24ocGRmUXVvdGF0aW9uUmVxdWVzdCkudGhlbigocmVzdWx0OiBDb0RvY3VtZW50IHwgYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBDb0RvY3VtZW50KSB7XHJcbiAgICAgICAgICB0aGlzLnNpZ25hdHVyZURvY3VtZW50SWQgPSByZXN1bHQuZG9jdW1lbnRJZDtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFzeW5jIHByaW50RG9jdW1lbnQocmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCkge1xyXG4gICAgaWYgKHRoaXMuc2VuZERvY3VtZW50c0NvbXBvbmVudC5zZWxlY3RlZCkge1xyXG4gICAgICBjb25zdCBwcmludEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdDogUHJpbnRIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QgPVxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24obmV3IFByaW50SGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KCksIHJlcXVlc3QpO1xyXG4gICAgICB0aGlzLl9wcmVwYXJlSGlzdG9yaWNSZXF1ZXN0KHByaW50SGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KTtcclxuICAgICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UucHJpbnRIaXN0b3JpY1F1b3RhdGlvbihwcmludEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBwcmludFF1b3RhdGlvblJlcXVlc3Q6IFByaW50UXVvdGF0aW9uUmVxdWVzdCA9XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihuZXcgUHJpbnRRdW90YXRpb25SZXF1ZXN0KCksIHJlcXVlc3QpO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5wcmludFF1b3RhdGlvbihwcmludFF1b3RhdGlvblJlcXVlc3QpLnRoZW4oKHJlc3VsdDogQ29Eb2N1bWVudCB8IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgQ29Eb2N1bWVudCkge1xyXG4gICAgICAgICAgdGhpcy5zaWduYXR1cmVEb2N1bWVudElkID0gcmVzdWx0LmRvY3VtZW50SWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVIaXN0b3JpY1JlcXVlc3QocmVxdWVzdDogRW1haWxIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCB8IFByaW50SGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3QgfCBQZGZIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCk6IHZvaWQge1xyXG4gICAgcmVxdWVzdC5yZXBvcnREYXRhSWQgPSB0aGlzLnNlbmREb2N1bWVudHNDb21wb25lbnQuYWN0aXZlUmVwb3J0LnJlcG9ydElkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNyZWF0ZVNhbGVzT3JkZXIoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0OiBDb3B5VHJhbnNhY3Rpb25SZXF1ZXN0ID0gbmV3IENvcHlUcmFuc2FjdGlvblJlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QudHJhbnNJZCA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkO1xyXG4gICAgcmVxdWVzdC50cmFuc2FjdGlvbkRhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgcmVxdWVzdC50cmFuc2FjdGlvblJlbGF0aW9uSWQgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5yZWxhdGlvbi5yZWxhdGlvbklkO1xyXG4gICAgcmVxdWVzdC5oYW5kbGVkQnlSZWxhdGlvbklkID0gdGhpcy50cmFuc2FjdGlvbkluZm8uaGFuZGxlZEJ5O1xyXG5cclxuICAgIHRoaXMuY3JlYXRpbmdTYWxlc09yZGVyID0gdHJ1ZTtcclxuICAgIGF3YWl0IHRoaXMudHJhbnNhY3Rpb25DcmVhdGlvblNlcnZpY2UuY3JlYXRlU2FsZXNPcmRlclRocm91Z2hRdW90YXRpb24ocmVxdWVzdCk7XHJcbiAgICB0aGlzLmNyZWF0aW5nU2FsZXNPcmRlciA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNhbGVzT3JkZXJOYXZpZ2F0aW9uKHRyYW5zTnI6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvbk5hdmlnYXRpb24ubmV4dCh0cmFuc05yKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDdXJyZW50UmVmVHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uUmVmVHJhbnNhY3Rpb25bXSB7XHJcbiAgICBjb25zdCByZWZUcmFuc2FjdGlvbk5yczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XHJcbiAgICBjb25zdCByZWZUcmFuc2FjdGlvbnNMaXN0OiBUcmFuc2FjdGlvblJlZlRyYW5zYWN0aW9uW10gPSBbXTtcclxuXHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25MaW5lcy5mb3JFYWNoKChsaW5lKSA9PiB7XHJcbiAgICAgIGxpbmUucmVmVHJhbnNhY3Rpb25zPy5mb3JFYWNoKChyZWYpID0+IHtcclxuICAgICAgICBpZiAoIXJlZlRyYW5zYWN0aW9uTnJzLmhhcyhyZWYucmVmVHJhbnNhY3Rpb25OcikpIHtcclxuICAgICAgICAgIHJlZlRyYW5zYWN0aW9uTnJzLmFkZChyZWYucmVmVHJhbnNhY3Rpb25Ocik7XHJcbiAgICAgICAgICByZWZUcmFuc2FjdGlvbnNMaXN0LnB1c2gocmVmKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHJlZlRyYW5zYWN0aW9uc0xpc3Q7XHJcbiAgfVxyXG59XHJcbiJdfQ==