@coolon/angular-ui-powerups 16.1.0-aplpha.6 → 16.1.0-aplpha.61

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 (268) hide show
  1. package/assets/activities/input-activities.scss +10 -2
  2. package/assets/form.scss +45 -27
  3. package/assets/table.scss +15 -18
  4. package/assets/tabs.scss +2 -6
  5. package/esm2022/lib/angular-ui-powerups.module.mjs +5 -5
  6. package/esm2022/lib/components/alignment.mjs +1 -1
  7. package/esm2022/lib/components/busy-overlay/busy-overlay.component.mjs +6 -11
  8. package/esm2022/lib/components/cards/abstract-card-container.component.mjs +4 -4
  9. package/esm2022/lib/components/cards/card-container/card-container.component.mjs +4 -4
  10. package/esm2022/lib/components/commands/command/command.component.mjs +4 -7
  11. package/esm2022/lib/components/commands/command-face/command-face.component.mjs +13 -5
  12. package/esm2022/lib/components/commands/command-face.mjs +1 -1
  13. package/esm2022/lib/components/commands/flex.component.mjs +4 -4
  14. package/esm2022/lib/components/commands/group/command-container.mjs +1 -1
  15. package/esm2022/lib/components/commands/group/popup-aware.component.mjs +1 -1
  16. package/esm2022/lib/components/commands/group/popup-container.mjs +1 -1
  17. package/esm2022/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +13 -13
  18. package/esm2022/lib/components/commands/group/popup-menu/more-menu.component.mjs +4 -4
  19. package/esm2022/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +4 -4
  20. package/esm2022/lib/components/commands/group/popup-menu/popup-menu.component.mjs +5 -5
  21. package/esm2022/lib/components/commands/group/tool-bar/tool-bar.component.mjs +11 -18
  22. package/esm2022/lib/components/commands/separator.component.mjs +4 -4
  23. package/esm2022/lib/components/components.module.mjs +33 -21
  24. package/esm2022/lib/components/disposable-component.mjs +11 -40
  25. package/esm2022/lib/components/empty-state/empty-state.component.mjs +5 -9
  26. package/esm2022/lib/components/exports.mjs +6 -2
  27. package/esm2022/lib/components/focus-container/focus-container.component.mjs +4 -4
  28. package/esm2022/lib/components/focusable.component.mjs +5 -5
  29. package/esm2022/lib/components/forms/abstract-input.component.mjs +64 -17
  30. package/esm2022/lib/components/forms/abstract-list-input.component.mjs +4 -4
  31. package/esm2022/lib/components/forms/abstract-value-input.component.mjs +4 -4
  32. package/esm2022/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +5 -6
  33. package/esm2022/lib/components/forms/checkbox-input/checkbox-input.component.mjs +4 -4
  34. package/esm2022/lib/components/forms/form-field.mjs +2 -0
  35. package/esm2022/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +6 -6
  36. package/esm2022/lib/components/forms/number-input/number-input.component.mjs +51 -12
  37. package/esm2022/lib/components/forms/password-input/password-input.component.mjs +4 -4
  38. package/esm2022/lib/components/forms/search-input/search-input.component.mjs +33 -0
  39. package/esm2022/lib/components/forms/select-input/select-input.component.mjs +12 -11
  40. package/esm2022/lib/components/forms/string-input/string-input.component.mjs +5 -5
  41. package/esm2022/lib/components/forms/text-input/text-input.component.mjs +4 -4
  42. package/esm2022/lib/components/icon/icon.component.mjs +8 -5
  43. package/esm2022/lib/components/labelled-value/labelled-value.component.mjs +4 -4
  44. package/esm2022/lib/components/loadable-component.mjs +49 -0
  45. package/esm2022/lib/components/loading-container/loading-container.component.mjs +6 -11
  46. package/esm2022/lib/components/noop/noop.component.mjs +5 -7
  47. package/esm2022/lib/components/resize-aware.component.mjs +64 -27
  48. package/esm2022/lib/components/scroll-container/scroll-container.component.mjs +5 -5
  49. package/esm2022/lib/components/section-header/section-header.component.mjs +4 -4
  50. package/esm2022/lib/components/switch-case/switch-case.component.mjs +11 -11
  51. package/esm2022/lib/components/tables/abstract-table-model.mjs +23 -23
  52. package/esm2022/lib/components/tables/abstract-table.component.mjs +21 -7
  53. package/esm2022/lib/components/tables/column/column-manager.mjs +81 -0
  54. package/esm2022/lib/components/tables/column/column-model.mjs +17 -6
  55. package/esm2022/lib/components/tables/column/column-order-manager.mjs +19 -0
  56. package/esm2022/lib/components/tables/column/column-template/column-template.directive.mjs +4 -4
  57. package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -3
  58. package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +5 -5
  59. package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +5 -5
  60. package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +6 -5
  61. package/esm2022/lib/components/tables/column/property-column-model.mjs +5 -5
  62. package/esm2022/lib/components/tables/column/selection-column-model.mjs +3 -3
  63. package/esm2022/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.mjs +6 -6
  64. package/esm2022/lib/components/tables/editor/edit-session.mjs +4 -2
  65. package/esm2022/lib/components/tables/editor/editable-cell-renderer.mjs +1 -1
  66. package/esm2022/lib/components/tables/filter/column-text-search-formatter.mjs +1 -1
  67. package/esm2022/lib/components/tables/filter/enable-cell-text-search.decorator.mjs +3 -2
  68. package/esm2022/lib/components/tables/filter/table-filter-model.mjs +4 -2
  69. package/esm2022/lib/components/tables/filter/text-search-predicate.mjs +16 -2
  70. package/esm2022/lib/components/tables/paginator/paginator.component.mjs +4 -4
  71. package/esm2022/lib/components/tables/renderer/cell-editors.mjs +1 -1
  72. package/esm2022/lib/components/tables/renderer/cell-portal-ref.mjs +1 -3
  73. package/esm2022/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.mjs +5 -7
  74. package/esm2022/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.mjs +5 -7
  75. package/esm2022/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.mjs +4 -4
  76. package/esm2022/lib/components/tables/renderer/selection-cell/selection-cell.component.mjs +3 -3
  77. package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +185 -48
  78. package/esm2022/lib/components/tables/renderer/table-cell/table-cell.component.mjs +4 -4
  79. package/esm2022/lib/components/tables/renderer/table-header-cell/table-header-cell.component.mjs +5 -7
  80. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.mjs +4 -4
  81. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu.component.mjs +10 -5
  82. package/esm2022/lib/components/tables/table/table-model.mjs +1 -1
  83. package/esm2022/lib/components/tables/table/table.component.mjs +14 -69
  84. package/esm2022/lib/components/tables/table-row-menu/table-row-menu.component.mjs +4 -4
  85. package/esm2022/lib/components/tables/tree-table/decorated-tree-node.mjs +1 -1
  86. package/esm2022/lib/components/tables/tree-table/flattened-tree-list-model.mjs +1 -1
  87. package/esm2022/lib/components/tables/tree-table/tree-expansion-model.mjs +1 -1
  88. package/esm2022/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.mjs +5 -7
  89. package/esm2022/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +4 -4
  90. package/esm2022/lib/components/tables/tree-table/tree-label-column-model.mjs +4 -4
  91. package/esm2022/lib/components/tables/tree-table/tree-table-component.mjs +10 -7
  92. package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +2 -2
  93. package/esm2022/lib/components/text/markdown/markdown.component.mjs +5 -5
  94. package/esm2022/lib/components/track.mjs +1 -1
  95. package/esm2022/lib/components/types/bounds.class.mjs +1 -1
  96. package/esm2022/lib/components/vertical-focus-container/vertical-focus-container.component.mjs +4 -4
  97. package/esm2022/lib/directives/command.directive.mjs +5 -5
  98. package/esm2022/lib/directives/directives.module.mjs +6 -6
  99. package/esm2022/lib/directives/exports.mjs +2 -1
  100. package/esm2022/lib/directives/focus-binding-factory.mjs +4 -4
  101. package/esm2022/lib/directives/focus-binding.directive.mjs +5 -5
  102. package/esm2022/lib/directives/focus-binding.mjs +1 -1
  103. package/esm2022/lib/directives/garbage-collector.directive.mjs +5 -4
  104. package/esm2022/lib/directives/highlight-text-model.directive.mjs +4 -4
  105. package/esm2022/lib/directives/highlight.pipe.mjs +4 -4
  106. package/esm2022/lib/directives/resize-observer.directive.mjs +40 -0
  107. package/esm2022/lib/interaction/abstract-interaction-context.mjs +1 -1
  108. package/esm2022/lib/interaction/activity-ref.mjs +2 -2
  109. package/esm2022/lib/interaction/activity.mjs +7 -7
  110. package/esm2022/lib/interaction/alert.mjs +1 -1
  111. package/esm2022/lib/interaction/components/abstract-confirm-dialog.component.mjs +4 -4
  112. package/esm2022/lib/interaction/components/abstract-dialog.component.mjs +5 -6
  113. package/esm2022/lib/interaction/components/activity-actions/activity-actions.component.mjs +5 -5
  114. package/esm2022/lib/interaction/components/activity-body/activity-body.component.mjs +4 -4
  115. package/esm2022/lib/interaction/components/activity-container/activity-container.component.mjs +4 -4
  116. package/esm2022/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs +4 -6
  117. package/esm2022/lib/interaction/components/activity-title/activity-title.component.mjs +3 -3
  118. package/esm2022/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.mjs +3 -3
  119. package/esm2022/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +4 -4
  120. package/esm2022/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.mjs +4 -4
  121. package/esm2022/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.mjs +4 -4
  122. package/esm2022/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +4 -4
  123. package/esm2022/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +4 -4
  124. package/esm2022/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +4 -4
  125. package/esm2022/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +4 -4
  126. package/esm2022/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +4 -4
  127. package/esm2022/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +4 -4
  128. package/esm2022/lib/interaction/components/editors/edit-context.mjs +1 -1
  129. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-editor-model.mjs +2 -2
  130. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +5 -5
  131. package/esm2022/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +4 -4
  132. package/esm2022/lib/interaction/components/input-activities/input-activity.mjs +5 -4
  133. package/esm2022/lib/interaction/components/input-activities/select-input-activity.mjs +7 -4
  134. package/esm2022/lib/interaction/components/input-activities/string-input-activity.mjs +11 -6
  135. package/esm2022/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.mjs +6 -5
  136. package/esm2022/lib/interaction/confirm.mjs +1 -1
  137. package/esm2022/lib/interaction/directives/interaction-context-trigger-for.directive.mjs +5 -5
  138. package/esm2022/lib/interaction/in-place-interaction-context.mjs +1 -1
  139. package/esm2022/lib/interaction/interaction-context.mjs +1 -1
  140. package/esm2022/lib/interaction/interaction.module.mjs +19 -26
  141. package/esm2022/lib/interaction/route-synchronisation-adapter.mjs +1 -1
  142. package/esm2022/lib/interaction/services/interaction-service-routing-adapter.mjs +1 -1
  143. package/esm2022/lib/interaction/services/interaction.service.mjs +6 -6
  144. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.mjs +5 -6
  145. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +1 -2
  146. package/esm2022/lib/interaction/services/modal-interaction-context.factory.mjs +1 -1
  147. package/esm2022/lib/place/components/abstract-place-navigation.component.mjs +15 -5
  148. package/esm2022/lib/place/components/list-place-nav/list-place-nav.component.mjs +5 -6
  149. package/esm2022/lib/place/components/not-authorised-notice/not-authorised-notice.component.mjs +5 -7
  150. package/esm2022/lib/place/components/place-outlet/place-outlet.component.mjs +5 -5
  151. package/esm2022/lib/place/components/place-outlet/route-animations.mjs +1 -1
  152. package/esm2022/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +6 -6
  153. package/esm2022/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +4 -4
  154. package/esm2022/lib/place/guards/consolidated-param-map.mjs +1 -1
  155. package/esm2022/lib/place/guards/noop-auth-guard.service.mjs +5 -7
  156. package/esm2022/lib/place/guards/place.guard.mjs +5 -5
  157. package/esm2022/lib/place/navigation/place-component-deactivation-handler.mjs +1 -1
  158. package/esm2022/lib/place/navigation/session/abstract-pop-state-navigation.mjs +1 -1
  159. package/esm2022/lib/place/navigation/session/event-cleanup/event-clean-up-session.mjs +1 -1
  160. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.mjs +1 -1
  161. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.mjs +1 -1
  162. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.mjs +1 -1
  163. package/esm2022/lib/place/navigation/session/interactions/navigating-during-interaction.mjs +2 -2
  164. package/esm2022/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.mjs +1 -1
  165. package/esm2022/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.mjs +3 -3
  166. package/esm2022/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs +2 -5
  167. package/esm2022/lib/place/navigation/session/navigating.mjs +2 -2
  168. package/esm2022/lib/place/navigation/session/navigation-context.mjs +1 -1
  169. package/esm2022/lib/place/navigation/session/navigation-session.mjs +1 -1
  170. package/esm2022/lib/place/navigation/session/pop-state-navigation.mjs +1 -1
  171. package/esm2022/lib/place/place-access-guard.mjs +1 -1
  172. package/esm2022/lib/place/place-component.mjs +30 -43
  173. package/esm2022/lib/place/place-config.mjs +1 -1
  174. package/esm2022/lib/place/place-definition.mjs +1 -1
  175. package/esm2022/lib/place/place-history.mjs +5 -7
  176. package/esm2022/lib/place/place-router.mjs +20 -18
  177. package/esm2022/lib/place/place.decorator.mjs +1 -1
  178. package/esm2022/lib/place/place.module.mjs +5 -9
  179. package/esm2022/lib/place/route/formatter.mjs +2 -2
  180. package/esm2022/lib/place/route/json-types.mjs +1 -1
  181. package/esm2022/lib/place/route/parameter-decorators.mjs +54 -50
  182. package/esm2022/lib/place/route/parameter-definition.mjs +1 -1
  183. package/esm2022/lib/place/route/parameter-sanitiser.mjs +1 -1
  184. package/esm2022/lib/place/route/parameter-snapshot.mjs +1 -1
  185. package/esm2022/lib/place/route/visit-segment-sanitiser.mjs +1 -1
  186. package/esm2022/lib/place/url-service.mjs +4 -4
  187. package/esm2022/lib/place/url-snapshot.mjs +1 -1
  188. package/esm2022/lib/place/visit-segment.mjs +1 -1
  189. package/esm2022/lib/place/visit.mjs +1 -1
  190. package/esm2022/lib/services/markdown/markdown.service.mjs +5 -7
  191. package/esm2022/lib/services/markdown/pill-plugin.mjs +1 -3
  192. package/esm2022/lib/services/visibility-service.mjs +7 -7
  193. package/fesm2022/coolon-angular-ui-powerups.mjs +2141 -1785
  194. package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
  195. package/lib/components/busy-overlay/busy-overlay.component.d.ts +1 -4
  196. package/lib/components/commands/command/command.component.d.ts +2 -3
  197. package/lib/components/commands/command-face/command-face.component.d.ts +2 -0
  198. package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +2 -2
  199. package/lib/components/commands/group/tool-bar/tool-bar.component.d.ts +3 -7
  200. package/lib/components/components.module.d.ts +23 -21
  201. package/lib/components/disposable-component.d.ts +3 -8
  202. package/lib/components/empty-state/empty-state.component.d.ts +1 -4
  203. package/lib/components/exports.d.ts +5 -1
  204. package/lib/components/forms/abstract-input.component.d.ts +13 -5
  205. package/lib/components/forms/form-field.d.ts +5 -0
  206. package/lib/components/forms/number-input/number-input.component.d.ts +8 -4
  207. package/lib/components/forms/search-input/search-input.component.d.ts +10 -0
  208. package/lib/components/forms/select-input/select-input.component.d.ts +4 -3
  209. package/lib/components/loadable-component.d.ts +17 -0
  210. package/lib/components/loading-container/loading-container.component.d.ts +1 -4
  211. package/lib/components/noop/noop.component.d.ts +0 -1
  212. package/lib/components/resize-aware.component.d.ts +25 -6
  213. package/lib/components/switch-case/switch-case.component.d.ts +4 -4
  214. package/lib/components/tables/abstract-table-model.d.ts +7 -5
  215. package/lib/components/tables/abstract-table.component.d.ts +5 -4
  216. package/lib/components/tables/column/column-manager.d.ts +19 -0
  217. package/lib/components/tables/column/column-model.d.ts +6 -2
  218. package/lib/components/tables/column/column-order-manager.d.ts +20 -0
  219. package/lib/components/tables/column/custom-template-column-model.d.ts +2 -1
  220. package/lib/components/tables/column/custom-value-column-model.d.ts +2 -1
  221. package/lib/components/tables/column/editor-controls-column-model.d.ts +2 -1
  222. package/lib/components/tables/column/list-propery-column-model.d.ts +2 -1
  223. package/lib/components/tables/column/property-column-model.d.ts +2 -1
  224. package/lib/components/tables/column/selection-column-model.d.ts +2 -1
  225. package/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.d.ts +3 -3
  226. package/lib/components/tables/editor/editable-cell-renderer.d.ts +1 -1
  227. package/lib/components/tables/filter/enable-cell-text-search.decorator.d.ts +1 -1
  228. package/lib/components/tables/filter/text-search-predicate.d.ts +9 -0
  229. package/lib/components/tables/renderer/cell-portal-ref.d.ts +2 -3
  230. package/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.d.ts +0 -1
  231. package/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.d.ts +0 -1
  232. package/lib/components/tables/renderer/table-body/table-body.component.d.ts +19 -18
  233. package/lib/components/tables/renderer/table-header-cell/table-header-cell.component.d.ts +0 -1
  234. package/lib/components/tables/renderer/table-more-menu/table-more-menu.component.d.ts +2 -1
  235. package/lib/components/tables/table/table.component.d.ts +6 -12
  236. package/lib/components/tables/tree-table/tree-expansion-model.d.ts +2 -2
  237. package/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.d.ts +0 -1
  238. package/lib/components/tables/tree-table/tree-label-column-model.d.ts +2 -1
  239. package/lib/components/tables/tree-table/tree-table-component.d.ts +5 -2
  240. package/lib/components/text/markdown/markdown.component.d.ts +1 -1
  241. package/lib/directives/exports.d.ts +1 -0
  242. package/lib/directives/resize-observer.directive.d.ts +16 -0
  243. package/lib/interaction/activity-ref.d.ts +2 -2
  244. package/lib/interaction/activity.d.ts +2 -2
  245. package/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.d.ts +2 -3
  246. package/lib/interaction/components/editors/edit-context.d.ts +1 -1
  247. package/lib/interaction/components/input-activities/string-input-activity.d.ts +1 -1
  248. package/lib/interaction/directives/interaction-context-trigger-for.directive.d.ts +3 -3
  249. package/lib/interaction/interaction.module.d.ts +6 -7
  250. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +1 -2
  251. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +1 -2
  252. package/lib/place/components/abstract-place-navigation.component.d.ts +1 -0
  253. package/lib/place/components/not-authorised-notice/not-authorised-notice.component.d.ts +0 -1
  254. package/lib/place/guards/noop-auth-guard.service.d.ts +0 -1
  255. package/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.d.ts +0 -1
  256. package/lib/place/place-component.d.ts +3 -13
  257. package/lib/place/place-history.d.ts +0 -1
  258. package/lib/place/place-router.d.ts +2 -2
  259. package/lib/place/place.decorator.d.ts +1 -1
  260. package/lib/place/place.module.d.ts +4 -5
  261. package/lib/place/route/json-types.d.ts +1 -3
  262. package/lib/place/visit-segment.d.ts +4 -4
  263. package/lib/place/visit.d.ts +2 -2
  264. package/lib/services/markdown/markdown.service.d.ts +0 -1
  265. package/lib/services/visibility-service.d.ts +1 -1
  266. package/package.json +17 -19
  267. package/esm2022/lib/components/tables/column/column-list-model.mjs +0 -44
  268. package/lib/components/tables/column/column-list-model.d.ts +0 -13
@@ -1,70 +1,74 @@
1
- import { Binding, DebugContext, Functions } from '@coolon/pectin';
2
1
  import { Klass, Opts } from '@coolon/typescript-utilities';
3
2
  import { ROUTE_PARAMETER_LIST_KEY } from '../place-component';
4
3
  import { ParameterDefinition } from './parameter-definition';
5
- function installMechanics(parameterDef, prototype, propertyKey, tagPrefix) {
6
- Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, parameterDef);
7
- function getMechanics(instance, propertyName) {
8
- const key = `__mechanics_${propertyName.toString()}`;
9
- if (!instance[key]) {
10
- const backingModel = parameterDef.createBackingModel();
11
- instance[key] = {
12
- backingModel: backingModel,
13
- binding: null
14
- };
15
- const tag = `${tagPrefix}(${prototype.constructor.name}.${propertyKey.toString()})`;
16
- DebugContext.getOrCreate(instance[key].backingModel).tag(tag);
17
- }
18
- return instance[key];
19
- }
20
- Object.defineProperty(prototype, propertyKey, {
21
- get: function () {
22
- return getMechanics(this, propertyKey).backingModel;
23
- },
24
- set: function (userModel) {
25
- const mechanics = getMechanics(this, propertyKey);
26
- // This handles the scenario where we want to push an existing value model (such as a form model)
27
- // to and from the route.
28
- if (mechanics.binding) {
29
- mechanics.binding.dispose();
30
- }
31
- if (userModel) {
32
- mechanics.binding = new Binding(mechanics.backingModel, userModel, {
33
- toLeft: Functions.identity,
34
- toRight: Functions.identity
35
- });
36
- if (parameterDef.isEmptyValue(userModel.value)) {
37
- // console.log(`Push visit to model for ${tag}`, {value: mechanics.backingModel.value});
38
- mechanics.binding.writeRight(); // push the visit into the user model;
39
- }
40
- else {
41
- if (!parameterDef.isEmptyValue(mechanics.backingModel.value)) {
42
- console.warn('Assigning a visit model with an existing value to a visit parameter with an existing value. Visit parameter will be overridden');
43
- }
44
- mechanics.binding.writeLeft(); // push the user model into the visit
45
- }
46
- }
47
- }
48
- });
49
- }
4
+ // function installMechanics<M extends HasValue<any>>(parameterDef: ParameterDefinition<any>, prototype: object, propertyKey: string | symbol, tagPrefix: string) {
5
+ //
6
+ // Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, parameterDef);
7
+ //
8
+ // function getMechanics(instance: M, propertyName: string | symbol) {
9
+ // const key = `__mechanics_${propertyName.toString()}`;
10
+ // if (!instance[key]) {
11
+ // const backingModel = parameterDef.createBackingModel();
12
+ // instance[key] = {
13
+ // backingModel: backingModel,
14
+ // binding: null as Binding<any, any>
15
+ // };
16
+ // const tag = `${tagPrefix}(${prototype.constructor.name}.${propertyKey.toString()})`;
17
+ // DebugContext.getOrCreate(instance[key].backingModel).tag(tag);
18
+ // }
19
+ // return instance[key];
20
+ // }
21
+ //
22
+ // Object.defineProperty(prototype, propertyKey, {
23
+ // get: function() {
24
+ // return getMechanics(this, propertyKey).backingModel;
25
+ // },
26
+ // set: function(userModel: M) {
27
+ // const mechanics = getMechanics(this, propertyKey);
28
+ // // This handles the scenario where we want to push an existing value model (such as a form model)
29
+ // // to and from the route.
30
+ // if (mechanics.binding) {
31
+ // mechanics.binding.dispose();
32
+ // }
33
+ // if (userModel) {
34
+ // mechanics.binding = new Binding(mechanics.backingModel, userModel, {
35
+ // toLeft: Functions.identity,
36
+ // toRight: Functions.identity
37
+ // });
38
+ // if (parameterDef.isEmptyValue(userModel.value)) {
39
+ // // console.log(`Push visit to model for ${tag}`, {value: mechanics.backingModel.value});
40
+ // mechanics.binding.writeRight(); // push the visit into the user model;
41
+ // } else {
42
+ // if (!parameterDef.isEmptyValue(mechanics.backingModel.value)) {
43
+ // console.warn('Assigning a visit model with an existing value to a visit parameter with an existing value. Visit parameter will be overridden');
44
+ // }
45
+ // mechanics.binding.writeLeft(); // push the user model into the visit
46
+ // }
47
+ // }
48
+ // }
49
+ // });
50
+ // }
50
51
  export function RouteId(formatter, options) {
51
52
  return (prototype, propertyKey) => {
52
53
  const parameterDef = new ParameterDefinition.RouteId(propertyKey.toString(), options, formatter);
53
- installMechanics(parameterDef, prototype, propertyKey, '@RouteId');
54
+ // installMechanics(parameterDef, prototype, propertyKey, '@RouteId');
55
+ Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, parameterDef);
54
56
  };
55
57
  }
56
58
  export function VisitParameter(options) {
57
59
  const opts = Opts.get(options);
58
60
  return (prototype, propertyKey) => {
59
61
  const parameterDef = new ParameterDefinition.ValueParameter(propertyKey.toString(), options, opts.getOptional('storeInUrl', null));
60
- installMechanics(parameterDef, prototype, propertyKey, '@VisitParameter');
62
+ Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, parameterDef);
63
+ // installMechanics(parameterDef, prototype, propertyKey, '@VisitParameter');
61
64
  };
62
65
  }
63
66
  export function VisitParameterList(options) {
64
67
  const opts = Opts.get(options);
65
68
  return (prototype, propertyKey) => {
66
69
  const parameterDef = new ParameterDefinition.ArrayParameter(propertyKey.toString(), options, opts.getOptional('storeInUrl', null));
67
- installMechanics(parameterDef, prototype, propertyKey, '@VisitParameterList');
70
+ Klass.get(prototype).addToOwnMetadataList(ROUTE_PARAMETER_LIST_KEY, parameterDef);
71
+ // installMechanics(parameterDef, prototype, propertyKey, '@VisitParameterList');
68
72
  };
69
73
  }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlY29yYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9yb3V0ZS9wYXJhbWV0ZXItZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFpQixZQUFZLEVBQUUsU0FBUyxFQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0YsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQStCN0QsU0FBUyxnQkFBZ0IsQ0FBMEIsWUFBc0MsRUFBRSxTQUFpQixFQUFFLFdBQTRCLEVBQUUsU0FBaUI7SUFFM0osS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyx3QkFBd0IsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUVsRixTQUFTLFlBQVksQ0FBQyxRQUFXLEVBQUUsWUFBNkI7UUFDOUQsTUFBTSxHQUFHLEdBQUcsZUFBZSxZQUFZLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztRQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xCLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ3ZELFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRztnQkFDZCxZQUFZLEVBQUUsWUFBWTtnQkFDMUIsT0FBTyxFQUFFLElBQXlCO2FBQ25DLENBQUM7WUFDRixNQUFNLEdBQUcsR0FBRyxHQUFHLFNBQVMsSUFBSSxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FB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LENBQUMsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbkksZ0JBQWdCLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUscUJBQXFCLENBQUMsQ0FBQztJQUNoRixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmluZGluZywgQ29uc3RydWN0YWJsZSwgRGVidWdDb250ZXh0LCBGdW5jdGlvbnMsIEhhc1ZhbHVlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgS2xhc3MsIE9wdHMgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSB9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtYXR0ZXIgfSBmcm9tICcuL2Zvcm1hdHRlcic7XG5pbXBvcnQgeyBQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9wYXJhbWV0ZXItZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVJZE9wdGlvbnM8VD4ge1xuICBhcz86IHN0cmluZztcbiAgb3B0aW9uYWw/OiBib29sZWFuO1xuICByZW1lbWJlcj86IGJvb2xlYW47XG4gIGRlZmF1bHRWYWx1ZT86IFQ7XG4gIHNhbml0aXNlcj86IENvbnN0cnVjdGFibGU8UGFyYW1ldGVyU2FuaXRpc2VyPFQ+PiB8IFBhcmFtZXRlclNhbml0aXNlcjxUPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZVBhcmFtZXRlck9wdGlvbnM8VD4ge1xuICBhcz86IHN0cmluZztcbiAgb3B0aW9uYWw/OiBib29sZWFuO1xuICByZW1lbWJlcj86IGJvb2xlYW47XG4gIGRlZmF1bHRWYWx1ZT86IFQ7XG4gIHN0b3JlSW5Vcmw/OiBGb3JtYXR0ZXI8VD5cbiAgc2FuaXRpc2VyPzogQ29uc3RydWN0YWJsZTxQYXJhbWV0ZXJTYW5pdGlzZXI8VD4+IHwgUGFyYW1ldGVyU2FuaXRpc2VyPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlTGlzdFBhcmFtZXRlck9wdGlvbnM8VD4ge1xuICBhcz86IHN0cmluZztcbiAgb3B0aW9uYWw/OiBib29sZWFuO1xuICByZW1lbWJlcj86IGJvb2xlYW47XG4gIGRlZmF1bHRWYWx1ZT86IFRbXTtcbiAgc3RvcmVJblVybD86IEZvcm1hdHRlcjxUPlxuICBzYW5pdGlzZXI/OiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxUW10+PiB8IFBhcmFtZXRlclNhbml0aXNlcjxUW10+O1xufVxuXG5cbmZ1bmN0aW9uIGluc3RhbGxNZWNoYW5pY3M8TSBleHRlbmRzIEhhc1ZhbHVlPGFueT4+KHBhcmFtZXRlckRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxhbnk+LCBwcm90b3R5cGU6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCwgdGFnUHJlZml4OiBzdHJpbmcpIHtcblxuICBLbGFzcy5nZXQocHJvdG90eXBlKS5hZGRUb093bk1ldGFkYXRhTGlzdChST1VURV9QQVJBTUVURVJfTElTVF9LRVksIHBhcmFtZXRlckRlZik7XG5cbiAgZnVuY3Rpb24gZ2V0TWVjaGFuaWNzKGluc3RhbmNlOiBNLCBwcm9wZXJ0eU5hbWU6IHN0cmluZyB8IHN5bWJvbCkge1xuICAgIGNvbnN0IGtleSA9IGBfX21lY2hhbmljc18ke3Byb3BlcnR5TmFtZS50b1N0cmluZygpfWA7XG4gICAgaWYgKCFpbnN0YW5jZVtrZXldKSB7XG4gICAgICBjb25zdCBiYWNraW5nTW9kZWwgPSBwYXJhbWV0ZXJEZWYuY3JlYXRlQmFja2luZ01vZGVsKCk7XG4gICAgICBpbnN0YW5jZVtrZXldID0ge1xuICAgICAgICBiYWNraW5nTW9kZWw6IGJhY2tpbmdNb2RlbCxcbiAgICAgICAgYmluZGluZzogbnVsbCBhcyBCaW5kaW5nPGFueSwgYW55PlxuICAgICAgfTtcbiAgICAgIGNvbnN0IHRhZyA9IGAke3RhZ1ByZWZpeH0oJHtwcm90b3R5cGUuY29uc3RydWN0b3IubmFtZX0uJHtwcm9wZXJ0eUtleS50b1N0cmluZygpfSlgO1xuICAgICAgRGVidWdDb250ZXh0LmdldE9yQ3JlYXRlKGluc3RhbmNlW2tleV0uYmFja2luZ01vZGVsKS50YWcodGFnKTtcbiAgICB9XG4gICAgcmV0dXJuIGluc3RhbmNlW2tleV07XG4gIH1cblxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG90eXBlLCBwcm9wZXJ0eUtleSwge1xuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gZ2V0TWVjaGFuaWNzKHRoaXMsIHByb3BlcnR5S2V5KS5iYWNraW5nTW9kZWw7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uKHVzZXJNb2RlbDogTSkge1xuICAgICAgY29uc3QgbWVjaGFuaWNzID0gZ2V0TWVjaGFuaWNzKHRoaXMsIHByb3BlcnR5S2V5KTtcbiAgICAgIC8vIFRoaXMgaGFuZGxlcyB0aGUgc2NlbmFyaW8gd2hlcmUgd2Ugd2FudCB0byBwdXNoIGFuIGV4aXN0aW5nIHZhbHVlIG1vZGVsIChzdWNoIGFzIGEgZm9ybSBtb2RlbClcbiAgICAgIC8vIHRvIGFuZCBmcm9tIHRoZSByb3V0ZS5cbiAgICAgIGlmIChtZWNoYW5pY3MuYmluZGluZykge1xuICAgICAgICBtZWNoYW5pY3MuYmluZGluZy5kaXNwb3NlKCk7XG4gICAgICB9XG4gICAgICBpZiAodXNlck1vZGVsKSB7XG4gICAgICAgIG1lY2hhbmljcy5iaW5kaW5nID0gbmV3IEJpbmRpbmcobWVjaGFuaWNzLmJhY2tpbmdNb2RlbCwgdXNlck1vZGVsLCB7XG4gICAgICAgICAgdG9MZWZ0OiBGdW5jdGlvbnMuaWRlbnRpdHksXG4gICAgICAgICAgdG9SaWdodDogRnVuY3Rpb25zLmlkZW50aXR5XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAocGFyYW1ldGVyRGVmLmlzRW1wdHlWYWx1ZSh1c2VyTW9kZWwudmFsdWUpKSB7XG4gICAgICAgICAgLy8gY29uc29sZS5sb2coYFB1c2ggdmlzaXQgdG8gbW9kZWwgZm9yICR7dGFnfWAsIHt2YWx1ZTogbWVjaGFuaWNzLmJhY2tpbmdNb2RlbC52YWx1ZX0pO1xuICAgICAgICAgIG1lY2hhbmljcy5iaW5kaW5nLndyaXRlUmlnaHQoKTsgLy8gcHVzaCB0aGUgdmlzaXQgaW50byB0aGUgdXNlciBtb2RlbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoIXBhcmFtZXRlckRlZi5pc0VtcHR5VmFsdWUobWVjaGFuaWNzLmJhY2tpbmdNb2RlbC52YWx1ZSkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignQXNzaWduaW5nIGEgdmlzaXQgbW9kZWwgd2l0aCBhbiBleGlzdGluZyB2YWx1ZSB0byBhIHZpc2l0IHBhcmFtZXRlciB3aXRoIGFuIGV4aXN0aW5nIHZhbHVlLiAgVmlzaXQgcGFyYW1ldGVyIHdpbGwgYmUgb3ZlcnJpZGRlbicpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBtZWNoYW5pY3MuYmluZGluZy53cml0ZUxlZnQoKTsgLy8gcHVzaCB0aGUgdXNlciBtb2RlbCBpbnRvIHRoZSB2aXNpdFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJvdXRlSWQ8VCBleHRlbmRzIHN0cmluZyB8IG51bWJlcj4oZm9ybWF0dGVyOiBGb3JtYXR0ZXI8VD4sIG9wdGlvbnM/OiBSb3V0ZUlkT3B0aW9uczxUPik6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgcmV0dXJuIChwcm90b3R5cGU6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCkgPT4ge1xuICAgIGNvbnN0IHBhcmFtZXRlckRlZiA9IG5ldyBQYXJhbWV0ZXJEZWZpbml0aW9uLlJvdXRlSWQocHJvcGVydHlLZXkudG9TdHJpbmcoKSwgb3B0aW9ucywgZm9ybWF0dGVyKTtcbiAgICBpbnN0YWxsTWVjaGFuaWNzKHBhcmFtZXRlckRlZiwgcHJvdG90eXBlLCBwcm9wZXJ0eUtleSwgJ0BSb3V0ZUlkJyk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBWaXNpdFBhcmFtZXRlcjxUPihvcHRpb25zPzogUm91dGVQYXJhbWV0ZXJPcHRpb25zPFQ+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIHJldHVybiAocHJvdG90eXBlOiBPYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbWV0ZXJEZWYgPSBuZXcgUGFyYW1ldGVyRGVmaW5pdGlvbi5WYWx1ZVBhcmFtZXRlcihwcm9wZXJ0eUtleS50b1N0cmluZygpLCBvcHRpb25zLCBvcHRzLmdldE9wdGlvbmFsKCdzdG9yZUluVXJsJywgbnVsbCkpO1xuICAgIGluc3RhbGxNZWNoYW5pY3MocGFyYW1ldGVyRGVmLCBwcm90b3R5cGUsIHByb3BlcnR5S2V5LCAnQFZpc2l0UGFyYW1ldGVyJyk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBWaXNpdFBhcmFtZXRlckxpc3Q8RT4ob3B0aW9ucz86IFJvdXRlTGlzdFBhcmFtZXRlck9wdGlvbnM8RT4pOiBQcm9wZXJ0eURlY29yYXRvciB7XG4gIGNvbnN0IG9wdHMgPSBPcHRzLmdldChvcHRpb25zKTtcbiAgcmV0dXJuIChwcm90b3R5cGU6IE9iamVjdCwgcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCkgPT4ge1xuICAgIGNvbnN0IHBhcmFtZXRlckRlZiA9IG5ldyBQYXJhbWV0ZXJEZWZpbml0aW9uLkFycmF5UGFyYW1ldGVyKHByb3BlcnR5S2V5LnRvU3RyaW5nKCksIG9wdGlvbnMsIG9wdHMuZ2V0T3B0aW9uYWwoJ3N0b3JlSW5VcmwnLCBudWxsKSk7XG4gICAgaW5zdGFsbE1lY2hhbmljcyhwYXJhbWV0ZXJEZWYsIHByb3RvdHlwZSwgcHJvcGVydHlLZXksICdAVmlzaXRQYXJhbWV0ZXJMaXN0Jyk7XG4gIH07XG59XG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlY29yYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9yb3V0ZS9wYXJhbWV0ZXItZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRXpELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRTVELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBK0IzRCxtS0FBbUs7QUFDbkssRUFBRTtBQUNGLHVGQUF1RjtBQUN2RixFQUFFO0FBQ0Ysd0VBQXdFO0FBQ3hFLDREQUE0RDtBQUM1RCw0QkFBNEI7QUFDNUIsZ0VBQWdFO0FBQ2hFLDBCQUEwQjtBQUMxQixzQ0FBc0M7QUFDdEMsNkNBQTZDO0FBQzdDLFdBQVc7QUFDWCw2RkFBNkY7QUFDN0YsdUVBQXVFO0FBQ3ZFLFFBQVE7QUFDUiw0QkFBNEI7QUFDNUIsTUFBTTtBQUNOLEVBQUU7QUFDRixvREFBb0Q7QUFDcEQsd0JBQXdCO0FBQ3hCLDZEQUE2RDtBQUM3RCxTQUFTO0FBQ1Qsb0NBQW9DO0FBQ3BDLDJEQUEyRDtBQUMzRCwwR0FBMEc7QUFDMUcsa0NBQWtDO0FBQ2xDLGlDQUFpQztBQUNqQyx1Q0FBdUM7QUFDdkMsVUFBVTtBQUNWLHlCQUF5QjtBQUN6QiwrRUFBK0U7QUFDL0Usd0NBQXdDO0FBQ3hDLHdDQUF3QztBQUN4QyxjQUFjO0FBQ2QsNERBQTREO0FBQzVELHFHQUFxRztBQUNyRyxtRkFBbUY7QUFDbkYsbUJBQW1CO0FBQ25CLDRFQUE0RTtBQUM1RSwrSkFBK0o7QUFDL0osY0FBYztBQUNkLGlGQUFpRjtBQUNqRixZQUFZO0FBQ1osVUFBVTtBQUNWLFFBQVE7QUFDUixRQUFRO0FBQ1IsSUFBSTtBQUVKLE1BQU0sVUFBVSxPQUFPLENBQTRCLFNBQXVCLEVBQUUsT0FBMkI7SUFDckcsT0FBTyxDQUFDLFNBQWlCLEVBQUUsV0FBNEIsRUFBRSxFQUFFO1FBQ3pELE1BQU0sWUFBWSxHQUFHLElBQUksbUJBQW1CLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDakcsc0VBQXNFO1FBQ3RFLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDcEYsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUksT0FBa0M7SUFDbEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixPQUFPLENBQUMsU0FBaUIsRUFBRSxXQUE0QixFQUFFLEVBQUU7UUFDekQsTUFBTSxZQUFZLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25JLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDbEYsNkVBQTZFO0lBQy9FLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUksT0FBc0M7SUFDMUUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixPQUFPLENBQUMsU0FBaUIsRUFBRSxXQUE0QixFQUFFLEVBQUU7UUFDekQsTUFBTSxZQUFZLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25JLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUMsd0JBQXdCLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDbEYsaUZBQWlGO0lBQ25GLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCaW5kaW5nLCBDYW5Qcm94eSxcbiAgQ29uc3RydWN0YWJsZSxcbiAgRGVidWdDb250ZXh0LCBEZWxlZ2F0aW5nVmFsdWVNb2RlbCxcbiAgRnVuY3Rpb25zLFxuICBIYXNWYWx1ZSxcbiAgbGFuZyxcbiAgTXV0YWJsZVZhbHVlTW9kZWwsXG4gIFByb3hpZnksIFByb3hpZnlNZWNoYW5pY3MsIFZhbHVlTW9kZWxcbn0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHtLbGFzcywgT3B0c30gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQge2lzTmlsfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQge1JPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWX0gZnJvbSAnLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybWF0dGVyfSBmcm9tICcuL2Zvcm1hdHRlcic7XG5pbXBvcnQge1BhcmFtZXRlckRlZmluaXRpb259IGZyb20gJy4vcGFyYW1ldGVyLWRlZmluaXRpb24nO1xuaW1wb3J0IHtQYXJhbWV0ZXJTYW5pdGlzZXJ9IGZyb20gJy4vcGFyYW1ldGVyLXNhbml0aXNlcic7XG5cblxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZUlkT3B0aW9uczxUPiB7XG4gIGFzPzogc3RyaW5nO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIHJlbWVtYmVyPzogYm9vbGVhbjtcbiAgZGVmYXVsdFZhbHVlPzogVDtcbiAgc2FuaXRpc2VyPzogQ29uc3RydWN0YWJsZTxQYXJhbWV0ZXJTYW5pdGlzZXI8VD4+IHwgUGFyYW1ldGVyU2FuaXRpc2VyPFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRlUGFyYW1ldGVyT3B0aW9uczxUPiB7XG4gIGFzPzogc3RyaW5nO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIHJlbWVtYmVyPzogYm9vbGVhbjtcbiAgZGVmYXVsdFZhbHVlPzogVDtcbiAgc3RvcmVJblVybD86IEZvcm1hdHRlcjxUPlxuICBzYW5pdGlzZXI/OiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxUPj4gfCBQYXJhbWV0ZXJTYW5pdGlzZXI8VD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVMaXN0UGFyYW1ldGVyT3B0aW9uczxUPiB7XG4gIGFzPzogc3RyaW5nO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIHJlbWVtYmVyPzogYm9vbGVhbjtcbiAgZGVmYXVsdFZhbHVlPzogVFtdO1xuICBzdG9yZUluVXJsPzogRm9ybWF0dGVyPFQ+XG4gIHNhbml0aXNlcj86IENvbnN0cnVjdGFibGU8UGFyYW1ldGVyU2FuaXRpc2VyPFRbXT4+IHwgUGFyYW1ldGVyU2FuaXRpc2VyPFRbXT47XG59XG5cblxuLy8gZnVuY3Rpb24gaW5zdGFsbE1lY2hhbmljczxNIGV4dGVuZHMgSGFzVmFsdWU8YW55Pj4ocGFyYW1ldGVyRGVmOiBQYXJhbWV0ZXJEZWZpbml0aW9uPGFueT4sIHByb3RvdHlwZTogb2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sLCB0YWdQcmVmaXg6IHN0cmluZykge1xuLy9cbi8vICAgS2xhc3MuZ2V0KHByb3RvdHlwZSkuYWRkVG9Pd25NZXRhZGF0YUxpc3QoUk9VVEVfUEFSQU1FVEVSX0xJU1RfS0VZLCBwYXJhbWV0ZXJEZWYpO1xuLy9cbi8vICAgZnVuY3Rpb24gZ2V0TWVjaGFuaWNzKGluc3RhbmNlOiBNLCBwcm9wZXJ0eU5hbWU6IHN0cmluZyB8IHN5bWJvbCkge1xuLy8gICAgIGNvbnN0IGtleSA9IGBfX21lY2hhbmljc18ke3Byb3BlcnR5TmFtZS50b1N0cmluZygpfWA7XG4vLyAgICAgaWYgKCFpbnN0YW5jZVtrZXldKSB7XG4vLyAgICAgICBjb25zdCBiYWNraW5nTW9kZWwgPSBwYXJhbWV0ZXJEZWYuY3JlYXRlQmFja2luZ01vZGVsKCk7XG4vLyAgICAgICBpbnN0YW5jZVtrZXldID0ge1xuLy8gICAgICAgICBiYWNraW5nTW9kZWw6IGJhY2tpbmdNb2RlbCxcbi8vICAgICAgICAgYmluZGluZzogbnVsbCBhcyBCaW5kaW5nPGFueSwgYW55PlxuLy8gICAgICAgfTtcbi8vICAgICAgIGNvbnN0IHRhZyA9IGAke3RhZ1ByZWZpeH0oJHtwcm90b3R5cGUuY29uc3RydWN0b3IubmFtZX0uJHtwcm9wZXJ0eUtleS50b1N0cmluZygpfSlgO1xuLy8gICAgICAgRGVidWdDb250ZXh0LmdldE9yQ3JlYXRlKGluc3RhbmNlW2tleV0uYmFja2luZ01vZGVsKS50YWcodGFnKTtcbi8vICAgICB9XG4vLyAgICAgcmV0dXJuIGluc3RhbmNlW2tleV07XG4vLyAgIH1cbi8vXG4vLyAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90b3R5cGUsIHByb3BlcnR5S2V5LCB7XG4vLyAgICAgZ2V0OiBmdW5jdGlvbigpIHtcbi8vICAgICAgIHJldHVybiBnZXRNZWNoYW5pY3ModGhpcywgcHJvcGVydHlLZXkpLmJhY2tpbmdNb2RlbDtcbi8vICAgICB9LFxuLy8gICAgIHNldDogZnVuY3Rpb24odXNlck1vZGVsOiBNKSB7XG4vLyAgICAgICBjb25zdCBtZWNoYW5pY3MgPSBnZXRNZWNoYW5pY3ModGhpcywgcHJvcGVydHlLZXkpO1xuLy8gICAgICAgLy8gVGhpcyBoYW5kbGVzIHRoZSBzY2VuYXJpbyB3aGVyZSB3ZSB3YW50IHRvIHB1c2ggYW4gZXhpc3RpbmcgdmFsdWUgbW9kZWwgKHN1Y2ggYXMgYSBmb3JtIG1vZGVsKVxuLy8gICAgICAgLy8gdG8gYW5kIGZyb20gdGhlIHJvdXRlLlxuLy8gICAgICAgaWYgKG1lY2hhbmljcy5iaW5kaW5nKSB7XG4vLyAgICAgICAgIG1lY2hhbmljcy5iaW5kaW5nLmRpc3Bvc2UoKTtcbi8vICAgICAgIH1cbi8vICAgICAgIGlmICh1c2VyTW9kZWwpIHtcbi8vICAgICAgICAgbWVjaGFuaWNzLmJpbmRpbmcgPSBuZXcgQmluZGluZyhtZWNoYW5pY3MuYmFja2luZ01vZGVsLCB1c2VyTW9kZWwsIHtcbi8vICAgICAgICAgICB0b0xlZnQ6IEZ1bmN0aW9ucy5pZGVudGl0eSxcbi8vICAgICAgICAgICB0b1JpZ2h0OiBGdW5jdGlvbnMuaWRlbnRpdHlcbi8vICAgICAgICAgfSk7XG4vLyAgICAgICAgIGlmIChwYXJhbWV0ZXJEZWYuaXNFbXB0eVZhbHVlKHVzZXJNb2RlbC52YWx1ZSkpIHtcbi8vICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhgUHVzaCB2aXNpdCB0byBtb2RlbCBmb3IgJHt0YWd9YCwge3ZhbHVlOiBtZWNoYW5pY3MuYmFja2luZ01vZGVsLnZhbHVlfSk7XG4vLyAgICAgICAgICAgbWVjaGFuaWNzLmJpbmRpbmcud3JpdGVSaWdodCgpOyAvLyBwdXNoIHRoZSB2aXNpdCBpbnRvIHRoZSB1c2VyIG1vZGVsO1xuLy8gICAgICAgICB9IGVsc2Uge1xuLy8gICAgICAgICAgIGlmICghcGFyYW1ldGVyRGVmLmlzRW1wdHlWYWx1ZShtZWNoYW5pY3MuYmFja2luZ01vZGVsLnZhbHVlKSkge1xuLy8gICAgICAgICAgICAgY29uc29sZS53YXJuKCdBc3NpZ25pbmcgYSB2aXNpdCBtb2RlbCB3aXRoIGFuIGV4aXN0aW5nIHZhbHVlIHRvIGEgdmlzaXQgcGFyYW1ldGVyIHdpdGggYW4gZXhpc3RpbmcgdmFsdWUuICBWaXNpdCBwYXJhbWV0ZXIgd2lsbCBiZSBvdmVycmlkZGVuJyk7XG4vLyAgICAgICAgICAgfVxuLy8gICAgICAgICAgIG1lY2hhbmljcy5iaW5kaW5nLndyaXRlTGVmdCgpOyAvLyBwdXNoIHRoZSB1c2VyIG1vZGVsIGludG8gdGhlIHZpc2l0XG4vLyAgICAgICAgIH1cbi8vICAgICAgIH1cbi8vICAgICB9XG4vLyAgIH0pO1xuLy8gfVxuXG5leHBvcnQgZnVuY3Rpb24gUm91dGVJZDxUIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyPihmb3JtYXR0ZXI6IEZvcm1hdHRlcjxUPiwgb3B0aW9ucz86IFJvdXRlSWRPcHRpb25zPFQ+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICByZXR1cm4gKHByb3RvdHlwZTogb2JqZWN0LCBwcm9wZXJ0eUtleTogc3RyaW5nIHwgc3ltYm9sKSA9PiB7XG4gICAgY29uc3QgcGFyYW1ldGVyRGVmID0gbmV3IFBhcmFtZXRlckRlZmluaXRpb24uUm91dGVJZChwcm9wZXJ0eUtleS50b1N0cmluZygpLCBvcHRpb25zLCBmb3JtYXR0ZXIpO1xuICAgIC8vIGluc3RhbGxNZWNoYW5pY3MocGFyYW1ldGVyRGVmLCBwcm90b3R5cGUsIHByb3BlcnR5S2V5LCAnQFJvdXRlSWQnKTtcbiAgICBLbGFzcy5nZXQocHJvdG90eXBlKS5hZGRUb093bk1ldGFkYXRhTGlzdChST1VURV9QQVJBTUVURVJfTElTVF9LRVksIHBhcmFtZXRlckRlZik7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBWaXNpdFBhcmFtZXRlcjxUPihvcHRpb25zPzogUm91dGVQYXJhbWV0ZXJPcHRpb25zPFQ+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIHJldHVybiAocHJvdG90eXBlOiBvYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbWV0ZXJEZWYgPSBuZXcgUGFyYW1ldGVyRGVmaW5pdGlvbi5WYWx1ZVBhcmFtZXRlcihwcm9wZXJ0eUtleS50b1N0cmluZygpLCBvcHRpb25zLCBvcHRzLmdldE9wdGlvbmFsKCdzdG9yZUluVXJsJywgbnVsbCkpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSwgcGFyYW1ldGVyRGVmKTtcbiAgICAvLyBpbnN0YWxsTWVjaGFuaWNzKHBhcmFtZXRlckRlZiwgcHJvdG90eXBlLCBwcm9wZXJ0eUtleSwgJ0BWaXNpdFBhcmFtZXRlcicpO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVmlzaXRQYXJhbWV0ZXJMaXN0PEU+KG9wdGlvbnM/OiBSb3V0ZUxpc3RQYXJhbWV0ZXJPcHRpb25zPEU+KTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICBjb25zdCBvcHRzID0gT3B0cy5nZXQob3B0aW9ucyk7XG4gIHJldHVybiAocHJvdG90eXBlOiBvYmplY3QsIHByb3BlcnR5S2V5OiBzdHJpbmcgfCBzeW1ib2wpID0+IHtcbiAgICBjb25zdCBwYXJhbWV0ZXJEZWYgPSBuZXcgUGFyYW1ldGVyRGVmaW5pdGlvbi5BcnJheVBhcmFtZXRlcihwcm9wZXJ0eUtleS50b1N0cmluZygpLCBvcHRpb25zLCBvcHRzLmdldE9wdGlvbmFsKCdzdG9yZUluVXJsJywgbnVsbCkpO1xuICAgIEtsYXNzLmdldChwcm90b3R5cGUpLmFkZFRvT3duTWV0YWRhdGFMaXN0KFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSwgcGFyYW1ldGVyRGVmKTtcbiAgICAvLyBpbnN0YWxsTWVjaGFuaWNzKHBhcmFtZXRlckRlZiwgcHJvdG90eXBlLCBwcm9wZXJ0eUtleSwgJ0BWaXNpdFBhcmFtZXRlckxpc3QnKTtcbiAgfTtcbn1cbiJdfQ==
@@ -118,4 +118,4 @@ export class ParameterDefinition {
118
118
  }
119
119
  ParameterDefinition.get = get;
120
120
  })(ParameterDefinition || (ParameterDefinition = {}));
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlZmluaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9yb3V0ZS9wYXJhbWV0ZXItZGVmaW5pdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXNDLGdCQUFnQixFQUFFLGlCQUFpQixFQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFDckgsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBTTlELE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFHL0QsTUFBTSxPQUFnQixtQkFBbUI7SUFVbEI7SUFBd0U7SUFMcEYsUUFBUSxDQUFVO0lBQ2xCLFlBQVksQ0FBSTtJQUNqQixPQUFPLENBQXVDO0lBR3RELFlBQXFCLFlBQW9CLEVBQUUsT0FBdUMsRUFBVyxTQUF3QjtRQUFoRyxpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUFvRCxjQUFTLEdBQVQsU0FBUyxDQUFlO1FBQ25ILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFB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QUUsU0FBUyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELFlBQVksQ0FBQyxLQUFVO1lBQ3JCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFFRCxVQUFVLENBQUMsQ0FBTSxFQUFFLENBQU07WUFDdkIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEIsQ0FBQztLQUVGO0lBakJZLGtDQUFjLGlCQWlCMUIsQ0FBQTtJQUlELFNBQWdCLEdBQUcsQ0FBSSxLQUFtQztRQUN4RCxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLG9GQUFvRixDQUFDLENBQUM7U0FDNUc7UUFDRCxPQUFPLG1CQUFtQixDQUFDO0lBQzdCLENBQUM7SUFOZSx1QkFBRyxNQU1sQixDQUFBO0FBR0gsQ0FBQyxFQXJFZ0IsbUJBQW1CLEtBQW5CLG1CQUFtQixRQXFFbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgSGFzVmFsdWUsIExpc3RNb2RlbCwgTXV0YWJsZUxpc3RNb2RlbCwgTXV0YWJsZVZhbHVlTW9kZWwsIFZhbHVlTW9kZWwgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBsYW5nLCBPcHRzIH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5cbmltcG9ydCB7IGlzRXF1YWwsIGlzRnVuY3Rpb24sIGlzTmlsLCBpc09iamVjdCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBQbGFjZUhpc3RvcnkgfSBmcm9tICcuLi9wbGFjZS1oaXN0b3J5JztcbmltcG9ydCB7IFZpc2l0U2VnbWVudCB9IGZyb20gJy4uL3Zpc2l0LXNlZ21lbnQnO1xuaW1wb3J0IHsgRm9ybWF0dGVyIH0gZnJvbSAnLi9mb3JtYXR0ZXInO1xuaW1wb3J0IHsgUGFyYW1ldGVyU2FuaXRpc2VyIH0gZnJvbSAnLi9wYXJhbWV0ZXItc2FuaXRpc2VyJztcblxuY29uc3QgUEFSQU1FVEVSX0RFRklOSVRJT05fS0VZID0gU3ltYm9sKCdwYXJhbWV0ZXJEZWZpbml0aW9uJyk7XG5cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBhcmFtZXRlckRlZmluaXRpb248VCwgRSA9IFQ+IHtcblxuICBhYnN0cmFjdCByZWFkb25seSBpc1JvdXRlSWQ6IGJvb2xlYW47XG4gIGFic3RyYWN0IHJlYWRvbmx5IGlzQXJyYXk6IGJvb2xlYW47XG5cbiAgcmVhZG9ubHkgcmVtZW1iZXI6IGJvb2xlYW47XG4gIHJlYWRvbmx5IGRlZmF1bHRWYWx1ZTogVDtcbiAgcHJpdmF0ZSBvcHRpb25zOiBPcHRzPFBhcmFtZXRlckRlZmluaXRpb24uT3B0aW9uczxUPj47XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBiYWNraW5nTW9kZWxGYWN0b3J5OiAoKSA9PiBIYXNWYWx1ZTxUPjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBwcm9wZXJ0eU5hbWU6IHN0cmluZywgb3B0aW9uczogUGFyYW1ldGVyRGVmaW5pdGlvbi5PcHRpb25zPFQ+LCByZWFkb25seSB1cmxGb3JtYXQ/OiBGb3JtYXR0ZXI8RT4pIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBPcHRzLmdldChvcHRpb25zKTtcbiAgICB0aGlzLnJlbWVtYmVyID0gdGhpcy5vcHRpb25zLmdldE9wdGlvbmFsKCdyZW1lbWJlcicsIGZhbHNlKTtcbiAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IHRoaXMub3B0aW9ucy5nZXRPcHRpb25hbCgnZGVmYXVsdFZhbHVlJywgbnVsbCk7XG4gIH1cblxuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmdldE9wdGlvbmFsKCdhcycsIHRoaXMucHJvcGVydHlOYW1lKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGdldCBpc1JvdXRlUGFyYW1ldGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMudXJsRm9ybWF0O1xuICB9XG5cbiAgYWJzdHJhY3QgaXNFbXB0eVZhbHVlKHZhbHVlOiBUKTogYm9vbGVhbjtcblxuICBhYnN0cmFjdCBoYXNDaGFuZ2VkKGE6IGFueSwgYjogYW55KTogYm9vbGVhbjtcblxuICBjcmVhdGVCYWNraW5nTW9kZWwoKTogSGFzVmFsdWU8VD4ge1xuICAgIGNvbnN0IG1vZGVsID0gdGhpcy5iYWNraW5nTW9kZWxGYWN0b3J5KCk7XG4gICAgbW9kZWxbUEFSQU1FVEVSX0RFRklOSVRJT05fS0VZXSA9IHRoaXM7XG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldE9wdGlvblZhbHVlPEsgZXh0ZW5kcyBrZXlvZiBQYXJhbWV0ZXJEZWZpbml0aW9uLk9wdGlvbnM8VD4+KGtleTogSyk6IFBhcmFtZXRlckRlZmluaXRpb24uT3B0aW9uczxUPltLXSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5nZXRPcHRpb25hbChrZXksIG51bGwpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYXN5bmMgc2FuaXRpc2UodmFsdWU6IFQsIHZpc2l0OiBWaXNpdFNlZ21lbnQsIHBsYWNlSGlzdG9yeTogUGxhY2VIaXN0b3J5LCBpbmplY3RvcjogSW5qZWN0b3IsIGlzUG9wU3RhdGU6IGJvb2xlYW4pOiBQcm9taXNlPFQ+IHtcbiAgICAvLyBjb25zb2xlLmxvZyhgc2FuaXRpc2UoJHt0aGlzLnByb3BlcnR5TmFtZX0pYClcbiAgICB2YWx1ZSA9IGF3YWl0IHRoaXMuc2FuaXRpc2VNaXNzaW5nKHZpc2l0LCBwbGFjZUhpc3RvcnksIHZhbHVlKTtcbiAgICB2YWx1ZSA9IGF3YWl0IHRoaXMucnVuQ3VzdG9tU2FuaXRpc2VyKHZhbHVlLCB2aXNpdCwgcGxhY2VIaXN0b3J5LCBpbmplY3RvciwgaXNQb3BTdGF0ZSk7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBydW5DdXN0b21TYW5pdGlzZXIodmFsdWU6IFQsIHZpc2l0OiBWaXNpdFNlZ21lbnQsIHBsYWNlSGlzdG9yeTogUGxhY2VIaXN0b3J5LCBpbmplY3RvcjogSW5qZWN0b3IsIGlzUG9wU3RhdGU6IGJvb2xlYW4pOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBjdXN0b21TYW5pdGlzZXIgPSB0aGlzLnByZXBhcmVDdXN0b21TYW5pdGlzZXIoaW5qZWN0b3IpO1xuICAgIHJldHVybiBjdXN0b21TYW5pdGlzZXIgPyBjdXN0b21TYW5pdGlzZXIuc2FuaXRpc2UodmFsdWUsIHZpc2l0LCBpbmplY3RvcikgOiB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgc2FuaXRpc2VNaXNzaW5nKHZpc2l0OiBWaXNpdFNlZ21lbnQsIHBsYWNlSGlzdG9yeTogUGxhY2VIaXN0b3J5LCB2YWx1ZTogVCkge1xuICAgIGlmICh0aGlzLmlzTWlzc2luZ0Zyb20odmlzaXQpKSB7XG4gICAgICBjb25zdCByZXR1cm5pbmdGcm9tU29tZXdoZXJlRWxzZSA9ICFwbGFjZUhpc3RvcnkubGFzdFZpc2l0SW5jbHVkZWQodmlzaXQucGxhY2VEZWZpbml0aW9uKTtcbiAgICAgIGlmIChyZXR1cm5pbmdGcm9tU29tZXdoZXJlRWxzZSkge1xuICAgICAgICBjb25zdCBsYXN0S25vd25WaXNpdCA9IHBsYWNlSGlzdG9yeS5nZXRNb3N0UmVjZW50VmlzaXRTZWdtZW50Rm9yKHZpc2l0LnBsYWNlRGVmaW5pdGlvbik7XG4gICAgICAgIGlmICh0aGlzLnJlbWVtYmVyICYmIGxhc3RLbm93blZpc2l0KSB7XG4gICAgICAgICAgdmFsdWUgPSBsYXN0S25vd25WaXNpdC5nZXRQYXJhbWV0ZXJWYWx1ZSh0aGlzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pc0VtcHR5VmFsdWUodmFsdWUpID8gdGhpcy5kZWZhdWx0VmFsdWUgOiB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgcHJlcGFyZUN1c3RvbVNhbml0aXNlcihpbmplY3RvcjogSW5qZWN0b3IpOiBQYXJhbWV0ZXJTYW5pdGlzZXI8YW55PiB7XG4gICAgY29uc3QgY3VzdG9tU2FuaXRpc2VyID0gdGhpcy5vcHRpb25zLmdldE9wdGlvbmFsKCdzYW5pdGlzZXInLCBudWxsKTtcbiAgICBpZiAoaXNGdW5jdGlvbihjdXN0b21TYW5pdGlzZXIpKSB7XG4gICAgICByZXR1cm4gaW5qZWN0b3IuZ2V0KGN1c3RvbVNhbml0aXNlcik7XG4gICAgfVxuICAgIGlmIChpc09iamVjdChjdXN0b21TYW5pdGlzZXIpKSB7XG4gICAgICByZXR1cm4gaXNGdW5jdGlvbihjdXN0b21TYW5pdGlzZXJbJ3Nhbml0aXNlJ10pID9cbiAgICAgICAgY3VzdG9tU2FuaXRpc2VyIGFzIFBhcmFtZXRlclNhbml0aXNlcjxhbnk+IDpcbiAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoYGV4cGVjdGVkIEBWaXNpdFBhcmFtZXRlcih7c2FuaXRpc2VyOiAuLi59KSBmb3IgJHt0aGlzLnByb3BlcnR5TmFtZX0gdG8gYmUgYSBjb25zdHJ1Y3RvciBvciBpbnN0YW5jZSBvZiBQYXJhbWV0ZXJTYW5pdGlzZXIsIGdvdDogYCArIGN1c3RvbVNhbml0aXNlcik7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGlzTWlzc2luZ0Zyb20odmlzaXQ6IFZpc2l0U2VnbWVudCkge1xuICAgIHJldHVybiAhdmlzaXQuaGFzUGFyYW1ldGVyKHRoaXMpO1xuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUGFyYW1ldGVyRGVmaW5pdGlvbiB7XG5cbiAgZXhwb3J0IGludGVyZmFjZSBPcHRpb25zPFQ+IHtcbiAgICBhcz86IHN0cmluZztcbiAgICBvcHRpb25hbD86IGJvb2xlYW47XG4gICAgcmVtZW1iZXI/OiBib29sZWFuO1xuICAgIGRlZmF1bHRWYWx1ZT86IFQ7XG4gICAgc2FuaXRpc2VyPzogQ29uc3RydWN0YWJsZTxQYXJhbWV0ZXJTYW5pdGlzZXI8VD4+IHwgUGFyYW1ldGVyU2FuaXRpc2VyPFQ+O1xuICB9XG5cbiAgZXhwb3J0IGNsYXNzIFJvdXRlSWQ8VD4gZXh0ZW5kcyBQYXJhbWV0ZXJEZWZpbml0aW9uPFQ+IHtcbiAgICByZWFkb25seSBpc1JvdXRlSWQgPSB0cnVlO1xuICAgIHJlYWRvbmx5IGlzQXJyYXkgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgYmFja2luZ01vZGVsRmFjdG9yeSA9ICgpID0+IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxUPigpO1xuXG4gICAgaXNFbXB0eVZhbHVlKHZhbHVlOiBUKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gaXNOaWwodmFsdWUpO1xuICAgIH1cblxuICAgIGhhc0NoYW5nZWQoYTogYW55LCBiOiBhbnkpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBhICE9PSBiO1xuICAgIH1cblxuICB9XG5cbiAgZXhwb3J0IGNsYXNzIFZhbHVlUGFyYW1ldGVyPFQ+IGV4dGVuZHMgUGFyYW1ldGVyRGVmaW5pdGlvbjxUPiB7XG4gICAgcmVhZG9ubHkgaXNSb3V0ZUlkID0gZmFsc2U7XG4gICAgcmVhZG9ubHkgaXNBcnJheSA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBiYWNraW5nTW9kZWxGYWN0b3J5ID0gKCkgPT4gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFQ+KCk7XG5cbiAgICBpc0VtcHR5VmFsdWUodmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBpc05pbCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaGFzQ2hhbmdlZChhOiBhbnksIGI6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGEgIT09IGI7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGNsYXNzIEFycmF5UGFyYW1ldGVyPFQ+IGV4dGVuZHMgUGFyYW1ldGVyRGVmaW5pdGlvbjxSZWFkb25seUFycmF5PFQ+LCBUPiB7XG4gICAgcmVhZG9ubHkgaXNSb3V0ZUlkID0gZmFsc2U7XG4gICAgcmVhZG9ubHkgaXNBcnJheSA9IHRydWU7XG4gICAgcHJvdGVjdGVkIGJhY2tpbmdNb2RlbEZhY3RvcnkgPSAoKSA9PiBuZXcgTXV0YWJsZUxpc3RNb2RlbDxUPigpO1xuXG4gICAgY29uc3RydWN0b3IocGFyYW1ldGVyTmFtZTogc3RyaW5nLCBvcHRpb25zOiBPcHRpb25zPFRbXT4sIHVybEZvcm1hdDogRm9ybWF0dGVyPFQ+KSB7XG4gICAgICBzdXBlcihwYXJhbWV0ZXJOYW1lLCBvcHRpb25zLCB1cmxGb3JtYXQpO1xuICAgIH1cblxuICAgIGlzRW1wdHlWYWx1ZSh2YWx1ZTogVFtdKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gaXNOaWwodmFsdWUpIHx8IHZhbHVlLmxlbmd0aCA8IDE7XG4gICAgfVxuXG4gICAgaGFzQ2hhbmdlZChhOiBUW10sIGI6IFRbXSk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuICFpc0VxdWFsKGEsIGIpO1xuICAgIH1cblxuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldDxUPihtb2RlbDogVmFsdWVNb2RlbDxUPik6IFBhcmFtZXRlckRlZmluaXRpb24uVmFsdWVQYXJhbWV0ZXI8VD5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldDxUPihtb2RlbDogTGlzdE1vZGVsPFQ+KTogUGFyYW1ldGVyRGVmaW5pdGlvbi5BcnJheVBhcmFtZXRlcjxUPlxuICBleHBvcnQgZnVuY3Rpb24gZ2V0PFQ+KG1vZGVsOiBWYWx1ZU1vZGVsPFQ+IHwgTGlzdE1vZGVsPFQ+KTogUGFyYW1ldGVyRGVmaW5pdGlvbi5WYWx1ZVBhcmFtZXRlcjxUPiB8IFBhcmFtZXRlckRlZmluaXRpb24uQXJyYXlQYXJhbWV0ZXI8VD4ge1xuICAgIGNvbnN0IHBhcmFtZXRlckRlZmluaXRpb24gPSBtb2RlbFtQQVJBTUVURVJfREVGSU5JVElPTl9LRVldO1xuICAgIGlmICghcGFyYW1ldGVyRGVmaW5pdGlvbikge1xuICAgICAgbGFuZy5pbGxlZ2FsQXJndW1lbnQoJ21vZGVsIGhhc25cXCd0IGJlZW4gYW5ub3RhdGVkIHdpdGggQFZpc2l0UGFyYW1ldGVyLCBAVmlzaXRQYXJhbWV0ZXJMaXN0IG9yIEBSb3V0ZUlkJyk7XG4gICAgfVxuICAgIHJldHVybiBwYXJhbWV0ZXJEZWZpbml0aW9uO1xuICB9XG5cblxufVxuIl19
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlZmluaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9yb3V0ZS9wYXJhbWV0ZXItZGVmaW5pdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXFDLGdCQUFnQixFQUFFLGlCQUFpQixFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkgsT0FBTyxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUV4RCxPQUFPLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBTTVELE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFHL0QsTUFBTSxPQUFnQixtQkFBbUI7SUFVbEI7SUFBd0U7SUFMcEYsUUFBUSxDQUFVO0lBQ2xCLFlBQVksQ0FBSTtJQUNqQixPQUFPLENBQXVDO0lBR3RELFlBQXFCLFlBQW9CLEVBQUUsT0FBdUMsRUFBVyxTQUF3QjtRQUFoRyxpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUFvRCxjQUFTLEdBQVQsU0FBUyxDQUFlO1FBQ25ILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFB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QUUsU0FBUyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELFlBQVksQ0FBQyxLQUFVO1lBQ3JCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFFRCxVQUFVLENBQUMsQ0FBTSxFQUFFLENBQU07WUFDdkIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEIsQ0FBQztLQUVGO0lBakJZLGtDQUFjLGlCQWlCMUIsQ0FBQTtJQUlELFNBQWdCLEdBQUcsQ0FBSSxLQUFtQztRQUN4RCxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLG9GQUFvRixDQUFDLENBQUM7U0FDNUc7UUFDRCxPQUFPLG1CQUFtQixDQUFDO0lBQzdCLENBQUM7SUFOZSx1QkFBRyxNQU1sQixDQUFBO0FBR0gsQ0FBQyxFQXJFZ0IsbUJBQW1CLEtBQW5CLG1CQUFtQixRQXFFbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdG9yfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29uc3RydWN0YWJsZSwgSGFzVmFsdWUsIExpc3RNb2RlbCwgTXV0YWJsZUxpc3RNb2RlbCwgTXV0YWJsZVZhbHVlTW9kZWwsIFZhbHVlTW9kZWx9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7bGFuZywgT3B0c30gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5cbmltcG9ydCB7aXNFcXVhbCwgaXNGdW5jdGlvbiwgaXNOaWwsIGlzT2JqZWN0fSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtQbGFjZUhpc3Rvcnl9IGZyb20gJy4uL3BsYWNlLWhpc3RvcnknO1xuaW1wb3J0IHtWaXNpdFNlZ21lbnR9IGZyb20gJy4uL3Zpc2l0LXNlZ21lbnQnO1xuaW1wb3J0IHtGb3JtYXR0ZXJ9IGZyb20gJy4vZm9ybWF0dGVyJztcbmltcG9ydCB7UGFyYW1ldGVyU2FuaXRpc2VyfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuXG5jb25zdCBQQVJBTUVURVJfREVGSU5JVElPTl9LRVkgPSBTeW1ib2woJ3BhcmFtZXRlckRlZmluaXRpb24nKTtcblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBFID0gVD4ge1xuXG4gIGFic3RyYWN0IHJlYWRvbmx5IGlzUm91dGVJZDogYm9vbGVhbjtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgaXNBcnJheTogYm9vbGVhbjtcblxuICByZWFkb25seSByZW1lbWJlcjogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZGVmYXVsdFZhbHVlOiBUO1xuICBwcml2YXRlIG9wdGlvbnM6IE9wdHM8UGFyYW1ldGVyRGVmaW5pdGlvbi5PcHRpb25zPFQ+PjtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGJhY2tpbmdNb2RlbEZhY3Rvcnk6ICgpID0+IEhhc1ZhbHVlPFQ+O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHByb3BlcnR5TmFtZTogc3RyaW5nLCBvcHRpb25zOiBQYXJhbWV0ZXJEZWZpbml0aW9uLk9wdGlvbnM8VD4sIHJlYWRvbmx5IHVybEZvcm1hdD86IEZvcm1hdHRlcjxFPikge1xuICAgIHRoaXMub3B0aW9ucyA9IE9wdHMuZ2V0KG9wdGlvbnMpO1xuICAgIHRoaXMucmVtZW1iZXIgPSB0aGlzLm9wdGlvbnMuZ2V0T3B0aW9uYWwoJ3JlbWVtYmVyJywgZmFsc2UpO1xuICAgIHRoaXMuZGVmYXVsdFZhbHVlID0gdGhpcy5vcHRpb25zLmdldE9wdGlvbmFsKCdkZWZhdWx0VmFsdWUnLCBudWxsKTtcbiAgfVxuXG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZ2V0T3B0aW9uYWwoJ2FzJywgdGhpcy5wcm9wZXJ0eU5hbWUpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgZ2V0IGlzUm91dGVQYXJhbWV0ZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy51cmxGb3JtYXQ7XG4gIH1cblxuICBhYnN0cmFjdCBpc0VtcHR5VmFsdWUodmFsdWU6IFQpOiBib29sZWFuO1xuXG4gIGFic3RyYWN0IGhhc0NoYW5nZWQoYTogYW55LCBiOiBhbnkpOiBib29sZWFuO1xuXG4gIGNyZWF0ZUJhY2tpbmdNb2RlbCgpOiBIYXNWYWx1ZTxUPiB7XG4gICAgY29uc3QgbW9kZWwgPSB0aGlzLmJhY2tpbmdNb2RlbEZhY3RvcnkoKTtcbiAgICBtb2RlbFtQQVJBTUVURVJfREVGSU5JVElPTl9LRVldID0gdGhpcztcbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0T3B0aW9uVmFsdWU8SyBleHRlbmRzIGtleW9mIFBhcmFtZXRlckRlZmluaXRpb24uT3B0aW9uczxUPj4oa2V5OiBLKTogUGFyYW1ldGVyRGVmaW5pdGlvbi5PcHRpb25zPFQ+W0tdIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmdldE9wdGlvbmFsKGtleSwgbnVsbCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBhc3luYyBzYW5pdGlzZSh2YWx1ZTogVCwgdmlzaXQ6IFZpc2l0U2VnbWVudCwgcGxhY2VIaXN0b3J5OiBQbGFjZUhpc3RvcnksIGluamVjdG9yOiBJbmplY3RvciwgaXNQb3BTdGF0ZTogYm9vbGVhbik6IFByb21pc2U8VD4ge1xuICAgIC8vIGNvbnNvbGUubG9nKGBzYW5pdGlzZSgke3RoaXMucHJvcGVydHlOYW1lfSlgKVxuICAgIHZhbHVlID0gYXdhaXQgdGhpcy5zYW5pdGlzZU1pc3NpbmcodmlzaXQsIHBsYWNlSGlzdG9yeSwgdmFsdWUpO1xuICAgIHZhbHVlID0gYXdhaXQgdGhpcy5ydW5DdXN0b21TYW5pdGlzZXIodmFsdWUsIHZpc2l0LCBwbGFjZUhpc3RvcnksIGluamVjdG9yLCBpc1BvcFN0YXRlKTtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJ1bkN1c3RvbVNhbml0aXNlcih2YWx1ZTogVCwgdmlzaXQ6IFZpc2l0U2VnbWVudCwgcGxhY2VIaXN0b3J5OiBQbGFjZUhpc3RvcnksIGluamVjdG9yOiBJbmplY3RvciwgaXNQb3BTdGF0ZTogYm9vbGVhbik6IFByb21pc2U8VD4ge1xuICAgIGNvbnN0IGN1c3RvbVNhbml0aXNlciA9IHRoaXMucHJlcGFyZUN1c3RvbVNhbml0aXNlcihpbmplY3Rvcik7XG4gICAgcmV0dXJuIGN1c3RvbVNhbml0aXNlciA/IGN1c3RvbVNhbml0aXNlci5zYW5pdGlzZSh2YWx1ZSwgdmlzaXQsIGluamVjdG9yKSA6IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzYW5pdGlzZU1pc3NpbmcodmlzaXQ6IFZpc2l0U2VnbWVudCwgcGxhY2VIaXN0b3J5OiBQbGFjZUhpc3RvcnksIHZhbHVlOiBUKSB7XG4gICAgaWYgKHRoaXMuaXNNaXNzaW5nRnJvbSh2aXNpdCkpIHtcbiAgICAgIGNvbnN0IHJldHVybmluZ0Zyb21Tb21ld2hlcmVFbHNlID0gIXBsYWNlSGlzdG9yeS5sYXN0VmlzaXRJbmNsdWRlZCh2aXNpdC5wbGFjZURlZmluaXRpb24pO1xuICAgICAgaWYgKHJldHVybmluZ0Zyb21Tb21ld2hlcmVFbHNlKSB7XG4gICAgICAgIGNvbnN0IGxhc3RLbm93blZpc2l0ID0gcGxhY2VIaXN0b3J5LmdldE1vc3RSZWNlbnRWaXNpdFNlZ21lbnRGb3IodmlzaXQucGxhY2VEZWZpbml0aW9uKTtcbiAgICAgICAgaWYgKHRoaXMucmVtZW1iZXIgJiYgbGFzdEtub3duVmlzaXQpIHtcbiAgICAgICAgICB2YWx1ZSA9IGxhc3RLbm93blZpc2l0LmdldFBhcmFtZXRlclZhbHVlKHRoaXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmlzRW1wdHlWYWx1ZSh2YWx1ZSkgPyB0aGlzLmRlZmF1bHRWYWx1ZSA6IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmVwYXJlQ3VzdG9tU2FuaXRpc2VyKGluamVjdG9yOiBJbmplY3Rvcik6IFBhcmFtZXRlclNhbml0aXNlcjxhbnk+IHtcbiAgICBjb25zdCBjdXN0b21TYW5pdGlzZXIgPSB0aGlzLm9wdGlvbnMuZ2V0T3B0aW9uYWwoJ3Nhbml0aXNlcicsIG51bGwpO1xuICAgIGlmIChpc0Z1bmN0aW9uKGN1c3RvbVNhbml0aXNlcikpIHtcbiAgICAgIHJldHVybiBpbmplY3Rvci5nZXQoY3VzdG9tU2FuaXRpc2VyKTtcbiAgICB9XG4gICAgaWYgKGlzT2JqZWN0KGN1c3RvbVNhbml0aXNlcikpIHtcbiAgICAgIHJldHVybiBpc0Z1bmN0aW9uKGN1c3RvbVNhbml0aXNlclsnc2FuaXRpc2UnXSkgP1xuICAgICAgICBjdXN0b21TYW5pdGlzZXIgYXMgUGFyYW1ldGVyU2FuaXRpc2VyPGFueT4gOlxuICAgICAgICBsYW5nLmlsbGVnYWxTdGF0ZShgZXhwZWN0ZWQgQFZpc2l0UGFyYW1ldGVyKHtzYW5pdGlzZXI6IC4uLn0pIGZvciAke3RoaXMucHJvcGVydHlOYW1lfSB0byBiZSBhIGNvbnN0cnVjdG9yIG9yIGluc3RhbmNlIG9mIFBhcmFtZXRlclNhbml0aXNlciwgZ290OiBgICsgY3VzdG9tU2FuaXRpc2VyKTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgaXNNaXNzaW5nRnJvbSh2aXNpdDogVmlzaXRTZWdtZW50KSB7XG4gICAgcmV0dXJuICF2aXNpdC5oYXNQYXJhbWV0ZXIodGhpcyk7XG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQYXJhbWV0ZXJEZWZpbml0aW9uIHtcblxuICBleHBvcnQgaW50ZXJmYWNlIE9wdGlvbnM8VD4ge1xuICAgIGFzPzogc3RyaW5nO1xuICAgIG9wdGlvbmFsPzogYm9vbGVhbjtcbiAgICByZW1lbWJlcj86IGJvb2xlYW47XG4gICAgZGVmYXVsdFZhbHVlPzogVDtcbiAgICBzYW5pdGlzZXI/OiBDb25zdHJ1Y3RhYmxlPFBhcmFtZXRlclNhbml0aXNlcjxUPj4gfCBQYXJhbWV0ZXJTYW5pdGlzZXI8VD47XG4gIH1cblxuICBleHBvcnQgY2xhc3MgUm91dGVJZDxUPiBleHRlbmRzIFBhcmFtZXRlckRlZmluaXRpb248VD4ge1xuICAgIHJlYWRvbmx5IGlzUm91dGVJZCA9IHRydWU7XG4gICAgcmVhZG9ubHkgaXNBcnJheSA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBiYWNraW5nTW9kZWxGYWN0b3J5ID0gKCkgPT4gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFQ+KCk7XG5cbiAgICBpc0VtcHR5VmFsdWUodmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBpc05pbCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgaGFzQ2hhbmdlZChhOiBhbnksIGI6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGEgIT09IGI7XG4gICAgfVxuXG4gIH1cblxuICBleHBvcnQgY2xhc3MgVmFsdWVQYXJhbWV0ZXI8VD4gZXh0ZW5kcyBQYXJhbWV0ZXJEZWZpbml0aW9uPFQ+IHtcbiAgICByZWFkb25seSBpc1JvdXRlSWQgPSBmYWxzZTtcbiAgICByZWFkb25seSBpc0FycmF5ID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGJhY2tpbmdNb2RlbEZhY3RvcnkgPSAoKSA9PiBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8VD4oKTtcblxuICAgIGlzRW1wdHlWYWx1ZSh2YWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGlzTmlsKHZhbHVlKTtcbiAgICB9XG5cbiAgICBoYXNDaGFuZ2VkKGE6IGFueSwgYjogYW55KTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gYSAhPT0gYjtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgY2xhc3MgQXJyYXlQYXJhbWV0ZXI8VD4gZXh0ZW5kcyBQYXJhbWV0ZXJEZWZpbml0aW9uPFJlYWRvbmx5QXJyYXk8VD4sIFQ+IHtcbiAgICByZWFkb25seSBpc1JvdXRlSWQgPSBmYWxzZTtcbiAgICByZWFkb25seSBpc0FycmF5ID0gdHJ1ZTtcbiAgICBwcm90ZWN0ZWQgYmFja2luZ01vZGVsRmFjdG9yeSA9ICgpID0+IG5ldyBNdXRhYmxlTGlzdE1vZGVsPFQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihwYXJhbWV0ZXJOYW1lOiBzdHJpbmcsIG9wdGlvbnM6IE9wdGlvbnM8VFtdPiwgdXJsRm9ybWF0OiBGb3JtYXR0ZXI8VD4pIHtcbiAgICAgIHN1cGVyKHBhcmFtZXRlck5hbWUsIG9wdGlvbnMsIHVybEZvcm1hdCk7XG4gICAgfVxuXG4gICAgaXNFbXB0eVZhbHVlKHZhbHVlOiBUW10pOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBpc05pbCh2YWx1ZSkgfHwgdmFsdWUubGVuZ3RoIDwgMTtcbiAgICB9XG5cbiAgICBoYXNDaGFuZ2VkKGE6IFRbXSwgYjogVFtdKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gIWlzRXF1YWwoYSwgYik7XG4gICAgfVxuXG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0PFQ+KG1vZGVsOiBWYWx1ZU1vZGVsPFQ+KTogUGFyYW1ldGVyRGVmaW5pdGlvbi5WYWx1ZVBhcmFtZXRlcjxUPlxuICBleHBvcnQgZnVuY3Rpb24gZ2V0PFQ+KG1vZGVsOiBMaXN0TW9kZWw8VD4pOiBQYXJhbWV0ZXJEZWZpbml0aW9uLkFycmF5UGFyYW1ldGVyPFQ+XG4gIGV4cG9ydCBmdW5jdGlvbiBnZXQ8VD4obW9kZWw6IFZhbHVlTW9kZWw8VD4gfCBMaXN0TW9kZWw8VD4pOiBQYXJhbWV0ZXJEZWZpbml0aW9uLlZhbHVlUGFyYW1ldGVyPFQ+IHwgUGFyYW1ldGVyRGVmaW5pdGlvbi5BcnJheVBhcmFtZXRlcjxUPiB7XG4gICAgY29uc3QgcGFyYW1ldGVyRGVmaW5pdGlvbiA9IG1vZGVsW1BBUkFNRVRFUl9ERUZJTklUSU9OX0tFWV07XG4gICAgaWYgKCFwYXJhbWV0ZXJEZWZpbml0aW9uKSB7XG4gICAgICBsYW5nLmlsbGVnYWxBcmd1bWVudCgnbW9kZWwgaGFzblxcJ3QgYmVlbiBhbm5vdGF0ZWQgd2l0aCBAVmlzaXRQYXJhbWV0ZXIsIEBWaXNpdFBhcmFtZXRlckxpc3Qgb3IgQFJvdXRlSWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtZXRlckRlZmluaXRpb247XG4gIH1cblxuXG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNhbml0aXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL3JvdXRlL3BhcmFtZXRlci1zYW5pdGlzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWaXNpdFNlZ21lbnQgfSBmcm9tICcuLi92aXNpdC1zZWdtZW50JztcbmltcG9ydCB7IFBhcmFtZXRlclNuYXBzaG90IH0gZnJvbSAnLi9wYXJhbWV0ZXItc25hcHNob3QnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlclNhbml0aXNlcjxUPiB7XG4gIHNhbml0aXNlKHBhcmFtZXRlclZhbHVlOiBULCB2aXNpdD86IFZpc2l0U2VnbWVudCwgaW5qZWN0b3I/OiBJbmplY3Rvcik6IFByb21pc2U8VD4gfCBUO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNhbml0aXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL3JvdXRlL3BhcmFtZXRlci1zYW5pdGlzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0b3J9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtWaXNpdFNlZ21lbnR9IGZyb20gJy4uL3Zpc2l0LXNlZ21lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlclNhbml0aXNlcjxUPiB7XG4gIHNhbml0aXNlKHBhcmFtZXRlclZhbHVlOiBULCB2aXNpdD86IFZpc2l0U2VnbWVudCwgaW5qZWN0b3I/OiBJbmplY3Rvcik6IFByb21pc2U8VD4gfCBUO1xufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNuYXBzaG90LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLXNuYXBzaG90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9wYXJhbWV0ZXItZGVmaW5pdGlvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW1ldGVyU25hcHNob3Q8VD4ge1xuICBkZWZpbml0aW9uOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIGFueT5cbiAgcmVhZG9ubHkgdmFsdWU6IFQ7XG4gIGlzTWlzc2luZygpOiBib29sZWFuO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNuYXBzaG90LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLXNuYXBzaG90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BhcmFtZXRlckRlZmluaXRpb259IGZyb20gJy4vcGFyYW1ldGVyLWRlZmluaXRpb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFtZXRlclNuYXBzaG90PFQ+IHtcbiAgZGVmaW5pdGlvbjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBhbnk+XG4gIHJlYWRvbmx5IHZhbHVlOiBUO1xuICBpc01pc3NpbmcoKTogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -43,4 +43,4 @@ export class VisitSegmentSanitiser {
43
43
  return sanitisedSegment.hasChangedFrom(segment) ? sanitisedSegment : segment;
44
44
  }
45
45
  }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXQtc2VnbWVudC1zYW5pdGlzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9yb3V0ZS92aXNpdC1zZWdtZW50LXNhbml0aXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8scUJBQXFCO0lBQ1o7SUFBOEM7SUFBZ0Q7SUFBd0I7SUFBb0M7SUFBOUssWUFBb0IsaUJBQW9DLEVBQVUsY0FBc0MsRUFBVSxNQUFjLEVBQVUsWUFBMEIsRUFBVSxRQUFrQjtRQUE1SyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQXdCO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUVoTSxDQUFDO0lBRUQsV0FBVztJQUNYLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBcUI7UUFDbEMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQztRQUN6QyxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUN6QixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNyRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckMsTUFBTSxjQUFjLEdBQUcsTUFBTSxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN4SSwwQ0FBMEM7WUFDMUMsb0NBQW9DO1lBQ3BDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLEVBQUU7Z0JBQ2xELCtEQUErRDtnQkFDL0QscUNBQXFDO2dCQUNyQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO2FBQ3BEO1NBQ0Y7UUFFRCwyRUFBMkU7UUFDM0UsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLHFCQUFxQixDQUFDO1lBQ25ELHNCQUFzQixFQUFFLElBQUk7WUFDNUIseUJBQXlCLEVBQUUsSUFBSTtTQUNoQyxDQUFDLENBQUM7UUFDSCxJQUFJLGdCQUFnQixHQUFpQixPQUFPLENBQUM7UUFDN0MsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDN0MsTUFBTSxHQUFHLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM3QyxNQUFNLGNBQWMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDeEksSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsRUFBRTtnQkFDekMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FBQzthQUNsRTtTQUNGO1FBRUQsT0FBTyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDL0UsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXNzaW9uIH0gZnJvbSAnLi4vbmF2aWdhdGlvbi9zZXNzaW9uL25hdmlnYXRpb24tc2Vzc2lvbic7XG5pbXBvcnQgeyBQbGFjZUhpc3RvcnkgfSBmcm9tICcuLi9wbGFjZS1oaXN0b3J5JztcbmltcG9ydCB7IFZpc2l0U2VnbWVudCB9IGZyb20gJy4uL3Zpc2l0LXNlZ21lbnQnO1xuXG5leHBvcnQgY2xhc3MgVmlzaXRTZWdtZW50U2FuaXRpc2VyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuYXZpZ2F0aW9uU2Vzc2lvbjogTmF2aWdhdGlvblNlc3Npb24sIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgcGxhY2VIaXN0b3J5OiBQbGFjZUhpc3RvcnksIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG5cbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGFzeW5jIHNhbml0aXNlKHNlZ21lbnQ6IFZpc2l0U2VnbWVudCk6IFByb21pc2U8VmlzaXRTZWdtZW50PiB7XG4gICAgY29uc3QgcGxhY2VEZWYgPSBzZWdtZW50LnBsYWNlRGVmaW5pdGlvbjtcbiAgICBpZiAocGxhY2VEZWYuaGFzUm91dGVJZCgpKSB7XG4gICAgICBjb25zdCByb3V0ZUlkRGVmID0gcGxhY2VEZWYuZ2V0Um91dGVJZFBhcmFtZXRlckRlZigpO1xuICAgICAgY29uc3Qgcm91dGVJZCA9IHNlZ21lbnQuZ2V0Um91dGVJZCgpO1xuICAgICAgY29uc3Qgc2FuaXRpc2VkVmFsdWUgPSBhd2FpdCByb3V0ZUlkRGVmLnNhbml0aXNlKHJvdXRlSWQsIHNlZ21lbnQsIHRoaXMucGxhY2VIaXN0b3J5LCB0aGlzLmluamVjdG9yLCB0aGlzLm5hdmlnYXRpb25TZXNzaW9uLmlzUG9wU3RhdGUpO1xuICAgICAgLy8gY29uc29sZS5sb2coe3JvdXRlSWQsIHNhbml0aXNlZFZhbHVlfSk7XG4gICAgICAvLyAjIyMtLS0tLS0tIEVBUkxZIEVYSVQgLS0tLS0tLS0jIyNcbiAgICAgIGlmIChyb3V0ZUlkRGVmLmhhc0NoYW5nZWQocm91dGVJZCwgc2FuaXRpc2VkVmFsdWUpKSB7XG4gICAgICAgIC8vIGlmIHRoZSByb3V0ZSBpZCBoYXMgY2hhbmdlZCB3ZSByZWRpcmVjdCBpbW1lZGlhdGVseSBhcyBvdGhlclxuICAgICAgICAvLyBwYXJhbWV0ZXIgc2FuaXRpc2VycyBtaWdodCB1c2UgaXQuXG4gICAgICAgIHJldHVybiBzZWdtZW50LnJlcGxhY2Uocm91dGVJZERlZiwgc2FuaXRpc2VkVmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGlmIHdlIGRpZG4ndCByZXBsYWNlIHRoZSByb3V0ZUlkIHdlIGNvbnRpbnVlIHRoZSB1cmwgcHJlc2VudCBwYXJhbWV0ZXJzLlxuICAgIGNvbnN0IHBhcmFtZXRlckRlZnMgPSBwbGFjZURlZi5nZXRWaXNpdFBhcmFtZXRlckRlZnMoe1xuICAgICAgaW5jbHVkZVJvdXRlUGFyYW1ldGVyczogdHJ1ZSxcbiAgICAgIGluY2x1ZGVOb25Sb3V0ZVBhcmFtZXRlcnM6IHRydWVcbiAgICB9KTtcbiAgICBsZXQgc2FuaXRpc2VkU2VnbWVudDogVmlzaXRTZWdtZW50ID0gc2VnbWVudDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcmFtZXRlckRlZnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGRlZiA9IHBhcmFtZXRlckRlZnNbaV07XG4gICAgICBjb25zdCB2YWx1ZSA9IHNlZ21lbnQuZ2V0UGFyYW1ldGVyVmFsdWUoZGVmKTtcbiAgICAgIGNvbnN0IHNhbml0aXNlZFZhbHVlID0gYXdhaXQgZGVmLnNhbml0aXNlKHZhbHVlLCBzYW5pdGlzZWRTZWdtZW50LCB0aGlzLnBsYWNlSGlzdG9yeSwgdGhpcy5pbmplY3RvciwgdGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbi5pc1BvcFN0YXRlKTtcbiAgICAgIGlmIChkZWYuaGFzQ2hhbmdlZCh2YWx1ZSwgc2FuaXRpc2VkVmFsdWUpKSB7XG4gICAgICAgIHNhbml0aXNlZFNlZ21lbnQgPSBzYW5pdGlzZWRTZWdtZW50LnJlcGxhY2UoZGVmLCBzYW5pdGlzZWRWYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNhbml0aXNlZFNlZ21lbnQuaGFzQ2hhbmdlZEZyb20oc2VnbWVudCkgPyBzYW5pdGlzZWRTZWdtZW50IDogc2VnbWVudDtcbiAgfVxuXG59XG4iXX0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXQtc2VnbWVudC1zYW5pdGlzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9yb3V0ZS92aXNpdC1zZWdtZW50LXNhbml0aXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLE9BQU8scUJBQXFCO0lBQ1o7SUFBOEM7SUFBZ0Q7SUFBd0I7SUFBb0M7SUFBOUssWUFBb0IsaUJBQW9DLEVBQVUsY0FBc0MsRUFBVSxNQUFjLEVBQVUsWUFBMEIsRUFBVSxRQUFrQjtRQUE1SyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQXdCO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUVoTSxDQUFDO0lBRUQsV0FBVztJQUNYLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBcUI7UUFDbEMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQztRQUN6QyxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUN6QixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNyRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckMsTUFBTSxjQUFjLEdBQUcsTUFBTSxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN4SSwwQ0FBMEM7WUFDMUMsb0NBQW9DO1lBQ3BDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLEVBQUU7Z0JBQ2xELCtEQUErRDtnQkFDL0QscUNBQXFDO2dCQUNyQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO2FBQ3BEO1NBQ0Y7UUFFRCwyRUFBMkU7UUFDM0UsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLHFCQUFxQixDQUFDO1lBQ25ELHNCQUFzQixFQUFFLElBQUk7WUFDNUIseUJBQXlCLEVBQUUsSUFBSTtTQUNoQyxDQUFDLENBQUM7UUFDSCxJQUFJLGdCQUFnQixHQUFpQixPQUFPLENBQUM7UUFDN0MsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDN0MsTUFBTSxHQUFHLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM3QyxNQUFNLGNBQWMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDeEksSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsRUFBRTtnQkFDekMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FBQzthQUNsRTtTQUNGO1FBRUQsT0FBTyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDL0UsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rvcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7TmF2aWdhdGlvblNlc3Npb259IGZyb20gJy4uL25hdmlnYXRpb24vc2Vzc2lvbi9uYXZpZ2F0aW9uLXNlc3Npb24nO1xuaW1wb3J0IHtQbGFjZUhpc3Rvcnl9IGZyb20gJy4uL3BsYWNlLWhpc3RvcnknO1xuaW1wb3J0IHtWaXNpdFNlZ21lbnR9IGZyb20gJy4uL3Zpc2l0LXNlZ21lbnQnO1xuXG5leHBvcnQgY2xhc3MgVmlzaXRTZWdtZW50U2FuaXRpc2VyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuYXZpZ2F0aW9uU2Vzc2lvbjogTmF2aWdhdGlvblNlc3Npb24sIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgcGxhY2VIaXN0b3J5OiBQbGFjZUhpc3RvcnksIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG5cbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGFzeW5jIHNhbml0aXNlKHNlZ21lbnQ6IFZpc2l0U2VnbWVudCk6IFByb21pc2U8VmlzaXRTZWdtZW50PiB7XG4gICAgY29uc3QgcGxhY2VEZWYgPSBzZWdtZW50LnBsYWNlRGVmaW5pdGlvbjtcbiAgICBpZiAocGxhY2VEZWYuaGFzUm91dGVJZCgpKSB7XG4gICAgICBjb25zdCByb3V0ZUlkRGVmID0gcGxhY2VEZWYuZ2V0Um91dGVJZFBhcmFtZXRlckRlZigpO1xuICAgICAgY29uc3Qgcm91dGVJZCA9IHNlZ21lbnQuZ2V0Um91dGVJZCgpO1xuICAgICAgY29uc3Qgc2FuaXRpc2VkVmFsdWUgPSBhd2FpdCByb3V0ZUlkRGVmLnNhbml0aXNlKHJvdXRlSWQsIHNlZ21lbnQsIHRoaXMucGxhY2VIaXN0b3J5LCB0aGlzLmluamVjdG9yLCB0aGlzLm5hdmlnYXRpb25TZXNzaW9uLmlzUG9wU3RhdGUpO1xuICAgICAgLy8gY29uc29sZS5sb2coe3JvdXRlSWQsIHNhbml0aXNlZFZhbHVlfSk7XG4gICAgICAvLyAjIyMtLS0tLS0tIEVBUkxZIEVYSVQgLS0tLS0tLS0jIyNcbiAgICAgIGlmIChyb3V0ZUlkRGVmLmhhc0NoYW5nZWQocm91dGVJZCwgc2FuaXRpc2VkVmFsdWUpKSB7XG4gICAgICAgIC8vIGlmIHRoZSByb3V0ZSBpZCBoYXMgY2hhbmdlZCB3ZSByZWRpcmVjdCBpbW1lZGlhdGVseSBhcyBvdGhlclxuICAgICAgICAvLyBwYXJhbWV0ZXIgc2FuaXRpc2VycyBtaWdodCB1c2UgaXQuXG4gICAgICAgIHJldHVybiBzZWdtZW50LnJlcGxhY2Uocm91dGVJZERlZiwgc2FuaXRpc2VkVmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGlmIHdlIGRpZG4ndCByZXBsYWNlIHRoZSByb3V0ZUlkIHdlIGNvbnRpbnVlIHRoZSB1cmwgcHJlc2VudCBwYXJhbWV0ZXJzLlxuICAgIGNvbnN0IHBhcmFtZXRlckRlZnMgPSBwbGFjZURlZi5nZXRWaXNpdFBhcmFtZXRlckRlZnMoe1xuICAgICAgaW5jbHVkZVJvdXRlUGFyYW1ldGVyczogdHJ1ZSxcbiAgICAgIGluY2x1ZGVOb25Sb3V0ZVBhcmFtZXRlcnM6IHRydWVcbiAgICB9KTtcbiAgICBsZXQgc2FuaXRpc2VkU2VnbWVudDogVmlzaXRTZWdtZW50ID0gc2VnbWVudDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhcmFtZXRlckRlZnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGRlZiA9IHBhcmFtZXRlckRlZnNbaV07XG4gICAgICBjb25zdCB2YWx1ZSA9IHNlZ21lbnQuZ2V0UGFyYW1ldGVyVmFsdWUoZGVmKTtcbiAgICAgIGNvbnN0IHNhbml0aXNlZFZhbHVlID0gYXdhaXQgZGVmLnNhbml0aXNlKHZhbHVlLCBzYW5pdGlzZWRTZWdtZW50LCB0aGlzLnBsYWNlSGlzdG9yeSwgdGhpcy5pbmplY3RvciwgdGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbi5pc1BvcFN0YXRlKTtcbiAgICAgIGlmIChkZWYuaGFzQ2hhbmdlZCh2YWx1ZSwgc2FuaXRpc2VkVmFsdWUpKSB7XG4gICAgICAgIHNhbml0aXNlZFNlZ21lbnQgPSBzYW5pdGlzZWRTZWdtZW50LnJlcGxhY2UoZGVmLCBzYW5pdGlzZWRWYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNhbml0aXNlZFNlZ21lbnQuaGFzQ2hhbmdlZEZyb20oc2VnbWVudCkgPyBzYW5pdGlzZWRTZWdtZW50IDogc2VnbWVudDtcbiAgfVxuXG59XG4iXX0=
@@ -56,13 +56,13 @@ export class UrlService {
56
56
  back() {
57
57
  this.angularLocation.back();
58
58
  }
59
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: UrlService, deps: [{ token: i1.Router }, { token: i2.Location }, { token: i1.UrlSerializer }], target: i0.ɵɵFactoryTarget.Injectable });
60
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: UrlService, providedIn: 'root' });
59
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UrlService, deps: [{ token: i1.Router }, { token: i2.Location }, { token: i1.UrlSerializer }], target: i0.ɵɵFactoryTarget.Injectable });
60
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UrlService, providedIn: 'root' });
61
61
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: UrlService, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: UrlService, decorators: [{
63
63
  type: Injectable,
64
64
  args: [{
65
65
  providedIn: 'root'
66
66
  }]
67
67
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.Location }, { type: i1.UrlSerializer }]; } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS91cmwtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU03QyxNQUFNLE9BQU8sVUFBVTtJQUNRO0lBQWdDO0lBQW9DO0lBQWpHLFlBQTZCLGFBQXFCLEVBQVcsZUFBeUIsRUFBVyxhQUE0QjtRQUFoRyxrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQUFXLG9CQUFlLEdBQWYsZUFBZSxDQUFVO1FBQVcsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFDN0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFXO1FBQ2xCLE9BQU8sSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBc0I7UUFDdEMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM3RixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsNkJBQTZCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7O09BR0c7SUFDSCx3QkFBd0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELDhCQUE4QixDQUFDLEdBQVc7UUFDeEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVELHFCQUFxQixDQUFDLEdBQVc7UUFDL0IsT0FBTyxJQUFJLENBQUMsOEJBQThCLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBVyxFQUFFLE9BQW9DO1FBQ3BFLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQzt1R0F0RFUsVUFBVTsyR0FBVixVQUFVLGNBRlQsTUFBTTs7MkZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIFVybFNlcmlhbGl6ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVXJsU25hcHNob3QgfSBmcm9tICcuL3VybC1zbmFwc2hvdCc7XG5pbXBvcnQgeyBWaXNpdFNlZ21lbnQgfSBmcm9tICcuL3Zpc2l0LXNlZ21lbnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBVcmxTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhbmd1bGFyUm91dGVyOiBSb3V0ZXIsIHJlYWRvbmx5IGFuZ3VsYXJMb2NhdGlvbjogTG9jYXRpb24sIHJlYWRvbmx5IHVybFNlcmlhbGl6ZXI6IFVybFNlcmlhbGl6ZXIpIHtcbiAgfVxuXG4gIHBhcnNlVXJsKHVybDogc3RyaW5nKTogVXJsU25hcHNob3Qge1xuICAgIHJldHVybiBuZXcgVXJsU25hcHNob3QodGhpcy51cmxTZXJpYWxpemVyLCB1cmwpO1xuICB9XG5cbiAgY3JlYXRlVXJsU25hcHNob3QodmlzaXRzOiBWaXNpdFNlZ21lbnRbXSk6IFVybFNuYXBzaG90IHtcbiAgICBjb25zdCBiaXRzID0gW107XG4gICAgdmlzaXRzLmZvckVhY2godiA9PiB7XG4gICAgICBiaXRzLnB1c2godGhpcy5wYXJzZVVybChgJHt2LnBsYWNlRGVmaW5pdGlvbi5wYXRofWApLnVwZGF0ZVZpc2l0U2VnbWVudCh2KS51cmwpO1xuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLnBhcnNlVXJsKGJpdHMuam9pbignJykpO1xuICB9XG5cbiAgZ2V0Q3VycmVudFJvdXRlclVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFuZ3VsYXJSb3V0ZXIucm91dGVyU3RhdGUgPyB0aGlzLmFuZ3VsYXJSb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3QudXJsIDogbnVsbDtcbiAgfVxuXG4gIGdldEN1cnJlbnRMb2NhdGlvblVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFuZ3VsYXJMb2NhdGlvbi5wYXRoKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBhIFVybFNuYXBzaG90IHVzaW5nIHRoZSBicm93c2VycyBjdXJyZW50IGxvY2F0aW9uLiAgTm90ZSB0aGlzIG1heSBub3QgYmUgdGhlIHNhbWVcbiAgICogYXMgdGhlIHJvdXRlcnMgY3VycmVudCB1cmwuXG4gICAqL1xuICBnZXRDdXJyZW50TG9jYXRpb25VcmxTbmFwc2hvdCgpOiBVcmxTbmFwc2hvdCB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VVcmwodGhpcy5nZXRDdXJyZW50TG9jYXRpb25VcmwoKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBhIFVybFNuYXBzaG90IHVzaW5nIHRoZSByb3V0ZXJzIGN1cnJlbnQgc3RhdGUuICBUaGlzIG1heSBub3QgYmUgdGhlIHNhbWUgYXNcbiAgICogdGhlIGJyb3dzZXJzIGFjdHVhbCB1cmwuXG4gICAqL1xuICBnZXRDdXJyZW50Um91dGVyU25hcHNob3QoKTogVXJsU25hcHNob3Qge1xuICAgIHJldHVybiB0aGlzLnBhcnNlVXJsKHRoaXMuZ2V0Q3VycmVudFJvdXRlclVybCgpKTtcbiAgfVxuXG4gIGdldEFjdGl2ZUludGVyYWN0aW9uSWRzRnJvbVVybCh1cmw6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZVVybCh1cmwpLmdldEludGVyYWN0aW9uSWRzKCk7XG4gIH1cblxuICBoYXNBY3RpdmVJbnRlcmFjdGlvbnModXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBY3RpdmVJbnRlcmFjdGlvbklkc0Zyb21VcmwodXJsKS5sZW5ndGggPiAwO1xuICB9XG5cbiAgcmVzZXRCcm93c2VyTG9jYXRpb24odXJsOiBzdHJpbmcsIG9wdGlvbnM6IHsgcmVwbGFjZUN1cnJlbnQ6IGJvb2xlYW4gfSkge1xuICAgIG9wdGlvbnMucmVwbGFjZUN1cnJlbnQgPyB0aGlzLmFuZ3VsYXJMb2NhdGlvbi5yZXBsYWNlU3RhdGUodXJsKSA6IHRoaXMuYW5ndWxhckxvY2F0aW9uLmdvKHVybCk7XG4gIH1cblxuICBiYWNrKCkge1xuICAgIHRoaXMuYW5ndWxhckxvY2F0aW9uLmJhY2soKTtcbiAgfVxuXG5cbn1cbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS91cmwtc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsTUFBTSxFQUFFLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU0zQyxNQUFNLE9BQU8sVUFBVTtJQUNRO0lBQWdDO0lBQW9DO0lBQWpHLFlBQTZCLGFBQXFCLEVBQVcsZUFBeUIsRUFBVyxhQUE0QjtRQUFoRyxrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQUFXLG9CQUFlLEdBQWYsZUFBZSxDQUFVO1FBQVcsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFDN0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFXO1FBQ2xCLE9BQU8sSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBc0I7UUFDdEMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM3RixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsNkJBQTZCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7O09BR0c7SUFDSCx3QkFBd0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELDhCQUE4QixDQUFDLEdBQVc7UUFDeEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVELHFCQUFxQixDQUFDLEdBQVc7UUFDL0IsT0FBTyxJQUFJLENBQUMsOEJBQThCLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBVyxFQUFFLE9BQW9DO1FBQ3BFLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQzt1R0F0RFUsVUFBVTsyR0FBVixVQUFVLGNBRlQsTUFBTTs7MkZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvY2F0aW9ufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyLCBVcmxTZXJpYWxpemVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtVcmxTbmFwc2hvdH0gZnJvbSAnLi91cmwtc25hcHNob3QnO1xuaW1wb3J0IHtWaXNpdFNlZ21lbnR9IGZyb20gJy4vdmlzaXQtc2VnbWVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFVybFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFuZ3VsYXJSb3V0ZXI6IFJvdXRlciwgcmVhZG9ubHkgYW5ndWxhckxvY2F0aW9uOiBMb2NhdGlvbiwgcmVhZG9ubHkgdXJsU2VyaWFsaXplcjogVXJsU2VyaWFsaXplcikge1xuICB9XG5cbiAgcGFyc2VVcmwodXJsOiBzdHJpbmcpOiBVcmxTbmFwc2hvdCB7XG4gICAgcmV0dXJuIG5ldyBVcmxTbmFwc2hvdCh0aGlzLnVybFNlcmlhbGl6ZXIsIHVybCk7XG4gIH1cblxuICBjcmVhdGVVcmxTbmFwc2hvdCh2aXNpdHM6IFZpc2l0U2VnbWVudFtdKTogVXJsU25hcHNob3Qge1xuICAgIGNvbnN0IGJpdHMgPSBbXTtcbiAgICB2aXNpdHMuZm9yRWFjaCh2ID0+IHtcbiAgICAgIGJpdHMucHVzaCh0aGlzLnBhcnNlVXJsKGAke3YucGxhY2VEZWZpbml0aW9uLnBhdGh9YCkudXBkYXRlVmlzaXRTZWdtZW50KHYpLnVybCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VVcmwoYml0cy5qb2luKCcnKSk7XG4gIH1cblxuICBnZXRDdXJyZW50Um91dGVyVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYW5ndWxhclJvdXRlci5yb3V0ZXJTdGF0ZSA/IHRoaXMuYW5ndWxhclJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmwgOiBudWxsO1xuICB9XG5cbiAgZ2V0Q3VycmVudExvY2F0aW9uVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYW5ndWxhckxvY2F0aW9uLnBhdGgoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGEgVXJsU25hcHNob3QgdXNpbmcgdGhlIGJyb3dzZXJzIGN1cnJlbnQgbG9jYXRpb24uICBOb3RlIHRoaXMgbWF5IG5vdCBiZSB0aGUgc2FtZVxuICAgKiBhcyB0aGUgcm91dGVycyBjdXJyZW50IHVybC5cbiAgICovXG4gIGdldEN1cnJlbnRMb2NhdGlvblVybFNuYXBzaG90KCk6IFVybFNuYXBzaG90IHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZVVybCh0aGlzLmdldEN1cnJlbnRMb2NhdGlvblVybCgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGEgVXJsU25hcHNob3QgdXNpbmcgdGhlIHJvdXRlcnMgY3VycmVudCBzdGF0ZS4gIFRoaXMgbWF5IG5vdCBiZSB0aGUgc2FtZSBhc1xuICAgKiB0aGUgYnJvd3NlcnMgYWN0dWFsIHVybC5cbiAgICovXG4gIGdldEN1cnJlbnRSb3V0ZXJTbmFwc2hvdCgpOiBVcmxTbmFwc2hvdCB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VVcmwodGhpcy5nZXRDdXJyZW50Um91dGVyVXJsKCkpO1xuICB9XG5cbiAgZ2V0QWN0aXZlSW50ZXJhY3Rpb25JZHNGcm9tVXJsKHVybDogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnBhcnNlVXJsKHVybCkuZ2V0SW50ZXJhY3Rpb25JZHMoKTtcbiAgfVxuXG4gIGhhc0FjdGl2ZUludGVyYWN0aW9ucyh1cmw6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldEFjdGl2ZUludGVyYWN0aW9uSWRzRnJvbVVybCh1cmwpLmxlbmd0aCA+IDA7XG4gIH1cblxuICByZXNldEJyb3dzZXJMb2NhdGlvbih1cmw6IHN0cmluZywgb3B0aW9uczogeyByZXBsYWNlQ3VycmVudDogYm9vbGVhbiB9KSB7XG4gICAgb3B0aW9ucy5yZXBsYWNlQ3VycmVudCA/IHRoaXMuYW5ndWxhckxvY2F0aW9uLnJlcGxhY2VTdGF0ZSh1cmwpIDogdGhpcy5hbmd1bGFyTG9jYXRpb24uZ28odXJsKTtcbiAgfVxuXG4gIGJhY2soKSB7XG4gICAgdGhpcy5hbmd1bGFyTG9jYXRpb24uYmFjaygpO1xuICB9XG5cblxufVxuIl19
@@ -122,4 +122,4 @@ __decorate([
122
122
  }
123
123
  UrlSnapshot.createPathIdFor = createPathIdFor;
124
124
  })(UrlSnapshot || (UrlSnapshot = {}));
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLXNuYXBzaG90LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvdXJsLXNuYXBzaG90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUEwQixNQUFNLGlCQUFpQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsU0FBUyx5QkFBeUIsQ0FBQyxPQUFnQjtJQUNqRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDO0FBQ3ZELENBQUM7QUFFRCxNQUFNLE9BQU8sV0FBVztJQUtEO0lBQXVDO0lBSG5ELE9BQU8sQ0FBVTtJQUUxQixpSUFBaUk7SUFDakksWUFBcUIsYUFBNEIsRUFBVyxHQUFXO1FBQWxELGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVcsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUNyRSxJQUFJLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFdBQVc7SUFDSixrQkFBa0IsQ0FBQyxZQUEwQjtRQUNsRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEQsOEJBQThCO1FBQzlCLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FB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LENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzRixDQUFDO0NBQ0Y7QUE5RVM7SUFEUCxPQUFPLEVBQUU7Ozs7d0RBR1Q7QUE4RUgsV0FBaUIsV0FBVztJQUViLG1DQUF1QixHQUFHLGtCQUFrQixDQUFDO0lBQzdDLG9DQUF3QixHQUFHLElBQUksQ0FBQztJQUU3QyxTQUFnQixtQkFBbUIsQ0FBQyxJQUFZO1FBQzlDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFBLHdCQUF3QixDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUZlLCtCQUFtQixzQkFFbEMsQ0FBQTtJQUVELFNBQWdCLGVBQWUsQ0FBQyxjQUFpQztRQUMvRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBQSx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFGZSwyQkFBZSxrQkFFOUIsQ0FBQTtBQUtILENBQUMsRUFoQmdCLFdBQVcsS0FBWCxXQUFXLFFBZ0IzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVybFNlZ21lbnQsIFVybFNlcmlhbGl6ZXIsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTWVtb2l6ZSB9IGZyb20gJ0B0eXBlc2NyaXB0LXBsdXMvZmFzdC1tZW1vaXplLWRlY29yYXRvcic7XG5cbmltcG9ydCB7IGlzRXF1YWwsIGxhc3QgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQ29uc29saWRhdGVkUGFyYW1ldGVyTWFwIH0gZnJvbSAnLi9ndWFyZHMvY29uc29saWRhdGVkLXBhcmFtLW1hcCc7XG5pbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuL3BsYWNlLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgVmlzaXRTZWdtZW50IH0gZnJvbSAnLi92aXNpdC1zZWdtZW50JztcblxuZnVuY3Rpb24gZXh0cmFjdFByaW1hcnlVcmxTZWdtZW50cyh1cmxUcmVlOiBVcmxUcmVlKTogVXJsU2VnbWVudFtdIHtcbiAgcmV0dXJuIHVybFRyZWUucm9vdC5jaGlsZHJlbi5wcmltYXJ5Py5zZWdtZW50cyA/PyBbXTtcbn1cblxuZXhwb3J0IGNsYXNzIFVybFNuYXBzaG90IHtcblxuICByZWFkb25seSB1cmxUcmVlOiBVcmxUcmVlO1xuXG4gIC8vIFRPRE86IFVwZGF0ZSB0aGlzIGFjY2VwdCBhIHVybCBQYXJzZXIgc28gaXQgY2FuIGJlIGltbXV0YWJsZSBhbmQgZ2VuZXJhdGUgbmV3IHRyZWVzIG9uIG11dGF0aW9uIHVzaW5nIHRvU3RyaW5nKCkgYXJlIHBhcnNlVXJsLlxuICBjb25zdHJ1Y3RvcihyZWFkb25seSB1cmxTZXJpYWxpemVyOiBVcmxTZXJpYWxpemVyLCByZWFkb25seSB1cmw6IHN0cmluZykge1xuICAgIHRoaXMudXJsVHJlZSA9IHVybFNlcmlhbGl6ZXIucGFyc2UodXJsKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHB1YmxpYyB1cGRhdGVWaXNpdFNlZ21lbnQodmlzaXRTZWdtZW50OiBWaXNpdFNlZ21lbnQpOiBVcmxTbmFwc2hvdCB7XG4gICAgY29uc3QgbmV3VXJsVHJlZSA9IHRoaXMudXJsU2VyaWFsaXplci5wYXJzZSh0aGlzLnVybCk7XG4gICAgLy8gVWdseSwgYnV0IGl0IHdvcmtzIGZvciBub3cuXG4gICAgY29uc3Qgc2VnbWVudHMgPSBbLi4uZXh0cmFjdFByaW1hcnlVcmxTZWdtZW50cyhuZXdVcmxUcmVlKV07XG4gICAgY29uc3QgdXJsU2VnbWVudHMgPSB0aGlzLmdldFVybFNlZ21lbnRzRm9yVmlzaXRTZWdtZW50KHZpc2l0U2VnbWVudCk7XG4gICAgY29uc3QgcmVwbGFjZUF0ID0gc2VnbWVudHMuZmluZEluZGV4KHNlZ21lbnQgPT4gc2VnbWVudC5wYXRoID09PSB1cmxTZWdtZW50c1swXS5wYXRoKTtcbiAgICAvLyBkbyBub3QgdXNlIHRoZSByZXR1cm4gdmFsdWUsIGl0J3MgdGhlIGl0ZW1zIHRoYXQgd2VyZSByZW1vdmVkIVxuICAgIHNlZ21lbnRzLnNwbGljZShyZXBsYWNlQXQsIHVybFNlZ21lbnRzLmxlbmd0aCwgLi4udXJsU2VnbWVudHMpO1xuICAgIG5ld1VybFRyZWUucm9vdC5jaGlsZHJlbi5wcmltYXJ5LnNlZ21lbnRzID0gc2VnbWVudHM7XG4gICAgcmV0dXJuIG5ldyBVcmxTbmFwc2hvdCh0aGlzLnVybFNlcmlhbGl6ZXIsIG5ld1VybFRyZWUudG9TdHJpbmcoKSk7XG4gIH1cblxuICBhcHBlbmRTZWdtZW50KHZpc2l0U2VnbWVudDogVmlzaXRTZWdtZW50KTpVcmxTbmFwc2hvdCB7XG4gICAgLy8gVE9ETzogbWFrZSB0aGlzIHdvcmsgcHJvcGVybHkgd2l0aCB2aXNpdCBwYXJhbWV0ZXJzXG4gICAgcmV0dXJuIG5ldyBVcmxTbmFwc2hvdCh0aGlzLnVybFNlcmlhbGl6ZXIsIHRoaXMudXJsICsgXCIvXCIgKyB2aXNpdFNlZ21lbnQucGxhY2VEZWZpbml0aW9uLnBhdGgpXG4gIH1cblxuICBATWVtb2l6ZSgpXG4gIHByaXZhdGUgZ2V0UHJpbWFyeVVybFNlZ21lbnRzKCk6IFVybFNlZ21lbnRbXSB7XG4gICAgcmV0dXJuIGV4dHJhY3RQcmltYXJ5VXJsU2VnbWVudHModGhpcy51cmxUcmVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgdmlzaXQgaW50byBzZWdtZW50cy4gIFBsZWFzZSBub3QgdGhhdCB0aGVzZSBzZWdtZW50cyBhcmUgbm90IGVcbiAgICogQHBhcmFtIHZpc2l0U2VnbWVudFxuICAgKi9cbiAgcHJvdGVjdGVkIGdldFVybFNlZ21lbnRzRm9yVmlzaXRTZWdtZW50KHZpc2l0U2VnbWVudDogVmlzaXRTZWdtZW50KTogVXJsU2VnbWVudFtdIHtcbiAgICByZXR1cm4gdmlzaXRTZWdtZW50LnBsYWNlRGVmaW5pdGlvbi5oYXNSb3V0ZUlkKCkgP1xuICAgICAgW1xuICAgICAgICAvLyBOT1RFOlxuICAgICAgICAvLyBJdCdzIGltcG9ydGFudCB0byBhdHRhY2ggdGhlIHBhcmFtcyB0byB0aGUgcm9vdCBwYXRoIGFuZCBub3QgdGhlIGlkLiAgSWYgd2UgYXR0YWNoIHRoZW1cbiAgICAgICAgLy8gdG8gYW4gZW1wdHkgaWQgdGhlbiB0aGUgYW5ndWxhciByb3V0ZXIgd29uJ3QgbWF0Y2ggdGhlIHBhdHRlcm4uXG4gICAgICAgIG5ldyBVcmxTZWdtZW50KHZpc2l0U2VnbWVudC5wbGFjZURlZmluaXRpb24ucGF0aCwgdmlzaXRTZWdtZW50LnBsYWNlRGVmaW5pdGlvbi5nZXRGb3JtYXR0ZWRSb3V0ZVBhcmFtZXRlcnModmlzaXRTZWdtZW50KSksXG4gICAgICAgIG5ldyBVcmxTZWdtZW50KHZpc2l0U2VnbWVudC5wbGFjZURlZmluaXRpb24uZ2V0Rm9ybWF0dGVkUm91dGVJZCh2aXNpdFNlZ21lbnQpLCB7fSldXG4gICAgICA6XG4gICAgICBbXG4gICAgICAgIG5ldyBVcmxTZWdtZW50KHZpc2l0U2VnbWVudC5wbGFjZURlZmluaXRpb24ucGF0aCwgdmlzaXRTZWdtZW50LnBsYWNlRGVmaW5pdGlvbi5nZXRGb3JtYXR0ZWRSb3V0ZVBhcmFtZXRlcnModmlzaXRTZWdtZW50KSlcbiAgICAgIF07XG4gIH1cblxuICBpbmNsdWRlc1BhdGhPZihwbGFjZURlZjogUGxhY2VEZWZpbml0aW9uKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UHJpbWFyeVVybFNlZ21lbnRzKCkuZmluZChzID0+IHMucGF0aCA9PT0gcGxhY2VEZWYucGF0aCk7XG4gIH1cblxuICBpc0xhc3RQbGFjZUluVXJsKHBsYWNlRGVmOiBQbGFjZURlZmluaXRpb24pIHtcbiAgICByZXR1cm4gbGFzdCh0aGlzLmdldFByaW1hcnlVcmxTZWdtZW50cygpKS5wYXRoID09PSBwbGFjZURlZi5wYXRoO1xuICB9XG5cbiAgY3JlYXRlVmlzaXRTZWdtZW50Rm9yKHBsYWNlRGVmOiBQbGFjZURlZmluaXRpb24pIHtcbiAgICByZXR1cm4gbmV3IFZpc2l0U2VnbWVudChwbGFjZURlZiwgbmV3IENvbnNvbGlkYXRlZFBhcmFtZXRlck1hcCh0aGlzLmdldFByaW1hcnlVcmxTZWdtZW50cygpKSk7XG4gIH1cblxuICBnZXRJbnRlcmFjdGlvbklkcygpIHtcbiAgICBjb25zdCBxdWVyeVBhcmFtID0gdGhpcy51cmxUcmVlLnF1ZXJ5UGFyYW1zW1VybFNuYXBzaG90LklOVEVSQUNUSU9OX1FVRVJZX1BBUkFNXTtcbiAgICBpZiAocXVlcnlQYXJhbSkge1xuICAgICAgcmV0dXJuIFVybFNuYXBzaG90LnBhcnNlSW50ZXJhY3Rpb25JZHMocXVlcnlQYXJhbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cblxuICBoYXNJbnRlcmFjdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW50ZXJhY3Rpb25JZHMoKS5sZW5ndGggPiAwO1xuICB9XG5cbiAgaGFzSW50ZXJhY3Rpb25JZHMoaWRzOiByZWFkb25seSBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0VxdWFsKHRoaXMuZ2V0SW50ZXJhY3Rpb25JZHMoKSwgaWRzKTtcbiAgfVxuICAvLyBAVHJhY2UoKVxuXG4gIHVwZGF0ZUludGVyYWN0aW9uSWRzKGlkczogcmVhZG9ubHkgc3RyaW5nW10pOiBVcmxTbmFwc2hvdCB7XG4gICAgaWYgKGlkcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbW92ZUludGVyYWN0aW9uSWRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHVybFRyZWUgPSB0aGlzLnVybFNlcmlhbGl6ZXIucGFyc2UodGhpcy51cmwpO1xuICAgICAgdXJsVHJlZS5xdWVyeVBhcmFtc1tVcmxTbmFwc2hvdC5JTlRFUkFDVElPTl9RVUVSWV9QQVJBTV0gPSBVcmxTbmFwc2hvdC5jcmVhdGVQYXRoSWRGb3IoaWRzKTtcbiAgICAgIHJldHVybiBuZXcgVXJsU25hcHNob3QodGhpcy51cmxTZXJpYWxpemVyLCB1cmxUcmVlLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgfVxuICAvLyBAVHJhY2UoKVxuXG4gIHJlbW92ZUludGVyYWN0aW9uSWRzKCk6IFVybFNuYXBzaG90IHtcbiAgICBjb25zdCB1cmxUcmVlID0gdGhpcy51cmxTZXJpYWxpemVyLnBhcnNlKHRoaXMudXJsKTtcbiAgICBpZiAodXJsVHJlZS5xdWVyeVBhcmFtcyAmJiB1cmxUcmVlLnF1ZXJ5UGFyYW1zW1VybFNuYXBzaG90LklOVEVSQUNUSU9OX1FVRVJZX1BBUkFNXSkge1xuICAgICAgdXJsVHJlZS5xdWVyeVBhcmFtcyA9IHt9Oy8vW1VybFNuYXBzaG90LklOVEVSQUNUSU9OX1JPVVRFUl9PVVRMRVRdXG4gICAgfVxuICAgIHJldHVybiBuZXcgVXJsU25hcHNob3QodGhpcy51cmxTZXJpYWxpemVyLCB1cmxUcmVlLnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYFVybFNuYXBzaG90KCR7dGhpcy51cmx9KWA7XG4gIH1cblxuICBjb250YWluc1Zpc2l0U2VnbWVudChzZWdtZW50OiBWaXNpdFNlZ21lbnQpIHtcbiAgICByZXR1cm4gISF0aGlzLmdldFByaW1hcnlVcmxTZWdtZW50cygpLmZpbmQocyA9PiBzLnBhdGggPT09IHNlZ21lbnQucGxhY2VEZWZpbml0aW9uLnBhdGgpO1xuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXJsU25hcHNob3Qge1xuXG4gIGV4cG9ydCBjb25zdCBJTlRFUkFDVElPTl9RVUVSWV9QQVJBTSA9ICdhdXAtaW50ZXJhY3Rpb25zJztcbiAgZXhwb3J0IGNvbnN0IElOVEVSQUNUSU9OX0lEX1NFUEFSQVRPUiA9ICctLSc7XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSW50ZXJhY3Rpb25JZHMocGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHBhdGguc3BsaXQoSU5URVJBQ1RJT05fSURfU0VQQVJBVE9SKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQYXRoSWRGb3IoaW50ZXJhY3Rpb25JZHM6IHJlYWRvbmx5IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIGludGVyYWN0aW9uSWRzLmpvaW4oSU5URVJBQ1RJT05fSURfU0VQQVJBVE9SKTtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvbk9wdGlvbnMge1xuICAgIHJlcGxhY2VVcmw/OiBib29sZWFuO1xuICB9XG59XG4iXX0=
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLXNuYXBzaG90LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvdXJsLXNuYXBzaG90LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUF5QixNQUFNLGlCQUFpQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUVoRSxPQUFPLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUNyQyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsU0FBUyx5QkFBeUIsQ0FBQyxPQUFnQjtJQUNqRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDO0FBQ3ZELENBQUM7QUFFRCxNQUFNLE9BQU8sV0FBVztJQUtEO0lBQXVDO0lBSG5ELE9BQU8sQ0FBVTtJQUUxQixpSUFBaUk7SUFDakksWUFBcUIsYUFBNEIsRUFBVyxHQUFXO1FBQWxELGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVcsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUNyRSxJQUFJLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFdBQVc7SUFDSixrQkFBa0IsQ0FBQyxZQUEwQjtRQUNsRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEQsOEJBQThCO1FBQzlCLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FB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LENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzRixDQUFDO0NBQ0Y7QUE5RVM7SUFEUCxPQUFPLEVBQUU7Ozs7d0RBR1Q7QUE4RUgsV0FBaUIsV0FBVztJQUViLG1DQUF1QixHQUFHLGtCQUFrQixDQUFDO0lBQzdDLG9DQUF3QixHQUFHLElBQUksQ0FBQztJQUU3QyxTQUFnQixtQkFBbUIsQ0FBQyxJQUFZO1FBQzlDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFBLHdCQUF3QixDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUZlLCtCQUFtQixzQkFFbEMsQ0FBQTtJQUVELFNBQWdCLGVBQWUsQ0FBQyxjQUFpQztRQUMvRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBQSx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFGZSwyQkFBZSxrQkFFOUIsQ0FBQTtBQUtILENBQUMsRUFoQmdCLFdBQVcsS0FBWCxXQUFXLFFBZ0IzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VXJsU2VnbWVudCwgVXJsU2VyaWFsaXplciwgVXJsVHJlZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7TWVtb2l6ZX0gZnJvbSAnQHR5cGVzY3JpcHQtcGx1cy9mYXN0LW1lbW9pemUtZGVjb3JhdG9yJztcblxuaW1wb3J0IHtpc0VxdWFsLCBsYXN0fSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtDb25zb2xpZGF0ZWRQYXJhbWV0ZXJNYXB9IGZyb20gJy4vZ3VhcmRzL2NvbnNvbGlkYXRlZC1wYXJhbS1tYXAnO1xuaW1wb3J0IHtQbGFjZURlZmluaXRpb259IGZyb20gJy4vcGxhY2UtZGVmaW5pdGlvbic7XG5pbXBvcnQge1Zpc2l0U2VnbWVudH0gZnJvbSAnLi92aXNpdC1zZWdtZW50JztcblxuZnVuY3Rpb24gZXh0cmFjdFByaW1hcnlVcmxTZWdtZW50cyh1cmxUcmVlOiBVcmxUcmVlKTogVXJsU2VnbWVudFtdIHtcbiAgcmV0dXJuIHVybFRyZWUucm9vdC5jaGlsZHJlbi5wcmltYXJ5Py5zZWdtZW50cyA/PyBbXTtcbn1cblxuZXhwb3J0IGNsYXNzIFVybFNuYXBzaG90IHtcblxuICByZWFkb25seSB1cmxUcmVlOiBVcmxUcmVlO1xuXG4gIC8vIFRPRE86IFVwZGF0ZSB0aGlzIGFjY2VwdCBhIHVybCBQYXJzZXIgc28gaXQgY2FuIGJlIGltbXV0YWJsZSBhbmQgZ2VuZXJhdGUgbmV3IHRyZWVzIG9uIG11dGF0aW9uIHVzaW5nIHRvU3RyaW5nKCkgYXJlIHBhcnNlVXJsLlxuICBjb25zdHJ1Y3RvcihyZWFkb25seSB1cmxTZXJpYWxpemVyOiBVcmxTZXJpYWxpemVyLCByZWFkb25seSB1cmw6IHN0cmluZykge1xuICAgIHRoaXMudXJsVHJlZSA9IHVybFNlcmlhbGl6ZXIucGFyc2UodXJsKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHB1YmxpYyB1cGRhdGVWaXNpdFNlZ21lbnQodmlzaXRTZWdtZW50OiBWaXNpdFNlZ21lbnQpOiBVcmxTbmFwc2hvdCB7XG4gICAgY29uc3QgbmV3VXJsVHJlZSA9IHRoaXMudXJsU2VyaWFsaXplci5wYXJzZSh0aGlzLnVybCk7XG4gICAgLy8gVWdseSwgYnV0IGl0IHdvcmtzIGZvciBub3cuXG4gICAgY29uc3Qgc2VnbWVudHMgPSBbLi4uZXh0cmFjdFByaW1hcnlVcmxTZWdtZW50cyhuZXdVcmxUcmVlKV07XG4gICAgY29uc3QgdXJsU2VnbWVudHMgPSB0aGlzLmdldFVybFNlZ21lbnRzRm9yVmlzaXRTZWdtZW50KHZpc2l0U2VnbWVudCk7XG4gICAgY29uc3QgcmVwbGFjZUF0ID0gc2VnbWVudHMuZmluZEluZGV4KHNlZ21lbnQgPT4gc2VnbWVudC5wYXRoID09PSB1cmxTZWdtZW50c1swXS5wYXRoKTtcbiAgICAvLyBkbyBub3QgdXNlIHRoZSByZXR1cm4gdmFsdWUsIGl0J3MgdGhlIGl0ZW1zIHRoYXQgd2VyZSByZW1vdmVkIVxuICAgIHNlZ21lbnRzLnNwbGljZShyZXBsYWNlQXQsIHVybFNlZ21lbnRzLmxlbmd0aCwgLi4udXJsU2VnbWVudHMpO1xuICAgIG5ld1VybFRyZWUucm9vdC5jaGlsZHJlbi5wcmltYXJ5LnNlZ21lbnRzID0gc2VnbWVudHM7XG4gICAgcmV0dXJuIG5ldyBVcmxTbmFwc2hvdCh0aGlzLnVybFNlcmlhbGl6ZXIsIG5ld1VybFRyZWUudG9TdHJpbmcoKSk7XG4gIH1cblxuICBhcHBlbmRTZWdtZW50KHZpc2l0U2VnbWVudDogVmlzaXRTZWdtZW50KTpVcmxTbmFwc2hvdCB7XG4gICAgLy8gVE9ETzogbWFrZSB0aGlzIHdvcmsgcHJvcGVybHkgd2l0aCB2aXNpdCBwYXJhbWV0ZXJzXG4gICAgcmV0dXJuIG5ldyBVcmxTbmFwc2hvdCh0aGlzLnVybFNlcmlhbGl6ZXIsIHRoaXMudXJsICsgXCIvXCIgKyB2aXNpdFNlZ21lbnQucGxhY2VEZWZpbml0aW9uLnBhdGgpXG4gIH1cblxuICBATWVtb2l6ZSgpXG4gIHByaXZhdGUgZ2V0UHJpbWFyeVVybFNlZ21lbnRzKCk6IFVybFNlZ21lbnRbXSB7XG4gICAgcmV0dXJuIGV4dHJhY3RQcmltYXJ5VXJsU2VnbWVudHModGhpcy51cmxUcmVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgdmlzaXQgaW50byBzZWdtZW50cy4gIFBsZWFzZSBub3QgdGhhdCB0aGVzZSBzZWdtZW50cyBhcmUgbm90IGVcbiAgICogQHBhcmFtIHZpc2l0U2VnbWVudFxuICAgKi9cbiAgcHJvdGVjdGVkIGdldFVybFNlZ21lbnRzRm9yVmlzaXRTZWdtZW50KHZpc2l0U2VnbWVudDogVmlzaXRTZWdtZW50KTogVXJsU2VnbWVudFtdIHtcbiAgICByZXR1cm4gdmlzaXRTZWdtZW50LnBsYWNlRGVmaW5pdGlvbi5oYXNSb3V0ZUlkKCkgP1xuICAgICAgW1xuICAgICAgICAvLyBOT1RFOlxuICAgICAgICAvLyBJdCdzIGltcG9ydGFudCB0byBhdHRhY2ggdGhlIHBhcmFtcyB0byB0aGUgcm9vdCBwYXRoIGFuZCBub3QgdGhlIGlkLiAgSWYgd2UgYXR0YWNoIHRoZW1cbiAgICAgICAgLy8gdG8gYW4gZW1wdHkgaWQgdGhlbiB0aGUgYW5ndWxhciByb3V0ZXIgd29uJ3QgbWF0Y2ggdGhlIHBhdHRlcm4uXG4gICAgICAgIG5ldyBVcmxTZWdtZW50KHZpc2l0U2VnbWVudC5wbGFjZURlZmluaXRpb24ucGF0aCwgdmlzaXRTZWdtZW50LnBsYWNlRGVmaW5pdGlvbi5nZXRGb3JtYXR0ZWRSb3V0ZVBhcmFtZXRlcnModmlzaXRTZWdtZW50KSksXG4gICAgICAgIG5ldyBVcmxTZWdtZW50KHZpc2l0U2VnbWVudC5wbGFjZURlZmluaXRpb24uZ2V0Rm9ybWF0dGVkUm91dGVJZCh2aXNpdFNlZ21lbnQpLCB7fSldXG4gICAgICA6XG4gICAgICBbXG4gICAgICAgIG5ldyBVcmxTZWdtZW50KHZpc2l0U2VnbWVudC5wbGFjZURlZmluaXRpb24ucGF0aCwgdmlzaXRTZWdtZW50LnBsYWNlRGVmaW5pdGlvbi5nZXRGb3JtYXR0ZWRSb3V0ZVBhcmFtZXRlcnModmlzaXRTZWdtZW50KSlcbiAgICAgIF07XG4gIH1cblxuICBpbmNsdWRlc1BhdGhPZihwbGFjZURlZjogUGxhY2VEZWZpbml0aW9uKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UHJpbWFyeVVybFNlZ21lbnRzKCkuZmluZChzID0+IHMucGF0aCA9PT0gcGxhY2VEZWYucGF0aCk7XG4gIH1cblxuICBpc0xhc3RQbGFjZUluVXJsKHBsYWNlRGVmOiBQbGFjZURlZmluaXRpb24pIHtcbiAgICByZXR1cm4gbGFzdCh0aGlzLmdldFByaW1hcnlVcmxTZWdtZW50cygpKS5wYXRoID09PSBwbGFjZURlZi5wYXRoO1xuICB9XG5cbiAgY3JlYXRlVmlzaXRTZWdtZW50Rm9yKHBsYWNlRGVmOiBQbGFjZURlZmluaXRpb24pIHtcbiAgICByZXR1cm4gbmV3IFZpc2l0U2VnbWVudChwbGFjZURlZiwgbmV3IENvbnNvbGlkYXRlZFBhcmFtZXRlck1hcCh0aGlzLmdldFByaW1hcnlVcmxTZWdtZW50cygpKSk7XG4gIH1cblxuICBnZXRJbnRlcmFjdGlvbklkcygpIHtcbiAgICBjb25zdCBxdWVyeVBhcmFtID0gdGhpcy51cmxUcmVlLnF1ZXJ5UGFyYW1zW1VybFNuYXBzaG90LklOVEVSQUNUSU9OX1FVRVJZX1BBUkFNXTtcbiAgICBpZiAocXVlcnlQYXJhbSkge1xuICAgICAgcmV0dXJuIFVybFNuYXBzaG90LnBhcnNlSW50ZXJhY3Rpb25JZHMocXVlcnlQYXJhbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cblxuICBoYXNJbnRlcmFjdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW50ZXJhY3Rpb25JZHMoKS5sZW5ndGggPiAwO1xuICB9XG5cbiAgaGFzSW50ZXJhY3Rpb25JZHMoaWRzOiByZWFkb25seSBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0VxdWFsKHRoaXMuZ2V0SW50ZXJhY3Rpb25JZHMoKSwgaWRzKTtcbiAgfVxuICAvLyBAVHJhY2UoKVxuXG4gIHVwZGF0ZUludGVyYWN0aW9uSWRzKGlkczogcmVhZG9ubHkgc3RyaW5nW10pOiBVcmxTbmFwc2hvdCB7XG4gICAgaWYgKGlkcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbW92ZUludGVyYWN0aW9uSWRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHVybFRyZWUgPSB0aGlzLnVybFNlcmlhbGl6ZXIucGFyc2UodGhpcy51cmwpO1xuICAgICAgdXJsVHJlZS5xdWVyeVBhcmFtc1tVcmxTbmFwc2hvdC5JTlRFUkFDVElPTl9RVUVSWV9QQVJBTV0gPSBVcmxTbmFwc2hvdC5jcmVhdGVQYXRoSWRGb3IoaWRzKTtcbiAgICAgIHJldHVybiBuZXcgVXJsU25hcHNob3QodGhpcy51cmxTZXJpYWxpemVyLCB1cmxUcmVlLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgfVxuICAvLyBAVHJhY2UoKVxuXG4gIHJlbW92ZUludGVyYWN0aW9uSWRzKCk6IFVybFNuYXBzaG90IHtcbiAgICBjb25zdCB1cmxUcmVlID0gdGhpcy51cmxTZXJpYWxpemVyLnBhcnNlKHRoaXMudXJsKTtcbiAgICBpZiAodXJsVHJlZS5xdWVyeVBhcmFtcyAmJiB1cmxUcmVlLnF1ZXJ5UGFyYW1zW1VybFNuYXBzaG90LklOVEVSQUNUSU9OX1FVRVJZX1BBUkFNXSkge1xuICAgICAgdXJsVHJlZS5xdWVyeVBhcmFtcyA9IHt9Oy8vW1VybFNuYXBzaG90LklOVEVSQUNUSU9OX1JPVVRFUl9PVVRMRVRdXG4gICAgfVxuICAgIHJldHVybiBuZXcgVXJsU25hcHNob3QodGhpcy51cmxTZXJpYWxpemVyLCB1cmxUcmVlLnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYFVybFNuYXBzaG90KCR7dGhpcy51cmx9KWA7XG4gIH1cblxuICBjb250YWluc1Zpc2l0U2VnbWVudChzZWdtZW50OiBWaXNpdFNlZ21lbnQpIHtcbiAgICByZXR1cm4gISF0aGlzLmdldFByaW1hcnlVcmxTZWdtZW50cygpLmZpbmQocyA9PiBzLnBhdGggPT09IHNlZ21lbnQucGxhY2VEZWZpbml0aW9uLnBhdGgpO1xuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXJsU25hcHNob3Qge1xuXG4gIGV4cG9ydCBjb25zdCBJTlRFUkFDVElPTl9RVUVSWV9QQVJBTSA9ICdhdXAtaW50ZXJhY3Rpb25zJztcbiAgZXhwb3J0IGNvbnN0IElOVEVSQUNUSU9OX0lEX1NFUEFSQVRPUiA9ICctLSc7XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSW50ZXJhY3Rpb25JZHMocGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHBhdGguc3BsaXQoSU5URVJBQ1RJT05fSURfU0VQQVJBVE9SKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQYXRoSWRGb3IoaW50ZXJhY3Rpb25JZHM6IHJlYWRvbmx5IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIGludGVyYWN0aW9uSWRzLmpvaW4oSU5URVJBQ1RJT05fSURfU0VQQVJBVE9SKTtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvbk9wdGlvbnMge1xuICAgIHJlcGxhY2VVcmw/OiBib29sZWFuO1xuICB9XG59XG4iXX0=
@@ -85,4 +85,4 @@ export class VisitSegment {
85
85
  return bits.join('');
86
86
  }
87
87
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXQtc2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL3Zpc2l0LXNlZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBSWhELE1BQU0sT0FBTyxZQUFZO0lBR0Y7SUFGWixlQUFlLENBQXNCO0lBRTlDLFlBQXFCLGVBQWdDLEVBQUUsa0JBQXVDLEVBQUU7UUFBM0Usb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ25ELGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsQ0FBQTtRQUN4RCxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFdBQVc7SUFDWCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsV0FBVztJQUNYLFVBQVU7UUFDUixPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGlCQUFpQixDQUFPLFNBQTZDO1FBQ25FLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRUQsV0FBVztJQUNYLFlBQVksQ0FBQyxZQUFzQztRQUNqRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZ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LEVBQUUsRUFBQyxHQUFHLEtBQUssQ0FBQyxlQUFlLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFDLENBQUMsQ0FBQztJQUNyRyxDQUFDO0lBRUQsYUFBYTtRQUNYLE1BQU0sSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakI7UUFDRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JFO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHJhY2V9IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHtpc0VxdWFsLCBpc05pbCwgaXNTdHJpbmd9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge1BsYWNlRGVmaW5pdGlvbn0gZnJvbSAnLi9wbGFjZS1kZWZpbml0aW9uJztcbmltcG9ydCB7UGFyYW1ldGVyRGVmaW5pdGlvbn0gZnJvbSAnLi9yb3V0ZS9wYXJhbWV0ZXItZGVmaW5pdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBWaXNpdFNlZ21lbnQge1xuICByZWFkb25seSB2aXNpdFBhcmFtZXRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcGxhY2VEZWZpbml0aW9uOiBQbGFjZURlZmluaXRpb24sIHZpc2l0UGFyYW1ldGVyczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9KSB7XG4gICAgcGxhY2VEZWZpbml0aW9uLnZhbGlkYXRlUm91dGVQYXJhbWV0ZXJzKHZpc2l0UGFyYW1ldGVycylcbiAgICB0aGlzLnZpc2l0UGFyYW1ldGVycyA9IE9iamVjdC5mcmVlemUodmlzaXRQYXJhbWV0ZXJzKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGdldFJvdXRlSWQoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Um91dGVJZEZyb20odGhpcyk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBoYXNSb3V0ZUlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhaXNOaWwodGhpcy5nZXRSb3V0ZUlkKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBwbGFjZSBwYXJhbWV0ZXIgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUuICBUaGUgcGFyYW1ldGVyXG4gICAqIG5hbWUgaXMgdGFrZW4gZnJvbSB0aGUgYGFzYCBvcHRpb24sIGUuZy4ge2FzOiAnYUN1c3RvbU5hbWUnfSBvdGhlcndpc2UgaXQgaXMgdGhlXG4gICAqIHNhbWUgYXMgdGhlIFZhbHVlTW9kZWwgcHJvcGVydHkgbmFtZS5cbiAgICogQHBhcmFtIHBhcmFtZXRlciB0aGUgdmlzaXQgcGFyYW1ldGVyIGRlZmluaXRpb25cbiAgICovXG4gIGdldFBhcmFtZXRlclZhbHVlPFQsIFM+KHBhcmFtZXRlcjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTPiB8IHN0cmluZyk6IFQge1xuICAgIHJldHVybiBpc1N0cmluZyhwYXJhbWV0ZXIpID8gdGhpcy52aXNpdFBhcmFtZXRlcnNbcGFyYW1ldGVyXSA6IHRoaXMudmlzaXRQYXJhbWV0ZXJzW3BhcmFtZXRlci5uYW1lXTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGhhc1BhcmFtZXRlcihwYXJhbWV0ZXJEZWY6IFBhcmFtZXRlckRlZmluaXRpb248YW55Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnZpc2l0UGFyYW1ldGVycykuaW5jbHVkZXMocGFyYW1ldGVyRGVmLm5hbWUpO1xuICB9XG5cbiAgcmVwbGFjZTxUPihwYXJhbWV0ZXI6IFBhcmFtZXRlckRlZmluaXRpb248VCwgYW55PiwgdmFsdWU6IFQpOiBWaXNpdFNlZ21lbnQge1xuICAgIHJldHVybiBuZXcgVmlzaXRTZWdtZW50KHRoaXMucGxhY2VEZWZpbml0aW9uLCB7Li4udGhpcy52aXNpdFBhcmFtZXRlcnMsIFtwYXJhbWV0ZXIubmFtZV06IHZhbHVlfSk7XG4gIH1cblxuICBtZXJnZVJvdXRlUGFyYW1ldGVyczxTPihyb3V0ZVBhcmFtczogUmVjb3JkPHN0cmluZywgYW55Pik6IFZpc2l0U2VnbWVudCB7XG4gICAgLy8gdG9kbzogd2hpdGVsaXN0IHBhcmFtZXRlcnMuXG4gICAgY29uc3Qgcm91dGVQYXJhbWV0ZXJLZXlzID0gT2JqZWN0LmtleXMocm91dGVQYXJhbXMpO1xuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xuICAgIHRoaXMucGxhY2VEZWZpbml0aW9uLmdldFZpc2l0UGFyYW1ldGVyRGVmcygpLmZvckVhY2goZGVmID0+IHtcbiAgICAgIGlmIChkZWYuaXNSb3V0ZUlkIHx8IGRlZi5pc1JvdXRlUGFyYW1ldGVyKSB7XG4gICAgICAgIGlmIChyb3V0ZVBhcmFtZXRlcktleXMuaW5jbHVkZXMoZGVmLm5hbWUpKSB7XG4gICAgICAgICAgcGFyYW1zW2RlZi5uYW1lXSA9IHJvdXRlUGFyYW1zW2RlZi5uYW1lXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gY29weSBub24gcm91dGUgcGFyYW1zIGFzIGlzLCBidXQgb25seSBpZiB0aGV5IGFscmVhZHkgZXhpc3Qgb3RoZXJ3aXNlIHdlJ2xsIGluamVjdCBuaWwgdmFsdWVzIGFuZCBicmVhayB0aGVcbiAgICAgICAgLy8gZGVmYXVsdHMgYW5kIHJlbWVtYmVyIHNhbml0aXNhdGlvbiBwcm9jZXNzLlxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0UGFyYW1ldGVyVmFsdWUoZGVmKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzUGFyYW1ldGVyKGRlZikpIHtcbiAgICAgICAgICBwYXJhbXNbZGVmLm5hbWVdID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IFZpc2l0U2VnbWVudCh0aGlzLnBsYWNlRGVmaW5pdGlvbiwgcGFyYW1zKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGhhc1JvdXRpbmdDaGFuZ2VkRnJvbShvdGhlcjogVmlzaXRTZWdtZW50KTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2FtZVBsYWNlID0gb3RoZXIucGxhY2VEZWZpbml0aW9uID09PSB0aGlzLnBsYWNlRGVmaW5pdGlvbjtcbiAgICBjb25zdCBjdXJyZW50UGFyYW1zID0gdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Rm9ybWF0dGVkUm91dGVQYXJhbWV0ZXJzKHRoaXMsIHRydWUpO1xuICAgIGNvbnN0IG90aGVyUGFyYW1zID0gdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Rm9ybWF0dGVkUm91dGVQYXJhbWV0ZXJzKG90aGVyLCB0cnVlKTtcbiAgICAvLyBjb25zb2xlLmxvZyh7Y3VycmVudFBhcmFtcywgb3RoZXJQYXJhbXN9KTtcbiAgICBjb25zdCBzYW1lUm91dGVQYXJhbWV0ZXJzID0gaXNFcXVhbChjdXJyZW50UGFyYW1zLCBvdGhlclBhcmFtcyk7XG4gICAgcmV0dXJuICFzYW1lUGxhY2UgfHwgIXNhbWVSb3V0ZVBhcmFtZXRlcnM7XG4gIH1cblxuICBoYXNDaGFuZ2VkRnJvbShvdGhlcjogVmlzaXRTZWdtZW50KSB7XG4gICAgY29uc3Qgc2FtZU5vblJvdXRlUGFyYW1ldGVycyA9IGlzRXF1YWwoXG4gICAgICB0aGlzLnBsYWNlRGVmaW5pdGlvbi5nZXROb25Sb3V0ZVBhcmFtZXRlcnModGhpcyksXG4gICAgICB0aGlzLnBsYWNlRGVmaW5pdGlvbi5nZXROb25Sb3V0ZVBhcmFtZXRlcnMob3RoZXIpXG4gICAgKTtcbiAgICByZXR1cm4gIXNhbWVOb25Sb3V0ZVBhcmFtZXRlcnMgfHwgdGhpcy5oYXNSb3V0aW5nQ2hhbmdlZEZyb20ob3RoZXIpO1xuICB9XG5cbiAgY3JlYXRlUm91dGVyQ29tbWFuZHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmhhc1JvdXRlSWQoKSA/XG4gICAgICBbdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Rm9ybWF0dGVkUm91dGVJZCh0aGlzKSwgdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Rm9ybWF0dGVkUm91dGVQYXJhbWV0ZXJzKHRoaXMpXSA6XG4gICAgICBbdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Rm9ybWF0dGVkUm91dGVQYXJhbWV0ZXJzKHRoaXMpXTtcbiAgfVxuXG4gIGNvcHlNaXNzaW5nRnJvbShvdGhlcjogVmlzaXRTZWdtZW50KTogVmlzaXRTZWdtZW50IHtcbiAgICByZXR1cm4gbmV3IFZpc2l0U2VnbWVudCh0aGlzLnBsYWNlRGVmaW5pdGlvbiwgey4uLm90aGVyLnZpc2l0UGFyYW1ldGVycywgLi4udGhpcy52aXNpdFBhcmFtZXRlcnN9KTtcbiAgfVxuXG4gIHRvRGVidWdTdHJpbmcoKSB7XG4gICAgY29uc3QgYml0cyA9IFt0aGlzLnBsYWNlRGVmaW5pdGlvbi5wYXRoXTtcbiAgICBpZiAodGhpcy5wbGFjZURlZmluaXRpb24uYXV0aGVudGljYXRlKSB7XG4gICAgICBiaXRzLnB1c2goXCLwn5SQXCIpO1xuICAgIH1cbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModGhpcy52aXNpdFBhcmFtZXRlcnMpO1xuICAgIGlmIChrZXlzLmxlbmd0aCA+IDApIHtcbiAgICAgIGJpdHMucHVzaChgKCR7a2V5cy5tYXAoayA9PiBgJHtrfT0ke3RoaXMudmlzaXRQYXJhbWV0ZXJzW2tdfWApfX0pYCk7XG4gICAgfVxuICAgIHJldHVybiBiaXRzLmpvaW4oJycpO1xuICB9XG5cbn1cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXQtc2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL3Zpc2l0LXNlZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBSWhELE1BQU0sT0FBTyxZQUFZO0lBR0Y7SUFGWixlQUFlLENBQXNCO0lBRTlDLFlBQXFCLGVBQWdDLEVBQUUsa0JBQXVDLEVBQUU7UUFBM0Usb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ25ELGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsQ0FBQTtRQUN4RCxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFdBQVc7SUFDWCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsV0FBVztJQUNYLFVBQVU7UUFDUixPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGlCQUFpQixDQUFPLFNBQTZDO1FBQ25FLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRUQsV0FBVztJQUNYLFlBQVksQ0FBQyxZQUEwQztRQUNyRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZ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LEVBQUUsRUFBQyxHQUFHLEtBQUssQ0FBQyxlQUFlLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFDLENBQUMsQ0FBQztJQUNyRyxDQUFDO0lBRUQsYUFBYTtRQUNYLE1BQU0sSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakI7UUFDRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3JFO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aXNFcXVhbCwgaXNOaWwsIGlzU3RyaW5nfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtQbGFjZURlZmluaXRpb259IGZyb20gJy4vcGxhY2UtZGVmaW5pdGlvbic7XG5pbXBvcnQge1BhcmFtZXRlckRlZmluaXRpb259IGZyb20gJy4vcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24nO1xuXG5leHBvcnQgY2xhc3MgVmlzaXRTZWdtZW50IHtcbiAgcmVhZG9ubHkgdmlzaXRQYXJhbWV0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHBsYWNlRGVmaW5pdGlvbjogUGxhY2VEZWZpbml0aW9uLCB2aXNpdFBhcmFtZXRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSkge1xuICAgIHBsYWNlRGVmaW5pdGlvbi52YWxpZGF0ZVJvdXRlUGFyYW1ldGVycyh2aXNpdFBhcmFtZXRlcnMpXG4gICAgdGhpcy52aXNpdFBhcmFtZXRlcnMgPSBPYmplY3QuZnJlZXplKHZpc2l0UGFyYW1ldGVycyk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBnZXRSb3V0ZUlkKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnBsYWNlRGVmaW5pdGlvbi5nZXRSb3V0ZUlkRnJvbSh0aGlzKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGhhc1JvdXRlSWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFpc05pbCh0aGlzLmdldFJvdXRlSWQoKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIHBsYWNlIHBhcmFtZXRlciB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZS4gIFRoZSBwYXJhbWV0ZXJcbiAgICogbmFtZSBpcyB0YWtlbiBmcm9tIHRoZSBgYXNgIG9wdGlvbiwgZS5nLiB7YXM6ICdhQ3VzdG9tTmFtZSd9IG90aGVyd2lzZSBpdCBpcyB0aGVcbiAgICogc2FtZSBhcyB0aGUgVmFsdWVNb2RlbCBwcm9wZXJ0eSBuYW1lLlxuICAgKiBAcGFyYW0gcGFyYW1ldGVyIHRoZSB2aXNpdCBwYXJhbWV0ZXIgZGVmaW5pdGlvblxuICAgKi9cbiAgZ2V0UGFyYW1ldGVyVmFsdWU8VCwgUz4ocGFyYW1ldGVyOiBQYXJhbWV0ZXJEZWZpbml0aW9uPFQsIFM+IHwgc3RyaW5nKTogVCB7XG4gICAgcmV0dXJuIGlzU3RyaW5nKHBhcmFtZXRlcikgPyB0aGlzLnZpc2l0UGFyYW1ldGVyc1twYXJhbWV0ZXJdIDogdGhpcy52aXNpdFBhcmFtZXRlcnNbcGFyYW1ldGVyLm5hbWVdO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgaGFzUGFyYW1ldGVyKHBhcmFtZXRlckRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjx1bmtub3duPik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLnZpc2l0UGFyYW1ldGVycykuaW5jbHVkZXMocGFyYW1ldGVyRGVmLm5hbWUpO1xuICB9XG5cbiAgcmVwbGFjZTxUPihwYXJhbWV0ZXI6IFBhcmFtZXRlckRlZmluaXRpb248VCwgdW5rbm93bj4sIHZhbHVlOiBUKTogVmlzaXRTZWdtZW50IHtcbiAgICByZXR1cm4gbmV3IFZpc2l0U2VnbWVudCh0aGlzLnBsYWNlRGVmaW5pdGlvbiwgey4uLnRoaXMudmlzaXRQYXJhbWV0ZXJzLCBbcGFyYW1ldGVyLm5hbWVdOiB2YWx1ZX0pO1xuICB9XG5cbiAgbWVyZ2VSb3V0ZVBhcmFtZXRlcnMocm91dGVQYXJhbXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogVmlzaXRTZWdtZW50IHtcbiAgICAvLyB0b2RvOiB3aGl0ZWxpc3QgcGFyYW1ldGVycy5cbiAgICBjb25zdCByb3V0ZVBhcmFtZXRlcktleXMgPSBPYmplY3Qua2V5cyhyb3V0ZVBhcmFtcyk7XG4gICAgY29uc3QgcGFyYW1zID0ge307XG4gICAgdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0VmlzaXRQYXJhbWV0ZXJEZWZzKCkuZm9yRWFjaChkZWYgPT4ge1xuICAgICAgaWYgKGRlZi5pc1JvdXRlSWQgfHwgZGVmLmlzUm91dGVQYXJhbWV0ZXIpIHtcbiAgICAgICAgaWYgKHJvdXRlUGFyYW1ldGVyS2V5cy5pbmNsdWRlcyhkZWYubmFtZSkpIHtcbiAgICAgICAgICBwYXJhbXNbZGVmLm5hbWVdID0gcm91dGVQYXJhbXNbZGVmLm5hbWVdO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBjb3B5IG5vbiByb3V0ZSBwYXJhbXMgYXMgaXMsIGJ1dCBvbmx5IGlmIHRoZXkgYWxyZWFkeSBleGlzdCBvdGhlcndpc2Ugd2UnbGwgaW5qZWN0IG5pbCB2YWx1ZXMgYW5kIGJyZWFrIHRoZVxuICAgICAgICAvLyBkZWZhdWx0cyBhbmQgcmVtZW1iZXIgc2FuaXRpc2F0aW9uIHByb2Nlc3MuXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRQYXJhbWV0ZXJWYWx1ZShkZWYpO1xuICAgICAgICBpZiAodGhpcy5oYXNQYXJhbWV0ZXIoZGVmKSkge1xuICAgICAgICAgIHBhcmFtc1tkZWYubmFtZV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBuZXcgVmlzaXRTZWdtZW50KHRoaXMucGxhY2VEZWZpbml0aW9uLCBwYXJhbXMpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgaGFzUm91dGluZ0NoYW5nZWRGcm9tKG90aGVyOiBWaXNpdFNlZ21lbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCBzYW1lUGxhY2UgPSBvdGhlci5wbGFjZURlZmluaXRpb24gPT09IHRoaXMucGxhY2VEZWZpbml0aW9uO1xuICAgIGNvbnN0IGN1cnJlbnRQYXJhbXMgPSB0aGlzLnBsYWNlRGVmaW5pdGlvbi5nZXRGb3JtYXR0ZWRSb3V0ZVBhcmFtZXRlcnModGhpcywgdHJ1ZSk7XG4gICAgY29uc3Qgb3RoZXJQYXJhbXMgPSB0aGlzLnBsYWNlRGVmaW5pdGlvbi5nZXRGb3JtYXR0ZWRSb3V0ZVBhcmFtZXRlcnMob3RoZXIsIHRydWUpO1xuICAgIC8vIGNvbnNvbGUubG9nKHtjdXJyZW50UGFyYW1zLCBvdGhlclBhcmFtc30pO1xuICAgIGNvbnN0IHNhbWVSb3V0ZVBhcmFtZXRlcnMgPSBpc0VxdWFsKGN1cnJlbnRQYXJhbXMsIG90aGVyUGFyYW1zKTtcbiAgICByZXR1cm4gIXNhbWVQbGFjZSB8fCAhc2FtZVJvdXRlUGFyYW1ldGVycztcbiAgfVxuXG4gIGhhc0NoYW5nZWRGcm9tKG90aGVyOiBWaXNpdFNlZ21lbnQpIHtcbiAgICBjb25zdCBzYW1lTm9uUm91dGVQYXJhbWV0ZXJzID0gaXNFcXVhbChcbiAgICAgIHRoaXMucGxhY2VEZWZpbml0aW9uLmdldE5vblJvdXRlUGFyYW1ldGVycyh0aGlzKSxcbiAgICAgIHRoaXMucGxhY2VEZWZpbml0aW9uLmdldE5vblJvdXRlUGFyYW1ldGVycyhvdGhlcilcbiAgICApO1xuICAgIHJldHVybiAhc2FtZU5vblJvdXRlUGFyYW1ldGVycyB8fCB0aGlzLmhhc1JvdXRpbmdDaGFuZ2VkRnJvbShvdGhlcik7XG4gIH1cblxuICBjcmVhdGVSb3V0ZXJDb21tYW5kcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuaGFzUm91dGVJZCgpID9cbiAgICAgIFt0aGlzLnBsYWNlRGVmaW5pdGlvbi5nZXRGb3JtYXR0ZWRSb3V0ZUlkKHRoaXMpLCB0aGlzLnBsYWNlRGVmaW5pdGlvbi5nZXRGb3JtYXR0ZWRSb3V0ZVBhcmFtZXRlcnModGhpcyldIDpcbiAgICAgIFt0aGlzLnBsYWNlRGVmaW5pdGlvbi5nZXRGb3JtYXR0ZWRSb3V0ZVBhcmFtZXRlcnModGhpcyldO1xuICB9XG5cbiAgY29weU1pc3NpbmdGcm9tKG90aGVyOiBWaXNpdFNlZ21lbnQpOiBWaXNpdFNlZ21lbnQge1xuICAgIHJldHVybiBuZXcgVmlzaXRTZWdtZW50KHRoaXMucGxhY2VEZWZpbml0aW9uLCB7Li4ub3RoZXIudmlzaXRQYXJhbWV0ZXJzLCAuLi50aGlzLnZpc2l0UGFyYW1ldGVyc30pO1xuICB9XG5cbiAgdG9EZWJ1Z1N0cmluZygpIHtcbiAgICBjb25zdCBiaXRzID0gW3RoaXMucGxhY2VEZWZpbml0aW9uLnBhdGhdO1xuICAgIGlmICh0aGlzLnBsYWNlRGVmaW5pdGlvbi5hdXRoZW50aWNhdGUpIHtcbiAgICAgIGJpdHMucHVzaChcIvCflJBcIik7XG4gICAgfVxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyh0aGlzLnZpc2l0UGFyYW1ldGVycyk7XG4gICAgaWYgKGtleXMubGVuZ3RoID4gMCkge1xuICAgICAgYml0cy5wdXNoKGAoJHtrZXlzLm1hcChrID0+IGAke2t9PSR7dGhpcy52aXNpdFBhcmFtZXRlcnNba119YCl9fSlgKTtcbiAgICB9XG4gICAgcmV0dXJuIGJpdHMuam9pbignJyk7XG4gIH1cblxufVxuIl19
@@ -94,4 +94,4 @@ __decorate([
94
94
  // .withAncestorParameters(ParentA, {id: "a"}) // barf if not a ancestor or missing parameters are required or parameter isn't valid
95
95
  // .withAncestorParameters(ParentB, {id: "c"}) // barf if not a ancestor or missing parameters are required or parameter isn't valid
96
96
  //
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS92aXNpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLE1BQU0sRUFBZ0IsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFM0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsTUFBTSxPQUFPLEtBQUs7SUFFTix3QkFBd0IsR0FBRyxJQUFJLEdBQUcsRUFBK0MsQ0FBQztJQUN6RSxrQkFBa0IsQ0FBZTtJQUNqQyxtQkFBbUIsQ0FBa0I7SUFFeEQsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUE2QyxFQUFFLGVBQXFDO1FBQzlGLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNyRyxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUF3QjtRQUMxQyxPQUFPLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUFzQixRQUF3QjtRQUM1QyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxJQUFJLENB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TyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM1RCxDQUFDO0NBQ0Y7QUF4QkM7SUFEQyxPQUFPLEVBQUU7O3FDQUNxQixlQUFlO29DQUFHLFlBQVk7MENBRTVEO0FBeUJILHdEQUF3RDtBQUN4RCxzSUFBc0k7QUFDdEksc0lBQXNJO0FBQ3RJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Fzc2VydCwgQ29uc3RydWN0YWJsZX0gZnJvbSBcIkBjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXNcIjtcbmltcG9ydCB7aXNFbXB0eSwgbGFzdH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHtNZW1vaXplfSBmcm9tIFwidHlwZXNjcmlwdC1tZW1vaXplXCI7XG5pbXBvcnQge1BsYWNlQWNjZXNzR3VhcmR9IGZyb20gXCIuL3BsYWNlLWFjY2Vzcy1ndWFyZFwiO1xuaW1wb3J0IHtQbGFjZUNvbXBvbmVudH0gZnJvbSBcIi4vcGxhY2UtY29tcG9uZW50XCI7XG5pbXBvcnQge1BsYWNlRGVmaW5pdGlvbn0gZnJvbSBcIi4vcGxhY2UtZGVmaW5pdGlvblwiO1xuaW1wb3J0IHtWaXNpdFNlZ21lbnR9IGZyb20gXCIuL3Zpc2l0LXNlZ21lbnRcIjtcblxuZXhwb3J0IGNsYXNzIFZpc2l0IHtcblxuICBwcm90ZWN0ZWQgc2VnbWVudHNCeVBsYWNlQ29tcG9uZW50ID0gbmV3IE1hcDxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgVmlzaXRTZWdtZW50PigpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVzdGluYXRpb25TZWdtZW50OiBWaXNpdFNlZ21lbnQ7XG4gIHByb3RlY3RlZCByZWFkb25seSBkZXN0aW5hdGlvblBsYWNlRGVmOiBQbGFjZURlZmluaXRpb247XG5cbiAgc3RhdGljIGdvdG8ocGxhY2VDb21wb25lbnQ6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCB2aXNpdFBhcmFtZXRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogVmlzaXQge1xuICAgIHJldHVybiBuZXcgVmlzaXQoW25ldyBWaXNpdFNlZ21lbnQoUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbihwbGFjZUNvbXBvbmVudCksIHZpc2l0UGFyYW1ldGVycyldKVxuICB9XG5cbiAgc3RhdGljIGZyb21TZWdtZW50cyhzZWdtZW50czogVmlzaXRTZWdtZW50W10pOiBWaXNpdCB7XG4gICAgcmV0dXJuIG5ldyBWaXNpdChzZWdtZW50cyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3Ioc2VnbWVudHM6IFZpc2l0U2VnbWVudFtdKSB7XG4gICAgYXNzZXJ0LmlzVHJ1dGh5KHNlZ21lbnRzLmxlbmd0aCA+IDApO1xuICAgIHRoaXMuZGVzdGluYXRpb25TZWdtZW50ID0gbGFzdChzZWdtZW50cyk7XG4gICAgdGhpcy5kZXN0aW5hdGlvblBsYWNlRGVmID0gdGhpcy5kZXN0aW5hdGlvblNlZ21lbnQucGxhY2VEZWZpbml0aW9uXG4gICAgc2VnbWVudHMuZm9yRWFjaChzID0+IHRoaXMuc2VnbWVudHNCeVBsYWNlQ29tcG9uZW50LnNldChzLnBsYWNlRGVmaW5pdGlvbi5jb21wb25lbnQsIHMpKVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBkZWZpbmVkU2VnbWVudHMoKTogTWFwPENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCBWaXNpdFNlZ21lbnQ+IHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnNlZ21lbnRzQnlQbGFjZUNvbXBvbmVudC52YWx1ZXMoKSkucmVkdWNlKChtYXAsIHMpID0+IHtcbiAgICAgIG1hcC5zZXQocy5wbGFjZURlZmluaXRpb24uY29tcG9uZW50LCBzKVxuICAgICAgcmV0dXJuIG1hcDtcbiAgICB9LCBuZXcgTWFwKCkpXG5cbiAgfVxuXG4gIHdpdGhBbmNlc3RvclBhcmFtZXRlcnMocGxhY2VDb21wb25lbnQ6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCBwYXJhbWV0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogdGhpcyB7XG4gICAgaWYgKCF0aGlzLmRlc3RpbmF0aW9uUGxhY2VEZWYuaGFzQW5jZXN0b3IocGxhY2VDb21wb25lbnQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFBsYWNlICR7cGxhY2VDb21wb25lbnQubmFtZX0gaXMgbm90IGFuIGFuY2VzdG9yIG9mICR7dGhpcy5kZXN0aW5hdGlvblBsYWNlRGVmLmNvbXBvbmVudC5uYW1lfWApO1xuICAgIH1cbiAgICB0aGlzLnNlZ21lbnRzQnlQbGFjZUNvbXBvbmVudC5zZXQocGxhY2VDb21wb25lbnQsIG5ldyBWaXNpdFNlZ21lbnQoUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbihwbGFjZUNvbXBvbmVudCksIHBhcmFtZXRlcnMpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGdldCBzZWdtZW50cygpOiBWaXNpdFNlZ21lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZVNlZ21lbnRzKFt0aGlzLmRlZmluZWRTZWdtZW50c10pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlU2VnbWVudHMoZGVmYXVsdHM6IE1hcDxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgVmlzaXRTZWdtZW50PltdKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVzdGluYXRpb25QbGFjZURlZi5hbmNlc3RvcnNBbmRTZWxmKClcbiAgICAgIC5tYXAoYSA9PiB7XG4gICAgICAgIGNvbnN0IHZpc2l0ID0gbmV3IFZpc2l0U2VnbWVudChhLCB7fSk7XG4gICAgICAgIHJldHVybiBkZWZhdWx0c1xuICAgICAgICAgIC5tYXAoc2VnbWVudHMgPT4gc2VnbWVudHMuZ2V0KGEuY29tcG9uZW50KSlcbiAgICAgICAgICAuZmlsdGVyKGl0ID0+ICEhaXQpXG4gICAgICAgICAgLnJlZHVjZSgoaXQsIG90aGVyKSA9PiBpdC5jb3B5TWlzc2luZ0Zyb20ob3RoZXIpLCB2aXNpdClcbiAgICAgIH0pO1xuICB9XG5cbiAgY29weVdpdGhEZWZhdWx0c0Zyb20ob3RoZXI6IFZpc2l0fHVuZGVmaW5lZCk6IFZpc2l0IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IFt0aGlzLmRlZmluZWRTZWdtZW50c107XG4gICAgaWYgKG90aGVyKSB7XG4gICAgICBkZWZhdWx0cy5wdXNoKG90aGVyLmRlZmluZWRTZWdtZW50cyk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgVmlzaXQodGhpcy5yZXNvbHZlU2VnbWVudHMoZGVmYXVsdHMpKTtcbiAgfVxuXG4gIGNvcHlBbmRSZXBsYWNlU2VnbWVudChyZXBsYWNlOiBWaXNpdFNlZ21lbnQpOiBWaXNpdCB7XG4gICAgLy8gY29uc29sZS5sb2coXCJjb3B5QW5kUmVwbGFjZVNlZ21lbnRcIiwgcmVwbGFjZS50b0RlYnVnU3RyaW5nKCkpO1xuICAgIGNvbnN0IHNlZ21lbnRzID0gdGhpcy5zZWdtZW50cy5tYXAocyA9PiBzLnBsYWNlRGVmaW5pdGlvbiA9PT0gcmVwbGFjZS5wbGFjZURlZmluaXRpb24gPyByZXBsYWNlIDogcyk7XG4gICAgLy8gY29uc29sZS5sb2coXCJjb3B5QW5kUmVwbGFjZVNlZ21lbnQucmVzdWx0XCIsIHNlZ21lbnRzLm1hcChzID0+IHMudG9EZWJ1Z1N0cmluZygpKS5qb2luKFwiXFxuXCIpKTtcbiAgICByZXR1cm4gbmV3IFZpc2l0KHNlZ21lbnRzKTtcbiAgfVxuXG4gIGlzUGxhY2VBY3RpdmUocGxhY2VEZWZpbml0aW9uOiBQbGFjZURlZmluaXRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmdldFNlZ21lbnRGb3IocGxhY2VEZWZpbml0aW9uKTtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgZ2V0U2VnbWVudEZvcihwbGFjZURlZmluaXRpb246IFBsYWNlRGVmaW5pdGlvbik6IFZpc2l0U2VnbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuc2VnbWVudHMuZmluZCh2ID0+IHYucGxhY2VEZWZpbml0aW9uID09PSBwbGFjZURlZmluaXRpb24pO1xuICB9XG5cbiAgZ2V0Um91dGVyQ29tbWFuZHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnNlZ21lbnRzLnJlZHVjZSgocmVzdWx0LCB2KSA9PiB7XG4gICAgICBjb25zdCBwYXRoID0gdi5wbGFjZURlZmluaXRpb24ucGF0aDtcbiAgICAgIHJldHVybiBpc0VtcHR5KHBhdGgpID9cbiAgICAgICAgWy4uLnJlc3VsdCwgcGF0aF0gOiAvLyBBbmd1bGFyIGRvZXNuJ3Qgc3VwcG9ydCByb3V0ZSBwYXJhbXMgb24gZW1wdHkgcGF0aCBzZWdtZW50c1xuICAgICAgICBbLi4ucmVzdWx0LCBwYXRoLCAuLi52LmNyZWF0ZVJvdXRlckNvbW1hbmRzKCldO1xuICAgIH0sIFtdKTtcbiAgfVxuXG4gIGlzQXV0aG9yaXNlZChndWFyZDogUGxhY2VBY2Nlc3NHdWFyZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlZ21lbnRzLmZpbmQocyA9PiAhZ3VhcmQuaXNBdXRob3Jpc2VkKHMucGxhY2VEZWZpbml0aW9uKSkgPT0gbnVsbDtcbiAgfVxuXG4gIHJlcXVpcmVzQXV0aGVudGljYXRpb24oKSB7XG4gICAgcmV0dXJuICEhdGhpcy5zZWdtZW50cy5maW5kKHMgPT4gcy5wbGFjZURlZmluaXRpb24uYXV0aGVudGljYXRlKTtcbiAgfVxuXG4gIHRvRGVidWdTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VnbWVudHMubWFwKHMgPT4gcy50b0RlYnVnU3RyaW5nKCkpLmpvaW4oXCIvXCIpXG4gIH1cbn1cblxuXG4vLyBjb25zdCB2aXNpdDIgPSBWaXNpdC5nb3RvKEFub3RoZXJQbGFjZSwge2lkOiBcImZyZWRcIn0pXG4vLyAgIC53aXRoQW5jZXN0b3JQYXJhbWV0ZXJzKFBhcmVudEEsIHtpZDogXCJhXCJ9KSAvLyBiYXJmIGlmIG5vdCBhIGFuY2VzdG9yIG9yIG1pc3NpbmcgcGFyYW1ldGVycyBhcmUgcmVxdWlyZWQgb3IgcGFyYW1ldGVyIGlzbid0IHZhbGlkXG4vLyAgIC53aXRoQW5jZXN0b3JQYXJhbWV0ZXJzKFBhcmVudEIsIHtpZDogXCJjXCJ9KSAvLyBiYXJmIGlmIG5vdCBhIGFuY2VzdG9yIG9yIG1pc3NpbmcgcGFyYW1ldGVycyBhcmUgcmVxdWlyZWQgb3IgcGFyYW1ldGVyIGlzbid0IHZhbGlkXG4vL1xuIl19
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS92aXNpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLE1BQU0sRUFBZ0IsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFM0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsTUFBTSxPQUFPLEtBQUs7SUFFTix3QkFBd0IsR0FBRyxJQUFJLEdBQUcsRUFBK0MsQ0FBQztJQUN6RSxrQkFBa0IsQ0FBZTtJQUNqQyxtQkFBbUIsQ0FBa0I7SUFFeEQsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUE2QyxFQUFFLGVBQXlDO1FBQ2xHLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNyRyxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUF3QjtRQUMxQyxPQUFPLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUFzQixRQUF3QjtRQUM1QyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQTtRQUNsRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzFGLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQ3ZDLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQTtJQUVmLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxjQUE2QyxFQUFFLFVBQW1DO1FBQ3ZHLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ3pELE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxjQUFjLENBQUMsSUFBSSwwQkFBMEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ2xIO1FBQ0QsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxZQUFZLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQzlILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTyxlQUFlLENBQUMsUUFBNEQ7UUFDbEYsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLEVBQUU7YUFDL0MsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1AsTUFBTSxLQUFLLEdBQUcsSUFBSSxZQUFZLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3RDLE9BQU8sUUFBUTtpQkFDWixHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDMUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztpQkFDbEIsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUM1RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUFzQjtRQUN6QyxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4QyxJQUFJLEtBQUssRUFBRTtZQUNULFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ3RDO1FBQ0QsT0FBTyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELHFCQUFxQixDQUFDLE9BQXFCO1FBQ3pDLGlFQUFpRTtRQUNqRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLEtBQUssT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRyxnR0FBZ0c7UUFDaEcsT0FBTyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsYUFBYSxDQUFDLGVBQWdDO1FBQzVDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUdELGFBQWEsQ0FBQyxlQUFnQztRQUM1QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsS0FBSyxlQUFlLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN4QyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztZQUNwQyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNwQixDQUFDLEdBQUcsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyw4REFBOEQ7Z0JBQ2xGLENBQUMsR0FBRyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUNuRCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQXVCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ2pGLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM1RCxDQUFDO0NBQ0Y7QUF4QkM7SUFEQyxPQUFPLEVBQUU7O3FDQUNxQixlQUFlO29DQUFHLFlBQVk7MENBRTVEO0FBeUJILHdEQUF3RDtBQUN4RCxzSUFBc0k7QUFDdEksc0lBQXNJO0FBQ3RJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Fzc2VydCwgQ29uc3RydWN0YWJsZX0gZnJvbSBcIkBjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXNcIjtcbmltcG9ydCB7aXNFbXB0eSwgbGFzdH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHtNZW1vaXplfSBmcm9tIFwidHlwZXNjcmlwdC1tZW1vaXplXCI7XG5pbXBvcnQge1BsYWNlQWNjZXNzR3VhcmR9IGZyb20gXCIuL3BsYWNlLWFjY2Vzcy1ndWFyZFwiO1xuaW1wb3J0IHtQbGFjZUNvbXBvbmVudH0gZnJvbSBcIi4vcGxhY2UtY29tcG9uZW50XCI7XG5pbXBvcnQge1BsYWNlRGVmaW5pdGlvbn0gZnJvbSBcIi4vcGxhY2UtZGVmaW5pdGlvblwiO1xuaW1wb3J0IHtWaXNpdFNlZ21lbnR9IGZyb20gXCIuL3Zpc2l0LXNlZ21lbnRcIjtcblxuZXhwb3J0IGNsYXNzIFZpc2l0IHtcblxuICBwcm90ZWN0ZWQgc2VnbWVudHNCeVBsYWNlQ29tcG9uZW50ID0gbmV3IE1hcDxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgVmlzaXRTZWdtZW50PigpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVzdGluYXRpb25TZWdtZW50OiBWaXNpdFNlZ21lbnQ7XG4gIHByb3RlY3RlZCByZWFkb25seSBkZXN0aW5hdGlvblBsYWNlRGVmOiBQbGFjZURlZmluaXRpb247XG5cbiAgc3RhdGljIGdvdG8ocGxhY2VDb21wb25lbnQ6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCB2aXNpdFBhcmFtZXRlcnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFZpc2l0IHtcbiAgICByZXR1cm4gbmV3IFZpc2l0KFtuZXcgVmlzaXRTZWdtZW50KFBsYWNlQ29tcG9uZW50LmdldERlZmluaXRpb24ocGxhY2VDb21wb25lbnQpLCB2aXNpdFBhcmFtZXRlcnMpXSlcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU2VnbWVudHMoc2VnbWVudHM6IFZpc2l0U2VnbWVudFtdKTogVmlzaXQge1xuICAgIHJldHVybiBuZXcgVmlzaXQoc2VnbWVudHMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHNlZ21lbnRzOiBWaXNpdFNlZ21lbnRbXSkge1xuICAgIGFzc2VydC5pc1RydXRoeShzZWdtZW50cy5sZW5ndGggPiAwKTtcbiAgICB0aGlzLmRlc3RpbmF0aW9uU2VnbWVudCA9IGxhc3Qoc2VnbWVudHMpO1xuICAgIHRoaXMuZGVzdGluYXRpb25QbGFjZURlZiA9IHRoaXMuZGVzdGluYXRpb25TZWdtZW50LnBsYWNlRGVmaW5pdGlvblxuICAgIHNlZ21lbnRzLmZvckVhY2gocyA9PiB0aGlzLnNlZ21lbnRzQnlQbGFjZUNvbXBvbmVudC5zZXQocy5wbGFjZURlZmluaXRpb24uY29tcG9uZW50LCBzKSlcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZGVmaW5lZFNlZ21lbnRzKCk6IE1hcDxDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgVmlzaXRTZWdtZW50PiB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5zZWdtZW50c0J5UGxhY2VDb21wb25lbnQudmFsdWVzKCkpLnJlZHVjZSgobWFwLCBzKSA9PiB7XG4gICAgICBtYXAuc2V0KHMucGxhY2VEZWZpbml0aW9uLmNvbXBvbmVudCwgcylcbiAgICAgIHJldHVybiBtYXA7XG4gICAgfSwgbmV3IE1hcCgpKVxuXG4gIH1cblxuICB3aXRoQW5jZXN0b3JQYXJhbWV0ZXJzKHBsYWNlQ29tcG9uZW50OiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgcGFyYW1ldGVyczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiB0aGlzIHtcbiAgICBpZiAoIXRoaXMuZGVzdGluYXRpb25QbGFjZURlZi5oYXNBbmNlc3RvcihwbGFjZUNvbXBvbmVudCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUGxhY2UgJHtwbGFjZUNvbXBvbmVudC5uYW1lfSBpcyBub3QgYW4gYW5jZXN0b3Igb2YgJHt0aGlzLmRlc3RpbmF0aW9uUGxhY2VEZWYuY29tcG9uZW50Lm5hbWV9YCk7XG4gICAgfVxuICAgIHRoaXMuc2VnbWVudHNCeVBsYWNlQ29tcG9uZW50LnNldChwbGFjZUNvbXBvbmVudCwgbmV3IFZpc2l0U2VnbWVudChQbGFjZUNvbXBvbmVudC5nZXREZWZpbml0aW9uKHBsYWNlQ29tcG9uZW50KSwgcGFyYW1ldGVycykpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZ2V0IHNlZ21lbnRzKCk6IFZpc2l0U2VnbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlU2VnbWVudHMoW3RoaXMuZGVmaW5lZFNlZ21lbnRzXSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVTZWdtZW50cyhkZWZhdWx0czogTWFwPENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCBWaXNpdFNlZ21lbnQ+W10pIHtcbiAgICByZXR1cm4gdGhpcy5kZXN0aW5hdGlvblBsYWNlRGVmLmFuY2VzdG9yc0FuZFNlbGYoKVxuICAgICAgLm1hcChhID0+IHtcbiAgICAgICAgY29uc3QgdmlzaXQgPSBuZXcgVmlzaXRTZWdtZW50KGEsIHt9KTtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRzXG4gICAgICAgICAgLm1hcChzZWdtZW50cyA9PiBzZWdtZW50cy5nZXQoYS5jb21wb25lbnQpKVxuICAgICAgICAgIC5maWx0ZXIoaXQgPT4gISFpdClcbiAgICAgICAgICAucmVkdWNlKChpdCwgb3RoZXIpID0+IGl0LmNvcHlNaXNzaW5nRnJvbShvdGhlciksIHZpc2l0KVxuICAgICAgfSk7XG4gIH1cblxuICBjb3B5V2l0aERlZmF1bHRzRnJvbShvdGhlcjogVmlzaXR8dW5kZWZpbmVkKTogVmlzaXQge1xuICAgIGNvbnN0IGRlZmF1bHRzID0gW3RoaXMuZGVmaW5lZFNlZ21lbnRzXTtcbiAgICBpZiAob3RoZXIpIHtcbiAgICAgIGRlZmF1bHRzLnB1c2gob3RoZXIuZGVmaW5lZFNlZ21lbnRzKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBWaXNpdCh0aGlzLnJlc29sdmVTZWdtZW50cyhkZWZhdWx0cykpO1xuICB9XG5cbiAgY29weUFuZFJlcGxhY2VTZWdtZW50KHJlcGxhY2U6IFZpc2l0U2VnbWVudCk6IFZpc2l0IHtcbiAgICAvLyBjb25zb2xlLmxvZyhcImNvcHlBbmRSZXBsYWNlU2VnbWVudFwiLCByZXBsYWNlLnRvRGVidWdTdHJpbmcoKSk7XG4gICAgY29uc3Qgc2VnbWVudHMgPSB0aGlzLnNlZ21lbnRzLm1hcChzID0+IHMucGxhY2VEZWZpbml0aW9uID09PSByZXBsYWNlLnBsYWNlRGVmaW5pdGlvbiA/IHJlcGxhY2UgOiBzKTtcbiAgICAvLyBjb25zb2xlLmxvZyhcImNvcHlBbmRSZXBsYWNlU2VnbWVudC5yZXN1bHRcIiwgc2VnbWVudHMubWFwKHMgPT4gcy50b0RlYnVnU3RyaW5nKCkpLmpvaW4oXCJcXG5cIikpO1xuICAgIHJldHVybiBuZXcgVmlzaXQoc2VnbWVudHMpO1xuICB9XG5cbiAgaXNQbGFjZUFjdGl2ZShwbGFjZURlZmluaXRpb246IFBsYWNlRGVmaW5pdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZ2V0U2VnbWVudEZvcihwbGFjZURlZmluaXRpb24pO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXRTZWdtZW50Rm9yKHBsYWNlRGVmaW5pdGlvbjogUGxhY2VEZWZpbml0aW9uKTogVmlzaXRTZWdtZW50IHtcbiAgICByZXR1cm4gdGhpcy5zZWdtZW50cy5maW5kKHYgPT4gdi5wbGFjZURlZmluaXRpb24gPT09IHBsYWNlRGVmaW5pdGlvbik7XG4gIH1cblxuICBnZXRSb3V0ZXJDb21tYW5kcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuc2VnbWVudHMucmVkdWNlKChyZXN1bHQsIHYpID0+IHtcbiAgICAgIGNvbnN0IHBhdGggPSB2LnBsYWNlRGVmaW5pdGlvbi5wYXRoO1xuICAgICAgcmV0dXJuIGlzRW1wdHkocGF0aCkgP1xuICAgICAgICBbLi4ucmVzdWx0LCBwYXRoXSA6IC8vIEFuZ3VsYXIgZG9lc24ndCBzdXBwb3J0IHJvdXRlIHBhcmFtcyBvbiBlbXB0eSBwYXRoIHNlZ21lbnRzXG4gICAgICAgIFsuLi5yZXN1bHQsIHBhdGgsIC4uLnYuY3JlYXRlUm91dGVyQ29tbWFuZHMoKV07XG4gICAgfSwgW10pO1xuICB9XG5cbiAgaXNBdXRob3Jpc2VkKGd1YXJkOiBQbGFjZUFjY2Vzc0d1YXJkKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VnbWVudHMuZmluZChzID0+ICFndWFyZC5pc0F1dGhvcmlzZWQocy5wbGFjZURlZmluaXRpb24pKSA9PSBudWxsO1xuICB9XG5cbiAgcmVxdWlyZXNBdXRoZW50aWNhdGlvbigpIHtcbiAgICByZXR1cm4gISF0aGlzLnNlZ21lbnRzLmZpbmQocyA9PiBzLnBsYWNlRGVmaW5pdGlvbi5hdXRoZW50aWNhdGUpO1xuICB9XG5cbiAgdG9EZWJ1Z1N0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zZWdtZW50cy5tYXAocyA9PiBzLnRvRGVidWdTdHJpbmcoKSkuam9pbihcIi9cIilcbiAgfVxufVxuXG5cbi8vIGNvbnN0IHZpc2l0MiA9IFZpc2l0LmdvdG8oQW5vdGhlclBsYWNlLCB7aWQ6IFwiZnJlZFwifSlcbi8vICAgLndpdGhBbmNlc3RvclBhcmFtZXRlcnMoUGFyZW50QSwge2lkOiBcImFcIn0pIC8vIGJhcmYgaWYgbm90IGEgYW5jZXN0b3Igb3IgbWlzc2luZyBwYXJhbWV0ZXJzIGFyZSByZXF1aXJlZCBvciBwYXJhbWV0ZXIgaXNuJ3QgdmFsaWRcbi8vICAgLndpdGhBbmNlc3RvclBhcmFtZXRlcnMoUGFyZW50Qiwge2lkOiBcImNcIn0pIC8vIGJhcmYgaWYgbm90IGEgYW5jZXN0b3Igb3IgbWlzc2luZyBwYXJhbWV0ZXJzIGFyZSByZXF1aXJlZCBvciBwYXJhbWV0ZXIgaXNuJ3QgdmFsaWRcbi8vXG4iXX0=
@@ -3,8 +3,6 @@ import { marked } from 'marked';
3
3
  import { markdownPillExtension } from './pill-plugin';
4
4
  import * as i0 from "@angular/core";
5
5
  export class MarkdownService {
6
- constructor() {
7
- }
8
6
  render(content) {
9
7
  return marked.parse(content, {
10
8
  smartLists: true
@@ -18,10 +16,10 @@ export class MarkdownService {
18
16
  extensions: [markdownPillExtension(renderer ?? (text => `<span class='aup-pill'>${text}<span>`))]
19
17
  });
20
18
  }
21
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: MarkdownService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
22
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: MarkdownService });
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: MarkdownService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
20
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: MarkdownService });
23
21
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: MarkdownService, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: MarkdownService, decorators: [{
25
23
  type: Injectable
26
- }], ctorParameters: function () { return []; } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3NlcnZpY2VzL21hcmtkb3duL21hcmtkb3duLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHdEQsTUFBTSxPQUFPLGVBQWU7SUFFMUI7SUFDQSxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQWU7UUFDcEIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUMzQixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQWU7UUFDMUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxRQUFzQztRQUNyRCxNQUFNLENBQUMsR0FBRyxDQUFDO1lBQ1QsVUFBVSxFQUFFLENBQUMscUJBQXFCLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQywwQkFBMEIsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQ2xHLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBbkJVLGVBQWU7MkdBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgbWFya2VkIH0gZnJvbSAnbWFya2VkJztcbmltcG9ydCB7IG1hcmtkb3duUGlsbEV4dGVuc2lvbiB9IGZyb20gJy4vcGlsbC1wbHVnaW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWFya2Rvd25TZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIHJlbmRlcihjb250ZW50OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbWFya2VkLnBhcnNlKGNvbnRlbnQsIHtcbiAgICAgIHNtYXJ0TGlzdHM6IHRydWVcbiAgICB9KTtcbiAgfVxuXG4gIHJlbmRlcklubGluZShjb250ZW50OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbWFya2VkLnBhcnNlSW5saW5lKGNvbnRlbnQpO1xuICB9XG5cbiAgdXNlUGlsbEV4dGVuc2lvbihyZW5kZXJlcj86IChjb250ZW50OiBzdHJpbmcpID0+IHN0cmluZykge1xuICAgIG1hcmtlZC51c2Uoe1xuICAgICAgZXh0ZW5zaW9uczogW21hcmtkb3duUGlsbEV4dGVuc2lvbihyZW5kZXJlciA/PyAodGV4dCA9PiBgPHNwYW4gY2xhc3M9J2F1cC1waWxsJz4ke3RleHR9PHNwYW4+YCkpXVxuICAgIH0pO1xuICB9XG59XG5cblxuIl19
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3NlcnZpY2VzL21hcmtkb3duL21hcmtkb3duLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFHcEQsTUFBTSxPQUFPLGVBQWU7SUFDMUIsTUFBTSxDQUFDLE9BQWU7UUFDcEIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUMzQixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLE9BQWU7UUFDMUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxRQUFzQztRQUNyRCxNQUFNLENBQUMsR0FBRyxDQUFDO1lBQ1QsVUFBVSxFQUFFLENBQUMscUJBQXFCLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQywwQkFBMEIsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQ2xHLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBZlUsZUFBZTsyR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHttYXJrZWR9IGZyb20gJ21hcmtlZCc7XG5pbXBvcnQge21hcmtkb3duUGlsbEV4dGVuc2lvbn0gZnJvbSAnLi9waWxsLXBsdWdpbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXJrZG93blNlcnZpY2Uge1xuICByZW5kZXIoY29udGVudDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG1hcmtlZC5wYXJzZShjb250ZW50LCB7XG4gICAgICBzbWFydExpc3RzOiB0cnVlXG4gICAgfSk7XG4gIH1cblxuICByZW5kZXJJbmxpbmUoY29udGVudDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG1hcmtlZC5wYXJzZUlubGluZShjb250ZW50KTtcbiAgfVxuXG4gIHVzZVBpbGxFeHRlbnNpb24ocmVuZGVyZXI/OiAoY29udGVudDogc3RyaW5nKSA9PiBzdHJpbmcpIHtcbiAgICBtYXJrZWQudXNlKHtcbiAgICAgIGV4dGVuc2lvbnM6IFttYXJrZG93blBpbGxFeHRlbnNpb24ocmVuZGVyZXIgPz8gKHRleHQgPT4gYDxzcGFuIGNsYXNzPSdhdXAtcGlsbCc+JHt0ZXh0fTxzcGFuPmApKV1cbiAgICB9KTtcbiAgfVxufVxuXG5cbiJdfQ==
@@ -28,10 +28,8 @@ export const markdownPillExtension = (renderPill) => {
28
28
  }
29
29
  },
30
30
  renderer: function (token) {
31
- // @ts-ignore (until typings are up to date)
32
- const url = token.text;
33
31
  return renderPill(token.text);
34
32
  }
35
33
  };
36
34
  };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlsbC1wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9zZXJ2aWNlcy9tYXJrZG93bi9waWxsLXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLFVBQW9DLEVBQUUsRUFBRTtJQUM1RSxPQUFPO1FBQ0wsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLFFBQVE7UUFDZixLQUFLLEVBQUUsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNyQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssQ0FBQztZQUMzQyxlQUFlO1lBQ2YsK0JBQStCO1lBQy9CLElBQUk7WUFDSixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxTQUFTLEVBQUUsVUFBOEIsR0FBVztZQUNsRCxNQUFNLElBQUksR0FBRyxzQkFBc0IsQ0FBQyxDQUFFLCtCQUErQjtZQUNyRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLElBQUksS0FBSyxFQUFFO2dCQUNULE1BQU0sS0FBSyxHQUFHO29CQUNaLElBQUksRUFBRSxVQUFVO29CQUNoQixHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztvQkFDYixJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLCtCQUErQjtvQkFDdEQsK0VBQStFO2lCQUNoRixDQUFDO2dCQUNGLHFCQUFxQjtnQkFDckIsNkdBQTZHO2dCQUM3RyxPQUFPLEtBQUssQ0FBQzthQUNkO2lCQUFNO2dCQUNMLE9BQU8sU0FBUyxDQUFDO2FBQ2xCO1FBQ0gsQ0FBQztRQUNELFFBQVEsRUFBRSxVQUE2QixLQUFxQjtZQUMxRCw0Q0FBNEM7WUFDNUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUN2QixPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FBQztLQUVGLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUT0RPOiBtaWdyYXRlIHRvIG1hcmtkb3duLWl0IGFuZCBjb3B5IHRoaXMgcGx1Z2luOiBodHRwczovL2dpdGh1Yi5jb20vbWFya2Rvd24taXQvbWFya2Rvd24taXQtc3ViL2Jsb2IvbWFzdGVyL2luZGV4LmpzXG5pbXBvcnQgeyBtYXJrZWQgfSBmcm9tICdtYXJrZWQnO1xuaW1wb3J0IFJlbmRlcmVyVGhpcyA9IG1hcmtlZC5SZW5kZXJlclRoaXM7XG5pbXBvcnQgVG9rZW5pemVyVGhpcyA9IG1hcmtlZC5Ub2tlbml6ZXJUaGlzO1xuaW1wb3J0IFRva2VucyA9IG1hcmtlZC5Ub2tlbnM7XG5cbmV4cG9ydCBjb25zdCBtYXJrZG93blBpbGxFeHRlbnNpb24gPSAocmVuZGVyUGlsbDogKHRleHQ6IHN0cmluZykgPT4gc3RyaW5nKSA9PiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ2F1cC1waWxsJyxcbiAgICBsZXZlbDogJ2lubGluZScsXG4gICAgc3RhcnQ6IChzcmM6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBzcmMubWF0Y2goL1xcKFxcKFteKV0vKT8uaW5kZXg7XG4gICAgICAvLyBpZiAoaW5kZXgpIHtcbiAgICAgIC8vICAgICBjb25zb2xlLmxvZyh7c3RhcnQ6c3JjfSlcbiAgICAgIC8vIH1cbiAgICAgIHJldHVybiBpbmRleDtcbiAgICB9LFxuICAgIHRva2VuaXplcjogZnVuY3Rpb24odGhpczogVG9rZW5pemVyVGhpcywgc3JjOiBzdHJpbmcpIHtcbiAgICAgIGNvbnN0IHJ1bGUgPSAvXihcXChcXCgoKFteKV0pKylcXClcXCkpLzsgIC8vIFJlZ2V4IGZvciB0aGUgY29tcGxldGUgdG9rZW5cbiAgICAgIGNvbnN0IG1hdGNoID0gcnVsZS5leGVjKHNyYyk7XG4gICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSB7XG4gICAgICAgICAgdHlwZTogJ2F1cC1waWxsJywgICAgICAgICAgLy8gU2hvdWxkIG1hdGNoIFwibmFtZVwiIGFib3ZlXG4gICAgICAgICAgcmF3OiBtYXRjaFswXSwgICAgICAgICAvLyBUZXh0IHRvIGNvbnN1bWUgZnJvbSB0aGUgc291cmNlXG4gICAgICAgICAgdGV4dDogbWF0Y2hbMl0udHJpbSgpLCAvLyBBZGRpdGlvbmFsIGN1c3RvbSBwcm9wZXJ0aWVzXG4gICAgICAgICAgLy8gdG9rZW5zOiBbXSAgICAgICAgICAgICAgLy8gQXJyYXkgd2hlcmUgY2hpbGQgaW5saW5lIHRva2VucyB3aWxsIGJlIGdlbmVyYXRlZFxuICAgICAgICB9O1xuICAgICAgICAvLyBjb25zb2xlLmxvZyh0b2tlbilcbiAgICAgICAgLy8gdGhpcy5sZXhlci5pbmxpbmVUb2tlbnModG9rZW4udGV4dCwgdG9rZW4udG9rZW5zKTsgICAgLy8gUXVldWUgdGhpcyBkYXRhIHRvIGJlIHByb2Nlc3NlZCBmb3IgaW5saW5lIHRva2Vuc1xuICAgICAgICByZXR1cm4gdG9rZW47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH0sXG4gICAgcmVuZGVyZXI6IGZ1bmN0aW9uKHRoaXM6IFJlbmRlcmVyVGhpcywgdG9rZW46IFRva2Vucy5HZW5lcmljKSB7XG4gICAgICAvLyBAdHMtaWdub3JlICh1bnRpbCB0eXBpbmdzIGFyZSB1cCB0byBkYXRlKVxuICAgICAgY29uc3QgdXJsID0gdG9rZW4udGV4dDtcbiAgICAgIHJldHVybiByZW5kZXJQaWxsKHRva2VuLnRleHQpO1xuICAgIH1cblxuICB9O1xufTtcbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlsbC1wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9zZXJ2aWNlcy9tYXJrZG93bi9waWxsLXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLFVBQW9DLEVBQUUsRUFBRTtJQUM1RSxPQUFPO1FBQ0wsSUFBSSxFQUFFLFVBQVU7UUFDaEIsS0FBSyxFQUFFLFFBQVE7UUFDZixLQUFLLEVBQUUsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNyQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssQ0FBQztZQUMzQyxlQUFlO1lBQ2YsK0JBQStCO1lBQy9CLElBQUk7WUFDSixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxTQUFTLEVBQUUsVUFBOEIsR0FBVztZQUNsRCxNQUFNLElBQUksR0FBRyxzQkFBc0IsQ0FBQyxDQUFFLCtCQUErQjtZQUNyRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLElBQUksS0FBSyxFQUFFO2dCQUNULE1BQU0sS0FBSyxHQUFHO29CQUNaLElBQUksRUFBRSxVQUFVO29CQUNoQixHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztvQkFDYixJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLCtCQUErQjtvQkFDdEQsK0VBQStFO2lCQUNoRixDQUFDO2dCQUNGLHFCQUFxQjtnQkFDckIsNkdBQTZHO2dCQUM3RyxPQUFPLEtBQUssQ0FBQzthQUNkO2lCQUFNO2dCQUNMLE9BQU8sU0FBUyxDQUFDO2FBQ2xCO1FBQ0gsQ0FBQztRQUNELFFBQVEsRUFBRSxVQUE2QixLQUFxQjtZQUMxRCxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FBQztLQUVGLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUT0RPOiBtaWdyYXRlIHRvIG1hcmtkb3duLWl0IGFuZCBjb3B5IHRoaXMgcGx1Z2luOiBodHRwczovL2dpdGh1Yi5jb20vbWFya2Rvd24taXQvbWFya2Rvd24taXQtc3ViL2Jsb2IvbWFzdGVyL2luZGV4LmpzXG5pbXBvcnQge21hcmtlZH0gZnJvbSAnbWFya2VkJztcbmltcG9ydCBSZW5kZXJlclRoaXMgPSBtYXJrZWQuUmVuZGVyZXJUaGlzO1xuaW1wb3J0IFRva2VuaXplclRoaXMgPSBtYXJrZWQuVG9rZW5pemVyVGhpcztcbmltcG9ydCBUb2tlbnMgPSBtYXJrZWQuVG9rZW5zO1xuXG5leHBvcnQgY29uc3QgbWFya2Rvd25QaWxsRXh0ZW5zaW9uID0gKHJlbmRlclBpbGw6ICh0ZXh0OiBzdHJpbmcpID0+IHN0cmluZykgPT4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6ICdhdXAtcGlsbCcsXG4gICAgbGV2ZWw6ICdpbmxpbmUnLFxuICAgIHN0YXJ0OiAoc3JjOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gc3JjLm1hdGNoKC9cXChcXChbXildLyk/LmluZGV4O1xuICAgICAgLy8gaWYgKGluZGV4KSB7XG4gICAgICAvLyAgICAgY29uc29sZS5sb2coe3N0YXJ0OnNyY30pXG4gICAgICAvLyB9XG4gICAgICByZXR1cm4gaW5kZXg7XG4gICAgfSxcbiAgICB0b2tlbml6ZXI6IGZ1bmN0aW9uKHRoaXM6IFRva2VuaXplclRoaXMsIHNyYzogc3RyaW5nKSB7XG4gICAgICBjb25zdCBydWxlID0gL14oXFwoXFwoKChbXildKSspXFwpXFwpKS87ICAvLyBSZWdleCBmb3IgdGhlIGNvbXBsZXRlIHRva2VuXG4gICAgICBjb25zdCBtYXRjaCA9IHJ1bGUuZXhlYyhzcmMpO1xuICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgIGNvbnN0IHRva2VuID0ge1xuICAgICAgICAgIHR5cGU6ICdhdXAtcGlsbCcsICAgICAgICAgIC8vIFNob3VsZCBtYXRjaCBcIm5hbWVcIiBhYm92ZVxuICAgICAgICAgIHJhdzogbWF0Y2hbMF0sICAgICAgICAgLy8gVGV4dCB0byBjb25zdW1lIGZyb20gdGhlIHNvdXJjZVxuICAgICAgICAgIHRleHQ6IG1hdGNoWzJdLnRyaW0oKSwgLy8gQWRkaXRpb25hbCBjdXN0b20gcHJvcGVydGllc1xuICAgICAgICAgIC8vIHRva2VuczogW10gICAgICAgICAgICAgIC8vIEFycmF5IHdoZXJlIGNoaWxkIGlubGluZSB0b2tlbnMgd2lsbCBiZSBnZW5lcmF0ZWRcbiAgICAgICAgfTtcbiAgICAgICAgLy8gY29uc29sZS5sb2codG9rZW4pXG4gICAgICAgIC8vIHRoaXMubGV4ZXIuaW5saW5lVG9rZW5zKHRva2VuLnRleHQsIHRva2VuLnRva2Vucyk7ICAgIC8vIFF1ZXVlIHRoaXMgZGF0YSB0byBiZSBwcm9jZXNzZWQgZm9yIGlubGluZSB0b2tlbnNcbiAgICAgICAgcmV0dXJuIHRva2VuO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHJlbmRlcmVyOiBmdW5jdGlvbih0aGlzOiBSZW5kZXJlclRoaXMsIHRva2VuOiBUb2tlbnMuR2VuZXJpYykge1xuICAgICAgcmV0dXJuIHJlbmRlclBpbGwodG9rZW4udGV4dCk7XG4gICAgfVxuXG4gIH07XG59O1xuIl19