@hmcts/ccd-case-ui-toolkit 6.13.11-welsh-release-v7 → 6.13.12-disabled-fields

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 (197) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +2499 -3653
  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/components/banners/alert/alert.component.js +5 -7
  7. package/esm2015/lib/components/banners/alert/alert.module.js +4 -12
  8. package/esm2015/lib/components/footer/footer.component.js +30 -55
  9. package/esm2015/lib/components/footer/footers.module.js +4 -12
  10. package/esm2015/lib/components/form/date-input/date-input.component.js +37 -56
  11. package/esm2015/lib/components/form/form.module.js +4 -8
  12. package/esm2015/lib/components/header/header-bar/header-bar.component.js +19 -32
  13. package/esm2015/lib/components/header/headers.module.js +4 -6
  14. package/esm2015/lib/components/header/navigation/navigation-item.component.js +7 -9
  15. package/esm2015/lib/components/header/phase/phase.component.js +9 -20
  16. package/esm2015/lib/components/tabs/tabs.component.js +5 -8
  17. package/esm2015/lib/components/tabs/tabs.module.js +2 -6
  18. package/esm2015/lib/shared/components/activity/activity-banner/activity-banner.component.js +9 -12
  19. package/esm2015/lib/shared/components/activity/activity-icon/activity-icon.component.js +8 -11
  20. package/esm2015/lib/shared/components/activity/activity.component.js +10 -15
  21. package/esm2015/lib/shared/components/activity/activity.module.js +2 -6
  22. package/esm2015/lib/shared/components/case-editor/case-create/case-create.component.js +2 -2
  23. package/esm2015/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.js +25 -29
  24. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +48 -76
  25. package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +131 -179
  26. package/esm2015/lib/shared/components/case-editor/case-editor.module.js +26 -30
  27. package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.js +26 -51
  28. package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.js +28 -51
  29. package/esm2015/lib/shared/components/case-editor/case-progress/case-progress.component.js +2 -2
  30. package/esm2015/lib/shared/components/case-editor/services/case-edit-wizard.guard.js +2 -3
  31. package/esm2015/lib/shared/components/case-editor/services/work-allocation.service.js +2 -2
  32. package/esm2015/lib/shared/components/case-history/case-history.component.js +63 -89
  33. package/esm2015/lib/shared/components/case-history/case-history.module.js +14 -18
  34. package/esm2015/lib/shared/components/case-list/case-list.component.js +49 -56
  35. package/esm2015/lib/shared/components/case-list/case-list.module.js +4 -8
  36. package/esm2015/lib/shared/components/case-list-filters/case-list-filters.module.js +7 -11
  37. package/esm2015/lib/shared/components/case-timeline/case-timeline.component.js +6 -9
  38. package/esm2015/lib/shared/components/case-timeline/case-timeline.module.js +8 -12
  39. package/esm2015/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.js +61 -106
  40. package/esm2015/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.js +69 -89
  41. package/esm2015/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.js +23 -45
  42. package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +4 -12
  43. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +59 -87
  44. package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.js +20 -32
  45. package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.js +79 -107
  46. package/esm2015/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.js +49 -79
  47. package/esm2015/lib/shared/components/case-viewer/case-view/case-view.component.js +1 -1
  48. package/esm2015/lib/shared/components/case-viewer/case-viewer.module.js +27 -37
  49. package/esm2015/lib/shared/components/case-viewer/printer/case-printer.component.js +22 -36
  50. package/esm2015/lib/shared/components/create-case-filters/create-case-filters.component.js +40 -63
  51. package/esm2015/lib/shared/components/create-case-filters/create-case-filters.module.js +2 -6
  52. package/esm2015/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.js +14 -28
  53. package/esm2015/lib/shared/components/dialogs/dialogs.module.js +2 -6
  54. package/esm2015/lib/shared/components/dialogs/document-dialog/document-dialog.component.js +14 -28
  55. package/esm2015/lib/shared/components/dialogs/remove-dialog/remove-dialog.component.js +14 -28
  56. package/esm2015/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.js +14 -28
  57. package/esm2015/lib/shared/components/error/callback-errors.component.js +23 -34
  58. package/esm2015/lib/shared/components/error/errors.module.js +2 -6
  59. package/esm2015/lib/shared/components/error-message/error-message.component.js +11 -14
  60. package/esm2015/lib/shared/components/error-message/error-message.module.js +4 -8
  61. package/esm2015/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.js +20 -39
  62. package/esm2015/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.js +18 -34
  63. package/esm2015/lib/shared/components/event-start/components/task-assigned/task-assigned.component.js +19 -34
  64. package/esm2015/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.js +25 -50
  65. package/esm2015/lib/shared/components/event-start/components/task-conflict/task-conflict.component.js +20 -39
  66. package/esm2015/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.js +18 -34
  67. package/esm2015/lib/shared/components/event-start/event-start.module.js +4 -8
  68. package/esm2015/lib/shared/components/event-trigger/event-trigger.component.js +17 -27
  69. package/esm2015/lib/shared/components/event-trigger/event-trigger.module.js +2 -6
  70. package/esm2015/lib/shared/components/loading-spinner/loading-spinner.component.js +5 -7
  71. package/esm2015/lib/shared/components/loading-spinner/loading-spinner.module.js +2 -6
  72. package/esm2015/lib/shared/components/pagination/pagination.component.js +67 -84
  73. package/esm2015/lib/shared/components/pagination/pagination.module.js +4 -8
  74. package/esm2015/lib/shared/components/palette/address/write-address-field.component.js +31 -50
  75. package/esm2015/lib/shared/components/palette/base-field/field-read-label.component.js +8 -10
  76. package/esm2015/lib/shared/components/palette/base-field/field-read.component.js +1 -5
  77. package/esm2015/lib/shared/components/palette/base-field/field-write.component.js +1 -1
  78. package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.js +25 -31
  79. package/esm2015/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.js +1 -6
  80. package/esm2015/lib/shared/components/palette/case-flag/read-case-flag-field.component.js +12 -18
  81. package/esm2015/lib/shared/components/palette/case-link/write-case-link-field.component.js +12 -16
  82. package/esm2015/lib/shared/components/palette/collection/write-collection-field.component.js +32 -45
  83. package/esm2015/lib/shared/components/palette/complex/read-complex-field-collection-table.component.js +46 -50
  84. package/esm2015/lib/shared/components/palette/complex/read-complex-field-raw.component.js +6 -7
  85. package/esm2015/lib/shared/components/palette/complex/read-complex-field-table.component.js +20 -22
  86. package/esm2015/lib/shared/components/palette/complex/write-complex-field.component.js +4 -5
  87. package/esm2015/lib/shared/components/palette/date/write-date-field.component.js +12 -16
  88. package/esm2015/lib/shared/components/palette/datetime-picker/datetime-picker.component.js +17 -29
  89. package/esm2015/lib/shared/components/palette/document/write-document-field.component.js +25 -31
  90. package/esm2015/lib/shared/components/palette/dynamic-list/read-dynamic-list-field.component.js +7 -9
  91. package/esm2015/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.js +20 -32
  92. package/esm2015/lib/shared/components/palette/dynamic-radio-list/read-dynamic-radio-list-field.component.js +7 -9
  93. package/esm2015/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.js +17 -26
  94. package/esm2015/lib/shared/components/palette/email/write-email-field.component.js +12 -16
  95. package/esm2015/lib/shared/components/palette/fixed-list/read-fixed-list-field.component.js +7 -9
  96. package/esm2015/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.js +14 -19
  97. package/esm2015/lib/shared/components/palette/fixed-radio-list/read-fixed-radio-list-field.component.js +7 -9
  98. package/esm2015/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.js +15 -20
  99. package/esm2015/lib/shared/components/palette/history/event-log/event-log-details.component.js +65 -87
  100. package/esm2015/lib/shared/components/palette/history/event-log/event-log-table.component.js +46 -60
  101. package/esm2015/lib/shared/components/palette/label/label-field.component.js +5 -24
  102. package/esm2015/lib/shared/components/palette/markdown/markdown.component.js +4 -4
  103. package/esm2015/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.js +12 -16
  104. package/esm2015/lib/shared/components/palette/multi-select-list/read-multi-select-list-field.component.js +11 -15
  105. package/esm2015/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.js +14 -19
  106. package/esm2015/lib/shared/components/palette/number/write-number-field.component.js +12 -16
  107. package/esm2015/lib/shared/components/palette/order-summary/read-order-summary-field.component.js +25 -43
  108. package/esm2015/lib/shared/components/palette/order-summary/read-order-summary-row.component.js +6 -7
  109. package/esm2015/lib/shared/components/palette/organisation/read-organisation-field-raw.component.js +29 -41
  110. package/esm2015/lib/shared/components/palette/organisation/read-organisation-field-table.component.js +35 -48
  111. package/esm2015/lib/shared/components/palette/organisation/write-organisation-field.component.js +50 -88
  112. package/esm2015/lib/shared/components/palette/palette.module.js +58 -62
  113. package/esm2015/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.js +12 -16
  114. package/esm2015/lib/shared/components/palette/text/read-text-field.component.js +5 -7
  115. package/esm2015/lib/shared/components/palette/text/write-text-field.component.js +12 -16
  116. package/esm2015/lib/shared/components/palette/text-area/read-text-area-field.component.js +5 -7
  117. package/esm2015/lib/shared/components/palette/text-area/write-text-area-field.component.js +12 -16
  118. package/esm2015/lib/shared/components/palette/yes-no/read-yes-no-field.component.js +5 -7
  119. package/esm2015/lib/shared/components/palette/yes-no/write-yes-no-field.component.js +15 -20
  120. package/esm2015/lib/shared/components/search-filters/search-filters.component.js +35 -60
  121. package/esm2015/lib/shared/components/search-filters/search-filters.module.js +10 -14
  122. package/esm2015/lib/shared/components/search-result/search-result.component.js +95 -132
  123. package/esm2015/lib/shared/components/search-result/search-result.module.js +13 -16
  124. package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.component.js +52 -90
  125. package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.module.js +9 -13
  126. package/esm2015/lib/shared/directives/conditional-show/conditional-show-form.directive.js +2 -2
  127. package/esm2015/lib/shared/services/alert/alert.service.js +8 -28
  128. package/esm2015/lib/shared/services/request/request.options.builder.js +1 -7
  129. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +2213 -3335
  130. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  131. package/lib/app.config.d.ts.map +1 -1
  132. package/lib/components/banners/alert/alert.module.d.ts +1 -2
  133. package/lib/components/banners/alert/alert.module.d.ts.map +1 -1
  134. package/lib/components/footer/footers.module.d.ts +1 -2
  135. package/lib/components/footer/footers.module.d.ts.map +1 -1
  136. package/lib/components/form/form.module.d.ts +1 -2
  137. package/lib/components/form/form.module.d.ts.map +1 -1
  138. package/lib/components/header/headers.module.d.ts +1 -2
  139. package/lib/components/header/headers.module.d.ts.map +1 -1
  140. package/lib/components/tabs/tabs.component.d.ts.map +1 -1
  141. package/lib/components/tabs/tabs.module.d.ts +1 -2
  142. package/lib/components/tabs/tabs.module.d.ts.map +1 -1
  143. package/lib/shared/components/activity/activity.module.d.ts +1 -2
  144. package/lib/shared/components/activity/activity.module.d.ts.map +1 -1
  145. package/lib/shared/components/case-editor/case-editor.module.d.ts +2 -3
  146. package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
  147. package/lib/shared/components/case-editor/services/case-edit-wizard.guard.d.ts.map +1 -1
  148. package/lib/shared/components/case-history/case-history.module.d.ts +1 -2
  149. package/lib/shared/components/case-history/case-history.module.d.ts.map +1 -1
  150. package/lib/shared/components/case-list/case-list.module.d.ts +1 -2
  151. package/lib/shared/components/case-list/case-list.module.d.ts.map +1 -1
  152. package/lib/shared/components/case-list-filters/case-list-filters.module.d.ts +1 -2
  153. package/lib/shared/components/case-list-filters/case-list-filters.module.d.ts.map +1 -1
  154. package/lib/shared/components/case-timeline/case-timeline.module.d.ts +1 -2
  155. package/lib/shared/components/case-timeline/case-timeline.module.d.ts.map +1 -1
  156. package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
  157. package/lib/shared/components/case-viewer/case-viewer.module.d.ts +4 -6
  158. package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
  159. package/lib/shared/components/create-case-filters/create-case-filters.module.d.ts +1 -2
  160. package/lib/shared/components/create-case-filters/create-case-filters.module.d.ts.map +1 -1
  161. package/lib/shared/components/dialogs/dialogs.module.d.ts +1 -2
  162. package/lib/shared/components/dialogs/dialogs.module.d.ts.map +1 -1
  163. package/lib/shared/components/error/errors.module.d.ts +1 -2
  164. package/lib/shared/components/error/errors.module.d.ts.map +1 -1
  165. package/lib/shared/components/error-message/error-message.module.d.ts +1 -2
  166. package/lib/shared/components/error-message/error-message.module.d.ts.map +1 -1
  167. package/lib/shared/components/event-start/event-start.module.d.ts +1 -2
  168. package/lib/shared/components/event-start/event-start.module.d.ts.map +1 -1
  169. package/lib/shared/components/event-trigger/event-trigger.module.d.ts +1 -2
  170. package/lib/shared/components/event-trigger/event-trigger.module.d.ts.map +1 -1
  171. package/lib/shared/components/loading-spinner/loading-spinner.module.d.ts +1 -2
  172. package/lib/shared/components/loading-spinner/loading-spinner.module.d.ts.map +1 -1
  173. package/lib/shared/components/pagination/pagination.module.d.ts +1 -2
  174. package/lib/shared/components/pagination/pagination.module.d.ts.map +1 -1
  175. package/lib/shared/components/palette/base-field/field-read.component.d.ts +0 -1
  176. package/lib/shared/components/palette/base-field/field-read.component.d.ts.map +1 -1
  177. package/lib/shared/components/palette/base-field/field-write.component.d.ts.map +1 -1
  178. package/lib/shared/components/palette/case-flag/components/manage-case-flags/manage-case-flags.component.d.ts.map +1 -1
  179. package/lib/shared/components/palette/label/label-field.component.d.ts +1 -2
  180. package/lib/shared/components/palette/label/label-field.component.d.ts.map +1 -1
  181. package/lib/shared/components/palette/markdown/markdown.component.d.ts +3 -3
  182. package/lib/shared/components/palette/markdown/markdown.component.d.ts.map +1 -1
  183. package/lib/shared/components/palette/palette.module.d.ts +7 -8
  184. package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
  185. package/lib/shared/components/search-filters/search-filters.module.d.ts +1 -2
  186. package/lib/shared/components/search-filters/search-filters.module.d.ts.map +1 -1
  187. package/lib/shared/components/search-result/search-result.module.d.ts +2 -3
  188. package/lib/shared/components/search-result/search-result.module.d.ts.map +1 -1
  189. package/lib/shared/components/workbasket-filters/workbasket-filters.module.d.ts +1 -2
  190. package/lib/shared/components/workbasket-filters/workbasket-filters.module.d.ts.map +1 -1
  191. package/lib/shared/services/alert/alert.service.d.ts +4 -8
  192. package/lib/shared/services/alert/alert.service.d.ts.map +1 -1
  193. package/lib/shared/services/request/request.options.builder.d.ts.map +1 -1
  194. package/package.json +1 -1
  195. package/esm2015/lib/shared/domain/alert/alert-status-params.model.js +0 -2
  196. package/lib/shared/domain/alert/alert-status-params.model.d.ts +0 -6
  197. package/lib/shared/domain/alert/alert-status-params.model.d.ts.map +0 -1
@@ -116,7 +116,7 @@ export class ConditionalShowFormDirective {
116
116
  if (cf.hidden === true && !control.disabled) {
117
117
  control.disable({ emitEvent: false });
118
118
  }
119
- else if (cf.hidden !== true && control.disabled) {
119
+ else if (cf.hidden !== true) {
120
120
  control.enable({ emitEvent: false });
121
121
  }
122
122
  }
@@ -161,4 +161,4 @@ ConditionalShowFormDirective.ɵdir = i0.ɵɵdefineDirective({ type: ConditionalS
161
161
  }], formGroup: [{
162
162
  type: Input
163
163
  }] }); })();
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uYWwtc2hvdy1mb3JtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvZGlyZWN0aXZlcy9jb25kaXRpb25hbC1zaG93L2NvbmRpdGlvbmFsLXNob3ctZm9ybS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQTJDLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUdqSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFHaEU7Ozs7Ozs7R0FPRztBQUNILE1BQU0sT0FBTyw0QkFBNEI7SUFTdkMsWUFBNkIsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFOckMsa0JBQWEsR0FBZ0IsRUFBRSxDQUFDO1FBdUZoRCxnRkFBZ0Y7UUFDL0Qsc0JBQWlCLEdBQUcsQ0FBQyxXQUF3QixFQUFRLEVBQUU7WUFDdEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUE7UUFFZ0Isb0JBQWUsR0FBRyxDQUFDLFNBQW9CLEVBQVEsRUFBRTtZQUNoRSxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hDLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxX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cmVjdGl2ZSwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3BhbGV0dGUvYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC13cml0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3RGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3BhbGV0dGUvYmFzZS1maWVsZC9hYnN0cmFjdC1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi9kb21haW4vZGVmaW5pdGlvbi9jYXNlLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEZpZWxkc1V0aWxzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmllbGRzL2ZpZWxkcy51dGlscyc7XG5pbXBvcnQgeyBTaG93Q29uZGl0aW9uIH0gZnJvbSAnLi9kb21haW4vY29uZGl0aW9uYWwtc2hvdy5tb2RlbCc7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tjY2RDb25kaXRpb25hbFNob3dGb3JtXScgfSlcbi8qKiBIaWRlcyBhbmQgc2hvd3MgYWxsIGZpZWxkcyBpbiBhIGZvcm0uIFdvcmtzIG9uIHJlYWQgb25seSBmaWVsZHMgYW5kIGZvcm0gZmllbGRzLlxuICogIFRoZSBzaG93IGNvbmRpdGlvbiBpcyBldmFsdWF0ZWQgb24gYWxsIHRoZSBmaWVsZHMgb2YgdGhlIHBhZ2UuIGkuZS4gcmVhZCBvbmx5IGFuZCBmb3JtIGZpZWxkcy5cbiAqICBFdmFsdWF0aW9uIG9mIHRoZSBzaG93IGNvbmRpdGlvbiBpbmNsdWRlcyBkaXNhYmxlZCBmaWVsZHMsIHdoaWNoIGNhbiBiZSBvbiB0aGVpciBpbml0aWFsIHZhbHVlIG9yIGVtcHR5LiBFeGVjdXRlcyBvbiB0aGVcbiAqICBob3N0IGZpZWxkIGluaXRpYWxpemF0aW9uIGFuZCB3aGVuIGFueSBmaWVsZCBvZiB0aGUgZm9ybSBjaGFuZ2VzLlxuICogIENvbGxhYm9yYXRlcyB3aXRoIHRoZSBHcmV5QmFyU2VydmljZSB0byBzaG93IGEgdmVydGljYWwgZ3JleSBiYXIgd2hlbiBhIGZpZWxkIGluaXRpYWxseSBoaWRkZW4gb24gdGhlIHBhZ2UgaXMgc2hvd24uIFdoZW4gcmV0dXJuaW5nXG4gKiAgdG8gdGhlIHBhZ2UgYWZ0ZXIgdGhlIHBhZ2UgaGFzIGJlZW4gbGVmdCwgdGhlIGdyZXkgYmFyIGhhcyB0byBiZSByZWRpc3BsYXllZC4gSWYgaW5zdGVhZCBvbiBpbml0aWFsIHBhZ2UgbG9hZCB0aGUgZmllbGQgcmVuZGVycyBhc1xuICogIGluaXRpYWxseSBzaG93biwgdGhlIGdyZXkgYmFyIGlzIG5vdCBkaXNwbGF5ZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25kaXRpb25hbFNob3dGb3JtRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlRmllbGRzOiBDYXNlRmllbGRbXTtcbiAgQElucHV0KCkgcHVibGljIGNvbnRleHRGaWVsZHM6IENhc2VGaWVsZFtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBwcml2YXRlIGFsbEZpZWxkVmFsdWVzOiBhbnk7XG4gIHByaXZhdGUgZm9ybUNoYW5nZXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGZpZWxkc1V0aWxzOiBGaWVsZHNVdGlscykge1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5mb3JtR3JvdXApIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1vdmVkIHRoZSBldmFsdWF0aW9uIG9mIHNob3cvaGlkZSBjb25kaXRpb25zIGFuZCBzdWJzY3JpcHRpb25cbiAgICogdG8gZm9ybSBjaGFuZ2VzIHVudGlsIGFmdGVyIHRoZSBmb3JtIGhhcyBiZWVuIGZ1bGx5IGNyZWF0ZWQuXG4gICAqXG4gICAqIFByaW9yIHRvIHRoaXMgY2hhbmdlLCBJIHRyYWNlZCBtb3JlIHRoYW4gNSwxMDAsMDAwIGZpcmluZ3Mgb2ZcbiAgICogdGhlIGV2YWx1YXRlQ29uZGl0aW9uIElOU0lERSB0aGUgc2hvd19jb25kaXRpb24gY2hlY2sgb24gcGFnZVxuICAgKiBsb2FkIGZvciBhbiBldmVudCB3aXRoIGEgbG90IG9mIGNvbnRlbnQuIEFmdGVyIHRoaXMgY2hhbmdlLFxuICAgKiB0aGF0IG51bWJlciBkcm9wcGVkIHRvIGZld2VyIHRoYW4gMiw1MDAgLSB0aGF0J3MgYS5cbiAgICovXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5ldmFsQWxsU2hvd0hpZGVDb25kaXRpb25zKCk7XG4gICAgdGhpcy5zdWJzY3JpYmVUb0Zvcm1DaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy51bnN1YnNjcmliZUZyb21Gb3JtQ2hhbmdlcygpO1xuICB9XG5cbiAgLypcbiAgKiBEZWxheSB0aGUgZXhlY3V0aW9uIG9mIGV2YWxTaG93SGlkZUNvbmRpdGlvbnMgZm9yIDEwMG1zXG4gICogRXZhbHVhdGluZyBzaG93SGlkZUNvbmRpdGlvbnMgb24gaW5wdXQgaXMgaW5lZmZpY2llbnQgYXMgYWxsIGZvcm1zIGFyZSBldmFsdWF0ZWRcbiAgKiB3aGlsc3QgdGhlIHVzZXIgaXMgc3RpbGwgdHlwaW5nLiBXZSBhcmUgYmV0dGVyIG9mZiBhbGxvd2luZyB0aGUgdXNlciB0byBmaW5pc2ggdHlwaW5nXG4gICogdGhlbiBldmFsdWF0ZSB0aGUgc2hvdyBoaWRlIGNvbmRpdGlvbnMuXG4gICovXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9Gb3JtQ2hhbmdlcygpIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlRnJvbUZvcm1DaGFuZ2VzKCk7XG4gICAgdGhpcy5mb3JtQ2hhbmdlc1N1YnNjcmlwdGlvbiA9IHRoaXMuZm9ybUdyb3VwLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgxMDApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgdGhpcy5ldmFsQWxsU2hvd0hpZGVDb25kaXRpb25zKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGV2YWx1YXRlQ29udHJvbChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBjb25zdCBjZiA9IGNvbnRyb2xbJ2Nhc2VGaWVsZCddIGFzIENhc2VGaWVsZDtcbiAgICBjb25zdCBjb21wb25lbnQgPSBjb250cm9sWydjb21wb25lbnQnXSBhcyBBYnN0cmFjdEZvcm1GaWVsZENvbXBvbmVudDtcbiAgICB0aGlzLmV2YWx1YXRlQ29uZGl0aW9uKGNmLCBjb21wb25lbnQsIGNvbnRyb2wpO1xuICB9XG5cbiAgcHJpdmF0ZSBldmFsdWF0ZUNvbmRpdGlvbihjZjogQ2FzZUZpZWxkLCBjb21wb25lbnQ6IEFic3RyYWN0Rm9ybUZpZWxkQ29tcG9uZW50LCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBpZiAoY2YpIHtcbiAgICAgIGlmIChjZi5kaXNwbGF5X2NvbnRleHQgPT09ICdISURERU4nKSB7XG4gICAgICAgIGNmLmhpZGRlbiA9IHRydWU7IC8vIGRpc3BsYXlfY29udGV4dCA9PT0gJ0hJRERFTicgbWVhbnMgYWx3YXlzIGhpZGVcbiAgICAgIH0gZWxzZSBpZiAoY2Yuc2hvd19jb25kaXRpb24pIHtcbiAgICAgICAgY29uc3Qgc2hvd0NvbmRpdGlvbjogU2hvd0NvbmRpdGlvbiA9IFNob3dDb25kaXRpb24uZ2V0SW5zdGFuY2UoY2Yuc2hvd19jb25kaXRpb24pO1xuICAgICAgICBjb25zdCBjb25kUmVzdWx0ID0gc2hvd0NvbmRpdGlvbi5tYXRjaCh0aGlzLmFsbEZpZWxkVmFsdWVzLCB0aGlzLmJ1aWxkUGF0aChjb21wb25lbnQsIGNmKSk7XG4gICAgICAgIGlmIChjZi5oaWRkZW4gPT09IG51bGwgfHwgY2YuaGlkZGVuID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBjZi5oaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZFJlc3VsdCA9PT0gY2YuaGlkZGVuKSB7XG4gICAgICAgICAgY2YuaGlkZGVuID0gIWNvbmRSZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgLy8gRVVJLTMyNjcuIElmIHRoaXMgZmllbGQgaXMgc2hvd2luZywgc2V0IHRoZSBoaWRkZW5DYW5ub3RDaGFuZ2UgZmxhZy5cbiAgICAgICAgLy8gVGhpcyBpcyB1c2VkIGluIHRoZSBkaXNwbGF5IG9mIHRoZSBncmV5IGJhci5cbiAgICAgICAgaWYgKCFjZi5oaWRkZW4pIHtcbiAgICAgICAgICBjZi5oaWRkZW5DYW5ub3RDaGFuZ2UgPSBzaG93Q29uZGl0aW9uLmhpZGRlbkNhbm5vdENoYW5nZSh0aGlzLmNhc2VGaWVsZHMpO1xuICAgICAgICB9XG4gICAgICAgIC8vIERpc2FibGUgdGhlIGNvbnRyb2wgaWYgaXQncyBoaWRkZW4gc28gdGhhdCBpdCBkb2Vzbid0IGNvdW50IHRvd2FyZHMgdGhlXG4gICAgICAgIC8vIHZhbGlkYXRpb24gc3RhdGUgb2YgdGhlIGZvcm0sIGJ1dCBvbmx5IGlmIGl0J3MgYWN0dWFsbHkgYmVpbmcgdmFsaWRhdGVkLlxuICAgICAgICBpZiAoY29udHJvbC52YWxpZGF0b3IpIHtcbiAgICAgICAgICBpZiAoY2YuaGlkZGVuID09PSB0cnVlICYmICFjb250cm9sLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBjb250cm9sLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAoY2YuaGlkZGVuICE9PSB0cnVlICYmIGNvbnRyb2wuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGNvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBtYWtlIHN1cmUgZm9yIHRoZSAzIGNhbGxiYWNrcyB0aGF0IHdlIGFyZSBib3VuZCB0byB0aGlzIHZpYSBhbiBhcnJvdyBmdW5jdGlvblxuICBwcml2YXRlIHJlYWRvbmx5IGhhbmRsZUZvcm1Db250cm9sID0gKGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuZXZhbHVhdGVDb250cm9sKGZvcm1Db250cm9sKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlRm9ybUFycmF5ID0gKGZvcm1BcnJheTogRm9ybUFycmF5KTogdm9pZCA9PiB7XG4gICAgdGhpcy5ldmFsdWF0ZUNvbnRyb2woZm9ybUFycmF5KTtcbiAgICBmb3JtQXJyYXkuY29udHJvbHMuZm9yRWFjaChmb3JtQ29udHJvbCA9PiB7XG4gICAgICB0aGlzLmZpZWxkc1V0aWxzLmNvbnRyb2xJdGVyYXRvcihmb3JtQ29udHJvbCwgdGhpcy5oYW5kbGVGb3JtQXJyYXksIHRoaXMuaGFuZGxlRm9ybUdyb3VwLCB0aGlzLmhhbmRsZUZvcm1Db250cm9sKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlRm9ybUdyb3VwID0gKGZvcm1Hcm91cDogRm9ybUdyb3VwKTogdm9pZCA9PiB7XG4gICAgdGhpcy5ldmFsdWF0ZUNvbnRyb2woZm9ybUdyb3VwKTtcbiAgICBsZXQgZ3JvdXBDb250cm9sID0gZm9ybUdyb3VwO1xuICAgIGlmIChmb3JtR3JvdXAuZ2V0KCd2YWx1ZScpICYmIGZvcm1Hcm91cC5nZXQoJ3ZhbHVlJykgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHsgLy8gQ29tcGxleCBGaWVsZFxuICAgICAgZ3JvdXBDb250cm9sID0gZm9ybUdyb3VwLmdldCgndmFsdWUnKSBhcyBGb3JtR3JvdXA7XG4gICAgfSBlbHNlIGlmIChmb3JtR3JvdXAuY29udHJvbHMpIHtcbiAgICAgIC8vIFNwZWNpYWwgRmllbGRzIGxpa2UgQWRkcmVzc1VLLCBBZGRyZXNzR2xvYmFsXG4gICAgICBncm91cENvbnRyb2wgPSBmb3JtR3JvdXA7XG4gICAgfVxuICAgIGlmIChncm91cENvbnRyb2wuY29udHJvbHMpIHtcbiAgICAgIE9iamVjdC5rZXlzKGdyb3VwQ29udHJvbC5jb250cm9scykuZm9yRWFjaChjS2V5ID0+IHtcbiAgICAgICAgLy8gRVVJLTMzNTkuXG4gICAgICAgIC8vIEdldCB0aGUgY29udHJvbCBmcm9tIGdyb3VwQ29udHJvbC5jb250cm9sc1tjS2V5XSByYXRoZXIgdGhhblxuICAgICAgICAvLyBncm91cENvbnRyb2wuZ2V0KGNLZXkpIGFzIHRoZSBsYXR0ZXIgZG9lcyBwYXRoaW5nIGFuZCB3aWxsIGludGVycHJldFxuICAgICAgICAvLyBmdWxsIHN0b3BzIGluIGNLZXkgYXMgZGVsaW1ldGVycyBmb3IgYmVpbmcgbmVzdGVkIHdpdGhpbiBhbiBhcnJheSxcbiAgICAgICAgLy8gd2hpY2ggbWFrZXMgbm8gc2Vuc2UgaW4gdGhpcyBzaXR1YXRpb24uXG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSBncm91cENvbnRyb2wuY29udHJvbHNbY0tleV07XG4gICAgICAgIHRoaXMuZmllbGRzVXRpbHMuY29udHJvbEl0ZXJhdG9yKGNvbnRyb2wsIHRoaXMuaGFuZGxlRm9ybUFycmF5LCB0aGlzLmhhbmRsZUZvcm1Hcm91cCwgdGhpcy5oYW5kbGVGb3JtQ29udHJvbCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGV2YWxBbGxTaG93SGlkZUNvbmRpdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5nZXRDdXJyZW50UGFnZXNSZWFkT25seUFuZEZvcm1GaWVsZFZhbHVlcygpO1xuICAgIHRoaXMuZmllbGRzVXRpbHMuY29udHJvbEl0ZXJhdG9yKHRoaXMuZm9ybUdyb3VwLCB0aGlzLmhhbmRsZUZvcm1BcnJheSwgdGhpcy5oYW5kbGVGb3JtR3JvdXAsIHRoaXMuaGFuZGxlRm9ybUNvbnRyb2wpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFBhdGgoYzogQWJzdHJhY3RGb3JtRmllbGRDb21wb25lbnQsIGZpZWxkOiBDYXNlRmllbGQpOiBzdHJpbmcge1xuICAgIGlmIChjICYmIGMgaW5zdGFuY2VvZiBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQpIHtcbiAgICAgIGlmIChjLmlkUHJlZml4KSB7XG4gICAgICAgIHJldHVybiBjLmlkUHJlZml4ICsgZmllbGQuaWQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmaWVsZC5pZDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q3VycmVudFBhZ2VzUmVhZE9ubHlBbmRGb3JtRmllbGRWYWx1ZXMoKTogYW55IHtcbiAgICBjb25zdCBmb3JtRmllbGRzID0gdGhpcy5nZXRGb3JtRmllbGRzVmFsdWVzSW5jbHVkaW5nRGlzYWJsZWQoKTtcbiAgICB0aGlzLmFsbEZpZWxkVmFsdWVzID0gdGhpcy5maWVsZHNVdGlscy5tZXJnZUNhc2VGaWVsZHNBbmRGb3JtRmllbGRzKHRoaXMuY29udGV4dEZpZWxkcywgZm9ybUZpZWxkcyk7XG4gICAgcmV0dXJuIHRoaXMuYWxsRmllbGRWYWx1ZXM7XG4gIH1cblxuICBwcml2YXRlIGdldEZvcm1GaWVsZHNWYWx1ZXNJbmNsdWRpbmdEaXNhYmxlZCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1bnN1YnNjcmliZUZyb21Gb3JtQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtQ2hhbmdlc1N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5mb3JtQ2hhbmdlc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9uYWwtc2hvdy1mb3JtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvZGlyZWN0aXZlcy9jb25kaXRpb25hbC1zaG93L2NvbmRpdGlvbmFsLXNob3ctZm9ybS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQTJDLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUdqSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFHaEU7Ozs7Ozs7R0FPRztBQUNILE1BQU0sT0FBTyw0QkFBNEI7SUFTdkMsWUFBNkIsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFOckMsa0JBQWEsR0FBZ0IsRUFBRSxDQUFDO1FBdUZoRCxnRkFBZ0Y7UUFDL0Qsc0JBQWlCLEdBQUcsQ0FBQyxXQUF3QixFQUFRLEVBQUU7WUFDdEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUE7UUFFZ0Isb0JBQWUsR0FBRyxDQUFDLFNBQW9CLEVBQVEsRUFBRTtZQUNoRSxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hDLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxX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c3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9wYWxldHRlL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtd3JpdGUuY29tcG9uZW50JztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9wYWxldHRlL2Jhc2UtZmllbGQvYWJzdHJhY3QtZm9ybS1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBGaWVsZHNVdGlscyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpZWxkcy9maWVsZHMudXRpbHMnO1xuaW1wb3J0IHsgU2hvd0NvbmRpdGlvbiB9IGZyb20gJy4vZG9tYWluL2NvbmRpdGlvbmFsLXNob3cubW9kZWwnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbY2NkQ29uZGl0aW9uYWxTaG93Rm9ybV0nIH0pXG4vKiogSGlkZXMgYW5kIHNob3dzIGFsbCBmaWVsZHMgaW4gYSBmb3JtLiBXb3JrcyBvbiByZWFkIG9ubHkgZmllbGRzIGFuZCBmb3JtIGZpZWxkcy5cbiAqICBUaGUgc2hvdyBjb25kaXRpb24gaXMgZXZhbHVhdGVkIG9uIGFsbCB0aGUgZmllbGRzIG9mIHRoZSBwYWdlLiBpLmUuIHJlYWQgb25seSBhbmQgZm9ybSBmaWVsZHMuXG4gKiAgRXZhbHVhdGlvbiBvZiB0aGUgc2hvdyBjb25kaXRpb24gaW5jbHVkZXMgZGlzYWJsZWQgZmllbGRzLCB3aGljaCBjYW4gYmUgb24gdGhlaXIgaW5pdGlhbCB2YWx1ZSBvciBlbXB0eS4gRXhlY3V0ZXMgb24gdGhlXG4gKiAgaG9zdCBmaWVsZCBpbml0aWFsaXphdGlvbiBhbmQgd2hlbiBhbnkgZmllbGQgb2YgdGhlIGZvcm0gY2hhbmdlcy5cbiAqICBDb2xsYWJvcmF0ZXMgd2l0aCB0aGUgR3JleUJhclNlcnZpY2UgdG8gc2hvdyBhIHZlcnRpY2FsIGdyZXkgYmFyIHdoZW4gYSBmaWVsZCBpbml0aWFsbHkgaGlkZGVuIG9uIHRoZSBwYWdlIGlzIHNob3duLiBXaGVuIHJldHVybmluZ1xuICogIHRvIHRoZSBwYWdlIGFmdGVyIHRoZSBwYWdlIGhhcyBiZWVuIGxlZnQsIHRoZSBncmV5IGJhciBoYXMgdG8gYmUgcmVkaXNwbGF5ZWQuIElmIGluc3RlYWQgb24gaW5pdGlhbCBwYWdlIGxvYWQgdGhlIGZpZWxkIHJlbmRlcnMgYXNcbiAqICBpbml0aWFsbHkgc2hvd24sIHRoZSBncmV5IGJhciBpcyBub3QgZGlzcGxheWVkLlxuICovXG5leHBvcnQgY2xhc3MgQ29uZGl0aW9uYWxTaG93Rm9ybURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBwdWJsaWMgY2FzZUZpZWxkczogQ2FzZUZpZWxkW107XG4gIEBJbnB1dCgpIHB1YmxpYyBjb250ZXh0RmllbGRzOiBDYXNlRmllbGRbXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgcHJpdmF0ZSBhbGxGaWVsZFZhbHVlczogYW55O1xuICBwcml2YXRlIGZvcm1DaGFuZ2VzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmaWVsZHNVdGlsczogRmllbGRzVXRpbHMpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlZCB0aGUgZXZhbHVhdGlvbiBvZiBzaG93L2hpZGUgY29uZGl0aW9ucyBhbmQgc3Vic2NyaXB0aW9uXG4gICAqIHRvIGZvcm0gY2hhbmdlcyB1bnRpbCBhZnRlciB0aGUgZm9ybSBoYXMgYmVlbiBmdWxseSBjcmVhdGVkLlxuICAgKlxuICAgKiBQcmlvciB0byB0aGlzIGNoYW5nZSwgSSB0cmFjZWQgbW9yZSB0aGFuIDUsMTAwLDAwMCBmaXJpbmdzIG9mXG4gICAqIHRoZSBldmFsdWF0ZUNvbmRpdGlvbiBJTlNJREUgdGhlIHNob3dfY29uZGl0aW9uIGNoZWNrIG9uIHBhZ2VcbiAgICogbG9hZCBmb3IgYW4gZXZlbnQgd2l0aCBhIGxvdCBvZiBjb250ZW50LiBBZnRlciB0aGlzIGNoYW5nZSxcbiAgICogdGhhdCBudW1iZXIgZHJvcHBlZCB0byBmZXdlciB0aGFuIDIsNTAwIC0gdGhhdCdzIGEuXG4gICAqL1xuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuZXZhbEFsbFNob3dIaWRlQ29uZGl0aW9ucygpO1xuICAgIHRoaXMuc3Vic2NyaWJlVG9Gb3JtQ2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudW5zdWJzY3JpYmVGcm9tRm9ybUNoYW5nZXMoKTtcbiAgfVxuXG4gIC8qXG4gICogRGVsYXkgdGhlIGV4ZWN1dGlvbiBvZiBldmFsU2hvd0hpZGVDb25kaXRpb25zIGZvciAxMDBtc1xuICAqIEV2YWx1YXRpbmcgc2hvd0hpZGVDb25kaXRpb25zIG9uIGlucHV0IGlzIGluZWZmaWNpZW50IGFzIGFsbCBmb3JtcyBhcmUgZXZhbHVhdGVkXG4gICogd2hpbHN0IHRoZSB1c2VyIGlzIHN0aWxsIHR5cGluZy4gV2UgYXJlIGJldHRlciBvZmYgYWxsb3dpbmcgdGhlIHVzZXIgdG8gZmluaXNoIHR5cGluZ1xuICAqIHRoZW4gZXZhbHVhdGUgdGhlIHNob3cgaGlkZSBjb25kaXRpb25zLlxuICAqL1xuICBwcml2YXRlIHN1YnNjcmliZVRvRm9ybUNoYW5nZXMoKSB7XG4gICAgdGhpcy51bnN1YnNjcmliZUZyb21Gb3JtQ2hhbmdlcygpO1xuICAgIHRoaXMuZm9ybUNoYW5nZXNTdWJzY3JpcHRpb24gPSB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUoMTAwKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShfID0+IHtcbiAgICAgIHRoaXMuZXZhbEFsbFNob3dIaWRlQ29uZGl0aW9ucygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBldmFsdWF0ZUNvbnRyb2woY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgY29uc3QgY2YgPSBjb250cm9sWydjYXNlRmllbGQnXSBhcyBDYXNlRmllbGQ7XG4gICAgY29uc3QgY29tcG9uZW50ID0gY29udHJvbFsnY29tcG9uZW50J10gYXMgQWJzdHJhY3RGb3JtRmllbGRDb21wb25lbnQ7XG4gICAgdGhpcy5ldmFsdWF0ZUNvbmRpdGlvbihjZiwgY29tcG9uZW50LCBjb250cm9sKTtcbiAgfVxuXG4gIHByaXZhdGUgZXZhbHVhdGVDb25kaXRpb24oY2Y6IENhc2VGaWVsZCwgY29tcG9uZW50OiBBYnN0cmFjdEZvcm1GaWVsZENvbXBvbmVudCwgY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgaWYgKGNmKSB7XG4gICAgICBpZiAoY2YuZGlzcGxheV9jb250ZXh0ID09PSAnSElEREVOJykge1xuICAgICAgICBjZi5oaWRkZW4gPSB0cnVlOyAvLyBkaXNwbGF5X2NvbnRleHQgPT09ICdISURERU4nIG1lYW5zIGFsd2F5cyBoaWRlXG4gICAgICB9IGVsc2UgaWYgKGNmLnNob3dfY29uZGl0aW9uKSB7XG4gICAgICAgIGNvbnN0IHNob3dDb25kaXRpb246IFNob3dDb25kaXRpb24gPSBTaG93Q29uZGl0aW9uLmdldEluc3RhbmNlKGNmLnNob3dfY29uZGl0aW9uKTtcbiAgICAgICAgY29uc3QgY29uZFJlc3VsdCA9IHNob3dDb25kaXRpb24ubWF0Y2godGhpcy5hbGxGaWVsZFZhbHVlcywgdGhpcy5idWlsZFBhdGgoY29tcG9uZW50LCBjZikpO1xuICAgICAgICBpZiAoY2YuaGlkZGVuID09PSBudWxsIHx8IGNmLmhpZGRlbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgY2YuaGlkZGVuID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmRSZXN1bHQgPT09IGNmLmhpZGRlbikge1xuICAgICAgICAgIGNmLmhpZGRlbiA9ICFjb25kUmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIC8vIEVVSS0zMjY3LiBJZiB0aGlzIGZpZWxkIGlzIHNob3dpbmcsIHNldCB0aGUgaGlkZGVuQ2Fubm90Q2hhbmdlIGZsYWcuXG4gICAgICAgIC8vIFRoaXMgaXMgdXNlZCBpbiB0aGUgZGlzcGxheSBvZiB0aGUgZ3JleSBiYXIuXG4gICAgICAgIGlmICghY2YuaGlkZGVuKSB7XG4gICAgICAgICAgY2YuaGlkZGVuQ2Fubm90Q2hhbmdlID0gc2hvd0NvbmRpdGlvbi5oaWRkZW5DYW5ub3RDaGFuZ2UodGhpcy5jYXNlRmllbGRzKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBEaXNhYmxlIHRoZSBjb250cm9sIGlmIGl0J3MgaGlkZGVuIHNvIHRoYXQgaXQgZG9lc24ndCBjb3VudCB0b3dhcmRzIHRoZVxuICAgICAgICAvLyB2YWxpZGF0aW9uIHN0YXRlIG9mIHRoZSBmb3JtLCBidXQgb25seSBpZiBpdCdzIGFjdHVhbGx5IGJlaW5nIHZhbGlkYXRlZC5cbiAgICAgICAgaWYgKGNvbnRyb2wudmFsaWRhdG9yKSB7XG4gICAgICAgICAgaWYgKGNmLmhpZGRlbiA9PT0gdHJ1ZSAmJiAhY29udHJvbC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgY29udHJvbC5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGNmLmhpZGRlbiAhPT0gdHJ1ZSkge1xuICAgICAgICAgICAgY29udHJvbC5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIG1ha2Ugc3VyZSBmb3IgdGhlIDMgY2FsbGJhY2tzIHRoYXQgd2UgYXJlIGJvdW5kIHRvIHRoaXMgdmlhIGFuIGFycm93IGZ1bmN0aW9uXG4gIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlRm9ybUNvbnRyb2wgPSAoZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sKTogdm9pZCA9PiB7XG4gICAgdGhpcy5ldmFsdWF0ZUNvbnRyb2woZm9ybUNvbnRyb2wpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBoYW5kbGVGb3JtQXJyYXkgPSAoZm9ybUFycmF5OiBGb3JtQXJyYXkpOiB2b2lkID0+IHtcbiAgICB0aGlzLmV2YWx1YXRlQ29udHJvbChmb3JtQXJyYXkpO1xuICAgIGZvcm1BcnJheS5jb250cm9scy5mb3JFYWNoKGZvcm1Db250cm9sID0+IHtcbiAgICAgIHRoaXMuZmllbGRzVXRpbHMuY29udHJvbEl0ZXJhdG9yKGZvcm1Db250cm9sLCB0aGlzLmhhbmRsZUZvcm1BcnJheSwgdGhpcy5oYW5kbGVGb3JtR3JvdXAsIHRoaXMuaGFuZGxlRm9ybUNvbnRyb2wpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBoYW5kbGVGb3JtR3JvdXAgPSAoZm9ybUdyb3VwOiBGb3JtR3JvdXApOiB2b2lkID0+IHtcbiAgICB0aGlzLmV2YWx1YXRlQ29udHJvbChmb3JtR3JvdXApO1xuICAgIGxldCBncm91cENvbnRyb2wgPSBmb3JtR3JvdXA7XG4gICAgaWYgKGZvcm1Hcm91cC5nZXQoJ3ZhbHVlJykgJiYgZm9ybUdyb3VwLmdldCgndmFsdWUnKSBpbnN0YW5jZW9mIEZvcm1Hcm91cCkgeyAvLyBDb21wbGV4IEZpZWxkXG4gICAgICBncm91cENvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KCd2YWx1ZScpIGFzIEZvcm1Hcm91cDtcbiAgICB9IGVsc2UgaWYgKGZvcm1Hcm91cC5jb250cm9scykge1xuICAgICAgLy8gU3BlY2lhbCBGaWVsZHMgbGlrZSBBZGRyZXNzVUssIEFkZHJlc3NHbG9iYWxcbiAgICAgIGdyb3VwQ29udHJvbCA9IGZvcm1Hcm91cDtcbiAgICB9XG4gICAgaWYgKGdyb3VwQ29udHJvbC5jb250cm9scykge1xuICAgICAgT2JqZWN0LmtleXMoZ3JvdXBDb250cm9sLmNvbnRyb2xzKS5mb3JFYWNoKGNLZXkgPT4ge1xuICAgICAgICAvLyBFVUktMzM1OS5cbiAgICAgICAgLy8gR2V0IHRoZSBjb250cm9sIGZyb20gZ3JvdXBDb250cm9sLmNvbnRyb2xzW2NLZXldIHJhdGhlciB0aGFuXG4gICAgICAgIC8vIGdyb3VwQ29udHJvbC5nZXQoY0tleSkgYXMgdGhlIGxhdHRlciBkb2VzIHBhdGhpbmcgYW5kIHdpbGwgaW50ZXJwcmV0XG4gICAgICAgIC8vIGZ1bGwgc3RvcHMgaW4gY0tleSBhcyBkZWxpbWV0ZXJzIGZvciBiZWluZyBuZXN0ZWQgd2l0aGluIGFuIGFycmF5LFxuICAgICAgICAvLyB3aGljaCBtYWtlcyBubyBzZW5zZSBpbiB0aGlzIHNpdHVhdGlvbi5cbiAgICAgICAgY29uc3QgY29udHJvbCA9IGdyb3VwQ29udHJvbC5jb250cm9sc1tjS2V5XTtcbiAgICAgICAgdGhpcy5maWVsZHNVdGlscy5jb250cm9sSXRlcmF0b3IoY29udHJvbCwgdGhpcy5oYW5kbGVGb3JtQXJyYXksIHRoaXMuaGFuZGxlRm9ybUdyb3VwLCB0aGlzLmhhbmRsZUZvcm1Db250cm9sKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZXZhbEFsbFNob3dIaWRlQ29uZGl0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmdldEN1cnJlbnRQYWdlc1JlYWRPbmx5QW5kRm9ybUZpZWxkVmFsdWVzKCk7XG4gICAgdGhpcy5maWVsZHNVdGlscy5jb250cm9sSXRlcmF0b3IodGhpcy5mb3JtR3JvdXAsIHRoaXMuaGFuZGxlRm9ybUFycmF5LCB0aGlzLmhhbmRsZUZvcm1Hcm91cCwgdGhpcy5oYW5kbGVGb3JtQ29udHJvbCk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUGF0aChjOiBBYnN0cmFjdEZvcm1GaWVsZENvbXBvbmVudCwgZmllbGQ6IENhc2VGaWVsZCk6IHN0cmluZyB7XG4gICAgaWYgKGMgJiYgYyBpbnN0YW5jZW9mIEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCkge1xuICAgICAgaWYgKGMuaWRQcmVmaXgpIHtcbiAgICAgICAgcmV0dXJuIGMuaWRQcmVmaXggKyBmaWVsZC5pZDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZpZWxkLmlkO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50UGFnZXNSZWFkT25seUFuZEZvcm1GaWVsZFZhbHVlcygpOiBhbnkge1xuICAgIGNvbnN0IGZvcm1GaWVsZHMgPSB0aGlzLmdldEZvcm1GaWVsZHNWYWx1ZXNJbmNsdWRpbmdEaXNhYmxlZCgpO1xuICAgIHRoaXMuYWxsRmllbGRWYWx1ZXMgPSB0aGlzLmZpZWxkc1V0aWxzLm1lcmdlQ2FzZUZpZWxkc0FuZEZvcm1GaWVsZHModGhpcy5jb250ZXh0RmllbGRzLCBmb3JtRmllbGRzKTtcbiAgICByZXR1cm4gdGhpcy5hbGxGaWVsZFZhbHVlcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rm9ybUZpZWxkc1ZhbHVlc0luY2x1ZGluZ0Rpc2FibGVkKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldFJhd1ZhbHVlKCk7XG4gIH1cblxuICBwcml2YXRlIHVuc3Vic2NyaWJlRnJvbUZvcm1DaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm1DaGFuZ2VzU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmZvcm1DaGFuZ2VzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,15 +1,12 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { NavigationStart, Router } from '@angular/router';
3
- import { RpxTranslationService } from 'rpx-xui-translation';
4
3
  import { Observable } from 'rxjs';
5
4
  import { publish, refCount } from 'rxjs/operators';
6
5
  import * as i0 from "@angular/core";
7
6
  import * as i1 from "@angular/router";
8
- import * as i2 from "rpx-xui-translation";
9
7
  export class AlertService {
10
- constructor(router, rpxTranslationService) {
8
+ constructor(router) {
11
9
  this.router = router;
12
- this.rpxTranslationService = rpxTranslationService;
13
10
  // the preserved messages
14
11
  this.preservedError = '';
15
12
  this.preservedWarning = '';
@@ -52,45 +49,28 @@ export class AlertService {
52
49
  this.alertObserver.next(null);
53
50
  this.message = '';
54
51
  }
55
- error({ phrase, replacements }) {
56
- const message = this.getTranslationWithReplacements(phrase, replacements);
52
+ error(message) {
57
53
  this.preservedError = this.preserveMessages(message);
58
54
  const alert = { level: 'error', message };
59
55
  this.errorObserver.next(alert);
60
56
  // EUI-3381.
61
57
  this.push(alert);
62
58
  }
63
- warning({ phrase, replacements }) {
64
- const message = this.getTranslationWithReplacements(phrase, replacements);
59
+ warning(message) {
65
60
  this.preservedWarning = this.preserveMessages(message);
66
61
  const alert = { level: 'warning', message };
67
62
  this.warningObserver.next(alert);
68
63
  // EUI-3381.
69
64
  this.push(alert);
70
65
  }
71
- success({ preserve, phrase, replacements }) {
72
- const message = this.getTranslationWithReplacements(phrase, replacements);
66
+ success(message, preserve = false) {
67
+ this.preservedSuccess = this.preserveMessages(message);
73
68
  this.preserveAlerts = preserve || this.preserveAlerts;
74
69
  const alert = { level: 'success', message };
75
- this.preservedSuccess = this.preserveMessages(message);
76
70
  this.successObserver.next(alert);
77
71
  // EUI-3381.
78
72
  this.push(alert);
79
73
  }
80
- getTranslationWithReplacements(phrase, replacements) {
81
- let message;
82
- if (replacements) {
83
- this.rpxTranslationService.getTranslationWithReplacements(phrase, replacements).subscribe(translation => {
84
- message = translation;
85
- });
86
- }
87
- else {
88
- this.rpxTranslationService.getTranslation(phrase).subscribe(translation => {
89
- message = translation;
90
- });
91
- }
92
- return message;
93
- }
94
74
  setPreserveAlerts(preserve, urlInfo) {
95
75
  // if there is no url setting then just preserve the messages
96
76
  if (!urlInfo) {
@@ -134,9 +114,9 @@ export class AlertService {
134
114
  });
135
115
  }
136
116
  }
137
- AlertService.ɵfac = function AlertService_Factory(t) { return new (t || AlertService)(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.RpxTranslationService)); };
117
+ AlertService.ɵfac = function AlertService_Factory(t) { return new (t || AlertService)(i0.ɵɵinject(i1.Router)); };
138
118
  AlertService.ɵprov = i0.ɵɵdefineInjectable({ token: AlertService, factory: AlertService.ɵfac });
139
119
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AlertService, [{
140
120
  type: Injectable
141
- }], function () { return [{ type: i1.Router }, { type: i2.RpxTranslationService }]; }, null); })();
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvYWxlcnQvYWxlcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUF5QixVQUFVLEVBQVksTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU1uRCxNQUFNLE9BQU8sWUFBWTtJQXdCdkIsWUFBNkIsTUFBYyxFQUFtQixxQkFBNEM7UUFBN0UsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFtQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBdkIxRyx5QkFBeUI7UUFDbEIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQWtCckIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFJN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVO2FBQ3hCLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUN2RCxPQUFPLEVBQUUsRUFDVCxRQUFRLEVBQUUsQ0FDWCxDQUFDO1FBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVU7YUFDckIsTUFBTSxDQUFDLFFBQVEs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WixZQUFZO3VGQUFaLFlBQVk7Y0FEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFJweFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ3JweC14dWktdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQ29ubmVjdGFibGVPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgcHVibGlzaCwgcmVmQ291bnQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBbGVydExldmVsIH0gZnJvbSAnLi4vLi4vZG9tYWluL2FsZXJ0L2FsZXJ0LWxldmVsLm1vZGVsJztcbmltcG9ydCB7IEFsZXJ0U3RhdHVzUGFyYW1zIH0gZnJvbSAnLi4vLi4vZG9tYWluL2FsZXJ0L2FsZXJ0LXN0YXR1cy1wYXJhbXMubW9kZWwnO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICcuLi8uLi9kb21haW4vYWxlcnQvYWxlcnQubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWxlcnRTZXJ2aWNlIHtcbiAgLy8gdGhlIHByZXNlcnZlZCBtZXNzYWdlc1xuICBwdWJsaWMgcHJlc2VydmVkRXJyb3IgPSAnJztcbiAgcHVibGljIHByZXNlcnZlZFdhcm5pbmcgPSAnJztcbiAgcHVibGljIHByZXNlcnZlZFN1Y2Nlc3MgPSAnJztcblxuICAvLyBUT0RPOiBSZW1vdmVcbiAgcHVibGljIG1lc3NhZ2U6IHN0cmluZztcbiAgcHVibGljIGxldmVsOiBBbGVydExldmVsO1xuXG4gIHB1YmxpYyBzdWNjZXNzZXM6IENvbm5lY3RhYmxlT2JzZXJ2YWJsZTxBbGVydD47XG4gIHB1YmxpYyBlcnJvcnM6IENvbm5lY3RhYmxlT2JzZXJ2YWJsZTxBbGVydD47XG4gIHB1YmxpYyB3YXJuaW5nczogQ29ubmVjdGFibGVPYnNlcnZhYmxlPEFsZXJ0PjtcbiAgLy8gVE9ETzogUmVtb3ZlXG4gIHB1YmxpYyBhbGVydHM6IENvbm5lY3RhYmxlT2JzZXJ2YWJsZTxBbGVydD47XG5cbiAgcHJpdmF0ZSBzdWNjZXNzT2JzZXJ2ZXI6IE9ic2VydmVyPEFsZXJ0PjtcbiAgcHJpdmF0ZSBlcnJvck9ic2VydmVyOiBPYnNlcnZlcjxBbGVydD47XG4gIHByaXZhdGUgd2FybmluZ09ic2VydmVyOiBPYnNlcnZlcjxBbGVydD47XG4gIC8vIFRPRE86IFJlbW92ZVxuICBwcml2YXRlIGFsZXJ0T2JzZXJ2ZXI6IE9ic2VydmVyPEFsZXJ0PjtcblxuICBwcml2YXRlIHByZXNlcnZlQWxlcnRzID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSByZWFkb25seSBycHhUcmFuc2xhdGlvblNlcnZpY2U6IFJweFRyYW5zbGF0aW9uU2VydmljZSkge1xuXG4gICAgdGhpcy5zdWNjZXNzZXMgPSBPYnNlcnZhYmxlXG4gICAgICAuY3JlYXRlKG9ic2VydmVyID0+IHRoaXMuc3VjY2Vzc09ic2VydmVyID0gb2JzZXJ2ZXIpLnBpcGUoXG4gICAgICAgIHB1Ymxpc2goKSxcbiAgICAgICAgcmVmQ291bnQoKVxuICAgICAgKTtcbiAgICB0aGlzLnN1Y2Nlc3Nlcy5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuZXJyb3JzID0gT2JzZXJ2YWJsZVxuICAgICAgLmNyZWF0ZShvYnNlcnZlciA9PiB0aGlzLmVycm9yT2JzZXJ2ZXIgPSBvYnNlcnZlcikucGlwZShcbiAgICAgICAgcHVibGlzaCgpLFxuICAgICAgICByZWZDb3VudCgpXG4gICAgICApO1xuICAgIHRoaXMuZXJyb3JzLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy53YXJuaW5ncyA9IE9ic2VydmFibGVcbiAgICAgIC5jcmVhdGUob2JzZXJ2ZXIgPT4gdGhpcy53YXJuaW5nT2JzZXJ2ZXIgPSBvYnNlcnZlcikucGlwZShcbiAgICAgICAgcHVibGlzaCgpLFxuICAgICAgICByZWZDb3VudCgpXG4gICAgICApO1xuICAgIHRoaXMud2FybmluZ3Muc3Vic2NyaWJlKCk7XG5cbiAgICAvLyBUT0RPOiBSZW1vdmVcbiAgICB0aGlzLmFsZXJ0cyA9IE9ic2VydmFibGVcbiAgICAgIC5jcmVhdGUob2JzZXJ2ZXIgPT4gdGhpcy5hbGVydE9ic2VydmVyID0gb2JzZXJ2ZXIpLnBpcGUoXG4gICAgICAgIHB1Ymxpc2goKSxcbiAgICAgICAgcmVmQ291bnQoKVxuICAgICAgKTtcbiAgICB0aGlzLmFsZXJ0cy5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMucm91dGVyXG4gICAgICAuZXZlbnRzXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgICAgLy8gaWYgdGhlcmUgaXMgbm8gbG9uZ2VyIGEgcHJlc2VydmUgYWxlcnRzIHNldHRpbmcgZm9yIHRoZSBwYWdlIHRoZW4gY2xlYXIgYWxsIG9ic2VydmVycyBhbmQgcHJlc2VydmVkIG1lc3NhZ2VzXG4gICAgICAgICAgaWYgKCF0aGlzLnByZXNlcnZlQWxlcnRzKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIGlmIG5vdCwgdGhlbiBzZXQgdGhlIHByZXNlcnZpbmcgb2YgYWxlcnRzIHRvIGZhbHNlIHNvIHJlbmRlcmluZyB0byBhIG5ldyBwYWdlXG4gICAgICAgICAgdGhpcy5wcmVzZXJ2ZUFsZXJ0cyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLnN1Y2Nlc3NPYnNlcnZlci5uZXh0KG51bGwpO1xuICAgIHRoaXMuZXJyb3JPYnNlcnZlci5uZXh0KG51bGwpO1xuICAgIHRoaXMud2FybmluZ09ic2VydmVyLm5leHQobnVsbCk7XG4gICAgdGhpcy5wcmVzZXJ2ZWRFcnJvciA9ICcnO1xuICAgIHRoaXMucHJlc2VydmVkV2FybmluZyA9ICcnO1xuICAgIHRoaXMucHJlc2VydmVkU3VjY2VzcyA9ICcnO1xuXG4gICAgLy8gRVVJLTMzODEuXG4gICAgdGhpcy5hbGVydE9ic2VydmVyLm5leHQobnVsbCk7XG4gICAgdGhpcy5tZXNzYWdlID0gJyc7XG4gIH1cblxuICBwdWJsaWMgZXJyb3IoeyBwaHJhc2UsIHJlcGxhY2VtZW50c306IE9taXQ8QWxlcnRTdGF0dXNQYXJhbXMsICdwcmVzZXJ2ZSc+KTogdm9pZCB7XG4gICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuZ2V0VHJhbnNsYXRpb25XaXRoUmVwbGFjZW1lbnRzKHBocmFzZSwgcmVwbGFjZW1lbnRzKTtcblxuICAgIHRoaXMucHJlc2VydmVkRXJyb3IgPSB0aGlzLnByZXNlcnZlTWVzc2FnZXMobWVzc2FnZSk7XG4gICAgY29uc3QgYWxlcnQ6IEFsZXJ0ID0geyBsZXZlbDogJ2Vycm9yJywgbWVzc2FnZSB9O1xuICAgIHRoaXMuZXJyb3JPYnNlcnZlci5uZXh0KGFsZXJ0KTtcblxuICAgIC8vIEVVSS0zMzgxLlxuICAgIHRoaXMucHVzaChhbGVydCk7XG4gIH1cblxuICBwdWJsaWMgd2FybmluZyh7IHBocmFzZSwgcmVwbGFjZW1lbnRzfTogT21pdDxBbGVydFN0YXR1c1BhcmFtcywgJ3ByZXNlcnZlJz4pOiB2b2lkIHtcbiAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5nZXRUcmFuc2xhdGlvbldpdGhSZXBsYWNlbWVudHMocGhyYXNlLCByZXBsYWNlbWVudHMpO1xuXG4gICAgdGhpcy5wcmVzZXJ2ZWRXYXJuaW5nID0gdGhpcy5wcmVzZXJ2ZU1lc3NhZ2VzKG1lc3NhZ2UpO1xuICAgIGNvbnN0IGFsZXJ0OiBBbGVydCA9IHsgbGV2ZWw6ICd3YXJuaW5nJywgbWVzc2FnZSB9O1xuICAgIHRoaXMud2FybmluZ09ic2VydmVyLm5leHQoYWxlcnQpO1xuXG4gICAgLy8gRVVJLTMzODEuXG4gICAgdGhpcy5wdXNoKGFsZXJ0KTtcbiAgfVxuXG4gIHB1YmxpYyBzdWNjZXNzKHsgcHJlc2VydmUsIHBocmFzZSwgcmVwbGFjZW1lbnRzfTogQWxlcnRTdGF0dXNQYXJhbXMpOiB2b2lkIHtcbiAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5nZXRUcmFuc2xhdGlvbldpdGhSZXBsYWNlbWVudHMocGhyYXNlLCByZXBsYWNlbWVudHMpO1xuXG4gICAgdGhpcy5wcmVzZXJ2ZUFsZXJ0cyA9IHByZXNlcnZlIHx8IHRoaXMucHJlc2VydmVBbGVydHM7XG4gICAgY29uc3QgYWxlcnQ6IEFsZXJ0ID0geyBsZXZlbDogJ3N1Y2Nlc3MnLCBtZXNzYWdlIH07XG4gICAgdGhpcy5wcmVzZXJ2ZWRTdWNjZXNzID0gdGhpcy5wcmVzZXJ2ZU1lc3NhZ2VzKG1lc3NhZ2UpO1xuICAgIHRoaXMuc3VjY2Vzc09ic2VydmVyLm5leHQoYWxlcnQpO1xuXG4gICAgLy8gRVVJLTMzODEuXG4gICAgdGhpcy5wdXNoKGFsZXJ0KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VHJhbnNsYXRpb25XaXRoUmVwbGFjZW1lbnRzKHBocmFzZTogc3RyaW5nLCByZXBsYWNlbWVudHM6IEFsZXJ0U3RhdHVzUGFyYW1zWydyZXBsYWNlbWVudHMnXSk6IHN0cmluZyB7XG4gICAgbGV0IG1lc3NhZ2U6IHN0cmluZztcbiAgICBpZiAocmVwbGFjZW1lbnRzKSB7XG4gICAgICB0aGlzLnJweFRyYW5zbGF0aW9uU2VydmljZS5nZXRUcmFuc2xhdGlvbldpdGhSZXBsYWNlbWVudHMocGhyYXNlLCByZXBsYWNlbWVudHMpLnN1YnNjcmliZSh0cmFuc2xhdGlvbiA9PiB7XG4gICAgICAgIG1lc3NhZ2UgPSB0cmFuc2xhdGlvbjtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJweFRyYW5zbGF0aW9uU2VydmljZS5nZXRUcmFuc2xhdGlvbihwaHJhc2UpLnN1YnNjcmliZSh0cmFuc2xhdGlvbiA9PiB7XG4gICAgICAgIG1lc3NhZ2UgPSB0cmFuc2xhdGlvbjtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBtZXNzYWdlO1xuICB9XG5cbiAgcHVibGljIHNldFByZXNlcnZlQWxlcnRzKHByZXNlcnZlOiBib29sZWFuLCB1cmxJbmZvPzogc3RyaW5nW10pIHtcbiAgICAvLyBpZiB0aGVyZSBpcyBubyB1cmwgc2V0dGluZyB0aGVuIGp1c3QgcHJlc2VydmUgdGhlIG1lc3NhZ2VzXG4gICAgaWYgKCF1cmxJbmZvKSB7XG4gICAgICB0aGlzLnByZXNlcnZlQWxlcnRzID0gcHJlc2VydmU7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGNoZWNrIGlmIHRoZSB1cmwgaW5jbHVkZXMgdGhlIHN0aW5nIGdpdmVuXG4gICAgICB0aGlzLnByZXNlcnZlQWxlcnRzID0gdGhpcy5jdXJyZW50VXJsSW5jbHVkZXNJbmZvKHByZXNlcnZlLCB1cmxJbmZvKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY3VycmVudFVybEluY2x1ZGVzSW5mbyhwcmVzZXJ2ZTogYm9vbGVhbiwgdXJsSW5mbzogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICAvLyBsb29wIHRocm91Z2ggdGhlIGxpc3Qgb2Ygc3RyaW5ncyBhbmQgY2hlY2sgdGhlIHJvdXRlciBpbmNsdWRlcyBhbGwgb2YgdGhlbVxuICAgIGZvciAoY29uc3QgdXJsU25pcCBvZiB1cmxJbmZvKSB7XG4gICAgICBpZiAoIXRoaXMucm91dGVyLnVybC5pbmNsdWRlcyh1cmxTbmlwKSkge1xuICAgICAgICAvLyByZXR1cm4gdGhlIG9wcG9zaXRlIGJvb2xlYW4gdmFsdWUgaWYgdGhlIHJvdXRlciBkb2VzIG5vdCBpbmNsdWRlIG9uZSBvZiB0aGUgc3RyaW5nc1xuICAgICAgICByZXR1cm4gIXByZXNlcnZlO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyByZXR1cm4gdGhlIGJvb2xlYW4gdmFsdWUgaWYgYWxsIHN0cmluZ3MgYXJlIGluIHRoZSB1cmxcbiAgICByZXR1cm4gcHJlc2VydmU7XG4gIH1cblxuICBwdWJsaWMgaXNQcmVzZXJ2ZUFsZXJ0cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wcmVzZXJ2ZUFsZXJ0cztcbiAgfVxuXG4gIHB1YmxpYyBwcmVzZXJ2ZU1lc3NhZ2VzKG1lc3NhZ2U6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8gcHJlc2VydmUgdGhlIG1lc3NhZ2VzIGlmIHNldCB0byBwcmVzZXJ2ZSB0aGVtXG4gICAgaWYgKHRoaXMuaXNQcmVzZXJ2ZUFsZXJ0cygpKSB7XG4gICAgICByZXR1cm4gbWVzc2FnZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRPRE86IFJlbW92ZVxuICBwdWJsaWMgcHVzaChtc2dPYmplY3QpIHtcbiAgICB0aGlzLm1lc3NhZ2UgPSBtc2dPYmplY3QubWVzc2FnZTtcbiAgICB0aGlzLmxldmVsID0gbXNnT2JqZWN0LmxldmVsO1xuXG4gICAgdGhpcy5hbGVydE9ic2VydmVyLm5leHQoe1xuICAgICAgbGV2ZWw6IHRoaXMubGV2ZWwsXG4gICAgICBtZXNzYWdlOiB0aGlzLm1lc3NhZ2VcbiAgICB9KTtcbiAgfVxufVxuIl19
121
+ }], function () { return [{ type: i1.Router }]; }, null); })();
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvYWxlcnQvYWxlcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUF5QixVQUFVLEVBQVksTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBS25ELE1BQU0sT0FBTyxZQUFZO0lBd0J2QixZQUE2QixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXZCM0MseUJBQXlCO1FBQ2xCLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0QixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFrQnJCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBSTdCLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVTthQUN4QixNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDdkQsT0FBTyxFQUFFLEVBQ1QsUUFBUSxFQUFFLENBQ1gsQ0FBQztRQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVO2FBQ3JCLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUNyRCxPQUFPLEVBQUUsRUFDVCxRQUFRLEVBQUUsQ0FDWCxD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LENBQUMsS0FBSyxDQUFDO1FBRTdCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQ3RCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7d0VBMUpVLFlBQVk7b0RBQVosWUFBWSxXQUFaLFlBQVk7dUZBQVosWUFBWTtjQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQ29ubmVjdGFibGVPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgcHVibGlzaCwgcmVmQ291bnQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBbGVydExldmVsIH0gZnJvbSAnLi4vLi4vZG9tYWluL2FsZXJ0L2FsZXJ0LWxldmVsLm1vZGVsJztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi4vLi4vZG9tYWluL2FsZXJ0L2FsZXJ0Lm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFsZXJ0U2VydmljZSB7XG4gIC8vIHRoZSBwcmVzZXJ2ZWQgbWVzc2FnZXNcbiAgcHVibGljIHByZXNlcnZlZEVycm9yID0gJyc7XG4gIHB1YmxpYyBwcmVzZXJ2ZWRXYXJuaW5nID0gJyc7XG4gIHB1YmxpYyBwcmVzZXJ2ZWRTdWNjZXNzID0gJyc7XG5cbiAgLy8gVE9ETzogUmVtb3ZlXG4gIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBsZXZlbDogQWxlcnRMZXZlbDtcblxuICBwdWJsaWMgc3VjY2Vzc2VzOiBDb25uZWN0YWJsZU9ic2VydmFibGU8QWxlcnQ+O1xuICBwdWJsaWMgZXJyb3JzOiBDb25uZWN0YWJsZU9ic2VydmFibGU8QWxlcnQ+O1xuICBwdWJsaWMgd2FybmluZ3M6IENvbm5lY3RhYmxlT2JzZXJ2YWJsZTxBbGVydD47XG4gIC8vIFRPRE86IFJlbW92ZVxuICBwdWJsaWMgYWxlcnRzOiBDb25uZWN0YWJsZU9ic2VydmFibGU8QWxlcnQ+O1xuXG4gIHByaXZhdGUgc3VjY2Vzc09ic2VydmVyOiBPYnNlcnZlcjxBbGVydD47XG4gIHByaXZhdGUgZXJyb3JPYnNlcnZlcjogT2JzZXJ2ZXI8QWxlcnQ+O1xuICBwcml2YXRlIHdhcm5pbmdPYnNlcnZlcjogT2JzZXJ2ZXI8QWxlcnQ+O1xuICAvLyBUT0RPOiBSZW1vdmVcbiAgcHJpdmF0ZSBhbGVydE9ic2VydmVyOiBPYnNlcnZlcjxBbGVydD47XG5cbiAgcHJpdmF0ZSBwcmVzZXJ2ZUFsZXJ0cyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIpIHtcblxuICAgIHRoaXMuc3VjY2Vzc2VzID0gT2JzZXJ2YWJsZVxuICAgICAgLmNyZWF0ZShvYnNlcnZlciA9PiB0aGlzLnN1Y2Nlc3NPYnNlcnZlciA9IG9ic2VydmVyKS5waXBlKFxuICAgICAgICBwdWJsaXNoKCksXG4gICAgICAgIHJlZkNvdW50KClcbiAgICAgICk7XG4gICAgdGhpcy5zdWNjZXNzZXMuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLmVycm9ycyA9IE9ic2VydmFibGVcbiAgICAgIC5jcmVhdGUob2JzZXJ2ZXIgPT4gdGhpcy5lcnJvck9ic2VydmVyID0gb2JzZXJ2ZXIpLnBpcGUoXG4gICAgICAgIHB1Ymxpc2goKSxcbiAgICAgICAgcmVmQ291bnQoKVxuICAgICAgKTtcbiAgICB0aGlzLmVycm9ycy5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMud2FybmluZ3MgPSBPYnNlcnZhYmxlXG4gICAgICAuY3JlYXRlKG9ic2VydmVyID0+IHRoaXMud2FybmluZ09ic2VydmVyID0gb2JzZXJ2ZXIpLnBpcGUoXG4gICAgICAgIHB1Ymxpc2goKSxcbiAgICAgICAgcmVmQ291bnQoKVxuICAgICAgKTtcbiAgICB0aGlzLndhcm5pbmdzLnN1YnNjcmliZSgpO1xuXG4gICAgLy8gVE9ETzogUmVtb3ZlXG4gICAgdGhpcy5hbGVydHMgPSBPYnNlcnZhYmxlXG4gICAgICAuY3JlYXRlKG9ic2VydmVyID0+IHRoaXMuYWxlcnRPYnNlcnZlciA9IG9ic2VydmVyKS5waXBlKFxuICAgICAgICBwdWJsaXNoKCksXG4gICAgICAgIHJlZkNvdW50KClcbiAgICAgICk7XG4gICAgdGhpcy5hbGVydHMuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLnJvdXRlclxuICAgICAgLmV2ZW50c1xuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgIC8vIGlmIHRoZXJlIGlzIG5vIGxvbmdlciBhIHByZXNlcnZlIGFsZXJ0cyBzZXR0aW5nIGZvciB0aGUgcGFnZSB0aGVuIGNsZWFyIGFsbCBvYnNlcnZlcnMgYW5kIHByZXNlcnZlZCBtZXNzYWdlc1xuICAgICAgICAgIGlmICghdGhpcy5wcmVzZXJ2ZUFsZXJ0cykge1xuICAgICAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBpZiBub3QsIHRoZW4gc2V0IHRoZSBwcmVzZXJ2aW5nIG9mIGFsZXJ0cyB0byBmYWxzZSBzbyByZW5kZXJpbmcgdG8gYSBuZXcgcGFnZVxuICAgICAgICAgIHRoaXMucHJlc2VydmVBbGVydHMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5zdWNjZXNzT2JzZXJ2ZXIubmV4dChudWxsKTtcbiAgICB0aGlzLmVycm9yT2JzZXJ2ZXIubmV4dChudWxsKTtcbiAgICB0aGlzLndhcm5pbmdPYnNlcnZlci5uZXh0KG51bGwpO1xuICAgIHRoaXMucHJlc2VydmVkRXJyb3IgPSAnJztcbiAgICB0aGlzLnByZXNlcnZlZFdhcm5pbmcgPSAnJztcbiAgICB0aGlzLnByZXNlcnZlZFN1Y2Nlc3MgPSAnJztcblxuICAgIC8vIEVVSS0zMzgxLlxuICAgIHRoaXMuYWxlcnRPYnNlcnZlci5uZXh0KG51bGwpO1xuICAgIHRoaXMubWVzc2FnZSA9ICcnO1xuICB9XG5cbiAgcHVibGljIGVycm9yKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucHJlc2VydmVkRXJyb3IgPSB0aGlzLnByZXNlcnZlTWVzc2FnZXMobWVzc2FnZSk7XG4gICAgY29uc3QgYWxlcnQ6IEFsZXJ0ID0geyBsZXZlbDogJ2Vycm9yJywgbWVzc2FnZSB9O1xuICAgIHRoaXMuZXJyb3JPYnNlcnZlci5uZXh0KGFsZXJ0KTtcblxuICAgIC8vIEVVSS0zMzgxLlxuICAgIHRoaXMucHVzaChhbGVydCk7XG4gIH1cblxuICBwdWJsaWMgd2FybmluZyhtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnByZXNlcnZlZFdhcm5pbmcgPSB0aGlzLnByZXNlcnZlTWVzc2FnZXMobWVzc2FnZSk7XG4gICAgY29uc3QgYWxlcnQ6IEFsZXJ0ID0geyBsZXZlbDogJ3dhcm5pbmcnLCBtZXNzYWdlIH07XG4gICAgdGhpcy53YXJuaW5nT2JzZXJ2ZXIubmV4dChhbGVydCk7XG5cbiAgICAvLyBFVUktMzM4MS5cbiAgICB0aGlzLnB1c2goYWxlcnQpO1xuICB9XG5cbiAgcHVibGljIHN1Y2Nlc3MobWVzc2FnZTogc3RyaW5nLCBwcmVzZXJ2ZSA9IGZhbHNlKTogdm9pZCB7XG4gICAgdGhpcy5wcmVzZXJ2ZWRTdWNjZXNzID0gdGhpcy5wcmVzZXJ2ZU1lc3NhZ2VzKG1lc3NhZ2UpO1xuICAgIHRoaXMucHJlc2VydmVBbGVydHMgPSBwcmVzZXJ2ZSB8fCB0aGlzLnByZXNlcnZlQWxlcnRzO1xuICAgIGNvbnN0IGFsZXJ0OiBBbGVydCA9IHsgbGV2ZWw6ICdzdWNjZXNzJywgbWVzc2FnZSB9O1xuICAgIHRoaXMuc3VjY2Vzc09ic2VydmVyLm5leHQoYWxlcnQpO1xuXG4gICAgLy8gRVVJLTMzODEuXG4gICAgdGhpcy5wdXNoKGFsZXJ0KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRQcmVzZXJ2ZUFsZXJ0cyhwcmVzZXJ2ZTogYm9vbGVhbiwgdXJsSW5mbz86IHN0cmluZ1tdKSB7XG4gICAgLy8gaWYgdGhlcmUgaXMgbm8gdXJsIHNldHRpbmcgdGhlbiBqdXN0IHByZXNlcnZlIHRoZSBtZXNzYWdlc1xuICAgIGlmICghdXJsSW5mbykge1xuICAgICAgdGhpcy5wcmVzZXJ2ZUFsZXJ0cyA9IHByZXNlcnZlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBjaGVjayBpZiB0aGUgdXJsIGluY2x1ZGVzIHRoZSBzdGluZyBnaXZlblxuICAgICAgdGhpcy5wcmVzZXJ2ZUFsZXJ0cyA9IHRoaXMuY3VycmVudFVybEluY2x1ZGVzSW5mbyhwcmVzZXJ2ZSwgdXJsSW5mbyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGN1cnJlbnRVcmxJbmNsdWRlc0luZm8ocHJlc2VydmU6IGJvb2xlYW4sIHVybEluZm86IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgLy8gbG9vcCB0aHJvdWdoIHRoZSBsaXN0IG9mIHN0cmluZ3MgYW5kIGNoZWNrIHRoZSByb3V0ZXIgaW5jbHVkZXMgYWxsIG9mIHRoZW1cbiAgICBmb3IgKGNvbnN0IHVybFNuaXAgb2YgdXJsSW5mbykge1xuICAgICAgaWYgKCF0aGlzLnJvdXRlci51cmwuaW5jbHVkZXModXJsU25pcCkpIHtcbiAgICAgICAgLy8gcmV0dXJuIHRoZSBvcHBvc2l0ZSBib29sZWFuIHZhbHVlIGlmIHRoZSByb3V0ZXIgZG9lcyBub3QgaW5jbHVkZSBvbmUgb2YgdGhlIHN0cmluZ3NcbiAgICAgICAgcmV0dXJuICFwcmVzZXJ2ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gcmV0dXJuIHRoZSBib29sZWFuIHZhbHVlIGlmIGFsbCBzdHJpbmdzIGFyZSBpbiB0aGUgdXJsXG4gICAgcmV0dXJuIHByZXNlcnZlO1xuICB9XG5cbiAgcHVibGljIGlzUHJlc2VydmVBbGVydHMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucHJlc2VydmVBbGVydHM7XG4gIH1cblxuICBwdWJsaWMgcHJlc2VydmVNZXNzYWdlcyhtZXNzYWdlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIHByZXNlcnZlIHRoZSBtZXNzYWdlcyBpZiBzZXQgdG8gcHJlc2VydmUgdGhlbVxuICAgIGlmICh0aGlzLmlzUHJlc2VydmVBbGVydHMoKSkge1xuICAgICAgcmV0dXJuIG1lc3NhZ2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICAvLyBUT0RPOiBSZW1vdmVcbiAgcHVibGljIHB1c2gobXNnT2JqZWN0KSB7XG4gICAgdGhpcy5tZXNzYWdlID0gbXNnT2JqZWN0Lm1lc3NhZ2U7XG4gICAgdGhpcy5sZXZlbCA9IG1zZ09iamVjdC5sZXZlbDtcblxuICAgIHRoaXMuYWxlcnRPYnNlcnZlci5uZXh0KHtcbiAgICAgIGxldmVsOiB0aGlzLmxldmVsLFxuICAgICAgbWVzc2FnZTogdGhpcy5tZXNzYWdlXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -9,9 +9,7 @@ export class RequestOptionsBuilder {
9
9
  * @param value The value to be assessed.
10
10
  */
11
11
  static includeParam(value) {
12
- /* istanbul ignore else */
13
12
  if (value) {
14
- /* istanbul ignore else */
15
13
  if (typeof (value) === 'string') {
16
14
  return value.trim().length > 0;
17
15
  }
@@ -23,11 +21,9 @@ export class RequestOptionsBuilder {
23
21
  // TODO: This should probably be the now built-in URLSearchParams but it
24
22
  // requires a bigger refactor and there are bigger fish to fry right now.
25
23
  let params = new HttpParams();
26
- /* istanbul ignore else */
27
24
  if (view) {
28
25
  params = params.set('view', view);
29
26
  }
30
- /* istanbul ignore else */
31
27
  if (metaCriteria) {
32
28
  for (const criterion of Object.keys(metaCriteria)) {
33
29
  // EUI-3490. Make sure the parameter should be included for adding it.
@@ -37,10 +33,8 @@ export class RequestOptionsBuilder {
37
33
  }
38
34
  }
39
35
  }
40
- /* istanbul ignore else */
41
36
  if (caseCriteria) {
42
37
  for (const criterion of Object.keys(caseCriteria)) {
43
- /* istanbul ignore else */
44
38
  if (RequestOptionsBuilder.includeParam(caseCriteria[criterion])) {
45
39
  const key = RequestOptionsBuilder.FIELD_PREFIX + criterion;
46
40
  const value = caseCriteria[criterion].trim ? caseCriteria[criterion].trim() : caseCriteria[criterion];
@@ -58,4 +52,4 @@ RequestOptionsBuilder.ɵprov = i0.ɵɵdefineInjectable({ token: RequestOptionsBu
58
52
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RequestOptionsBuilder, [{
59
53
  type: Injectable
60
54
  }], null, null); })();
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5vcHRpb25zLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL3JlcXVlc3QvcmVxdWVzdC5vcHRpb25zLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxxQkFBcUI7SUFJOUI7Ozs7O09BS0c7SUFDSyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQVU7UUFDcEMsMEJBQTBCO1FBQzFCLElBQUksS0FBSyxFQUFFO1lBQ1QsMEJBQTBCO1lBQzFCLElBQUksT0FBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLFFBQVEsRUFBRTtnQkFDOUIsT0FBTyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzthQUNoQztZQUNELE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxZQUFZLENBQUMsWUFBb0IsRUFBRSxZQUFvQixFQUFFLElBQWlCO1FBQy9FLHdFQUF3RTtRQUN4RSx5RUFBeUU7UUFDekUsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUU5QiwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLEVBQUU7WUFDUixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDbkM7UUFFRCwwQkFBMEI7UUFDMUIsSUFBSSxZQUFZLEVBQUU7WUFDaEIsS0FBSyxNQUFNLFNBQVMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUNqRCxzRUFBc0U7Z0JBQ3RFLGlFQUFpRTtnQkFDakUsSUFBSSxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUU7b0JBQy9ELE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztpQkFDekQ7YUFDRjtTQUNGO1FBRUQsMEJBQTBCO1FBQzFCLElBQUksWUFBWSxFQUFFO1lBQ2hCLEtBQUssTUFBTSxTQUFTLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDakQsMEJBQTBCO2dCQUMxQixJQUFJLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRTtvQkFDL0QsTUFBTSxHQUFHLEdBQUcscUJBQXFCLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztvQkFDM0QsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQ3RHLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUNwRDthQUNGO1NBQ0Y7UUFFRCxNQUFNLE9BQU8sR0FBZ0IsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBQyxDQUFDO1FBQ3hELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7O0FBdkRzQixrQ0FBWSxHQUFHLE9BQU8sQ0FBQzswRkFGckMscUJBQXFCOzZEQUFyQixxQkFBcUIsV0FBckIscUJBQXFCO3VGQUFyQixxQkFBcUI7Y0FEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9wdGlvbnNUeXBlIH0gZnJvbSAnLi4nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVxdWVzdE9wdGlvbnNCdWlsZGVyIHtcblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRklFTERfUFJFRklYID0gJ2Nhc2UuJztcblxuICAgIC8qKlxuICAgICAqIEFzc2VzcyB0aGUgdmFsdWUgdG8gc2VlIGlmIGl0IHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgcmVxdWVzdCBvcHRpb25zLlxuICAgICAqIElmIGl0J3MgbnVsbCBvciBhbiBcImVtcHR5XCIgc3RyaW5nLCBpdCBzaG91bGRuJ3QgYmUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIGJlIGFzc2Vzc2VkLlxuICAgICAqL1xuICAgIHByaXZhdGUgc3RhdGljIGluY2x1ZGVQYXJhbSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmICh0eXBlb2YodmFsdWUpID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHJldHVybiB2YWx1ZS50cmltKCkubGVuZ3RoID4gMDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYnVpbGRPcHRpb25zKG1ldGFDcml0ZXJpYTogb2JqZWN0LCBjYXNlQ3JpdGVyaWE6IG9iamVjdCwgdmlldz86IFNlYXJjaFZpZXcpOiBPcHRpb25zVHlwZSB7XG4gICAgICAvLyBUT0RPOiBUaGlzIHNob3VsZCBwcm9iYWJseSBiZSB0aGUgbm93IGJ1aWx0LWluIFVSTFNlYXJjaFBhcmFtcyBidXQgaXRcbiAgICAgIC8vIHJlcXVpcmVzIGEgYmlnZ2VyIHJlZmFjdG9yIGFuZCB0aGVyZSBhcmUgYmlnZ2VyIGZpc2ggdG8gZnJ5IHJpZ2h0IG5vdy5cbiAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHZpZXcpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndmlldycsIHZpZXcpO1xuICAgICAgfVxuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKG1ldGFDcml0ZXJpYSkge1xuICAgICAgICBmb3IgKGNvbnN0IGNyaXRlcmlvbiBvZiBPYmplY3Qua2V5cyhtZXRhQ3JpdGVyaWEpKSB7XG4gICAgICAgICAgLy8gRVVJLTM0OTAuIE1ha2Ugc3VyZSB0aGUgcGFyYW1ldGVyIHNob3VsZCBiZSBpbmNsdWRlZCBmb3IgYWRkaW5nIGl0LlxuICAgICAgICAgIC8vIFRoaXMgd2FzIGFscmVhZHkgaGFuZGxlZCBieSB0aGUgb2xkIFVSTFNlYXJjaFBhcmFtcyBtZWNoYW5pc20uXG4gICAgICAgICAgaWYgKFJlcXVlc3RPcHRpb25zQnVpbGRlci5pbmNsdWRlUGFyYW0obWV0YUNyaXRlcmlhW2NyaXRlcmlvbl0pKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KGNyaXRlcmlvbiwgbWV0YUNyaXRlcmlhW2NyaXRlcmlvbl0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKGNhc2VDcml0ZXJpYSkge1xuICAgICAgICBmb3IgKGNvbnN0IGNyaXRlcmlvbiBvZiBPYmplY3Qua2V5cyhjYXNlQ3JpdGVyaWEpKSB7XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAoUmVxdWVzdE9wdGlvbnNCdWlsZGVyLmluY2x1ZGVQYXJhbShjYXNlQ3JpdGVyaWFbY3JpdGVyaW9uXSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IFJlcXVlc3RPcHRpb25zQnVpbGRlci5GSUVMRF9QUkVGSVggKyBjcml0ZXJpb247XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGNhc2VDcml0ZXJpYVtjcml0ZXJpb25dLnRyaW0gPyBjYXNlQ3JpdGVyaWFbY3JpdGVyaW9uXS50cmltKCkgOiBjYXNlQ3JpdGVyaWFbY3JpdGVyaW9uXTtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoa2V5LCB2YWx1ZS5yZXBsYWNlKC/igJkvaSwgYCdgKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG9wdGlvbnM6IE9wdGlvbnNUeXBlID0geyBwYXJhbXMsIG9ic2VydmU6ICdib2R5J307XG4gICAgICByZXR1cm4gb3B0aW9ucztcbiAgICB9XG5cbn1cblxuZXhwb3J0IHR5cGUgU2VhcmNoVmlldyA9ICdTRUFSQ0gnIHwgJ1dPUktCQVNLRVQnO1xuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5vcHRpb25zLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL3JlcXVlc3QvcmVxdWVzdC5vcHRpb25zLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxxQkFBcUI7SUFJOUI7Ozs7O09BS0c7SUFDSyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQVU7UUFDcEMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLE9BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxRQUFRLEVBQUU7Z0JBQzlCLE9BQU8sS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7YUFDaEM7WUFDRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sWUFBWSxDQUFDLFlBQW9CLEVBQUUsWUFBb0IsRUFBRSxJQUFpQjtRQUMvRSx3RUFBd0U7UUFDeEUseUVBQXlFO1FBQ3pFLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFFOUIsSUFBSSxJQUFJLEVBQUU7WUFDUixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDbkM7UUFFRCxJQUFJLFlBQVksRUFBRTtZQUNoQixLQUFLLE1BQU0sU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQ2pELHNFQUFzRTtnQkFDdEUsaUVBQWlFO2dCQUNqRSxJQUFJLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRTtvQkFDL0QsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2lCQUN6RDthQUNGO1NBQ0Y7UUFFRCxJQUFJLFlBQVksRUFBRTtZQUNoQixLQUFLLE1BQU0sU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQ2pELElBQUkscUJBQXFCLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFO29CQUMvRCxNQUFNLEdBQUcsR0FBRyxxQkFBcUIsQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO29CQUMzRCxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDdEcsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ3BEO2FBQ0Y7U0FDRjtRQUVELE1BQU0sT0FBTyxHQUFnQixFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFDLENBQUM7UUFDeEQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzs7QUFqRHNCLGtDQUFZLEdBQUcsT0FBTyxDQUFDOzBGQUZyQyxxQkFBcUI7NkRBQXJCLHFCQUFxQixXQUFyQixxQkFBcUI7dUZBQXJCLHFCQUFxQjtjQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT3B0aW9uc1R5cGUgfSBmcm9tICcuLic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZXF1ZXN0T3B0aW9uc0J1aWxkZXIge1xuXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBGSUVMRF9QUkVGSVggPSAnY2FzZS4nO1xuXG4gICAgLyoqXG4gICAgICogQXNzZXNzIHRoZSB2YWx1ZSB0byBzZWUgaWYgaXQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSByZXF1ZXN0IG9wdGlvbnMuXG4gICAgICogSWYgaXQncyBudWxsIG9yIGFuIFwiZW1wdHlcIiBzdHJpbmcsIGl0IHNob3VsZG4ndCBiZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gYmUgYXNzZXNzZWQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzdGF0aWMgaW5jbHVkZVBhcmFtKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICBpZiAodHlwZW9mKHZhbHVlKSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICByZXR1cm4gdmFsdWUudHJpbSgpLmxlbmd0aCA+IDA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGJ1aWxkT3B0aW9ucyhtZXRhQ3JpdGVyaWE6IG9iamVjdCwgY2FzZUNyaXRlcmlhOiBvYmplY3QsIHZpZXc/OiBTZWFyY2hWaWV3KTogT3B0aW9uc1R5cGUge1xuICAgICAgLy8gVE9ETzogVGhpcyBzaG91bGQgcHJvYmFibHkgYmUgdGhlIG5vdyBidWlsdC1pbiBVUkxTZWFyY2hQYXJhbXMgYnV0IGl0XG4gICAgICAvLyByZXF1aXJlcyBhIGJpZ2dlciByZWZhY3RvciBhbmQgdGhlcmUgYXJlIGJpZ2dlciBmaXNoIHRvIGZyeSByaWdodCBub3cuXG4gICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcblxuICAgICAgaWYgKHZpZXcpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndmlldycsIHZpZXcpO1xuICAgICAgfVxuXG4gICAgICBpZiAobWV0YUNyaXRlcmlhKSB7XG4gICAgICAgIGZvciAoY29uc3QgY3JpdGVyaW9uIG9mIE9iamVjdC5rZXlzKG1ldGFDcml0ZXJpYSkpIHtcbiAgICAgICAgICAvLyBFVUktMzQ5MC4gTWFrZSBzdXJlIHRoZSBwYXJhbWV0ZXIgc2hvdWxkIGJlIGluY2x1ZGVkIGZvciBhZGRpbmcgaXQuXG4gICAgICAgICAgLy8gVGhpcyB3YXMgYWxyZWFkeSBoYW5kbGVkIGJ5IHRoZSBvbGQgVVJMU2VhcmNoUGFyYW1zIG1lY2hhbmlzbS5cbiAgICAgICAgICBpZiAoUmVxdWVzdE9wdGlvbnNCdWlsZGVyLmluY2x1ZGVQYXJhbShtZXRhQ3JpdGVyaWFbY3JpdGVyaW9uXSkpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoY3JpdGVyaW9uLCBtZXRhQ3JpdGVyaWFbY3JpdGVyaW9uXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChjYXNlQ3JpdGVyaWEpIHtcbiAgICAgICAgZm9yIChjb25zdCBjcml0ZXJpb24gb2YgT2JqZWN0LmtleXMoY2FzZUNyaXRlcmlhKSkge1xuICAgICAgICAgIGlmIChSZXF1ZXN0T3B0aW9uc0J1aWxkZXIuaW5jbHVkZVBhcmFtKGNhc2VDcml0ZXJpYVtjcml0ZXJpb25dKSkge1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gUmVxdWVzdE9wdGlvbnNCdWlsZGVyLkZJRUxEX1BSRUZJWCArIGNyaXRlcmlvbjtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gY2FzZUNyaXRlcmlhW2NyaXRlcmlvbl0udHJpbSA/IGNhc2VDcml0ZXJpYVtjcml0ZXJpb25dLnRyaW0oKSA6IGNhc2VDcml0ZXJpYVtjcml0ZXJpb25dO1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChrZXksIHZhbHVlLnJlcGxhY2UoL+KAmS9pLCBgJ2ApKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3Qgb3B0aW9uczogT3B0aW9uc1R5cGUgPSB7IHBhcmFtcywgb2JzZXJ2ZTogJ2JvZHknfTtcbiAgICAgIHJldHVybiBvcHRpb25zO1xuICAgIH1cblxufVxuXG5leHBvcnQgdHlwZSBTZWFyY2hWaWV3ID0gJ1NFQVJDSCcgfCAnV09SS0JBU0tFVCc7XG4iXX0=