@hmcts/ccd-case-ui-toolkit 5.0.27-angular11-upgrade → 5.0.28-angular11-upgrade

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 (77) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +11134 -10972
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/app.config.js +4 -1
  6. package/esm2015/lib/shared/components/case-editor/case-access-utils/index.js +6 -4
  7. package/esm2015/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.js +2 -10
  8. package/esm2015/lib/shared/components/case-editor/case-editor.module.js +35 -26
  9. package/esm2015/lib/shared/components/case-editor/services/case.notifier.js +36 -4
  10. package/esm2015/lib/shared/components/case-editor/services/cases.service.js +58 -58
  11. package/esm2015/lib/shared/components/case-editor/services/work-allocation.service.js +50 -11
  12. package/esm2015/lib/shared/components/case-history/case-history.component.js +2 -11
  13. package/esm2015/lib/shared/components/case-history/case-history.module.js +11 -1
  14. package/esm2015/lib/shared/components/case-timeline/case-timeline.component.js +2 -5
  15. package/esm2015/lib/shared/components/case-timeline/case-timeline.module.js +5 -1
  16. package/esm2015/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.js +86 -58
  17. package/esm2015/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.js +11 -8
  18. package/esm2015/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.js +5 -5
  19. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +2 -12
  20. package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.js +3 -3
  21. package/esm2015/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.js +13 -9
  22. package/esm2015/lib/shared/components/case-viewer/case-specific-access-success/case-specific-access-success.component.js +2 -2
  23. package/esm2015/lib/shared/components/case-viewer/case-viewer.component.js +13 -33
  24. package/esm2015/lib/shared/components/case-viewer/case-viewer.module.js +32 -15
  25. package/esm2015/lib/shared/components/case-viewer/services/case.resolver.js +38 -23
  26. package/esm2015/lib/shared/components/event-start/event-guard/event-start.guard.js +20 -30
  27. package/esm2015/lib/shared/components/loading-spinner/index.js +2 -1
  28. package/esm2015/lib/shared/components/loading-spinner/loading-spinner.module.js +27 -0
  29. package/esm2015/lib/shared/components/palette/document/write-document-field.component.js +2 -5
  30. package/esm2015/lib/shared/components/palette/palette.module.js +2 -1
  31. package/esm2015/lib/shared/components/search-result/search-result.component.js +2 -11
  32. package/esm2015/lib/shared/components/search-result/search-result.module.js +11 -1
  33. package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.component.js +2 -6
  34. package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.module.js +6 -1
  35. package/esm2015/lib/shared/domain/work-allocation/index.js +2 -1
  36. package/esm2015/lib/shared/domain/work-allocation/wa-service-config.model.js +2 -0
  37. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +9883 -9735
  38. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  39. package/lib/app.config.d.ts +2 -0
  40. package/lib/app.config.d.ts.map +1 -1
  41. package/lib/shared/components/case-editor/case-access-utils/index.d.ts +2 -2
  42. package/lib/shared/components/case-editor/case-access-utils/index.d.ts.map +1 -1
  43. package/lib/shared/components/case-editor/case-editor.module.d.ts +12 -11
  44. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  45. package/lib/shared/components/case-editor/services/case.notifier.d.ts +10 -3
  46. package/lib/shared/components/case-editor/services/case.notifier.d.ts.map +1 -1
  47. package/lib/shared/components/case-editor/services/cases.service.d.ts +19 -25
  48. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  49. package/lib/shared/components/case-editor/services/work-allocation.service.d.ts +6 -5
  50. package/lib/shared/components/case-editor/services/work-allocation.service.d.ts.map +1 -1
  51. package/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.d.ts +5 -1
  52. package/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.d.ts.map +1 -1
  53. package/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.d.ts +4 -2
  54. package/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.d.ts.map +1 -1
  55. package/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.d.ts.map +1 -1
  56. package/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.d.ts +1 -0
  57. package/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.d.ts.map +1 -1
  58. package/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.d.ts +4 -2
  59. package/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.d.ts.map +1 -1
  60. package/lib/shared/components/case-viewer/case-specific-access-success/case-specific-access-success.component.d.ts.map +1 -1
  61. package/lib/shared/components/case-viewer/case-viewer.component.d.ts +5 -3
  62. package/lib/shared/components/case-viewer/case-viewer.component.d.ts.map +1 -1
  63. package/lib/shared/components/case-viewer/case-viewer.module.d.ts +14 -13
  64. package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
  65. package/lib/shared/components/case-viewer/services/case.resolver.d.ts +11 -9
  66. package/lib/shared/components/case-viewer/services/case.resolver.d.ts.map +1 -1
  67. package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts +3 -5
  68. package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts.map +1 -1
  69. package/lib/shared/components/loading-spinner/index.d.ts +1 -0
  70. package/lib/shared/components/loading-spinner/index.d.ts.map +1 -1
  71. package/lib/shared/components/loading-spinner/loading-spinner.module.d.ts +9 -0
  72. package/lib/shared/components/loading-spinner/loading-spinner.module.d.ts.map +1 -0
  73. package/lib/shared/domain/work-allocation/index.d.ts +1 -0
  74. package/lib/shared/domain/work-allocation/index.d.ts.map +1 -1
  75. package/lib/shared/domain/work-allocation/wa-service-config.model.d.ts +9 -0
  76. package/lib/shared/domain/work-allocation/wa-service-config.model.d.ts.map +1 -0
  77. package/package.json +1 -1
@@ -414,5 +414,6 @@ i0.ɵɵsetComponentScope(ReadComplexFieldTableComponent, [i2.NgForOf, i2.NgIf, F
414
414
  i0.ɵɵsetComponentScope(ReadComplexFieldCollectionTableComponent, [i2.NgForOf, i2.NgIf, FieldReadComponent,
415
415
  ReadCaseLinkFieldComponent], [i3.ReadFieldsFilterPipe, i5.CcdCollectionTableCaseFieldsFilterPipe, i2.KeyValuePipe, i4.IsCompoundPipe]);
416
416
  i0.ɵɵsetComponentScope(WriteComplexFieldComponent, [i2.NgIf, i2.NgForOf, i2.NgSwitch, i2.NgSwitchCase, FieldReadComponent, i6.LabelSubstitutorDirective, i7.NgControlStatusGroup, i7.FormGroupDirective, FieldWriteComponent], [i8.FieldLabelPipe, i9.IsReadOnlyPipe]);
417
+ i0.ɵɵsetComponentScope(WriteDocumentFieldComponent, [i2.NgClass, i2.NgIf, ReadDocumentFieldComponent], [i8.FieldLabelPipe]);
417
418
  i0.ɵɵsetComponentScope(WriteCollectionFieldComponent, [i2.NgIf, i2.NgForOf, FieldWriteComponent, i7.NgControlStatusGroup, i7.FormGroupDirective], [i8.FieldLabelPipe, i10.FirstErrorPipe]);
418
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFsZXR0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9wYWxldHRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMxSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FB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b0JBQ3RCLHNCQUFzQjtvQkFDdEIsa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLG1CQUFtQjtvQkFDbkIscUJBQXFCO29CQUNyQixnQkFBZ0I7b0JBQ2hCLGNBQWMsQ0FBQyxPQUFPLEVBQUU7aUJBQ3pCO2dCQUNELFlBQVksRUFBRTtvQkFDWixhQUFhO29CQUNiLGtCQUFrQjtvQkFDbEIsZUFBZTtvQkFDZixvQkFBb0I7b0JBQ3BCLGVBQWU7b0JBRWYsR0FBRyxrQkFBa0I7aUJBQ3RCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCwwQkFBMEI7b0JBQzFCLHNCQUFzQjtvQkFDdEIsc0JBQXNCO29CQUN0QixVQUFVO29CQUNWLGtCQUFrQjtvQkFDbEIsV0FBVztvQkFDWCxHQUFHLGtCQUFrQjtpQkFDdEI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULFlBQVk7b0JBQ1osOEJBQThCO29CQUM5QixjQUFjO29CQUNkLHFCQUFxQjtvQkFDckIsc0JBQXNCO29CQUN0Qix1QkFBdUI7b0JBQ3ZCLGFBQWE7b0JBQ2IsRUFBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUM7aUJBQzlDO2FBQ0Y7O3VCQTNHRyw0QkFBNEIsMENBbEI1QixrQkFBa0I7dUJBcUNsQiw0QkFBNEIsZUFyQzVCLGtCQUFrQjt1QkFzQ2xCLDhCQUE4Qix3QkF0QzlCLGtCQUFrQjt1QkF1Q2xCLHdDQUF3Qyx3QkF2Q3hDLGtCQUFrQjtJQW1DbEIsMEJBQTBCO3VCQVMxQiwwQkFBMEIsc0RBNUMxQixrQkFBa0IsZ0ZBQ2xCLG1CQUFtQjt1QkFtRW5CLDZCQUE2Qix3QkFuRTdCLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5neE1hdERhdGV0aW1lUGlja2VyTW9kdWxlLCBOZ3hNYXROYXRpdmVEYXRlTW9kdWxlLCBOZ3hNYXRUaW1lcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXItbWF0ZXJpYWwtY29tcG9uZW50cy9kYXRldGltZS1waWNrZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgUGF5bWVudExpYk1vZHVsZSB9IGZyb20gJ0BobWN0cy9jY3BheS13ZWItY29tcG9uZW50JztcbmltcG9ydCB7IE5neE1kTW9kdWxlIH0gZnJvbSAnbmd4LW1kJztcblxuaW1wb3J0IHsgSGVhZGVyc01vZHVsZSwgVGFic01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQmFubmVyc01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvYmFubmVycy9iYW5uZXJzLm1vZHVsZSc7XG5pbXBvcnQgeyBCb2R5TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9ib2R5L2JvZHkubW9kdWxlJztcbmltcG9ydCB7IEZvb3RlcnNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXJzLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3JtTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9mb3JtL2Zvcm0ubW9kdWxlJztcblxuaW1wb3J0IHsgUGFsZXR0ZVV0aWxzTW9kdWxlIH0gZnJvbSAnLi91dGlscyc7XG5cbmltcG9ydCB7IFBpcGVzTW9kdWxlIH0gZnJvbSAnLi4vLi4vcGlwZXMvcGlwZXMubW9kdWxlJztcbmltcG9ydCB7IEZpZWxkUmVhZENvbXBvbmVudCwgRmllbGRSZWFkTGFiZWxDb21wb25lbnQsIEZpZWxkV3JpdGVDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtZmllbGQnO1xuXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU2Nyb2xsVG9Nb2R1bGUgfSBmcm9tICdAbmlja3ktbGVuYWVycy9uZ3gtc2Nyb2xsLXRvJztcbmltcG9ydCB7IExhYmVsU3Vic3RpdHV0b3JNb2R1bGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3N1YnN0aXR1dG9yJztcbmltcG9ydCB7IEZvcm1WYWxpZGF0b3JzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvcm0vZm9ybS12YWxpZGF0b3JzLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dpbmRvdyc7XG5pbXBvcnQgeyBXcml0ZUFkZHJlc3NGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vYWRkcmVzcy93cml0ZS1hZGRyZXNzLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWFkQ2FzZUxpbmtGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY2FzZS1saW5rL3JlYWQtY2FzZS1saW5rLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXcml0ZUNhc2VMaW5rRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2Nhc2UtbGluay93cml0ZS1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFJlYWRDb2xsZWN0aW9uRmllbGRDb21wb25lbnQsIFdyaXRlQ29sbGVjdGlvbkZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IENvbGxlY3Rpb25DcmVhdGVDaGVja2VyU2VydmljZSB9IGZyb20gJy4vY29sbGVjdGlvbi9jb2xsZWN0aW9uLWNyZWF0ZS1jaGVja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVhZENvbXBsZXhGaWVsZENvbGxlY3Rpb25UYWJsZUNvbXBvbmVudCwgUmVhZENvbXBsZXhGaWVsZENvbXBvbmVudCwgUmVhZENvbXBsZXhGaWVsZFJhd0NvbXBvbmVudCwgUmVhZENvbXBsZXhGaWVsZFRhYmxlQ29tcG9uZW50LCBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY29tcGxleCc7XG5pbXBvcnQgeyBSZWFkRGF0ZUZpZWxkQ29tcG9uZW50LCBXcml0ZURhdGVDb250YWluZXJGaWVsZENvbXBvbmVudCwgV3JpdGVEYXRlRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2RhdGUnO1xuaW1wb3J0IHsgRGF0ZXRpbWVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGV0aW1lLXBpY2tlcic7XG5pbXBvcnQgeyBEb2N1bWVudFVybFBpcGUgfSBmcm9tICcuL2RvY3VtZW50JztcbmltcG9ydCB7IEZpbGVVcGxvYWRQcm9ncmVzc0d1YXJkIH0gZnJvbSAnLi9kb2N1bWVudC9maWxlLXVwbG9hZC1wcm9ncmVzcy5ndWFyZCc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9kb2N1bWVudC9maWxlLXVwbG9hZC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlYWREb2N1bWVudEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9kb2N1bWVudC9yZWFkLWRvY3VtZW50LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2RvY3VtZW50L3dyaXRlLWRvY3VtZW50LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljTGlzdFBpcGUsIFJlYWREeW5hbWljTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWxpc3QnO1xuaW1wb3J0IHsgV3JpdGVEeW5hbWljTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWxpc3Qvd3JpdGUtZHluYW1pYy1saXN0LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUmFkaW9MaXN0UGlwZSwgUmVhZER5bmFtaWNSYWRpb0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1yYWRpby1saXN0JztcbmltcG9ydCB7IFdyaXRlRHluYW1pY1JhZGlvTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXJhZGlvLWxpc3Qvd3JpdGUtZHluYW1pYy1yYWRpby1saXN0LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWFkRW1haWxGaWVsZENvbXBvbmVudCwgV3JpdGVFbWFpbEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9lbWFpbCc7XG5pbXBvcnQgeyBGaXhlZExpc3RQaXBlLCBSZWFkRml4ZWRMaXN0RmllbGRDb21wb25lbnQsIFdyaXRlRml4ZWRMaXN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2ZpeGVkLWxpc3QnO1xuaW1wb3J0IHsgRml4ZWRSYWRpb0xpc3RQaXBlLCBSZWFkRml4ZWRSYWRpb0xpc3RGaWVsZENvbXBvbmVudCwgV3JpdGVGaXhlZFJhZGlvTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9maXhlZC1yYWRpby1saXN0JztcbmltcG9ydCB7IENhc2VIaXN0b3J5Vmlld2VyRmllbGRDb21wb25lbnQsIEV2ZW50TG9nQ29tcG9uZW50LCBFdmVudExvZ0RldGFpbHNDb21wb25lbnQsIEV2ZW50TG9nVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2hpc3RvcnknO1xuaW1wb3J0IHsgUmVhZEp1ZGljaWFsVXNlckZpZWxkQ29tcG9uZW50LCBXcml0ZUp1ZGljaWFsVXNlckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9qdWRpY2lhbC11c2VyJztcbmltcG9ydCB7IExhYmVsRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2xhYmVsJztcbmltcG9ydCB7IE1hcmtkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9tYXJrZG93bic7XG5pbXBvcnQgeyBNb25leUdicElucHV0Q29tcG9uZW50LCBSZWFkTW9uZXlHYnBGaWVsZENvbXBvbmVudCwgV3JpdGVNb25leUdicEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9tb25leS1nYnAnO1xuaW1wb3J0IHsgUmVhZE11bHRpU2VsZWN0TGlzdEZpZWxkQ29tcG9uZW50LCBXcml0ZU11bHRpU2VsZWN0TGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9tdWx0aS1zZWxlY3QtbGlzdCc7XG5pbXBvcnQgeyBSZWFkTnVtYmVyRmllbGRDb21wb25lbnQsIFdyaXRlTnVtYmVyRmllbGRDb21wb25lbnQgfSBmcm9tICcuL251bWJlcic7XG5pbXBvcnQgeyBSZWFkT3JkZXJTdW1tYXJ5RmllbGRDb21wb25lbnQsIFJlYWRPcmRlclN1bW1hcnlSb3dDb21wb25lbnQsIFdyaXRlT3JkZXJTdW1tYXJ5RmllbGRDb21wb25lbnQgfSBmcm9tICcuL29yZGVyLXN1bW1hcnknO1xuaW1wb3J0IHsgUmVhZE9yZ2FuaXNhdGlvbkZpZWxkQ29tcG9uZW50LCBSZWFkT3JnYW5pc2F0aW9uRmllbGRSYXdDb21wb25lbnQsIFJlYWRPcmdhbmlzYXRpb25GaWVsZFRhYmxlQ29tcG9uZW50LCBXcml0ZU9yZ2FuaXNhdGlvbkNvbXBsZXhGaWVsZENvbXBvbmVudCwgV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vb3JnYW5pc2F0aW9uJztcbmltcG9ydCB7IFBhbGV0dGVTZXJ2aWNlIH0gZnJvbSAnLi9wYWxldHRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZVBheW1lbnRIaXN0b3J5Vmlld2VyRmllbGRDb21wb25lbnQgfSBmcm9tICcuL3BheW1lbnQnO1xuaW1wb3J0IHsgUmVhZFBob25lVUtGaWVsZENvbXBvbmVudCwgV3JpdGVQaG9uZVVLRmllbGRDb21wb25lbnQgfSBmcm9tICcuL3Bob25lLXVrJztcbmltcG9ydCB7IFJlYWRUZXh0RmllbGRDb21wb25lbnQsIFdyaXRlVGV4dEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0JztcbmltcG9ydCB7IFJlYWRUZXh0QXJlYUZpZWxkQ29tcG9uZW50LCBXcml0ZVRleHRBcmVhRmllbGRDb21wb25lbnQgfSBmcm9tICcuL3RleHQtYXJlYSc7XG5pbXBvcnQgeyBVbnN1cHBvcnRlZEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi91bnN1cHBvcnRlZC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2F5c1RvUGF5RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3dheXN0b3BheSc7XG5pbXBvcnQgeyBSZWFkWWVzTm9GaWVsZENvbXBvbmVudCwgV3JpdGVZZXNOb0ZpZWxkQ29tcG9uZW50LCBZZXNOb1NlcnZpY2UgfSBmcm9tICcuL3llcy1ubyc7XG5cbmNvbnN0IFBBTEVUVEVfQ09NUE9ORU5UUyA9IFtcbiAgICBVbnN1cHBvcnRlZEZpZWxkQ29tcG9uZW50LFxuICAgIERhdGV0aW1lUGlja2VyQ29tcG9uZW50LFxuICAgIFdheXNUb1BheUZpZWxkQ29tcG9uZW50LFxuICAgIE1hcmtkb3duQ29tcG9uZW50LFxuICAgIEZpZWxkUmVhZENvbXBvbmVudCxcbiAgICBGaWVsZFdyaXRlQ29tcG9uZW50LFxuICAgIEZpZWxkUmVhZExhYmVsQ29tcG9uZW50LFxuICAgIExhYmVsRmllbGRDb21wb25lbnQsXG4gICAgQ2FzZVBheW1lbnRIaXN0b3J5Vmlld2VyRmllbGRDb21wb25lbnQsXG4gICAgTW9uZXlHYnBJbnB1dENvbXBvbmVudCxcbiAgICBDYXNlSGlzdG9yeVZpZXdlckZpZWxkQ29tcG9uZW50LFxuICAgIEV2ZW50TG9nQ29tcG9uZW50LFxuICAgIEV2ZW50TG9nRGV0YWlsc0NvbXBvbmVudCxcbiAgICBFdmVudExvZ1RhYmxlQ29tcG9uZW50LFxuXG4gICAgLy8gLy8gUmVhZFxuICAgIFJlYWRUZXh0RmllbGRDb21wb25lbnQsXG4gICAgUmVhZFRleHRBcmVhRmllbGRDb21wb25lbnQsXG4gICAgUmVhZE51bWJlckZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWRFbWFpbEZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWRQaG9uZVVLRmllbGRDb21wb25lbnQsXG4gICAgUmVhZERhdGVGaWVsZENvbXBvbmVudCxcbiAgICBSZWFkQ29sbGVjdGlvbkZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWREb2N1bWVudEZpZWxkQ29tcG9uZW50LFxuXG4gICAgLy8gbmV3XG4gICAgUmVhZEp1ZGljaWFsVXNlckZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWRZZXNOb0ZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWRPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudCxcbiAgICBSZWFkT3JnYW5pc2F0aW9uRmllbGRUYWJsZUNvbXBvbmVudCxcbiAgICBSZWFkT3JnYW5pc2F0aW9uRmllbGRSYXdDb21wb25lbnQsXG4gICAgUmVhZE9yZGVyU3VtbWFyeUZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWRPcmRlclN1bW1hcnlSb3dDb21wb25lbnQsXG4gICAgUmVhZE1vbmV5R2JwRmllbGRDb21wb25lbnQsXG4gICAgUmVhZE11bHRpU2VsZWN0TGlzdEZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWREeW5hbWljTGlzdEZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWRGaXhlZExpc3RGaWVsZENvbXBvbmVudCxcbiAgICBSZWFkRml4ZWRSYWRpb0xpc3RGaWVsZENvbXBvbmVudCxcbiAgICBSZWFkRHluYW1pY1JhZGlvTGlzdEZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWRDYXNlTGlua0ZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWRDb21wbGV4RmllbGRDb21wb25lbnQsXG4gICAgUmVhZENvbXBsZXhGaWVsZFJhd0NvbXBvbmVudCxcbiAgICBSZWFkQ29tcGxleEZpZWxkVGFibGVDb21wb25lbnQsXG4gICAgUmVhZENvbXBsZXhGaWVsZENvbGxlY3Rpb25UYWJsZUNvbXBvbmVudCxcblxuICAgIC8vIFdyaXRlXG4gICAgV3JpdGVKdWRpY2lhbFVzZXJGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZUFkZHJlc3NGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZU9yZ2FuaXNhdGlvbkNvbXBsZXhGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVEeW5hbWljTGlzdEZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlRHluYW1pY1JhZGlvTGlzdEZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlVGV4dEZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlRGF0ZUNvbnRhaW5lckZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlVGV4dEFyZWFGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZVBob25lVUtGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZU51bWJlckZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlRW1haWxGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZURhdGVGaWVsZENvbXBvbmVudCxcblxuICAgIC8vIG5ld1xuICAgIFdyaXRlWWVzTm9GaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZU9yZ2FuaXNhdGlvbkZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlT3JnYW5pc2F0aW9uQ29tcGxleEZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlT3JkZXJTdW1tYXJ5RmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVNb25leUdicEZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlRGF0ZUNvbnRhaW5lckZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVGaXhlZExpc3RGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZUZpeGVkUmFkaW9MaXN0RmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVDYXNlTGlua0ZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlQ29sbGVjdGlvbkZpZWxkQ29tcG9uZW50XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFBhbGV0dGVVdGlsc01vZHVsZSxcbiAgICBQaXBlc01vZHVsZSxcbiAgICBCYW5uZXJzTW9kdWxlLFxuICAgIEhlYWRlcnNNb2R1bGUsXG4gICAgRm9vdGVyc01vZHVsZSxcbiAgICBCb2R5TW9kdWxlLFxuICAgIEZvcm1Nb2R1bGUsXG4gICAgVGFic01vZHVsZSxcbiAgICBMYWJlbFN1YnN0aXR1dG9yTW9kdWxlLFxuICAgIE5neE1kTW9kdWxlLFxuICAgIE5neE1hdERhdGV0aW1lUGlja2VyTW9kdWxlLFxuICAgIE5neE1hdFRpbWVwaWNrZXJNb2R1bGUsXG4gICAgTmd4TWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgUGF5bWVudExpYk1vZHVsZSxcbiAgICBTY3JvbGxUb01vZHVsZS5mb3JSb290KClcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRml4ZWRMaXN0UGlwZSxcbiAgICBGaXhlZFJhZGlvTGlzdFBpcGUsXG4gICAgRHluYW1pY0xpc3RQaXBlLFxuICAgIER5bmFtaWNSYWRpb0xpc3RQaXBlLFxuICAgIERvY3VtZW50VXJsUGlwZSxcblxuICAgIC4uLlBBTEVUVEVfQ09NUE9ORU5UU1xuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTmd4TWF0RGF0ZXRpbWVQaWNrZXJNb2R1bGUsXG4gICAgTmd4TWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBOZ3hNYXRUaW1lcGlja2VyTW9kdWxlLFxuICAgIFRhYnNNb2R1bGUsXG4gICAgUGFsZXR0ZVV0aWxzTW9kdWxlLFxuICAgIFBpcGVzTW9kdWxlLFxuICAgIC4uLlBBTEVUVEVfQ09NUE9ORU5UU1xuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBZZXNOb1NlcnZpY2UsXG4gICAgQ29sbGVjdGlvbkNyZWF0ZUNoZWNrZXJTZXJ2aWNlLFxuICAgIFBhbGV0dGVTZXJ2aWNlLFxuICAgIEZvcm1WYWxpZGF0b3JzU2VydmljZSxcbiAgICBGaWxlVXBsb2FkU3RhdGVTZXJ2aWNlLFxuICAgIEZpbGVVcGxvYWRQcm9ncmVzc0d1YXJkLFxuICAgIFdpbmRvd1NlcnZpY2UsXG4gICAge3Byb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6ICdlbi1HQid9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUGFsZXR0ZU1vZHVsZSB7XG59XG4iXX0=
419
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFsZXR0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9wYWxldHRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMxSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FB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b0JBQ3RCLHNCQUFzQjtvQkFDdEIsa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLG1CQUFtQjtvQkFDbkIscUJBQXFCO29CQUNyQixnQkFBZ0I7b0JBQ2hCLGNBQWMsQ0FBQyxPQUFPLEVBQUU7aUJBQ3pCO2dCQUNELFlBQVksRUFBRTtvQkFDWixhQUFhO29CQUNiLGtCQUFrQjtvQkFDbEIsZUFBZTtvQkFDZixvQkFBb0I7b0JBQ3BCLGVBQWU7b0JBRWYsR0FBRyxrQkFBa0I7aUJBQ3RCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCwwQkFBMEI7b0JBQzFCLHNCQUFzQjtvQkFDdEIsc0JBQXNCO29CQUN0QixVQUFVO29CQUNWLGtCQUFrQjtvQkFDbEIsV0FBVztvQkFDWCxHQUFHLGtCQUFrQjtpQkFDdEI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULFlBQVk7b0JBQ1osOEJBQThCO29CQUM5QixjQUFjO29CQUNkLHFCQUFxQjtvQkFDckIsc0JBQXNCO29CQUN0Qix1QkFBdUI7b0JBQ3ZCLGFBQWE7b0JBQ2IsRUFBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUM7aUJBQzlDO2FBQ0Y7O3VCQTNHRyw0QkFBNEIsMENBbEI1QixrQkFBa0I7dUJBcUNsQiw0QkFBNEIsZUFyQzVCLGtCQUFrQjt1QkFzQ2xCLDhCQUE4Qix3QkF0QzlCLGtCQUFrQjt1QkF1Q2xCLHdDQUF3Qyx3QkF2Q3hDLGtCQUFrQjtJQW1DbEIsMEJBQTBCO3VCQVMxQiwwQkFBMEIsc0RBNUMxQixrQkFBa0IsZ0ZBQ2xCLG1CQUFtQjt1QkE2Q25CLDJCQUEyQix3QkEzQjNCLDBCQUEwQjt1QkFpRDFCLDZCQUE2Qix3QkFuRTdCLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5neE1hdERhdGV0aW1lUGlja2VyTW9kdWxlLCBOZ3hNYXROYXRpdmVEYXRlTW9kdWxlLCBOZ3hNYXRUaW1lcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXItbWF0ZXJpYWwtY29tcG9uZW50cy9kYXRldGltZS1waWNrZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgUGF5bWVudExpYk1vZHVsZSB9IGZyb20gJ0BobWN0cy9jY3BheS13ZWItY29tcG9uZW50JztcbmltcG9ydCB7IE5neE1kTW9kdWxlIH0gZnJvbSAnbmd4LW1kJztcblxuaW1wb3J0IHsgSGVhZGVyc01vZHVsZSwgVGFic01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQmFubmVyc01vZHVsZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvYmFubmVycy9iYW5uZXJzLm1vZHVsZSc7XG5pbXBvcnQgeyBCb2R5TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9ib2R5L2JvZHkubW9kdWxlJztcbmltcG9ydCB7IEZvb3RlcnNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXJzLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3JtTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9mb3JtL2Zvcm0ubW9kdWxlJztcblxuaW1wb3J0IHsgUGFsZXR0ZVV0aWxzTW9kdWxlIH0gZnJvbSAnLi91dGlscyc7XG5cbmltcG9ydCB7IFBpcGVzTW9kdWxlIH0gZnJvbSAnLi4vLi4vcGlwZXMvcGlwZXMubW9kdWxlJztcbmltcG9ydCB7IEZpZWxkUmVhZENvbXBvbmVudCwgRmllbGRSZWFkTGFiZWxDb21wb25lbnQsIEZpZWxkV3JpdGVDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtZmllbGQnO1xuXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU2Nyb2xsVG9Nb2R1bGUgfSBmcm9tICdAbmlja3ktbGVuYWVycy9uZ3gtc2Nyb2xsLXRvJztcbmltcG9ydCB7IExhYmVsU3Vic3RpdHV0b3JNb2R1bGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3N1YnN0aXR1dG9yJztcbmltcG9ydCB7IEZvcm1WYWxpZGF0b3JzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvcm0vZm9ybS12YWxpZGF0b3JzLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dpbmRvdyc7XG5pbXBvcnQgeyBXcml0ZUFkZHJlc3NGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vYWRkcmVzcy93cml0ZS1hZGRyZXNzLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWFkQ2FzZUxpbmtGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY2FzZS1saW5rL3JlYWQtY2FzZS1saW5rLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXcml0ZUNhc2VMaW5rRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2Nhc2UtbGluay93cml0ZS1jYXNlLWxpbmstZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFJlYWRDb2xsZWN0aW9uRmllbGRDb21wb25lbnQsIFdyaXRlQ29sbGVjdGlvbkZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IENvbGxlY3Rpb25DcmVhdGVDaGVja2VyU2VydmljZSB9IGZyb20gJy4vY29sbGVjdGlvbi9jb2xsZWN0aW9uLWNyZWF0ZS1jaGVja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVhZENvbXBsZXhGaWVsZENvbGxlY3Rpb25UYWJsZUNvbXBvbmVudCwgUmVhZENvbXBsZXhGaWVsZENvbXBvbmVudCwgUmVhZENvbXBsZXhGaWVsZFJhd0NvbXBvbmVudCwgUmVhZENvbXBsZXhGaWVsZFRhYmxlQ29tcG9uZW50LCBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY29tcGxleCc7XG5pbXBvcnQgeyBSZWFkRGF0ZUZpZWxkQ29tcG9uZW50LCBXcml0ZURhdGVDb250YWluZXJGaWVsZENvbXBvbmVudCwgV3JpdGVEYXRlRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2RhdGUnO1xuaW1wb3J0IHsgRGF0ZXRpbWVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGV0aW1lLXBpY2tlcic7XG5pbXBvcnQgeyBEb2N1bWVudFVybFBpcGUgfSBmcm9tICcuL2RvY3VtZW50JztcbmltcG9ydCB7IEZpbGVVcGxvYWRQcm9ncmVzc0d1YXJkIH0gZnJvbSAnLi9kb2N1bWVudC9maWxlLXVwbG9hZC1wcm9ncmVzcy5ndWFyZCc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9kb2N1bWVudC9maWxlLXVwbG9hZC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlYWREb2N1bWVudEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9kb2N1bWVudC9yZWFkLWRvY3VtZW50LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2RvY3VtZW50L3dyaXRlLWRvY3VtZW50LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljTGlzdFBpcGUsIFJlYWREeW5hbWljTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWxpc3QnO1xuaW1wb3J0IHsgV3JpdGVEeW5hbWljTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWxpc3Qvd3JpdGUtZHluYW1pYy1saXN0LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUmFkaW9MaXN0UGlwZSwgUmVhZER5bmFtaWNSYWRpb0xpc3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1yYWRpby1saXN0JztcbmltcG9ydCB7IFdyaXRlRHluYW1pY1JhZGlvTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXJhZGlvLWxpc3Qvd3JpdGUtZHluYW1pYy1yYWRpby1saXN0LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZWFkRW1haWxGaWVsZENvbXBvbmVudCwgV3JpdGVFbWFpbEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9lbWFpbCc7XG5pbXBvcnQgeyBGaXhlZExpc3RQaXBlLCBSZWFkRml4ZWRMaXN0RmllbGRDb21wb25lbnQsIFdyaXRlRml4ZWRMaXN0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL2ZpeGVkLWxpc3QnO1xuaW1wb3J0IHsgRml4ZWRSYWRpb0xpc3RQaXBlLCBSZWFkRml4ZWRSYWRpb0xpc3RGaWVsZENvbXBvbmVudCwgV3JpdGVGaXhlZFJhZGlvTGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9maXhlZC1yYWRpby1saXN0JztcbmltcG9ydCB7IENhc2VIaXN0b3J5Vmlld2VyRmllbGRDb21wb25lbnQsIEV2ZW50TG9nQ29tcG9uZW50LCBFdmVudExvZ0RldGFpbHNDb21wb25lbnQsIEV2ZW50TG9nVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2hpc3RvcnknO1xuaW1wb3J0IHsgUmVhZEp1ZGljaWFsVXNlckZpZWxkQ29tcG9uZW50LCBXcml0ZUp1ZGljaWFsVXNlckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9qdWRpY2lhbC11c2VyJztcbmltcG9ydCB7IExhYmVsRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2xhYmVsJztcbmltcG9ydCB7IE1hcmtkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9tYXJrZG93bic7XG5pbXBvcnQgeyBNb25leUdicElucHV0Q29tcG9uZW50LCBSZWFkTW9uZXlHYnBGaWVsZENvbXBvbmVudCwgV3JpdGVNb25leUdicEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9tb25leS1nYnAnO1xuaW1wb3J0IHsgUmVhZE11bHRpU2VsZWN0TGlzdEZpZWxkQ29tcG9uZW50LCBXcml0ZU11bHRpU2VsZWN0TGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9tdWx0aS1zZWxlY3QtbGlzdCc7XG5pbXBvcnQgeyBSZWFkTnVtYmVyRmllbGRDb21wb25lbnQsIFdyaXRlTnVtYmVyRmllbGRDb21wb25lbnQgfSBmcm9tICcuL251bWJlcic7XG5pbXBvcnQgeyBSZWFkT3JkZXJTdW1tYXJ5RmllbGRDb21wb25lbnQsIFJlYWRPcmRlclN1bW1hcnlSb3dDb21wb25lbnQsIFdyaXRlT3JkZXJTdW1tYXJ5RmllbGRDb21wb25lbnQgfSBmcm9tICcuL29yZGVyLXN1bW1hcnknO1xuaW1wb3J0IHsgUmVhZE9yZ2FuaXNhdGlvbkZpZWxkQ29tcG9uZW50LCBSZWFkT3JnYW5pc2F0aW9uRmllbGRSYXdDb21wb25lbnQsIFJlYWRPcmdhbmlzYXRpb25GaWVsZFRhYmxlQ29tcG9uZW50LCBXcml0ZU9yZ2FuaXNhdGlvbkNvbXBsZXhGaWVsZENvbXBvbmVudCwgV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vb3JnYW5pc2F0aW9uJztcbmltcG9ydCB7IFBhbGV0dGVTZXJ2aWNlIH0gZnJvbSAnLi9wYWxldHRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZVBheW1lbnRIaXN0b3J5Vmlld2VyRmllbGRDb21wb25lbnQgfSBmcm9tICcuL3BheW1lbnQnO1xuaW1wb3J0IHsgUmVhZFBob25lVUtGaWVsZENvbXBvbmVudCwgV3JpdGVQaG9uZVVLRmllbGRDb21wb25lbnQgfSBmcm9tICcuL3Bob25lLXVrJztcbmltcG9ydCB7IFJlYWRUZXh0RmllbGRDb21wb25lbnQsIFdyaXRlVGV4dEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0JztcbmltcG9ydCB7IFJlYWRUZXh0QXJlYUZpZWxkQ29tcG9uZW50LCBXcml0ZVRleHRBcmVhRmllbGRDb21wb25lbnQgfSBmcm9tICcuL3RleHQtYXJlYSc7XG5pbXBvcnQgeyBVbnN1cHBvcnRlZEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi91bnN1cHBvcnRlZC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2F5c1RvUGF5RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3dheXN0b3BheSc7XG5pbXBvcnQgeyBSZWFkWWVzTm9GaWVsZENvbXBvbmVudCwgV3JpdGVZZXNOb0ZpZWxkQ29tcG9uZW50LCBZZXNOb1NlcnZpY2UgfSBmcm9tICcuL3llcy1ubyc7XG5cbmNvbnN0IFBBTEVUVEVfQ09NUE9ORU5UUyA9IFtcbiAgICBVbnN1cHBvcnRlZEZpZWxkQ29tcG9uZW50LFxuICAgIERhdGV0aW1lUGlja2VyQ29tcG9uZW50LFxuICAgIFdheXNUb1BheUZpZWxkQ29tcG9uZW50LFxuICAgIE1hcmtkb3duQ29tcG9uZW50LFxuICAgIEZpZWxkUmVhZENvbXBvbmVudCxcbiAgICBGaWVsZFdyaXRlQ29tcG9uZW50LFxuICAgIEZpZWxkUmVhZExhYmVsQ29tcG9uZW50LFxuICAgIExhYmVsRmllbGRDb21wb25lbnQsXG4gICAgQ2FzZVBheW1lbnRIaXN0b3J5Vmlld2VyRmllbGRDb21wb25lbnQsXG4gICAgTW9uZXlHYnBJbnB1dENvbXBvbmVudCxcbiAgICBDYXNlSGlzdG9yeVZpZXdlckZpZWxkQ29tcG9uZW50LFxuICAgIEV2ZW50TG9nQ29tcG9uZW50LFxuICAgIEV2ZW50TG9nRGV0YWlsc0NvbXBvbmVudCxcbiAgICBFdmVudExvZ1RhYmxlQ29tcG9uZW50LFxuXG4gICAgLy8gLy8gUmVhZFxuICAgIFJlYWRUZXh0RmllbGRDb21wb25lbnQsXG4gICAgUmVhZFRleHRBcmVhRmllbGRDb21wb25lbnQsXG4gICAgUmVhZE51bWJlckZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWRFbWFpbEZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWRQaG9uZVVLRmllbGRDb21wb25lbnQsXG4gICAgUmVhZERhdGVGaWVsZENvbXBvbmVudCxcbiAgICBSZWFkQ29sbGVjdGlvbkZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWREb2N1bWVudEZpZWxkQ29tcG9uZW50LFxuXG4gICAgLy8gbmV3XG4gICAgUmVhZEp1ZGljaWFsVXNlckZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWRZZXNOb0ZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWRPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudCxcbiAgICBSZWFkT3JnYW5pc2F0aW9uRmllbGRUYWJsZUNvbXBvbmVudCxcbiAgICBSZWFkT3JnYW5pc2F0aW9uRmllbGRSYXdDb21wb25lbnQsXG4gICAgUmVhZE9yZGVyU3VtbWFyeUZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWRPcmRlclN1bW1hcnlSb3dDb21wb25lbnQsXG4gICAgUmVhZE1vbmV5R2JwRmllbGRDb21wb25lbnQsXG4gICAgUmVhZE11bHRpU2VsZWN0TGlzdEZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWREeW5hbWljTGlzdEZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWRGaXhlZExpc3RGaWVsZENvbXBvbmVudCxcbiAgICBSZWFkRml4ZWRSYWRpb0xpc3RGaWVsZENvbXBvbmVudCxcbiAgICBSZWFkRHluYW1pY1JhZGlvTGlzdEZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWRDYXNlTGlua0ZpZWxkQ29tcG9uZW50LFxuICAgIFJlYWRDb21wbGV4RmllbGRDb21wb25lbnQsXG4gICAgUmVhZENvbXBsZXhGaWVsZFJhd0NvbXBvbmVudCxcbiAgICBSZWFkQ29tcGxleEZpZWxkVGFibGVDb21wb25lbnQsXG4gICAgUmVhZENvbXBsZXhGaWVsZENvbGxlY3Rpb25UYWJsZUNvbXBvbmVudCxcblxuICAgIC8vIFdyaXRlXG4gICAgV3JpdGVKdWRpY2lhbFVzZXJGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZUFkZHJlc3NGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZU9yZ2FuaXNhdGlvbkNvbXBsZXhGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZURvY3VtZW50RmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVEeW5hbWljTGlzdEZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlRHluYW1pY1JhZGlvTGlzdEZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlVGV4dEZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlRGF0ZUNvbnRhaW5lckZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlVGV4dEFyZWFGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZVBob25lVUtGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZU51bWJlckZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlRW1haWxGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZURhdGVGaWVsZENvbXBvbmVudCxcblxuICAgIC8vIG5ld1xuICAgIFdyaXRlWWVzTm9GaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZU9yZ2FuaXNhdGlvbkZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlT3JnYW5pc2F0aW9uQ29tcGxleEZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlT3JkZXJTdW1tYXJ5RmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVNb25leUdicEZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlRGF0ZUNvbnRhaW5lckZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlTXVsdGlTZWxlY3RMaXN0RmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVGaXhlZExpc3RGaWVsZENvbXBvbmVudCxcbiAgICBXcml0ZUZpeGVkUmFkaW9MaXN0RmllbGRDb21wb25lbnQsXG4gICAgV3JpdGVDYXNlTGlua0ZpZWxkQ29tcG9uZW50LFxuICAgIFdyaXRlQ29sbGVjdGlvbkZpZWxkQ29tcG9uZW50XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFBhbGV0dGVVdGlsc01vZHVsZSxcbiAgICBQaXBlc01vZHVsZSxcbiAgICBCYW5uZXJzTW9kdWxlLFxuICAgIEhlYWRlcnNNb2R1bGUsXG4gICAgRm9vdGVyc01vZHVsZSxcbiAgICBCb2R5TW9kdWxlLFxuICAgIEZvcm1Nb2R1bGUsXG4gICAgVGFic01vZHVsZSxcbiAgICBMYWJlbFN1YnN0aXR1dG9yTW9kdWxlLFxuICAgIE5neE1kTW9kdWxlLFxuICAgIE5neE1hdERhdGV0aW1lUGlja2VyTW9kdWxlLFxuICAgIE5neE1hdFRpbWVwaWNrZXJNb2R1bGUsXG4gICAgTmd4TWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgUGF5bWVudExpYk1vZHVsZSxcbiAgICBTY3JvbGxUb01vZHVsZS5mb3JSb290KClcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRml4ZWRMaXN0UGlwZSxcbiAgICBGaXhlZFJhZGlvTGlzdFBpcGUsXG4gICAgRHluYW1pY0xpc3RQaXBlLFxuICAgIER5bmFtaWNSYWRpb0xpc3RQaXBlLFxuICAgIERvY3VtZW50VXJsUGlwZSxcblxuICAgIC4uLlBBTEVUVEVfQ09NUE9ORU5UU1xuICBdLFxuICBleHBvcnRzOiBbXG4gICAgTmd4TWF0RGF0ZXRpbWVQaWNrZXJNb2R1bGUsXG4gICAgTmd4TWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBOZ3hNYXRUaW1lcGlja2VyTW9kdWxlLFxuICAgIFRhYnNNb2R1bGUsXG4gICAgUGFsZXR0ZVV0aWxzTW9kdWxlLFxuICAgIFBpcGVzTW9kdWxlLFxuICAgIC4uLlBBTEVUVEVfQ09NUE9ORU5UU1xuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBZZXNOb1NlcnZpY2UsXG4gICAgQ29sbGVjdGlvbkNyZWF0ZUNoZWNrZXJTZXJ2aWNlLFxuICAgIFBhbGV0dGVTZXJ2aWNlLFxuICAgIEZvcm1WYWxpZGF0b3JzU2VydmljZSxcbiAgICBGaWxlVXBsb2FkU3RhdGVTZXJ2aWNlLFxuICAgIEZpbGVVcGxvYWRQcm9ncmVzc0d1YXJkLFxuICAgIFdpbmRvd1NlcnZpY2UsXG4gICAge3Byb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6ICdlbi1HQid9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUGFsZXR0ZU1vZHVsZSB7XG59XG4iXX0=
@@ -10,15 +10,6 @@ import * as i1 from "../../services";
10
10
  import * as i2 from "../../../app.config";
11
11
  import * as i3 from "../../pipes";
12
12
  import * as i4 from "../../directives";
13
- import * as i5 from "@angular/common";
14
- import * as i6 from "@angular/router";
15
- import * as i7 from "../palette/base-field/field-read.component";
16
- import * as i8 from "../../directives/substitutor/label-substitutor.directive";
17
- import * as i9 from "../activity/activity.component";
18
- import * as i10 from "../pagination/pagination.component";
19
- import * as i11 from "ngx-pagination";
20
- import * as i12 from "../../pipes/case-reference/case-reference.pipe";
21
- import * as i13 from "../../pipes/search-result/sorting/sort-search-result.pipe";
22
13
  function SearchResultComponent_table_0_div_4_Template(rf, ctx) { if (rf & 1) {
23
14
  i0.ɵɵelementStart(0, "div", 11);
24
15
  i0.ɵɵelementStart(1, "span", 12);
@@ -782,7 +773,7 @@ SearchResultComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SearchResultCompone
782
773
  i0.ɵɵproperty("ngIf", ctx.hasResults());
783
774
  i0.ɵɵadvance(1);
784
775
  i0.ɵɵproperty("ngIf", !(ctx.hasResults() || ctx.hasDrafts()));
785
- } }, directives: [i5.NgIf, i5.NgForOf, i6.RouterLinkWithHref, i7.FieldReadComponent, i8.LabelSubstitutorDirective, i9.ActivityComponent, i10.PaginationComponent], pipes: [i5.DecimalPipe, i11.PaginatePipe, i12.CaseReferencePipe, i13.SortSearchResultPipe], styles: ["table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{vertical-align:top}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{font-size:16px;word-wrap:break-word}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{float:left}table[_ngcontent-%COMP%] .caseid-col[_ngcontent-%COMP%]{white-space:nowrap}.notification[_ngcontent-%COMP%]{text-align:center;padding:30px 0;margin-top:75px}a[_ngcontent-%COMP%]:hover{color:#005ea5}.search-result-reset-link[_ngcontent-%COMP%]{padding-right:15px;padding-left:15px}.search-result-column-header[_ngcontent-%COMP%]{width:unset;table-layout:normal}.search-result-column-header[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{display:table-cell;width:auto}@media screen and (max-width:379px){.search-result-column-header[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{display:block;float:right}}.search-result-column-label[_ngcontent-%COMP%]{font-size:16px;font-weight:700;word-wrap:break-word;cursor:pointer;padding-right:15px}.search-result-column-sort[_ngcontent-%COMP%]{font-size:16px}.sort-widget[_ngcontent-%COMP%]{cursor:pointer;text-decoration:none;color:#231f20}span.heading-medium[_ngcontent-%COMP%]{margin-top:-20px}.govuk-table__checkbox[_ngcontent-%COMP%]{vertical-align:middle;padding-left:3px}#search-result-heading__text[_ngcontent-%COMP%]:focus{outline:none}"] });
776
+ } }, styles: ["table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{vertical-align:top}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{font-size:16px;word-wrap:break-word}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{float:left}table[_ngcontent-%COMP%] .caseid-col[_ngcontent-%COMP%]{white-space:nowrap}.notification[_ngcontent-%COMP%]{text-align:center;padding:30px 0;margin-top:75px}a[_ngcontent-%COMP%]:hover{color:#005ea5}.search-result-reset-link[_ngcontent-%COMP%]{padding-right:15px;padding-left:15px}.search-result-column-header[_ngcontent-%COMP%]{width:unset;table-layout:normal}.search-result-column-header[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{display:table-cell;width:auto}@media screen and (max-width:379px){.search-result-column-header[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{display:block;float:right}}.search-result-column-label[_ngcontent-%COMP%]{font-size:16px;font-weight:700;word-wrap:break-word;cursor:pointer;padding-right:15px}.search-result-column-sort[_ngcontent-%COMP%]{font-size:16px}.sort-widget[_ngcontent-%COMP%]{cursor:pointer;text-decoration:none;color:#231f20}span.heading-medium[_ngcontent-%COMP%]{margin-top:-20px}.govuk-table__checkbox[_ngcontent-%COMP%]{vertical-align:middle;padding-left:3px}#search-result-heading__text[_ngcontent-%COMP%]:focus{outline:none}"] });
786
777
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchResultComponent, [{
787
778
  type: Component,
788
779
  args: [{
@@ -825,4 +816,4 @@ SearchResultComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SearchResultCompone
825
816
  }], sortHandler: [{
826
817
  type: Output
827
818
  }] }); })();
828
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvc2VhcmNoLXJlc3VsdC9zZWFyY2gtcmVzdWx0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zZWFyY2gtcmVzdWx0L3NlYXJjaC1yZXN1bHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUNsRCxZQUFZLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUNWLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLHFDQUFxQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNKM0gsK0JBQXlGO0lBQ3ZGLGdDQUEwRDtJQUFBLGlCQUFDO0lBQUEsaUJBQU87SUFDbEUsa0NBQXlDO0lBQ3ZDLGdDQUE0QztJQUFBLHVCQUFP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a0JBRHhCLEtBQUs7WUFJQyxjQUFjO2tCQURwQixLQUFLO1lBSUMsZ0JBQWdCO2tCQUR0QixLQUFLO1lBSUMsZ0JBQWdCO2tCQUR0QixLQUFLO1lBSUMsZ0JBQWdCO2tCQUR0QixLQUFLO1lBSUMsc0JBQXNCO2tCQUQ1QixLQUFLO1lBSUMsU0FBUztrQkFEZixNQUFNO1lBSUEsVUFBVTtrQkFEaEIsTUFBTTtZQUlBLFNBQVM7a0JBRGYsTUFBTTtZQUlBLFdBQVc7a0JBRGpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBQbGFjZWhvbGRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IENhc2VGaWVsZCwgQ2FzZVN0YXRlLCBDYXNlVHlwZSwgRGlzcGxheU1vZGUsXG4gIERSQUZUX1BSRUZJWCwgSnVyaXNkaWN0aW9uLCBQYWdpbmF0aW9uTWV0YWRhdGEsIFNlYXJjaFJlc3VsdFZpZXcsIFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4sXG4gIFNlYXJjaFJlc3VsdFZpZXdJdGVtLCBTZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3IsIFNvcnRPcmRlciwgU29ydFBhcmFtZXRlcnMgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZVJlZmVyZW5jZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBBY3Rpdml0eVNlcnZpY2UsIEJyb3dzZXJTZXJ2aWNlLCBTZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5LCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1zZWFyY2gtcmVzdWx0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1yZXN1bHQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtcmVzdWx0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoUmVzdWx0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fSlVSSVNESUNUSU9OID0gJ2p1cmlzZGljdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9UWVBFID0gJ2Nhc2UtdHlwZSc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9TVEFURSA9ICdjYXNlLXN0YXRlJztcblxuICBwcml2YXRlIHJlYWRvbmx5IFBBR0lOQVRJT05fTUFYX0lURU1fUkVTVUxUID0gMTAwMDA7XG5cbiAgcHVibGljIElDT04gPSBEaXNwbGF5TW9kZS5JQ09OO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlTGlua1VybFRlbXBsYXRlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGp1cmlzZGljdGlvbjogSnVyaXNkaWN0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlVHlwZTogQ2FzZVR5cGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VTdGF0ZTogQ2FzZVN0YXRlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRmlsdGVyRkc6IEZvcm1Hcm91cDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVzdWx0VmlldzogU2VhcmNoUmVzdWx0VmlldztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZTogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdpbmF0aW9uTWV0YWRhdGE6IFBhZ2luYXRpb25NZXRhZGF0YTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbWV0YWRhdGFGaWVsZHM6IHN0cmluZ1tdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZWxlY3Rpb25FbmFibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dPbmx5U2VsZWN0ZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcHJlU2VsZWN0ZWRDYXNlczogU2VhcmNoUmVzdWx0Vmlld0l0ZW1bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb25zdW1lclNvcnRpbmdFbmFibGVkID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWxlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaFJlc3VsdFZpZXdJdGVtW10+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjaGFuZ2VQYWdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsaWNrQ2FzZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzb3J0SGFuZGxlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHBhZ2luYXRpb25MaW1pdEVuZm9yY2VkID0gZmFsc2U7XG5cbiAgcHVibGljIHBhZ2luYXRpb25QYWdlU2l6ZTogbnVtYmVyO1xuXG4gIHB1YmxpYyBoaWRlUm93czogYm9vbGVhbjtcblxuICBwdWJsaWMgc2VsZWN0ZWQ6IHtcbiAgICBpbml0PzogYm9vbGVhbixcbiAgICBqdXJpc2RpY3Rpb24/OiBKdXJpc2RpY3Rpb24sXG4gICAgY2FzZVR5cGU/OiBDYXNlVHlwZSxcbiAgICBjYXNlU3RhdGU/OiBDYXNlU3RhdGUsXG4gICAgZm9ybUdyb3VwPzogRm9ybUdyb3VwLFxuICAgIG1ldGFkYXRhRmllbGRzPzogc3RyaW5nW10sXG4gICAgcGFnZT86IG51bWJlclxuICB9ID0ge307XG5cbiAgcHVibGljIHNvcnRQYXJhbWV0ZXJzOiBTb3J0UGFyYW1ldGVycztcbiAgcHVibGljIHNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3Rvcnk6IFNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3Rvcnk7XG4gIHB1YmxpYyBkcmFmdHNDb3VudDogbnVtYmVyO1xuXG4gIHB1YmxpYyBjb25zdW1lclNvcnRQYXJhbWV0ZXJzOiB7IGNvbHVtbjogc3RyaW5nLCBvcmRlcjogU29ydE9yZGVyLCB0eXBlOiBzdHJpbmcgfSA9IHsgY29sdW1uOiBudWxsLCBvcmRlcjogbnVsbCwgdHlwZTogbnVsbCB9O1xuXG4gIHB1YmxpYyBzZWxlY3RlZENhc2VzOiBTZWFyY2hSZXN1bHRWaWV3SXRlbVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeTogU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeSxcbiAgICBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZpdHlTZXJ2aWNlOiBBY3Rpdml0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlUmVmZXJlbmNlUGlwZTogQ2FzZVJlZmVyZW5jZVBpcGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZWhvbGRlclNlcnZpY2U6IFBsYWNlaG9sZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJyb3dzZXJTZXJ2aWNlOiBCcm93c2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeSA9IHNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3Rvcnk7XG4gICAgdGhpcy5wYWdpbmF0aW9uUGFnZVNpemUgPSBhcHBDb25maWcuZ2V0UGFnaW5hdGlvblBhZ2VTaXplKCk7XG4gICAgdGhpcy5oaWRlUm93cyA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByZVNlbGVjdGVkQ2FzZXMpIHtcbiAgICAgIGZvciAoY29uc3QgcHJlU2VsZWN0ZWRDYXNlIG9mIHRoaXMucHJlU2VsZWN0ZWRDYXNlcykge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZENhc2VzICYmICF0aGlzLnNlbGVjdGVkQ2FzZXMuc29tZShhQ2FzZSA9PiBhQ2FzZS5jYXNlX2lkID09PSBwcmVTZWxlY3RlZENhc2UuY2FzZV9pZCkpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMucHVzaChwcmVTZWxlY3RlZENhc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ2V2ZW50VXJsJyk7XG4gICAgdGhpcy5zZWxlY3Rpb24uZW1pdCh0aGlzLnNlbGVjdGVkQ2FzZXMpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblxuICAgIGlmIChjaGFuZ2VzWydyZXN1bHRWaWV3J10pIHtcbiAgICAgIHRoaXMuaGlkZVJvd3MgPSBmYWxzZTtcblxuICAgICAgdGhpcy5zb3J0UGFyYW1ldGVycyA9IHVuZGVmaW5lZDtcbiAgICAgIC8vIENsb25lIGByZXN1bHRWaWV3YCB0byBwcmV2ZW50IHNvcnRpbmcgdGhlIGV4dGVybmFsIHZhcmlhYmxlXG4gICAgICB0aGlzLnJlc3VsdFZpZXcgPSB7XG4gICAgICAgIGNvbHVtbnM6IHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zLnNsaWNlKDApLFxuICAgICAgICByZXN1bHRzOiB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5zbGljZSgwKSxcbiAgICAgICAgaGFzRHJhZnRzOiB0aGlzLnJlc3VsdFZpZXcuaGFzRHJhZnRzXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnJlc3VsdFZpZXcuY29sdW1ucyA9IHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zLnNvcnQoKGE6IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4sIGI6IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pID0+IHtcbiAgICAgICAgcmV0dXJuIGEub3JkZXIgLSBiLm9yZGVyO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuaHlkcmF0ZVJlc3VsdFZpZXcoKTtcbiAgICAgIHRoaXMuZHJhZnRzQ291bnQgPSB0aGlzLmRyYWZ0c0NvdW50ID8gdGhpcy5kcmFmdHNDb3VudCA6IHRoaXMubnVtYmVyT2ZEcmFmdHMoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ3BhZ2UnXSkge1xuICAgICAgdGhpcy5zZWxlY3RlZC5wYWdlID0gKGNoYW5nZXNbJ3BhZ2UnXSkuY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzdWx0VG90YWwoKTogbnVtYmVyIHtcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMucGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3Jlc3VsdHNfY291bnQ7XG4gICAgY29uc3QgbWF4aW11bVJlc3VsdFJlYWNoZWQgPSB0b3RhbCA+PSB0aGlzLlBBR0lOQVRJT05fTUFYX0lURU1fUkVTVUxUO1xuICAgIHRoaXMucGFnaW5hdGlvbkxpbWl0RW5mb3JjZWQgPSBtYXhpbXVtUmVzdWx0UmVhY2hlZDtcblxuICAgIHJldHVybiBtYXhpbXVtUmVzdWx0UmVhY2hlZCA/IHRoaXMuUEFHSU5BVElPTl9NQVhfSVRFTV9SRVNVTFQgOiB0b3RhbDtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ2FzZXMgPSBbXTtcbiAgICB0aGlzLnNlbGVjdGlvbi5lbWl0KHRoaXMuc2VsZWN0ZWRDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgY2FuQmVTaGFyZWQoY2FzZVZpZXc6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNhc2VWaWV3LnN1cHBsZW1lbnRhcnlfZGF0YSAmJiBjYXNlVmlldy5zdXBwbGVtZW50YXJ5X2RhdGEuaGFzT3duUHJvcGVydHkoJ29yZ3NfYXNzaWduZWRfdXNlcnMnKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5BbnlCZVNoYXJlZCgpOiBib29sZWFuIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKHRoaXMuY2FuQmVTaGFyZWQodGhpcy5yZXN1bHRWaWV3LnJlc3VsdHNbaV0pKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFsbE9uUGFnZVNlbGVjdGVkKCkpIHtcbiAgICAgIC8vIGFsbCBjYXNlcyBhbHJlYWR5IHNlbGVjdGVkLCBzbyB1bnNlbGVjdCBhbGwgb24gdGhpcyBwYWdlXG4gICAgICB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5mb3JFYWNoKGMgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuZm9yRWFjaCgocywgaSkgPT4ge1xuICAgICAgICAgIGlmIChjLmNhc2VfaWQgPT09IHMuY2FzZV9pZCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VzLnNwbGljZShpLCAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmZvckVhY2goYyA9PiB7XG4gICAgICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKGMpICYmIHRoaXMuY2FuQmVTaGFyZWQoYykpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMucHVzaChjKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9uLmVtaXQodGhpcy5zZWxlY3RlZENhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VTZWxlY3Rpb24oYzogU2VhcmNoUmVzdWx0Vmlld0l0ZW0pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1NlbGVjdGVkKGMpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuZm9yRWFjaCgocywgaSkgPT4ge1xuICAgICAgICBpZiAoYy5jYXNlX2lkID09PSBzLmNhc2VfaWQpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuc3BsaWNlKGksIDEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuY2FuQmVTaGFyZWQoYykpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VzLnB1c2goYyk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9uLmVtaXQodGhpcy5zZWxlY3RlZENhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NlbGVjdGVkKGM6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogYm9vbGVhbiB7XG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSB0aGlzLnNlbGVjdGVkQ2FzZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBpZiAoYy5jYXNlX2lkID09PSB0aGlzLnNlbGVjdGVkQ2FzZXNbaV0uY2FzZV9pZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGFsbE9uUGFnZVNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIGxldCBjYW5CZVNoYXJlZENvdW50ID0gMDtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgY29uc3QgciA9IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzW2ldO1xuICAgICAgaWYgKHRoaXMuY2FuQmVTaGFyZWQocikpIHtcbiAgICAgICAgY2FuQmVTaGFyZWRDb3VudCArKztcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKHIpICYmIHRoaXMuY2FuQmVTaGFyZWQocikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2FuQmVTaGFyZWRDb3VudCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIeWRyYXRlcyByZXN1bHQgdmlldyB3aXRoIGNhc2UgZmllbGQgZGVmaW5pdGlvbnMuXG4gICAqL1xuICAvLyBBIGxvbmdlciB0ZXJtIHJlc29sdXRpb24gaXMgdG8gbW92ZSB0aGlzIHBpZWNlIG9mIGxvZ2ljIHRvIHRoZSBiYWNrZW5kXG4gIHB1YmxpYyBoeWRyYXRlUmVzdWx0VmlldygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5mb3JFYWNoKHJlc3VsdCA9PiB7XG4gICAgICBjb25zdCBjYXNlRmllbGRzID0gW107XG5cbiAgICAgIE9iamVjdC5rZXlzKHJlc3VsdC5jYXNlX2ZpZWxkcykuZm9yRWFjaChmaWVsZElkID0+IHtcblxuICAgICAgICBjb25zdCBmaWVsZCA9IHJlc3VsdC5jYXNlX2ZpZWxkc1tmaWVsZElkXTtcblxuICAgICAgICBjYXNlRmllbGRzLnB1c2goT2JqZWN0LmFzc2lnbihuZXcgQ2FzZUZpZWxkKCksIHtcbiAgICAgICAgICBpZDogZmllbGRJZCxcbiAgICAgICAgICBsYWJlbDogbnVsbCxcbiAgICAgICAgICBmaWVsZF90eXBlOiB7fSxcbiAgICAgICAgICB2YWx1ZTogZmllbGQsXG4gICAgICAgICAgZGlzcGxheV9jb250ZXh0OiBudWxsLFxuICAgICAgICB9KSk7XG4gICAgICB9KTtcblxuICAgICAgcmVzdWx0Lmh5ZHJhdGVkX2Nhc2VfZmllbGRzID0gY2FzZUZpZWxkcztcbiAgICAgIHJlc3VsdC5jb2x1bW5zID0ge307XG5cbiAgICAgIHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zLmZvckVhY2goY29sID0+IHtcbiAgICAgICAgcmVzdWx0LmNvbHVtbnNbY29sLmNhc2VfZmllbGRfaWRdID0gdGhpcy5idWlsZENhc2VGaWVsZChjb2wsIHJlc3VsdCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICB9XG5cbiAgcHVibGljIGdvVG9QYWdlKHBhZ2UpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVSb3dzID0gdHJ1ZTtcbiAgICB0aGlzLnNlbGVjdGVkLmluaXQgPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9IHRoaXMuanVyaXNkaWN0aW9uO1xuICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSB0aGlzLmNhc2VUeXBlO1xuICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlID0gdGhpcy5jYXNlU3RhdGU7XG4gICAgdGhpcy5zZWxlY3RlZC5mb3JtR3JvdXAgPSB0aGlzLmNhc2VGaWx0ZXJGRztcbiAgICB0aGlzLnNlbGVjdGVkLm1ldGFkYXRhRmllbGRzID0gdGhpcy5tZXRhZGF0YUZpZWxkcztcbiAgICB0aGlzLnNlbGVjdGVkLnBhZ2UgPSBwYWdlO1xuICAgIC8vIEFwcGx5IGZpbHRlcnNcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHt9O1xuICAgIHF1ZXJ5UGFyYW1zW1NlYXJjaFJlc3VsdENvbXBvbmVudC5QQVJBTV9KVVJJU0RJQ1RJT05dID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gPyB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbi5pZCA6IG51bGw7XG4gICAgcXVlcnlQYXJhbXNbU2VhcmNoUmVzdWx0Q29tcG9uZW50LlBBUkFNX0NBU0VfVFlQRV0gPSB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID8gdGhpcy5zZWxlY3RlZC5jYXNlVHlwZS5pZCA6IG51bGw7XG4gICAgcXVlcnlQYXJhbXNbU2VhcmNoUmVzdWx0Q29tcG9uZW50LlBBUkFNX0NBU0VfU1RBVEVdID0gdGhpcy5zZWxlY3RlZC5jYXNlU3RhdGUgPyB0aGlzLnNlbGVjdGVkLmNhc2VTdGF0ZS5pZCA6IG51bGw7XG4gICAgdGhpcy5jaGFuZ2VQYWdlLmVtaXQoe1xuICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICBxdWVyeVBhcmFtc1xuICAgIH0pO1xuXG4gICAgY29uc3QgdG9wQ29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcCcpO1xuICAgIGlmICh0b3BDb250YWluZXIpIHtcbiAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICB9XG4gICAgICB0b3BDb250YWluZXIuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYnVpbGRDYXNlRmllbGQoY29sOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uLCByZXN1bHQ6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogQ2FzZUZpZWxkIHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgQ2FzZUZpZWxkKCksIHtcbiAgICAgIGlkOiBjb2wuY2FzZV9maWVsZF9pZCxcbiAgICAgIGxhYmVsOiBjb2wubGFiZWwsXG4gICAgICBmaWVsZF90eXBlOiBjb2wuY2FzZV9maWVsZF90eXBlLFxuICAgICAgdmFsdWU6IHJlc3VsdC5jYXNlX2ZpZWxkc1tjb2wuY2FzZV9maWVsZF9pZF0sXG4gICAgICBkaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyOiBjb2wuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlcixcbiAgICAgIGRpc3BsYXlfY29udGV4dDogY29sLmRpc3BsYXlfY29udGV4dCxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb2x1bW5zV2l0aFByZWZpeChjb2w6IENhc2VGaWVsZCwgcmVzdWx0OiBTZWFyY2hSZXN1bHRWaWV3SXRlbSk6IENhc2VGaWVsZCB7XG4gICAgY29sLnZhbHVlID0gdGhpcy5kcmFmdFByZWZpeE9yR2V0KGNvbCwgcmVzdWx0KTtcbiAgICBjb2wudmFsdWUgPSB0aGlzLnBsYWNlaG9sZGVyU2VydmljZS5yZXNvbHZlUGxhY2Vob2xkZXJzKHJlc3VsdC5jYXNlX2ZpZWxkcywgY29sLnZhbHVlKTtcbiAgICByZXR1cm4gY29sO1xuICB9XG5cbiAgcHVibGljIGhhc1Jlc3VsdHMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMubGVuZ3RoICYmIHRoaXMucGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3BhZ2VzX2NvdW50O1xuICB9XG5cbiAgcHVibGljIGhhc0RyYWZ0cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRWaWV3Lmhhc0RyYWZ0cygpO1xuICB9XG5cbiAgcHVibGljIGNvbXBhcmF0b3IoY29sdW1uOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uKTogU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5LmNyZWF0ZVNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvcihjb2x1bW4pO1xuICB9XG5cbiAgcHVibGljIHNvcnQoY29sdW1uOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uKSB7XG4gICAgaWYgKHRoaXMuY29uc3VtZXJTb3J0aW5nRW5hYmxlZCkge1xuICAgICAgaWYgKGNvbHVtbi5jYXNlX2ZpZWxkX2lkICE9PSB0aGlzLmNvbnN1bWVyU29ydFBhcmFtZXRlcnMuY29sdW1uKSB7XG4gICAgICAgIHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy5vcmRlciA9IFNvcnRPcmRlci5ERVNDRU5ESU5HO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID0gdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORyA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvcnRPcmRlci5BU0NFTkRJTkcgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgICAgIH1cbiAgICAgIHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy5jb2x1bW4gPSBjb2x1bW4uY2FzZV9maWVsZF9pZDtcbiAgICAgIHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy50eXBlID0gY29sdW1uLmNhc2VfZmllbGRfdHlwZS50eXBlO1xuICAgICAgdGhpcy5zb3J0SGFuZGxlci5lbWl0KHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmNvbXBhcmF0b3IoY29sdW1uKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1NvcnRBc2NlbmRpbmcoY29sdW1uKSkge1xuICAgICAgICB0aGlzLnNvcnRQYXJhbWV0ZXJzID0gbmV3IFNvcnRQYXJhbWV0ZXJzKHRoaXMuY29tcGFyYXRvcihjb2x1bW4pLCBTb3J0T3JkZXIuQVNDRU5ESU5HKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc29ydFBhcmFtZXRlcnMgPSBuZXcgU29ydFBhcmFtZXRlcnModGhpcy5jb21wYXJhdG9yKGNvbHVtbiksIFNvcnRPcmRlci5ERVNDRU5ESU5HKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc29ydFdpZGdldChjb2x1bW46IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pIHtcbiAgICBsZXQgY29uZGl0aW9uID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuY29uc3VtZXJTb3J0aW5nRW5hYmxlZCkge1xuICAgICAgY29uc3QgaXNDb2x1bW4gPSBjb2x1bW4uY2FzZV9maWVsZF9pZCA9PT0gdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLmNvbHVtbjtcbiAgICAgIGNvbnN0IGlzQXNjZW5kaW5nID0gdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID09PSBTb3J0T3JkZXIuQVNDRU5ESU5HO1xuICAgICAgY29uZGl0aW9uID0gIWlzQ29sdW1uIHx8IChpc0NvbHVtbiAmJiBpc0FzY2VuZGluZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbmRpdGlvbiA9IHRoaXMuaXNTb3J0QXNjZW5kaW5nKGNvbHVtbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmRpdGlvbiA/ICcmIzk2NjA7JyA6ICcmIzk2NTA7JztcbiAgfVxuXG4gIHB1YmxpYyBhY3Rpdml0eUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlTZXJ2aWNlLmlzRW5hYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBoeXBoZW5hdGVJZkNhc2VSZWZlcmVuY2VPckdldChjb2wsIHJlc3VsdCk6IGFueSB7XG4gICAgaWYgKGNvbC5jYXNlX2ZpZWxkX2lkID09PSAnW0NBU0VfUkVGRVJFTkNFXScpIHtcbiAgICAgIHJldHVybiB0aGlzLmNhc2VSZWZlcmVuY2VQaXBlLnRyYW5zZm9ybShyZXN1bHQuY2FzZV9maWVsZHNbY29sLmNhc2VfZmllbGRfaWRdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGNvbC5pZCkge1xuICAgICAgICBpZiAoY29sLmlkID09PSAnW0NBU0VfUkVGRVJFTkNFXScpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jYXNlUmVmZXJlbmNlUGlwZS50cmFuc2Zvcm0ocmVzdWx0LmNhc2VfZmllbGRzW2NvbC5pZF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiByZXN1bHQuY2FzZV9maWVsZHNbY29sLmlkXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5jYXNlX2ZpZWxkc1tjb2wuY2FzZV9maWVsZF9pZF07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRyYWZ0UHJlZml4T3JHZXQoY29sLCByZXN1bHQpOiBhbnkge1xuICAgIHJldHVybiByZXN1bHQuY2FzZV9pZC5zdGFydHNXaXRoKERSQUZUX1BSRUZJWCkgPyBEUkFGVF9QUkVGSVggOiB0aGlzLmh5cGhlbmF0ZUlmQ2FzZVJlZmVyZW5jZU9yR2V0KGNvbCwgcmVzdWx0KTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NvcnRBc2NlbmRpbmcoY29sdW1uOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY3VycmVudFNvcnRPcmRlciA9IHRoaXMuY3VycmVudFNvcnRPcmRlcihjb2x1bW4pO1xuXG4gICAgcmV0dXJuIGN1cnJlbnRTb3J0T3JkZXIgPT09IFNvcnRPcmRlci5VTlNPUlRFRCB8fCBjdXJyZW50U29ydE9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgfVxuXG4gIHByaXZhdGUgY3VycmVudFNvcnRPcmRlcihjb2x1bW46IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pOiBTb3J0T3JkZXIge1xuXG4gICAgbGV0IGlzQXNjZW5kaW5nID0gdHJ1ZTtcbiAgICBsZXQgaXNEZXNjZW5kaW5nID0gdHJ1ZTtcblxuICAgIGlmICh0aGlzLmNvbXBhcmF0b3IoY29sdW1uKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gU29ydE9yZGVyLlVOU09SVEVEO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgY29uc3QgY29tcGFyaXNvbiA9IHRoaXMuY29tcGFyYXRvcihjb2x1bW4pLmNvbXBhcmUodGhpcy5yZXN1bHRWaWV3LnJlc3VsdHNbaV0sIHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzW2kgKyAxXSk7XG4gICAgICBpc0Rlc2NlbmRpbmcgPSBpc0Rlc2NlbmRpbmcgJiYgY29tcGFyaXNvbiA8PSAwO1xuICAgICAgaXNBc2NlbmRpbmcgPSBpc0FzY2VuZGluZyAmJiBjb21wYXJpc29uID49IDA7XG4gICAgICBpZiAoIWlzQXNjZW5kaW5nICYmICFpc0Rlc2NlbmRpbmcpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpc0FzY2VuZGluZyA/IFNvcnRPcmRlci5BU0NFTkRJTkcgOiBpc0Rlc2NlbmRpbmcgPyBTb3J0T3JkZXIuREVTQ0VORElORyA6IFNvcnRPcmRlci5VTlNPUlRFRDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGaXJzdFJlc3VsdCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gKHRoaXMuc2VsZWN0ZWQucGFnZSA/IHRoaXMuc2VsZWN0ZWQucGFnZSA6IDEpO1xuICAgIHJldHVybiAoKGN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnBhZ2luYXRpb25QYWdlU2l6ZSkgKyAxICsgdGhpcy5nZXREcmFmdHNDb3VudElmTm90UGFnZU9uZShjdXJyZW50UGFnZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGFzdFJlc3VsdCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gKHRoaXMuc2VsZWN0ZWQucGFnZSA/IHRoaXMuc2VsZWN0ZWQucGFnZSA6IDEpO1xuICAgIHJldHVybiAoKGN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnBhZ2luYXRpb25QYWdlU2l6ZSkgKyB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5sZW5ndGggKyB0aGlzLmdldERyYWZ0c0NvdW50SWZOb3RQYWdlT25lKGN1cnJlbnRQYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUb3RhbFJlc3VsdHMoKTogbnVtYmVyIHtcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMucGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3Jlc3VsdHNfY291bnQgKyB0aGlzLmRyYWZ0c0NvdW50O1xuXG4gICAgcmV0dXJuIHRvdGFsID49IHRoaXMuUEFHSU5BVElPTl9NQVhfSVRFTV9SRVNVTFQgPyB0aGlzLlBBR0lOQVRJT05fTUFYX0lURU1fUkVTVUxUIDogdG90YWw7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZUNhc2VMaW5rVXJsKGNhc2VJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgdXJsID0gdGhpcy5jYXNlTGlua1VybFRlbXBsYXRlO1xuICAgIHVybCA9IHVybC5yZXBsYWNlKCdqdXJpc2RpY3Rpb25faWQnLCB0aGlzLmp1cmlzZGljdGlvbi5pZCk7XG4gICAgdXJsID0gdXJsLnJlcGxhY2UoJ2Nhc2VUeXBlX2lkJywgdGhpcy5jYXNlVHlwZS5pZCk7XG4gICAgdXJsID0gdXJsLnJlcGxhY2UoJ2Nhc2VfaWQnLCBjYXNlSWQpO1xuXG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RHJhZnRzQ291bnRJZk5vdFBhZ2VPbmUoY3VycmVudFBhZ2UpOiBudW1iZXIge1xuICAgIHJldHVybiBjdXJyZW50UGFnZSA+IDEgPyB0aGlzLmRyYWZ0c0NvdW50IDogMDtcbiAgfVxuXG4gIHByaXZhdGUgbnVtYmVyT2ZEcmFmdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMuZmlsdGVyKF8gPT4gXy5jYXNlX2lkLnN0YXJ0c1dpdGgoRFJBRlRfUFJFRklYKSkubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIGdvVG9DYXNlKGNhc2VJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5jbGlja0Nhc2UuZW1pdCh7XG4gICAgICBjYXNlSWRcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbktleVVwKCRldmVudDogS2V5Ym9hcmRFdmVudCwgYzogU2VhcmNoUmVzdWx0Vmlld0l0ZW0pOiB2b2lkIHtcbiAgICBpZiAoJGV2ZW50LmtleSA9PT0gJ1NwYWNlJykge1xuICAgICAgaWYgKHRoaXMuYnJvd3NlclNlcnZpY2UuaXNGaXJlZm94IHx8IHRoaXMuYnJvd3NlclNlcnZpY2UuaXNTYWZhcmkgfHwgdGhpcy5icm93c2VyU2VydmljZS5pc0lFT3JFZGdlKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlU2VsZWN0aW9uKGMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPHRhYmxlICpuZ0lmPVwiaGFzUmVzdWx0cygpIHx8IGhhc0RyYWZ0cygpXCI+XG4gIDxjYXB0aW9uPlxuICAgIDxoMiBjbGFzcz1cImhlYWRpbmctaDJcIiBpZD1cInNlYXJjaC1yZXN1bHQtaGVhZGluZ19fdGV4dFwiIHRhYmluZGV4PVwiLTFcIj57eyBjYXNlU3RhdGUgPyAnWW91ciBjYXNlcycgOiAnU2VhcmNoIHJlc3VsdCcgfX08L2gyPlxuXG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dCBwYWdpbmF0aW9uLWxpbWl0LXdhcm5pbmdcIiAqbmdJZj1cInBhZ2luYXRpb25MaW1pdEVuZm9yY2VkXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dF9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiE8L3NwYW4+XG4gICAgICA8c3Ryb25nIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X190ZXh0XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X19hc3Npc3RpdmVcIj5XYXJuaW5nPC9zcGFuPlxuICAgICAgICBUaGUgdG90YWwgc2l6ZSBvZiB0aGUgcmVzdWx0IHNldCBpcyB7e3BhZ2luYXRpb25NZXRhZGF0YS50b3RhbF9yZXN1bHRzX2NvdW50IHwgbnVtYmVyfX0uIE9ubHkgdGhlIGZpcnN0IDEwLDAwMCByZWNvcmRzIGFyZSBhdmFpbGFibGUgZm9yIGRpc3BsYXkuXG4gICAgICA8L3N0cm9uZz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIoaGFzUmVzdWx0cygpIHx8IGhhc0RyYWZ0cygpKVwiIGNsYXNzPVwicGFnaW5hdGlvbi10b3BcIlxuICAgICAgYXR0ci5hcmlhLWxhYmVsPVwie3sgZ2V0VG90YWxSZXN1bHRzKCkgfX0gcmVzdWx0cyBoYXZlIGJlZW4gZm91bmRcIiByb2xlPVwic3RhdHVzXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIiBpZD1cInNlYXJjaC1yZXN1bHQtc3VtbWFyeV9fdGV4dFwiPlNob3dpbmdcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIj57eyBnZXRGaXJzdFJlc3VsdCgpIH19PC9zcGFuPlxuICAgICAgICB0b1xuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiPnt7IGdldExhc3RSZXN1bHQoKSB9fTwvc3Bhbj5cbiAgICAgICAgb2ZcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIj57eyBnZXRUb3RhbFJlc3VsdHMoKSB9fTwvc3Bhbj4gcmVzdWx0czwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiKGhhc1Jlc3VsdHMoKSB8fCBoYXNEcmFmdHMoKSkgJiYgc2VsZWN0aW9uRW5hYmxlZFwiIGNsYXNzPVwicmVzZXQtc2VsZWN0aW9uXCJcbiAgICAgIGF0dHIuYXJpYS1sYWJlbD1cIlJlc2V0IHNlbGVjdGlvblwiPlxuICAgICAgPHNwYW4+PGEgY2xhc3M9XCJzZWFyY2gtcmVzdWx0LXJlc2V0LWxpbmtcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cImNsZWFyU2VsZWN0aW9uKClcIj5SZXNldCBjYXNlIHNlbGVjdGlvbjwvYT48L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvY2FwdGlvbj5cbiAgPHRoZWFkPlxuICAgIDx0ciBzY29wZT1cInJvd1wiPlxuICAgICAgPHRoICpuZ0lmPVwic2VsZWN0aW9uRW5hYmxlZFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2NoZWNrYm94XCIgc2NvcGU9XCJjb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2l0ZW1cIj5cbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pbnB1dFwiIGlkPVwic2VsZWN0LWFsbFwiIG5hbWU9XCJzZWxlY3QtYWxsXCIgdHlwZT1cImNoZWNrYm94XCIgKGNoYW5nZSk9XCJzZWxlY3RBbGwoKVwiIFtjaGVja2VkXT1cImFsbE9uUGFnZVNlbGVjdGVkKClcIiBbZGlzYWJsZWRdPVwiIWNhbkFueUJlU2hhcmVkKClcIiAvPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwic2VsZWN0LWFsbFwiPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90aD5cbiAgICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sIG9mIHJlc3VsdFZpZXcuY29sdW1uc1wiPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJzZWFyY2gtcmVzdWx0LWNvbHVtbi1oZWFkZXJcIlxuICAgICAgICAgIGF0dHIuYXJpYS1sYWJlbD1cIlNvcnQgYnkge3tjb2wubGFiZWx9fSB7eyBpc1NvcnRBc2NlbmRpbmcoY29sKT8gJ2FzY2VuZGluZycgOiAnZGVzY2VuZGluZycgfX1cIj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLXJlc3VsdC1jb2x1bW4tbGFiZWxcIiAoY2xpY2spPVwic29ydChjb2wpXCI+e3tjb2wubGFiZWx9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbXBhcmF0b3IoY29sKVwiIGNsYXNzPVwic2VhcmNoLXJlc3VsdC1jb2x1bW4tc29ydFwiPlxuICAgICAgICAgICAgICA8YSAoY2xpY2spPVwic29ydChjb2wpXCIgY2xhc3M9XCJzb3J0LXdpZGdldFwiIFtpbm5lckhUTUxdPVwic29ydFdpZGdldChjb2wpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiPjwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L3RoPlxuICAgICAgPHRoICpuZ0lmPVwiYWN0aXZpdHlFbmFibGVkKClcIiBzdHlsZT1cIndpZHRoOiAxMTBweDtcIj48L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keT5cblxuICAgIDwhLS0gc29ydGVkIGJ5IGNvbnN1bWVyIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25zdW1lclNvcnRpbmdFbmFibGVkXCI+XG4gICAgICA8dHIgKm5nRm9yPVwibGV0IHJlc3VsdCBvZiByZXN1bHRWaWV3LnJlc3VsdHMgfCBwYWdpbmF0ZTogeyBpdGVtc1BlclBhZ2U6IHBhZ2luYXRpb25QYWdlU2l6ZSwgY3VycmVudFBhZ2U6IHNlbGVjdGVkLnBhZ2UsIHRvdGFsSXRlbXM6IHJlc3VsdFRvdGFsIH1cIj5cbiAgICAgICAgPHRkICpuZ0lmPVwic2VsZWN0aW9uRW5hYmxlZFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2NoZWNrYm94XCIgc2NvcGU9XCJjb2xcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faXRlbVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faW5wdXRcIiBpZD1cInNlbGVjdC17eyByZXN1bHQuY2FzZV9pZCB9fVwiIG5hbWU9XCJzZWxlY3Qte3sgcmVzdWx0LmNhc2VfaWQgfX1cIlxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIiAoY2hhbmdlKT1cImNoYW5nZVNlbGVjdGlvbihyZXN1bHQpXCIgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChyZXN1bHQpXCIgW2Rpc2FibGVkXT1cIiFjYW5CZVNoYXJlZChyZXN1bHQpXCIgLz5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwic2VsZWN0LXt7IHJlc3VsdC5jYXNlX2lkIH19XCI+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJzZWFyY2gtcmVzdWx0LWNvbHVtbi1jZWxsXCIgKm5nRm9yPVwibGV0IGNvbCBvZiByZXN1bHRWaWV3LmNvbHVtbnM7IGxldCBjb2xJbmRleCA9IGluZGV4XCIgc2NvcGU9XCJyb3dcIj5cbiAgICAgICAgICA8YSAqbmdJZj1cImNvbEluZGV4ID09IDBcIiBbcm91dGVyTGlua109XCJwcmVwYXJlQ2FzZUxpbmtVcmwocmVzdWx0LmNhc2VfaWQpXCJcbiAgICAgICAgICAgIGF0dHIuYXJpYS1sYWJlbD1cImdvIHRvIGNhc2Ugd2l0aCBDYXNlIHJlZmVyZW5jZTp7eyByZXN1bHQuY2FzZV9pZCB8IGNjZENhc2VSZWZlcmVuY2UgfX1cIiBjbGFzcz1cImdvdnVrLWxpbmtcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgY2xhc3M9XCJ0ZXh0LTE2XCIgKm5nSWY9XCIhaGlkZVJvd3NcIj5cbiAgICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkICpuZ0lmPVwiZHJhZnRQcmVmaXhPckdldChjb2wsIHJlc3VsdCk7IGVsc2UgY2FzZV9yZWZlcmVuY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2NkTGFiZWxTdWJzdGl0dXRvciBbY2FzZUZpZWxkXT1cImdldENvbHVtbnNXaXRoUHJlZml4KHJlc3VsdC5jb2x1bW5zW2NvbC5jYXNlX2ZpZWxkX2lkXSwgcmVzdWx0KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGV4dEZpZWxkc109XCJyZXN1bHQuaHlkcmF0ZWRfY2FzZV9maWVsZHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VsZW1lbnRzVG9TdWJzdGl0dXRlXT1cIlsndmFsdWUnXVwiPjwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2FzZV9yZWZlcmVuY2U+e3tyZXN1bHQuY2FzZV9pZCB8IGNjZENhc2VSZWZlcmVuY2V9fTwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvbEluZGV4ICE9IDBcIiBjbGFzcz1cInRleHQtMTZcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJoaWRlUm93cyA/ICdoaWRkZW4nIDogJ3Zpc2libGUnXCI+XG4gICAgICAgICAgICA8Y2NkLWZpZWxkLXJlYWQgY2NkTGFiZWxTdWJzdGl0dXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYXNlRmllbGRdPVwicmVzdWx0LmNvbHVtbnNbY29sLmNhc2VfZmllbGRfaWRdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGV4dEZpZWxkc109XCJyZXN1bHQuaHlkcmF0ZWRfY2FzZV9maWVsZHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbGVtZW50c1RvU3Vic3RpdHV0ZV09XCJbJ3ZhbHVlJ11cIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgKm5nSWY9XCJhY3Rpdml0eUVuYWJsZWQoKVwiPlxuICAgICAgICAgIDxkaXYgW3N0eWxlLnZpc2liaWxpdHldPVwiaGlkZVJvd3MgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiPlxuICAgICAgICAgICAgPGNjZC1hY3Rpdml0eSBbY2FzZUlkXT1cInJlc3VsdC5jYXNlX2lkXCIgW2Rpc3BsYXlNb2RlXT1cIklDT05cIj48L2NjZC1hY3Rpdml0eT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPCEtLSBzb3J0ZWQgYnkgdG9vbGtpdCAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbnN1bWVyU29ydGluZ0VuYWJsZWRcIj5cbiAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcmVzdWx0IG9mIHJlc3VsdFZpZXcucmVzdWx0cyB8IGNjZFNvcnRTZWFyY2hSZXN1bHQgOiBzb3J0UGFyYW1ldGVycyB8IHBhZ2luYXRlOiB7IGl0ZW1zUGVyUGFnZTogcGFnaW5hdGlvblBhZ2VTaXplLCBjdXJyZW50UGFnZTogc2VsZWN0ZWQucGFnZSwgdG90YWxJdGVtczogcmVzdWx0VG90YWwgfVwiPlxuICAgICAgICA8dGQgKm5nSWY9XCJzZWxlY3Rpb25FbmFibGVkXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2hlY2tib3hcIiBzY29wZT1cImNvbFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pdGVtXCI+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pbnB1dFwiIGlkPVwic2VsZWN0LXt7IHJlc3VsdC5jYXNlX2lkIH19XCIgbmFtZT1cInNlbGVjdC17eyByZXN1bHQuY2FzZV9pZCB9fVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiIChjaGFuZ2UpPVwiY2hhbmdlU2VsZWN0aW9uKHJlc3VsdClcIiBbY2hlY2tlZF09XCJpc1NlbGVjdGVkKHJlc3VsdClcIiBbZGlzYWJsZWRdPVwiIWNhbkJlU2hhcmVkKHJlc3VsdClcIiAoa2V5dXApPVwib25LZXlVcCgkZXZlbnQsIHJlc3VsdClcIiAvPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstY2hlY2tib3hlc19fbGFiZWxcIiBmb3I9XCJzZWxlY3Qte3sgcmVzdWx0LmNhc2VfaWQgfX1cIj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cInNlYXJjaC1yZXN1bHQtY29sdW1uLWNlbGxcIiAqbmdGb3I9XCJsZXQgY29sIG9mIHJlc3VsdFZpZXcuY29sdW1uczsgbGV0IGNvbEluZGV4ID0gaW5kZXhcIiBzY29wZT1cInJvd1wiPlxuXG4gICAgICAgICAgPGEgKm5nSWY9XCJjb2xJbmRleCA9PSAwXCIgW3JvdXRlckxpbmtdPVwicHJlcGFyZUNhc2VMaW5rVXJsKHJlc3VsdC5jYXNlX2lkKVwiXG4gICAgICAgICAgICBhdHRyLmFyaWEtbGFiZWw9XCJnbyB0byBjYXNlIHdpdGggQ2FzZSByZWZlcmVuY2U6e3sgcmVzdWx0LmNhc2VfaWQgfCBjY2RDYXNlUmVmZXJlbmNlIH19XCIgY2xhc3M9XCJnb3Z1ay1saW5rXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIGNsYXNzPVwidGV4dC0xNlwiICpuZ0lmPVwiIWhpZGVSb3dzXCI+XG4gICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCAqbmdJZj1cImRyYWZ0UHJlZml4T3JHZXQoY29sLCByZXN1bHQpOyBlbHNlIGNhc2VfcmVmZXJlbmNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNjZExhYmVsU3Vic3RpdHV0b3IgW2Nhc2VGaWVsZF09XCJnZXRDb2x1bW5zV2l0aFByZWZpeChyZXN1bHQuY29sdW1uc1tjb2wuY2FzZV9maWVsZF9pZF0sIHJlc3VsdClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHRGaWVsZHNdPVwicmVzdWx0Lmh5ZHJhdGVkX2Nhc2VfZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbGVtZW50c1RvU3Vic3RpdHV0ZV09XCJbJ3ZhbHVlJ11cIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Nhc2VfcmVmZXJlbmNlPnt7cmVzdWx0LmNhc2VfaWQgfCBjY2RDYXNlUmVmZXJlbmNlfX08L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9hPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2xJbmRleCAhPSAwXCIgY2xhc3M9XCJ0ZXh0LTE2XCIgW3N0eWxlLnZpc2liaWxpdHldPVwiaGlkZVJvd3MgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiPlxuICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkIGNjZExhYmVsU3Vic3RpdHV0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkXT1cInJlc3VsdC5jb2x1bW5zW2NvbC5jYXNlX2ZpZWxkX2lkXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHRGaWVsZHNdPVwicmVzdWx0Lmh5ZHJhdGVkX2Nhc2VfZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWxlbWVudHNUb1N1YnN0aXR1dGVdPVwiWyd2YWx1ZSddXCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkICpuZ0lmPVwiYWN0aXZpdHlFbmFibGVkKClcIj5cbiAgICAgICAgICA8ZGl2IFtzdHlsZS52aXNpYmlsaXR5XT1cImhpZGVSb3dzID8gJ2hpZGRlbicgOiAndmlzaWJsZSdcIj5cbiAgICAgICAgICAgIDxjY2QtYWN0aXZpdHkgW2Nhc2VJZF09XCJyZXN1bHQuY2FzZV9pZFwiIFtkaXNwbGF5TW9kZV09XCJJQ09OXCI+PC9jY2QtYWN0aXZpdHk+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuXG48Y2NkLXBhZ2luYXRpb25cbiAgKm5nSWY9XCJoYXNSZXN1bHRzKClcIlxuICAocGFnZUNoYW5nZSk9XCJnb1RvUGFnZSgkZXZlbnQpXCJcbiAgW3Zpc2liaWxpdHlMYWJlbF09XCJoaWRlUm93cyA/ICdoaWRkZW4nIDogJ3Zpc2libGUnXCJcbiAgW2F1dG9IaWRlXT1cInRydWVcIlxuICBbbWF4U2l6ZV09XCI4XCJcbiAgW3NjcmVlblJlYWRlclBhZ2luYXRpb25MYWJlbF09XCInUGFnaW5hdGlvbidcIlxuICBbc2NyZWVuUmVhZGVyUGFnZUxhYmVsXT1cInBhZ2VcIlxuICBbc2NyZWVuUmVhZGVyQ3VycmVudExhYmVsXT1cIidZb3VcXCdyZSBvbiBwYWdlJ1wiPjwvY2NkLXBhZ2luYXRpb24+XG5cbjxkaXYgKm5nSWY9XCIhKGhhc1Jlc3VsdHMoKSB8fCBoYXNEcmFmdHMoKSlcIiBjbGFzcz1cIm5vdGlmaWNhdGlvblwiXG4gIGFyaWEtbGFiZWw9XCJObyBjYXNlcyBmb3VuZC4gVHJ5IHVzaW5nIGRpZmZlcmVudCBmaWx0ZXJzLlwiPlxuICBObyBjYXNlcyBmb3VuZC4gVHJ5IHVzaW5nIGRpZmZlcmVudCBmaWx0ZXJzLlxuPC9kaXY+XG4iXX0=
819
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvc2VhcmNoLXJlc3VsdC9zZWFyY2gtcmVzdWx0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zZWFyY2gtcmVzdWx0L3NlYXJjaC1yZXN1bHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUNsRCxZQUFZLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUNWLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLHFDQUFxQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7SUNKM0gsK0JBQXlGO0lBQ3ZGLGdDQUEwRDtJQUFBLGlCQUFDO0lBQUEsaUJBQU87SUFDbEUsa0NBQXlDO0lBQ3ZDLGdDQUE0QztJQUFBLHVCQUFPO0lBQUEsaUJB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QUs7WUFJQyxjQUFjO2tCQURwQixLQUFLO1lBSUMsZ0JBQWdCO2tCQUR0QixLQUFLO1lBSUMsZ0JBQWdCO2tCQUR0QixLQUFLO1lBSUMsZ0JBQWdCO2tCQUR0QixLQUFLO1lBSUMsc0JBQXNCO2tCQUQ1QixLQUFLO1lBSUMsU0FBUztrQkFEZixNQUFNO1lBSUEsVUFBVTtrQkFEaEIsTUFBTTtZQUlBLFNBQVM7a0JBRGYsTUFBTTtZQUlBLFdBQVc7a0JBRGpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBQbGFjZWhvbGRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IENhc2VGaWVsZCwgQ2FzZVN0YXRlLCBDYXNlVHlwZSwgRGlzcGxheU1vZGUsXG4gIERSQUZUX1BSRUZJWCwgSnVyaXNkaWN0aW9uLCBQYWdpbmF0aW9uTWV0YWRhdGEsIFNlYXJjaFJlc3VsdFZpZXcsIFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4sXG4gIFNlYXJjaFJlc3VsdFZpZXdJdGVtLCBTZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3IsIFNvcnRPcmRlciwgU29ydFBhcmFtZXRlcnMgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZVJlZmVyZW5jZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBBY3Rpdml0eVNlcnZpY2UsIEJyb3dzZXJTZXJ2aWNlLCBTZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5LCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1zZWFyY2gtcmVzdWx0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1yZXN1bHQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtcmVzdWx0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoUmVzdWx0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fSlVSSVNESUNUSU9OID0gJ2p1cmlzZGljdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9UWVBFID0gJ2Nhc2UtdHlwZSc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9TVEFURSA9ICdjYXNlLXN0YXRlJztcblxuICBwcml2YXRlIHJlYWRvbmx5IFBBR0lOQVRJT05fTUFYX0lURU1fUkVTVUxUID0gMTAwMDA7XG5cbiAgcHVibGljIElDT04gPSBEaXNwbGF5TW9kZS5JQ09OO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlTGlua1VybFRlbXBsYXRlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGp1cmlzZGljdGlvbjogSnVyaXNkaWN0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlVHlwZTogQ2FzZVR5cGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VTdGF0ZTogQ2FzZVN0YXRlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRmlsdGVyRkc6IEZvcm1Hcm91cDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVzdWx0VmlldzogU2VhcmNoUmVzdWx0VmlldztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZTogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdpbmF0aW9uTWV0YWRhdGE6IFBhZ2luYXRpb25NZXRhZGF0YTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbWV0YWRhdGFGaWVsZHM6IHN0cmluZ1tdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZWxlY3Rpb25FbmFibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dPbmx5U2VsZWN0ZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcHJlU2VsZWN0ZWRDYXNlczogU2VhcmNoUmVzdWx0Vmlld0l0ZW1bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb25zdW1lclNvcnRpbmdFbmFibGVkID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWxlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaFJlc3VsdFZpZXdJdGVtW10+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjaGFuZ2VQYWdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsaWNrQ2FzZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzb3J0SGFuZGxlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHBhZ2luYXRpb25MaW1pdEVuZm9yY2VkID0gZmFsc2U7XG5cbiAgcHVibGljIHBhZ2luYXRpb25QYWdlU2l6ZTogbnVtYmVyO1xuXG4gIHB1YmxpYyBoaWRlUm93czogYm9vbGVhbjtcblxuICBwdWJsaWMgc2VsZWN0ZWQ6IHtcbiAgICBpbml0PzogYm9vbGVhbixcbiAgICBqdXJpc2RpY3Rpb24/OiBKdXJpc2RpY3Rpb24sXG4gICAgY2FzZVR5cGU/OiBDYXNlVHlwZSxcbiAgICBjYXNlU3RhdGU/OiBDYXNlU3RhdGUsXG4gICAgZm9ybUdyb3VwPzogRm9ybUdyb3VwLFxuICAgIG1ldGFkYXRhRmllbGRzPzogc3RyaW5nW10sXG4gICAgcGFnZT86IG51bWJlclxuICB9ID0ge307XG5cbiAgcHVibGljIHNvcnRQYXJhbWV0ZXJzOiBTb3J0UGFyYW1ldGVycztcbiAgcHVibGljIHNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3Rvcnk6IFNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3Rvcnk7XG4gIHB1YmxpYyBkcmFmdHNDb3VudDogbnVtYmVyO1xuXG4gIHB1YmxpYyBjb25zdW1lclNvcnRQYXJhbWV0ZXJzOiB7IGNvbHVtbjogc3RyaW5nLCBvcmRlcjogU29ydE9yZGVyLCB0eXBlOiBzdHJpbmcgfSA9IHsgY29sdW1uOiBudWxsLCBvcmRlcjogbnVsbCwgdHlwZTogbnVsbCB9O1xuXG4gIHB1YmxpYyBzZWxlY3RlZENhc2VzOiBTZWFyY2hSZXN1bHRWaWV3SXRlbVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeTogU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeSxcbiAgICBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZpdHlTZXJ2aWNlOiBBY3Rpdml0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlUmVmZXJlbmNlUGlwZTogQ2FzZVJlZmVyZW5jZVBpcGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZWhvbGRlclNlcnZpY2U6IFBsYWNlaG9sZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJyb3dzZXJTZXJ2aWNlOiBCcm93c2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeSA9IHNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3Rvcnk7XG4gICAgdGhpcy5wYWdpbmF0aW9uUGFnZVNpemUgPSBhcHBDb25maWcuZ2V0UGFnaW5hdGlvblBhZ2VTaXplKCk7XG4gICAgdGhpcy5oaWRlUm93cyA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByZVNlbGVjdGVkQ2FzZXMpIHtcbiAgICAgIGZvciAoY29uc3QgcHJlU2VsZWN0ZWRDYXNlIG9mIHRoaXMucHJlU2VsZWN0ZWRDYXNlcykge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZENhc2VzICYmICF0aGlzLnNlbGVjdGVkQ2FzZXMuc29tZShhQ2FzZSA9PiBhQ2FzZS5jYXNlX2lkID09PSBwcmVTZWxlY3RlZENhc2UuY2FzZV9pZCkpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMucHVzaChwcmVTZWxlY3RlZENhc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ2V2ZW50VXJsJyk7XG4gICAgdGhpcy5zZWxlY3Rpb24uZW1pdCh0aGlzLnNlbGVjdGVkQ2FzZXMpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblxuICAgIGlmIChjaGFuZ2VzWydyZXN1bHRWaWV3J10pIHtcbiAgICAgIHRoaXMuaGlkZVJvd3MgPSBmYWxzZTtcblxuICAgICAgdGhpcy5zb3J0UGFyYW1ldGVycyA9IHVuZGVmaW5lZDtcbiAgICAgIC8vIENsb25lIGByZXN1bHRWaWV3YCB0byBwcmV2ZW50IHNvcnRpbmcgdGhlIGV4dGVybmFsIHZhcmlhYmxlXG4gICAgICB0aGlzLnJlc3VsdFZpZXcgPSB7XG4gICAgICAgIGNvbHVtbnM6IHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zLnNsaWNlKDApLFxuICAgICAgICByZXN1bHRzOiB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5zbGljZSgwKSxcbiAgICAgICAgaGFzRHJhZnRzOiB0aGlzLnJlc3VsdFZpZXcuaGFzRHJhZnRzXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnJlc3VsdFZpZXcuY29sdW1ucyA9IHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zLnNvcnQoKGE6IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4sIGI6IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pID0+IHtcbiAgICAgICAgcmV0dXJuIGEub3JkZXIgLSBiLm9yZGVyO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuaHlkcmF0ZVJlc3VsdFZpZXcoKTtcbiAgICAgIHRoaXMuZHJhZnRzQ291bnQgPSB0aGlzLmRyYWZ0c0NvdW50ID8gdGhpcy5kcmFmdHNDb3VudCA6IHRoaXMubnVtYmVyT2ZEcmFmdHMoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ3BhZ2UnXSkge1xuICAgICAgdGhpcy5zZWxlY3RlZC5wYWdlID0gKGNoYW5nZXNbJ3BhZ2UnXSkuY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzdWx0VG90YWwoKTogbnVtYmVyIHtcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMucGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3Jlc3VsdHNfY291bnQ7XG4gICAgY29uc3QgbWF4aW11bVJlc3VsdFJlYWNoZWQgPSB0b3RhbCA+PSB0aGlzLlBBR0lOQVRJT05fTUFYX0lURU1fUkVTVUxUO1xuICAgIHRoaXMucGFnaW5hdGlvbkxpbWl0RW5mb3JjZWQgPSBtYXhpbXVtUmVzdWx0UmVhY2hlZDtcblxuICAgIHJldHVybiBtYXhpbXVtUmVzdWx0UmVhY2hlZCA/IHRoaXMuUEFHSU5BVElPTl9NQVhfSVRFTV9SRVNVTFQgOiB0b3RhbDtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ2FzZXMgPSBbXTtcbiAgICB0aGlzLnNlbGVjdGlvbi5lbWl0KHRoaXMuc2VsZWN0ZWRDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgY2FuQmVTaGFyZWQoY2FzZVZpZXc6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNhc2VWaWV3LnN1cHBsZW1lbnRhcnlfZGF0YSAmJiBjYXNlVmlldy5zdXBwbGVtZW50YXJ5X2RhdGEuaGFzT3duUHJvcGVydHkoJ29yZ3NfYXNzaWduZWRfdXNlcnMnKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5BbnlCZVNoYXJlZCgpOiBib29sZWFuIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKHRoaXMuY2FuQmVTaGFyZWQodGhpcy5yZXN1bHRWaWV3LnJlc3VsdHNbaV0pKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFsbE9uUGFnZVNlbGVjdGVkKCkpIHtcbiAgICAgIC8vIGFsbCBjYXNlcyBhbHJlYWR5IHNlbGVjdGVkLCBzbyB1bnNlbGVjdCBhbGwgb24gdGhpcyBwYWdlXG4gICAgICB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5mb3JFYWNoKGMgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuZm9yRWFjaCgocywgaSkgPT4ge1xuICAgICAgICAgIGlmIChjLmNhc2VfaWQgPT09IHMuY2FzZV9pZCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VzLnNwbGljZShpLCAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmZvckVhY2goYyA9PiB7XG4gICAgICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKGMpICYmIHRoaXMuY2FuQmVTaGFyZWQoYykpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMucHVzaChjKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9uLmVtaXQodGhpcy5zZWxlY3RlZENhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VTZWxlY3Rpb24oYzogU2VhcmNoUmVzdWx0Vmlld0l0ZW0pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1NlbGVjdGVkKGMpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuZm9yRWFjaCgocywgaSkgPT4ge1xuICAgICAgICBpZiAoYy5jYXNlX2lkID09PSBzLmNhc2VfaWQpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuc3BsaWNlKGksIDEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuY2FuQmVTaGFyZWQoYykpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VzLnB1c2goYyk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9uLmVtaXQodGhpcy5zZWxlY3RlZENhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NlbGVjdGVkKGM6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogYm9vbGVhbiB7XG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSB0aGlzLnNlbGVjdGVkQ2FzZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBpZiAoYy5jYXNlX2lkID09PSB0aGlzLnNlbGVjdGVkQ2FzZXNbaV0uY2FzZV9pZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGFsbE9uUGFnZVNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIGxldCBjYW5CZVNoYXJlZENvdW50ID0gMDtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgY29uc3QgciA9IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzW2ldO1xuICAgICAgaWYgKHRoaXMuY2FuQmVTaGFyZWQocikpIHtcbiAgICAgICAgY2FuQmVTaGFyZWRDb3VudCArKztcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKHIpICYmIHRoaXMuY2FuQmVTaGFyZWQocikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2FuQmVTaGFyZWRDb3VudCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIeWRyYXRlcyByZXN1bHQgdmlldyB3aXRoIGNhc2UgZmllbGQgZGVmaW5pdGlvbnMuXG4gICAqL1xuICAvLyBBIGxvbmdlciB0ZXJtIHJlc29sdXRpb24gaXMgdG8gbW92ZSB0aGlzIHBpZWNlIG9mIGxvZ2ljIHRvIHRoZSBiYWNrZW5kXG4gIHB1YmxpYyBoeWRyYXRlUmVzdWx0VmlldygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5mb3JFYWNoKHJlc3VsdCA9PiB7XG4gICAgICBjb25zdCBjYXNlRmllbGRzID0gW107XG5cbiAgICAgIE9iamVjdC5rZXlzKHJlc3VsdC5jYXNlX2ZpZWxkcykuZm9yRWFjaChmaWVsZElkID0+IHtcblxuICAgICAgICBjb25zdCBmaWVsZCA9IHJlc3VsdC5jYXNlX2ZpZWxkc1tmaWVsZElkXTtcblxuICAgICAgICBjYXNlRmllbGRzLnB1c2goT2JqZWN0LmFzc2lnbihuZXcgQ2FzZUZpZWxkKCksIHtcbiAgICAgICAgICBpZDogZmllbGRJZCxcbiAgICAgICAgICBsYWJlbDogbnVsbCxcbiAgICAgICAgICBmaWVsZF90eXBlOiB7fSxcbiAgICAgICAgICB2YWx1ZTogZmllbGQsXG4gICAgICAgICAgZGlzcGxheV9jb250ZXh0OiBudWxsLFxuICAgICAgICB9KSk7XG4gICAgICB9KTtcblxuICAgICAgcmVzdWx0Lmh5ZHJhdGVkX2Nhc2VfZmllbGRzID0gY2FzZUZpZWxkcztcbiAgICAgIHJlc3VsdC5jb2x1bW5zID0ge307XG5cbiAgICAgIHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zLmZvckVhY2goY29sID0+IHtcbiAgICAgICAgcmVzdWx0LmNvbHVtbnNbY29sLmNhc2VfZmllbGRfaWRdID0gdGhpcy5idWlsZENhc2VGaWVsZChjb2wsIHJlc3VsdCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICB9XG5cbiAgcHVibGljIGdvVG9QYWdlKHBhZ2UpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVSb3dzID0gdHJ1ZTtcbiAgICB0aGlzLnNlbGVjdGVkLmluaXQgPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9IHRoaXMuanVyaXNkaWN0aW9uO1xuICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSB0aGlzLmNhc2VUeXBlO1xuICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlID0gdGhpcy5jYXNlU3RhdGU7XG4gICAgdGhpcy5zZWxlY3RlZC5mb3JtR3JvdXAgPSB0aGlzLmNhc2VGaWx0ZXJGRztcbiAgICB0aGlzLnNlbGVjdGVkLm1ldGFkYXRhRmllbGRzID0gdGhpcy5tZXRhZGF0YUZpZWxkcztcbiAgICB0aGlzLnNlbGVjdGVkLnBhZ2UgPSBwYWdlO1xuICAgIC8vIEFwcGx5IGZpbHRlcnNcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHt9O1xuICAgIHF1ZXJ5UGFyYW1zW1NlYXJjaFJlc3VsdENvbXBvbmVudC5QQVJBTV9KVVJJU0RJQ1RJT05dID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gPyB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbi5pZCA6IG51bGw7XG4gICAgcXVlcnlQYXJhbXNbU2VhcmNoUmVzdWx0Q29tcG9uZW50LlBBUkFNX0NBU0VfVFlQRV0gPSB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID8gdGhpcy5zZWxlY3RlZC5jYXNlVHlwZS5pZCA6IG51bGw7XG4gICAgcXVlcnlQYXJhbXNbU2VhcmNoUmVzdWx0Q29tcG9uZW50LlBBUkFNX0NBU0VfU1RBVEVdID0gdGhpcy5zZWxlY3RlZC5jYXNlU3RhdGUgPyB0aGlzLnNlbGVjdGVkLmNhc2VTdGF0ZS5pZCA6IG51bGw7XG4gICAgdGhpcy5jaGFuZ2VQYWdlLmVtaXQoe1xuICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICBxdWVyeVBhcmFtc1xuICAgIH0pO1xuXG4gICAgY29uc3QgdG9wQ29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcCcpO1xuICAgIGlmICh0b3BDb250YWluZXIpIHtcbiAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICB9XG4gICAgICB0b3BDb250YWluZXIuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYnVpbGRDYXNlRmllbGQoY29sOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uLCByZXN1bHQ6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogQ2FzZUZpZWxkIHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgQ2FzZUZpZWxkKCksIHtcbiAgICAgIGlkOiBjb2wuY2FzZV9maWVsZF9pZCxcbiAgICAgIGxhYmVsOiBjb2wubGFiZWwsXG4gICAgICBmaWVsZF90eXBlOiBjb2wuY2FzZV9maWVsZF90eXBlLFxuICAgICAgdmFsdWU6IHJlc3VsdC5jYXNlX2ZpZWxkc1tjb2wuY2FzZV9maWVsZF9pZF0sXG4gICAgICBkaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyOiBjb2wuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlcixcbiAgICAgIGRpc3BsYXlfY29udGV4dDogY29sLmRpc3BsYXlfY29udGV4dCxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb2x1bW5zV2l0aFByZWZpeChjb2w6IENhc2VGaWVsZCwgcmVzdWx0OiBTZWFyY2hSZXN1bHRWaWV3SXRlbSk6IENhc2VGaWVsZCB7XG4gICAgY29sLnZhbHVlID0gdGhpcy5kcmFmdFByZWZpeE9yR2V0KGNvbCwgcmVzdWx0KTtcbiAgICBjb2wudmFsdWUgPSB0aGlzLnBsYWNlaG9sZGVyU2VydmljZS5yZXNvbHZlUGxhY2Vob2xkZXJzKHJlc3VsdC5jYXNlX2ZpZWxkcywgY29sLnZhbHVlKTtcbiAgICByZXR1cm4gY29sO1xuICB9XG5cbiAgcHVibGljIGhhc1Jlc3VsdHMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMubGVuZ3RoICYmIHRoaXMucGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3BhZ2VzX2NvdW50O1xuICB9XG5cbiAgcHVibGljIGhhc0RyYWZ0cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRWaWV3Lmhhc0RyYWZ0cygpO1xuICB9XG5cbiAgcHVibGljIGNvbXBhcmF0b3IoY29sdW1uOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uKTogU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5LmNyZWF0ZVNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvcihjb2x1bW4pO1xuICB9XG5cbiAgcHVibGljIHNvcnQoY29sdW1uOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uKSB7XG4gICAgaWYgKHRoaXMuY29uc3VtZXJTb3J0aW5nRW5hYmxlZCkge1xuICAgICAgaWYgKGNvbHVtbi5jYXNlX2ZpZWxkX2lkICE9PSB0aGlzLmNvbnN1bWVyU29ydFBhcmFtZXRlcnMuY29sdW1uKSB7XG4gICAgICAgIHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy5vcmRlciA9IFNvcnRPcmRlci5ERVNDRU5ESU5HO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID0gdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORyA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvcnRPcmRlci5BU0NFTkRJTkcgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgICAgIH1cbiAgICAgIHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy5jb2x1bW4gPSBjb2x1bW4uY2FzZV9maWVsZF9pZDtcbiAgICAgIHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy50eXBlID0gY29sdW1uLmNhc2VfZmllbGRfdHlwZS50eXBlO1xuICAgICAgdGhpcy5zb3J0SGFuZGxlci5lbWl0KHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmNvbXBhcmF0b3IoY29sdW1uKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1NvcnRBc2NlbmRpbmcoY29sdW1uKSkge1xuICAgICAgICB0aGlzLnNvcnRQYXJhbWV0ZXJzID0gbmV3IFNvcnRQYXJhbWV0ZXJzKHRoaXMuY29tcGFyYXRvcihjb2x1bW4pLCBTb3J0T3JkZXIuQVNDRU5ESU5HKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc29ydFBhcmFtZXRlcnMgPSBuZXcgU29ydFBhcmFtZXRlcnModGhpcy5jb21wYXJhdG9yKGNvbHVtbiksIFNvcnRPcmRlci5ERVNDRU5ESU5HKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc29ydFdpZGdldChjb2x1bW46IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pIHtcbiAgICBsZXQgY29uZGl0aW9uID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuY29uc3VtZXJTb3J0aW5nRW5hYmxlZCkge1xuICAgICAgY29uc3QgaXNDb2x1bW4gPSBjb2x1bW4uY2FzZV9maWVsZF9pZCA9PT0gdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLmNvbHVtbjtcbiAgICAgIGNvbnN0IGlzQXNjZW5kaW5nID0gdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID09PSBTb3J0T3JkZXIuQVNDRU5ESU5HO1xuICAgICAgY29uZGl0aW9uID0gIWlzQ29sdW1uIHx8IChpc0NvbHVtbiAmJiBpc0FzY2VuZGluZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbmRpdGlvbiA9IHRoaXMuaXNTb3J0QXNjZW5kaW5nKGNvbHVtbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmRpdGlvbiA/ICcmIzk2NjA7JyA6ICcmIzk2NTA7JztcbiAgfVxuXG4gIHB1YmxpYyBhY3Rpdml0eUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlTZXJ2aWNlLmlzRW5hYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBoeXBoZW5hdGVJZkNhc2VSZWZlcmVuY2VPckdldChjb2wsIHJlc3VsdCk6IGFueSB7XG4gICAgaWYgKGNvbC5jYXNlX2ZpZWxkX2lkID09PSAnW0NBU0VfUkVGRVJFTkNFXScpIHtcbiAgICAgIHJldHVybiB0aGlzLmNhc2VSZWZlcmVuY2VQaXBlLnRyYW5zZm9ybShyZXN1bHQuY2FzZV9maWVsZHNbY29sLmNhc2VfZmllbGRfaWRdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGNvbC5pZCkge1xuICAgICAgICBpZiAoY29sLmlkID09PSAnW0NBU0VfUkVGRVJFTkNFXScpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jYXNlUmVmZXJlbmNlUGlwZS50cmFuc2Zvcm0ocmVzdWx0LmNhc2VfZmllbGRzW2NvbC5pZF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiByZXN1bHQuY2FzZV9maWVsZHNbY29sLmlkXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5jYXNlX2ZpZWxkc1tjb2wuY2FzZV9maWVsZF9pZF07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRyYWZ0UHJlZml4T3JHZXQoY29sLCByZXN1bHQpOiBhbnkge1xuICAgIHJldHVybiByZXN1bHQuY2FzZV9pZC5zdGFydHNXaXRoKERSQUZUX1BSRUZJWCkgPyBEUkFGVF9QUkVGSVggOiB0aGlzLmh5cGhlbmF0ZUlmQ2FzZVJlZmVyZW5jZU9yR2V0KGNvbCwgcmVzdWx0KTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NvcnRBc2NlbmRpbmcoY29sdW1uOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY3VycmVudFNvcnRPcmRlciA9IHRoaXMuY3VycmVudFNvcnRPcmRlcihjb2x1bW4pO1xuXG4gICAgcmV0dXJuIGN1cnJlbnRTb3J0T3JkZXIgPT09IFNvcnRPcmRlci5VTlNPUlRFRCB8fCBjdXJyZW50U29ydE9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgfVxuXG4gIHByaXZhdGUgY3VycmVudFNvcnRPcmRlcihjb2x1bW46IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pOiBTb3J0T3JkZXIge1xuXG4gICAgbGV0IGlzQXNjZW5kaW5nID0gdHJ1ZTtcbiAgICBsZXQgaXNEZXNjZW5kaW5nID0gdHJ1ZTtcblxuICAgIGlmICh0aGlzLmNvbXBhcmF0b3IoY29sdW1uKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gU29ydE9yZGVyLlVOU09SVEVEO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgY29uc3QgY29tcGFyaXNvbiA9IHRoaXMuY29tcGFyYXRvcihjb2x1bW4pLmNvbXBhcmUodGhpcy5yZXN1bHRWaWV3LnJlc3VsdHNbaV0sIHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzW2kgKyAxXSk7XG4gICAgICBpc0Rlc2NlbmRpbmcgPSBpc0Rlc2NlbmRpbmcgJiYgY29tcGFyaXNvbiA8PSAwO1xuICAgICAgaXNBc2NlbmRpbmcgPSBpc0FzY2VuZGluZyAmJiBjb21wYXJpc29uID49IDA7XG4gICAgICBpZiAoIWlzQXNjZW5kaW5nICYmICFpc0Rlc2NlbmRpbmcpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpc0FzY2VuZGluZyA/IFNvcnRPcmRlci5BU0NFTkRJTkcgOiBpc0Rlc2NlbmRpbmcgPyBTb3J0T3JkZXIuREVTQ0VORElORyA6IFNvcnRPcmRlci5VTlNPUlRFRDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGaXJzdFJlc3VsdCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gKHRoaXMuc2VsZWN0ZWQucGFnZSA/IHRoaXMuc2VsZWN0ZWQucGFnZSA6IDEpO1xuICAgIHJldHVybiAoKGN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnBhZ2luYXRpb25QYWdlU2l6ZSkgKyAxICsgdGhpcy5nZXREcmFmdHNDb3VudElmTm90UGFnZU9uZShjdXJyZW50UGFnZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGFzdFJlc3VsdCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gKHRoaXMuc2VsZWN0ZWQucGFnZSA/IHRoaXMuc2VsZWN0ZWQucGFnZSA6IDEpO1xuICAgIHJldHVybiAoKGN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnBhZ2luYXRpb25QYWdlU2l6ZSkgKyB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5sZW5ndGggKyB0aGlzLmdldERyYWZ0c0NvdW50SWZOb3RQYWdlT25lKGN1cnJlbnRQYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUb3RhbFJlc3VsdHMoKTogbnVtYmVyIHtcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMucGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3Jlc3VsdHNfY291bnQgKyB0aGlzLmRyYWZ0c0NvdW50O1xuXG4gICAgcmV0dXJuIHRvdGFsID49IHRoaXMuUEFHSU5BVElPTl9NQVhfSVRFTV9SRVNVTFQgPyB0aGlzLlBBR0lOQVRJT05fTUFYX0lURU1fUkVTVUxUIDogdG90YWw7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZUNhc2VMaW5rVXJsKGNhc2VJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgdXJsID0gdGhpcy5jYXNlTGlua1VybFRlbXBsYXRlO1xuICAgIHVybCA9IHVybC5yZXBsYWNlKCdqdXJpc2RpY3Rpb25faWQnLCB0aGlzLmp1cmlzZGljdGlvbi5pZCk7XG4gICAgdXJsID0gdXJsLnJlcGxhY2UoJ2Nhc2VUeXBlX2lkJywgdGhpcy5jYXNlVHlwZS5pZCk7XG4gICAgdXJsID0gdXJsLnJlcGxhY2UoJ2Nhc2VfaWQnLCBjYXNlSWQpO1xuXG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RHJhZnRzQ291bnRJZk5vdFBhZ2VPbmUoY3VycmVudFBhZ2UpOiBudW1iZXIge1xuICAgIHJldHVybiBjdXJyZW50UGFnZSA+IDEgPyB0aGlzLmRyYWZ0c0NvdW50IDogMDtcbiAgfVxuXG4gIHByaXZhdGUgbnVtYmVyT2ZEcmFmdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMuZmlsdGVyKF8gPT4gXy5jYXNlX2lkLnN0YXJ0c1dpdGgoRFJBRlRfUFJFRklYKSkubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIGdvVG9DYXNlKGNhc2VJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5jbGlja0Nhc2UuZW1pdCh7XG4gICAgICBjYXNlSWRcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbktleVVwKCRldmVudDogS2V5Ym9hcmRFdmVudCwgYzogU2VhcmNoUmVzdWx0Vmlld0l0ZW0pOiB2b2lkIHtcbiAgICBpZiAoJGV2ZW50LmtleSA9PT0gJ1NwYWNlJykge1xuICAgICAgaWYgKHRoaXMuYnJvd3NlclNlcnZpY2UuaXNGaXJlZm94IHx8IHRoaXMuYnJvd3NlclNlcnZpY2UuaXNTYWZhcmkgfHwgdGhpcy5icm93c2VyU2VydmljZS5pc0lFT3JFZGdlKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlU2VsZWN0aW9uKGMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPHRhYmxlICpuZ0lmPVwiaGFzUmVzdWx0cygpIHx8IGhhc0RyYWZ0cygpXCI+XG4gIDxjYXB0aW9uPlxuICAgIDxoMiBjbGFzcz1cImhlYWRpbmctaDJcIiBpZD1cInNlYXJjaC1yZXN1bHQtaGVhZGluZ19fdGV4dFwiIHRhYmluZGV4PVwiLTFcIj57eyBjYXNlU3RhdGUgPyAnWW91ciBjYXNlcycgOiAnU2VhcmNoIHJlc3VsdCcgfX08L2gyPlxuXG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dCBwYWdpbmF0aW9uLWxpbWl0LXdhcm5pbmdcIiAqbmdJZj1cInBhZ2luYXRpb25MaW1pdEVuZm9yY2VkXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dF9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiE8L3NwYW4+XG4gICAgICA8c3Ryb25nIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X190ZXh0XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X19hc3Npc3RpdmVcIj5XYXJuaW5nPC9zcGFuPlxuICAgICAgICBUaGUgdG90YWwgc2l6ZSBvZiB0aGUgcmVzdWx0IHNldCBpcyB7e3BhZ2luYXRpb25NZXRhZGF0YS50b3RhbF9yZXN1bHRzX2NvdW50IHwgbnVtYmVyfX0uIE9ubHkgdGhlIGZpcnN0IDEwLDAwMCByZWNvcmRzIGFyZSBhdmFpbGFibGUgZm9yIGRpc3BsYXkuXG4gICAgICA8L3N0cm9uZz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIoaGFzUmVzdWx0cygpIHx8IGhhc0RyYWZ0cygpKVwiIGNsYXNzPVwicGFnaW5hdGlvbi10b3BcIlxuICAgICAgYXR0ci5hcmlhLWxhYmVsPVwie3sgZ2V0VG90YWxSZXN1bHRzKCkgfX0gcmVzdWx0cyBoYXZlIGJlZW4gZm91bmRcIiByb2xlPVwic3RhdHVzXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIiBpZD1cInNlYXJjaC1yZXN1bHQtc3VtbWFyeV9fdGV4dFwiPlNob3dpbmdcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIj57eyBnZXRGaXJzdFJlc3VsdCgpIH19PC9zcGFuPlxuICAgICAgICB0b1xuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiPnt7IGdldExhc3RSZXN1bHQoKSB9fTwvc3Bhbj5cbiAgICAgICAgb2ZcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIj57eyBnZXRUb3RhbFJlc3VsdHMoKSB9fTwvc3Bhbj4gcmVzdWx0czwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiKGhhc1Jlc3VsdHMoKSB8fCBoYXNEcmFmdHMoKSkgJiYgc2VsZWN0aW9uRW5hYmxlZFwiIGNsYXNzPVwicmVzZXQtc2VsZWN0aW9uXCJcbiAgICAgIGF0dHIuYXJpYS1sYWJlbD1cIlJlc2V0IHNlbGVjdGlvblwiPlxuICAgICAgPHNwYW4+PGEgY2xhc3M9XCJzZWFyY2gtcmVzdWx0LXJlc2V0LWxpbmtcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cImNsZWFyU2VsZWN0aW9uKClcIj5SZXNldCBjYXNlIHNlbGVjdGlvbjwvYT48L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvY2FwdGlvbj5cbiAgPHRoZWFkPlxuICAgIDx0ciBzY29wZT1cInJvd1wiPlxuICAgICAgPHRoICpuZ0lmPVwic2VsZWN0aW9uRW5hYmxlZFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2NoZWNrYm94XCIgc2NvcGU9XCJjb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2l0ZW1cIj5cbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pbnB1dFwiIGlkPVwic2VsZWN0LWFsbFwiIG5hbWU9XCJzZWxlY3QtYWxsXCIgdHlwZT1cImNoZWNrYm94XCIgKGNoYW5nZSk9XCJzZWxlY3RBbGwoKVwiIFtjaGVja2VkXT1cImFsbE9uUGFnZVNlbGVjdGVkKClcIiBbZGlzYWJsZWRdPVwiIWNhbkFueUJlU2hhcmVkKClcIiAvPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwic2VsZWN0LWFsbFwiPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90aD5cbiAgICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sIG9mIHJlc3VsdFZpZXcuY29sdW1uc1wiPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJzZWFyY2gtcmVzdWx0LWNvbHVtbi1oZWFkZXJcIlxuICAgICAgICAgIGF0dHIuYXJpYS1sYWJlbD1cIlNvcnQgYnkge3tjb2wubGFiZWx9fSB7eyBpc1NvcnRBc2NlbmRpbmcoY29sKT8gJ2FzY2VuZGluZycgOiAnZGVzY2VuZGluZycgfX1cIj5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLXJlc3VsdC1jb2x1bW4tbGFiZWxcIiAoY2xpY2spPVwic29ydChjb2wpXCI+e3tjb2wubGFiZWx9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbXBhcmF0b3IoY29sKVwiIGNsYXNzPVwic2VhcmNoLXJlc3VsdC1jb2x1bW4tc29ydFwiPlxuICAgICAgICAgICAgICA8YSAoY2xpY2spPVwic29ydChjb2wpXCIgY2xhc3M9XCJzb3J0LXdpZGdldFwiIFtpbm5lckhUTUxdPVwic29ydFdpZGdldChjb2wpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiPjwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L3RoPlxuICAgICAgPHRoICpuZ0lmPVwiYWN0aXZpdHlFbmFibGVkKClcIiBzdHlsZT1cIndpZHRoOiAxMTBweDtcIj48L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keT5cblxuICAgIDwhLS0gc29ydGVkIGJ5IGNvbnN1bWVyIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25zdW1lclNvcnRpbmdFbmFibGVkXCI+XG4gICAgICA8dHIgKm5nRm9yPVwibGV0IHJlc3VsdCBvZiByZXN1bHRWaWV3LnJlc3VsdHMgfCBwYWdpbmF0ZTogeyBpdGVtc1BlclBhZ2U6IHBhZ2luYXRpb25QYWdlU2l6ZSwgY3VycmVudFBhZ2U6IHNlbGVjdGVkLnBhZ2UsIHRvdGFsSXRlbXM6IHJlc3VsdFRvdGFsIH1cIj5cbiAgICAgICAgPHRkICpuZ0lmPVwic2VsZWN0aW9uRW5hYmxlZFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2NoZWNrYm94XCIgc2NvcGU9XCJjb2xcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faXRlbVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faW5wdXRcIiBpZD1cInNlbGVjdC17eyByZXN1bHQuY2FzZV9pZCB9fVwiIG5hbWU9XCJzZWxlY3Qte3sgcmVzdWx0LmNhc2VfaWQgfX1cIlxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIiAoY2hhbmdlKT1cImNoYW5nZVNlbGVjdGlvbihyZXN1bHQpXCIgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChyZXN1bHQpXCIgW2Rpc2FibGVkXT1cIiFjYW5CZVNoYXJlZChyZXN1bHQpXCIgLz5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwic2VsZWN0LXt7IHJlc3VsdC5jYXNlX2lkIH19XCI+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJzZWFyY2gtcmVzdWx0LWNvbHVtbi1jZWxsXCIgKm5nRm9yPVwibGV0IGNvbCBvZiByZXN1bHRWaWV3LmNvbHVtbnM7IGxldCBjb2xJbmRleCA9IGluZGV4XCIgc2NvcGU9XCJyb3dcIj5cbiAgICAgICAgICA8YSAqbmdJZj1cImNvbEluZGV4ID09IDBcIiBbcm91dGVyTGlua109XCJwcmVwYXJlQ2FzZUxpbmtVcmwocmVzdWx0LmNhc2VfaWQpXCJcbiAgICAgICAgICAgIGF0dHIuYXJpYS1sYWJlbD1cImdvIHRvIGNhc2Ugd2l0aCBDYXNlIHJlZmVyZW5jZTp7eyByZXN1bHQuY2FzZV9pZCB8IGNjZENhc2VSZWZlcmVuY2UgfX1cIiBjbGFzcz1cImdvdnVrLWxpbmtcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgY2xhc3M9XCJ0ZXh0LTE2XCIgKm5nSWY9XCIhaGlkZVJvd3NcIj5cbiAgICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkICpuZ0lmPVwiZHJhZnRQcmVmaXhPckdldChjb2wsIHJlc3VsdCk7IGVsc2UgY2FzZV9yZWZlcmVuY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2NkTGFiZWxTdWJzdGl0dXRvciBbY2FzZUZpZWxkXT1cImdldENvbHVtbnNXaXRoUHJlZml4KHJlc3VsdC5jb2x1bW5zW2NvbC5jYXNlX2ZpZWxkX2lkXSwgcmVzdWx0KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGV4dEZpZWxkc109XCJyZXN1bHQuaHlkcmF0ZWRfY2FzZV9maWVsZHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VsZW1lbnRzVG9TdWJzdGl0dXRlXT1cIlsndmFsdWUnXVwiPjwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2FzZV9yZWZlcmVuY2U+e3tyZXN1bHQuY2FzZV9pZCB8IGNjZENhc2VSZWZlcmVuY2V9fTwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvbEluZGV4ICE9IDBcIiBjbGFzcz1cInRleHQtMTZcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJoaWRlUm93cyA/ICdoaWRkZW4nIDogJ3Zpc2libGUnXCI+XG4gICAgICAgICAgICA8Y2NkLWZpZWxkLXJlYWQgY2NkTGFiZWxTdWJzdGl0dXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYXNlRmllbGRdPVwicmVzdWx0LmNvbHVtbnNbY29sLmNhc2VfZmllbGRfaWRdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGV4dEZpZWxkc109XCJyZXN1bHQuaHlkcmF0ZWRfY2FzZV9maWVsZHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbGVtZW50c1RvU3Vic3RpdHV0ZV09XCJbJ3ZhbHVlJ11cIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgKm5nSWY9XCJhY3Rpdml0eUVuYWJsZWQoKVwiPlxuICAgICAgICAgIDxkaXYgW3N0eWxlLnZpc2liaWxpdHldPVwiaGlkZVJvd3MgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiPlxuICAgICAgICAgICAgPGNjZC1hY3Rpdml0eSBbY2FzZUlkXT1cInJlc3VsdC5jYXNlX2lkXCIgW2Rpc3BsYXlNb2RlXT1cIklDT05cIj48L2NjZC1hY3Rpdml0eT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPCEtLSBzb3J0ZWQgYnkgdG9vbGtpdCAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbnN1bWVyU29ydGluZ0VuYWJsZWRcIj5cbiAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcmVzdWx0IG9mIHJlc3VsdFZpZXcucmVzdWx0cyB8IGNjZFNvcnRTZWFyY2hSZXN1bHQgOiBzb3J0UGFyYW1ldGVycyB8IHBhZ2luYXRlOiB7IGl0ZW1zUGVyUGFnZTogcGFnaW5hdGlvblBhZ2VTaXplLCBjdXJyZW50UGFnZTogc2VsZWN0ZWQucGFnZSwgdG90YWxJdGVtczogcmVzdWx0VG90YWwgfVwiPlxuICAgICAgICA8dGQgKm5nSWY9XCJzZWxlY3Rpb25FbmFibGVkXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2hlY2tib3hcIiBzY29wZT1cImNvbFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pdGVtXCI+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pbnB1dFwiIGlkPVwic2VsZWN0LXt7IHJlc3VsdC5jYXNlX2lkIH19XCIgbmFtZT1cInNlbGVjdC17eyByZXN1bHQuY2FzZV9pZCB9fVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiIChjaGFuZ2UpPVwiY2hhbmdlU2VsZWN0aW9uKHJlc3VsdClcIiBbY2hlY2tlZF09XCJpc1NlbGVjdGVkKHJlc3VsdClcIiBbZGlzYWJsZWRdPVwiIWNhbkJlU2hhcmVkKHJlc3VsdClcIiAoa2V5dXApPVwib25LZXlVcCgkZXZlbnQsIHJlc3VsdClcIiAvPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstY2hlY2tib3hlc19fbGFiZWxcIiBmb3I9XCJzZWxlY3Qte3sgcmVzdWx0LmNhc2VfaWQgfX1cIj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cInNlYXJjaC1yZXN1bHQtY29sdW1uLWNlbGxcIiAqbmdGb3I9XCJsZXQgY29sIG9mIHJlc3VsdFZpZXcuY29sdW1uczsgbGV0IGNvbEluZGV4ID0gaW5kZXhcIiBzY29wZT1cInJvd1wiPlxuXG4gICAgICAgICAgPGEgKm5nSWY9XCJjb2xJbmRleCA9PSAwXCIgW3JvdXRlckxpbmtdPVwicHJlcGFyZUNhc2VMaW5rVXJsKHJlc3VsdC5jYXNlX2lkKVwiXG4gICAgICAgICAgICBhdHRyLmFyaWEtbGFiZWw9XCJnbyB0byBjYXNlIHdpdGggQ2FzZSByZWZlcmVuY2U6e3sgcmVzdWx0LmNhc2VfaWQgfCBjY2RDYXNlUmVmZXJlbmNlIH19XCIgY2xhc3M9XCJnb3Z1ay1saW5rXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIGNsYXNzPVwidGV4dC0xNlwiICpuZ0lmPVwiIWhpZGVSb3dzXCI+XG4gICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCAqbmdJZj1cImRyYWZ0UHJlZml4T3JHZXQoY29sLCByZXN1bHQpOyBlbHNlIGNhc2VfcmVmZXJlbmNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNjZExhYmVsU3Vic3RpdHV0b3IgW2Nhc2VGaWVsZF09XCJnZXRDb2x1bW5zV2l0aFByZWZpeChyZXN1bHQuY29sdW1uc1tjb2wuY2FzZV9maWVsZF9pZF0sIHJlc3VsdClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHRGaWVsZHNdPVwicmVzdWx0Lmh5ZHJhdGVkX2Nhc2VfZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbGVtZW50c1RvU3Vic3RpdHV0ZV09XCJbJ3ZhbHVlJ11cIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Nhc2VfcmVmZXJlbmNlPnt7cmVzdWx0LmNhc2VfaWQgfCBjY2RDYXNlUmVmZXJlbmNlfX08L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9hPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2xJbmRleCAhPSAwXCIgY2xhc3M9XCJ0ZXh0LTE2XCIgW3N0eWxlLnZpc2liaWxpdHldPVwiaGlkZVJvd3MgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiPlxuICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkIGNjZExhYmVsU3Vic3RpdHV0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkXT1cInJlc3VsdC5jb2x1bW5zW2NvbC5jYXNlX2ZpZWxkX2lkXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHRGaWVsZHNdPVwicmVzdWx0Lmh5ZHJhdGVkX2Nhc2VfZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWxlbWVudHNUb1N1YnN0aXR1dGVdPVwiWyd2YWx1ZSddXCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkICpuZ0lmPVwiYWN0aXZpdHlFbmFibGVkKClcIj5cbiAgICAgICAgICA8ZGl2IFtzdHlsZS52aXNpYmlsaXR5XT1cImhpZGVSb3dzID8gJ2hpZGRlbicgOiAndmlzaWJsZSdcIj5cbiAgICAgICAgICAgIDxjY2QtYWN0aXZpdHkgW2Nhc2VJZF09XCJyZXN1bHQuY2FzZV9pZFwiIFtkaXNwbGF5TW9kZV09XCJJQ09OXCI+PC9jY2QtYWN0aXZpdHk+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuXG48Y2NkLXBhZ2luYXRpb25cbiAgKm5nSWY9XCJoYXNSZXN1bHRzKClcIlxuICAocGFnZUNoYW5nZSk9XCJnb1RvUGFnZSgkZXZlbnQpXCJcbiAgW3Zpc2liaWxpdHlMYWJlbF09XCJoaWRlUm93cyA/ICdoaWRkZW4nIDogJ3Zpc2libGUnXCJcbiAgW2F1dG9IaWRlXT1cInRydWVcIlxuICBbbWF4U2l6ZV09XCI4XCJcbiAgW3NjcmVlblJlYWRlclBhZ2luYXRpb25MYWJlbF09XCInUGFnaW5hdGlvbidcIlxuICBbc2NyZWVuUmVhZGVyUGFnZUxhYmVsXT1cInBhZ2VcIlxuICBbc2NyZWVuUmVhZGVyQ3VycmVudExhYmVsXT1cIidZb3VcXCdyZSBvbiBwYWdlJ1wiPjwvY2NkLXBhZ2luYXRpb24+XG5cbjxkaXYgKm5nSWY9XCIhKGhhc1Jlc3VsdHMoKSB8fCBoYXNEcmFmdHMoKSlcIiBjbGFzcz1cIm5vdGlmaWNhdGlvblwiXG4gIGFyaWEtbGFiZWw9XCJObyBjYXNlcyBmb3VuZC4gVHJ5IHVzaW5nIGRpZmZlcmVudCBmaWx0ZXJzLlwiPlxuICBObyBjYXNlcyBmb3VuZC4gVHJ5IHVzaW5nIGRpZmZlcmVudCBmaWx0ZXJzLlxuPC9kaXY+XG4iXX0=
@@ -12,6 +12,15 @@ import { PaginationModule } from '../pagination/pagination.module';
12
12
  import { PaletteModule } from '../palette/palette.module';
13
13
  import { SearchResultComponent } from './search-result.component';
14
14
  import * as i0 from "@angular/core";
15
+ import * as i1 from "@angular/common";
16
+ import * as i2 from "@angular/router";
17
+ import * as i3 from "../palette/base-field/field-read.component";
18
+ import * as i4 from "../../directives/substitutor/label-substitutor.directive";
19
+ import * as i5 from "../activity/activity.component";
20
+ import * as i6 from "../pagination/pagination.component";
21
+ import * as i7 from "ngx-pagination";
22
+ import * as i8 from "../../pipes/case-reference/case-reference.pipe";
23
+ import * as i9 from "../../pipes/search-result/sorting/sort-search-result.pipe";
15
24
  export class SearchResultModule {
16
25
  }
17
26
  SearchResultModule.ɵfac = function SearchResultModule_Factory(t) { return new (t || SearchResultModule)(); };
@@ -68,4 +77,5 @@ SearchResultModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
68
77
  ]
69
78
  }]
70
79
  }], null, null); })();
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvc2VhcmNoLXJlc3VsdC9zZWFyY2gtcmVzdWx0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRS9GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0saUZBQWlGLENBQUM7QUFDeEksT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUEwQmxFLE1BQU0sT0FBTyxrQkFBa0I7O29GQUFsQixrQkFBa0I7c0RBQWxCLGtCQUFrQjsyREFMbEI7UUFDVCxxQ0FBcUM7UUFDckMsY0FBYztLQUNmLFlBckJRO1lBQ1AsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixzQkFBc0I7WUFDdEIsV0FBVztZQUNYLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsYUFBYTtTQUNkO3dGQVlVLGtCQUFrQixtQkFWM0IscUJBQXFCLGFBWnJCLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsc0JBQXNCO1FBQ3RCLFdBQVc7UUFDWCxjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLGFBQWEsYUFNYixxQkFBcUI7dUZBT1osa0JBQWtCO2NBeEI5QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osbUJBQW1CO29CQUNuQixZQUFZO29CQUNaLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixzQkFBc0I7b0JBQ3RCLFdBQVc7b0JBQ1gsY0FBYztvQkFDZCxnQkFBZ0I7b0JBQ2hCLGFBQWE7aUJBQ2Q7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULHFDQUFxQztvQkFDckMsY0FBYztpQkFDZjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOZ3hQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnbmd4LXBhZ2luYXRpb24nO1xuaW1wb3J0IHsgTGFiZWxTdWJzdGl0dXRvckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvc3Vic3RpdHV0b3IvbGFiZWwtc3Vic3RpdHV0b3IuZGlyZWN0aXZlJztcbmltcG9ydCB7IExhYmVsU3Vic3RpdHV0b3JNb2R1bGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3N1YnN0aXR1dG9yL2xhYmVsLXN1YnN0aXR1dG9yLm1vZHVsZSc7XG5pbXBvcnQgeyBDYXNlUmVmZXJlbmNlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL2Nhc2UtcmVmZXJlbmNlL2Nhc2UtcmVmZXJlbmNlLnBpcGUnO1xuaW1wb3J0IHsgUGlwZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9waXBlcy9waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9icm93c2VyL2Jyb3dzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2VhcmNoLXJlc3VsdC9zb3J0aW5nL3NlYXJjaC1yZXN1bHQtdmlldy1pdGVtLWNvbXBhcmF0b3ItZmFjdG9yeSc7XG5pbXBvcnQgeyBBY3Rpdml0eU1vZHVsZSB9IGZyb20gJy4uL2FjdGl2aXR5L2FjdGl2aXR5Lm1vZHVsZSc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBQYWxldHRlTW9kdWxlIH0gZnJvbSAnLi4vcGFsZXR0ZS9wYWxldHRlLm1vZHVsZSc7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHRDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1yZXN1bHQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBOZ3hQYWdpbmF0aW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIExhYmVsU3Vic3RpdHV0b3JNb2R1bGUsXG4gICAgUGlwZXNNb2R1bGUsXG4gICAgQWN0aXZpdHlNb2R1bGUsXG4gICAgUGFnaW5hdGlvbk1vZHVsZSxcbiAgICBQYWxldHRlTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNlYXJjaFJlc3VsdENvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgU2VhcmNoUmVzdWx0Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBTZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5LFxuICAgIEJyb3dzZXJTZXJ2aWNlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoUmVzdWx0TW9kdWxlIHt9XG4iXX0=
80
+ i0.ɵɵsetComponentScope(SearchResultComponent, [i1.NgIf, i1.NgForOf, i2.RouterLinkWithHref, i3.FieldReadComponent, i4.LabelSubstitutorDirective, i5.ActivityComponent, i6.PaginationComponent], [i1.DecimalPipe, i7.PaginatePipe, i8.CaseReferencePipe, i9.SortSearchResultPipe]);
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvc2VhcmNoLXJlc3VsdC9zZWFyY2gtcmVzdWx0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRS9GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0saUZBQWlGLENBQUM7QUFDeEksT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7QUEwQmxFLE1BQU0sT0FBTyxrQkFBa0I7O29GQUFsQixrQkFBa0I7c0RBQWxCLGtCQUFrQjsyREFMbEI7UUFDVCxxQ0FBcUM7UUFDckMsY0FBYztLQUNmLFlBckJRO1lBQ1AsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixzQkFBc0I7WUFDdEIsV0FBVztZQUNYLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsYUFBYTtTQUNkO3dGQVlVLGtCQUFrQixtQkFWM0IscUJBQXFCLGFBWnJCLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsc0JBQXNCO1FBQ3RCLFdBQVc7UUFDWCxjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLGFBQWEsYUFNYixxQkFBcUI7dUZBT1osa0JBQWtCO2NBeEI5QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osbUJBQW1CO29CQUNuQixZQUFZO29CQUNaLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixzQkFBc0I7b0JBQ3RCLFdBQVc7b0JBQ1gsY0FBYztvQkFDZCxnQkFBZ0I7b0JBQ2hCLGFBQWE7aUJBQ2Q7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULHFDQUFxQztvQkFDckMsY0FBYztpQkFDZjthQUNGOzt1QkFURyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5neFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICduZ3gtcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBMYWJlbFN1YnN0aXR1dG9yRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9zdWJzdGl0dXRvci9sYWJlbC1zdWJzdGl0dXRvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGFiZWxTdWJzdGl0dXRvck1vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvc3Vic3RpdHV0b3IvbGFiZWwtc3Vic3RpdHV0b3IubW9kdWxlJztcbmltcG9ydCB7IENhc2VSZWZlcmVuY2VQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvY2FzZS1yZWZlcmVuY2UvY2FzZS1yZWZlcmVuY2UucGlwZSc7XG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4uLy4uL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Jyb3dzZXIvYnJvd3Nlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3RvcnkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZWFyY2gtcmVzdWx0L3NvcnRpbmcvc2VhcmNoLXJlc3VsdC12aWV3LWl0ZW0tY29tcGFyYXRvci1mYWN0b3J5JztcbmltcG9ydCB7IEFjdGl2aXR5TW9kdWxlIH0gZnJvbSAnLi4vYWN0aXZpdHkvYWN0aXZpdHkubW9kdWxlJztcbmltcG9ydCB7IFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICcuLi9wYWdpbmF0aW9uL3BhZ2luYXRpb24ubW9kdWxlJztcbmltcG9ydCB7IFBhbGV0dGVNb2R1bGUgfSBmcm9tICcuLi9wYWxldHRlL3BhbGV0dGUubW9kdWxlJztcbmltcG9ydCB7IFNlYXJjaFJlc3VsdENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLXJlc3VsdC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE5neFBhZ2luYXRpb25Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTGFiZWxTdWJzdGl0dXRvck1vZHVsZSxcbiAgICBQaXBlc01vZHVsZSxcbiAgICBBY3Rpdml0eU1vZHVsZSxcbiAgICBQYWdpbmF0aW9uTW9kdWxlLFxuICAgIFBhbGV0dGVNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2VhcmNoUmVzdWx0Q29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTZWFyY2hSZXN1bHRDb21wb25lbnQsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIFNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3RvcnksXG4gICAgQnJvd3NlclNlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hSZXN1bHRNb2R1bGUge31cbiJdfQ==