@hmcts/ccd-case-ui-toolkit 5.0.31-angular11-upgrade → 5.0.33-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 (148) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +3365 -643
  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 +1 -1
  6. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +15 -11
  7. package/esm2015/lib/shared/components/case-editor/services/cases.service.js +28 -1
  8. package/esm2015/lib/shared/components/case-editor/services/page-validation.service.js +10 -2
  9. package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +9 -2
  10. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +15 -10
  11. package/esm2015/lib/shared/components/palette/base-field/abstract-form-field.component.js +4 -2
  12. package/esm2015/lib/shared/components/palette/base-field/field-write.component.js +8 -18
  13. package/esm2015/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.js +71 -41
  14. package/esm2015/lib/shared/components/palette/case-flag/domain/case-flag.model.js +1 -1
  15. package/esm2015/lib/shared/components/palette/case-flag/read-case-flag-field.component.js +2 -3
  16. package/esm2015/lib/shared/components/palette/case-flag/write-case-flag-field.component.js +13 -9
  17. package/esm2015/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.js +125 -0
  18. package/esm2015/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.js +198 -0
  19. package/esm2015/lib/shared/components/palette/case-link/components/index.js +10 -0
  20. package/esm2015/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.js +493 -0
  21. package/esm2015/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.js +221 -0
  22. package/esm2015/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.js +286 -0
  23. package/esm2015/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.js +76 -0
  24. package/esm2015/lib/shared/components/palette/case-link/components/read-linked-cases.component.js +178 -0
  25. package/esm2015/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.js +216 -0
  26. package/esm2015/lib/shared/components/palette/case-link/components/write-linked-cases.component.js +260 -0
  27. package/esm2015/lib/shared/components/palette/case-link/domain/index.js +3 -0
  28. package/esm2015/lib/shared/components/palette/case-link/domain/linked-cases-state.model.js +2 -0
  29. package/esm2015/lib/shared/components/palette/case-link/domain/linked-cases.model.js +19 -0
  30. package/esm2015/lib/shared/components/palette/case-link/enums/index.js +2 -0
  31. package/esm2015/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.js +33 -0
  32. package/esm2015/lib/shared/components/palette/case-link/index.js +4 -1
  33. package/esm2015/lib/shared/components/palette/case-link/read-case-link-field.component.js +28 -8
  34. package/esm2015/lib/shared/components/palette/case-link/services/index.js +2 -0
  35. package/esm2015/lib/shared/components/palette/case-link/services/jurisdiction.service.js +22 -0
  36. package/esm2015/lib/shared/components/palette/case-link/services/linked-cases.service.js +136 -0
  37. package/esm2015/lib/shared/components/palette/case-link/utils/validators.utils.js +27 -0
  38. package/esm2015/lib/shared/components/palette/case-link/write-case-link-field.component.js +79 -65
  39. package/esm2015/lib/shared/components/palette/index.js +6 -2
  40. package/esm2015/lib/shared/components/palette/palette.module.js +70 -18
  41. package/esm2015/lib/shared/components/palette/palette.service.js +10 -4
  42. package/esm2015/lib/shared/components/search-result/search-result.component.js +1 -1
  43. package/esm2015/lib/shared/domain/definition/field-type-enum.model.js +1 -1
  44. package/esm2015/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.js +5 -1
  45. package/esm2015/lib/shared/pipes/index.js +2 -1
  46. package/esm2015/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.js +23 -0
  47. package/esm2015/lib/shared/pipes/link-cases-reason-code/index.js +2 -0
  48. package/esm2015/lib/shared/pipes/pipes.module.js +9 -5
  49. package/esm2015/lib/shared/services/common-data-service/common-data-service.js +22 -0
  50. package/esm2015/lib/shared/services/fields/fields.purger.js +128 -112
  51. package/esm2015/lib/shared/services/fields/fields.utils.js +11 -2
  52. package/esm2015/lib/shared/services/form/form-value.service.js +9 -7
  53. package/esm2015/lib/shared/services/jurisdiction/jurisdiction.service.js +1 -1
  54. package/esm2015/lib/shared/services/search/search.service.js +8 -1
  55. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +2842 -418
  56. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  57. package/lib/app.config.d.ts +4 -0
  58. package/lib/app.config.d.ts.map +1 -1
  59. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +2 -0
  60. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  61. package/lib/shared/components/case-editor/services/cases.service.d.ts +7 -0
  62. package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
  63. package/lib/shared/components/case-editor/services/page-validation.service.d.ts +1 -0
  64. package/lib/shared/components/case-editor/services/page-validation.service.d.ts.map +1 -1
  65. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  66. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +2 -2
  67. package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
  68. package/lib/shared/components/palette/base-field/abstract-form-field.component.d.ts.map +1 -1
  69. package/lib/shared/components/palette/base-field/field-write.component.d.ts +2 -2
  70. package/lib/shared/components/palette/base-field/field-write.component.d.ts.map +1 -1
  71. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts +11 -5
  72. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
  73. package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts +2 -0
  74. package/lib/shared/components/palette/case-flag/domain/case-flag.model.d.ts.map +1 -1
  75. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts +0 -1
  76. package/lib/shared/components/palette/case-flag/read-case-flag-field.component.d.ts.map +1 -1
  77. package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
  78. package/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.d.ts +19 -0
  79. package/lib/shared/components/palette/case-link/components/before-you-start/before-you-start.component.d.ts.map +1 -0
  80. package/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.d.ts +18 -0
  81. package/lib/shared/components/palette/case-link/components/check-your-answers/check-your-answers.component.d.ts.map +1 -0
  82. package/lib/shared/components/palette/case-link/components/index.d.ts +10 -0
  83. package/lib/shared/components/palette/case-link/components/index.d.ts.map +1 -0
  84. package/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.d.ts +41 -0
  85. package/lib/shared/components/palette/case-link/components/link-cases/link-cases.component.d.ts.map +1 -0
  86. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.d.ts +42 -0
  87. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-from-table.component.d.ts.map +1 -0
  88. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.d.ts +45 -0
  89. package/lib/shared/components/palette/case-link/components/linked-cases-table/linked-cases-to-table.component.d.ts.map +1 -0
  90. package/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.d.ts +12 -0
  91. package/lib/shared/components/palette/case-link/components/no-linked-cases/no-linked-cases.component.d.ts.map +1 -0
  92. package/lib/shared/components/palette/case-link/components/read-linked-cases.component.d.ts +37 -0
  93. package/lib/shared/components/palette/case-link/components/read-linked-cases.component.d.ts.map +1 -0
  94. package/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.d.ts +38 -0
  95. package/lib/shared/components/palette/case-link/components/unlink-cases/unlink-cases.component.d.ts.map +1 -0
  96. package/lib/shared/components/palette/case-link/components/write-linked-cases.component.d.ts +45 -0
  97. package/lib/shared/components/palette/case-link/components/write-linked-cases.component.d.ts.map +1 -0
  98. package/lib/shared/components/palette/case-link/domain/index.d.ts +3 -0
  99. package/lib/shared/components/palette/case-link/domain/index.d.ts.map +1 -0
  100. package/lib/shared/components/palette/case-link/domain/linked-cases-state.model.d.ts +12 -0
  101. package/lib/shared/components/palette/case-link/domain/linked-cases-state.model.d.ts.map +1 -0
  102. package/lib/shared/components/palette/case-link/domain/linked-cases.model.d.ts +65 -0
  103. package/lib/shared/components/palette/case-link/domain/linked-cases.model.d.ts.map +1 -0
  104. package/lib/shared/components/palette/case-link/enums/index.d.ts +2 -0
  105. package/lib/shared/components/palette/case-link/enums/index.d.ts.map +1 -0
  106. package/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.d.ts +29 -0
  107. package/lib/shared/components/palette/case-link/enums/write-linked-cases-field.enum.d.ts.map +1 -0
  108. package/lib/shared/components/palette/case-link/index.d.ts +3 -0
  109. package/lib/shared/components/palette/case-link/index.d.ts.map +1 -1
  110. package/lib/shared/components/palette/case-link/read-case-link-field.component.d.ts +3 -0
  111. package/lib/shared/components/palette/case-link/read-case-link-field.component.d.ts.map +1 -1
  112. package/lib/shared/components/palette/case-link/services/index.d.ts +2 -0
  113. package/lib/shared/components/palette/case-link/services/index.d.ts.map +1 -0
  114. package/lib/shared/components/palette/case-link/services/jurisdiction.service.d.ts +12 -0
  115. package/lib/shared/components/palette/case-link/services/jurisdiction.service.d.ts.map +1 -0
  116. package/lib/shared/components/palette/case-link/services/linked-cases.service.d.ts +51 -0
  117. package/lib/shared/components/palette/case-link/services/linked-cases.service.d.ts.map +1 -0
  118. package/lib/shared/components/palette/case-link/utils/validators.utils.d.ts +10 -0
  119. package/lib/shared/components/palette/case-link/utils/validators.utils.d.ts.map +1 -0
  120. package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts +14 -3
  121. package/lib/shared/components/palette/case-link/write-case-link-field.component.d.ts.map +1 -1
  122. package/lib/shared/components/palette/index.d.ts +5 -1
  123. package/lib/shared/components/palette/index.d.ts.map +1 -1
  124. package/lib/shared/components/palette/palette.module.d.ts +54 -45
  125. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  126. package/lib/shared/components/palette/palette.service.d.ts.map +1 -1
  127. package/lib/shared/domain/definition/field-type-enum.model.d.ts +1 -1
  128. package/lib/shared/domain/definition/field-type-enum.model.d.ts.map +1 -1
  129. package/lib/shared/pipes/complex/ccd-read-fields-filter.pipe.d.ts.map +1 -1
  130. package/lib/shared/pipes/index.d.ts +1 -0
  131. package/lib/shared/pipes/index.d.ts.map +1 -1
  132. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts +11 -0
  133. package/lib/shared/pipes/link-cases-reason-code/ccd-link-cases-reason-code.pipe.d.ts.map +1 -0
  134. package/lib/shared/pipes/link-cases-reason-code/index.d.ts +2 -0
  135. package/lib/shared/pipes/link-cases-reason-code/index.d.ts.map +1 -0
  136. package/lib/shared/pipes/pipes.module.d.ts +3 -2
  137. package/lib/shared/pipes/pipes.module.d.ts.map +1 -1
  138. package/lib/shared/services/common-data-service/common-data-service.d.ts +29 -0
  139. package/lib/shared/services/common-data-service/common-data-service.d.ts.map +1 -0
  140. package/lib/shared/services/fields/fields.purger.d.ts +19 -12
  141. package/lib/shared/services/fields/fields.purger.d.ts.map +1 -1
  142. package/lib/shared/services/fields/fields.utils.d.ts +1 -0
  143. package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
  144. package/lib/shared/services/form/form-value.service.d.ts.map +1 -1
  145. package/lib/shared/services/jurisdiction/jurisdiction.service.d.ts.map +1 -1
  146. package/lib/shared/services/search/search.service.d.ts +4 -0
  147. package/lib/shared/services/search/search.service.d.ts.map +1 -1
  148. package/package.json +1 -1
@@ -811,4 +811,4 @@ SearchResultComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SearchResultCompone
811
811
  }], sortHandler: [{
812
812
  type: Output
813
813
  }] }); })();
814
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvc2VhcmNoLXJlc3VsdC9zZWFyY2gtcmVzdWx0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zZWFyY2gtcmVzdWx0L3NlYXJjaC1yZXN1bHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUNsRCxZQUFZLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUNWLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLHFDQUFxQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7SUNKM0gsK0JBQXlGO0lBQ3ZGLGdDQUEwRDtJQUFBLGlCQUFDO0lBQUEsaUJBQU87SUFDbEUsa0NBQXlDO0lBQ3ZDLGdDQUE0QztJQUFBLHVCQUFPO0lBQUEsaUJB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QWdCO2tCQUR0QixLQUFLO1lBSUMsZ0JBQWdCO2tCQUR0QixLQUFLO1lBSUMsc0JBQXNCO2tCQUQ1QixLQUFLO1lBSUMsU0FBUztrQkFEZixNQUFNO1lBSUEsVUFBVTtrQkFEaEIsTUFBTTtZQUlBLFNBQVM7a0JBRGYsTUFBTTtZQUlBLFdBQVc7a0JBRGpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBQbGFjZWhvbGRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IENhc2VGaWVsZCwgQ2FzZVN0YXRlLCBDYXNlVHlwZSwgRGlzcGxheU1vZGUsXG4gIERSQUZUX1BSRUZJWCwgSnVyaXNkaWN0aW9uLCBQYWdpbmF0aW9uTWV0YWRhdGEsIFNlYXJjaFJlc3VsdFZpZXcsIFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4sXG4gIFNlYXJjaFJlc3VsdFZpZXdJdGVtLCBTZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3IsIFNvcnRPcmRlciwgU29ydFBhcmFtZXRlcnMgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZVJlZmVyZW5jZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBBY3Rpdml0eVNlcnZpY2UsIEJyb3dzZXJTZXJ2aWNlLCBTZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5LCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1zZWFyY2gtcmVzdWx0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1yZXN1bHQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtcmVzdWx0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoUmVzdWx0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fSlVSSVNESUNUSU9OID0gJ2p1cmlzZGljdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9UWVBFID0gJ2Nhc2UtdHlwZSc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9TVEFURSA9ICdjYXNlLXN0YXRlJztcblxuICBwcml2YXRlIHJlYWRvbmx5IFBBR0lOQVRJT05fTUFYX0lURU1fUkVTVUxUID0gMTAwMDA7XG5cbiAgcHVibGljIElDT04gPSBEaXNwbGF5TW9kZS5JQ09OO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlTGlua1VybFRlbXBsYXRlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGp1cmlzZGljdGlvbjogSnVyaXNkaWN0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlVHlwZTogQ2FzZVR5cGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VTdGF0ZTogQ2FzZVN0YXRlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRmlsdGVyRkc6IEZvcm1Hcm91cDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVzdWx0VmlldzogU2VhcmNoUmVzdWx0VmlldztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZTogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdpbmF0aW9uTWV0YWRhdGE6IFBhZ2luYXRpb25NZXRhZGF0YTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbWV0YWRhdGFGaWVsZHM6IHN0cmluZ1tdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZWxlY3Rpb25FbmFibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dPbmx5U2VsZWN0ZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcHJlU2VsZWN0ZWRDYXNlczogU2VhcmNoUmVzdWx0Vmlld0l0ZW1bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb25zdW1lclNvcnRpbmdFbmFibGVkID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWxlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaFJlc3VsdFZpZXdJdGVtW10+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjaGFuZ2VQYWdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsaWNrQ2FzZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzb3J0SGFuZGxlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHBhZ2luYXRpb25MaW1pdEVuZm9yY2VkID0gZmFsc2U7XG5cbiAgcHVibGljIHBhZ2luYXRpb25QYWdlU2l6ZTogbnVtYmVyO1xuXG4gIHB1YmxpYyBoaWRlUm93czogYm9vbGVhbjtcblxuICBwdWJsaWMgc2VsZWN0ZWQ6IHtcbiAgICBpbml0PzogYm9vbGVhbixcbiAgICBqdXJpc2RpY3Rpb24/OiBKdXJpc2RpY3Rpb24sXG4gICAgY2FzZVR5cGU/OiBDYXNlVHlwZSxcbiAgICBjYXNlU3RhdGU/OiBDYXNlU3RhdGUsXG4gICAgZm9ybUdyb3VwPzogRm9ybUdyb3VwLFxuICAgIG1ldGFkYXRhRmllbGRzPzogc3RyaW5nW10sXG4gICAgcGFnZT86IG51bWJlclxuICB9ID0ge307XG5cbiAgcHVibGljIHNvcnRQYXJhbWV0ZXJzOiBTb3J0UGFyYW1ldGVycztcbiAgcHVibGljIHNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3Rvcnk6IFNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3Rvcnk7XG4gIHB1YmxpYyBkcmFmdHNDb3VudDogbnVtYmVyO1xuXG4gIHB1YmxpYyBjb25zdW1lclNvcnRQYXJhbWV0ZXJzOiB7IGNvbHVtbjogc3RyaW5nLCBvcmRlcjogU29ydE9yZGVyLCB0eXBlOiBzdHJpbmcgfSA9IHsgY29sdW1uOiBudWxsLCBvcmRlcjogbnVsbCwgdHlwZTogbnVsbCB9O1xuXG4gIHB1YmxpYyBzZWxlY3RlZENhc2VzOiBTZWFyY2hSZXN1bHRWaWV3SXRlbVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeTogU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeSxcbiAgICBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZpdHlTZXJ2aWNlOiBBY3Rpdml0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlUmVmZXJlbmNlUGlwZTogQ2FzZVJlZmVyZW5jZVBpcGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZWhvbGRlclNlcnZpY2U6IFBsYWNlaG9sZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJyb3dzZXJTZXJ2aWNlOiBCcm93c2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeSA9IHNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3Rvcnk7XG4gICAgdGhpcy5wYWdpbmF0aW9uUGFnZVNpemUgPSBhcHBDb25maWcuZ2V0UGFnaW5hdGlvblBhZ2VTaXplKCk7XG4gICAgdGhpcy5oaWRlUm93cyA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByZVNlbGVjdGVkQ2FzZXMpIHtcbiAgICAgIGZvciAoY29uc3QgcHJlU2VsZWN0ZWRDYXNlIG9mIHRoaXMucHJlU2VsZWN0ZWRDYXNlcykge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZENhc2VzICYmICF0aGlzLnNlbGVjdGVkQ2FzZXMuc29tZShhQ2FzZSA9PiBhQ2FzZS5jYXNlX2lkID09PSBwcmVTZWxlY3RlZENhc2UuY2FzZV9pZCkpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMucHVzaChwcmVTZWxlY3RlZENhc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ2V2ZW50VXJsJyk7XG4gICAgdGhpcy5zZWxlY3Rpb24uZW1pdCh0aGlzLnNlbGVjdGVkQ2FzZXMpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblxuICAgIGlmIChjaGFuZ2VzWydyZXN1bHRWaWV3J10pIHtcbiAgICAgIHRoaXMuaGlkZVJvd3MgPSBmYWxzZTtcblxuICAgICAgdGhpcy5zb3J0UGFyYW1ldGVycyA9IHVuZGVmaW5lZDtcbiAgICAgIC8vIENsb25lIGByZXN1bHRWaWV3YCB0byBwcmV2ZW50IHNvcnRpbmcgdGhlIGV4dGVybmFsIHZhcmlhYmxlXG4gICAgICB0aGlzLnJlc3VsdFZpZXcgPSB7XG4gICAgICAgIGNvbHVtbnM6IHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zLnNsaWNlKDApLFxuICAgICAgICByZXN1bHRzOiB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5zbGljZSgwKSxcbiAgICAgICAgaGFzRHJhZnRzOiB0aGlzLnJlc3VsdFZpZXcuaGFzRHJhZnRzXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnJlc3VsdFZpZXcuY29sdW1ucyA9IHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zLnNvcnQoKGE6IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4sIGI6IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pID0+IHtcbiAgICAgICAgcmV0dXJuIGEub3JkZXIgLSBiLm9yZGVyO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuaHlkcmF0ZVJlc3VsdFZpZXcoKTtcbiAgICAgIHRoaXMuZHJhZnRzQ291bnQgPSB0aGlzLmRyYWZ0c0NvdW50ID8gdGhpcy5kcmFmdHNDb3VudCA6IHRoaXMubnVtYmVyT2ZEcmFmdHMoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ3BhZ2UnXSkge1xuICAgICAgdGhpcy5zZWxlY3RlZC5wYWdlID0gKGNoYW5nZXNbJ3BhZ2UnXSkuY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzdWx0VG90YWwoKTogbnVtYmVyIHtcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMucGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3Jlc3VsdHNfY291bnQ7XG4gICAgY29uc3QgbWF4aW11bVJlc3VsdFJlYWNoZWQgPSB0b3RhbCA+PSB0aGlzLlBBR0lOQVRJT05fTUFYX0lURU1fUkVTVUxUO1xuICAgIHRoaXMucGFnaW5hdGlvbkxpbWl0RW5mb3JjZWQgPSBtYXhpbXVtUmVzdWx0UmVhY2hlZDtcblxuICAgIHJldHVybiBtYXhpbXVtUmVzdWx0UmVhY2hlZCA/IHRoaXMuUEFHSU5BVElPTl9NQVhfSVRFTV9SRVNVTFQgOiB0b3RhbDtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ2FzZXMgPSBbXTtcbiAgICB0aGlzLnNlbGVjdGlvbi5lbWl0KHRoaXMuc2VsZWN0ZWRDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgY2FuQmVTaGFyZWQoY2FzZVZpZXc6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNhc2VWaWV3LnN1cHBsZW1lbnRhcnlfZGF0YSAmJiBjYXNlVmlldy5zdXBwbGVtZW50YXJ5X2RhdGEuaGFzT3duUHJvcGVydHkoJ29yZ3NfYXNzaWduZWRfdXNlcnMnKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5BbnlCZVNoYXJlZCgpOiBib29sZWFuIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKHRoaXMuY2FuQmVTaGFyZWQodGhpcy5yZXN1bHRWaWV3LnJlc3VsdHNbaV0pKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFsbE9uUGFnZVNlbGVjdGVkKCkpIHtcbiAgICAgIC8vIGFsbCBjYXNlcyBhbHJlYWR5IHNlbGVjdGVkLCBzbyB1bnNlbGVjdCBhbGwgb24gdGhpcyBwYWdlXG4gICAgICB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5mb3JFYWNoKGMgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuZm9yRWFjaCgocywgaSkgPT4ge1xuICAgICAgICAgIGlmIChjLmNhc2VfaWQgPT09IHMuY2FzZV9pZCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VzLnNwbGljZShpLCAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmZvckVhY2goYyA9PiB7XG4gICAgICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKGMpICYmIHRoaXMuY2FuQmVTaGFyZWQoYykpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMucHVzaChjKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9uLmVtaXQodGhpcy5zZWxlY3RlZENhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VTZWxlY3Rpb24oYzogU2VhcmNoUmVzdWx0Vmlld0l0ZW0pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1NlbGVjdGVkKGMpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuZm9yRWFjaCgocywgaSkgPT4ge1xuICAgICAgICBpZiAoYy5jYXNlX2lkID09PSBzLmNhc2VfaWQpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuc3BsaWNlKGksIDEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuY2FuQmVTaGFyZWQoYykpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VzLnB1c2goYyk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9uLmVtaXQodGhpcy5zZWxlY3RlZENhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NlbGVjdGVkKGM6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogYm9vbGVhbiB7XG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSB0aGlzLnNlbGVjdGVkQ2FzZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBpZiAoYy5jYXNlX2lkID09PSB0aGlzLnNlbGVjdGVkQ2FzZXNbaV0uY2FzZV9pZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGFsbE9uUGFnZVNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIGxldCBjYW5CZVNoYXJlZENvdW50ID0gMDtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgY29uc3QgciA9IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzW2ldO1xuICAgICAgaWYgKHRoaXMuY2FuQmVTaGFyZWQocikpIHtcbiAgICAgICAgY2FuQmVTaGFyZWRDb3VudCArKztcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKHIpICYmIHRoaXMuY2FuQmVTaGFyZWQocikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2FuQmVTaGFyZWRDb3VudCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIeWRyYXRlcyByZXN1bHQgdmlldyB3aXRoIGNhc2UgZmllbGQgZGVmaW5pdGlvbnMuXG4gICAqL1xuICAvLyBBIGxvbmdlciB0ZXJtIHJlc29sdXRpb24gaXMgdG8gbW92ZSB0aGlzIHBpZWNlIG9mIGxvZ2ljIHRvIHRoZSBiYWNrZW5kXG4gIHB1YmxpYyBoeWRyYXRlUmVzdWx0VmlldygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5mb3JFYWNoKHJlc3VsdCA9PiB7XG4gICAgICBjb25zdCBjYXNlRmllbGRzID0gW107XG5cbiAgICAgIE9iamVjdC5rZXlzKHJlc3VsdC5jYXNlX2ZpZWxkcykuZm9yRWFjaChmaWVsZElkID0+IHtcblxuICAgICAgICBjb25zdCBmaWVsZCA9IHJlc3VsdC5jYXNlX2ZpZWxkc1tmaWVsZElkXTtcblxuICAgICAgICBjYXNlRmllbGRzLnB1c2goT2JqZWN0LmFzc2lnbihuZXcgQ2FzZUZpZWxkKCksIHtcbiAgICAgICAgICBpZDogZmllbGRJZCxcbiAgICAgICAgICBsYWJlbDogbnVsbCxcbiAgICAgICAgICBmaWVsZF90eXBlOiB7fSxcbiAgICAgICAgICB2YWx1ZTogZmllbGQsXG4gICAgICAgICAgZGlzcGxheV9jb250ZXh0OiBudWxsLFxuICAgICAgICB9KSk7XG4gICAgICB9KTtcblxuICAgICAgcmVzdWx0Lmh5ZHJhdGVkX2Nhc2VfZmllbGRzID0gY2FzZUZpZWxkcztcbiAgICAgIHJlc3VsdC5jb2x1bW5zID0ge307XG5cbiAgICAgIHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zLmZvckVhY2goY29sID0+IHtcbiAgICAgICAgcmVzdWx0LmNvbHVtbnNbY29sLmNhc2VfZmllbGRfaWRdID0gdGhpcy5idWlsZENhc2VGaWVsZChjb2wsIHJlc3VsdCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICB9XG5cbiAgcHVibGljIGdvVG9QYWdlKHBhZ2UpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVSb3dzID0gdHJ1ZTtcbiAgICB0aGlzLnNlbGVjdGVkLmluaXQgPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9IHRoaXMuanVyaXNkaWN0aW9uO1xuICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSB0aGlzLmNhc2VUeXBlO1xuICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlID0gdGhpcy5jYXNlU3RhdGU7XG4gICAgdGhpcy5zZWxlY3RlZC5mb3JtR3JvdXAgPSB0aGlzLmNhc2VGaWx0ZXJGRztcbiAgICB0aGlzLnNlbGVjdGVkLm1ldGFkYXRhRmllbGRzID0gdGhpcy5tZXRhZGF0YUZpZWxkcztcbiAgICB0aGlzLnNlbGVjdGVkLnBhZ2UgPSBwYWdlO1xuICAgIC8vIEFwcGx5IGZpbHRlcnNcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHt9O1xuICAgIHF1ZXJ5UGFyYW1zW1NlYXJjaFJlc3VsdENvbXBvbmVudC5QQVJBTV9KVVJJU0RJQ1RJT05dID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gPyB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbi5pZCA6IG51bGw7XG4gICAgcXVlcnlQYXJhbXNbU2VhcmNoUmVzdWx0Q29tcG9uZW50LlBBUkFNX0NBU0VfVFlQRV0gPSB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID8gdGhpcy5zZWxlY3RlZC5jYXNlVHlwZS5pZCA6IG51bGw7XG4gICAgcXVlcnlQYXJhbXNbU2VhcmNoUmVzdWx0Q29tcG9uZW50LlBBUkFNX0NBU0VfU1RBVEVdID0gdGhpcy5zZWxlY3RlZC5jYXNlU3RhdGUgPyB0aGlzLnNlbGVjdGVkLmNhc2VTdGF0ZS5pZCA6IG51bGw7XG4gICAgdGhpcy5jaGFuZ2VQYWdlLmVtaXQoe1xuICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICBxdWVyeVBhcmFtc1xuICAgIH0pO1xuXG4gICAgY29uc3QgdG9wQ29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcCcpO1xuICAgIGlmICh0b3BDb250YWluZXIpIHtcbiAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICB9XG4gICAgICB0b3BDb250YWluZXIuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYnVpbGRDYXNlRmllbGQoY29sOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uLCByZXN1bHQ6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogQ2FzZUZpZWxkIHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgQ2FzZUZpZWxkKCksIHtcbiAgICAgIGlkOiBjb2wuY2FzZV9maWVsZF9pZCxcbiAgICAgIGxhYmVsOiBjb2wubGFiZWwsXG4gICAgICBmaWVsZF90eXBlOiBjb2wuY2FzZV9maWVsZF90eXBlLFxuICAgICAgdmFsdWU6IHJlc3VsdC5jYXNlX2ZpZWxkc1tjb2wuY2FzZV9maWVsZF9pZF0sXG4gICAgICBkaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyOiBjb2wuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlcixcbiAgICAgIGRpc3BsYXlfY29udGV4dDogY29sLmRpc3BsYXlfY29udGV4dCxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb2x1bW5zV2l0aFByZWZpeChjb2w6IENhc2VGaWVsZCwgcmVzdWx0OiBTZWFyY2hSZXN1bHRWaWV3SXRlbSk6IENhc2VGaWVsZCB7XG4gICAgY29sLnZhbHVlID0gdGhpcy5kcmFmdFByZWZpeE9yR2V0KGNvbCwgcmVzdWx0KTtcbiAgICBjb2wudmFsdWUgPSB0aGlzLnBsYWNlaG9sZGVyU2VydmljZS5yZXNvbHZlUGxhY2Vob2xkZXJzKHJlc3VsdC5jYXNlX2ZpZWxkcywgY29sLnZhbHVlKTtcbiAgICByZXR1cm4gY29sO1xuICB9XG5cbiAgcHVibGljIGhhc1Jlc3VsdHMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMubGVuZ3RoICYmIHRoaXMucGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3BhZ2VzX2NvdW50O1xuICB9XG5cbiAgcHVibGljIGhhc0RyYWZ0cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRWaWV3Lmhhc0RyYWZ0cygpO1xuICB9XG5cbiAgcHVibGljIGNvbXBhcmF0b3IoY29sdW1uOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uKTogU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5LmNyZWF0ZVNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvcihjb2x1bW4pO1xuICB9XG5cbiAgcHVibGljIHNvcnQoY29sdW1uOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uKSB7XG4gICAgaWYgKHRoaXMuY29uc3VtZXJTb3J0aW5nRW5hYmxlZCkge1xuICAgICAgaWYgKGNvbHVtbi5jYXNlX2ZpZWxkX2lkICE9PSB0aGlzLmNvbnN1bWVyU29ydFBhcmFtZXRlcnMuY29sdW1uKSB7XG4gICAgICAgIHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy5vcmRlciA9IFNvcnRPcmRlci5ERVNDRU5ESU5HO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID0gdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORyA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvcnRPcmRlci5BU0NFTkRJTkcgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgICAgIH1cbiAgICAgIHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy5jb2x1bW4gPSBjb2x1bW4uY2FzZV9maWVsZF9pZDtcbiAgICAgIHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy50eXBlID0gY29sdW1uLmNhc2VfZmllbGRfdHlwZS50eXBlO1xuICAgICAgdGhpcy5zb3J0SGFuZGxlci5lbWl0KHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmNvbXBhcmF0b3IoY29sdW1uKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1NvcnRBc2NlbmRpbmcoY29sdW1uKSkge1xuICAgICAgICB0aGlzLnNvcnRQYXJhbWV0ZXJzID0gbmV3IFNvcnRQYXJhbWV0ZXJzKHRoaXMuY29tcGFyYXRvcihjb2x1bW4pLCBTb3J0T3JkZXIuQVNDRU5ESU5HKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc29ydFBhcmFtZXRlcnMgPSBuZXcgU29ydFBhcmFtZXRlcnModGhpcy5jb21wYXJhdG9yKGNvbHVtbiksIFNvcnRPcmRlci5ERVNDRU5ESU5HKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc29ydFdpZGdldChjb2x1bW46IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pIHtcbiAgICBsZXQgY29uZGl0aW9uID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuY29uc3VtZXJTb3J0aW5nRW5hYmxlZCkge1xuICAgICAgY29uc3QgaXNDb2x1bW4gPSBjb2x1bW4uY2FzZV9maWVsZF9pZCA9PT0gdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLmNvbHVtbjtcbiAgICAgIGNvbnN0IGlzQXNjZW5kaW5nID0gdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID09PSBTb3J0T3JkZXIuQVNDRU5ESU5HO1xuICAgICAgY29uZGl0aW9uID0gIWlzQ29sdW1uIHx8IChpc0NvbHVtbiAmJiBpc0FzY2VuZGluZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbmRpdGlvbiA9IHRoaXMuaXNTb3J0QXNjZW5kaW5nKGNvbHVtbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmRpdGlvbiA/ICcmIzk2NjA7JyA6ICcmIzk2NTA7JztcbiAgfVxuXG4gIHB1YmxpYyBhY3Rpdml0eUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlTZXJ2aWNlLmlzRW5hYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBoeXBoZW5hdGVJZkNhc2VSZWZlcmVuY2VPckdldChjb2wsIHJlc3VsdCk6IGFueSB7XG4gICAgaWYgKGNvbC5jYXNlX2ZpZWxkX2lkID09PSAnW0NBU0VfUkVGRVJFTkNFXScpIHtcbiAgICAgIHJldHVybiB0aGlzLmNhc2VSZWZlcmVuY2VQaXBlLnRyYW5zZm9ybShyZXN1bHQuY2FzZV9maWVsZHNbY29sLmNhc2VfZmllbGRfaWRdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGNvbC5pZCkge1xuICAgICAgICBpZiAoY29sLmlkID09PSAnW0NBU0VfUkVGRVJFTkNFXScpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jYXNlUmVmZXJlbmNlUGlwZS50cmFuc2Zvcm0ocmVzdWx0LmNhc2VfZmllbGRzW2NvbC5pZF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiByZXN1bHQuY2FzZV9maWVsZHNbY29sLmlkXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5jYXNlX2ZpZWxkc1tjb2wuY2FzZV9maWVsZF9pZF07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRyYWZ0UHJlZml4T3JHZXQoY29sLCByZXN1bHQpOiBhbnkge1xuICAgIHJldHVybiByZXN1bHQuY2FzZV9pZC5zdGFydHNXaXRoKERSQUZUX1BSRUZJWCkgPyBEUkFGVF9QUkVGSVggOiB0aGlzLmh5cGhlbmF0ZUlmQ2FzZVJlZmVyZW5jZU9yR2V0KGNvbCwgcmVzdWx0KTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NvcnRBc2NlbmRpbmcoY29sdW1uOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY3VycmVudFNvcnRPcmRlciA9IHRoaXMuY3VycmVudFNvcnRPcmRlcihjb2x1bW4pO1xuXG4gICAgcmV0dXJuIGN1cnJlbnRTb3J0T3JkZXIgPT09IFNvcnRPcmRlci5VTlNPUlRFRCB8fCBjdXJyZW50U29ydE9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgfVxuXG4gIHByaXZhdGUgY3VycmVudFNvcnRPcmRlcihjb2x1bW46IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pOiBTb3J0T3JkZXIge1xuXG4gICAgbGV0IGlzQXNjZW5kaW5nID0gdHJ1ZTtcbiAgICBsZXQgaXNEZXNjZW5kaW5nID0gdHJ1ZTtcblxuICAgIGlmICh0aGlzLmNvbXBhcmF0b3IoY29sdW1uKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gU29ydE9yZGVyLlVOU09SVEVEO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgY29uc3QgY29tcGFyaXNvbiA9IHRoaXMuY29tcGFyYXRvcihjb2x1bW4pLmNvbXBhcmUodGhpcy5yZXN1bHRWaWV3LnJlc3VsdHNbaV0sIHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzW2kgKyAxXSk7XG4gICAgICBpc0Rlc2NlbmRpbmcgPSBpc0Rlc2NlbmRpbmcgJiYgY29tcGFyaXNvbiA8PSAwO1xuICAgICAgaXNBc2NlbmRpbmcgPSBpc0FzY2VuZGluZyAmJiBjb21wYXJpc29uID49IDA7XG4gICAgICBpZiAoIWlzQXNjZW5kaW5nICYmICFpc0Rlc2NlbmRpbmcpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpc0FzY2VuZGluZyA/IFNvcnRPcmRlci5BU0NFTkRJTkcgOiBpc0Rlc2NlbmRpbmcgPyBTb3J0T3JkZXIuREVTQ0VORElORyA6IFNvcnRPcmRlci5VTlNPUlRFRDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGaXJzdFJlc3VsdCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gKHRoaXMuc2VsZWN0ZWQucGFnZSA/IHRoaXMuc2VsZWN0ZWQucGFnZSA6IDEpO1xuICAgIHJldHVybiAoKGN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnBhZ2luYXRpb25QYWdlU2l6ZSkgKyAxICsgdGhpcy5nZXREcmFmdHNDb3VudElmTm90UGFnZU9uZShjdXJyZW50UGFnZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGFzdFJlc3VsdCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gKHRoaXMuc2VsZWN0ZWQucGFnZSA/IHRoaXMuc2VsZWN0ZWQucGFnZSA6IDEpO1xuICAgIHJldHVybiAoKGN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnBhZ2luYXRpb25QYWdlU2l6ZSkgKyB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5sZW5ndGggKyB0aGlzLmdldERyYWZ0c0NvdW50SWZOb3RQYWdlT25lKGN1cnJlbnRQYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUb3RhbFJlc3VsdHMoKTogbnVtYmVyIHtcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMucGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3Jlc3VsdHNfY291bnQgKyB0aGlzLmRyYWZ0c0NvdW50O1xuXG4gICAgcmV0dXJuIHRvdGFsID49IHRoaXMuUEFHSU5BVElPTl9NQVhfSVRFTV9SRVNVTFQgPyB0aGlzLlBBR0lOQVRJT05fTUFYX0lURU1fUkVTVUxUIDogdG90YWw7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZUNhc2VMaW5rVXJsKGNhc2VJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgdXJsID0gdGhpcy5jYXNlTGlua1VybFRlbXBsYXRlO1xuICAgIHVybCA9IHVybC5yZXBsYWNlKCdqdXJpc2RpY3Rpb25faWQnLCB0aGlzLmp1cmlzZGljdGlvbi5pZCk7XG4gICAgdXJsID0gdXJsLnJlcGxhY2UoJ2Nhc2VUeXBlX2lkJywgdGhpcy5jYXNlVHlwZS5pZCk7XG4gICAgdXJsID0gdXJsLnJlcGxhY2UoJ2Nhc2VfaWQnLCBjYXNlSWQpO1xuXG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RHJhZnRzQ291bnRJZk5vdFBhZ2VPbmUoY3VycmVudFBhZ2UpOiBudW1iZXIge1xuICAgIHJldHVybiBjdXJyZW50UGFnZSA+IDEgPyB0aGlzLmRyYWZ0c0NvdW50IDogMDtcbiAgfVxuXG4gIHByaXZhdGUgbnVtYmVyT2ZEcmFmdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMuZmlsdGVyKF8gPT4gXy5jYXNlX2lkLnN0YXJ0c1dpdGgoRFJBRlRfUFJFRklYKSkubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIGdvVG9DYXNlKGNhc2VJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5jbGlja0Nhc2UuZW1pdCh7XG4gICAgICBjYXNlSWRcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbktleVVwKCRldmVudDogS2V5Ym9hcmRFdmVudCwgYzogU2VhcmNoUmVzdWx0Vmlld0l0ZW0pOiB2b2lkIHtcbiAgICBpZiAoJGV2ZW50LmtleSA9PT0gJ1NwYWNlJykge1xuICAgICAgaWYgKHRoaXMuYnJvd3NlclNlcnZpY2UuaXNGaXJlZm94IHx8IHRoaXMuYnJvd3NlclNlcnZpY2UuaXNTYWZhcmkgfHwgdGhpcy5icm93c2VyU2VydmljZS5pc0lFT3JFZGdlKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlU2VsZWN0aW9uKGMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPHRhYmxlICpuZ0lmPVwiaGFzUmVzdWx0cygpIHx8IGhhc0RyYWZ0cygpXCI+XG4gIDxjYXB0aW9uPlxuICAgIDxoMiBjbGFzcz1cImhlYWRpbmctaDJcIiBpZD1cInNlYXJjaC1yZXN1bHQtaGVhZGluZ19fdGV4dFwiIHRhYmluZGV4PVwiLTFcIj57eyBjYXNlU3RhdGUgPyAnWW91ciBjYXNlcycgOiAnU2VhcmNoIHJlc3VsdCcgfX08L2gyPlxuXG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dCBwYWdpbmF0aW9uLWxpbWl0LXdhcm5pbmdcIiAqbmdJZj1cInBhZ2luYXRpb25MaW1pdEVuZm9yY2VkXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dF9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiE8L3NwYW4+XG4gICAgICA8c3Ryb25nIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X190ZXh0XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X19hc3Npc3RpdmVcIj5XYXJuaW5nPC9zcGFuPlxuICAgICAgICBUaGUgdG90YWwgc2l6ZSBvZiB0aGUgcmVzdWx0IHNldCBpcyB7e3BhZ2luYXRpb25NZXRhZGF0YS50b3RhbF9yZXN1bHRzX2NvdW50IHwgbnVtYmVyfX0uIE9ubHkgdGhlIGZpcnN0IDEwLDAwMCByZWNvcmRzIGFyZSBhdmFpbGFibGUgZm9yIGRpc3BsYXkuXG4gICAgICA8L3N0cm9uZz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIoaGFzUmVzdWx0cygpIHx8IGhhc0RyYWZ0cygpKVwiIGNsYXNzPVwicGFnaW5hdGlvbi10b3BcIlxuICAgICAgYXR0ci5hcmlhLWxhYmVsPVwie3sgZ2V0VG90YWxSZXN1bHRzKCkgfX0gcmVzdWx0cyBoYXZlIGJlZW4gZm91bmRcIiByb2xlPVwic3RhdHVzXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIiBpZD1cInNlYXJjaC1yZXN1bHQtc3VtbWFyeV9fdGV4dFwiPlNob3dpbmdcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIj57eyBnZXRGaXJzdFJlc3VsdCgpIH19PC9zcGFuPlxuICAgICAgICB0b1xuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiPnt7IGdldExhc3RSZXN1bHQoKSB9fTwvc3Bhbj5cbiAgICAgICAgb2ZcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIj57eyBnZXRUb3RhbFJlc3VsdHMoKSB9fTwvc3Bhbj4gcmVzdWx0czwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiKGhhc1Jlc3VsdHMoKSB8fCBoYXNEcmFmdHMoKSkgJiYgc2VsZWN0aW9uRW5hYmxlZFwiIGNsYXNzPVwicmVzZXQtc2VsZWN0aW9uXCJcbiAgICAgIGF0dHIuYXJpYS1sYWJlbD1cIlJlc2V0IHNlbGVjdGlvblwiPlxuICAgICAgPHNwYW4+PGEgY2xhc3M9XCJzZWFyY2gtcmVzdWx0LXJlc2V0LWxpbmtcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cImNsZWFyU2VsZWN0aW9uKClcIj5SZXNldCBjYXNlIHNlbGVjdGlvbjwvYT48L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvY2FwdGlvbj5cbiAgPHRoZWFkPlxuICAgIDx0ciBzY29wZT1cInJvd1wiPlxuICAgICAgPHRoICpuZ0lmPVwic2VsZWN0aW9uRW5hYmxlZFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2NoZWNrYm94XCIgc2NvcGU9XCJjb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2l0ZW1cIj5cbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pbnB1dFwiIGlkPVwic2VsZWN0LWFsbFwiIG5hbWU9XCJzZWxlY3QtYWxsXCIgdHlwZT1cImNoZWNrYm94XCIgKGNoYW5nZSk9XCJzZWxlY3RBbGwoKVwiIFtjaGVja2VkXT1cImFsbE9uUGFnZVNlbGVjdGVkKClcIiBbZGlzYWJsZWRdPVwiIWNhbkFueUJlU2hhcmVkKClcIiAvPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwic2VsZWN0LWFsbFwiPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90aD5cbiAgICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sIG9mIHJlc3VsdFZpZXcuY29sdW1uc1wiIGNsYXNzPVwic2VhcmNoLXJlc3VsdC1jb2x1bW4taGVhZGVyXCIgIGF0dHIuYXJpYS1sYWJlbD1cIlNvcnQgYnkge3tjb2wubGFiZWx9fSB7eyBpc1NvcnRBc2NlbmRpbmcoY29sKT8gJ2FzY2VuZGluZycgOiAnZGVzY2VuZGluZycgfX1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtcmVzdWx0LWNvbHVtbi1sYWJlbFwiIChjbGljayk9XCJzb3J0KGNvbClcIj57e2NvbC5sYWJlbH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29tcGFyYXRvcihjb2wpXCIgY2xhc3M9XCJzZWFyY2gtcmVzdWx0LWNvbHVtbi1zb3J0XCI+XG4gICAgICAgICAgICAgIDxhIChjbGljayk9XCJzb3J0KGNvbClcIiBjbGFzcz1cInNvcnQtd2lkZ2V0XCIgW2lubmVySFRNTF09XCJzb3J0V2lkZ2V0KGNvbClcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCI+PC9hPlxuICAgICAgICAgICAgPC9kaXY+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=
814
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvc2VhcmNoLXJlc3VsdC9zZWFyY2gtcmVzdWx0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zZWFyY2gtcmVzdWx0L3NlYXJjaC1yZXN1bHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUNsRCxZQUFZLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUNWLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLHFDQUFxQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7SUNKM0gsK0JBQXlGO0lBQ3ZGLGdDQUEwRDtJQUFBLGlCQUFDO0lBQUEsaUJBQU87SUFDbEUsa0NBQXlDO0lBQ3ZDLGdDQUE0QztJQUFBLHVCQUFPO0lBQUEsaUJB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QWdCO2tCQUR0QixLQUFLO1lBSUMsZ0JBQWdCO2tCQUR0QixLQUFLO1lBSUMsc0JBQXNCO2tCQUQ1QixLQUFLO1lBSUMsU0FBUztrQkFEZixNQUFNO1lBSUEsVUFBVTtrQkFEaEIsTUFBTTtZQUlBLFNBQVM7a0JBRGYsTUFBTTtZQUlBLFdBQVc7a0JBRGpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBQbGFjZWhvbGRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IENhc2VGaWVsZCwgQ2FzZVN0YXRlLCBDYXNlVHlwZSwgRGlzcGxheU1vZGUsXG4gIERSQUZUX1BSRUZJWCwgSnVyaXNkaWN0aW9uLCBQYWdpbmF0aW9uTWV0YWRhdGEsIFNlYXJjaFJlc3VsdFZpZXcsIFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4sXG4gIFNlYXJjaFJlc3VsdFZpZXdJdGVtLCBTZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3IsIFNvcnRPcmRlciwgU29ydFBhcmFtZXRlcnMgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZVJlZmVyZW5jZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBBY3Rpdml0eVNlcnZpY2UsIEJyb3dzZXJTZXJ2aWNlLCBTZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5LCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1zZWFyY2gtcmVzdWx0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1yZXN1bHQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtcmVzdWx0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoUmVzdWx0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fSlVSSVNESUNUSU9OID0gJ2p1cmlzZGljdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9UWVBFID0gJ2Nhc2UtdHlwZSc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9TVEFURSA9ICdjYXNlLXN0YXRlJztcblxuICBwcml2YXRlIHJlYWRvbmx5IFBBR0lOQVRJT05fTUFYX0lURU1fUkVTVUxUID0gMTAwMDA7XG5cbiAgcHVibGljIElDT04gPSBEaXNwbGF5TW9kZS5JQ09OO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlTGlua1VybFRlbXBsYXRlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGp1cmlzZGljdGlvbjogSnVyaXNkaWN0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlVHlwZTogQ2FzZVR5cGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VTdGF0ZTogQ2FzZVN0YXRlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRmlsdGVyRkc6IEZvcm1Hcm91cDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVzdWx0VmlldzogU2VhcmNoUmVzdWx0VmlldztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZTogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdpbmF0aW9uTWV0YWRhdGE6IFBhZ2luYXRpb25NZXRhZGF0YTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbWV0YWRhdGFGaWVsZHM6IHN0cmluZ1tdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZWxlY3Rpb25FbmFibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dPbmx5U2VsZWN0ZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcHJlU2VsZWN0ZWRDYXNlczogU2VhcmNoUmVzdWx0Vmlld0l0ZW1bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb25zdW1lclNvcnRpbmdFbmFibGVkID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWxlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaFJlc3VsdFZpZXdJdGVtW10+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjaGFuZ2VQYWdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsaWNrQ2FzZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzb3J0SGFuZGxlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHBhZ2luYXRpb25MaW1pdEVuZm9yY2VkID0gZmFsc2U7XG5cbiAgcHVibGljIHBhZ2luYXRpb25QYWdlU2l6ZTogbnVtYmVyO1xuXG4gIHB1YmxpYyBoaWRlUm93czogYm9vbGVhbjtcblxuICBwdWJsaWMgc2VsZWN0ZWQ6IHtcbiAgICBpbml0PzogYm9vbGVhbixcbiAgICBqdXJpc2RpY3Rpb24/OiBKdXJpc2RpY3Rpb24sXG4gICAgY2FzZVR5cGU/OiBDYXNlVHlwZSxcbiAgICBjYXNlU3RhdGU/OiBDYXNlU3RhdGUsXG4gICAgZm9ybUdyb3VwPzogRm9ybUdyb3VwLFxuICAgIG1ldGFkYXRhRmllbGRzPzogc3RyaW5nW10sXG4gICAgcGFnZT86IG51bWJlclxuICB9ID0ge307XG5cbiAgcHVibGljIHNvcnRQYXJhbWV0ZXJzOiBTb3J0UGFyYW1ldGVycztcbiAgcHVibGljIHNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3Rvcnk6IFNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3Rvcnk7XG4gIHB1YmxpYyBkcmFmdHNDb3VudDogbnVtYmVyO1xuXG4gIHB1YmxpYyBjb25zdW1lclNvcnRQYXJhbWV0ZXJzOiB7IGNvbHVtbjogc3RyaW5nLCBvcmRlcjogU29ydE9yZGVyLCB0eXBlOiBzdHJpbmcgfSA9IHsgY29sdW1uOiBudWxsLCBvcmRlcjogbnVsbCwgdHlwZTogbnVsbCB9O1xuXG4gIHB1YmxpYyBzZWxlY3RlZENhc2VzOiBTZWFyY2hSZXN1bHRWaWV3SXRlbVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeTogU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeSxcbiAgICBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZpdHlTZXJ2aWNlOiBBY3Rpdml0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlUmVmZXJlbmNlUGlwZTogQ2FzZVJlZmVyZW5jZVBpcGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZWhvbGRlclNlcnZpY2U6IFBsYWNlaG9sZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJyb3dzZXJTZXJ2aWNlOiBCcm93c2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeSA9IHNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3Rvcnk7XG4gICAgdGhpcy5wYWdpbmF0aW9uUGFnZVNpemUgPSBhcHBDb25maWcuZ2V0UGFnaW5hdGlvblBhZ2VTaXplKCk7XG4gICAgdGhpcy5oaWRlUm93cyA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByZVNlbGVjdGVkQ2FzZXMpIHtcbiAgICAgIGZvciAoY29uc3QgcHJlU2VsZWN0ZWRDYXNlIG9mIHRoaXMucHJlU2VsZWN0ZWRDYXNlcykge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZENhc2VzICYmICF0aGlzLnNlbGVjdGVkQ2FzZXMuc29tZShhQ2FzZSA9PiBhQ2FzZS5jYXNlX2lkID09PSBwcmVTZWxlY3RlZENhc2UuY2FzZV9pZCkpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMucHVzaChwcmVTZWxlY3RlZENhc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ2V2ZW50VXJsJyk7XG4gICAgdGhpcy5zZWxlY3Rpb24uZW1pdCh0aGlzLnNlbGVjdGVkQ2FzZXMpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblxuICAgIGlmIChjaGFuZ2VzWydyZXN1bHRWaWV3J10pIHtcbiAgICAgIHRoaXMuaGlkZVJvd3MgPSBmYWxzZTtcblxuICAgICAgdGhpcy5zb3J0UGFyYW1ldGVycyA9IHVuZGVmaW5lZDtcbiAgICAgIC8vIENsb25lIGByZXN1bHRWaWV3YCB0byBwcmV2ZW50IHNvcnRpbmcgdGhlIGV4dGVybmFsIHZhcmlhYmxlXG4gICAgICB0aGlzLnJlc3VsdFZpZXcgPSB7XG4gICAgICAgIGNvbHVtbnM6IHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zLnNsaWNlKDApLFxuICAgICAgICByZXN1bHRzOiB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5zbGljZSgwKSxcbiAgICAgICAgaGFzRHJhZnRzOiB0aGlzLnJlc3VsdFZpZXcuaGFzRHJhZnRzXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnJlc3VsdFZpZXcuY29sdW1ucyA9IHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zLnNvcnQoKGE6IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4sIGI6IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pID0+IHtcbiAgICAgICAgcmV0dXJuIGEub3JkZXIgLSBiLm9yZGVyO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuaHlkcmF0ZVJlc3VsdFZpZXcoKTtcbiAgICAgIHRoaXMuZHJhZnRzQ291bnQgPSB0aGlzLmRyYWZ0c0NvdW50ID8gdGhpcy5kcmFmdHNDb3VudCA6IHRoaXMubnVtYmVyT2ZEcmFmdHMoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ3BhZ2UnXSkge1xuICAgICAgdGhpcy5zZWxlY3RlZC5wYWdlID0gKGNoYW5nZXNbJ3BhZ2UnXSkuY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzdWx0VG90YWwoKTogbnVtYmVyIHtcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMucGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3Jlc3VsdHNfY291bnQ7XG4gICAgY29uc3QgbWF4aW11bVJlc3VsdFJlYWNoZWQgPSB0b3RhbCA+PSB0aGlzLlBBR0lOQVRJT05fTUFYX0lURU1fUkVTVUxUO1xuICAgIHRoaXMucGFnaW5hdGlvbkxpbWl0RW5mb3JjZWQgPSBtYXhpbXVtUmVzdWx0UmVhY2hlZDtcblxuICAgIHJldHVybiBtYXhpbXVtUmVzdWx0UmVhY2hlZCA/IHRoaXMuUEFHSU5BVElPTl9NQVhfSVRFTV9SRVNVTFQgOiB0b3RhbDtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ2FzZXMgPSBbXTtcbiAgICB0aGlzLnNlbGVjdGlvbi5lbWl0KHRoaXMuc2VsZWN0ZWRDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgY2FuQmVTaGFyZWQoY2FzZVZpZXc6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNhc2VWaWV3LnN1cHBsZW1lbnRhcnlfZGF0YSAmJiBjYXNlVmlldy5zdXBwbGVtZW50YXJ5X2RhdGEuaGFzT3duUHJvcGVydHkoJ29yZ3NfYXNzaWduZWRfdXNlcnMnKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5BbnlCZVNoYXJlZCgpOiBib29sZWFuIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKHRoaXMuY2FuQmVTaGFyZWQodGhpcy5yZXN1bHRWaWV3LnJlc3VsdHNbaV0pKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFsbE9uUGFnZVNlbGVjdGVkKCkpIHtcbiAgICAgIC8vIGFsbCBjYXNlcyBhbHJlYWR5IHNlbGVjdGVkLCBzbyB1bnNlbGVjdCBhbGwgb24gdGhpcyBwYWdlXG4gICAgICB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5mb3JFYWNoKGMgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuZm9yRWFjaCgocywgaSkgPT4ge1xuICAgICAgICAgIGlmIChjLmNhc2VfaWQgPT09IHMuY2FzZV9pZCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VzLnNwbGljZShpLCAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmZvckVhY2goYyA9PiB7XG4gICAgICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKGMpICYmIHRoaXMuY2FuQmVTaGFyZWQoYykpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMucHVzaChjKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9uLmVtaXQodGhpcy5zZWxlY3RlZENhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VTZWxlY3Rpb24oYzogU2VhcmNoUmVzdWx0Vmlld0l0ZW0pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1NlbGVjdGVkKGMpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuZm9yRWFjaCgocywgaSkgPT4ge1xuICAgICAgICBpZiAoYy5jYXNlX2lkID09PSBzLmNhc2VfaWQpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuc3BsaWNlKGksIDEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuY2FuQmVTaGFyZWQoYykpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VzLnB1c2goYyk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9uLmVtaXQodGhpcy5zZWxlY3RlZENhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NlbGVjdGVkKGM6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogYm9vbGVhbiB7XG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSB0aGlzLnNlbGVjdGVkQ2FzZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBpZiAoYy5jYXNlX2lkID09PSB0aGlzLnNlbGVjdGVkQ2FzZXNbaV0uY2FzZV9pZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGFsbE9uUGFnZVNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIGxldCBjYW5CZVNoYXJlZENvdW50ID0gMDtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgY29uc3QgciA9IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzW2ldO1xuICAgICAgaWYgKHRoaXMuY2FuQmVTaGFyZWQocikpIHtcbiAgICAgICAgY2FuQmVTaGFyZWRDb3VudCArKztcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKHIpICYmIHRoaXMuY2FuQmVTaGFyZWQocikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2FuQmVTaGFyZWRDb3VudCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIeWRyYXRlcyByZXN1bHQgdmlldyB3aXRoIGNhc2UgZmllbGQgZGVmaW5pdGlvbnMuXG4gICAqL1xuICAvLyBBIGxvbmdlciB0ZXJtIHJlc29sdXRpb24gaXMgdG8gbW92ZSB0aGlzIHBpZWNlIG9mIGxvZ2ljIHRvIHRoZSBiYWNrZW5kXG4gIHB1YmxpYyBoeWRyYXRlUmVzdWx0VmlldygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5mb3JFYWNoKHJlc3VsdCA9PiB7XG4gICAgICBjb25zdCBjYXNlRmllbGRzID0gW107XG5cbiAgICAgIE9iamVjdC5rZXlzKHJlc3VsdC5jYXNlX2ZpZWxkcykuZm9yRWFjaChmaWVsZElkID0+IHtcblxuICAgICAgICBjb25zdCBmaWVsZCA9IHJlc3VsdC5jYXNlX2ZpZWxkc1tmaWVsZElkXTtcblxuICAgICAgICBjYXNlRmllbGRzLnB1c2goT2JqZWN0LmFzc2lnbihuZXcgQ2FzZUZpZWxkKCksIHtcbiAgICAgICAgICBpZDogZmllbGRJZCxcbiAgICAgICAgICBsYWJlbDogbnVsbCxcbiAgICAgICAgICBmaWVsZF90eXBlOiB7fSxcbiAgICAgICAgICB2YWx1ZTogZmllbGQsXG4gICAgICAgICAgZGlzcGxheV9jb250ZXh0OiBudWxsLFxuICAgICAgICB9KSk7XG4gICAgICB9KTtcblxuICAgICAgcmVzdWx0Lmh5ZHJhdGVkX2Nhc2VfZmllbGRzID0gY2FzZUZpZWxkcztcbiAgICAgIHJlc3VsdC5jb2x1bW5zID0ge307XG5cbiAgICAgIHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zLmZvckVhY2goY29sID0+IHtcbiAgICAgICAgcmVzdWx0LmNvbHVtbnNbY29sLmNhc2VfZmllbGRfaWRdID0gdGhpcy5idWlsZENhc2VGaWVsZChjb2wsIHJlc3VsdCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICB9XG5cbiAgcHVibGljIGdvVG9QYWdlKHBhZ2UpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVSb3dzID0gdHJ1ZTtcbiAgICB0aGlzLnNlbGVjdGVkLmluaXQgPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9IHRoaXMuanVyaXNkaWN0aW9uO1xuICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSB0aGlzLmNhc2VUeXBlO1xuICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlID0gdGhpcy5jYXNlU3RhdGU7XG4gICAgdGhpcy5zZWxlY3RlZC5mb3JtR3JvdXAgPSB0aGlzLmNhc2VGaWx0ZXJGRztcbiAgICB0aGlzLnNlbGVjdGVkLm1ldGFkYXRhRmllbGRzID0gdGhpcy5tZXRhZGF0YUZpZWxkcztcbiAgICB0aGlzLnNlbGVjdGVkLnBhZ2UgPSBwYWdlO1xuICAgIC8vIEFwcGx5IGZpbHRlcnNcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHt9O1xuICAgIHF1ZXJ5UGFyYW1zW1NlYXJjaFJlc3VsdENvbXBvbmVudC5QQVJBTV9KVVJJU0RJQ1RJT05dID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gPyB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbi5pZCA6IG51bGw7XG4gICAgcXVlcnlQYXJhbXNbU2VhcmNoUmVzdWx0Q29tcG9uZW50LlBBUkFNX0NBU0VfVFlQRV0gPSB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID8gdGhpcy5zZWxlY3RlZC5jYXNlVHlwZS5pZCA6IG51bGw7XG4gICAgcXVlcnlQYXJhbXNbU2VhcmNoUmVzdWx0Q29tcG9uZW50LlBBUkFNX0NBU0VfU1RBVEVdID0gdGhpcy5zZWxlY3RlZC5jYXNlU3RhdGUgPyB0aGlzLnNlbGVjdGVkLmNhc2VTdGF0ZS5pZCA6IG51bGw7XG4gICAgdGhpcy5jaGFuZ2VQYWdlLmVtaXQoe1xuICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICBxdWVyeVBhcmFtc1xuICAgIH0pO1xuXG4gICAgY29uc3QgdG9wQ29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcCcpO1xuICAgIGlmICh0b3BDb250YWluZXIpIHtcbiAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICB9XG4gICAgICB0b3BDb250YWluZXIuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYnVpbGRDYXNlRmllbGQoY29sOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uLCByZXN1bHQ6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogQ2FzZUZpZWxkIHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgQ2FzZUZpZWxkKCksIHtcbiAgICAgIGlkOiBjb2wuY2FzZV9maWVsZF9pZCxcbiAgICAgIGxhYmVsOiBjb2wubGFiZWwsXG4gICAgICBmaWVsZF90eXBlOiBjb2wuY2FzZV9maWVsZF90eXBlLFxuICAgICAgdmFsdWU6IHJlc3VsdC5jYXNlX2ZpZWxkc1tjb2wuY2FzZV9maWVsZF9pZF0sXG4gICAgICBkaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyOiBjb2wuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlcixcbiAgICAgIGRpc3BsYXlfY29udGV4dDogY29sLmRpc3BsYXlfY29udGV4dCxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb2x1bW5zV2l0aFByZWZpeChjb2w6IENhc2VGaWVsZCwgcmVzdWx0OiBTZWFyY2hSZXN1bHRWaWV3SXRlbSk6IENhc2VGaWVsZCB7XG4gICAgY29sLnZhbHVlID0gdGhpcy5kcmFmdFByZWZpeE9yR2V0KGNvbCwgcmVzdWx0KTtcbiAgICBjb2wudmFsdWUgPSB0aGlzLnBsYWNlaG9sZGVyU2VydmljZS5yZXNvbHZlUGxhY2Vob2xkZXJzKHJlc3VsdC5jYXNlX2ZpZWxkcywgY29sLnZhbHVlKTtcbiAgICByZXR1cm4gY29sO1xuICB9XG5cbiAgcHVibGljIGhhc1Jlc3VsdHMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMubGVuZ3RoICYmIHRoaXMucGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3BhZ2VzX2NvdW50O1xuICB9XG5cbiAgcHVibGljIGhhc0RyYWZ0cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRWaWV3Lmhhc0RyYWZ0cygpO1xuICB9XG5cbiAgcHVibGljIGNvbXBhcmF0b3IoY29sdW1uOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uKTogU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5LmNyZWF0ZVNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvcihjb2x1bW4pO1xuICB9XG5cbiAgcHVibGljIHNvcnQoY29sdW1uOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uKSB7XG4gICAgaWYgKHRoaXMuY29uc3VtZXJTb3J0aW5nRW5hYmxlZCkge1xuICAgICAgaWYgKGNvbHVtbi5jYXNlX2ZpZWxkX2lkICE9PSB0aGlzLmNvbnN1bWVyU29ydFBhcmFtZXRlcnMuY29sdW1uKSB7XG4gICAgICAgIHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy5vcmRlciA9IFNvcnRPcmRlci5ERVNDRU5ESU5HO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID0gdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORyA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvcnRPcmRlci5BU0NFTkRJTkcgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgICAgIH1cbiAgICAgIHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy5jb2x1bW4gPSBjb2x1bW4uY2FzZV9maWVsZF9pZDtcbiAgICAgIHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy50eXBlID0gY29sdW1uLmNhc2VfZmllbGRfdHlwZS50eXBlO1xuICAgICAgdGhpcy5zb3J0SGFuZGxlci5lbWl0KHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmNvbXBhcmF0b3IoY29sdW1uKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1NvcnRBc2NlbmRpbmcoY29sdW1uKSkge1xuICAgICAgICB0aGlzLnNvcnRQYXJhbWV0ZXJzID0gbmV3IFNvcnRQYXJhbWV0ZXJzKHRoaXMuY29tcGFyYXRvcihjb2x1bW4pLCBTb3J0T3JkZXIuQVNDRU5ESU5HKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc29ydFBhcmFtZXRlcnMgPSBuZXcgU29ydFBhcmFtZXRlcnModGhpcy5jb21wYXJhdG9yKGNvbHVtbiksIFNvcnRPcmRlci5ERVNDRU5ESU5HKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc29ydFdpZGdldChjb2x1bW46IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pIHtcbiAgICBsZXQgY29uZGl0aW9uID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuY29uc3VtZXJTb3J0aW5nRW5hYmxlZCkge1xuICAgICAgY29uc3QgaXNDb2x1bW4gPSBjb2x1bW4uY2FzZV9maWVsZF9pZCA9PT0gdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLmNvbHVtbjtcbiAgICAgIGNvbnN0IGlzQXNjZW5kaW5nID0gdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID09PSBTb3J0T3JkZXIuQVNDRU5ESU5HO1xuICAgICAgY29uZGl0aW9uID0gIWlzQ29sdW1uIHx8IChpc0NvbHVtbiAmJiBpc0FzY2VuZGluZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbmRpdGlvbiA9IHRoaXMuaXNTb3J0QXNjZW5kaW5nKGNvbHVtbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmRpdGlvbiA/ICcmIzk2NjA7JyA6ICcmIzk2NTA7JztcbiAgfVxuXG4gIHB1YmxpYyBhY3Rpdml0eUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlTZXJ2aWNlLmlzRW5hYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBoeXBoZW5hdGVJZkNhc2VSZWZlcmVuY2VPckdldChjb2wsIHJlc3VsdCk6IGFueSB7XG4gICAgaWYgKGNvbC5jYXNlX2ZpZWxkX2lkID09PSAnW0NBU0VfUkVGRVJFTkNFXScpIHtcbiAgICAgIHJldHVybiB0aGlzLmNhc2VSZWZlcmVuY2VQaXBlLnRyYW5zZm9ybShyZXN1bHQuY2FzZV9maWVsZHNbY29sLmNhc2VfZmllbGRfaWRdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGNvbC5pZCkge1xuICAgICAgICBpZiAoY29sLmlkID09PSAnW0NBU0VfUkVGRVJFTkNFXScpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jYXNlUmVmZXJlbmNlUGlwZS50cmFuc2Zvcm0ocmVzdWx0LmNhc2VfZmllbGRzW2NvbC5pZF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiByZXN1bHQuY2FzZV9maWVsZHNbY29sLmlkXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5jYXNlX2ZpZWxkc1tjb2wuY2FzZV9maWVsZF9pZF07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRyYWZ0UHJlZml4T3JHZXQoY29sLCByZXN1bHQpOiBhbnkge1xuICAgIHJldHVybiByZXN1bHQuY2FzZV9pZC5zdGFydHNXaXRoKERSQUZUX1BSRUZJWCkgPyBEUkFGVF9QUkVGSVggOiB0aGlzLmh5cGhlbmF0ZUlmQ2FzZVJlZmVyZW5jZU9yR2V0KGNvbCwgcmVzdWx0KTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NvcnRBc2NlbmRpbmcoY29sdW1uOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY3VycmVudFNvcnRPcmRlciA9IHRoaXMuY3VycmVudFNvcnRPcmRlcihjb2x1bW4pO1xuXG4gICAgcmV0dXJuIGN1cnJlbnRTb3J0T3JkZXIgPT09IFNvcnRPcmRlci5VTlNPUlRFRCB8fCBjdXJyZW50U29ydE9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgfVxuXG4gIHByaXZhdGUgY3VycmVudFNvcnRPcmRlcihjb2x1bW46IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pOiBTb3J0T3JkZXIge1xuXG4gICAgbGV0IGlzQXNjZW5kaW5nID0gdHJ1ZTtcbiAgICBsZXQgaXNEZXNjZW5kaW5nID0gdHJ1ZTtcblxuICAgIGlmICh0aGlzLmNvbXBhcmF0b3IoY29sdW1uKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gU29ydE9yZGVyLlVOU09SVEVEO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgY29uc3QgY29tcGFyaXNvbiA9IHRoaXMuY29tcGFyYXRvcihjb2x1bW4pLmNvbXBhcmUodGhpcy5yZXN1bHRWaWV3LnJlc3VsdHNbaV0sIHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzW2kgKyAxXSk7XG4gICAgICBpc0Rlc2NlbmRpbmcgPSBpc0Rlc2NlbmRpbmcgJiYgY29tcGFyaXNvbiA8PSAwO1xuICAgICAgaXNBc2NlbmRpbmcgPSBpc0FzY2VuZGluZyAmJiBjb21wYXJpc29uID49IDA7XG4gICAgICBpZiAoIWlzQXNjZW5kaW5nICYmICFpc0Rlc2NlbmRpbmcpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpc0FzY2VuZGluZyA/IFNvcnRPcmRlci5BU0NFTkRJTkcgOiBpc0Rlc2NlbmRpbmcgPyBTb3J0T3JkZXIuREVTQ0VORElORyA6IFNvcnRPcmRlci5VTlNPUlRFRDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGaXJzdFJlc3VsdCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gKHRoaXMuc2VsZWN0ZWQucGFnZSA/IHRoaXMuc2VsZWN0ZWQucGFnZSA6IDEpO1xuICAgIHJldHVybiAoKGN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnBhZ2luYXRpb25QYWdlU2l6ZSkgKyAxICsgdGhpcy5nZXREcmFmdHNDb3VudElmTm90UGFnZU9uZShjdXJyZW50UGFnZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGFzdFJlc3VsdCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gKHRoaXMuc2VsZWN0ZWQucGFnZSA/IHRoaXMuc2VsZWN0ZWQucGFnZSA6IDEpO1xuICAgIHJldHVybiAoKGN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnBhZ2luYXRpb25QYWdlU2l6ZSkgKyB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5sZW5ndGggKyB0aGlzLmdldERyYWZ0c0NvdW50SWZOb3RQYWdlT25lKGN1cnJlbnRQYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUb3RhbFJlc3VsdHMoKTogbnVtYmVyIHtcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMucGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3Jlc3VsdHNfY291bnQgKyB0aGlzLmRyYWZ0c0NvdW50O1xuXG4gICAgcmV0dXJuIHRvdGFsID49IHRoaXMuUEFHSU5BVElPTl9NQVhfSVRFTV9SRVNVTFQgPyB0aGlzLlBBR0lOQVRJT05fTUFYX0lURU1fUkVTVUxUIDogdG90YWw7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZUNhc2VMaW5rVXJsKGNhc2VJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgdXJsID0gdGhpcy5jYXNlTGlua1VybFRlbXBsYXRlO1xuICAgIHVybCA9IHVybC5yZXBsYWNlKCdqdXJpc2RpY3Rpb25faWQnLCB0aGlzLmp1cmlzZGljdGlvbi5pZCk7XG4gICAgdXJsID0gdXJsLnJlcGxhY2UoJ2Nhc2VUeXBlX2lkJywgdGhpcy5jYXNlVHlwZS5pZCk7XG4gICAgdXJsID0gdXJsLnJlcGxhY2UoJ2Nhc2VfaWQnLCBjYXNlSWQpO1xuXG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RHJhZnRzQ291bnRJZk5vdFBhZ2VPbmUoY3VycmVudFBhZ2UpOiBudW1iZXIge1xuICAgIHJldHVybiBjdXJyZW50UGFnZSA+IDEgPyB0aGlzLmRyYWZ0c0NvdW50IDogMDtcbiAgfVxuXG4gIHByaXZhdGUgbnVtYmVyT2ZEcmFmdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMuZmlsdGVyKF8gPT4gXy5jYXNlX2lkLnN0YXJ0c1dpdGgoRFJBRlRfUFJFRklYKSkubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIGdvVG9DYXNlKGNhc2VJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5jbGlja0Nhc2UuZW1pdCh7XG4gICAgICBjYXNlSWRcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbktleVVwKCRldmVudDogS2V5Ym9hcmRFdmVudCwgYzogU2VhcmNoUmVzdWx0Vmlld0l0ZW0pOiB2b2lkIHtcbiAgICBpZiAoJGV2ZW50LmtleSA9PT0gJ1NwYWNlJykge1xuICAgICAgaWYgKHRoaXMuYnJvd3NlclNlcnZpY2UuaXNGaXJlZm94IHx8IHRoaXMuYnJvd3NlclNlcnZpY2UuaXNTYWZhcmkgfHwgdGhpcy5icm93c2VyU2VydmljZS5pc0lFT3JFZGdlKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlU2VsZWN0aW9uKGMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPHRhYmxlICpuZ0lmPVwiaGFzUmVzdWx0cygpIHx8IGhhc0RyYWZ0cygpXCI+XG4gIDxjYXB0aW9uPlxuICAgIDxoMiBjbGFzcz1cImhlYWRpbmctaDJcIiBpZD1cInNlYXJjaC1yZXN1bHQtaGVhZGluZ19fdGV4dFwiIHRhYmluZGV4PVwiLTFcIj57eyBjYXNlU3RhdGUgPyAnWW91ciBjYXNlcycgOiAnU2VhcmNoIHJlc3VsdCcgfX08L2gyPlxuXG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dCBwYWdpbmF0aW9uLWxpbWl0LXdhcm5pbmdcIiAqbmdJZj1cInBhZ2luYXRpb25MaW1pdEVuZm9yY2VkXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dF9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiE8L3NwYW4+XG4gICAgICA8c3Ryb25nIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X190ZXh0XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X19hc3Npc3RpdmVcIj5XYXJuaW5nPC9zcGFuPlxuICAgICAgICBUaGUgdG90YWwgc2l6ZSBvZiB0aGUgcmVzdWx0IHNldCBpcyB7e3BhZ2luYXRpb25NZXRhZGF0YS50b3RhbF9yZXN1bHRzX2NvdW50IHwgbnVtYmVyfX0uIE9ubHkgdGhlIGZpcnN0IDEwLDAwMCByZWNvcmRzIGFyZSBhdmFpbGFibGUgZm9yIGRpc3BsYXkuXG4gICAgICA8L3N0cm9uZz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIoaGFzUmVzdWx0cygpIHx8IGhhc0RyYWZ0cygpKVwiIGNsYXNzPVwicGFnaW5hdGlvbi10b3BcIlxuICAgICAgYXR0ci5hcmlhLWxhYmVsPVwie3sgZ2V0VG90YWxSZXN1bHRzKCkgfX0gcmVzdWx0cyBoYXZlIGJlZW4gZm91bmRcIiByb2xlPVwic3RhdHVzXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIiBpZD1cInNlYXJjaC1yZXN1bHQtc3VtbWFyeV9fdGV4dFwiPlNob3dpbmcgXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstIS1mb250LXdlaWdodC1ib2xkXCI+e3sgZ2V0Rmlyc3RSZXN1bHQoKSB9fTwvc3Bhbj5cbiAgICAgICAgdG9cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIj57eyBnZXRMYXN0UmVzdWx0KCkgfX08L3NwYW4+XG4gICAgICAgIG9mXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstIS1mb250LXdlaWdodC1ib2xkXCI+e3sgZ2V0VG90YWxSZXN1bHRzKCkgfX08L3NwYW4+IHJlc3VsdHM8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIihoYXNSZXN1bHRzKCkgfHwgaGFzRHJhZnRzKCkpICYmIHNlbGVjdGlvbkVuYWJsZWRcIiBjbGFzcz1cInJlc2V0LXNlbGVjdGlvblwiXG4gICAgICBhdHRyLmFyaWEtbGFiZWw9XCJSZXNldCBzZWxlY3Rpb25cIj5cbiAgICAgIDxzcGFuPjxhIGNsYXNzPVwic2VhcmNoLXJlc3VsdC1yZXNldC1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJjbGVhclNlbGVjdGlvbigpXCI+UmVzZXQgY2FzZSBzZWxlY3Rpb248L2E+PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2NhcHRpb24+XG4gIDx0aGVhZD5cbiAgICA8dHIgc2NvcGU9XCJyb3dcIj5cbiAgICAgIDx0aCAqbmdJZj1cInNlbGVjdGlvbkVuYWJsZWRcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19jaGVja2JveFwiIHNjb3BlPVwiY29sXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pdGVtXCI+XG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faW5wdXRcIiBpZD1cInNlbGVjdC1hbGxcIiBuYW1lPVwic2VsZWN0LWFsbFwiIHR5cGU9XCJjaGVja2JveFwiIChjaGFuZ2UpPVwic2VsZWN0QWxsKClcIiBbY2hlY2tlZF09XCJhbGxPblBhZ2VTZWxlY3RlZCgpXCIgW2Rpc2FibGVkXT1cIiFjYW5BbnlCZVNoYXJlZCgpXCIgLz5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1jaGVja2JveGVzX19sYWJlbFwiIGZvcj1cInNlbGVjdC1hbGxcIj5cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGggKm5nRm9yPVwibGV0IGNvbCBvZiByZXN1bHRWaWV3LmNvbHVtbnNcIiBjbGFzcz1cInNlYXJjaC1yZXN1bHQtY29sdW1uLWhlYWRlclwiICBhdHRyLmFyaWEtbGFiZWw9XCJTb3J0IGJ5IHt7Y29sLmxhYmVsfX0ge3sgaXNTb3J0QXNjZW5kaW5nKGNvbCk/ICdhc2NlbmRpbmcnIDogJ2Rlc2NlbmRpbmcnIH19XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLXJlc3VsdC1jb2x1bW4tbGFiZWxcIiAoY2xpY2spPVwic29ydChjb2wpXCI+e3tjb2wubGFiZWx9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbXBhcmF0b3IoY29sKVwiIGNsYXNzPVwic2VhcmNoLXJlc3VsdC1jb2x1bW4tc29ydFwiPlxuICAgICAgICAgICAgICA8YSAoY2xpY2spPVwic29ydChjb2wpXCIgY2xhc3M9XCJzb3J0LXdpZGdldFwiIFtpbm5lckhUTUxdPVwic29ydFdpZGdldChjb2wpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiPjwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgPC90aD5cbiAgICAgIDx0aCAqbmdJZj1cImFjdGl2aXR5RW5hYmxlZCgpXCIgc3R5bGU9XCJ3aWR0aDogMTEwcHg7XCI+PC90aD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuICA8dGJvZHk+XG5cbiAgICA8IS0tIHNvcnRlZCBieSBjb25zdW1lciAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uc3VtZXJTb3J0aW5nRW5hYmxlZFwiPlxuICAgICAgPHRyICpuZ0Zvcj1cImxldCByZXN1bHQgb2YgcmVzdWx0Vmlldy5yZXN1bHRzIHwgcGFnaW5hdGU6IHsgaXRlbXNQZXJQYWdlOiBwYWdpbmF0aW9uUGFnZVNpemUsIGN1cnJlbnRQYWdlOiBzZWxlY3RlZC5wYWdlLCB0b3RhbEl0ZW1zOiByZXN1bHRUb3RhbCB9XCI+XG4gICAgICAgIDx0ZCAqbmdJZj1cInNlbGVjdGlvbkVuYWJsZWRcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19jaGVja2JveFwiIHNjb3BlPVwiY29sXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2l0ZW1cIj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2lucHV0XCIgaWQ9XCJzZWxlY3Qte3sgcmVzdWx0LmNhc2VfaWQgfX1cIiBuYW1lPVwic2VsZWN0LXt7IHJlc3VsdC5jYXNlX2lkIH19XCJcbiAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCIgKGNoYW5nZSk9XCJjaGFuZ2VTZWxlY3Rpb24ocmVzdWx0KVwiIFtjaGVja2VkXT1cImlzU2VsZWN0ZWQocmVzdWx0KVwiIFtkaXNhYmxlZF09XCIhY2FuQmVTaGFyZWQocmVzdWx0KVwiIC8+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1jaGVja2JveGVzX19sYWJlbFwiIGZvcj1cInNlbGVjdC17eyByZXN1bHQuY2FzZV9pZCB9fVwiPlxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwic2VhcmNoLXJlc3VsdC1jb2x1bW4tY2VsbFwiICpuZ0Zvcj1cImxldCBjb2wgb2YgcmVzdWx0Vmlldy5jb2x1bW5zOyBsZXQgY29sSW5kZXggPSBpbmRleFwiIHNjb3BlPVwicm93XCI+XG4gICAgICAgICAgPGEgKm5nSWY9XCJjb2xJbmRleCA9PSAwXCIgW3JvdXRlckxpbmtdPVwicHJlcGFyZUNhc2VMaW5rVXJsKHJlc3VsdC5jYXNlX2lkKVwiXG4gICAgICAgICAgICBhdHRyLmFyaWEtbGFiZWw9XCJnbyB0byBjYXNlIHdpdGggQ2FzZSByZWZlcmVuY2U6e3sgcmVzdWx0LmNhc2VfaWQgfCBjY2RDYXNlUmVmZXJlbmNlIH19XCIgY2xhc3M9XCJnb3Z1ay1saW5rXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIGNsYXNzPVwidGV4dC0xNlwiICpuZ0lmPVwiIWhpZGVSb3dzXCI+XG4gICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCAqbmdJZj1cImRyYWZ0UHJlZml4T3JHZXQoY29sLCByZXN1bHQpOyBlbHNlIGNhc2VfcmVmZXJlbmNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNjZExhYmVsU3Vic3RpdHV0b3IgW2Nhc2VGaWVsZF09XCJnZXRDb2x1bW5zV2l0aFByZWZpeChyZXN1bHQuY29sdW1uc1tjb2wuY2FzZV9maWVsZF9pZF0sIHJlc3VsdClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHRGaWVsZHNdPVwicmVzdWx0Lmh5ZHJhdGVkX2Nhc2VfZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbGVtZW50c1RvU3Vic3RpdHV0ZV09XCJbJ3ZhbHVlJ11cIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Nhc2VfcmVmZXJlbmNlPnt7cmVzdWx0LmNhc2VfaWQgfCBjY2RDYXNlUmVmZXJlbmNlfX08L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9hPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2xJbmRleCAhPSAwXCIgY2xhc3M9XCJ0ZXh0LTE2XCIgW3N0eWxlLnZpc2liaWxpdHldPVwiaGlkZVJvd3MgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiPlxuICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkIGNjZExhYmVsU3Vic3RpdHV0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkXT1cInJlc3VsdC5jb2x1bW5zW2NvbC5jYXNlX2ZpZWxkX2lkXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHRGaWVsZHNdPVwicmVzdWx0Lmh5ZHJhdGVkX2Nhc2VfZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWxlbWVudHNUb1N1YnN0aXR1dGVdPVwiWyd2YWx1ZSddXCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkICpuZ0lmPVwiYWN0aXZpdHlFbmFibGVkKClcIj5cbiAgICAgICAgICA8ZGl2IFtzdHlsZS52aXNpYmlsaXR5XT1cImhpZGVSb3dzID8gJ2hpZGRlbicgOiAndmlzaWJsZSdcIj5cbiAgICAgICAgICAgIDxjY2QtYWN0aXZpdHkgW2Nhc2VJZF09XCJyZXN1bHQuY2FzZV9pZFwiIFtkaXNwbGF5TW9kZV09XCJJQ09OXCI+PC9jY2QtYWN0aXZpdHk+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwhLS0gc29ydGVkIGJ5IHRvb2xraXQgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb25zdW1lclNvcnRpbmdFbmFibGVkXCI+XG4gICAgICA8dHIgKm5nRm9yPVwibGV0IHJlc3VsdCBvZiByZXN1bHRWaWV3LnJlc3VsdHMgfCBjY2RTb3J0U2VhcmNoUmVzdWx0IDogc29ydFBhcmFtZXRlcnMgfCBwYWdpbmF0ZTogeyBpdGVtc1BlclBhZ2U6IHBhZ2luYXRpb25QYWdlU2l6ZSwgY3VycmVudFBhZ2U6IHNlbGVjdGVkLnBhZ2UsIHRvdGFsSXRlbXM6IHJlc3VsdFRvdGFsIH1cIj5cbiAgICAgICAgPHRkICpuZ0lmPVwic2VsZWN0aW9uRW5hYmxlZFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2NoZWNrYm94XCIgc2NvcGU9XCJjb2xcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faXRlbVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faW5wdXRcIiBpZD1cInNlbGVjdC17eyByZXN1bHQuY2FzZV9pZCB9fVwiIG5hbWU9XCJzZWxlY3Qte3sgcmVzdWx0LmNhc2VfaWQgfX1cIlxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIiAoY2hhbmdlKT1cImNoYW5nZVNlbGVjdGlvbihyZXN1bHQpXCIgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChyZXN1bHQpXCIgW2Rpc2FibGVkXT1cIiFjYW5CZVNoYXJlZChyZXN1bHQpXCIgKGtleXVwKT1cIm9uS2V5VXAoJGV2ZW50LCByZXN1bHQpXCIgLz5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwic2VsZWN0LXt7IHJlc3VsdC5jYXNlX2lkIH19XCI+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJzZWFyY2gtcmVzdWx0LWNvbHVtbi1jZWxsXCIgKm5nRm9yPVwibGV0IGNvbCBvZiByZXN1bHRWaWV3LmNvbHVtbnM7IGxldCBjb2xJbmRleCA9IGluZGV4XCIgc2NvcGU9XCJyb3dcIj5cblxuICAgICAgICAgIDxhICpuZ0lmPVwiY29sSW5kZXggPT0gMFwiIFtyb3V0ZXJMaW5rXT1cInByZXBhcmVDYXNlTGlua1VybChyZXN1bHQuY2FzZV9pZClcIlxuICAgICAgICAgICAgYXR0ci5hcmlhLWxhYmVsPVwiZ28gdG8gY2FzZSB3aXRoIENhc2UgcmVmZXJlbmNlOnt7IHJlc3VsdC5jYXNlX2lkIHwgY2NkQ2FzZVJlZmVyZW5jZSB9fVwiIGNsYXNzPVwiZ292dWstbGlua1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBjbGFzcz1cInRleHQtMTZcIiAqbmdJZj1cIiFoaWRlUm93c1wiPlxuICAgICAgICAgICAgICA8Y2NkLWZpZWxkLXJlYWQgKm5nSWY9XCJkcmFmdFByZWZpeE9yR2V0KGNvbCwgcmVzdWx0KTsgZWxzZSBjYXNlX3JlZmVyZW5jZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjY2RMYWJlbFN1YnN0aXR1dG9yIFtjYXNlRmllbGRdPVwiZ2V0Q29sdW1uc1dpdGhQcmVmaXgocmVzdWx0LmNvbHVtbnNbY29sLmNhc2VfZmllbGRfaWRdLCByZXN1bHQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZXh0RmllbGRzXT1cInJlc3VsdC5oeWRyYXRlZF9jYXNlX2ZpZWxkc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWxlbWVudHNUb1N1YnN0aXR1dGVdPVwiWyd2YWx1ZSddXCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjYXNlX3JlZmVyZW5jZT57e3Jlc3VsdC5jYXNlX2lkIHwgY2NkQ2FzZVJlZmVyZW5jZX19PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sSW5kZXggIT0gMFwiIGNsYXNzPVwidGV4dC0xNlwiIFtzdHlsZS52aXNpYmlsaXR5XT1cImhpZGVSb3dzID8gJ2hpZGRlbicgOiAndmlzaWJsZSdcIj5cbiAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCBjY2RMYWJlbFN1YnN0aXR1dG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Nhc2VGaWVsZF09XCJyZXN1bHQuY29sdW1uc1tjb2wuY2FzZV9maWVsZF9pZF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZXh0RmllbGRzXT1cInJlc3VsdC5oeWRyYXRlZF9jYXNlX2ZpZWxkc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VsZW1lbnRzVG9TdWJzdGl0dXRlXT1cIlsndmFsdWUnXVwiPjwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCAqbmdJZj1cImFjdGl2aXR5RW5hYmxlZCgpXCI+XG4gICAgICAgICAgPGRpdiBbc3R5bGUudmlzaWJpbGl0eV09XCJoaWRlUm93cyA/ICdoaWRkZW4nIDogJ3Zpc2libGUnXCI+XG4gICAgICAgICAgICA8Y2NkLWFjdGl2aXR5IFtjYXNlSWRdPVwicmVzdWx0LmNhc2VfaWRcIiBbZGlzcGxheU1vZGVdPVwiSUNPTlwiPjwvY2NkLWFjdGl2aXR5PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICA8L3Rib2R5PlxuPC90YWJsZT5cblxuPGNjZC1wYWdpbmF0aW9uXG4gICpuZ0lmPVwiaGFzUmVzdWx0cygpXCJcbiAgKHBhZ2VDaGFuZ2UpPVwiZ29Ub1BhZ2UoJGV2ZW50KVwiXG4gIFt2aXNpYmlsaXR5TGFiZWxdPVwiaGlkZVJvd3MgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiXG4gIFthdXRvSGlkZV09XCJ0cnVlXCJcbiAgW21heFNpemVdPVwiOFwiXG4gIFtzY3JlZW5SZWFkZXJQYWdpbmF0aW9uTGFiZWxdPVwiJ1BhZ2luYXRpb24nXCJcbiAgW3NjcmVlblJlYWRlclBhZ2VMYWJlbF09XCJwYWdlXCJcbiAgW3NjcmVlblJlYWRlckN1cnJlbnRMYWJlbF09XCInWW91XFwncmUgb24gcGFnZSdcIj48L2NjZC1wYWdpbmF0aW9uPlxuXG48ZGl2ICpuZ0lmPVwiIShoYXNSZXN1bHRzKCkgfHwgaGFzRHJhZnRzKCkpXCIgY2xhc3M9XCJub3RpZmljYXRpb25cIlxuICBhcmlhLWxhYmVsPVwiTm8gY2FzZXMgZm91bmQuIFRyeSB1c2luZyBkaWZmZXJlbnQgZmlsdGVycy5cIj5cbiAgTm8gY2FzZXMgZm91bmQuIFRyeSB1c2luZyBkaWZmZXJlbnQgZmlsdGVycy5cbjwvZGl2PlxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtdHlwZS1lbnVtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9kb21haW4vZGVmaW5pdGlvbi9maWVsZC10eXBlLWVudW0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEZpZWxkVHlwZUVudW0gPVxuICAnVGV4dCdcbiAgfCAnVGV4dEFyZWEnXG4gIHwgJ1Bvc3Rjb2RlJ1xuICB8ICdOdW1iZXInXG4gIHwgJ1llc09yTm8nXG4gIHwgJ0RhdGUnXG4gIHwgJ0RhdGVUaW1lJ1xuICB8ICdFbWFpbCdcbiAgfCAnUGhvbmVVSydcbiAgfCAnTW9uZXlHQlAnXG4gIHwgJ0ZpeGVkTGlzdCdcbiAgfCAnRHluYW1pY0xpc3QnXG4gIHwgJ0ZpeGVkUmFkaW9MaXN0J1xuICB8ICdEeW5hbWljUmFkaW9MaXN0J1xuICB8ICdDb21wbGV4J1xuICB8ICdDb2xsZWN0aW9uJ1xuICB8ICdNdWx0aVNlbGVjdExpc3QnXG4gIHwgJ0RvY3VtZW50J1xuICB8ICdMYWJlbCdcbiAgfCAnQWRkcmVzc0dsb2JhbCdcbiAgfCAnQWRkcmVzc0dsb2JhbFVLJ1xuICB8ICdBZGRyZXNzVUsnXG4gIHwgJ0Nhc2VQYXltZW50SGlzdG9yeVZpZXdlcidcbiAgfCAnQ2FzZUhpc3RvcnlWaWV3ZXInXG4gIHwgJ09yZ2FuaXNhdGlvbidcbiAgfCAnV2F5c1RvUGF5J1xuICB8ICdGbGFncydcbiAgfCAnRmxhZ0RldGFpbCdcbiAgfCAnRmxhZ0xhdW5jaGVyJ1xuICB8ICdDYXNlRmxhZycgLy8gVGVtcG9yYXJ5IGZpZWxkIHR5cGUgZm9yIGZha2luZyBGbGFncyBmaWVsZCB0eXBlOyB0byBiZSByZW1vdmVkXG4gIHwgJ0p1ZGljaWFsVXNlckZpZWxkJztcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtdHlwZS1lbnVtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9kb21haW4vZGVmaW5pdGlvbi9maWVsZC10eXBlLWVudW0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEZpZWxkVHlwZUVudW0gPVxuICAnVGV4dCdcbiAgfCAnVGV4dEFyZWEnXG4gIHwgJ1Bvc3Rjb2RlJ1xuICB8ICdOdW1iZXInXG4gIHwgJ1llc09yTm8nXG4gIHwgJ0RhdGUnXG4gIHwgJ0RhdGVUaW1lJ1xuICB8ICdFbWFpbCdcbiAgfCAnUGhvbmVVSydcbiAgfCAnTW9uZXlHQlAnXG4gIHwgJ0ZpeGVkTGlzdCdcbiAgfCAnRHluYW1pY0xpc3QnXG4gIHwgJ0ZpeGVkUmFkaW9MaXN0J1xuICB8ICdEeW5hbWljUmFkaW9MaXN0J1xuICB8ICdDb21wbGV4J1xuICB8ICdDb2xsZWN0aW9uJ1xuICB8ICdNdWx0aVNlbGVjdExpc3QnXG4gIHwgJ0RvY3VtZW50J1xuICB8ICdMYWJlbCdcbiAgfCAnQWRkcmVzc0dsb2JhbCdcbiAgfCAnQWRkcmVzc0dsb2JhbFVLJ1xuICB8ICdBZGRyZXNzVUsnXG4gIHwgJ0Nhc2VQYXltZW50SGlzdG9yeVZpZXdlcidcbiAgfCAnQ2FzZUhpc3RvcnlWaWV3ZXInXG4gIHwgJ09yZ2FuaXNhdGlvbidcbiAgfCAnV2F5c1RvUGF5J1xuICB8ICdGbGFncydcbiAgfCAnRmxhZ0RldGFpbCdcbiAgfCAnRmxhZ0xhdW5jaGVyJ1xuICB8ICdDYXNlRmxhZycgLy8gVGVtcG9yYXJ5IGZpZWxkIHR5cGUgZm9yIGZha2luZyBGbGFncyBmaWVsZCB0eXBlOyB0byBiZSByZW1vdmVkXG4gIHwgJ0Nhc2VMaW5rJ1xuICB8ICdKdWRpY2lhbFVzZXJGaWVsZCc7XG4iXX0=
@@ -49,6 +49,10 @@ export class ReadFieldsFilterPipe {
49
49
  && ReadFieldsFilterPipe.NESTED_TYPES[field.field_type.type](field, value);
50
50
  }
51
51
  static keepField(field, value, ignoreLabels = false) {
52
+ // We should always render the caselinks tables from and to regardless whether it has valid value or not
53
+ if (field.id === 'caseLinks') {
54
+ return true;
55
+ }
52
56
  // We shouldn't ditch labels.
53
57
  if (!ignoreLabels && field.field_type.type === 'Label' && (field.label || '').length > 0) {
54
58
  return true;
@@ -151,4 +155,4 @@ ReadFieldsFilterPipe.ɵpipe = i0.ɵɵdefinePipe({ name: "ccdReadFieldsFilter", t
151
155
  name: 'ccdReadFieldsFilter'
152
156
  }]
153
157
  }], null, null); })();
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2NkLXJlYWQtZmllbGRzLWZpbHRlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9waXBlcy9jb21wbGV4L2NjZC1yZWFkLWZpZWxkcy1maWx0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUdwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDaEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFLakUsTUFBTSxPQUFPLG9CQUFvQjtJQWdCL0I7O09BRUc7SUFDSyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCLEVBQUUsTUFBZTtRQUM3RCxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQzlCLE1BQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFM0QsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4RCxNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNoRSxPQUFPLFFBQVEsSUFBSSxvQkFBb0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQztRQUM1RixDQUFD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LElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUscUJBQXFCO2FBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IHBsYWluVG9DbGFzc0Zyb21FeGlzdCB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFNob3dDb25kaXRpb24gfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2NvbmRpdGlvbmFsLXNob3cvZG9tYWluL2NvbmRpdGlvbmFsLXNob3cubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBGaWVsZHNVdGlscyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpZWxkcy9maWVsZHMudXRpbHMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjY2RSZWFkRmllbGRzRmlsdGVyJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWFkRmllbGRzRmlsdGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEVNUFRZX1ZBTFVFUyA9IFtcbiAgICB1bmRlZmluZWQsXG4gICAgbnVsbCxcbiAgICAnJyxcbiAgICB7fVxuICBdO1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEFMV0FZU19OVUxMX0ZJRUxEUyA9IFsnQ2FzZVBheW1lbnRIaXN0b3J5Vmlld2VyJywgJ1dheXNUb1BheScsICdGbGFnTGF1bmNoZXInXTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBORVNURURfVFlQRVMgPSB7XG4gICAgQ29tcGxleDogUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNWYWxpZENvbXBsZXgsXG4gICAgQ29sbGVjdGlvbjogUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNWYWxpZENvbGxlY3Rpb25cbiAgfTtcblxuICAvKipcbiAgICogQ29tcGxleCB0eXBlIHNob3VsZCBoYXZlIGF0IGxlYXN0IG9uIHNpbXBsZSBmaWVsZCBkZXNjZW5kYW50IHdpdGggYSB2YWx1ZS5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGlzVmFsaWRDb21wbGV4KGZpZWxkOiBDYXNlRmllbGQsIHZhbHVlcz86IG9iamVjdCk6IGJvb2xlYW4ge1xuICAgIHZhbHVlcyA9IHZhbHVlcyB8fCB7fTtcbiAgICBjb25zdCB0eXBlID0gZmllbGQuZmllbGRfdHlwZTtcbiAgICBjb25zdCB2YWx1ZSA9IFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmdldFZhbHVlKGZpZWxkLCB2YWx1ZXMpO1xuXG4gICAgY29uc3QgaGFzQ2hpbGRyZW5XaXRoVmFsdWUgPSB0eXBlLmNvbXBsZXhfZmllbGRzLmZpbmQoZiA9PiB7XG4gICAgICBjb25zdCB3aWxsS2VlcCA9IFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmtlZXBGaWVsZChmLCB2YWx1ZSwgdHJ1ZSk7XG4gICAgICByZXR1cm4gd2lsbEtlZXAgJiYgUmVhZEZpZWxkc0ZpbHRlclBpcGUuZXZhbHVhdGVDb25kaXRpb25hbFNob3coZiwgdmFsdWUpLmhpZGRlbiAhPT0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIHJldHVybiAhIWhhc0NoaWxkcmVuV2l0aFZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNWYWxpZENvbGxlY3Rpb24oZmllbGQ6IENhc2VGaWVsZCwgdmFsdWVzPzogb2JqZWN0KTogYm9vbGVhbiB7XG4gICAgLy8gaWYgZmllbGQgaXMgY29sbGVjdGlvbiBhbmQgaXQgaGFzIGNvbXBsZXgvY29sbGVjdGlvbiBjaGlsZCBmaWVsZDsgcGFyZW50IGZpZWxkIGRvZXNudCBoYXZlIHZhbHVlIGRlZmluZWRcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoZmllbGQudmFsdWUpICYmIHZhbHVlcyAmJiB2YWx1ZXMuaGFzT3duUHJvcGVydHkoZmllbGQuaWQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgaXNOb3RFbXB0eSA9IEFycmF5LmlzQXJyYXkoZmllbGQudmFsdWUpICYmIGZpZWxkLnZhbHVlLmxlbmd0aCA+IDA7XG4gICAgaWYgKGlzTm90RW1wdHkgJiYgZmllbGQuZmllbGRfdHlwZS5jb2xsZWN0aW9uX2ZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbXBsZXgnKSB7XG4gICAgICByZXR1cm4gISFmaWVsZC52YWx1ZS5maW5kKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBjb21wbGV4RmllbGQgPSBwbGFpblRvQ2xhc3NGcm9tRXhpc3QobmV3IENhc2VGaWVsZCgpLCB7XG4gICAgICAgICAgaWQ6IGZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLmlkLFxuICAgICAgICAgIGZpZWxkX3R5cGU6IGZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLFxuICAgICAgICAgIHZhbHVlOiBpdGVtLnZhbHVlLFxuICAgICAgICAgIGxhYmVsOiBudWxsLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzVmFsaWRDb21wbGV4KGNvbXBsZXhGaWVsZCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGlzTm90RW1wdHk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBpc0VtcHR5KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gUmVhZEZpZWxkc0ZpbHRlclBpcGUuRU1QVFlfVkFMVUVTLmluZGV4T2YodmFsdWUpICE9PSAtMVxuICAgICAgfHwgdmFsdWUubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNDb21wb3VuZChmaWVsZDogQ2FzZUZpZWxkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLk5FU1RFRF9UWVBFU1tmaWVsZC5maWVsZF90eXBlLnR5cGVdO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNWYWxpZENvbXBvdW5kKGZpZWxkOiBDYXNlRmllbGQsIHZhbHVlPzogb2JqZWN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzQ29tcG91bmQoZmllbGQpXG4gICAgICAgICAgICAmJiBSZWFkRmllbGRzRmlsdGVyUGlwZS5ORVNURURfVFlQRVNbZmllbGQuZmllbGRfdHlwZS50eXBlXShmaWVsZCwgdmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMga2VlcEZpZWxkKGZpZWxkOiBDYXNlRmllbGQsIHZhbHVlPzogb2JqZWN0LCBpZ25vcmVMYWJlbHMgPSBmYWxzZSk6IGJvb2xlYW4ge1xuICAgIC8vIFdlIHNob3VsZG4ndCBkaXRjaCBsYWJlbHMuXG4gICAgaWYgKCFpZ25vcmVMYWJlbHMgJiYgZmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnTGFiZWwnICYmIChmaWVsZC5sYWJlbCB8fCAnJykubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIC8vIFdlIGFsc28gc2hvdWxkbid0IGRpdGNoIGZpZWxkcyB0aGF0IHdpbGwgYWx3YXlzIGNvbWUgYmFjayB3aXRoIGEgbnVsbCB2YWx1ZS5cbiAgICBpZiAodGhpcy5BTFdBWVNfTlVMTF9GSUVMRFMuaW5kZXhPZihmaWVsZC5maWVsZF90eXBlLnR5cGUpICE9PSAtMSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdmFsdWUgPSB2YWx1ZSB8fCB7fTtcblxuICAgIGlmIChSZWFkRmllbGRzRmlsdGVyUGlwZS5pc0NvbXBvdW5kKGZpZWxkKSkge1xuICAgICAgcmV0dXJuIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzVmFsaWRDb21wb3VuZChmaWVsZCwgdmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiAhUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNFbXB0eShmaWVsZC52YWx1ZSlcbiAgICAgICAgICAgICAgfHwgIVJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzRW1wdHkodmFsdWVbZmllbGQuaWRdKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldFZhbHVlKGZpZWxkOiBDYXNlRmllbGQsIHZhbHVlczogYW55LCBpbmRleD86IG51bWJlcik6IGFueSB7XG4gICAgbGV0IHZhbHVlOiBhbnk7XG4gICAgaWYgKGluZGV4ID49IDAgKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlc1tpbmRleF0udmFsdWVbZmllbGQuaWRdO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlc1tmaWVsZC5pZF07XG4gICAgfVxuICAgIHJldHVybiBSZWFkRmllbGRzRmlsdGVyUGlwZS5pc0VtcHR5KGZpZWxkLnZhbHVlKSA/IHZhbHVlIDogZmllbGQudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBldmFsdWF0ZUNvbmRpdGlvbmFsU2hvdyhmaWVsZDogQ2FzZUZpZWxkLCBmb3JtVmFsdWU6IGFueSwgcGF0aD86IHN0cmluZyxcbiAgICBmb3JtR3JvdXBBdmFsaWFibGU/OiBib29sZWFuLCBmaWVsZElkPzogc3RyaW5nKTogQ2FzZUZpZWxkIHtcbiAgICBpZiAoZmllbGQuZGlzcGxheV9jb250ZXh0ID09PSAnSElEREVOJykge1xuICAgICAgZmllbGQuaGlkZGVuID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKGZpZWxkLnNob3dfY29uZGl0aW9uKSB7XG4gICAgICBsZXQgY29uZDogU2hvd0NvbmRpdGlvbjtcbiAgICAgIGlmIChmaWVsZElkICYmIGZpZWxkLnNob3dfY29uZGl0aW9uLmluZGV4T2YoZmllbGRJZCkgPiAtMSAmJiAhZm9ybUdyb3VwQXZhbGlhYmxlICYmICEhT2JqZWN0LmtleXMoZm9ybVZhbHVlKS5sZW5ndGgpIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoID0gZmllbGRJZCArICcuJztcbiAgICAgICAgY29uc3Qgc2VhcmNoUmVnRXhwID0gbmV3IFJlZ0V4cChzZWFyY2gsICdnJyk7XG4gICAgICAgIGNvbnN0IHJlcGxhY2VXaXRoID0gJyc7XG4gICAgICAgIGNvbmQgPSBTaG93Q29uZGl0aW9uLmdldEluc3RhbmNlKGZpZWxkLnNob3dfY29uZGl0aW9uLnJlcGxhY2Uoc2VhcmNoUmVnRXhwLCByZXBsYWNlV2l0aCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uZCA9IFNob3dDb25kaXRpb24uZ2V0SW5zdGFuY2UoZmllbGQuc2hvd19jb25kaXRpb24pO1xuICAgICAgfVxuICAgICAgZmllbGQuaGlkZGVuID0gIWNvbmQubWF0Y2goZm9ybVZhbHVlLCBwYXRoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmllbGQuaGlkZGVuID0gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBmaWVsZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXIgb3V0IGZpZWxkcyBoYXZpbmcgbm8gZGF0YSB0byBkaXNwbGF5IGFuZCBoYXJtb25pc2UgZmllbGQgdmFsdWVzIGNvbWluZyBwYXJlbnQncyB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyB0cmFuc2Zvcm0oXG4gICAgY29tcGxleEZpZWxkOiBDYXNlRmllbGQsIGtlZXBFbXB0eT86IGJvb2xlYW4sIGluZGV4PzogbnVtYmVyLFxuICAgIHNldHVwSGlkZGVuID0gZmFsc2UsIGZvcm1Hcm91cD86IEZvcm1Hcm91cCB8IEFic3RyYWN0Q29udHJvbCwgcGF0aD86IHN0cmluZyk6IENhc2VGaWVsZFtdIHtcbiAgICBpZiAoIWNvbXBsZXhGaWVsZCB8fCAhY29tcGxleEZpZWxkLmZpZWxkX3R5cGUpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWVsZHMgPSBjb21wbGV4RmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcyB8fCBbXTtcbiAgICBjb25zdCB2YWx1ZXMgPSBjb21wbGV4RmllbGQudmFsdWUgfHwge307XG4gICAgbGV0IGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdDogYW55ID0gdmFsdWVzO1xuICAgIGxldCBmb3JtR3JvdXBBdmFpbGFibGUgPSBmYWxzZTtcbiAgICBpZiAoZm9ybUdyb3VwKSB7XG4gICAgICBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3QgPSBmb3JtR3JvdXAudmFsdWU7XG4gICAgICBmb3JtR3JvdXBBdmFpbGFibGUgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmaWVsZHNcbiAgICAgIC5tYXAoZiA9PiB7XG4gICAgICAgIGNvbnN0IGNsb25lID0gRmllbGRzVXRpbHMuY2xvbmVPYmplY3QoZik7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gUmVhZEZpZWxkc0ZpbHRlclBpcGUuZ2V0VmFsdWUoZiwgdmFsdWVzLCBpbmRleCk7XG4gICAgICAgIGlmICghUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNFbXB0eSh2YWx1ZSkpIHtcbiAgICAgICAgICBjbG9uZS52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjbG9uZTtcbiAgICAgIH0pXG4gICAgICAubWFwKGYgPT4ge1xuICAgICAgICBpZiAoIWYuZGlzcGxheV9jb250ZXh0KSB7XG4gICAgICAgICAgZi5kaXNwbGF5X2NvbnRleHQgPSBjb21wbGV4RmllbGQuZGlzcGxheV9jb250ZXh0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZXR1cEhpZGRlbikge1xuICAgICAgICAgIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmV2YWx1YXRlQ29uZGl0aW9uYWxTaG93KGYsIGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdCwgcGF0aCwgZm9ybUdyb3VwQXZhaWxhYmxlLCBjb21wbGV4RmllbGQuaWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmO1xuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoZiA9PiBrZWVwRW1wdHkgfHwgUmVhZEZpZWxkc0ZpbHRlclBpcGUua2VlcEZpZWxkKGYpKTtcbiAgfVxufVxuIl19
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2NkLXJlYWQtZmllbGRzLWZpbHRlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9waXBlcy9jb21wbGV4L2NjZC1yZWFkLWZpZWxkcy1maWx0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUdwRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDaEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFLakUsTUFBTSxPQUFPLG9CQUFvQjtJQWdCL0I7O09BRUc7SUFDSyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCLEVBQUUsTUFBZTtRQUM3RCxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQzlCLE1BQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFM0QsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4RCxNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNoRSxPQUFPLFFBQVEsSUFBSSxvQkFBb0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQztRQUM1RixDQUFD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QUUsb0JBQW9CLENBQUMsaUJBQWlCO0NBQ25ELENBQUM7d0ZBZFMsb0JBQW9CO2tGQUFwQixvQkFBb0I7dUZBQXBCLG9CQUFvQjtjQUhoQyxJQUFJO2VBQUM7Z0JBQ0osSUFBSSxFQUFFLHFCQUFxQjthQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBwbGFpblRvQ2xhc3NGcm9tRXhpc3QgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBTaG93Q29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9jb25kaXRpb25hbC1zaG93L2RvbWFpbi9jb25kaXRpb25hbC1zaG93Lm1vZGVsJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maWVsZHMvZmllbGRzLnV0aWxzJztcblxuQFBpcGUoe1xuICBuYW1lOiAnY2NkUmVhZEZpZWxkc0ZpbHRlcidcbn0pXG5leHBvcnQgY2xhc3MgUmVhZEZpZWxkc0ZpbHRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBFTVBUWV9WQUxVRVMgPSBbXG4gICAgdW5kZWZpbmVkLFxuICAgIG51bGwsXG4gICAgJycsXG4gICAge31cbiAgXTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBBTFdBWVNfTlVMTF9GSUVMRFMgPSBbJ0Nhc2VQYXltZW50SGlzdG9yeVZpZXdlcicsICdXYXlzVG9QYXknLCAnRmxhZ0xhdW5jaGVyJ107XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgTkVTVEVEX1RZUEVTID0ge1xuICAgIENvbXBsZXg6IFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzVmFsaWRDb21wbGV4LFxuICAgIENvbGxlY3Rpb246IFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzVmFsaWRDb2xsZWN0aW9uXG4gIH07XG5cbiAgLyoqXG4gICAqIENvbXBsZXggdHlwZSBzaG91bGQgaGF2ZSBhdCBsZWFzdCBvbiBzaW1wbGUgZmllbGQgZGVzY2VuZGFudCB3aXRoIGEgdmFsdWUuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBpc1ZhbGlkQ29tcGxleChmaWVsZDogQ2FzZUZpZWxkLCB2YWx1ZXM/OiBvYmplY3QpOiBib29sZWFuIHtcbiAgICB2YWx1ZXMgPSB2YWx1ZXMgfHwge307XG4gICAgY29uc3QgdHlwZSA9IGZpZWxkLmZpZWxkX3R5cGU7XG4gICAgY29uc3QgdmFsdWUgPSBSZWFkRmllbGRzRmlsdGVyUGlwZS5nZXRWYWx1ZShmaWVsZCwgdmFsdWVzKTtcblxuICAgIGNvbnN0IGhhc0NoaWxkcmVuV2l0aFZhbHVlID0gdHlwZS5jb21wbGV4X2ZpZWxkcy5maW5kKGYgPT4ge1xuICAgICAgY29uc3Qgd2lsbEtlZXAgPSBSZWFkRmllbGRzRmlsdGVyUGlwZS5rZWVwRmllbGQoZiwgdmFsdWUsIHRydWUpO1xuICAgICAgcmV0dXJuIHdpbGxLZWVwICYmIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmV2YWx1YXRlQ29uZGl0aW9uYWxTaG93KGYsIHZhbHVlKS5oaWRkZW4gIT09IHRydWU7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gISFoYXNDaGlsZHJlbldpdGhWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzVmFsaWRDb2xsZWN0aW9uKGZpZWxkOiBDYXNlRmllbGQsIHZhbHVlcz86IG9iamVjdCk6IGJvb2xlYW4ge1xuICAgIC8vIGlmIGZpZWxkIGlzIGNvbGxlY3Rpb24gYW5kIGl0IGhhcyBjb21wbGV4L2NvbGxlY3Rpb24gY2hpbGQgZmllbGQ7IHBhcmVudCBmaWVsZCBkb2VzbnQgaGF2ZSB2YWx1ZSBkZWZpbmVkXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGZpZWxkLnZhbHVlKSAmJiB2YWx1ZXMgJiYgdmFsdWVzLmhhc093blByb3BlcnR5KGZpZWxkLmlkKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IGlzTm90RW1wdHkgPSBBcnJheS5pc0FycmF5KGZpZWxkLnZhbHVlKSAmJiBmaWVsZC52YWx1ZS5sZW5ndGggPiAwO1xuICAgIGlmIChpc05vdEVtcHR5ICYmIGZpZWxkLmZpZWxkX3R5cGUuY29sbGVjdGlvbl9maWVsZF90eXBlLnR5cGUgPT09ICdDb21wbGV4Jykge1xuICAgICAgcmV0dXJuICEhZmllbGQudmFsdWUuZmluZChpdGVtID0+IHtcbiAgICAgICAgY29uc3QgY29tcGxleEZpZWxkID0gcGxhaW5Ub0NsYXNzRnJvbUV4aXN0KG5ldyBDYXNlRmllbGQoKSwge1xuICAgICAgICAgIGlkOiBmaWVsZC5maWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZS5pZCxcbiAgICAgICAgICBmaWVsZF90eXBlOiBmaWVsZC5maWVsZF90eXBlLmNvbGxlY3Rpb25fZmllbGRfdHlwZSxcbiAgICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgICAgICBsYWJlbDogbnVsbCxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBSZWFkRmllbGRzRmlsdGVyUGlwZS5pc1ZhbGlkQ29tcGxleChjb21wbGV4RmllbGQpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBpc05vdEVtcHR5O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNFbXB0eSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLkVNUFRZX1ZBTFVFUy5pbmRleE9mKHZhbHVlKSAhPT0gLTFcbiAgICAgIHx8IHZhbHVlLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzQ29tcG91bmQoZmllbGQ6IENhc2VGaWVsZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBSZWFkRmllbGRzRmlsdGVyUGlwZS5ORVNURURfVFlQRVNbZmllbGQuZmllbGRfdHlwZS50eXBlXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzVmFsaWRDb21wb3VuZChmaWVsZDogQ2FzZUZpZWxkLCB2YWx1ZT86IG9iamVjdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBSZWFkRmllbGRzRmlsdGVyUGlwZS5pc0NvbXBvdW5kKGZpZWxkKVxuICAgICAgICAgICAgJiYgUmVhZEZpZWxkc0ZpbHRlclBpcGUuTkVTVEVEX1RZUEVTW2ZpZWxkLmZpZWxkX3R5cGUudHlwZV0oZmllbGQsIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGtlZXBGaWVsZChmaWVsZDogQ2FzZUZpZWxkLCB2YWx1ZT86IG9iamVjdCwgaWdub3JlTGFiZWxzID0gZmFsc2UpOiBib29sZWFuIHtcbiAgICAvLyBXZSBzaG91bGQgYWx3YXlzIHJlbmRlciB0aGUgY2FzZWxpbmtzIHRhYmxlcyBmcm9tIGFuZCB0byByZWdhcmRsZXNzIHdoZXRoZXIgaXQgaGFzIHZhbGlkIHZhbHVlIG9yIG5vdFxuICAgIGlmIChmaWVsZC5pZCA9PT0gJ2Nhc2VMaW5rcycpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIFdlIHNob3VsZG4ndCBkaXRjaCBsYWJlbHMuXG4gICAgaWYgKCFpZ25vcmVMYWJlbHMgJiYgZmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnTGFiZWwnICYmIChmaWVsZC5sYWJlbCB8fCAnJykubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIC8vIFdlIGFsc28gc2hvdWxkbid0IGRpdGNoIGZpZWxkcyB0aGF0IHdpbGwgYWx3YXlzIGNvbWUgYmFjayB3aXRoIGEgbnVsbCB2YWx1ZS5cbiAgICBpZiAodGhpcy5BTFdBWVNfTlVMTF9GSUVMRFMuaW5kZXhPZihmaWVsZC5maWVsZF90eXBlLnR5cGUpICE9PSAtMSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdmFsdWUgPSB2YWx1ZSB8fCB7fTtcblxuICAgIGlmIChSZWFkRmllbGRzRmlsdGVyUGlwZS5pc0NvbXBvdW5kKGZpZWxkKSkge1xuICAgICAgcmV0dXJuIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzVmFsaWRDb21wb3VuZChmaWVsZCwgdmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiAhUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNFbXB0eShmaWVsZC52YWx1ZSlcbiAgICAgICAgICAgICAgfHwgIVJlYWRGaWVsZHNGaWx0ZXJQaXBlLmlzRW1wdHkodmFsdWVbZmllbGQuaWRdKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldFZhbHVlKGZpZWxkOiBDYXNlRmllbGQsIHZhbHVlczogYW55LCBpbmRleD86IG51bWJlcik6IGFueSB7XG4gICAgbGV0IHZhbHVlOiBhbnk7XG4gICAgaWYgKGluZGV4ID49IDAgKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlc1tpbmRleF0udmFsdWVbZmllbGQuaWRdO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlc1tmaWVsZC5pZF07XG4gICAgfVxuICAgIHJldHVybiBSZWFkRmllbGRzRmlsdGVyUGlwZS5pc0VtcHR5KGZpZWxkLnZhbHVlKSA/IHZhbHVlIDogZmllbGQudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBldmFsdWF0ZUNvbmRpdGlvbmFsU2hvdyhmaWVsZDogQ2FzZUZpZWxkLCBmb3JtVmFsdWU6IGFueSwgcGF0aD86IHN0cmluZyxcbiAgICBmb3JtR3JvdXBBdmFsaWFibGU/OiBib29sZWFuLCBmaWVsZElkPzogc3RyaW5nKTogQ2FzZUZpZWxkIHtcbiAgICBpZiAoZmllbGQuZGlzcGxheV9jb250ZXh0ID09PSAnSElEREVOJykge1xuICAgICAgZmllbGQuaGlkZGVuID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKGZpZWxkLnNob3dfY29uZGl0aW9uKSB7XG4gICAgICBsZXQgY29uZDogU2hvd0NvbmRpdGlvbjtcbiAgICAgIGlmIChmaWVsZElkICYmIGZpZWxkLnNob3dfY29uZGl0aW9uLmluZGV4T2YoZmllbGRJZCkgPiAtMSAmJiAhZm9ybUdyb3VwQXZhbGlhYmxlICYmICEhT2JqZWN0LmtleXMoZm9ybVZhbHVlKS5sZW5ndGgpIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoID0gZmllbGRJZCArICcuJztcbiAgICAgICAgY29uc3Qgc2VhcmNoUmVnRXhwID0gbmV3IFJlZ0V4cChzZWFyY2gsICdnJyk7XG4gICAgICAgIGNvbnN0IHJlcGxhY2VXaXRoID0gJyc7XG4gICAgICAgIGNvbmQgPSBTaG93Q29uZGl0aW9uLmdldEluc3RhbmNlKGZpZWxkLnNob3dfY29uZGl0aW9uLnJlcGxhY2Uoc2VhcmNoUmVnRXhwLCByZXBsYWNlV2l0aCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uZCA9IFNob3dDb25kaXRpb24uZ2V0SW5zdGFuY2UoZmllbGQuc2hvd19jb25kaXRpb24pO1xuICAgICAgfVxuICAgICAgZmllbGQuaGlkZGVuID0gIWNvbmQubWF0Y2goZm9ybVZhbHVlLCBwYXRoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmllbGQuaGlkZGVuID0gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBmaWVsZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXIgb3V0IGZpZWxkcyBoYXZpbmcgbm8gZGF0YSB0byBkaXNwbGF5IGFuZCBoYXJtb25pc2UgZmllbGQgdmFsdWVzIGNvbWluZyBwYXJlbnQncyB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyB0cmFuc2Zvcm0oXG4gICAgY29tcGxleEZpZWxkOiBDYXNlRmllbGQsIGtlZXBFbXB0eT86IGJvb2xlYW4sIGluZGV4PzogbnVtYmVyLFxuICAgIHNldHVwSGlkZGVuID0gZmFsc2UsIGZvcm1Hcm91cD86IEZvcm1Hcm91cCB8IEFic3RyYWN0Q29udHJvbCwgcGF0aD86IHN0cmluZyk6IENhc2VGaWVsZFtdIHtcbiAgICBpZiAoIWNvbXBsZXhGaWVsZCB8fCAhY29tcGxleEZpZWxkLmZpZWxkX3R5cGUpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWVsZHMgPSBjb21wbGV4RmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcyB8fCBbXTtcbiAgICBjb25zdCB2YWx1ZXMgPSBjb21wbGV4RmllbGQudmFsdWUgfHwge307XG4gICAgbGV0IGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdDogYW55ID0gdmFsdWVzO1xuICAgIGxldCBmb3JtR3JvdXBBdmFpbGFibGUgPSBmYWxzZTtcbiAgICBpZiAoZm9ybUdyb3VwKSB7XG4gICAgICBjaGVja0NvbmRpdGlvbmFsU2hvd0FnYWluc3QgPSBmb3JtR3JvdXAudmFsdWU7XG4gICAgICBmb3JtR3JvdXBBdmFpbGFibGUgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmaWVsZHNcbiAgICAgIC5tYXAoZiA9PiB7XG4gICAgICAgIGNvbnN0IGNsb25lID0gRmllbGRzVXRpbHMuY2xvbmVPYmplY3QoZik7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gUmVhZEZpZWxkc0ZpbHRlclBpcGUuZ2V0VmFsdWUoZiwgdmFsdWVzLCBpbmRleCk7XG4gICAgICAgIGlmICghUmVhZEZpZWxkc0ZpbHRlclBpcGUuaXNFbXB0eSh2YWx1ZSkpIHtcbiAgICAgICAgICBjbG9uZS52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjbG9uZTtcbiAgICAgIH0pXG4gICAgICAubWFwKGYgPT4ge1xuICAgICAgICBpZiAoIWYuZGlzcGxheV9jb250ZXh0KSB7XG4gICAgICAgICAgZi5kaXNwbGF5X2NvbnRleHQgPSBjb21wbGV4RmllbGQuZGlzcGxheV9jb250ZXh0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZXR1cEhpZGRlbikge1xuICAgICAgICAgIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLmV2YWx1YXRlQ29uZGl0aW9uYWxTaG93KGYsIGNoZWNrQ29uZGl0aW9uYWxTaG93QWdhaW5zdCwgcGF0aCwgZm9ybUdyb3VwQXZhaWxhYmxlLCBjb21wbGV4RmllbGQuaWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmO1xuICAgICAgfSlcbiAgICAgIC5maWx0ZXIoZiA9PiBrZWVwRW1wdHkgfHwgUmVhZEZpZWxkc0ZpbHRlclBpcGUua2VlcEZpZWxkKGYpKTtcbiAgfVxufVxuIl19
@@ -1,6 +1,7 @@
1
1
  export * from './case-reference';
2
2
  export * from './case-title';
3
3
  export * from './complex';
4
+ export * from './link-cases-reason-code';
4
5
  export * from './pipes.module';
5
6
  export * from './search-result/sorting/sort-search-result.pipe';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGlEQUFpRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYXNlLXJlZmVyZW5jZSc7XG5leHBvcnQgKiBmcm9tICcuL2Nhc2UtdGl0bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wbGV4JztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLXJlc3VsdC9zb3J0aW5nL3NvcnQtc2VhcmNoLXJlc3VsdC5waXBlJztcbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaURBQWlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Nhc2UtcmVmZXJlbmNlJztcbmV4cG9ydCAqIGZyb20gJy4vY2FzZS10aXRsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBsZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9saW5rLWNhc2VzLXJlYXNvbi1jb2RlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLXJlc3VsdC9zb3J0aW5nL3NvcnQtc2VhcmNoLXJlc3VsdC5waXBlJztcbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { LinkedCasesService } from '../../components/palette/case-link/services';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../components/palette/case-link/services";
5
+ export class LinkCasesReasonValuePipe {
6
+ constructor(linkedCasesService) {
7
+ this.linkedCasesService = linkedCasesService;
8
+ }
9
+ transform(reasonCode) {
10
+ const reasonCodeMapping = this.linkedCasesService.linkCaseReasons &&
11
+ this.linkedCasesService.linkCaseReasons.find(reason => reason.key === reasonCode);
12
+ return reasonCodeMapping && reasonCodeMapping.value_en;
13
+ }
14
+ }
15
+ LinkCasesReasonValuePipe.ɵfac = function LinkCasesReasonValuePipe_Factory(t) { return new (t || LinkCasesReasonValuePipe)(i0.ɵɵdirectiveInject(i1.LinkedCasesService)); };
16
+ LinkCasesReasonValuePipe.ɵpipe = i0.ɵɵdefinePipe({ name: "ccdLinkCasesReasonValue", type: LinkCasesReasonValuePipe, pure: true });
17
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LinkCasesReasonValuePipe, [{
18
+ type: Pipe,
19
+ args: [{
20
+ name: 'ccdLinkCasesReasonValue'
21
+ }]
22
+ }], function () { return [{ type: i1.LinkedCasesService }]; }, null); })();
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2NkLWxpbmstY2FzZXMtcmVhc29uLWNvZGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvcGlwZXMvbGluay1jYXNlcy1yZWFzb24tY29kZS9jY2QtbGluay1jYXNlcy1yZWFzb24tY29kZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7QUFNakYsTUFBTSxPQUFPLHdCQUF3QjtJQUVuQyxZQUE2QixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFHLENBQUM7SUFFaEUsU0FBUyxDQUFDLFVBQWtCO1FBQ2pDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWU7WUFDdkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLFVBQVUsQ0FBQyxDQUFDO1FBQzVHLE9BQU8saUJBQWlCLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDO0lBQ3pELENBQUM7O2dHQVJVLHdCQUF3QjswRkFBeEIsd0JBQXdCO3VGQUF4Qix3QkFBd0I7Y0FKcEMsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSx5QkFBeUI7YUFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaW5rZWRDYXNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3BhbGV0dGUvY2FzZS1saW5rL3NlcnZpY2VzJztcblxuQFBpcGUoe1xuICBuYW1lOiAnY2NkTGlua0Nhc2VzUmVhc29uVmFsdWUnXG59KVxuXG5leHBvcnQgY2xhc3MgTGlua0Nhc2VzUmVhc29uVmFsdWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsaW5rZWRDYXNlc1NlcnZpY2U6IExpbmtlZENhc2VzU2VydmljZSkge31cblxuICBwdWJsaWMgdHJhbnNmb3JtKHJlYXNvbkNvZGU6IHN0cmluZyk6IGFueSB7XG4gICAgY29uc3QgcmVhc29uQ29kZU1hcHBpbmcgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rQ2FzZVJlYXNvbnMgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmxpbmtDYXNlUmVhc29ucy5maW5kKHJlYXNvbiA9PiByZWFzb24ua2V5ID09PSByZWFzb25Db2RlKTtcbiAgICByZXR1cm4gcmVhc29uQ29kZU1hcHBpbmcgJiYgcmVhc29uQ29kZU1hcHBpbmcudmFsdWVfZW47XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './ccd-link-cases-reason-code.pipe';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3BpcGVzL2xpbmstY2FzZXMtcmVhc29uLWNvZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2NkLWxpbmstY2FzZXMtcmVhc29uLWNvZGUucGlwZSc7XG4iXX0=
@@ -2,7 +2,8 @@ import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { CaseReferencePipe } from './case-reference';
4
4
  import { CcdCaseTitlePipe } from './case-title';
5
- import { CcdCollectionTableCaseFieldsFilterPipe, CcdCYAPageLabelFilterPipe, ReadFieldsFilterPipe, CcdTabFieldsPipe, CcdPageFieldsPipe } from './complex';
5
+ import { CcdCollectionTableCaseFieldsFilterPipe, CcdCYAPageLabelFilterPipe, CcdPageFieldsPipe, CcdTabFieldsPipe, ReadFieldsFilterPipe } from './complex';
6
+ import { LinkCasesReasonValuePipe } from './link-cases-reason-code';
6
7
  import { SortSearchResultPipe } from './search-result/sorting/sort-search-result.pipe';
7
8
  import * as i0 from "@angular/core";
8
9
  const pipeDeclarations = [
@@ -13,7 +14,8 @@ const pipeDeclarations = [
13
14
  CcdCYAPageLabelFilterPipe,
14
15
  ReadFieldsFilterPipe,
15
16
  CcdTabFieldsPipe,
16
- CcdPageFieldsPipe
17
+ CcdPageFieldsPipe,
18
+ LinkCasesReasonValuePipe
17
19
  ];
18
20
  export class PipesModule {
19
21
  }
@@ -29,14 +31,16 @@ PipesModule.ɵinj = i0.ɵɵdefineInjector({ imports: [[
29
31
  CcdCYAPageLabelFilterPipe,
30
32
  ReadFieldsFilterPipe,
31
33
  CcdTabFieldsPipe,
32
- CcdPageFieldsPipe], imports: [CommonModule], exports: [CaseReferencePipe,
34
+ CcdPageFieldsPipe,
35
+ LinkCasesReasonValuePipe], imports: [CommonModule], exports: [CaseReferencePipe,
33
36
  SortSearchResultPipe,
34
37
  CcdCaseTitlePipe,
35
38
  CcdCollectionTableCaseFieldsFilterPipe,
36
39
  CcdCYAPageLabelFilterPipe,
37
40
  ReadFieldsFilterPipe,
38
41
  CcdTabFieldsPipe,
39
- CcdPageFieldsPipe] }); })();
42
+ CcdPageFieldsPipe,
43
+ LinkCasesReasonValuePipe] }); })();
40
44
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PipesModule, [{
41
45
  type: NgModule,
42
46
  args: [{
@@ -51,4 +55,4 @@ PipesModule.ɵinj = i0.ɵɵdefineInjector({ imports: [[
51
55
  ]
52
56
  }]
53
57
  }], null, null); })();
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9waXBlcy9waXBlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSx5QkFBeUIsRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6SixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7QUFFdkYsTUFBTSxnQkFBZ0IsR0FBRztJQUN2QixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLGdCQUFnQjtJQUNoQixzQ0FBc0M7SUFDdEMseUJBQXlCO0lBQ3pCLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0NBQ2xCLENBQUM7QUFhRixNQUFNLE9BQU8sV0FBVzs7c0VBQVgsV0FBVzsrQ0FBWCxXQUFXO21EQVZiO1lBQ1AsWUFBWTtTQUNiO3dGQVFVLFdBQVcsbUJBckJ0QixpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQixzQ0FBc0M7UUFDdEMseUJBQXlCO1FBQ3pCLG9CQUFvQjtRQUNwQixnQkFBZ0I7UUFDaEIsaUJBQWlCLGFBS2YsWUFBWSxhQVpkLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIsZ0JBQWdCO1FBQ2hCLHNDQUFzQztRQUN0Qyx5QkFBeUI7UUFDekIsb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQixpQkFBaUI7dUZBY04sV0FBVztjQVh2QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7aUJBQ2I7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLEdBQUcsZ0JBQWdCO2lCQUNwQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsR0FBRyxnQkFBZ0I7aUJBQ3BCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhc2VSZWZlcmVuY2VQaXBlIH0gZnJvbSAnLi9jYXNlLXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBDY2RDYXNlVGl0bGVQaXBlIH0gZnJvbSAnLi9jYXNlLXRpdGxlJztcbmltcG9ydCB7IENjZENvbGxlY3Rpb25UYWJsZUNhc2VGaWVsZHNGaWx0ZXJQaXBlLCBDY2RDWUFQYWdlTGFiZWxGaWx0ZXJQaXBlLCBSZWFkRmllbGRzRmlsdGVyUGlwZSwgQ2NkVGFiRmllbGRzUGlwZSwgQ2NkUGFnZUZpZWxkc1BpcGUgfSBmcm9tICcuL2NvbXBsZXgnO1xuaW1wb3J0IHsgU29ydFNlYXJjaFJlc3VsdFBpcGUgfSBmcm9tICcuL3NlYXJjaC1yZXN1bHQvc29ydGluZy9zb3J0LXNlYXJjaC1yZXN1bHQucGlwZSc7XG5cbmNvbnN0IHBpcGVEZWNsYXJhdGlvbnMgPSBbXG4gIENhc2VSZWZlcmVuY2VQaXBlLFxuICBTb3J0U2VhcmNoUmVzdWx0UGlwZSxcbiAgQ2NkQ2FzZVRpdGxlUGlwZSxcbiAgQ2NkQ29sbGVjdGlvblRhYmxlQ2FzZUZpZWxkc0ZpbHRlclBpcGUsXG4gIENjZENZQVBhZ2VMYWJlbEZpbHRlclBpcGUsXG4gIFJlYWRGaWVsZHNGaWx0ZXJQaXBlLFxuICBDY2RUYWJGaWVsZHNQaXBlLFxuICBDY2RQYWdlRmllbGRzUGlwZVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgLi4ucGlwZURlY2xhcmF0aW9uc1xuICBdLFxuICBleHBvcnRzOiBbXG4gICAgLi4ucGlwZURlY2xhcmF0aW9uc1xuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBpcGVzTW9kdWxlIHt9XG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9waXBlcy9waXBlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSx5QkFBeUIsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6SixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7QUFFdkYsTUFBTSxnQkFBZ0IsR0FBRztJQUN2QixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLGdCQUFnQjtJQUNoQixzQ0FBc0M7SUFDdEMseUJBQXlCO0lBQ3pCLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLHdCQUF3QjtDQUN6QixDQUFDO0FBYUYsTUFBTSxPQUFPLFdBQVc7O3NFQUFYLFdBQVc7K0NBQVgsV0FBVzttREFWYjtZQUNQLFlBQVk7U0FDYjt3RkFRVSxXQUFXLG1CQXRCdEIsaUJBQWlCO1FBQ2pCLG9CQUFvQjtRQUNwQixnQkFBZ0I7UUFDaEIsc0NBQXNDO1FBQ3RDLHlCQUF5QjtRQUN6QixvQkFBb0I7UUFDcEIsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQix3QkFBd0IsYUFLdEIsWUFBWSxhQWJkLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIsZ0JBQWdCO1FBQ2hCLHNDQUFzQztRQUN0Qyx5QkFBeUI7UUFDekIsb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsd0JBQXdCO3VGQWNiLFdBQVc7Y0FYdkIsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO2lCQUNiO2dCQUNELFlBQVksRUFBRTtvQkFDWixHQUFHLGdCQUFnQjtpQkFDcEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLEdBQUcsZ0JBQWdCO2lCQUNwQjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXNlUmVmZXJlbmNlUGlwZSB9IGZyb20gJy4vY2FzZS1yZWZlcmVuY2UnO1xuaW1wb3J0IHsgQ2NkQ2FzZVRpdGxlUGlwZSB9IGZyb20gJy4vY2FzZS10aXRsZSc7XG5pbXBvcnQgeyBDY2RDb2xsZWN0aW9uVGFibGVDYXNlRmllbGRzRmlsdGVyUGlwZSwgQ2NkQ1lBUGFnZUxhYmVsRmlsdGVyUGlwZSwgQ2NkUGFnZUZpZWxkc1BpcGUsIENjZFRhYkZpZWxkc1BpcGUsIFJlYWRGaWVsZHNGaWx0ZXJQaXBlIH0gZnJvbSAnLi9jb21wbGV4JztcbmltcG9ydCB7IExpbmtDYXNlc1JlYXNvblZhbHVlUGlwZSB9IGZyb20gJy4vbGluay1jYXNlcy1yZWFzb24tY29kZSc7XG5pbXBvcnQgeyBTb3J0U2VhcmNoUmVzdWx0UGlwZSB9IGZyb20gJy4vc2VhcmNoLXJlc3VsdC9zb3J0aW5nL3NvcnQtc2VhcmNoLXJlc3VsdC5waXBlJztcblxuY29uc3QgcGlwZURlY2xhcmF0aW9ucyA9IFtcbiAgQ2FzZVJlZmVyZW5jZVBpcGUsXG4gIFNvcnRTZWFyY2hSZXN1bHRQaXBlLFxuICBDY2RDYXNlVGl0bGVQaXBlLFxuICBDY2RDb2xsZWN0aW9uVGFibGVDYXNlRmllbGRzRmlsdGVyUGlwZSxcbiAgQ2NkQ1lBUGFnZUxhYmVsRmlsdGVyUGlwZSxcbiAgUmVhZEZpZWxkc0ZpbHRlclBpcGUsXG4gIENjZFRhYkZpZWxkc1BpcGUsXG4gIENjZFBhZ2VGaWVsZHNQaXBlLFxuICBMaW5rQ2FzZXNSZWFzb25WYWx1ZVBpcGVcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIC4uLnBpcGVEZWNsYXJhdGlvbnNcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIC4uLnBpcGVEZWNsYXJhdGlvbnNcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBQaXBlc01vZHVsZSB7fVxuIl19
@@ -0,0 +1,22 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpClient } from '@angular/common/http';
3
+ import { of } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common/http";
6
+ export class CommonDataService {
7
+ constructor(http) {
8
+ this.http = http;
9
+ }
10
+ getRefData(url) {
11
+ if (url) {
12
+ return this.http.get(url, { observe: 'body' });
13
+ }
14
+ return of(null);
15
+ }
16
+ }
17
+ CommonDataService.ɵfac = function CommonDataService_Factory(t) { return new (t || CommonDataService)(i0.ɵɵinject(i1.HttpClient)); };
18
+ CommonDataService.ɵprov = i0.ɵɵdefineInjectable({ token: CommonDataService, factory: CommonDataService.ɵfac });
19
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CommonDataService, [{
20
+ type: Injectable
21
+ }], function () { return [{ type: i1.HttpClient }]; }, null); })();
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWRhdGEtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvY29tbW9uLWRhdGEtc2VydmljZS9jb21tb24tZGF0YS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQXVCdEMsTUFBTSxPQUFPLGlCQUFpQjtJQUUxQixZQUE2QixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO0lBQUcsQ0FBQztJQUUxQyxVQUFVLENBQUMsR0FBVztRQUNyQixJQUFJLEdBQUcsRUFBRTtZQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQTJCLEdBQUcsRUFBRSxFQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQzs7a0ZBVFEsaUJBQWlCO3lEQUFqQixpQkFBaUIsV0FBakIsaUJBQWlCO3VGQUFqQixpQkFBaUI7Y0FEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExvdlJlZkRhdGFNb2RlbCB7XG4gICAgY2F0ZWdvcnlfa2V5OiBzdHJpbmc7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgdmFsdWVfZW46IHN0cmluZztcbiAgICB2YWx1ZV9jeTogc3RyaW5nO1xuICAgIGhpbnRfdGV4dF9lbjogc3RyaW5nO1xuICAgIGhpbnRfdGV4dF9jeTogc3RyaW5nO1xuICAgIGxvdl9vcmRlcjogbnVtYmVyO1xuICAgIHBhcmVudF9jYXRlZ29yeTogc3RyaW5nO1xuICAgIHBhcmVudF9rZXk6IHN0cmluZztcbiAgICBhY3RpdmVfZmxhZzogc3RyaW5nO1xuICAgIGNoaWxkX25vZGVzPzogTG92UmVmRGF0YU1vZGVsW107XG4gICAgZnJvbT86IHN0cmluZztcbiAgICBzZWxlY3RlZD86IGJvb2xlYW47XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIExvdlJlZkRhdGFCeVNlcnZpY2VNb2RlbCB7XG4gICAgbGlzdF9vZl92YWx1ZXM6IExvdlJlZkRhdGFNb2RlbFtdO1xuICB9XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb21tb25EYXRhU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQpIHt9XG5cbiAgICBwdWJsaWMgZ2V0UmVmRGF0YSh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8TG92UmVmRGF0YUJ5U2VydmljZU1vZGVsPiB7XG4gICAgICAgICAgICBpZiAodXJsKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PExvdlJlZkRhdGFCeVNlcnZpY2VNb2RlbD4odXJsLCB7b2JzZXJ2ZTogJ2JvZHknfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxufVxuIl19