@coolon/angular-ui-powerups 16.1.0-alpha.238 → 16.1.0-aplpha.1

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 (400) hide show
  1. package/assets/activities/activities.scss +6 -8
  2. package/assets/activities/input-activities.scss +6 -14
  3. package/assets/form.scss +23 -77
  4. package/assets/icons.scss +1 -2
  5. package/assets/interaction/editor/inline-string-editor.scss +0 -4
  6. package/assets/interaction.scss +1 -1
  7. package/assets/styles.scss +0 -4
  8. package/assets/table.scss +31 -84
  9. package/assets/tabs.scss +2 -15
  10. package/esm2022/lib/angular-ui-powerups.module.mjs +9 -9
  11. package/esm2022/lib/animations/slide-animations.mjs +10 -15
  12. package/esm2022/lib/components/alignment.mjs +1 -1
  13. package/esm2022/lib/components/busy-overlay/busy-overlay.component.mjs +12 -7
  14. package/esm2022/lib/components/cards/abstract-card-container.component.mjs +7 -31
  15. package/esm2022/lib/components/cards/card-container/card-container.component.mjs +6 -6
  16. package/esm2022/lib/components/cards/card-stack/card-stack.component.mjs +81 -0
  17. package/esm2022/lib/components/commands/command/command.component.mjs +33 -35
  18. package/esm2022/lib/components/commands/command-face/command-face.component.mjs +5 -13
  19. package/esm2022/lib/components/commands/command-face.mjs +11 -12
  20. package/esm2022/lib/components/commands/flex.component.mjs +4 -4
  21. package/esm2022/lib/components/commands/group/command-container.mjs +1 -1
  22. package/esm2022/lib/components/commands/group/popup-aware.component.mjs +8 -31
  23. package/esm2022/lib/components/commands/group/popup-container.mjs +1 -1
  24. package/esm2022/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +25 -27
  25. package/esm2022/lib/components/commands/group/popup-menu/more-menu.component.mjs +24 -15
  26. package/esm2022/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +12 -18
  27. package/esm2022/lib/components/commands/group/popup-menu/popup-menu.component.mjs +23 -14
  28. package/esm2022/lib/components/commands/group/tool-bar/tool-bar.component.mjs +19 -12
  29. package/esm2022/lib/components/commands/separator.component.mjs +14 -8
  30. package/esm2022/lib/components/components.module.mjs +58 -73
  31. package/esm2022/lib/components/disposable-component.mjs +40 -74
  32. package/esm2022/lib/components/empty-state/empty-state.component.mjs +9 -5
  33. package/esm2022/lib/components/exports.mjs +12 -16
  34. package/esm2022/lib/components/focus-container/focus-container.component.mjs +4 -4
  35. package/esm2022/lib/components/focusable.component.mjs +5 -5
  36. package/esm2022/lib/components/forms/abstract-input.component.mjs +18 -67
  37. package/esm2022/lib/components/forms/abstract-list-input.component.mjs +4 -4
  38. package/esm2022/lib/components/forms/abstract-value-input.component.mjs +4 -4
  39. package/esm2022/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +15 -18
  40. package/esm2022/lib/components/forms/checkbox-input/checkbox-input.component.mjs +8 -10
  41. package/esm2022/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +11 -12
  42. package/esm2022/lib/components/forms/number-input/number-input.component.mjs +13 -94
  43. package/esm2022/lib/components/forms/password-input/password-input.component.mjs +7 -44
  44. package/esm2022/lib/components/forms/select-input/select-input.component.mjs +19 -21
  45. package/esm2022/lib/components/forms/string-input/string-input.component.mjs +16 -35
  46. package/esm2022/lib/components/forms/text-input/text-input.component.mjs +8 -12
  47. package/esm2022/lib/components/icon/icon.component.mjs +7 -10
  48. package/esm2022/lib/components/labelled-value/labelled-value.component.mjs +4 -4
  49. package/esm2022/lib/components/loading-container/loading-container.component.mjs +12 -7
  50. package/esm2022/lib/components/noop/noop.component.mjs +7 -5
  51. package/esm2022/lib/components/resize-aware.component.mjs +27 -64
  52. package/esm2022/lib/components/scroll-container/scroll-container.component.mjs +5 -5
  53. package/esm2022/lib/components/section-header/section-header.component.mjs +4 -4
  54. package/esm2022/lib/components/switch-case/switch-case.component.mjs +17 -15
  55. package/esm2022/lib/components/tables/abstract-table-model.mjs +113 -116
  56. package/esm2022/lib/components/tables/abstract-table.component.mjs +8 -23
  57. package/esm2022/lib/components/tables/column/column-list-model.mjs +44 -0
  58. package/esm2022/lib/components/tables/column/column-model.mjs +23 -20
  59. package/esm2022/lib/components/tables/column/column-template/column-template.directive.mjs +4 -5
  60. package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -4
  61. package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +5 -5
  62. package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +21 -0
  63. package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +21 -8
  64. package/esm2022/lib/components/tables/column/property-column-model.mjs +20 -7
  65. package/esm2022/lib/components/tables/column/selection-column-model.mjs +13 -35
  66. package/esm2022/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.mjs +60 -0
  67. package/esm2022/lib/components/tables/editor/edit-session.mjs +26 -0
  68. package/esm2022/lib/components/tables/editor/editable-cell-renderer.mjs +2 -0
  69. package/esm2022/lib/components/tables/filter/column-text-search-formatter.mjs +1 -1
  70. package/esm2022/lib/components/tables/filter/enable-cell-text-search.decorator.mjs +2 -3
  71. package/esm2022/lib/components/tables/filter/table-filter-model.mjs +12 -16
  72. package/esm2022/lib/components/tables/filter/text-search-predicate.mjs +2 -17
  73. package/esm2022/lib/components/tables/paginator/paginator.component.mjs +5 -5
  74. package/esm2022/lib/components/tables/renderer/cell-editors.mjs +2 -0
  75. package/esm2022/lib/components/tables/renderer/cell-portal-ref.mjs +26 -22
  76. package/esm2022/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.mjs +8 -6
  77. package/esm2022/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.mjs +7 -5
  78. package/esm2022/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.mjs +8 -19
  79. package/esm2022/lib/components/tables/renderer/selection-cell/selection-cell.component.mjs +9 -18
  80. package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +53 -266
  81. package/esm2022/lib/components/tables/renderer/table-cell/table-cell.component.mjs +50 -9
  82. package/esm2022/lib/components/tables/renderer/table-header-cell/table-header-cell.component.mjs +7 -5
  83. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.mjs +33 -0
  84. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu.component.mjs +60 -0
  85. package/esm2022/lib/components/tables/table/table-model.mjs +35 -18
  86. package/esm2022/lib/components/tables/table/table.component.mjs +64 -42
  87. package/esm2022/lib/components/tables/table-row-menu/table-row-menu.component.mjs +84 -0
  88. package/esm2022/lib/components/tables/tree-table/decorated-tree-node.mjs +4 -5
  89. package/esm2022/lib/components/tables/tree-table/flattened-tree-list-model.mjs +1 -1
  90. package/esm2022/lib/components/tables/tree-table/tree-expansion-model.mjs +1 -1
  91. package/esm2022/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.mjs +7 -5
  92. package/esm2022/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +6 -6
  93. package/esm2022/lib/components/tables/tree-table/tree-label-column-model.mjs +4 -4
  94. package/esm2022/lib/components/tables/tree-table/tree-table-component.mjs +8 -15
  95. package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +7 -4
  96. package/esm2022/lib/components/text/markdown/markdown.component.mjs +6 -6
  97. package/esm2022/lib/components/track.mjs +1 -1
  98. package/esm2022/lib/components/types/bounds.class.mjs +1 -1
  99. package/esm2022/lib/components/types/loadable.mjs +2 -0
  100. package/esm2022/lib/components/vertical-focus-container/vertical-focus-container.component.mjs +4 -4
  101. package/esm2022/lib/directives/command.directive.mjs +14 -26
  102. package/esm2022/lib/directives/directives.module.mjs +10 -10
  103. package/esm2022/lib/directives/exports.mjs +1 -2
  104. package/esm2022/lib/directives/focus-binding-factory.mjs +4 -5
  105. package/esm2022/lib/directives/focus-binding.directive.mjs +5 -5
  106. package/esm2022/lib/directives/focus-binding.mjs +2 -22
  107. package/esm2022/lib/directives/garbage-collector.directive.mjs +4 -5
  108. package/esm2022/lib/directives/highlight-text-model.directive.mjs +4 -4
  109. package/esm2022/lib/directives/highlight.pipe.mjs +13 -22
  110. package/esm2022/lib/interaction/abstract-interaction-context.mjs +8 -6
  111. package/esm2022/lib/interaction/activity-ref.mjs +2 -2
  112. package/esm2022/lib/interaction/activity.mjs +23 -24
  113. package/esm2022/lib/interaction/alert.mjs +2 -2
  114. package/esm2022/lib/interaction/components/abstract-confirm-dialog.component.mjs +10 -14
  115. package/esm2022/lib/interaction/components/abstract-dialog.component.mjs +45 -5
  116. package/esm2022/lib/interaction/components/activity-actions/activity-actions.component.mjs +17 -30
  117. package/esm2022/lib/interaction/components/activity-body/activity-body.component.mjs +4 -10
  118. package/esm2022/lib/interaction/components/activity-container/activity-container.component.mjs +25 -119
  119. package/esm2022/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs +19 -55
  120. package/esm2022/lib/interaction/components/activity-title/activity-title.component.mjs +6 -6
  121. package/esm2022/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.mjs +4 -5
  122. package/esm2022/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +4 -5
  123. package/esm2022/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.mjs +4 -5
  124. package/esm2022/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.mjs +4 -5
  125. package/esm2022/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +4 -4
  126. package/esm2022/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +4 -5
  127. package/esm2022/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +12 -12
  128. package/esm2022/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +10 -6
  129. package/esm2022/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +10 -6
  130. package/esm2022/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +11 -9
  131. package/esm2022/lib/interaction/components/editors/edit-context.mjs +1 -1
  132. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-editor-model.mjs +2 -2
  133. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +13 -13
  134. package/esm2022/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +9 -25
  135. package/esm2022/lib/interaction/components/input-activities/input-activity.mjs +5 -6
  136. package/esm2022/lib/interaction/components/input-activities/select-input-activity.mjs +38 -44
  137. package/esm2022/lib/interaction/components/input-activities/string-input-activity.mjs +12 -14
  138. package/esm2022/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.mjs +5 -6
  139. package/esm2022/lib/interaction/confirm.mjs +2 -26
  140. package/esm2022/lib/interaction/directives/interaction-context-trigger-for.directive.mjs +6 -6
  141. package/esm2022/lib/interaction/exports.mjs +1 -6
  142. package/esm2022/lib/interaction/in-place-interaction-context.mjs +1 -1
  143. package/esm2022/lib/interaction/interaction-context.mjs +2 -3
  144. package/esm2022/lib/interaction/interaction.module.mjs +36 -44
  145. package/esm2022/lib/interaction/route-synchronisation-adapter.mjs +1 -1
  146. package/esm2022/lib/interaction/services/interaction-service-routing-adapter.mjs +4 -4
  147. package/esm2022/lib/interaction/services/interaction.service.mjs +10 -23
  148. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.mjs +10 -16
  149. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +5 -29
  150. package/esm2022/lib/interaction/services/modal-interaction-context.factory.mjs +1 -1
  151. package/esm2022/lib/place/components/abstract-place-navigation.component.mjs +5 -15
  152. package/esm2022/lib/place/components/list-place-nav/list-place-nav.component.mjs +9 -8
  153. package/esm2022/lib/place/components/not-authorised-notice/not-authorised-notice.component.mjs +7 -5
  154. package/esm2022/lib/place/components/place-outlet/place-outlet.component.mjs +21 -23
  155. package/esm2022/lib/place/components/place-outlet/route-animations.mjs +1 -1
  156. package/esm2022/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +11 -19
  157. package/esm2022/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +7 -7
  158. package/esm2022/lib/place/guards/consolidated-param-map.mjs +4 -4
  159. package/esm2022/lib/place/guards/noop-auth-guard.service.mjs +7 -5
  160. package/esm2022/lib/place/guards/place.guard.mjs +14 -30
  161. package/esm2022/lib/place/navigation/place-component-deactivation-handler.mjs +2 -2
  162. package/esm2022/lib/place/navigation/session/abstract-pop-state-navigation.mjs +1 -1
  163. package/esm2022/lib/place/navigation/session/event-cleanup/event-clean-up-session.mjs +1 -1
  164. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.mjs +1 -1
  165. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.mjs +1 -1
  166. package/esm2022/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.mjs +1 -1
  167. package/esm2022/lib/place/navigation/session/interactions/navigating-during-interaction.mjs +2 -2
  168. package/esm2022/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.mjs +1 -1
  169. package/esm2022/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.mjs +4 -39
  170. package/esm2022/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs +9 -9
  171. package/esm2022/lib/place/navigation/session/navigating.mjs +2 -2
  172. package/esm2022/lib/place/navigation/session/navigation-context.mjs +1 -1
  173. package/esm2022/lib/place/navigation/session/navigation-session.mjs +2 -11
  174. package/esm2022/lib/place/navigation/session/pop-state-navigation.mjs +1 -1
  175. package/esm2022/lib/place/place-access-guard.mjs +1 -1
  176. package/esm2022/lib/place/place-auth-service.mjs +7 -8
  177. package/esm2022/lib/place/place-component.mjs +79 -82
  178. package/esm2022/lib/place/place-config.mjs +1 -1
  179. package/esm2022/lib/place/place-definition.mjs +5 -18
  180. package/esm2022/lib/place/place-history.mjs +8 -17
  181. package/esm2022/lib/place/place-router.mjs +70 -191
  182. package/esm2022/lib/place/place.decorator.mjs +3 -4
  183. package/esm2022/lib/place/place.module.mjs +17 -17
  184. package/esm2022/lib/place/route/formatter.mjs +2 -2
  185. package/esm2022/lib/place/route/json-types.mjs +1 -1
  186. package/esm2022/lib/place/route/parameter-decorators.mjs +51 -55
  187. package/esm2022/lib/place/route/parameter-definition.mjs +2 -6
  188. package/esm2022/lib/place/route/parameter-sanitiser.mjs +2 -7
  189. package/esm2022/lib/place/route/parameter-snapshot.mjs +1 -1
  190. package/esm2022/lib/place/route/visit-segment-sanitiser.mjs +1 -1
  191. package/esm2022/lib/place/url-service.mjs +4 -4
  192. package/esm2022/lib/place/url-snapshot.mjs +3 -3
  193. package/esm2022/lib/place/visit-segment.mjs +2 -3
  194. package/esm2022/lib/place/visit.mjs +5 -5
  195. package/esm2022/lib/services/markdown/markdown.service.mjs +7 -5
  196. package/esm2022/lib/services/markdown/pill-plugin.mjs +3 -1
  197. package/esm2022/lib/services/visibility-service.mjs +7 -7
  198. package/fesm2022/coolon-angular-ui-powerups.mjs +3634 -5281
  199. package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
  200. package/lib/angular-ui-powerups.module.d.ts +5 -5
  201. package/lib/animations/slide-animations.d.ts +0 -1
  202. package/lib/components/busy-overlay/busy-overlay.component.d.ts +4 -1
  203. package/lib/components/cards/abstract-card-container.component.d.ts +3 -6
  204. package/lib/components/cards/card-container/card-container.component.d.ts +1 -1
  205. package/lib/components/cards/card-stack/card-stack.component.d.ts +68 -0
  206. package/lib/components/commands/command/command.component.d.ts +10 -9
  207. package/lib/components/commands/command-face/command-face.component.d.ts +0 -2
  208. package/lib/components/commands/command-face.d.ts +9 -8
  209. package/lib/components/commands/group/popup-aware.component.d.ts +5 -10
  210. package/lib/components/commands/group/popup-container.d.ts +1 -1
  211. package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +6 -6
  212. package/lib/components/commands/group/popup-menu/more-menu.component.d.ts +4 -2
  213. package/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.d.ts +2 -4
  214. package/lib/components/commands/group/popup-menu/popup-menu.component.d.ts +4 -2
  215. package/lib/components/commands/group/tool-bar/tool-bar.component.d.ts +7 -3
  216. package/lib/components/commands/separator.component.d.ts +4 -2
  217. package/lib/components/components.module.d.ts +30 -33
  218. package/lib/components/disposable-component.d.ts +9 -26
  219. package/lib/components/empty-state/empty-state.component.d.ts +4 -1
  220. package/lib/components/exports.d.ts +11 -15
  221. package/lib/components/forms/abstract-input.component.d.ts +7 -16
  222. package/lib/components/forms/abstract-list-input.component.d.ts +1 -1
  223. package/lib/components/forms/abstract-value-input.component.d.ts +1 -1
  224. package/lib/components/forms/autocomplete-input/autocomplete-input.component.d.ts +2 -2
  225. package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +0 -2
  226. package/lib/components/forms/number-input/number-input.component.d.ts +4 -16
  227. package/lib/components/forms/password-input/password-input.component.d.ts +1 -7
  228. package/lib/components/forms/select-input/select-input.component.d.ts +3 -4
  229. package/lib/components/forms/string-input/string-input.component.d.ts +1 -7
  230. package/lib/components/forms/text-input/text-input.component.d.ts +0 -3
  231. package/lib/components/loading-container/loading-container.component.d.ts +4 -1
  232. package/lib/components/noop/noop.component.d.ts +1 -0
  233. package/lib/components/resize-aware.component.d.ts +7 -26
  234. package/lib/components/switch-case/switch-case.component.d.ts +7 -6
  235. package/lib/components/tables/abstract-table-model.d.ts +37 -51
  236. package/lib/components/tables/abstract-table.component.d.ts +7 -8
  237. package/lib/components/tables/column/column-list-model.d.ts +13 -0
  238. package/lib/components/tables/column/column-model.d.ts +17 -14
  239. package/lib/components/tables/column/custom-template-column-model.d.ts +2 -3
  240. package/lib/components/tables/column/custom-value-column-model.d.ts +3 -4
  241. package/lib/components/tables/column/editor-controls-column-model.d.ts +13 -0
  242. package/lib/components/tables/column/list-propery-column-model.d.ts +7 -5
  243. package/lib/components/tables/column/property-column-model.d.ts +9 -7
  244. package/lib/components/tables/column/selection-column-model.d.ts +4 -10
  245. package/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.d.ts +17 -0
  246. package/lib/components/tables/editor/edit-session.d.ts +9 -0
  247. package/lib/components/tables/{renderer → editor}/editable-cell-renderer.d.ts +1 -1
  248. package/lib/components/tables/filter/enable-cell-text-search.decorator.d.ts +1 -1
  249. package/lib/components/tables/filter/table-filter-model.d.ts +1 -1
  250. package/lib/components/tables/filter/text-search-predicate.d.ts +0 -9
  251. package/lib/components/tables/renderer/cell-editors.d.ts +9 -0
  252. package/lib/components/tables/renderer/cell-portal-ref.d.ts +25 -22
  253. package/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.d.ts +2 -1
  254. package/lib/components/tables/renderer/default-header-cell-renderer/default-header-cell-renderer.component.d.ts +1 -0
  255. package/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.d.ts +2 -3
  256. package/lib/components/tables/renderer/selection-cell/selection-cell.component.d.ts +0 -1
  257. package/lib/components/tables/renderer/table-body/table-body.component.d.ts +21 -55
  258. package/lib/components/tables/renderer/table-cell/table-cell.component.d.ts +14 -5
  259. package/lib/components/tables/renderer/table-header-cell/table-header-cell.component.d.ts +1 -0
  260. package/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.d.ts +15 -0
  261. package/lib/components/tables/renderer/table-more-menu/table-more-menu.component.d.ts +23 -0
  262. package/lib/components/tables/table/table-model.d.ts +36 -10
  263. package/lib/components/tables/table/table.component.d.ts +13 -17
  264. package/lib/components/tables/table-row-menu/table-row-menu.component.d.ts +28 -0
  265. package/lib/components/tables/tree-table/flattened-tree-list-model.d.ts +1 -1
  266. package/lib/components/tables/tree-table/tree-expansion-model.d.ts +2 -2
  267. package/lib/components/tables/tree-table/tree-inheritance-icon/tree-inheritance-icon.component.d.ts +1 -0
  268. package/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +3 -3
  269. package/lib/components/tables/tree-table/tree-label-column-model.d.ts +3 -4
  270. package/lib/components/tables/tree-table/tree-table-component.d.ts +3 -6
  271. package/lib/components/tables/tree-table/tree-table-model.d.ts +6 -5
  272. package/lib/components/text/markdown/markdown.component.d.ts +1 -1
  273. package/lib/components/types/loadable.d.ts +5 -0
  274. package/lib/directives/command.directive.d.ts +5 -7
  275. package/lib/directives/directives.module.d.ts +5 -5
  276. package/lib/directives/exports.d.ts +0 -1
  277. package/lib/directives/focus-binding.d.ts +0 -1
  278. package/lib/directives/highlight.pipe.d.ts +2 -8
  279. package/lib/interaction/abstract-interaction-context.d.ts +5 -5
  280. package/lib/interaction/activity-ref.d.ts +4 -4
  281. package/lib/interaction/activity.d.ts +8 -8
  282. package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +2 -3
  283. package/lib/interaction/components/abstract-dialog.component.d.ts +15 -6
  284. package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +9 -12
  285. package/lib/interaction/components/activity-body/activity-body.component.d.ts +1 -2
  286. package/lib/interaction/components/activity-container/activity-container.component.d.ts +13 -32
  287. package/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.d.ts +7 -6
  288. package/lib/interaction/components/activity-title/activity-title.component.d.ts +1 -1
  289. package/lib/interaction/components/activity-triggers/abstract-activity-trigger.component.d.ts +2 -2
  290. package/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.d.ts +1 -1
  291. package/lib/interaction/components/activity-triggers/modal-activity-trigger/modal-activity-trigger.component.d.ts +1 -1
  292. package/lib/interaction/components/activity-triggers/popup-activity-trigger/popup-activity-trigger.component.d.ts +1 -1
  293. package/lib/interaction/components/add-card-activity/add-card-activity.component.d.ts +2 -2
  294. package/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.d.ts +3 -3
  295. package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +1 -6
  296. package/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.d.ts +2 -2
  297. package/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.d.ts +2 -2
  298. package/lib/interaction/components/editors/edit-context.d.ts +1 -1
  299. package/lib/interaction/components/editors/inline-string-editor/inline-editor-model.d.ts +1 -1
  300. package/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.d.ts +2 -2
  301. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +10 -12
  302. package/lib/interaction/components/input-activities/input-activity.d.ts +1 -1
  303. package/lib/interaction/components/input-activities/select-input-activity.d.ts +2 -2
  304. package/lib/interaction/components/input-activities/string-input-activity.d.ts +1 -1
  305. package/lib/interaction/components/popup-interaction-context/popup-interaction-context.component.d.ts +2 -2
  306. package/lib/interaction/confirm.d.ts +0 -4
  307. package/lib/interaction/directives/interaction-context-trigger-for.directive.d.ts +5 -5
  308. package/lib/interaction/exports.d.ts +0 -5
  309. package/lib/interaction/in-place-interaction-context.d.ts +2 -2
  310. package/lib/interaction/interaction-context.d.ts +4 -10
  311. package/lib/interaction/interaction.module.d.ts +33 -35
  312. package/lib/interaction/route-synchronisation-adapter.d.ts +3 -3
  313. package/lib/interaction/services/interaction-service-routing-adapter.d.ts +4 -4
  314. package/lib/interaction/services/interaction.service.d.ts +4 -5
  315. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +5 -4
  316. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +5 -6
  317. package/lib/interaction/services/modal-interaction-context.factory.d.ts +2 -2
  318. package/lib/place/components/abstract-place-navigation.component.d.ts +2 -3
  319. package/lib/place/components/not-authorised-notice/not-authorised-notice.component.d.ts +1 -0
  320. package/lib/place/components/place-outlet/place-outlet.component.d.ts +7 -6
  321. package/lib/place/components/side-place-navigation/side-place-navigation.component.d.ts +1 -2
  322. package/lib/place/guards/noop-auth-guard.service.d.ts +1 -0
  323. package/lib/place/guards/place.guard.d.ts +1 -8
  324. package/lib/place/navigation/place-component-deactivation-handler.d.ts +4 -4
  325. package/lib/place/navigation/session/abstract-pop-state-navigation.d.ts +1 -1
  326. package/lib/place/navigation/session/event-cleanup/wait-until-leaving-interaction-transition-cancelled.d.ts +3 -3
  327. package/lib/place/navigation/session/event-cleanup/wait-until-link-triggered-navigation-interaction-cancelation-type-determined.d.ts +3 -3
  328. package/lib/place/navigation/session/event-cleanup/wait-until-popstate-during-can-deactivate-transition-finishes.d.ts +3 -3
  329. package/lib/place/navigation/session/interactions/pop-state-during-interaction-navigation.d.ts +1 -1
  330. package/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.d.ts +3 -16
  331. package/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.d.ts +1 -1
  332. package/lib/place/navigation/session/navigation-context.d.ts +5 -5
  333. package/lib/place/navigation/session/navigation-session.d.ts +8 -15
  334. package/lib/place/place-access-guard.d.ts +1 -1
  335. package/lib/place/place-auth-service.d.ts +8 -8
  336. package/lib/place/place-component.d.ts +23 -15
  337. package/lib/place/place-definition.d.ts +3 -6
  338. package/lib/place/place-history.d.ts +4 -5
  339. package/lib/place/place-router.d.ts +10 -41
  340. package/lib/place/place.decorator.d.ts +1 -9
  341. package/lib/place/place.module.d.ts +8 -8
  342. package/lib/place/route/json-types.d.ts +3 -1
  343. package/lib/place/route/parameter-decorators.d.ts +6 -5
  344. package/lib/place/route/parameter-definition.d.ts +5 -5
  345. package/lib/place/route/parameter-sanitiser.d.ts +1 -8
  346. package/lib/place/route/parameter-snapshot.d.ts +2 -2
  347. package/lib/place/route/visit-segment-sanitiser.d.ts +3 -3
  348. package/lib/place/url-service.d.ts +1 -1
  349. package/lib/place/url-snapshot.d.ts +1 -1
  350. package/lib/place/visit-segment.d.ts +6 -6
  351. package/lib/place/visit.d.ts +4 -4
  352. package/lib/services/markdown/markdown.service.d.ts +1 -0
  353. package/lib/services/visibility-service.d.ts +1 -1
  354. package/package.json +20 -19
  355. package/assets/draw.scss +0 -20
  356. package/assets/layout.scss +0 -3
  357. package/assets/place.scss +0 -31
  358. package/esm2022/lib/components/commands/button-renderer/button-renderer.component.mjs +0 -115
  359. package/esm2022/lib/components/file/file-download/file-download.component.mjs +0 -89
  360. package/esm2022/lib/components/forms/form-field.mjs +0 -2
  361. package/esm2022/lib/components/forms/search-input/search-input.component.mjs +0 -33
  362. package/esm2022/lib/components/loadable-component.mjs +0 -69
  363. package/esm2022/lib/components/tables/column/column-manager.mjs +0 -82
  364. package/esm2022/lib/components/tables/column/column-order-manager.mjs +0 -19
  365. package/esm2022/lib/components/tables/footer/footer-row-model.mjs +0 -135
  366. package/esm2022/lib/components/tables/renderer/abstract-cell-renderer.mjs +0 -7
  367. package/esm2022/lib/components/tables/renderer/editable-cell-renderer.mjs +0 -2
  368. package/esm2022/lib/components/tables/renderer/table-action-column/menu-builder.mjs +0 -2
  369. package/esm2022/lib/components/tables/renderer/table-action-column/table-action-column.component.mjs +0 -153
  370. package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.mjs +0 -45
  371. package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu.component.mjs +0 -71
  372. package/esm2022/lib/components/tables/renderer/table-footer-row/table-footer-row.component.mjs +0 -32
  373. package/esm2022/lib/directives/resize-observer.directive.mjs +0 -40
  374. package/esm2022/lib/interaction/activity-context.mjs +0 -4
  375. package/esm2022/lib/interaction/components/alert-renderer/alert-renderer.component.mjs +0 -55
  376. package/esm2022/lib/interaction/components/confirm-renderer/confirm-renderer.component.mjs +0 -54
  377. package/esm2022/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.mjs +0 -134
  378. package/esm2022/lib/interaction/interaction-context-provider.mjs +0 -17
  379. package/esm2022/lib/place/place-metadata.mjs +0 -16
  380. package/lib/components/commands/button-renderer/button-renderer.component.d.ts +0 -30
  381. package/lib/components/file/file-download/file-download.component.d.ts +0 -45
  382. package/lib/components/forms/form-field.d.ts +0 -5
  383. package/lib/components/forms/search-input/search-input.component.d.ts +0 -10
  384. package/lib/components/loadable-component.d.ts +0 -20
  385. package/lib/components/tables/column/column-manager.d.ts +0 -19
  386. package/lib/components/tables/column/column-order-manager.d.ts +0 -20
  387. package/lib/components/tables/footer/footer-row-model.d.ts +0 -72
  388. package/lib/components/tables/renderer/abstract-cell-renderer.d.ts +0 -6
  389. package/lib/components/tables/renderer/table-action-column/menu-builder.d.ts +0 -7
  390. package/lib/components/tables/renderer/table-action-column/table-action-column.component.d.ts +0 -42
  391. package/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.d.ts +0 -19
  392. package/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu.component.d.ts +0 -24
  393. package/lib/components/tables/renderer/table-footer-row/table-footer-row.component.d.ts +0 -10
  394. package/lib/directives/resize-observer.directive.d.ts +0 -16
  395. package/lib/interaction/activity-context.d.ts +0 -9
  396. package/lib/interaction/components/alert-renderer/alert-renderer.component.d.ts +0 -17
  397. package/lib/interaction/components/confirm-renderer/confirm-renderer.component.d.ts +0 -15
  398. package/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.d.ts +0 -53
  399. package/lib/interaction/interaction-context-provider.d.ts +0 -11
  400. package/lib/place/place-metadata.d.ts +0 -8
@@ -38,14 +38,13 @@ export class PlaceGuard {
38
38
  }
39
39
  // @Trace()
40
40
  async canActivate(activatedRoute, state) {
41
- await this.placeRouter.waitUntilRouterReady();
42
41
  if (PlaceComponent.isPlaceComponentConstructor(activatedRoute.component)) {
43
42
  const placeDefinition = PlaceComponent.getDefinition(activatedRoute.component);
44
43
  if (placeDefinition.authenticate) {
45
44
  await this.placeRouter.authService.waitUntilAuthenticationReady();
46
45
  const authenticated = this.authService.isAuthenticated();
47
46
  if (!authenticated) {
48
- const redirect = await this.authService.getAuthenticationFailureRedirect(activatedRoute, state);
47
+ const redirect = this.authService.getAuthenticationFailureRedirect(activatedRoute, state);
49
48
  // const nextPlaceDef = this.getPlaceDefinition(redirect);
50
49
  if (redirect.requiresAuthentication()) {
51
50
  lang.illegalState(`onAuthenticationFailure hook returned place ${redirect.toDebugString()} that requires authentication.`);
@@ -54,7 +53,7 @@ export class PlaceGuard {
54
53
  }
55
54
  await this.authService.waitUntilAuthorisationReadyFor(placeDefinition);
56
55
  if (!this.authService.isAuthorised(placeDefinition)) {
57
- const nextRedirect = await this.findBestAuthenticatedAlternative(placeDefinition, activatedRoute);
56
+ const nextRedirect = this.findBestAuthenticatedAlternative(placeDefinition, activatedRoute);
58
57
  return this.createUrlTree(nextRedirect);
59
58
  }
60
59
  }
@@ -81,12 +80,13 @@ export class PlaceGuard {
81
80
  if (placeDefinition.children.length < 1) {
82
81
  lang.illegalState(`redirectToFirstChild set to true, but there were no children `);
83
82
  }
84
- const child = this.selectRedirectChild(placeDefinition);
85
- if (!child) {
86
- // hmm, what should I do here, we didn't have an authorised child
87
- lang.illegalState(`redirectToFirstChild set to true, but there were no authenticated children`);
83
+ for (let child of placeDefinition.children) {
84
+ if (!child.authenticate || this.authService.isAuthorised(child)) {
85
+ return destUrlSnapshot.appendSegment(new VisitSegment(child));
86
+ }
88
87
  }
89
- return destUrlSnapshot.appendSegment(new VisitSegment(child));
88
+ // hmm, what should I do here, we didn't have an authorised child
89
+ lang.illegalState(`redirectToFirstChild set to true, but there were no authenticated children`);
90
90
  }
91
91
  return true;
92
92
  }
@@ -97,23 +97,7 @@ export class PlaceGuard {
97
97
  return lang.illegalState(`expected component to be an instance of PlaceComponent, got ${activatedRoute.component}`);
98
98
  }
99
99
  }
100
- /**
101
- * Chooses the child to redirect to when {@link PlaceDefinition.redirectToFirstChild} is set. When
102
- * `rememberLastChild` is enabled (the default) and we have a record of the last active child that is
103
- * still a valid, authorised child, we return to it. Otherwise we fall back to the first authorised
104
- * child (the legacy behaviour).
105
- */
106
- selectRedirectChild(place) {
107
- const authorised = (c) => !c.authenticate || this.authService.isAuthorised(c);
108
- if (place.rememberLastChild) {
109
- const remembered = this.placeHistory.getLastActiveChild(place);
110
- if (remembered && place.children.includes(remembered) && authorised(remembered)) {
111
- return remembered;
112
- }
113
- }
114
- return place.children.find(authorised);
115
- }
116
- async findBestAuthenticatedAlternative(placeDefinition, activatedRoute) {
100
+ findBestAuthenticatedAlternative(placeDefinition, activatedRoute) {
117
101
  let currentPlace = placeDefinition;
118
102
  while (!currentPlace.isRoot()) {
119
103
  currentPlace = currentPlace.parent;
@@ -123,7 +107,7 @@ export class PlaceGuard {
123
107
  }
124
108
  }
125
109
  // Couldn't find an authorised ancestor so we check if there are router level defined alternatives
126
- const alternativeRoutes = await this.placeRouter.getAuthorisationFailureRedirectOptions(activatedRoute.component);
110
+ const alternativeRoutes = this.placeRouter.getAuthorisationFailureRedirectOptions(activatedRoute.component);
127
111
  if (alternativeRoutes.length < 1) {
128
112
  return lang.illegalState(`onAuthorisationFailure hook didn't return any alternate places`);
129
113
  }
@@ -166,11 +150,11 @@ export class PlaceGuard {
166
150
  return next();
167
151
  }
168
152
  }
169
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceGuard, deps: [{ token: i1.Router }, { token: i2.UrlService }, { token: i3.PlaceRouter }, { token: i4.PlaceHistory }, { token: i5.InteractionService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
170
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceGuard, providedIn: 'root' });
153
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: PlaceGuard, deps: [{ token: i1.Router }, { token: i2.UrlService }, { token: i3.PlaceRouter }, { token: i4.PlaceHistory }, { token: i5.InteractionService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
154
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: PlaceGuard, providedIn: 'root' });
171
155
  }
172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PlaceGuard, decorators: [{
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: PlaceGuard, decorators: [{
173
157
  type: Injectable,
174
158
  args: [{ providedIn: 'root' }]
175
159
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.UrlService }, { type: i3.PlaceRouter }, { type: i4.PlaceHistory }, { type: i5.InteractionService }, { type: i0.Injector }]; } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9ndWFyZHMvcGxhY2UuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUF5QixNQUFNLEVBQStCLE1BQU0saUJBQWlCLENBQUM7QUFDN0YsT0FBTyxFQUFnQixJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUVsRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQy9CLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQUdsRSxNQUFNLE9BQU8sVUFBVTtJQUdRO0lBQ1Q7SUFDUztJQUNBO0lBQ0E7SUFDQTtJQUw3QixZQUE2QixNQUFjLEVBQ3ZCLFVBQXNCLEVBQ2IsV0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsa0JBQXNDLEVBQ3RDLFFBQWtCO1FBTGxCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDdkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNiLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUMvQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQztJQUN0QyxDQUFDO0lBRUQsV0FBVztJQUNYLEtBQUssQ0FBQyxXQUFXLENBQUMsY0FBc0MsRUFBRSxLQUEwQjtRQUVsRixNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUU5QyxJQUFJLGNBQWMsQ0FBQywyQkFBMkIsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDeEUsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFL0UsSUFBSSxlQUFlLENBQUMsWUFBWSxFQUFFO2dCQUVoQyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLDRCQUE0QixFQUFFLENBQUM7Z0JBRWxFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBRXpELElBQUksQ0FBQyxhQUFhLEVBQUU7b0JBQ2xCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQ0FBZ0MsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7b0JBQ2hHLDBEQUEwRDtvQkFDMUQsSUFBSSxRQUFRLENBQUMsc0JBQXNCLEVBQUUsRUFBRTt3QkFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQywrQ0FBK0MsUUFBUSxDQUFDLGFBQWEsRUFBRSxnQ0FBZ0MsQ0FBQyxDQUFDO3FCQUM1SDtvQkFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ3JDO2dCQUVELE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyw4QkFBOEIsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFFdkUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxFQUFFO29CQUNuRCxNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUM7b0JBQ2xHLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztpQkFDekM7YUFDRjtZQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUUsS0FBSyxJQUFJLEVBQUU7Z0JBQ2hGLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztnQkFFN0QsMEJBQTBCO2dCQUMxQixNQUFNLE1BQU0sR0FBRyxJQUFJLHdCQUF3QixDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN6RixxQ0FBcUM7Z0JBQ3JDLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDOUQsTUFBTSxZQUFZLEdBQUcsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLElBQUksSUFBSSxZQUFZLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQyxDQUFDO2dCQUM5SCxNQUFNLFNBQVMsR0FBRyxJQUFJLHFCQUFxQixDQUFDLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM5SCxNQUFNLGNBQWMsR0FBRyxNQUFNLFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7Z0JBQ2pHLDBHQUEwRztnQkFDMUcsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBRXJELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDNUQsSUFBSSxZQUFZLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLEVBQUU7b0JBQ3RELGlFQUFpRTtvQkFDakUsaUdBQWlHO29CQUNqRyxPQUFPLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztpQkFDM0Q7cUJBQU07b0JBRUwscUZBQXFGO29CQUNyRixJQUFJLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxlQUFlLENBQUMsb0JBQW9CLEVBQUU7d0JBQzdGLElBQUksZUFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFOzRCQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLCtEQUErRCxDQUFDLENBQUM7eUJBQ3BGO3dCQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQzt3QkFDeEQsSUFBSSxDQUFDLEtBQUssRUFBRTs0QkFDVixpRUFBaUU7NEJBQ2pFLElBQUksQ0FBQyxZQUFZLENBQUMsNEVBQTRFLENBQUMsQ0FBQzt5QkFDakc7d0JBQ0QsT0FBTyxlQUFlLENBQUMsYUFBYSxDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7cUJBQy9EO29CQUVELE9BQU8sSUFBSSxDQUFDO2lCQUNiO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLE1BQU0sWUFBWSxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztTQUVoRTthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLCtEQUErRCxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztTQUNySDtJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLG1CQUFtQixDQUFDLEtBQXNCO1FBQ2hELE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9GLElBQUksS0FBSyxDQUFDLGlCQUFpQixFQUFFO1lBQzNCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0QsSUFBSSxVQUFVLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUMvRSxPQUFPLFVBQVUsQ0FBQzthQUNuQjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU8sS0FBSyxDQUFDLGdDQUFnQyxDQUFDLGVBQWdDLEVBQUUsY0FBc0M7UUFDckgsSUFBSSxZQUFZLEdBQUcsZUFBZSxDQUFDO1FBQ25DLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDN0IsWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7WUFDbkMsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckYsSUFBSSxjQUFjLEVBQUU7Z0JBQ2xCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDN0M7U0FDRjtRQUNELGtHQUFrRztRQUNsRyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQ0FBc0MsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEgsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDO1NBQzVGO2FBQU07WUFDTCxNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBO1lBQ3BGLE9BQU8sWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsb0VBQW9FLENBQUMsQ0FBQztTQUNoSDtJQUNILENBQUM7SUFFSCxXQUFXO0lBQ1QsS0FBSyxDQUFDLGFBQWEsQ0FBQyxTQUF5QixFQUFFLFlBQW9DLEVBQUUsWUFBaUMsRUFBRSxTQUErQjtRQUNySixJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2QsbUVBQW1FO1lBQ25FLDBDQUEwQztZQUMxQyxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4RCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMzRyxPQUFPLE1BQU0sWUFBWSxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNqRSxDQUFDO0lBRU8sa0JBQWtCLENBQUMsTUFBc0U7UUFDL0YsT0FBTyxNQUFNLFlBQVksWUFBWSxDQUFDLENBQUM7WUFDckMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3hCLE1BQU0sWUFBWSxlQUFlLENBQUMsQ0FBQztnQkFDakMsTUFBTSxDQUFDLENBQUM7Z0JBQ1IsY0FBYyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQVk7UUFDaEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDbkUsQ0FBQztJQUVELFdBQVc7SUFDWCxLQUFLLENBQUMscUJBQXFCLENBQUMsS0FBNkIsRUFBRSxLQUEwQixFQUFFLElBQW9EO1FBQ3pJLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxJQUFJLEdBQUcsQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUNoRSxpR0FBaUc7WUFDakcsbURBQW1EO1lBQ25ELE9BQU8sR0FBRyxDQUFDLG9CQUFvQixFQUFFLENBQUM7U0FDbkM7YUFBTTtZQUNMLE9BQU8sSUFBSSxFQUFFLENBQUM7U0FDZjtJQUNILENBQUM7dUdBaktVLFVBQVU7MkdBQVYsVUFBVSxjQURFLE1BQU07OzJGQUNsQixVQUFVO2tCQUR0QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgSW5qZWN0b3J9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXIsIFJvdXRlclN0YXRlU25hcHNob3QsIFVybFRyZWV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0NvbnN0cnVjdGFibGUsIGxhbmd9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7SW50ZXJhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB0eXBlIHtQbGFjZUF1dGhTZXJ2aWNlfSBmcm9tIFwiLi4vcGxhY2UtYXV0aC1zZXJ2aWNlXCI7XG5pbXBvcnQge1BsYWNlQ29tcG9uZW50fSBmcm9tICcuLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHtQbGFjZURlZmluaXRpb259IGZyb20gJy4uL3BsYWNlLWRlZmluaXRpb24nO1xuaW1wb3J0IHtQbGFjZUhpc3Rvcnl9IGZyb20gJy4uL3BsYWNlLWhpc3RvcnknO1xuaW1wb3J0IHtQbGFjZVJvdXRlcn0gZnJvbSAnLi4vcGxhY2Utcm91dGVyJztcbmltcG9ydCB7VmlzaXRTZWdtZW50U2FuaXRpc2VyfSBmcm9tICcuLi9yb3V0ZS92aXNpdC1zZWdtZW50LXNhbml0aXNlcic7XG5pbXBvcnQge1VybFNlcnZpY2V9IGZyb20gJy4uL3VybC1zZXJ2aWNlJztcbmltcG9ydCB7VXJsU25hcHNob3R9IGZyb20gJy4uL3VybC1zbmFwc2hvdCc7XG5pbXBvcnQge1Zpc2l0fSBmcm9tIFwiLi4vdmlzaXRcIjtcbmltcG9ydCB7VmlzaXRTZWdtZW50fSBmcm9tICcuLi92aXNpdC1zZWdtZW50JztcbmltcG9ydCB7Q29uc29saWRhdGVkUGFyYW1ldGVyTWFwfSBmcm9tICcuL2NvbnNvbGlkYXRlZC1wYXJhbS1tYXAnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBQbGFjZUd1YXJkIHtcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgdXJsU2VydmljZTogVXJsU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhY2VIaXN0b3J5OiBQbGFjZUhpc3RvcnksXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW50ZXJhY3Rpb25TZXJ2aWNlOiBJbnRlcmFjdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIH1cblxuICBnZXQgYXV0aFNlcnZpY2UoKTogUGxhY2VBdXRoU2VydmljZSB7XG4gICAgcmV0dXJuIHRoaXMucGxhY2VSb3V0ZXIuYXV0aFNlcnZpY2U7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBhc3luYyBjYW5BY3RpdmF0ZShhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB7XG5cbiAgICBhd2FpdCB0aGlzLnBsYWNlUm91dGVyLndhaXRVbnRpbFJvdXRlclJlYWR5KCk7XG5cbiAgICBpZiAoUGxhY2VDb21wb25lbnQuaXNQbGFjZUNvbXBvbmVudENvbnN0cnVjdG9yKGFjdGl2YXRlZFJvdXRlLmNvbXBvbmVudCkpIHtcbiAgICAgIGNvbnN0IHBsYWNlRGVmaW5pdGlvbiA9IFBsYWNlQ29tcG9uZW50LmdldERlZmluaXRpb24oYWN0aXZhdGVkUm91dGUuY29tcG9uZW50KTtcblxuICAgICAgaWYgKHBsYWNlRGVmaW5pdGlvbi5hdXRoZW50aWNhdGUpIHtcblxuICAgICAgICBhd2FpdCB0aGlzLnBsYWNlUm91dGVyLmF1dGhTZXJ2aWNlLndhaXRVbnRpbEF1dGhlbnRpY2F0aW9uUmVhZHkoKTtcblxuICAgICAgICBjb25zdCBhdXRoZW50aWNhdGVkID0gdGhpcy5hdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQoKTtcblxuICAgICAgICBpZiAoIWF1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgICBjb25zdCByZWRpcmVjdCA9IGF3YWl0IHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aGVudGljYXRpb25GYWlsdXJlUmVkaXJlY3QoYWN0aXZhdGVkUm91dGUsIHN0YXRlKTtcbiAgICAgICAgICAvLyBjb25zdCBuZXh0UGxhY2VEZWYgPSB0aGlzLmdldFBsYWNlRGVmaW5pdGlvbihyZWRpcmVjdCk7XG4gICAgICAgICAgaWYgKHJlZGlyZWN0LnJlcXVpcmVzQXV0aGVudGljYXRpb24oKSkge1xuICAgICAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoYG9uQXV0aGVudGljYXRpb25GYWlsdXJlIGhvb2sgcmV0dXJuZWQgcGxhY2UgJHtyZWRpcmVjdC50b0RlYnVnU3RyaW5nKCl9IHRoYXQgcmVxdWlyZXMgYXV0aGVudGljYXRpb24uYCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVVybFRyZWUocmVkaXJlY3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgYXdhaXQgdGhpcy5hdXRoU2VydmljZS53YWl0VW50aWxBdXRob3Jpc2F0aW9uUmVhZHlGb3IocGxhY2VEZWZpbml0aW9uKTtcblxuICAgICAgICBpZiAoIXRoaXMuYXV0aFNlcnZpY2UuaXNBdXRob3Jpc2VkKHBsYWNlRGVmaW5pdGlvbikpIHtcbiAgICAgICAgICBjb25zdCBuZXh0UmVkaXJlY3QgPSBhd2FpdCB0aGlzLmZpbmRCZXN0QXV0aGVudGljYXRlZEFsdGVybmF0aXZlKHBsYWNlRGVmaW5pdGlvbiwgYWN0aXZhdGVkUm91dGUpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVVybFRyZWUobmV4dFJlZGlyZWN0KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNsZWFuSW50ZXJhY3Rpb25TdGF0ZShhY3RpdmF0ZWRSb3V0ZSwgc3RhdGUsIGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgbmF2aWdhdGlvblNlc3Npb24gPSB0aGlzLnBsYWNlUm91dGVyLm5hdmlnYXRpb25TZXNzaW9uO1xuXG4gICAgICAgIC8vIFBhcnNlIG91ciByb3V0ZSBwYXJhbXMuXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBDb25zb2xpZGF0ZWRQYXJhbWV0ZXJNYXAoYWN0aXZhdGVkUm91dGUudXJsLCBhY3RpdmF0ZWRSb3V0ZS5wYXJhbU1hcCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiUm91dGVQYXJhbXNcIiwgcGFyYW1zKVxuICAgICAgICBjb25zdCBwYXJzZWRQYXJhbXMgPSBwbGFjZURlZmluaXRpb24ucGFyc2VSb3V0ZVBhcmFtcyhwYXJhbXMpO1xuICAgICAgICBjb25zdCBpbml0aWFsVmlzaXQgPSBuYXZpZ2F0aW9uU2Vzc2lvbi5nZXRWaXNpdFNlZ21lbnRGb3IocGxhY2VEZWZpbml0aW9uKSB8fCBuZXcgVmlzaXRTZWdtZW50KHBsYWNlRGVmaW5pdGlvbiwgcGFyc2VkUGFyYW1zKTtcbiAgICAgICAgY29uc3Qgc2FuaXRpc2VyID0gbmV3IFZpc2l0U2VnbWVudFNhbml0aXNlcihuYXZpZ2F0aW9uU2Vzc2lvbiwgYWN0aXZhdGVkUm91dGUsIHRoaXMucm91dGVyLCB0aGlzLnBsYWNlSGlzdG9yeSwgdGhpcy5pbmplY3Rvcik7XG4gICAgICAgIGNvbnN0IHNhbml0aXNlZFZpc2l0ID0gYXdhaXQgc2FuaXRpc2VyLnNhbml0aXNlKGluaXRpYWxWaXNpdC5tZXJnZVJvdXRlUGFyYW1ldGVycyhwYXJzZWRQYXJhbXMpKTtcbiAgICAgICAgLy8gU2F2ZSB0aGUgdmlzaXQgd2l0aCBhbnkgdXBkYXRlZCBwYXJhbWV0ZXJzLiAgV2UgbmVlZCB0byBzYXZlIGl0IHNvIHdlIHJlbWVtYmVyIGFueSBub24gcm91dGUgcGFyYW1ldGVyc1xuICAgICAgICBuYXZpZ2F0aW9uU2Vzc2lvbi51cGRhdGVWaXNpdFNlZ21lbnQoc2FuaXRpc2VkVmlzaXQpO1xuXG4gICAgICAgIGNvbnN0IGRlc3RVcmxTbmFwc2hvdCA9IHRoaXMudXJsU2VydmljZS5wYXJzZVVybChzdGF0ZS51cmwpO1xuICAgICAgICBpZiAoaW5pdGlhbFZpc2l0Lmhhc1JvdXRpbmdDaGFuZ2VkRnJvbShzYW5pdGlzZWRWaXNpdCkpIHtcbiAgICAgICAgICAvLyBSZWdlbmVyYXRlIHRoZSB1cmwgYW5kIHVwZGF0ZSBvdXIgdmlzaXQgc2VnbWVudCBpbiB0aGUgc2Vzc2lvblxuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCcjIyMjIyBQbGFjZSBHdWFyZCBSZWRpcmVjdCcsIGRlc3RVcmxTbmFwc2hvdC51cGRhdGVWaXNpdFNlZ21lbnQoc2FuaXRpc2VkVmlzaXQpKTtcbiAgICAgICAgICByZXR1cm4gZGVzdFVybFNuYXBzaG90LnVwZGF0ZVZpc2l0U2VnbWVudChzYW5pdGlzZWRWaXNpdCk7XG4gICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgICAvLyBPdXIgdmlzaXQgcGFyYW1ldGVycyBhcmUgYWxsIHNvcnRlZCwgbm93IGNoZWNrIGlmIHdlIHNob3VsZCByZWRpcmVjdCB0byBvdXIgY2hpbGQuXG4gICAgICAgICAgaWYgKGRlc3RVcmxTbmFwc2hvdC5pc0xhc3RQbGFjZUluVXJsKHBsYWNlRGVmaW5pdGlvbikgJiYgcGxhY2VEZWZpbml0aW9uLnJlZGlyZWN0VG9GaXJzdENoaWxkKSB7XG4gICAgICAgICAgICBpZiAocGxhY2VEZWZpbml0aW9uLmNoaWxkcmVuLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoYHJlZGlyZWN0VG9GaXJzdENoaWxkIHNldCB0byB0cnVlLCBidXQgdGhlcmUgd2VyZSBubyBjaGlsZHJlbiBgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGNoaWxkID0gdGhpcy5zZWxlY3RSZWRpcmVjdENoaWxkKHBsYWNlRGVmaW5pdGlvbik7XG4gICAgICAgICAgICBpZiAoIWNoaWxkKSB7XG4gICAgICAgICAgICAgIC8vIGhtbSwgd2hhdCBzaG91bGQgSSBkbyBoZXJlLCB3ZSBkaWRuJ3QgaGF2ZSBhbiBhdXRob3Jpc2VkIGNoaWxkXG4gICAgICAgICAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKGByZWRpcmVjdFRvRmlyc3RDaGlsZCBzZXQgdG8gdHJ1ZSwgYnV0IHRoZXJlIHdlcmUgbm8gYXV0aGVudGljYXRlZCBjaGlsZHJlbmApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGRlc3RVcmxTbmFwc2hvdC5hcHBlbmRTZWdtZW50KG5ldyBWaXNpdFNlZ21lbnQoY2hpbGQpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiByZXN1bHQgaW5zdGFuY2VvZiBVcmxTbmFwc2hvdCA/IHJlc3VsdC51cmxUcmVlIDogcmVzdWx0O1xuXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBsYW5nLmlsbGVnYWxTdGF0ZShgZXhwZWN0ZWQgY29tcG9uZW50IHRvIGJlIGFuIGluc3RhbmNlIG9mIFBsYWNlQ29tcG9uZW50LCBnb3QgJHthY3RpdmF0ZWRSb3V0ZS5jb21wb25lbnR9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENob29zZXMgdGhlIGNoaWxkIHRvIHJlZGlyZWN0IHRvIHdoZW4ge0BsaW5rIFBsYWNlRGVmaW5pdGlvbi5yZWRpcmVjdFRvRmlyc3RDaGlsZH0gaXMgc2V0LiAgV2hlblxuICAgKiBgcmVtZW1iZXJMYXN0Q2hpbGRgIGlzIGVuYWJsZWQgKHRoZSBkZWZhdWx0KSBhbmQgd2UgaGF2ZSBhIHJlY29yZCBvZiB0aGUgbGFzdCBhY3RpdmUgY2hpbGQgdGhhdCBpc1xuICAgKiBzdGlsbCBhIHZhbGlkLCBhdXRob3Jpc2VkIGNoaWxkLCB3ZSByZXR1cm4gdG8gaXQuICBPdGhlcndpc2Ugd2UgZmFsbCBiYWNrIHRvIHRoZSBmaXJzdCBhdXRob3Jpc2VkXG4gICAqIGNoaWxkICh0aGUgbGVnYWN5IGJlaGF2aW91cikuXG4gICAqL1xuICBwcml2YXRlIHNlbGVjdFJlZGlyZWN0Q2hpbGQocGxhY2U6IFBsYWNlRGVmaW5pdGlvbik6IFBsYWNlRGVmaW5pdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYXV0aG9yaXNlZCA9IChjOiBQbGFjZURlZmluaXRpb24pID0+ICFjLmF1dGhlbnRpY2F0ZSB8fCB0aGlzLmF1dGhTZXJ2aWNlLmlzQXV0aG9yaXNlZChjKTtcbiAgICBpZiAocGxhY2UucmVtZW1iZXJMYXN0Q2hpbGQpIHtcbiAgICAgIGNvbnN0IHJlbWVtYmVyZWQgPSB0aGlzLnBsYWNlSGlzdG9yeS5nZXRMYXN0QWN0aXZlQ2hpbGQocGxhY2UpO1xuICAgICAgaWYgKHJlbWVtYmVyZWQgJiYgcGxhY2UuY2hpbGRyZW4uaW5jbHVkZXMocmVtZW1iZXJlZCkgJiYgYXV0aG9yaXNlZChyZW1lbWJlcmVkKSkge1xuICAgICAgICByZXR1cm4gcmVtZW1iZXJlZDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHBsYWNlLmNoaWxkcmVuLmZpbmQoYXV0aG9yaXNlZCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGZpbmRCZXN0QXV0aGVudGljYXRlZEFsdGVybmF0aXZlKHBsYWNlRGVmaW5pdGlvbjogUGxhY2VEZWZpbml0aW9uLCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IFByb21pc2U8VmlzaXQ+IHtcbiAgICBsZXQgY3VycmVudFBsYWNlID0gcGxhY2VEZWZpbml0aW9uO1xuICAgIHdoaWxlICghY3VycmVudFBsYWNlLmlzUm9vdCgpKSB7XG4gICAgICBjdXJyZW50UGxhY2UgPSBjdXJyZW50UGxhY2UucGFyZW50O1xuICAgICAgY29uc3QgcGVybWl0dGVkQ2hpbGQgPSBjdXJyZW50UGxhY2UuZmluZENoaWxkKGMgPT4gdGhpcy5hdXRoU2VydmljZS5pc0F1dGhvcmlzZWQoYykpO1xuICAgICAgaWYgKHBlcm1pdHRlZENoaWxkKSB7XG4gICAgICAgIHJldHVybiBWaXNpdC5nb3RvKHBlcm1pdHRlZENoaWxkLmNvbXBvbmVudCk7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIENvdWxkbid0IGZpbmQgYW4gYXV0aG9yaXNlZCBhbmNlc3RvciBzbyB3ZSBjaGVjayBpZiB0aGVyZSBhcmUgcm91dGVyIGxldmVsIGRlZmluZWQgYWx0ZXJuYXRpdmVzXG4gICAgY29uc3QgYWx0ZXJuYXRpdmVSb3V0ZXMgPSBhd2FpdCB0aGlzLnBsYWNlUm91dGVyLmdldEF1dGhvcmlzYXRpb25GYWlsdXJlUmVkaXJlY3RPcHRpb25zKGFjdGl2YXRlZFJvdXRlLmNvbXBvbmVudCk7XG4gICAgaWYgKGFsdGVybmF0aXZlUm91dGVzLmxlbmd0aCA8IDEpIHtcbiAgICAgIHJldHVybiBsYW5nLmlsbGVnYWxTdGF0ZShgb25BdXRob3Jpc2F0aW9uRmFpbHVyZSBob29rIGRpZG4ndCByZXR1cm4gYW55IGFsdGVybmF0ZSBwbGFjZXNgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbmV4dFJlZGlyZWN0ID0gYWx0ZXJuYXRpdmVSb3V0ZXMuZmluZChpdCA9PiBpdC5pc0F1dGhvcmlzZWQodGhpcy5hdXRoU2VydmljZSkpXG4gICAgICByZXR1cm4gbmV4dFJlZGlyZWN0ID8/IGxhbmcuaWxsZWdhbFN0YXRlKGBvbkF1dGhvcmlzYXRpb25GYWlsdXJlIGhvb2sgZGlkbid0IHJldHVybiBhbnkgYXV0aG9yaXNlZCBsb2NhdGlvbnNgKTtcbiAgICB9XG4gIH1cblxuLy8gQFRyYWNlKClcbiAgYXN5bmMgY2FuRGVhY3RpdmF0ZShjb21wb25lbnQ6IFBsYWNlQ29tcG9uZW50LCBjdXJyZW50Um91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGN1cnJlbnRTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCwgbmV4dFN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHtcbiAgICBpZiAoIWNvbXBvbmVudCkge1xuICAgICAgLy8gdGhpcyBoYXBwZW5zIHdoZW4gdGhlIHBsYWNlIHdhc24ndCBhdXRob3Jpc2VkIGFuZCB0aGUgYXNzb2NpYXRlZFxuICAgICAgLy8gcm91dGVyIG91dGxldCB3YXMgcmVtb3ZlZCBmcm9tIHRoZSBkb20uXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgY3VycmVudFVybCA9IHRoaXMudXJsU2VydmljZS5wYXJzZVVybChjdXJyZW50U3RhdGUudXJsKTtcbiAgICBjb25zdCBuZXh0VXJsID0gdGhpcy51cmxTZXJ2aWNlLnBhcnNlVXJsKG5leHRTdGF0ZS51cmwpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGlvblNlc3Npb24uY2FuRGVhY3RpdmF0ZVBsYWNlKGNvbXBvbmVudCwgY3VycmVudFVybCwgbmV4dFVybCk7XG4gICAgcmV0dXJuIHJlc3VsdCBpbnN0YW5jZW9mIFVybFNuYXBzaG90ID8gcmVzdWx0LnVybFRyZWUgOiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldFBsYWNlRGVmaW5pdGlvbihyZXN1bHQ6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+IHwgVmlzaXRTZWdtZW50IHwgUGxhY2VEZWZpbml0aW9uKTogUGxhY2VEZWZpbml0aW9uIHtcbiAgICByZXR1cm4gcmVzdWx0IGluc3RhbmNlb2YgVmlzaXRTZWdtZW50ID9cbiAgICAgIHJlc3VsdC5wbGFjZURlZmluaXRpb24gOlxuICAgICAgcmVzdWx0IGluc3RhbmNlb2YgUGxhY2VEZWZpbml0aW9uID9cbiAgICAgICAgcmVzdWx0IDpcbiAgICAgICAgUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbihyZXN1bHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVVcmxUcmVlKHZpc2l0OiBWaXNpdCkge1xuICAgIHJldHVybiB0aGlzLnVybFNlcnZpY2UuY3JlYXRlVXJsU25hcHNob3QodmlzaXQuc2VnbWVudHMpLnVybFRyZWU7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBhc3luYyBjbGVhbkludGVyYWN0aW9uU3RhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBuZXh0OiAoKSA9PiBQcm9taXNlPGJvb2xlYW4gfCBVcmxTbmFwc2hvdCB8IFVybFRyZWU+KTogUHJvbWlzZTxib29sZWFuIHwgVXJsU25hcHNob3QgfCBVcmxUcmVlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy51cmxTZXJ2aWNlLnBhcnNlVXJsKHN0YXRlLnVybCk7XG4gICAgaWYgKCF0aGlzLmludGVyYWN0aW9uU2VydmljZS5pc0FjdGl2ZSgpICYmIHVybC5oYXNJbnRlcmFjdGlvbnMoKSkge1xuICAgICAgLy8gVGhpcyBoYXBwZW5zIGlmIHdlIHJlbG9hZCB0aGUgcGFnZSBvciB0aGUgdXJsIHdhcyBwYXN0ZWQgYXMgdGhlIHJvdXRlIHNob3VsZCBvbmx5IGJlIGFjdGl2YXRlZFxuICAgICAgLy8gYWZ0ZXIgdGhlIGludGVyYWN0aW9uIGNvbnRleHQgaGFzIGJlY29tZSBhY3RpdmUuXG4gICAgICByZXR1cm4gdXJsLnJlbW92ZUludGVyYWN0aW9uSWRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXh0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9ndWFyZHMvcGxhY2UuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUEwQixNQUFNLEVBQWdDLE1BQU0saUJBQWlCLENBQUM7QUFDL0YsT0FBTyxFQUFnQixJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUdsRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQy9CLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQUdsRSxNQUFNLE9BQU8sVUFBVTtJQUdRO0lBQ1Q7SUFDUztJQUNBO0lBQ0E7SUFDQTtJQUw3QixZQUE2QixNQUFjLEVBQ3ZCLFVBQXNCLEVBQ2IsV0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsa0JBQXNDLEVBQ3RDLFFBQWtCO1FBTGxCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDdkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNiLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUMvQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQztJQUN0QyxDQUFDO0lBRUQsV0FBVztJQUNYLEtBQUssQ0FBQyxXQUFXLENBQUMsY0FBc0MsRUFBRSxLQUEwQjtRQUVsRixJQUFJLGNBQWMsQ0FBQywyQkFBMkIsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDeEUsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFL0UsSUFBSSxlQUFlLENBQUMsWUFBWSxFQUFFO2dCQUVoQyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLDRCQUE0QixFQUFFLENBQUM7Z0JBRWxFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBRXpELElBQUksQ0FBQyxhQUFhLEVBQUU7b0JBQ2xCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0NBQWdDLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUMxRiwwREFBMEQ7b0JBQzFELElBQUksUUFBUSxDQUFDLHNCQUFzQixFQUFFLEVBQUU7d0JBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsK0NBQStDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztxQkFDNUg7b0JBQ0QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUNyQztnQkFFRCxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsOEJBQThCLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBRXZFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRTtvQkFDbkQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztvQkFDNUYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO2lCQUN6QzthQUNGO1lBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxFQUFFLEtBQUssRUFBRSxLQUFLLElBQUksRUFBRTtnQkFDaEYsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDO2dCQUU3RCwwQkFBMEI7Z0JBQzFCLE1BQU0sTUFBTSxHQUFHLElBQUksd0JBQXdCLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3pGLHFDQUFxQztnQkFDckMsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM5RCxNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLFlBQVksQ0FBQyxlQUFlLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQzlILE1BQU0sU0FBUyxHQUFHLElBQUkscUJBQXFCLENBQUMsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzlILE1BQU0sY0FBYyxHQUFHLE1BQU0sU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztnQkFDakcsMEdBQTBHO2dCQUMxRyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFFckQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM1RCxJQUFJLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsRUFBRTtvQkFDdEQsaUVBQWlFO29CQUNqRSxpR0FBaUc7b0JBQ2pHLE9BQU8sZUFBZSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO2lCQUMzRDtxQkFBTTtvQkFFTCxxRkFBcUY7b0JBQ3JGLElBQUksZUFBZSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxvQkFBb0IsRUFBRTt3QkFDN0YsSUFBSSxlQUFlLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7NEJBQ3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsK0RBQStELENBQUMsQ0FBQzt5QkFDcEY7d0JBQ0QsS0FBSyxJQUFJLEtBQUssSUFBSSxlQUFlLENBQUMsUUFBUSxFQUFFOzRCQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQ0FDL0QsT0FBTyxlQUFlLENBQUMsYUFBYSxDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7NkJBQzlEO3lCQUNGO3dCQUNELGlFQUFpRTt3QkFDakUsSUFBSSxDQUFDLFlBQVksQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDO3FCQUNqRztvQkFFRCxPQUFPLElBQUksQ0FBQztpQkFDYjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTyxNQUFNLFlBQVksV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7U0FFaEU7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQywrREFBK0QsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7U0FDckg7SUFDSCxDQUFDO0lBRU8sZ0NBQWdDLENBQUMsZUFBZ0MsRUFBRSxjQUFzQztRQUMvRyxJQUFJLFlBQVksR0FBRyxlQUFlLENBQUM7UUFDbkMsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUM3QixZQUFZLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztZQUNuQyxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRixJQUFJLGNBQWMsRUFBRTtnQkFDbEIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUM3QztTQUNGO1FBQ0Qsa0dBQWtHO1FBQ2xHLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQ0FBc0MsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUcsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDO1NBQzVGO2FBQU07WUFDTCxNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBO1lBQ3BGLE9BQU8sWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsb0VBQW9FLENBQUMsQ0FBQztTQUNoSDtJQUNILENBQUM7SUFFSCxXQUFXO0lBQ1QsS0FBSyxDQUFDLGFBQWEsQ0FBQyxTQUF5QixFQUFFLFlBQW9DLEVBQUUsWUFBaUMsRUFBRSxTQUErQjtRQUNySixJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2QsbUVBQW1FO1lBQ25FLDBDQUEwQztZQUMxQyxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4RCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMzRyxPQUFPLE1BQU0sWUFBWSxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNqRSxDQUFDO0lBRU8sa0JBQWtCLENBQUMsTUFBc0U7UUFDL0YsT0FBTyxNQUFNLFlBQVksWUFBWSxDQUFDLENBQUM7WUFDckMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3hCLE1BQU0sWUFBWSxlQUFlLENBQUMsQ0FBQztnQkFDakMsTUFBTSxDQUFDLENBQUM7Z0JBQ1IsY0FBYyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQVk7UUFDaEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDbkUsQ0FBQztJQUVELFdBQVc7SUFDWCxLQUFLLENBQUMscUJBQXFCLENBQUMsS0FBNkIsRUFBRSxLQUEwQixFQUFFLElBQW9EO1FBQ3pJLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxJQUFJLEdBQUcsQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUNoRSxpR0FBaUc7WUFDakcsbURBQW1EO1lBQ25ELE9BQU8sR0FBRyxDQUFDLG9CQUFvQixFQUFFLENBQUM7U0FDbkM7YUFBTTtZQUNMLE9BQU8sSUFBSSxFQUFFLENBQUM7U0FDZjtJQUNILENBQUM7dUdBL0lVLFVBQVU7MkdBQVYsVUFBVSxjQURFLE1BQU07OzJGQUNsQixVQUFVO2tCQUR0QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgSW5qZWN0b3J9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Q29uc3RydWN0YWJsZSwgbGFuZ30gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHtJbnRlcmFjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL2ludGVyYWN0aW9uL3NlcnZpY2VzL2ludGVyYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtQbGFjZUFjY2Vzc0d1YXJkfSBmcm9tIFwiLi4vcGxhY2UtYWNjZXNzLWd1YXJkXCI7XG5pbXBvcnQge1BsYWNlQXV0aFNlcnZpY2V9IGZyb20gXCIuLi9wbGFjZS1hdXRoLXNlcnZpY2VcIjtcbmltcG9ydCB7UGxhY2VDb21wb25lbnR9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQge1BsYWNlRGVmaW5pdGlvbn0gZnJvbSAnLi4vcGxhY2UtZGVmaW5pdGlvbic7XG5pbXBvcnQge1BsYWNlSGlzdG9yeX0gZnJvbSAnLi4vcGxhY2UtaGlzdG9yeSc7XG5pbXBvcnQge1BsYWNlUm91dGVyfSBmcm9tICcuLi9wbGFjZS1yb3V0ZXInO1xuaW1wb3J0IHtWaXNpdFNlZ21lbnRTYW5pdGlzZXJ9IGZyb20gJy4uL3JvdXRlL3Zpc2l0LXNlZ21lbnQtc2FuaXRpc2VyJztcbmltcG9ydCB7VXJsU2VydmljZX0gZnJvbSAnLi4vdXJsLXNlcnZpY2UnO1xuaW1wb3J0IHtVcmxTbmFwc2hvdH0gZnJvbSAnLi4vdXJsLXNuYXBzaG90JztcbmltcG9ydCB7VmlzaXR9IGZyb20gXCIuLi92aXNpdFwiO1xuaW1wb3J0IHtWaXNpdFNlZ21lbnR9IGZyb20gJy4uL3Zpc2l0LXNlZ21lbnQnO1xuaW1wb3J0IHtDb25zb2xpZGF0ZWRQYXJhbWV0ZXJNYXB9IGZyb20gJy4vY29uc29saWRhdGVkLXBhcmFtLW1hcCc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFBsYWNlR3VhcmQgIHtcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgdXJsU2VydmljZTogVXJsU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhY2VIaXN0b3J5OiBQbGFjZUhpc3RvcnksXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW50ZXJhY3Rpb25TZXJ2aWNlOiBJbnRlcmFjdGlvblNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIH1cblxuICBnZXQgYXV0aFNlcnZpY2UoKTogUGxhY2VBdXRoU2VydmljZSB7XG4gICAgcmV0dXJuIHRoaXMucGxhY2VSb3V0ZXIuYXV0aFNlcnZpY2U7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBhc3luYyBjYW5BY3RpdmF0ZShhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB7XG5cbiAgICBpZiAoUGxhY2VDb21wb25lbnQuaXNQbGFjZUNvbXBvbmVudENvbnN0cnVjdG9yKGFjdGl2YXRlZFJvdXRlLmNvbXBvbmVudCkpIHtcbiAgICAgIGNvbnN0IHBsYWNlRGVmaW5pdGlvbiA9IFBsYWNlQ29tcG9uZW50LmdldERlZmluaXRpb24oYWN0aXZhdGVkUm91dGUuY29tcG9uZW50KTtcblxuICAgICAgaWYgKHBsYWNlRGVmaW5pdGlvbi5hdXRoZW50aWNhdGUpIHtcblxuICAgICAgICBhd2FpdCB0aGlzLnBsYWNlUm91dGVyLmF1dGhTZXJ2aWNlLndhaXRVbnRpbEF1dGhlbnRpY2F0aW9uUmVhZHkoKTtcblxuICAgICAgICBjb25zdCBhdXRoZW50aWNhdGVkID0gdGhpcy5hdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQoKTtcblxuICAgICAgICBpZiAoIWF1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgICBjb25zdCByZWRpcmVjdCA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aGVudGljYXRpb25GYWlsdXJlUmVkaXJlY3QoYWN0aXZhdGVkUm91dGUsIHN0YXRlKTtcbiAgICAgICAgICAvLyBjb25zdCBuZXh0UGxhY2VEZWYgPSB0aGlzLmdldFBsYWNlRGVmaW5pdGlvbihyZWRpcmVjdCk7XG4gICAgICAgICAgaWYgKHJlZGlyZWN0LnJlcXVpcmVzQXV0aGVudGljYXRpb24oKSkge1xuICAgICAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoYG9uQXV0aGVudGljYXRpb25GYWlsdXJlIGhvb2sgcmV0dXJuZWQgcGxhY2UgJHtyZWRpcmVjdC50b0RlYnVnU3RyaW5nKCl9IHRoYXQgcmVxdWlyZXMgYXV0aGVudGljYXRpb24uYCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVVybFRyZWUocmVkaXJlY3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgYXdhaXQgdGhpcy5hdXRoU2VydmljZS53YWl0VW50aWxBdXRob3Jpc2F0aW9uUmVhZHlGb3IocGxhY2VEZWZpbml0aW9uKTtcblxuICAgICAgICBpZiAoIXRoaXMuYXV0aFNlcnZpY2UuaXNBdXRob3Jpc2VkKHBsYWNlRGVmaW5pdGlvbikpIHtcbiAgICAgICAgICBjb25zdCBuZXh0UmVkaXJlY3QgPSB0aGlzLmZpbmRCZXN0QXV0aGVudGljYXRlZEFsdGVybmF0aXZlKHBsYWNlRGVmaW5pdGlvbiwgYWN0aXZhdGVkUm91dGUpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVVybFRyZWUobmV4dFJlZGlyZWN0KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNsZWFuSW50ZXJhY3Rpb25TdGF0ZShhY3RpdmF0ZWRSb3V0ZSwgc3RhdGUsIGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgbmF2aWdhdGlvblNlc3Npb24gPSB0aGlzLnBsYWNlUm91dGVyLm5hdmlnYXRpb25TZXNzaW9uO1xuXG4gICAgICAgIC8vIFBhcnNlIG91ciByb3V0ZSBwYXJhbXMuXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBDb25zb2xpZGF0ZWRQYXJhbWV0ZXJNYXAoYWN0aXZhdGVkUm91dGUudXJsLCBhY3RpdmF0ZWRSb3V0ZS5wYXJhbU1hcCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiUm91dGVQYXJhbXNcIiwgcGFyYW1zKVxuICAgICAgICBjb25zdCBwYXJzZWRQYXJhbXMgPSBwbGFjZURlZmluaXRpb24ucGFyc2VSb3V0ZVBhcmFtcyhwYXJhbXMpO1xuICAgICAgICBjb25zdCBpbml0aWFsVmlzaXQgPSBuYXZpZ2F0aW9uU2Vzc2lvbi5nZXRWaXNpdFNlZ21lbnRGb3IocGxhY2VEZWZpbml0aW9uKSB8fCBuZXcgVmlzaXRTZWdtZW50KHBsYWNlRGVmaW5pdGlvbiwgcGFyc2VkUGFyYW1zKTtcbiAgICAgICAgY29uc3Qgc2FuaXRpc2VyID0gbmV3IFZpc2l0U2VnbWVudFNhbml0aXNlcihuYXZpZ2F0aW9uU2Vzc2lvbiwgYWN0aXZhdGVkUm91dGUsIHRoaXMucm91dGVyLCB0aGlzLnBsYWNlSGlzdG9yeSwgdGhpcy5pbmplY3Rvcik7XG4gICAgICAgIGNvbnN0IHNhbml0aXNlZFZpc2l0ID0gYXdhaXQgc2FuaXRpc2VyLnNhbml0aXNlKGluaXRpYWxWaXNpdC5tZXJnZVJvdXRlUGFyYW1ldGVycyhwYXJzZWRQYXJhbXMpKTtcbiAgICAgICAgLy8gU2F2ZSB0aGUgdmlzaXQgd2l0aCBhbnkgdXBkYXRlZCBwYXJhbWV0ZXJzLiAgV2UgbmVlZCB0byBzYXZlIGl0IHNvIHdlIHJlbWVtYmVyIGFueSBub24gcm91dGUgcGFyYW1ldGVyc1xuICAgICAgICBuYXZpZ2F0aW9uU2Vzc2lvbi51cGRhdGVWaXNpdFNlZ21lbnQoc2FuaXRpc2VkVmlzaXQpO1xuXG4gICAgICAgIGNvbnN0IGRlc3RVcmxTbmFwc2hvdCA9IHRoaXMudXJsU2VydmljZS5wYXJzZVVybChzdGF0ZS51cmwpO1xuICAgICAgICBpZiAoaW5pdGlhbFZpc2l0Lmhhc1JvdXRpbmdDaGFuZ2VkRnJvbShzYW5pdGlzZWRWaXNpdCkpIHtcbiAgICAgICAgICAvLyBSZWdlbmVyYXRlIHRoZSB1cmwgYW5kIHVwZGF0ZSBvdXIgdmlzaXQgc2VnbWVudCBpbiB0aGUgc2Vzc2lvblxuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCcjIyMjIyBQbGFjZSBHdWFyZCBSZWRpcmVjdCcsIGRlc3RVcmxTbmFwc2hvdC51cGRhdGVWaXNpdFNlZ21lbnQoc2FuaXRpc2VkVmlzaXQpKTtcbiAgICAgICAgICByZXR1cm4gZGVzdFVybFNuYXBzaG90LnVwZGF0ZVZpc2l0U2VnbWVudChzYW5pdGlzZWRWaXNpdCk7XG4gICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgICAvLyBPdXIgdmlzaXQgcGFyYW1ldGVycyBhcmUgYWxsIHNvcnRlZCwgbm93IGNoZWNrIGlmIHdlIHNob3VsZCByZWRpcmVjdCB0byBvdXIgY2hpbGQuXG4gICAgICAgICAgaWYgKGRlc3RVcmxTbmFwc2hvdC5pc0xhc3RQbGFjZUluVXJsKHBsYWNlRGVmaW5pdGlvbikgJiYgcGxhY2VEZWZpbml0aW9uLnJlZGlyZWN0VG9GaXJzdENoaWxkKSB7XG4gICAgICAgICAgICBpZiAocGxhY2VEZWZpbml0aW9uLmNoaWxkcmVuLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoYHJlZGlyZWN0VG9GaXJzdENoaWxkIHNldCB0byB0cnVlLCBidXQgdGhlcmUgd2VyZSBubyBjaGlsZHJlbiBgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvciAobGV0IGNoaWxkIG9mIHBsYWNlRGVmaW5pdGlvbi5jaGlsZHJlbikge1xuICAgICAgICAgICAgICBpZiAoIWNoaWxkLmF1dGhlbnRpY2F0ZSB8fCB0aGlzLmF1dGhTZXJ2aWNlLmlzQXV0aG9yaXNlZChjaGlsZCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGVzdFVybFNuYXBzaG90LmFwcGVuZFNlZ21lbnQobmV3IFZpc2l0U2VnbWVudChjaGlsZCkpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGhtbSwgd2hhdCBzaG91bGQgSSBkbyBoZXJlLCB3ZSBkaWRuJ3QgaGF2ZSBhbiBhdXRob3Jpc2VkIGNoaWxkXG4gICAgICAgICAgICBsYW5nLmlsbGVnYWxTdGF0ZShgcmVkaXJlY3RUb0ZpcnN0Q2hpbGQgc2V0IHRvIHRydWUsIGJ1dCB0aGVyZSB3ZXJlIG5vIGF1dGhlbnRpY2F0ZWQgY2hpbGRyZW5gKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiByZXN1bHQgaW5zdGFuY2VvZiBVcmxTbmFwc2hvdCA/IHJlc3VsdC51cmxUcmVlIDogcmVzdWx0O1xuXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBsYW5nLmlsbGVnYWxTdGF0ZShgZXhwZWN0ZWQgY29tcG9uZW50IHRvIGJlIGFuIGluc3RhbmNlIG9mIFBsYWNlQ29tcG9uZW50LCBnb3QgJHthY3RpdmF0ZWRSb3V0ZS5jb21wb25lbnR9YCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaW5kQmVzdEF1dGhlbnRpY2F0ZWRBbHRlcm5hdGl2ZShwbGFjZURlZmluaXRpb246IFBsYWNlRGVmaW5pdGlvbiwgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOlZpc2l0IHtcbiAgICBsZXQgY3VycmVudFBsYWNlID0gcGxhY2VEZWZpbml0aW9uO1xuICAgIHdoaWxlICghY3VycmVudFBsYWNlLmlzUm9vdCgpKSB7XG4gICAgICBjdXJyZW50UGxhY2UgPSBjdXJyZW50UGxhY2UucGFyZW50O1xuICAgICAgY29uc3QgcGVybWl0dGVkQ2hpbGQgPSBjdXJyZW50UGxhY2UuZmluZENoaWxkKGMgPT4gdGhpcy5hdXRoU2VydmljZS5pc0F1dGhvcmlzZWQoYykpO1xuICAgICAgaWYgKHBlcm1pdHRlZENoaWxkKSB7XG4gICAgICAgIHJldHVybiBWaXNpdC5nb3RvKHBlcm1pdHRlZENoaWxkLmNvbXBvbmVudCk7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIENvdWxkbid0IGZpbmQgYW4gYXV0aG9yaXNlZCBhbmNlc3RvciBzbyB3ZSBjaGVjayBpZiB0aGVyZSBhcmUgcm91dGVyIGxldmVsIGRlZmluZWQgYWx0ZXJuYXRpdmVzXG4gICAgY29uc3QgYWx0ZXJuYXRpdmVSb3V0ZXMgPSB0aGlzLnBsYWNlUm91dGVyLmdldEF1dGhvcmlzYXRpb25GYWlsdXJlUmVkaXJlY3RPcHRpb25zKGFjdGl2YXRlZFJvdXRlLmNvbXBvbmVudCk7XG4gICAgaWYgKGFsdGVybmF0aXZlUm91dGVzLmxlbmd0aCA8IDEpIHtcbiAgICAgIHJldHVybiBsYW5nLmlsbGVnYWxTdGF0ZShgb25BdXRob3Jpc2F0aW9uRmFpbHVyZSBob29rIGRpZG4ndCByZXR1cm4gYW55IGFsdGVybmF0ZSBwbGFjZXNgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbmV4dFJlZGlyZWN0ID0gYWx0ZXJuYXRpdmVSb3V0ZXMuZmluZChpdCA9PiBpdC5pc0F1dGhvcmlzZWQodGhpcy5hdXRoU2VydmljZSkpXG4gICAgICByZXR1cm4gbmV4dFJlZGlyZWN0ID8/IGxhbmcuaWxsZWdhbFN0YXRlKGBvbkF1dGhvcmlzYXRpb25GYWlsdXJlIGhvb2sgZGlkbid0IHJldHVybiBhbnkgYXV0aG9yaXNlZCBsb2NhdGlvbnNgKTtcbiAgICB9XG4gIH1cblxuLy8gQFRyYWNlKClcbiAgYXN5bmMgY2FuRGVhY3RpdmF0ZShjb21wb25lbnQ6IFBsYWNlQ29tcG9uZW50LCBjdXJyZW50Um91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGN1cnJlbnRTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCwgbmV4dFN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHtcbiAgICBpZiAoIWNvbXBvbmVudCkge1xuICAgICAgLy8gdGhpcyBoYXBwZW5zIHdoZW4gdGhlIHBsYWNlIHdhc24ndCBhdXRob3Jpc2VkIGFuZCB0aGUgYXNzb2NpYXRlZFxuICAgICAgLy8gcm91dGVyIG91dGxldCB3YXMgcmVtb3ZlZCBmcm9tIHRoZSBkb20uXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgY3VycmVudFVybCA9IHRoaXMudXJsU2VydmljZS5wYXJzZVVybChjdXJyZW50U3RhdGUudXJsKTtcbiAgICBjb25zdCBuZXh0VXJsID0gdGhpcy51cmxTZXJ2aWNlLnBhcnNlVXJsKG5leHRTdGF0ZS51cmwpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGlvblNlc3Npb24uY2FuRGVhY3RpdmF0ZVBsYWNlKGNvbXBvbmVudCwgY3VycmVudFVybCwgbmV4dFVybCk7XG4gICAgcmV0dXJuIHJlc3VsdCBpbnN0YW5jZW9mIFVybFNuYXBzaG90ID8gcmVzdWx0LnVybFRyZWUgOiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGdldFBsYWNlRGVmaW5pdGlvbihyZXN1bHQ6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+IHwgVmlzaXRTZWdtZW50IHwgUGxhY2VEZWZpbml0aW9uKTogUGxhY2VEZWZpbml0aW9uIHtcbiAgICByZXR1cm4gcmVzdWx0IGluc3RhbmNlb2YgVmlzaXRTZWdtZW50ID9cbiAgICAgIHJlc3VsdC5wbGFjZURlZmluaXRpb24gOlxuICAgICAgcmVzdWx0IGluc3RhbmNlb2YgUGxhY2VEZWZpbml0aW9uID9cbiAgICAgICAgcmVzdWx0IDpcbiAgICAgICAgUGxhY2VDb21wb25lbnQuZ2V0RGVmaW5pdGlvbihyZXN1bHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVVcmxUcmVlKHZpc2l0OiBWaXNpdCkge1xuICAgIHJldHVybiB0aGlzLnVybFNlcnZpY2UuY3JlYXRlVXJsU25hcHNob3QodmlzaXQuc2VnbWVudHMpLnVybFRyZWU7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBhc3luYyBjbGVhbkludGVyYWN0aW9uU3RhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBuZXh0OiAoKSA9PiBQcm9taXNlPGJvb2xlYW4gfCBVcmxTbmFwc2hvdCB8IFVybFRyZWU+KTogUHJvbWlzZTxib29sZWFuIHwgVXJsU25hcHNob3QgfCBVcmxUcmVlPiB7XG4gICAgY29uc3QgdXJsID0gdGhpcy51cmxTZXJ2aWNlLnBhcnNlVXJsKHN0YXRlLnVybCk7XG4gICAgaWYgKCF0aGlzLmludGVyYWN0aW9uU2VydmljZS5pc0FjdGl2ZSgpICYmIHVybC5oYXNJbnRlcmFjdGlvbnMoKSkge1xuICAgICAgLy8gVGhpcyBoYXBwZW5zIGlmIHdlIHJlbG9hZCB0aGUgcGFnZSBvciB0aGUgdXJsIHdhcyBwYXN0ZWQgYXMgdGhlIHJvdXRlIHNob3VsZCBvbmx5IGJlIGFjdGl2YXRlZFxuICAgICAgLy8gYWZ0ZXIgdGhlIGludGVyYWN0aW9uIGNvbnRleHQgaGFzIGJlY29tZSBhY3RpdmUuXG4gICAgICByZXR1cm4gdXJsLnJlbW92ZUludGVyYWN0aW9uSWRzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXh0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { assert } from '@coolon/pectin';
2
- import { isEqual } from 'lodash-es';
2
+ import { isEqual } from 'lodash';
3
3
  /**
4
4
  * This class handles the logic around canDeactivate for a given router state transition. It's core responsibilities are:
5
5
  * 1. Ensure we only ask the component to deactivate once on a given navigation cycle (since visit sanitisation can result in multiple round trips to through the router.)
@@ -84,4 +84,4 @@ export class PlaceComponentDeactivationHandler {
84
84
  return !nextState.includesPathOf(this.component.placeDefinition);
85
85
  }
86
86
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LWRlYWN0aXZhdGlvbi1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvbmF2aWdhdGlvbi9wbGFjZS1jb21wb25lbnQtZGVhY3RpdmF0aW9uLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFNbEM7Ozs7OztHQU1HO0FBQ0gsTUFBTSxPQUFPLGlDQUFpQztJQUl2QjtJQUFvQztJQUErQztJQUZoRyxvQkFBb0IsQ0FBaUM7SUFFN0QsWUFBcUIsU0FBeUIsRUFBVyxpQkFBb0MsRUFBVyxrQkFBMkI7UUFBOUcsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFBVyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQVcsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFTO1FBQ2pJLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksd0JBQXdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHlCQUF5QixDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxXQUFXO0lBQ1gsS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUF1QixFQUFFLFNBQXNCO1FBQ2pFLDJFQUEyRTtRQUMzRSxvRkFBb0Y7UUFDcEYsc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDOUIsd0ZBQXdGO1lBQ3hGLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQ2hGO1FBQ0QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUdELFdBQVc7SUFDRCxLQUFLLENBQUMsc0JBQXNCLENBQUMsVUFBdUIsRUFBRSxTQUFzQjtRQUNwRix5R0FBeUc7UUFDekcsK0lBQStJO1FBQy9JLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRTtZQUVyQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxFQUFFLEVBQUU7Z0JBQzVFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvRSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsOEJBQThCLEVBQUUsQ0FBQztnQkFDbEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSw2QkFBNkI7b0JBQ2pFLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLDZCQUE2QixFQUFFLENBQUM7b0JBQ3BFLE9BQU8sS0FBSyxDQUFDO2lCQUNkO2FBQ0Y7aUJBQU07Z0JBQ0wscURBQXFEO2dCQUNyRCxJQUFJLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQ3hFLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDL0UsT0FBTyxLQUFLLENBQUM7aUJBQ2Q7YUFDRjtTQUNGO1FBRUQscURBQXFEO1FBQ3JELDhIQUE4SDtRQUM5SCwrR0FBK0c7UUFDL0csSUFBSSxJQUFJLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDNUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsK0JBQStCLENBQUMsQ0FBQztZQUM3RyxxR0FBcUc7WUFDckcsd0RBQXdEO1lBQ3hELElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ3BGLE9BQU8sQ0FBQyxJQUFJLENBQUMsNkVBQTZFLENBQUMsQ0FBQztnQkFDNUYsT0FBTyxLQUFLLENBQUM7YUFDZDtZQUVELE9BQU8sUUFBUSxDQUFDO1NBQ2pCO2FBQU07WUFDTCxtREFBbUQ7WUFDbkQsT0FBTyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLCtCQUErQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQzFIO0lBQ0gsQ0FBQztJQUVTLHdCQUF3QixDQUFDLFNBQXNCO1FBQ3ZELHFGQUFxRjtRQUNyRixnRkFBZ0Y7UUFDaEYsMENBQTBDO1FBQzFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHthc3NlcnR9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuaW1wb3J0IHtpc0VxdWFsfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHR5cGUge1BsYWNlQ29tcG9uZW50fSBmcm9tICcuLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHR5cGUge1BsYWNlRGVmaW5pdGlvbn0gZnJvbSAnLi4vcGxhY2UtZGVmaW5pdGlvbic7XG5pbXBvcnQgdHlwZSB7VXJsU25hcHNob3R9IGZyb20gJy4uL3VybC1zbmFwc2hvdCc7XG5pbXBvcnQgdHlwZSB7TmF2aWdhdGlvblNlc3Npb259IGZyb20gJy4vc2Vzc2lvbi9uYXZpZ2F0aW9uLXNlc3Npb24nO1xuXG4vKipcbiAqIFRoaXMgY2xhc3MgaGFuZGxlcyB0aGUgbG9naWMgYXJvdW5kIGNhbkRlYWN0aXZhdGUgZm9yIGEgZ2l2ZW4gcm91dGVyIHN0YXRlIHRyYW5zaXRpb24uICBJdCdzIGNvcmUgcmVzcG9uc2liaWxpdGllcyBhcmU6XG4gKiAxLiBFbnN1cmUgd2Ugb25seSBhc2sgdGhlIGNvbXBvbmVudCB0byBkZWFjdGl2YXRlIG9uY2Ugb24gYSBnaXZlbiBuYXZpZ2F0aW9uIGN5Y2xlIChzaW5jZSB2aXNpdCBzYW5pdGlzYXRpb24gY2FuIHJlc3VsdCBpbiBtdWx0aXBsZSByb3VuZCB0cmlwcyB0byB0aHJvdWdoIHRoZSByb3V0ZXIuKVxuICogMi4gRW5zdXJlIG9ubHkgdGhlIHByaW1hcnkgcGxhY2UgY29tcG9uZW50IGlzIGFza2VkIHdoZW4gdGhlcmUgYXJlIG5lc3RlZCBwbGFjZXMuICBUaGUgcHJpbWFyeSBjb21wb25lbnQgaXMgdGhlIG9uZSBhdCB0aGUgdG9wXG4gKiAgICBvZiB0aGUgcm91dGluZyBjaGFuZ2UgdHJlZS5cbiAqIDMuIEF1dG9tYXRpY2FsbHkgaGFuZGxlIHN0YW5kYXJkIGludGVyYWN0aW9uIHNjZW5hcmlvcyBvbiB0aGUgY29tcG9uZW50cyBiZWhhbGYuXG4gKi9cbmV4cG9ydCBjbGFzcyBQbGFjZUNvbXBvbmVudERlYWN0aXZhdGlvbkhhbmRsZXIge1xuXG4gIHByaXZhdGUgY2FuRGVhY3RpdmF0ZVByb21pc2U6IFByb21pc2U8Ym9vbGVhbiB8IFVybFNuYXBzaG90PjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb21wb25lbnQ6IFBsYWNlQ29tcG9uZW50LCByZWFkb25seSBuYXZpZ2F0aW9uU2Vzc2lvbjogTmF2aWdhdGlvblNlc3Npb24sIHJlYWRvbmx5IGlzUHJpbWFyeUNvbXBvbmVudDogYm9vbGVhbikge1xuICAgIGFzc2VydC5ub3ROaWwoY29tcG9uZW50KTtcbiAgfVxuXG4gIGdldCByb3V0ZXJJbnRlcmFjdGlvbkFkYXB0ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblNlc3Npb24uaW50ZXJhY3Rpb25TZXJ2aWNlQWRhcHRlcjtcbiAgfVxuXG4gIGdldCB1cmxTZXJ2aWNlKCkge1xuICAgIHJldHVybiB0aGlzLm5hdmlnYXRpb25TZXNzaW9uLnVybFNlcnZpY2U7XG4gIH1cblxuICBnZXQgcGxhY2VEZWZpbml0aW9uKCk6UGxhY2VEZWZpbml0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnQucGxhY2VEZWZpbml0aW9uO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYXN5bmMgY2FuRGVhY3RpdmF0ZShjdXJyZW50VXJsOiBVcmxTbmFwc2hvdCwgbmV4dFN0YXRlOiBVcmxTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFNuYXBzaG90PiB7XG4gICAgLy8gV2UnbGwgZ2V0IGNhbGxlZCBtdWx0aXBsZSB0aW1lcyBpZiB0aGVyZSdzIGFueSBwYXJhbWV0ZXIgc2FuaXRpc2F0aW9uIHNvXG4gICAgLy8gd2UgYWx3YXlzIHJldHVybiB0cnVlIGlmIHdlIGFjY2VwdGVkIHByb21pc2UgZnJvbSBhIHByZXZpb3VzIGN5Y2xlIG9mIHRoZSBjdXJyZW50XG4gICAgLy8gbmF2aWdhdGlvbiBzZXNzaW9uLlxuICAgIGlmICghdGhpcy5jYW5EZWFjdGl2YXRlUHJvbWlzZSkge1xuICAgICAgLy8gY29uc29sZS5sb2coYGNyZWF0aW5nIGRlYWN0aXZhdGUgcHJvbWlzZSBmb3IgLT4gJHt0aGlzLmNvbXBvbmVudC5jb25zdHJ1Y3Rvci5uYW1lfWApO1xuICAgICAgdGhpcy5jYW5EZWFjdGl2YXRlUHJvbWlzZSA9IHRoaXMuY2FuRGVhY3RpdmF0ZUNvbXBvbmVudChjdXJyZW50VXJsLCBuZXh0U3RhdGUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jYW5EZWFjdGl2YXRlUHJvbWlzZTtcbiAgfVxuXG5cbiAgLy8gQFRyYWNlKClcbiAgcHJvdGVjdGVkIGFzeW5jIGNhbkRlYWN0aXZhdGVDb21wb25lbnQoY3VycmVudFVybDogVXJsU25hcHNob3QsIG5leHRTdGF0ZTogVXJsU25hcHNob3QpOiBQcm9taXNlPFVybFNuYXBzaG90IHwgYm9vbGVhbj4ge1xuICAgIC8vIEF1dG9tYXRpY2FsbHkgY2FuY2VsIGFueSBhY3RpdmUgYWN0aXZpdGllcyBpZiB0aGUgbmF2aWdhdGlvbiBzZXNzaW9uIHdhcyB0cmlnZ2VyZWQgYnkgdGhlIGJhY2sgYnV0dG9uLlxuICAgIC8vIElmIHdlIGhhbmRsZWQgbW9yZSB0aGFuIGp1c3QgdGhlIHBvcCBzdGF0ZSB0aGVuIGl0IGxlYWRzIHRvIHRoZSBVSSBpZ25vcmluZyBjbGlja3MgYW5kIGp1c3QgY2FuY2VsbGluZyB0aGluZ3Mgd2hpY2ggaXMgZGVlcGx5IGRpc2NvbmNlcnRpbmcuXG4gICAgaWYgKHRoaXMubmF2aWdhdGlvblNlc3Npb24uaXNQb3BTdGF0ZSkge1xuXG4gICAgICBpZiAodGhpcy5pc1ByaW1hcnlDb21wb25lbnQgJiYgdGhpcy5yb3V0ZXJJbnRlcmFjdGlvbkFkYXB0ZXIuaXNNb2RhbEFjdGl2ZSgpKSB7XG4gICAgICAgIGNvbnN0IHJvdXRlSWRzID0gdGhpcy51cmxTZXJ2aWNlLmdldEFjdGl2ZUludGVyYWN0aW9uSWRzRnJvbVVybChuZXh0U3RhdGUudXJsKTtcbiAgICAgICAgY29uc3QgY3VycmVudElkcyA9IHRoaXMucm91dGVySW50ZXJhY3Rpb25BZGFwdGVyLmdldEFjdGl2ZUludGVyYWN0aW9uQ29udGV4dElkcygpO1xuICAgICAgICBpZiAoIWlzRXF1YWwoY3VycmVudElkcywgcm91dGVJZHMpKSB7IC8vIHdoeSBhbSBJIGNoZWNraW5nIHRoaXM/Pz8/XG4gICAgICAgICAgYXdhaXQgdGhpcy5yb3V0ZXJJbnRlcmFjdGlvbkFkYXB0ZXIuY2FuY2VsQ3VycmVudE1vZGFsSW50ZXJhY3Rpb24oKTtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGNoZWNrIGlmIHRoZSBjb21wb25lbnQgaGFzIGFuIGluIHBsYWNlIGludGVyYWN0aW9uXG4gICAgICAgIGlmICh0aGlzLnJvdXRlckludGVyYWN0aW9uQWRhcHRlci5pc0NvbXBvbmVudEludGVyYWN0aW5nKHRoaXMuY29tcG9uZW50KSkge1xuICAgICAgICAgIGF3YWl0IHRoaXMucm91dGVySW50ZXJhY3Rpb25BZGFwdGVyLmNhbmNlbENvbXBvbmVudEludGVyYWN0aW9uKHRoaXMuY29tcG9uZW50KTtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBObyBpbnRlcmFjdGlvbiBpbiBwcm9ncmVzcywgc28gYXNrIHRoZSBjb21wb25lbnQgLlxuICAgIC8vIFRoaXMgbWF5IHN0YXJ0IGFuIGludGVyYWN0aW9uLCBoZW5jZSBjaGVja2luZyB0aGUgaW50ZXJhY3Rpb24gY29udGV4dCBiZWZvcmUgbm93LiBJLmUuIGlmIHRoZSBwbGFjZSBwb3BzIHVwIHRoZSBkaWFsb2csIGFuZFxuICAgIC8vIHRoZSB1c2VyIGNsaWNrcyBiYWNrIGFnYWluLCB3ZSdsbCByZS1lbnRlciBoZXJlIGFuZCBnbyBiYW5nIHdoZW4gdGhlIGNvbXBvbmVudCB0cmllcyB0byBvcGVuIGFub3RoZXIgZGlhbG9nLlxuICAgIGlmICh0aGlzLmlzR29pbmdUb0FEaWZmZXJlbnRQbGFjZShuZXh0U3RhdGUpKSB7XG4gICAgICBjb25zdCBjYW5MZWF2ZSA9IGF3YWl0IHRoaXMuY29tcG9uZW50Ll9jYW5MZWF2ZVBsYWNlKHRoaXMubmF2aWdhdGlvblNlc3Npb24uY2FuRGVhY3RpdmF0ZUludGVyYWN0aW9uQ29udGV4dCk7XG4gICAgICAvLyBUaGUgY29tcG9uZW50IGhhcyBhbiBhY3RpdmUgaW50ZXJhY3Rpb24gYnV0IG5vIGRlYWN0aXZhdGlvbiBob29rLiAgUmF0aGVyIHRoYW4gZ3Vlc3Npbmcgd2hhdCB0byBkb1xuICAgICAgLy8gd2UnbGwganVzdCBjYW5jZWwgdGhlIG5hdmlnYXRpb24gYW5kIHByaW50IGEgd2FybmluZy5cbiAgICAgIGlmIChjYW5MZWF2ZSAmJiB0aGlzLnJvdXRlckludGVyYWN0aW9uQWRhcHRlci5pc0NvbXBvbmVudEludGVyYWN0aW5nKHRoaXMuY29tcG9uZW50KSkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1JvdXRlIGNoYW5nZWQgd2hpbGUgY29tcG9uZW50IGhhcyBhY3RpdmUgaW50ZXJhY3Rpb24sIGNhbmNlbGxpbmcgbmF2aWdhdGlvbicpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjYW5MZWF2ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gZWl0aGVyIGFuIGludGVyYWN0aW9uIG9yIHZpc2l0IHBhcmFtZXRlciBjaGFuZ2UuXG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5jb21wb25lbnQuX2NhbkNoYW5nZVJvdXRlUGFyYW1ldGVycyh0aGlzLm5hdmlnYXRpb25TZXNzaW9uLmNhbkRlYWN0aXZhdGVJbnRlcmFjdGlvbkNvbnRleHQsIG5leHRTdGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGlzR29pbmdUb0FEaWZmZXJlbnRQbGFjZShuZXh0U3RhdGU6IFVybFNuYXBzaG90KSB7XG4gICAgLy8gQmVjYXVzZSBwbGFjZXMgd2l0aCBhIHJvdXRlLWlkIGNvdmVyIHR3byByb3V0ZSBzZWdtZW50cyB3ZSBnZXQgYXNrZWQgdG8gZGVhY3RpdmF0ZVxuICAgIC8vIGlmIHRoZSByb3V0ZSBpZCBpcyBhZGRlZCBvciByZW1vdmVkLiAgU28gaWYgb3VyIHBhdGggaXMgc3RpbGwgcHJlc2VudCB0aGUgdXJsXG4gICAgLy8gdGhlbiB3ZSBzaG91bGRuJ3QgZGVhY3RpdmF0ZSB0aGUgcGxhY2UuXG4gICAgcmV0dXJuICFuZXh0U3RhdGUuaW5jbHVkZXNQYXRoT2YodGhpcy5jb21wb25lbnQucGxhY2VEZWZpbml0aW9uKTtcbiAgfVxufVxuIl19
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LWRlYWN0aXZhdGlvbi1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvbmF2aWdhdGlvbi9wbGFjZS1jb21wb25lbnQtZGVhY3RpdmF0aW9uLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFTLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFNakM7Ozs7OztHQU1HO0FBQ0gsTUFBTSxPQUFPLGlDQUFpQztJQUl2QjtJQUFvQztJQUErQztJQUZoRyxvQkFBb0IsQ0FBaUM7SUFFN0QsWUFBcUIsU0FBeUIsRUFBVyxpQkFBb0MsRUFBVyxrQkFBMkI7UUFBOUcsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFBVyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQVcsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFTO1FBQ2pJLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksd0JBQXdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLHlCQUF5QixDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxXQUFXO0lBQ1gsS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUF1QixFQUFFLFNBQXNCO1FBQ2pFLDJFQUEyRTtRQUMzRSxvRkFBb0Y7UUFDcEYsc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDOUIsd0ZBQXdGO1lBQ3hGLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQ2hGO1FBQ0QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUdELFdBQVc7SUFDRCxLQUFLLENBQUMsc0JBQXNCLENBQUMsVUFBdUIsRUFBRSxTQUFzQjtRQUNwRix5R0FBeUc7UUFDekcsK0lBQStJO1FBQy9JLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRTtZQUVyQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxFQUFFLEVBQUU7Z0JBQzVFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvRSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsOEJBQThCLEVBQUUsQ0FBQztnQkFDbEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSw2QkFBNkI7b0JBQ2pFLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLDZCQUE2QixFQUFFLENBQUM7b0JBQ3BFLE9BQU8sS0FBSyxDQUFDO2lCQUNkO2FBQ0Y7aUJBQU07Z0JBQ0wscURBQXFEO2dCQUNyRCxJQUFJLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQ3hFLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDL0UsT0FBTyxLQUFLLENBQUM7aUJBQ2Q7YUFDRjtTQUNGO1FBRUQscURBQXFEO1FBQ3JELDhIQUE4SDtRQUM5SCwrR0FBK0c7UUFDL0csSUFBSSxJQUFJLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDNUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsK0JBQStCLENBQUMsQ0FBQztZQUM3RyxxR0FBcUc7WUFDckcsd0RBQXdEO1lBQ3hELElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ3BGLE9BQU8sQ0FBQyxJQUFJLENBQUMsNkVBQTZFLENBQUMsQ0FBQztnQkFDNUYsT0FBTyxLQUFLLENBQUM7YUFDZDtZQUVELE9BQU8sUUFBUSxDQUFDO1NBQ2pCO2FBQU07WUFDTCxtREFBbUQ7WUFDbkQsT0FBTyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLCtCQUErQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQzFIO0lBQ0gsQ0FBQztJQUVTLHdCQUF3QixDQUFDLFNBQXNCO1FBQ3ZELHFGQUFxRjtRQUNyRixnRkFBZ0Y7UUFDaEYsMENBQTBDO1FBQzFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhY2UsIGFzc2VydCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBQbGFjZUNvbXBvbmVudCB9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuLi9wbGFjZS1kZWZpbml0aW9uJztcbmltcG9ydCB7IFVybFNuYXBzaG90IH0gZnJvbSAnLi4vdXJsLXNuYXBzaG90JztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXNzaW9uIH0gZnJvbSAnLi9zZXNzaW9uL25hdmlnYXRpb24tc2Vzc2lvbic7XG5cbi8qKlxuICogVGhpcyBjbGFzcyBoYW5kbGVzIHRoZSBsb2dpYyBhcm91bmQgY2FuRGVhY3RpdmF0ZSBmb3IgYSBnaXZlbiByb3V0ZXIgc3RhdGUgdHJhbnNpdGlvbi4gIEl0J3MgY29yZSByZXNwb25zaWJpbGl0aWVzIGFyZTpcbiAqIDEuIEVuc3VyZSB3ZSBvbmx5IGFzayB0aGUgY29tcG9uZW50IHRvIGRlYWN0aXZhdGUgb25jZSBvbiBhIGdpdmVuIG5hdmlnYXRpb24gY3ljbGUgKHNpbmNlIHZpc2l0IHNhbml0aXNhdGlvbiBjYW4gcmVzdWx0IGluIG11bHRpcGxlIHJvdW5kIHRyaXBzIHRvIHRocm91Z2ggdGhlIHJvdXRlci4pXG4gKiAyLiBFbnN1cmUgb25seSB0aGUgcHJpbWFyeSBwbGFjZSBjb21wb25lbnQgaXMgYXNrZWQgd2hlbiB0aGVyZSBhcmUgbmVzdGVkIHBsYWNlcy4gIFRoZSBwcmltYXJ5IGNvbXBvbmVudCBpcyB0aGUgb25lIGF0IHRoZSB0b3BcbiAqICAgIG9mIHRoZSByb3V0aW5nIGNoYW5nZSB0cmVlLlxuICogMy4gQXV0b21hdGljYWxseSBoYW5kbGUgc3RhbmRhcmQgaW50ZXJhY3Rpb24gc2NlbmFyaW9zIG9uIHRoZSBjb21wb25lbnRzIGJlaGFsZi5cbiAqL1xuZXhwb3J0IGNsYXNzIFBsYWNlQ29tcG9uZW50RGVhY3RpdmF0aW9uSGFuZGxlciB7XG5cbiAgcHJpdmF0ZSBjYW5EZWFjdGl2YXRlUHJvbWlzZTogUHJvbWlzZTxib29sZWFuIHwgVXJsU25hcHNob3Q+O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIHJlYWRvbmx5IG5hdmlnYXRpb25TZXNzaW9uOiBOYXZpZ2F0aW9uU2Vzc2lvbiwgcmVhZG9ubHkgaXNQcmltYXJ5Q29tcG9uZW50OiBib29sZWFuKSB7XG4gICAgYXNzZXJ0Lm5vdE5pbChjb21wb25lbnQpO1xuICB9XG5cbiAgZ2V0IHJvdXRlckludGVyYWN0aW9uQWRhcHRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbi5pbnRlcmFjdGlvblNlcnZpY2VBZGFwdGVyO1xuICB9XG5cbiAgZ2V0IHVybFNlcnZpY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvblNlc3Npb24udXJsU2VydmljZTtcbiAgfVxuXG4gIGdldCBwbGFjZURlZmluaXRpb24oKTpQbGFjZURlZmluaXRpb24ge1xuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudC5wbGFjZURlZmluaXRpb247XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBhc3luYyBjYW5EZWFjdGl2YXRlKGN1cnJlbnRVcmw6IFVybFNuYXBzaG90LCBuZXh0U3RhdGU6IFVybFNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuIHwgVXJsU25hcHNob3Q+IHtcbiAgICAvLyBXZSdsbCBnZXQgY2FsbGVkIG11bHRpcGxlIHRpbWVzIGlmIHRoZXJlJ3MgYW55IHBhcmFtZXRlciBzYW5pdGlzYXRpb24gc29cbiAgICAvLyB3ZSBhbHdheXMgcmV0dXJuIHRydWUgaWYgd2UgYWNjZXB0ZWQgcHJvbWlzZSBmcm9tIGEgcHJldmlvdXMgY3ljbGUgb2YgdGhlIGN1cnJlbnRcbiAgICAvLyBuYXZpZ2F0aW9uIHNlc3Npb24uXG4gICAgaWYgKCF0aGlzLmNhbkRlYWN0aXZhdGVQcm9taXNlKSB7XG4gICAgICAvLyBjb25zb2xlLmxvZyhgY3JlYXRpbmcgZGVhY3RpdmF0ZSBwcm9taXNlIGZvciAtPiAke3RoaXMuY29tcG9uZW50LmNvbnN0cnVjdG9yLm5hbWV9YCk7XG4gICAgICB0aGlzLmNhbkRlYWN0aXZhdGVQcm9taXNlID0gdGhpcy5jYW5EZWFjdGl2YXRlQ29tcG9uZW50KGN1cnJlbnRVcmwsIG5leHRTdGF0ZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNhbkRlYWN0aXZhdGVQcm9taXNlO1xuICB9XG5cblxuICAvLyBAVHJhY2UoKVxuICBwcm90ZWN0ZWQgYXN5bmMgY2FuRGVhY3RpdmF0ZUNvbXBvbmVudChjdXJyZW50VXJsOiBVcmxTbmFwc2hvdCwgbmV4dFN0YXRlOiBVcmxTbmFwc2hvdCk6IFByb21pc2U8VXJsU25hcHNob3QgfCBib29sZWFuPiB7XG4gICAgLy8gQXV0b21hdGljYWxseSBjYW5jZWwgYW55IGFjdGl2ZSBhY3Rpdml0aWVzIGlmIHRoZSBuYXZpZ2F0aW9uIHNlc3Npb24gd2FzIHRyaWdnZXJlZCBieSB0aGUgYmFjayBidXR0b24uXG4gICAgLy8gSWYgd2UgaGFuZGxlZCBtb3JlIHRoYW4ganVzdCB0aGUgcG9wIHN0YXRlIHRoZW4gaXQgbGVhZHMgdG8gdGhlIFVJIGlnbm9yaW5nIGNsaWNrcyBhbmQganVzdCBjYW5jZWxsaW5nIHRoaW5ncyB3aGljaCBpcyBkZWVwbHkgZGlzY29uY2VydGluZy5cbiAgICBpZiAodGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbi5pc1BvcFN0YXRlKSB7XG5cbiAgICAgIGlmICh0aGlzLmlzUHJpbWFyeUNvbXBvbmVudCAmJiB0aGlzLnJvdXRlckludGVyYWN0aW9uQWRhcHRlci5pc01vZGFsQWN0aXZlKCkpIHtcbiAgICAgICAgY29uc3Qgcm91dGVJZHMgPSB0aGlzLnVybFNlcnZpY2UuZ2V0QWN0aXZlSW50ZXJhY3Rpb25JZHNGcm9tVXJsKG5leHRTdGF0ZS51cmwpO1xuICAgICAgICBjb25zdCBjdXJyZW50SWRzID0gdGhpcy5yb3V0ZXJJbnRlcmFjdGlvbkFkYXB0ZXIuZ2V0QWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0SWRzKCk7XG4gICAgICAgIGlmICghaXNFcXVhbChjdXJyZW50SWRzLCByb3V0ZUlkcykpIHsgLy8gd2h5IGFtIEkgY2hlY2tpbmcgdGhpcz8/Pz9cbiAgICAgICAgICBhd2FpdCB0aGlzLnJvdXRlckludGVyYWN0aW9uQWRhcHRlci5jYW5jZWxDdXJyZW50TW9kYWxJbnRlcmFjdGlvbigpO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gY2hlY2sgaWYgdGhlIGNvbXBvbmVudCBoYXMgYW4gaW4gcGxhY2UgaW50ZXJhY3Rpb25cbiAgICAgICAgaWYgKHRoaXMucm91dGVySW50ZXJhY3Rpb25BZGFwdGVyLmlzQ29tcG9uZW50SW50ZXJhY3RpbmcodGhpcy5jb21wb25lbnQpKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5yb3V0ZXJJbnRlcmFjdGlvbkFkYXB0ZXIuY2FuY2VsQ29tcG9uZW50SW50ZXJhY3Rpb24odGhpcy5jb21wb25lbnQpO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5vIGludGVyYWN0aW9uIGluIHByb2dyZXNzLCBzbyBhc2sgdGhlIGNvbXBvbmVudCAuXG4gICAgLy8gVGhpcyBtYXkgc3RhcnQgYW4gaW50ZXJhY3Rpb24sIGhlbmNlIGNoZWNraW5nIHRoZSBpbnRlcmFjdGlvbiBjb250ZXh0IGJlZm9yZSBub3cuIEkuZS4gaWYgdGhlIHBsYWNlIHBvcHMgdXAgdGhlIGRpYWxvZywgYW5kXG4gICAgLy8gdGhlIHVzZXIgY2xpY2tzIGJhY2sgYWdhaW4sIHdlJ2xsIHJlLWVudGVyIGhlcmUgYW5kIGdvIGJhbmcgd2hlbiB0aGUgY29tcG9uZW50IHRyaWVzIHRvIG9wZW4gYW5vdGhlciBkaWFsb2cuXG4gICAgaWYgKHRoaXMuaXNHb2luZ1RvQURpZmZlcmVudFBsYWNlKG5leHRTdGF0ZSkpIHtcbiAgICAgIGNvbnN0IGNhbkxlYXZlID0gYXdhaXQgdGhpcy5jb21wb25lbnQuX2NhbkxlYXZlUGxhY2UodGhpcy5uYXZpZ2F0aW9uU2Vzc2lvbi5jYW5EZWFjdGl2YXRlSW50ZXJhY3Rpb25Db250ZXh0KTtcbiAgICAgIC8vIFRoZSBjb21wb25lbnQgaGFzIGFuIGFjdGl2ZSBpbnRlcmFjdGlvbiBidXQgbm8gZGVhY3RpdmF0aW9uIGhvb2suICBSYXRoZXIgdGhhbiBndWVzc2luZyB3aGF0IHRvIGRvXG4gICAgICAvLyB3ZSdsbCBqdXN0IGNhbmNlbCB0aGUgbmF2aWdhdGlvbiBhbmQgcHJpbnQgYSB3YXJuaW5nLlxuICAgICAgaWYgKGNhbkxlYXZlICYmIHRoaXMucm91dGVySW50ZXJhY3Rpb25BZGFwdGVyLmlzQ29tcG9uZW50SW50ZXJhY3RpbmcodGhpcy5jb21wb25lbnQpKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignUm91dGUgY2hhbmdlZCB3aGlsZSBjb21wb25lbnQgaGFzIGFjdGl2ZSBpbnRlcmFjdGlvbiwgY2FuY2VsbGluZyBuYXZpZ2F0aW9uJyk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNhbkxlYXZlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBlaXRoZXIgYW4gaW50ZXJhY3Rpb24gb3IgdmlzaXQgcGFyYW1ldGVyIGNoYW5nZS5cbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmNvbXBvbmVudC5fY2FuQ2hhbmdlUm91dGVQYXJhbWV0ZXJzKHRoaXMubmF2aWdhdGlvblNlc3Npb24uY2FuRGVhY3RpdmF0ZUludGVyYWN0aW9uQ29udGV4dCwgbmV4dFN0YXRlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNHb2luZ1RvQURpZmZlcmVudFBsYWNlKG5leHRTdGF0ZTogVXJsU25hcHNob3QpIHtcbiAgICAvLyBCZWNhdXNlIHBsYWNlcyB3aXRoIGEgcm91dGUtaWQgY292ZXIgdHdvIHJvdXRlIHNlZ21lbnRzIHdlIGdldCBhc2tlZCB0byBkZWFjdGl2YXRlXG4gICAgLy8gaWYgdGhlIHJvdXRlIGlkIGlzIGFkZGVkIG9yIHJlbW92ZWQuICBTbyBpZiBvdXIgcGF0aCBpcyBzdGlsbCBwcmVzZW50IHRoZSB1cmxcbiAgICAvLyB0aGVuIHdlIHNob3VsZG4ndCBkZWFjdGl2YXRlIHRoZSBwbGFjZS5cbiAgICByZXR1cm4gIW5leHRTdGF0ZS5pbmNsdWRlc1BhdGhPZih0aGlzLmNvbXBvbmVudC5wbGFjZURlZmluaXRpb24pO1xuICB9XG59XG4iXX0=
@@ -12,4 +12,4 @@ export class AbstractPopStateNavigation extends NavigationSession {
12
12
  super.repairBrowserHistoryAndUrlAfterGuardCancellation(this.poppedHistoryUrl, this.startingUrl);
13
13
  }
14
14
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcG9wLXN0YXRlLW5hdmlnYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9uYXZpZ2F0aW9uL3Nlc3Npb24vYWJzdHJhY3QtcG9wLXN0YXRlLW5hdmlnYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFdkQsTUFBTSxPQUFnQiwwQkFBMkIsU0FBUSxpQkFBaUI7SUFJRjtJQUg3RCxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ2xCLGlCQUFpQixHQUFHLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFFakUsWUFBWSxPQUEwQixFQUFFLFdBQW1CLEVBQVcsZ0JBQXdCO1FBQzVGLEtBQUssQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFEd0MscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFRO0lBRTlGLENBQUM7SUFFRCxXQUFXO0lBQ0YsZ0RBQWdEO1FBQ3ZELEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ2pHLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtOYXZpZ2F0aW9uQ29udGV4dH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHtOYXZpZ2F0aW9uU2Vzc2lvbn0gZnJvbSAnLi9uYXZpZ2F0aW9uLXNlc3Npb24nO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RQb3BTdGF0ZU5hdmlnYXRpb24gZXh0ZW5kcyBOYXZpZ2F0aW9uU2Vzc2lvbiB7XG4gIHJlYWRvbmx5IGlzUG9wU3RhdGUgPSB0cnVlO1xuICBvdmVycmlkZSBkZWJ1Z1Byb3BlcnR5S2V5cyA9IFsnc3RhcnRpbmdVcmwnLCAncG9wcGVkSGlzdG9yeVVybCddO1xuXG4gIGNvbnN0cnVjdG9yKGNvbnRleHQ6IE5hdmlnYXRpb25Db250ZXh0LCBzdGFydGluZ1VybDogc3RyaW5nLCByZWFkb25seSBwb3BwZWRIaXN0b3J5VXJsOiBzdHJpbmcpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdGFydGluZ1VybCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvdmVycmlkZSByZXBhaXJCcm93c2VySGlzdG9yeUFuZFVybEFmdGVyR3VhcmRDYW5jZWxsYXRpb24oKTogdm9pZCB7XG4gICAgc3VwZXIucmVwYWlyQnJvd3Nlckhpc3RvcnlBbmRVcmxBZnRlckd1YXJkQ2FuY2VsbGF0aW9uKHRoaXMucG9wcGVkSGlzdG9yeVVybCwgdGhpcy5zdGFydGluZ1VybClcbiAgfVxuXG59XG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcG9wLXN0YXRlLW5hdmlnYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9uYXZpZ2F0aW9uL3Nlc3Npb24vYWJzdHJhY3QtcG9wLXN0YXRlLW5hdmlnYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQsTUFBTSxPQUFnQiwwQkFBMkIsU0FBUSxpQkFBaUI7SUFJRjtJQUg3RCxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ2xCLGlCQUFpQixHQUFHLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFFakUsWUFBWSxPQUEwQixFQUFFLFdBQW1CLEVBQVcsZ0JBQXdCO1FBQzVGLEtBQUssQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFEd0MscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFRO0lBRTlGLENBQUM7SUFFRCxXQUFXO0lBQ0YsZ0RBQWdEO1FBQ3ZELEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ2pHLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ2dlciwgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uQ29udGV4dCB9IGZyb20gJy4vbmF2aWdhdGlvbi1jb250ZXh0JztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXNzaW9uIH0gZnJvbSAnLi9uYXZpZ2F0aW9uLXNlc3Npb24nO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RQb3BTdGF0ZU5hdmlnYXRpb24gZXh0ZW5kcyBOYXZpZ2F0aW9uU2Vzc2lvbiB7XG4gIHJlYWRvbmx5IGlzUG9wU3RhdGUgPSB0cnVlO1xuICBvdmVycmlkZSBkZWJ1Z1Byb3BlcnR5S2V5cyA9IFsnc3RhcnRpbmdVcmwnLCAncG9wcGVkSGlzdG9yeVVybCddO1xuXG4gIGNvbnN0cnVjdG9yKGNvbnRleHQ6IE5hdmlnYXRpb25Db250ZXh0LCBzdGFydGluZ1VybDogc3RyaW5nLCByZWFkb25seSBwb3BwZWRIaXN0b3J5VXJsOiBzdHJpbmcpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdGFydGluZ1VybCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvdmVycmlkZSByZXBhaXJCcm93c2VySGlzdG9yeUFuZFVybEFmdGVyR3VhcmRDYW5jZWxsYXRpb24oKTogdm9pZCB7XG4gICAgc3VwZXIucmVwYWlyQnJvd3Nlckhpc3RvcnlBbmRVcmxBZnRlckd1YXJkQ2FuY2VsbGF0aW9uKHRoaXMucG9wcGVkSGlzdG9yeVVybCwgdGhpcy5zdGFydGluZ1VybClcbiAgfVxuXG59XG4iXX0=
@@ -5,4 +5,4 @@ export class EventCleanUpSession extends NavigationSession {
5
5
  lang.illegalState('onCanDeactivateInteractionCancelled not supported for event clean up states');
6
6
  }
7
7
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtY2xlYW4tdXAtc2Vzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL25hdmlnYXRpb24vc2Vzc2lvbi9ldmVudC1jbGVhbnVwL2V2ZW50LWNsZWFuLXVwLXNlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRXhELE1BQU0sT0FBZ0IsbUJBQW9CLFNBQVEsaUJBQWlCO0lBR2pFLHlDQUF5QyxDQUFDLE1BQWM7UUFDdEQsSUFBSSxDQUFDLFlBQVksQ0FBQyw2RUFBNkUsQ0FBQyxDQUFDO0lBQ25HLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bGFuZ30gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQge05hdmlnYXRpb25TZXNzaW9ufSBmcm9tICcuLi9uYXZpZ2F0aW9uLXNlc3Npb24nO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRXZlbnRDbGVhblVwU2Vzc2lvbiBleHRlbmRzIE5hdmlnYXRpb25TZXNzaW9uIHtcblxuXG4gIGhhbmRsZUNhbkRlYWN0aXZhdGVDYW5jZWxsZWRFdmVudFNjZW5hcmlvKG5ld1VybDogc3RyaW5nKTogdm9pZCB7XG4gICAgbGFuZy5pbGxlZ2FsU3RhdGUoJ29uQ2FuRGVhY3RpdmF0ZUludGVyYWN0aW9uQ2FuY2VsbGVkIG5vdCBzdXBwb3J0ZWQgZm9yIGV2ZW50IGNsZWFuIHVwIHN0YXRlcycpO1xuICB9XG5cbn1cbiJdfQ==
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtY2xlYW4tdXAtc2Vzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL25hdmlnYXRpb24vc2Vzc2lvbi9ldmVudC1jbGVhbnVwL2V2ZW50LWNsZWFuLXVwLXNlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE1BQU0sT0FBZ0IsbUJBQW9CLFNBQVEsaUJBQWlCO0lBR2pFLHlDQUF5QyxDQUFDLE1BQWM7UUFDdEQsSUFBSSxDQUFDLFlBQVksQ0FBQyw2RUFBNkUsQ0FBQyxDQUFDO0lBQ25HLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxhbmcgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXNzaW9uIH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1zZXNzaW9uJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEV2ZW50Q2xlYW5VcFNlc3Npb24gZXh0ZW5kcyBOYXZpZ2F0aW9uU2Vzc2lvbiB7XG5cblxuICBoYW5kbGVDYW5EZWFjdGl2YXRlQ2FuY2VsbGVkRXZlbnRTY2VuYXJpbyhuZXdVcmw6IHN0cmluZyk6IHZvaWQge1xuICAgIGxhbmcuaWxsZWdhbFN0YXRlKCdvbkNhbkRlYWN0aXZhdGVJbnRlcmFjdGlvbkNhbmNlbGxlZCBub3Qgc3VwcG9ydGVkIGZvciBldmVudCBjbGVhbiB1cCBzdGF0ZXMnKTtcbiAgfVxuXG59XG4iXX0=
@@ -42,4 +42,4 @@ export class WaitUntilLeavingInteractionTransitionCancelled extends EventCleanUp
42
42
  return false;
43
43
  }
44
44
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC11bnRpbC1sZWF2aW5nLWludGVyYWN0aW9uLXRyYW5zaXRpb24tY2FuY2VsbGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvbmF2aWdhdGlvbi9zZXNzaW9uL2V2ZW50LWNsZWFudXAvd2FpdC11bnRpbC1sZWF2aW5nLWludGVyYWN0aW9uLXRyYW5zaXRpb24tY2FuY2VsbGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRTdEOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyw4Q0FBK0MsU0FBUSxtQkFBbUI7SUFVaEU7SUFSWixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzVCLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUMzQixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLGdCQUFnQixDQUFTO0lBQ2hCLGlCQUFpQixHQUFHLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSwwQkFBMEIsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBRWxLLFlBQVksT0FBMEIsRUFDMUIsV0FBbUIsRUFDVix3QkFBZ0M7UUFDbkQsS0FBSyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztRQURULDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBUTtJQUVyRCxDQUFDO0lBRUQsV0FBVztJQUNGLGVBQWUsQ0FBQyxLQUFzQjtRQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO0lBQ0YsaUJBQWlCLENBQUMsS0FBdUI7UUFDaEQsSUFBSSxDQUFDLGdEQUFnRCxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxXQUFXO0lBQ0YsV0FBVyxDQUFDLEtBQW9CO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7SUFDRixhQUFhLENBQUMsS0FBc0I7UUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVztJQUNGLFVBQVUsQ0FBQyxLQUFzQjtRQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFUSxLQUFLLENBQUMsa0JBQWtCLENBQUMsU0FBeUIsRUFBRSxVQUF1QixFQUFFLE9BQW9CO1FBQ3hHLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOYXZpZ2F0aW9uQ2FuY2VsLCBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uRXJyb3IsIE5hdmlnYXRpb25TdGFydH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB0eXBlIHtQbGFjZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB0eXBlIHtVcmxTbmFwc2hvdH0gZnJvbSAnLi4vLi4vLi4vdXJsLXNuYXBzaG90JztcbmltcG9ydCB0eXBlIHtOYXZpZ2F0aW9uQ29udGV4dH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1jb250ZXh0JztcbmltcG9ydCB7RXZlbnRDbGVhblVwU2Vzc2lvbn0gZnJvbSAnLi9ldmVudC1jbGVhbi11cC1zZXNzaW9uJztcblxuLyoqXG4gKiBUaGUgc2VxdWVuY2Ugb2Ygcm91dGVyIGV2ZW50cyBhcmU6XG4gKiBOYXZpZ2F0aW9uRXJyb3IgLT4gdXJsID0gdXJsIG9mIG5hdmlnYXRpb24gbGlua1xuICogTmF2aWdhdGlvbkVuZFxuICogb25Qb3BTdGF0ZSB1cmwgPSBPdXIgY3VycmVudFVybCBzYW5zIGFuZCBpbnRlcmFjdGlvbiBxdWVyeSBwYXJhbXNcbiAqIE5hdmlnYXRpb25DYW5jZWwgdXJsID09IHNhbWUgYXMgYWJvdmUuXG4gKi9cbmV4cG9ydCBjbGFzcyBXYWl0VW50aWxMZWF2aW5nSW50ZXJhY3Rpb25UcmFuc2l0aW9uQ2FuY2VsbGVkIGV4dGVuZHMgRXZlbnRDbGVhblVwU2Vzc2lvbiB7XG5cbiAgcmVhZG9ubHkgaXNQb3BTdGF0ZSA9IGZhbHNlO1xuICBmaXJzdENhbmNlbEhhbmRsZWQgPSBmYWxzZTtcbiAgcG9wU3RhdGVIYW5kbGVkID0gZmFsc2U7XG4gIHBvcFN0YXRlRXZlbnRVcmw6IHN0cmluZztcbiAgb3ZlcnJpZGUgZGVidWdQcm9wZXJ0eUtleXMgPSBbJ2lkbGUnLCAnc3RhcnRpbmdVcmwnLCAncG9wcGVkSGlzdG9yeVVybCcsICdsb2NhdGlvbkNoYW5nZVRyaWdnZXJVcmwnLCAncG9wU3RhdGVFdmVudFVybCcsICdmaXJzdENhbmNlbEhhbmRsZWQnLCAncG9wU3RhdGVIYW5kbGVkJ107XG5cbiAgY29uc3RydWN0b3IoY29udGV4dDogTmF2aWdhdGlvbkNvbnRleHQsXG4gICAgICAgICAgICAgIHN0YXJ0aW5nVXJsOiBzdHJpbmcsXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGxvY2F0aW9uQ2hhbmdlVHJpZ2dlclVybDogc3RyaW5nKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RhcnRpbmdVcmwpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJTdGFydGVkKGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQpOiB2b2lkIHtcbiAgICB0aGlzLmlnbm9yZShldmVudCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvdmVycmlkZSBvblJvdXRlckNhbmNlbGxlZChldmVudDogTmF2aWdhdGlvbkNhbmNlbCk6IHZvaWQge1xuICAgIHRoaXMucmVwYWlyQnJvd3Nlckhpc3RvcnlBbmRVcmxBZnRlckd1YXJkQ2FuY2VsbGF0aW9uKHRoaXMubG9jYXRpb25DaGFuZ2VUcmlnZ2VyVXJsLCB0aGlzLnN0YXJ0aW5nVXJsKTtcbiAgICB0aGlzLmNvbnRleHQuZmluaXNoUm91dGluZ1Nlc3Npb24oKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG92ZXJyaWRlIG9uUm91dGVyRW5kKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJFcnJvcihldmVudDogTmF2aWdhdGlvbkVycm9yKTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Qb3BTdGF0ZShldmVudDogTmF2aWdhdGlvblN0YXJ0KTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgY2FuRGVhY3RpdmF0ZVBsYWNlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRVcmw6IFVybFNuYXBzaG90LCBuZXh0VXJsOiBVcmxTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFNuYXBzaG90PiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC11bnRpbC1sZWF2aW5nLWludGVyYWN0aW9uLXRyYW5zaXRpb24tY2FuY2VsbGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvbmF2aWdhdGlvbi9zZXNzaW9uL2V2ZW50LWNsZWFudXAvd2FpdC11bnRpbC1sZWF2aW5nLWludGVyYWN0aW9uLXRyYW5zaXRpb24tY2FuY2VsbGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRS9EOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyw4Q0FBK0MsU0FBUSxtQkFBbUI7SUFVaEU7SUFSWixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzVCLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUMzQixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLGdCQUFnQixDQUFTO0lBQ2hCLGlCQUFpQixHQUFHLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSwwQkFBMEIsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBRWxLLFlBQVksT0FBMEIsRUFDMUIsV0FBbUIsRUFDVix3QkFBZ0M7UUFDbkQsS0FBSyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztRQURULDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBUTtJQUVyRCxDQUFDO0lBRUQsV0FBVztJQUNGLGVBQWUsQ0FBQyxLQUFzQjtRQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO0lBQ0YsaUJBQWlCLENBQUMsS0FBdUI7UUFDaEQsSUFBSSxDQUFDLGdEQUFnRCxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxXQUFXO0lBQ0YsV0FBVyxDQUFDLEtBQW9CO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7SUFDRixhQUFhLENBQUMsS0FBc0I7UUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVztJQUNGLFVBQVUsQ0FBQyxLQUFzQjtRQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFUSxLQUFLLENBQUMsa0JBQWtCLENBQUMsU0FBeUIsRUFBRSxVQUF1QixFQUFFLE9BQW9CO1FBQ3hHLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvbkVycm9yLCBOYXZpZ2F0aW9uU3RhcnQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTG9nZ2VyLCBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IFVybFNuYXBzaG90IH0gZnJvbSAnLi4vLi4vLi4vdXJsLXNuYXBzaG90JztcbmltcG9ydCB7IFN5bmNocm9uaXNlSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlIH0gZnJvbSAnLi4vaW50ZXJhY3Rpb25zL3N5bmNocm9uaXNlLWludGVyYWN0aW9uLWNvbnRleHQtaWRzLXdpdGgtcm91dGUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkNvbnRleHQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblNlc3Npb24gfSBmcm9tICcuLi9uYXZpZ2F0aW9uLXNlc3Npb24nO1xuaW1wb3J0IHsgbGFuZyB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgRXZlbnRDbGVhblVwU2Vzc2lvbiB9IGZyb20gJy4vZXZlbnQtY2xlYW4tdXAtc2Vzc2lvbic7XG5cbi8qKlxuICogVGhlIHNlcXVlbmNlIG9mIHJvdXRlciBldmVudHMgYXJlOlxuICogTmF2aWdhdGlvbkVycm9yIC0+IHVybCA9IHVybCBvZiBuYXZpZ2F0aW9uIGxpbmtcbiAqIE5hdmlnYXRpb25FbmRcbiAqIG9uUG9wU3RhdGUgdXJsID0gT3VyIGN1cnJlbnRVcmwgc2FucyBhbmQgaW50ZXJhY3Rpb24gcXVlcnkgcGFyYW1zXG4gKiBOYXZpZ2F0aW9uQ2FuY2VsIHVybCA9PSBzYW1lIGFzIGFib3ZlLlxuICovXG5leHBvcnQgY2xhc3MgV2FpdFVudGlsTGVhdmluZ0ludGVyYWN0aW9uVHJhbnNpdGlvbkNhbmNlbGxlZCBleHRlbmRzIEV2ZW50Q2xlYW5VcFNlc3Npb24ge1xuXG4gIHJlYWRvbmx5IGlzUG9wU3RhdGUgPSBmYWxzZTtcbiAgZmlyc3RDYW5jZWxIYW5kbGVkID0gZmFsc2U7XG4gIHBvcFN0YXRlSGFuZGxlZCA9IGZhbHNlO1xuICBwb3BTdGF0ZUV2ZW50VXJsOiBzdHJpbmc7XG4gIG92ZXJyaWRlIGRlYnVnUHJvcGVydHlLZXlzID0gWydpZGxlJywgJ3N0YXJ0aW5nVXJsJywgJ3BvcHBlZEhpc3RvcnlVcmwnLCAnbG9jYXRpb25DaGFuZ2VUcmlnZ2VyVXJsJywgJ3BvcFN0YXRlRXZlbnRVcmwnLCAnZmlyc3RDYW5jZWxIYW5kbGVkJywgJ3BvcFN0YXRlSGFuZGxlZCddO1xuXG4gIGNvbnN0cnVjdG9yKGNvbnRleHQ6IE5hdmlnYXRpb25Db250ZXh0LFxuICAgICAgICAgICAgICBzdGFydGluZ1VybDogc3RyaW5nLFxuICAgICAgICAgICAgICByZWFkb25seSBsb2NhdGlvbkNoYW5nZVRyaWdnZXJVcmw6IHN0cmluZykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0YXJ0aW5nVXJsKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG92ZXJyaWRlIG9uUm91dGVyU3RhcnRlZChldmVudDogTmF2aWdhdGlvblN0YXJ0KTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJDYW5jZWxsZWQoZXZlbnQ6IE5hdmlnYXRpb25DYW5jZWwpOiB2b2lkIHtcbiAgICB0aGlzLnJlcGFpckJyb3dzZXJIaXN0b3J5QW5kVXJsQWZ0ZXJHdWFyZENhbmNlbGxhdGlvbih0aGlzLmxvY2F0aW9uQ2hhbmdlVHJpZ2dlclVybCwgdGhpcy5zdGFydGluZ1VybCk7XG4gICAgdGhpcy5jb250ZXh0LmZpbmlzaFJvdXRpbmdTZXNzaW9uKCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvdmVycmlkZSBvblJvdXRlckVuZChldmVudDogTmF2aWdhdGlvbkVuZCk6IHZvaWQge1xuICAgIHRoaXMuaWdub3JlKGV2ZW50KTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG92ZXJyaWRlIG9uUm91dGVyRXJyb3IoZXZlbnQ6IE5hdmlnYXRpb25FcnJvcik6IHZvaWQge1xuICAgIHRoaXMuaWdub3JlKGV2ZW50KTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG92ZXJyaWRlIG9uUG9wU3RhdGUoZXZlbnQ6IE5hdmlnYXRpb25TdGFydCk6IHZvaWQge1xuICAgIHRoaXMuaWdub3JlKGV2ZW50KTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGNhbkRlYWN0aXZhdGVQbGFjZShjb21wb25lbnQ6IFBsYWNlQ29tcG9uZW50LCBjdXJyZW50VXJsOiBVcmxTbmFwc2hvdCwgbmV4dFVybDogVXJsU25hcHNob3QpOiBQcm9taXNlPGJvb2xlYW4gfCBVcmxTbmFwc2hvdD4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
@@ -156,4 +156,4 @@ class WaitForLinkDifferentFromBackToPlayOut extends EventCleanUpSession {
156
156
  // RoutesRecognized {id: 7, url: "/home", urlAfterRedirects: "/home", state: RouterStateSnapshot}
157
157
  // ###### Router Event: GuardsCheckStart
158
158
  // GuardsCheckStart(id: 7, url: '/home', urlAfterRedirects: '/home', state: Route(url:'', path:'') { Route(url:'home', path:'home') } )
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC11bnRpbC1saW5rLXRyaWdnZXJlZC1uYXZpZ2F0aW9uLWludGVyYWN0aW9uLWNhbmNlbGF0aW9uLXR5cGUtZGV0ZXJtaW5lZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL25hdmlnYXRpb24vc2Vzc2lvbi9ldmVudC1jbGVhbnVwL3dhaXQtdW50aWwtbGluay10cmlnZ2VyZWQtbmF2aWdhdGlvbi1pbnRlcmFjdGlvbi1jYW5jZWxhdGlvbi10eXBlLWRldGVybWluZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFN0Q7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxPQUFPLHFFQUFzRSxTQUFRLG1CQUFtQjtJQVV2RjtJQVJaLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDNUIsbUJBQW1CLENBQVM7SUFDNUIsZ0JBQWdCLENBQVM7SUFDekIsK0JBQStCLEdBQUcsS0FBSyxDQUFDO0lBQy9CLGlCQUFpQixHQUFHLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxpQ0FBaUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBRXJKLFlBQVksT0FBMEIsRUFDMUIsV0FBbUIsRUFDVixjQUFzQjtRQUN6QyxLQUFLLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRFQsbUJBQWMsR0FBZCxjQUFjLENBQVE7SUFFM0MsQ0FBQztJQUVELFdBQVc7SUFDRixlQUFlLENBQUMsS0FBc0I7UUFDN0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVztJQUNGLGlCQUFpQixDQUFDLEtBQXVCO1FBQ2hELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsY0FB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QUFDeEMsNEZBQTRGO0FBQzVGLHVJQUF1STtBQUN2SSx5Q0FBeUM7QUFDekMsd0lBQXdJO0FBQ3hJLGtHQUFrRztBQUNsRyx5Q0FBeUM7QUFDekMsd0lBQXdJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOYXZpZ2F0aW9uQ2FuY2VsLCBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uRXJyb3IsIE5hdmlnYXRpb25TdGFydH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB0eXBlIHtQbGFjZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB0eXBlIHtVcmxTbmFwc2hvdH0gZnJvbSAnLi4vLi4vLi4vdXJsLXNuYXBzaG90JztcbmltcG9ydCB0eXBlIHtOYXZpZ2F0aW9uQ29udGV4dH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1jb250ZXh0JztcbmltcG9ydCB7RXZlbnRDbGVhblVwU2Vzc2lvbn0gZnJvbSAnLi9ldmVudC1jbGVhbi11cC1zZXNzaW9uJztcblxuLyoqXG4gKiBUaGlzIHN0YXRlIGhhbmRsZXMgdGhlIHNjZW5hcmlvIHdoZXJlIGEgbGluayBuYXZpZ2F0aW9uIHRyaWdnZXJlZCBhbiBpbnRlcmFjdGlvbiBhbmQgdGhlIHVzZXIgY2xpY2tlZCBiYWNrIGEgdG8gY2FuY2VsIGl0LlxuICogVGhlIHJvdXRpbmcgZXZlbnQgc2VxdWVuY2UgaXMgZGlmZmVyZW50IGRlcGVuZGluZyBvbiB0aGUgbGluayB0aGF0IHdhcyBjbGlja2VkLlxuICpcbiAqIE5PVEU6IEluIGFuZ3VsYXIgcHJpb3IgdG8gMTAgdGhlIHNlcXVlbmNlIG9mIHJvdXRpbmcgZXZlbnRzIHdhcyBkaWZmZXJlbnQgZGVwZW5kaW5nIG9uIHRoZSBpbml0aWFsIGxpbmsgdGhhdCB3YXMgY2xpY2tlZC5cbiAqICAgICAgIFRoaXMgY2xhc3MgdXNlZCBoYXZlIHVnbGUgaWYvZWxzZSBjb2RlIHRvIGhhbmRsZSBpdCBhbmQgYSBub3QgdGhhdCBpdCBzaG91bGQgYmUgc3BsaXQgaW50byBzdWIgc3RhdGVzLlxuICogICAgICAgRHVyaW5nIHRoZSB1cGRhdGUgdG8gYW5ndWxhciAxMCBJIGRpZCB0aGlzIChhcyB0aGUgdGVzdHMgZm9yIHRoaXMgc2NlbmFyaW8gd2VyZSBmYWlsaW5ncykuIEFmdGVyIGRvaW5nIHNvXG4gKiAgICAgICBpdCBhcHBlYXJzIHRoYXQgYW5ndWxhciBub3cgYmVoYXZlcyB0aGUgc2FtZSBpbiBib3RoIGNhc2VzLiBCdXQgcmF0aGVyIHRoYXQgcmV2ZXJ0IHRoZSBjaGFuZ2VzIEkndmUgbGVmdCB0aGVcbiAqICAgICAgIHN1Yi1zdGF0ZSBoYW5kbGluZyBpbiBpbiBjYXNlIGl0IGV2ZXIgY29tZXMgYmFjay5cbiAqL1xuZXhwb3J0IGNsYXNzIFdhaXRVbnRpbExpbmtUcmlnZ2VyZWROYXZpZ2F0aW9uSW50ZXJhY3Rpb25DYW5jZWxsYXRpb25UeXBlRGV0ZXJtaW5lZCBleHRlbmRzIEV2ZW50Q2xlYW5VcFNlc3Npb24ge1xuXG4gIHJlYWRvbmx5IGlzUG9wU3RhdGUgPSBmYWxzZTtcbiAgZmlyc3RDYW5jZWxFdmVudFVybDogc3RyaW5nO1xuICBwb3BTdGF0ZUV2ZW50VXJsOiBzdHJpbmc7XG4gIGNsaWNrZWRMaW5rTWF0Y2hlZEJhY2tCdXR0b25VcmwgPSBmYWxzZTtcbiAgb3ZlcnJpZGUgZGVidWdQcm9wZXJ0eUtleXMgPSBbJ2lkbGUnLCAnc3RhcnRpbmdVcmwnLCAnY2xpY2tlZExpbmtVcmwnLCAnZmlyc3RDYW5jZWxFdmVudFVybCcsICdjbGlja2VkTGlua01hdGNoZWRCYWNrQnV0dG9uVXJsJywgJ3BvcFN0YXRlRXZlbnRVcmwnXTtcblxuICBjb25zdHJ1Y3Rvcihjb250ZXh0OiBOYXZpZ2F0aW9uQ29udGV4dCxcbiAgICAgICAgICAgICAgc3RhcnRpbmdVcmw6IHN0cmluZyxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgY2xpY2tlZExpbmtVcmw6IHN0cmluZykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0YXJ0aW5nVXJsKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG92ZXJyaWRlIG9uUm91dGVyU3RhcnRlZChldmVudDogTmF2aWdhdGlvblN0YXJ0KTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJDYW5jZWxsZWQoZXZlbnQ6IE5hdmlnYXRpb25DYW5jZWwpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQudXJsID09PSB0aGlzLmNsaWNrZWRMaW5rVXJsKSB7XG4gICAgICB0aGlzLmNvbnRleHQudHJhbnNpdGlvblRvKG5ldyBXYWl0Rm9yTGlua1NhbWVBc0JhY2tUb1BsYXlPdXQodGhpcy5jb250ZXh0LCB0aGlzLnN0YXJ0aW5nVXJsLCB0aGlzLmNsaWNrZWRMaW5rVXJsKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29udGV4dC50cmFuc2l0aW9uVG8obmV3IFdhaXRGb3JMaW5rRGlmZmVyZW50RnJvbUJhY2tUb1BsYXlPdXQodGhpcy5jb250ZXh0LCB0aGlzLnN0YXJ0aW5nVXJsLCB0aGlzLmNsaWNrZWRMaW5rVXJsKSk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgY2FuRGVhY3RpdmF0ZVBsYWNlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRVcmw6IFVybFNuYXBzaG90LCBuZXh0VXJsOiBVcmxTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFNuYXBzaG90PiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmNsYXNzIFdhaXRGb3JMaW5rU2FtZUFzQmFja1RvUGxheU91dCBleHRlbmRzIEV2ZW50Q2xlYW5VcFNlc3Npb24ge1xuICByZWFkb25seSBpc1BvcFN0YXRlID0gZmFsc2U7XG4gIHBvcFN0YXRlRXZlbnRVcmw6IHN0cmluZztcbiAgb3ZlcnJpZGUgZGVidWdQcm9wZXJ0eUtleXMgPSBbJ2lkbGUnLCAnc3RhcnRpbmdVcmwnLCAnY2xpY2tlZExpbmtVcmwnLCAncG9wU3RhdGVFdmVudFVybCddO1xuXG4gIGNvbnN0cnVjdG9yKGNvbnRleHQ6IE5hdmlnYXRpb25Db250ZXh0LFxuICAgICAgICAgICAgICBzdGFydGluZ1VybDogc3RyaW5nLFxuICAgICAgICAgICAgICByZWFkb25seSBjbGlja2VkTGlua1VybDogc3RyaW5nKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RhcnRpbmdVcmwpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJFbmQoZXZlbnQ6IE5hdmlnYXRpb25FbmQpOiB2b2lkIHtcbiAgICB0aGlzLmlnbm9yZShldmVudCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvdmVycmlkZSBvblJvdXRlckVycm9yKGV2ZW50OiBOYXZpZ2F0aW9uRXJyb3IpOiB2b2lkIHtcbiAgICB0aGlzLmlnbm9yZShldmVudCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvdmVycmlkZSBvblBvcFN0YXRlKGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQpOiB2b2lkIHtcbiAgICB0aGlzLnBvcFN0YXRlRXZlbnRVcmwgPSBldmVudC51cmw7XG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJDYW5jZWxsZWQoZXZlbnQ6IE5hdmlnYXRpb25DYW5jZWwpIHtcbiAgICBpZiAodGhpcy5wb3BTdGF0ZUV2ZW50VXJsKSB7XG4gICAgICB0aGlzLmZpbmFsaXNlUm91dGluZygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGZpbmFsaXNlUm91dGluZygpIHtcbiAgICB0aGlzLnJlcGFpckJyb3dzZXJIaXN0b3J5QW5kVXJsQWZ0ZXJHdWFyZENhbmNlbGxhdGlvbih0aGlzLmNsaWNrZWRMaW5rVXJsLCB0aGlzLnN0YXJ0aW5nVXJsKTtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LmZpbmlzaFJvdXRpbmdTZXNzaW9uKCk7XG4gIH1cblxuXG4gIG92ZXJyaWRlIGFzeW5jIGNhbkRlYWN0aXZhdGVQbGFjZShjb21wb25lbnQ6IFBsYWNlQ29tcG9uZW50LCBjdXJyZW50VXJsOiBVcmxTbmFwc2hvdCwgbmV4dFVybDogVXJsU25hcHNob3QpOiBQcm9taXNlPGJvb2xlYW4gfCBVcmxTbmFwc2hvdD4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG59XG5cbi8vIFNlZSB0aGUgbm90ZSBhYm92ZS4gIFRoaXMgY2xhc3MgaXMgaWRlbnRpY2FsIHRvIHRoZSBwcmV2aW91cyBidXQgSSd2ZSBsZWZ0IGl0IGhlcmUgaW4gY2FzZSBhbmd1bGFyIGRlY2lkZXMgdG9cbi8vIHJvdXRlIGRpZmZlcmVudGx5IGluIHRoaXMgc2NlbmFyaW8gZ29pbmcgZm9yd2FyZC5cbmNsYXNzIFdhaXRGb3JMaW5rRGlmZmVyZW50RnJvbUJhY2tUb1BsYXlPdXQgZXh0ZW5kcyBFdmVudENsZWFuVXBTZXNzaW9uIHtcbiAgcmVhZG9ubHkgaXNQb3BTdGF0ZSA9IGZhbHNlO1xuICBwb3BTdGF0ZUV2ZW50VXJsOiBzdHJpbmc7XG4gIG92ZXJyaWRlIGRlYnVnUHJvcGVydHlLZXlzID0gWydpZGxlJywgJ3N0YXJ0aW5nVXJsJywgJ2NsaWNrZWRMaW5rVXJsJywgJ3BvcFN0YXRlRXZlbnRVcmwnXTtcblxuICBjb25zdHJ1Y3Rvcihjb250ZXh0OiBOYXZpZ2F0aW9uQ29udGV4dCxcbiAgICAgICAgICAgICAgc3RhcnRpbmdVcmw6IHN0cmluZyxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgY2xpY2tlZExpbmtVcmw6IHN0cmluZykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0YXJ0aW5nVXJsKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG92ZXJyaWRlIG9uUm91dGVyRW5kKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJFcnJvcihldmVudDogTmF2aWdhdGlvbkVycm9yKTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Qb3BTdGF0ZShldmVudDogTmF2aWdhdGlvblN0YXJ0KTogdm9pZCB7XG4gICAgdGhpcy5wb3BTdGF0ZUV2ZW50VXJsID0gZXZlbnQudXJsO1xuICAgIHRoaXMuaWdub3JlKGV2ZW50KTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG92ZXJyaWRlIG9uUm91dGVyQ2FuY2VsbGVkKGV2ZW50OiBOYXZpZ2F0aW9uQ2FuY2VsKSB7XG4gICAgaWYgKHRoaXMucG9wU3RhdGVFdmVudFVybCkge1xuICAgICAgdGhpcy5maW5hbGlzZVJvdXRpbmcoKTtcbiAgICB9XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBmaW5hbGlzZVJvdXRpbmcoKSB7XG4gICAgdGhpcy5yZXBhaXJCcm93c2VySGlzdG9yeUFuZFVybEFmdGVyR3VhcmRDYW5jZWxsYXRpb24odGhpcy5jbGlja2VkTGlua1VybCwgdGhpcy5zdGFydGluZ1VybCk7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5maW5pc2hSb3V0aW5nU2Vzc2lvbigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgY2FuRGVhY3RpdmF0ZVBsYWNlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRVcmw6IFVybFNuYXBzaG90LCBuZXh0VXJsOiBVcmxTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFNuYXBzaG90PiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cblxuLy9cbi8vICMjIyBSb3V0ZXIgU3RhdGUgVHJhbnNpdGlvbjogbnVsbCAtPiBOYXZpZ2F0aW5nKHN0YXJ0aW5nVXJsOiAvYWN0aXZpdGllcy9kaWFsb2dzO2w9ZW4sIHVybEFmdGVyUmVkaXJlY3RzOiB1bmRlZmluZWQpXG4vLyAgIyMjICMjIyMjIyBSb3V0ZXIgRXZlbnQ6IE5hdmlnYXRpb25TdGFydFxuLy8gIE5hdmlnYXRpb25TdGFydChpZDogNiwgdXJsOiAnL2hvbWUnKVxuLy8gIE5hdmlnYXRpb25TdGFydCB7aWQ6IDYsIHVybDogXCIvaG9tZVwiLCBuYXZpZ2F0aW9uVHJpZ2dlcjogXCJpbXBlcmF0aXZlXCIsIHJlc3RvcmVkU3RhdGU6IG51bGx9XG4vLyBsb2dnZXIuanM6MzkgSWdub3Jpbmcgcm91dGVyIGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQgLT4gL2hvbWUgOjogTmF2aWdhdGluZyhzdGFydGluZ1VybDogL2FjdGl2aXRpZXMvZGlhbG9ncztsPWVuLCB1cmxBZnRlclJlZGlyZWN0czogdW5kZWZpbmVkKVxuLy8gICMjIyAjIyMjIyMgUm91dGVyIEV2ZW50OiBSb3V0ZXNSZWNvZ25pemVkXG4vLyAgUm91dGVzUmVjb2duaXplZChpZDogNiwgdXJsOiAnL2hvbWUnLCB1cmxBZnRlclJlZGlyZWN0czogJy9ob21lJywgc3RhdGU6IFJvdXRlKHVybDonJywgcGF0aDonJykgeyBSb3V0ZSh1cmw6J2hvbWUnLCBwYXRoOidob21lJykgfSApXG4vLyAgUm91dGVzUmVjb2duaXplZCB7aWQ6IDYsIHVybDogXCIvaG9tZVwiLCB1cmxBZnRlclJlZGlyZWN0czogXCIvaG9tZVwiLCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdH1cbi8vICAjIyMjIyMgUm91dGVyIEV2ZW50OiBHdWFyZHNDaGVja1N0YXJ0XG4vLyAgR3VhcmRzQ2hlY2tTdGFydChpZDogNiwgdXJsOiAnL2hvbWUnLCB1cmxBZnRlclJlZGlyZWN0czogJy9ob21lJywgc3RhdGU6IFJvdXRlKHVybDonJywgcGF0aDonJykgeyBSb3V0ZSh1cmw6J2hvbWUnLCBwYXRoOidob21lJykgfSApXG4vLyAgR3VhcmRzQ2hlY2tTdGFydCB7aWQ6IDYsIHVybDogXCIvaG9tZVwiLCB1cmxBZnRlclJlZGlyZWN0czogXCIvaG9tZVwiLCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdH1cbi8vIGxvZ2dlci5qczozOSBiYWNrIGJ1dHRvbiBwcmVzc2VkIGR1cmluZyBuYXZpZ2F0aW9uIHNlc3Npb24gaW50ZXJhY3Rpb24gcHJvbWlzZVxuLy8gbG9nZ2VyLmpzOjM5IGNhbmNlbGxpbmcgY3VycmVudCBuYXZpZ2F0aW9uIGFjdGl2aXR5Li5cbi8vICAgbG9nZ2VyLmpzOjM5ICMjIyBSb3V0ZXIgU3RhdGUgVHJhbnNpdGlvbjogTmF2aWdhdGluZyhzdGFydGluZ1VybDogL2FjdGl2aXRpZXMvZGlhbG9ncztsPWVuLCB1cmxBZnRlclJlZGlyZWN0czogdW5kZWZpbmVkKSAtPiBXYWl0VW50aWxMaW5rVHJpZ2dlcmVkTmF2aWdhdGlvbkludGVyYWN0aW9uQ2FuY2VsbGF0aW9uRXZlbnRzRmluaXNoKGlkbGU6IHVuZGVmaW5lZCwgc3RhcnRpbmdVcmw6IC9hY3Rpdml0aWVzL2RpYWxvZ3M7bD1lbiwgY2xpY2tlZExpbmtVcmw6IC9ob21lLCBmaXJzdENhbmNlbEV2ZW50VXJsOiB1bmRlZmluZWQsIGNsaWNrZWRMaW5rTWF0Y2hlZEJhY2tCdXR0b25Vcmw6IGZhbHNlLCBwb3BTdGF0ZUV2ZW50VXJsOiB1bmRlZmluZWQpXG4vLyAgIyMjIyMjIFJvdXRlciBFdmVudDogR3VhcmRzQ2hlY2tFbmRcbi8vICBHdWFyZHNDaGVja0VuZChpZDogNiwgdXJsOiAnL2hvbWUnLCB1cmxBZnRlclJlZGlyZWN0czogJy9ob21lJywgc3RhdGU6IFJvdXRlKHVybDonJywgcGF0aDonJykgeyBSb3V0ZSh1cmw6J2hvbWUnLCBwYXRoOidob21lJykgfSAsIHNob3VsZEFjdGl2YXRlOiBmYWxzZSlcbi8vICBHdWFyZHNDaGVja0VuZCB7aWQ6IDYsIHVybDogXCIvaG9tZVwiLCB1cmxBZnRlclJlZGlyZWN0czogXCIvaG9tZVwiLCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCwgc2hvdWxkQWN0aXZhdGU6IGZhbHNlfVxuLy8gICMjIyMjIyBSb3V0ZXIgRXZlbnQ6IE5hdmlnYXRpb25DYW5jZWxcbi8vICBOYXZpZ2F0aW9uQ2FuY2VsKGlkOiA2LCB1cmw6ICcvaG9tZScpXG4vLyAgTmF2aWdhdGlvbkNhbmNlbCB7aWQ6IDYsIHVybDogXCIvaG9tZVwiLCByZWFzb246IFwiXCJ9XG4vLyBsb2dnZXIuanM6NTQgV2FpdFVudGlsTGlua1RyaWdnZXJlZE5hdmlnYXRpb25JbnRlcmFjdGlvbkNhbmNlbGxhdGlvbkV2ZW50c0ZpbmlzaC5vblJvdXRlckNhbmNlbGxlZFxuLy8gbG9nZ2VyLmpzOjE5IGFyZ3MgTmF2aWdhdGlvbkNhbmNlbCB7aWQ6IDYsIHVybDogXCIvaG9tZVwiLCByZWFzb246IFwiXCJ9XG4vLyBsb2dnZXIuanM6MzkgSWdub3Jpbmcgcm91dGVyIGV2ZW50OiBOYXZpZ2F0aW9uQ2FuY2VsIC0+IC9ob21lIDo6IFdhaXRVbnRpbExpbmtUcmlnZ2VyZWROYXZpZ2F0aW9uSW50ZXJhY3Rpb25DYW5jZWxsYXRpb25FdmVudHNGaW5pc2goaWRsZTogdW5kZWZpbmVkLCBzdGFydGluZ1VybDogL2FjdGl2aXRpZXMvZGlhbG9ncztsPWVuLCBjbGlja2VkTGlua1VybDogL2hvbWUsIGZpcnN0Q2FuY2VsRXZlbnRVcmw6IC9ob21lLCBjbGlja2VkTGlua01hdGNoZWRCYWNrQnV0dG9uVXJsOiB0cnVlLCBwb3BTdGF0ZUV2ZW50VXJsOiB1bmRlZmluZWQpXG4vLyBsb2dnZXIuanM6MjggPC0tIFdhaXRVbnRpbExpbmtUcmlnZ2VyZWROYXZpZ2F0aW9uSW50ZXJhY3Rpb25DYW5jZWxsYXRpb25FdmVudHNGaW5pc2gub25Sb3V0ZXJDYW5jZWxsZWQgdW5kZWZpbmVkXG4vLyBsb2dnZXIuanM6NTQgV2FpdFVudGlsTGlua1RyaWdnZXJlZE5hdmlnYXRpb25JbnRlcmFjdGlvbkNhbmNlbGxhdGlvbkV2ZW50c0ZpbmlzaC5vblJvdXRlckVuZFxuLy8gbG9nZ2VyLmpzOjE5IGFyZ3MgTmF2aWdhdGlvbkVuZCB7aWQ6IC0xLCB1cmw6IFwiXCIsIHVybEFmdGVyUmVkaXJlY3RzOiBcIlwifVxuLy8gbG9nZ2VyLmpzOjU0IFdhaXRVbnRpbExpbmtUcmlnZ2VyZWROYXZpZ2F0aW9uSW50ZXJhY3Rpb25DYW5jZWxsYXRpb25FdmVudHNGaW5pc2guZmluYWxpc2VSb3V0aW5nXG4vLyBsb2dnZXIuanM6MzkgV09SSy1BUk9VTkQ6IFVwZGF0aW5nIGJyb3dzZXIgbG9jYXRpb24gYWZ0ZXIgcG9wIHN0YXRlIC0gc2VlIGFuZ3VsYXIgaXNzdWUgIzEzNTg2XG4vLyBuYXZpZ2F0aW9uLXNlc3Npb24udHM6MTI5IHJlcGxhY2luZyAvYWN0aXZpdGllcy9kaWFsb2dzO2w9ZW4gd2l0aCAvaG9tZVxuLy8gICBuYXZpZ2F0aW9uLXNlc3Npb24udHM6MTMxIHB1c2hpbmcgL2FjdGl2aXRpZXMvZGlhbG9ncztsPWVuIGJhY2sgb250byB0aGUgaGlzdG9yeS5cbi8vICA/Pz8/PyBwbGFjZS1yb3V0ZXIudHM6MjgxICMjIyBSb3V0ZXIgU2Vzc2lvbiBGaW5pc2hlZCAod2FzIFdhaXRVbnRpbExpbmtUcmlnZ2VyZWROYXZpZ2F0aW9uSW50ZXJhY3Rpb25DYW5jZWxsYXRpb25FdmVudHNGaW5pc2goaWRsZTogdW5kZWZpbmVkLCBzdGFydGluZ1VybDogL2FjdGl2aXRpZXMvZGlhbG9ncztsPWVuLCBjbGlja2VkTGlua1VybDogL2hvbWUsIGZpcnN0Q2FuY2VsRXZlbnRVcmw6IC9ob21lLCBjbGlja2VkTGlua01hdGNoZWRCYWNrQnV0dG9uVXJsOiB0cnVlLCBwb3BTdGF0ZUV2ZW50VXJsOiB1bmRlZmluZWQpKVxuLy8gbG9nZ2VyLmpzOjI4IDwtLSBXYWl0VW50aWxMaW5rVHJpZ2dlcmVkTmF2aWdhdGlvbkludGVyYWN0aW9uQ2FuY2VsbGF0aW9uRXZlbnRzRmluaXNoLmZpbmFsaXNlUm91dGluZyB1bmRlZmluZWRcbi8vIGxvZ2dlci5qczoyOCA8LS0gV2FpdFVudGlsTGlua1RyaWdnZXJlZE5hdmlnYXRpb25JbnRlcmFjdGlvbkNhbmNlbGxhdGlvbkV2ZW50c0ZpbmlzaC5vblJvdXRlckVuZCB1bmRlZmluZWRcbi8vICAjIyMjIyMgUm91dGVyIEV2ZW50OiBOYXZpZ2F0aW9uU3RhcnRcbi8vICBOYXZpZ2F0aW9uU3RhcnQoaWQ6IDcsIHVybDogJy9ob21lJylcbi8vICBOYXZpZ2F0aW9uU3RhcnQge2lkOiA3LCB1cmw6IFwiL2hvbWVcIiwgbmF2aWdhdGlvblRyaWdnZXI6IFwicG9wc3RhdGVcIiwgcmVzdG9yZWRTdGF0ZToge+KApn19XG4vLyBsb2dnZXIuanM6MzkgIyMjIFJvdXRlciBTdGF0ZSBUcmFuc2l0aW9uOiBudWxsIC0+IFBvcFN0YXRlTmF2aWdhdGlvbihzdGFydGluZ1VybDogL2FjdGl2aXRpZXMvZGlhbG9ncztsPWVuLCBwb3BwZWRIaXN0b3J5VXJsOiAvaG9tZSlcbi8vICAjIyMjIyMgUm91dGVyIEV2ZW50OiBSb3V0ZXNSZWNvZ25pemVkXG4vLyAgUm91dGVzUmVjb2duaXplZChpZDogNywgdXJsOiAnL2hvbWUnLCB1cmxBZnRlclJlZGlyZWN0czogJy9ob21lJywgc3RhdGU6IFJvdXRlKHVybDonJywgcGF0aDonJykgeyBSb3V0ZSh1cmw6J2hvbWUnLCBwYXRoOidob21lJykgfSApXG4vLyAgUm91dGVzUmVjb2duaXplZCB7aWQ6IDcsIHVybDogXCIvaG9tZVwiLCB1cmxBZnRlclJlZGlyZWN0czogXCIvaG9tZVwiLCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdH1cbi8vICAjIyMjIyMgUm91dGVyIEV2ZW50OiBHdWFyZHNDaGVja1N0YXJ0XG4vLyAgR3VhcmRzQ2hlY2tTdGFydChpZDogNywgdXJsOiAnL2hvbWUnLCB1cmxBZnRlclJlZGlyZWN0czogJy9ob21lJywgc3RhdGU6IFJvdXRlKHVybDonJywgcGF0aDonJykgeyBSb3V0ZSh1cmw6J2hvbWUnLCBwYXRoOidob21lJykgfSApXG4iXX0=
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC11bnRpbC1saW5rLXRyaWdnZXJlZC1uYXZpZ2F0aW9uLWludGVyYWN0aW9uLWNhbmNlbGF0aW9uLXR5cGUtZGV0ZXJtaW5lZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL25hdmlnYXRpb24vc2Vzc2lvbi9ldmVudC1jbGVhbnVwL3dhaXQtdW50aWwtbGluay10cmlnZ2VyZWQtbmF2aWdhdGlvbi1pbnRlcmFjdGlvbi1jYW5jZWxhdGlvbi10eXBlLWRldGVybWluZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFL0Q7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxPQUFPLHFFQUFzRSxTQUFRLG1CQUFtQjtJQVV2RjtJQVJaLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDNUIsbUJBQW1CLENBQVM7SUFDNUIsZ0JBQWdCLENBQVM7SUFDekIsK0JBQStCLEdBQUcsS0FBSyxDQUFDO0lBQy9CLGlCQUFpQixHQUFHLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxpQ0FBaUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBRXJKLFlBQVksT0FBMEIsRUFDMUIsV0FBbUIsRUFDVixjQUFzQjtRQUN6QyxLQUFLLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRFQsbUJBQWMsR0FBZCxjQUFjLENBQVE7SUFFM0MsQ0FBQztJQUVELFdBQVc7SUFDRixlQUFlLENBQUMsS0FBc0I7UUFDN0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVztJQUNGLGlCQUFpQixDQUFDLEtBQXVCO1FBQ2hELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsY0FB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QUFDeEMsNEZBQTRGO0FBQzVGLHVJQUF1STtBQUN2SSx5Q0FBeUM7QUFDekMsd0lBQXdJO0FBQ3hJLGtHQUFrRztBQUNsRyx5Q0FBeUM7QUFDekMsd0lBQXdJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvbkVycm9yLCBOYXZpZ2F0aW9uU3RhcnQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhY2UgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBQbGFjZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBVcmxTbmFwc2hvdCB9IGZyb20gJy4uLy4uLy4uL3VybC1zbmFwc2hvdCc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uQ29udGV4dCB9IGZyb20gJy4uL25hdmlnYXRpb24tY29udGV4dCc7XG5pbXBvcnQgeyBFdmVudENsZWFuVXBTZXNzaW9uIH0gZnJvbSAnLi9ldmVudC1jbGVhbi11cC1zZXNzaW9uJztcblxuLyoqXG4gKiBUaGlzIHN0YXRlIGhhbmRsZXMgdGhlIHNjZW5hcmlvIHdoZXJlIGEgbGluayBuYXZpZ2F0aW9uIHRyaWdnZXJlZCBhbiBpbnRlcmFjdGlvbiBhbmQgdGhlIHVzZXIgY2xpY2tlZCBiYWNrIGEgdG8gY2FuY2VsIGl0LlxuICogVGhlIHJvdXRpbmcgZXZlbnQgc2VxdWVuY2UgaXMgZGlmZmVyZW50IGRlcGVuZGluZyBvbiB0aGUgbGluayB0aGF0IHdhcyBjbGlja2VkLlxuICpcbiAqIE5PVEU6IEluIGFuZ3VsYXIgcHJpb3IgdG8gMTAgdGhlIHNlcXVlbmNlIG9mIHJvdXRpbmcgZXZlbnRzIHdhcyBkaWZmZXJlbnQgZGVwZW5kaW5nIG9uIHRoZSBpbml0aWFsIGxpbmsgdGhhdCB3YXMgY2xpY2tlZC5cbiAqICAgICAgIFRoaXMgY2xhc3MgdXNlZCBoYXZlIHVnbGUgaWYvZWxzZSBjb2RlIHRvIGhhbmRsZSBpdCBhbmQgYSBub3QgdGhhdCBpdCBzaG91bGQgYmUgc3BsaXQgaW50byBzdWIgc3RhdGVzLlxuICogICAgICAgRHVyaW5nIHRoZSB1cGRhdGUgdG8gYW5ndWxhciAxMCBJIGRpZCB0aGlzIChhcyB0aGUgdGVzdHMgZm9yIHRoaXMgc2NlbmFyaW8gd2VyZSBmYWlsaW5ncykuIEFmdGVyIGRvaW5nIHNvXG4gKiAgICAgICBpdCBhcHBlYXJzIHRoYXQgYW5ndWxhciBub3cgYmVoYXZlcyB0aGUgc2FtZSBpbiBib3RoIGNhc2VzLiBCdXQgcmF0aGVyIHRoYXQgcmV2ZXJ0IHRoZSBjaGFuZ2VzIEkndmUgbGVmdCB0aGVcbiAqICAgICAgIHN1Yi1zdGF0ZSBoYW5kbGluZyBpbiBpbiBjYXNlIGl0IGV2ZXIgY29tZXMgYmFjay5cbiAqL1xuZXhwb3J0IGNsYXNzIFdhaXRVbnRpbExpbmtUcmlnZ2VyZWROYXZpZ2F0aW9uSW50ZXJhY3Rpb25DYW5jZWxsYXRpb25UeXBlRGV0ZXJtaW5lZCBleHRlbmRzIEV2ZW50Q2xlYW5VcFNlc3Npb24ge1xuXG4gIHJlYWRvbmx5IGlzUG9wU3RhdGUgPSBmYWxzZTtcbiAgZmlyc3RDYW5jZWxFdmVudFVybDogc3RyaW5nO1xuICBwb3BTdGF0ZUV2ZW50VXJsOiBzdHJpbmc7XG4gIGNsaWNrZWRMaW5rTWF0Y2hlZEJhY2tCdXR0b25VcmwgPSBmYWxzZTtcbiAgb3ZlcnJpZGUgZGVidWdQcm9wZXJ0eUtleXMgPSBbJ2lkbGUnLCAnc3RhcnRpbmdVcmwnLCAnY2xpY2tlZExpbmtVcmwnLCAnZmlyc3RDYW5jZWxFdmVudFVybCcsICdjbGlja2VkTGlua01hdGNoZWRCYWNrQnV0dG9uVXJsJywgJ3BvcFN0YXRlRXZlbnRVcmwnXTtcblxuICBjb25zdHJ1Y3Rvcihjb250ZXh0OiBOYXZpZ2F0aW9uQ29udGV4dCxcbiAgICAgICAgICAgICAgc3RhcnRpbmdVcmw6IHN0cmluZyxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgY2xpY2tlZExpbmtVcmw6IHN0cmluZykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0YXJ0aW5nVXJsKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG92ZXJyaWRlIG9uUm91dGVyU3RhcnRlZChldmVudDogTmF2aWdhdGlvblN0YXJ0KTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJDYW5jZWxsZWQoZXZlbnQ6IE5hdmlnYXRpb25DYW5jZWwpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQudXJsID09PSB0aGlzLmNsaWNrZWRMaW5rVXJsKSB7XG4gICAgICB0aGlzLmNvbnRleHQudHJhbnNpdGlvblRvKG5ldyBXYWl0Rm9yTGlua1NhbWVBc0JhY2tUb1BsYXlPdXQodGhpcy5jb250ZXh0LCB0aGlzLnN0YXJ0aW5nVXJsLCB0aGlzLmNsaWNrZWRMaW5rVXJsKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29udGV4dC50cmFuc2l0aW9uVG8obmV3IFdhaXRGb3JMaW5rRGlmZmVyZW50RnJvbUJhY2tUb1BsYXlPdXQodGhpcy5jb250ZXh0LCB0aGlzLnN0YXJ0aW5nVXJsLCB0aGlzLmNsaWNrZWRMaW5rVXJsKSk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgY2FuRGVhY3RpdmF0ZVBsYWNlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRVcmw6IFVybFNuYXBzaG90LCBuZXh0VXJsOiBVcmxTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFNuYXBzaG90PiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmNsYXNzIFdhaXRGb3JMaW5rU2FtZUFzQmFja1RvUGxheU91dCBleHRlbmRzIEV2ZW50Q2xlYW5VcFNlc3Npb24ge1xuICByZWFkb25seSBpc1BvcFN0YXRlID0gZmFsc2U7XG4gIHBvcFN0YXRlRXZlbnRVcmw6IHN0cmluZztcbiAgb3ZlcnJpZGUgZGVidWdQcm9wZXJ0eUtleXMgPSBbJ2lkbGUnLCAnc3RhcnRpbmdVcmwnLCAnY2xpY2tlZExpbmtVcmwnLCAncG9wU3RhdGVFdmVudFVybCddO1xuXG4gIGNvbnN0cnVjdG9yKGNvbnRleHQ6IE5hdmlnYXRpb25Db250ZXh0LFxuICAgICAgICAgICAgICBzdGFydGluZ1VybDogc3RyaW5nLFxuICAgICAgICAgICAgICByZWFkb25seSBjbGlja2VkTGlua1VybDogc3RyaW5nKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RhcnRpbmdVcmwpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJFbmQoZXZlbnQ6IE5hdmlnYXRpb25FbmQpOiB2b2lkIHtcbiAgICB0aGlzLmlnbm9yZShldmVudCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvdmVycmlkZSBvblJvdXRlckVycm9yKGV2ZW50OiBOYXZpZ2F0aW9uRXJyb3IpOiB2b2lkIHtcbiAgICB0aGlzLmlnbm9yZShldmVudCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvdmVycmlkZSBvblBvcFN0YXRlKGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQpOiB2b2lkIHtcbiAgICB0aGlzLnBvcFN0YXRlRXZlbnRVcmwgPSBldmVudC51cmw7XG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJDYW5jZWxsZWQoZXZlbnQ6IE5hdmlnYXRpb25DYW5jZWwpIHtcbiAgICBpZiAodGhpcy5wb3BTdGF0ZUV2ZW50VXJsKSB7XG4gICAgICB0aGlzLmZpbmFsaXNlUm91dGluZygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGZpbmFsaXNlUm91dGluZygpIHtcbiAgICB0aGlzLnJlcGFpckJyb3dzZXJIaXN0b3J5QW5kVXJsQWZ0ZXJHdWFyZENhbmNlbGxhdGlvbih0aGlzLmNsaWNrZWRMaW5rVXJsLCB0aGlzLnN0YXJ0aW5nVXJsKTtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LmZpbmlzaFJvdXRpbmdTZXNzaW9uKCk7XG4gIH1cblxuXG4gIG92ZXJyaWRlIGFzeW5jIGNhbkRlYWN0aXZhdGVQbGFjZShjb21wb25lbnQ6IFBsYWNlQ29tcG9uZW50LCBjdXJyZW50VXJsOiBVcmxTbmFwc2hvdCwgbmV4dFVybDogVXJsU25hcHNob3QpOiBQcm9taXNlPGJvb2xlYW4gfCBVcmxTbmFwc2hvdD4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG59XG5cbi8vIFNlZSB0aGUgbm90ZSBhYm92ZS4gIFRoaXMgY2xhc3MgaXMgaWRlbnRpY2FsIHRvIHRoZSBwcmV2aW91cyBidXQgSSd2ZSBsZWZ0IGl0IGhlcmUgaW4gY2FzZSBhbmd1bGFyIGRlY2lkZXMgdG9cbi8vIHJvdXRlIGRpZmZlcmVudGx5IGluIHRoaXMgc2NlbmFyaW8gZ29pbmcgZm9yd2FyZC5cbmNsYXNzIFdhaXRGb3JMaW5rRGlmZmVyZW50RnJvbUJhY2tUb1BsYXlPdXQgZXh0ZW5kcyBFdmVudENsZWFuVXBTZXNzaW9uIHtcbiAgcmVhZG9ubHkgaXNQb3BTdGF0ZSA9IGZhbHNlO1xuICBwb3BTdGF0ZUV2ZW50VXJsOiBzdHJpbmc7XG4gIG92ZXJyaWRlIGRlYnVnUHJvcGVydHlLZXlzID0gWydpZGxlJywgJ3N0YXJ0aW5nVXJsJywgJ2NsaWNrZWRMaW5rVXJsJywgJ3BvcFN0YXRlRXZlbnRVcmwnXTtcblxuICBjb25zdHJ1Y3Rvcihjb250ZXh0OiBOYXZpZ2F0aW9uQ29udGV4dCxcbiAgICAgICAgICAgICAgc3RhcnRpbmdVcmw6IHN0cmluZyxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgY2xpY2tlZExpbmtVcmw6IHN0cmluZykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0YXJ0aW5nVXJsKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG92ZXJyaWRlIG9uUm91dGVyRW5kKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJFcnJvcihldmVudDogTmF2aWdhdGlvbkVycm9yKTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Qb3BTdGF0ZShldmVudDogTmF2aWdhdGlvblN0YXJ0KTogdm9pZCB7XG4gICAgdGhpcy5wb3BTdGF0ZUV2ZW50VXJsID0gZXZlbnQudXJsO1xuICAgIHRoaXMuaWdub3JlKGV2ZW50KTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG92ZXJyaWRlIG9uUm91dGVyQ2FuY2VsbGVkKGV2ZW50OiBOYXZpZ2F0aW9uQ2FuY2VsKSB7XG4gICAgaWYgKHRoaXMucG9wU3RhdGVFdmVudFVybCkge1xuICAgICAgdGhpcy5maW5hbGlzZVJvdXRpbmcoKTtcbiAgICB9XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBmaW5hbGlzZVJvdXRpbmcoKSB7XG4gICAgdGhpcy5yZXBhaXJCcm93c2VySGlzdG9yeUFuZFVybEFmdGVyR3VhcmRDYW5jZWxsYXRpb24odGhpcy5jbGlja2VkTGlua1VybCwgdGhpcy5zdGFydGluZ1VybCk7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5maW5pc2hSb3V0aW5nU2Vzc2lvbigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgY2FuRGVhY3RpdmF0ZVBsYWNlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRVcmw6IFVybFNuYXBzaG90LCBuZXh0VXJsOiBVcmxTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFNuYXBzaG90PiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cblxuLy9cbi8vICMjIyBSb3V0ZXIgU3RhdGUgVHJhbnNpdGlvbjogbnVsbCAtPiBOYXZpZ2F0aW5nKHN0YXJ0aW5nVXJsOiAvYWN0aXZpdGllcy9kaWFsb2dzO2w9ZW4sIHVybEFmdGVyUmVkaXJlY3RzOiB1bmRlZmluZWQpXG4vLyAgIyMjICMjIyMjIyBSb3V0ZXIgRXZlbnQ6IE5hdmlnYXRpb25TdGFydFxuLy8gIE5hdmlnYXRpb25TdGFydChpZDogNiwgdXJsOiAnL2hvbWUnKVxuLy8gIE5hdmlnYXRpb25TdGFydCB7aWQ6IDYsIHVybDogXCIvaG9tZVwiLCBuYXZpZ2F0aW9uVHJpZ2dlcjogXCJpbXBlcmF0aXZlXCIsIHJlc3RvcmVkU3RhdGU6IG51bGx9XG4vLyBsb2dnZXIuanM6MzkgSWdub3Jpbmcgcm91dGVyIGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQgLT4gL2hvbWUgOjogTmF2aWdhdGluZyhzdGFydGluZ1VybDogL2FjdGl2aXRpZXMvZGlhbG9ncztsPWVuLCB1cmxBZnRlclJlZGlyZWN0czogdW5kZWZpbmVkKVxuLy8gICMjIyAjIyMjIyMgUm91dGVyIEV2ZW50OiBSb3V0ZXNSZWNvZ25pemVkXG4vLyAgUm91dGVzUmVjb2duaXplZChpZDogNiwgdXJsOiAnL2hvbWUnLCB1cmxBZnRlclJlZGlyZWN0czogJy9ob21lJywgc3RhdGU6IFJvdXRlKHVybDonJywgcGF0aDonJykgeyBSb3V0ZSh1cmw6J2hvbWUnLCBwYXRoOidob21lJykgfSApXG4vLyAgUm91dGVzUmVjb2duaXplZCB7aWQ6IDYsIHVybDogXCIvaG9tZVwiLCB1cmxBZnRlclJlZGlyZWN0czogXCIvaG9tZVwiLCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdH1cbi8vICAjIyMjIyMgUm91dGVyIEV2ZW50OiBHdWFyZHNDaGVja1N0YXJ0XG4vLyAgR3VhcmRzQ2hlY2tTdGFydChpZDogNiwgdXJsOiAnL2hvbWUnLCB1cmxBZnRlclJlZGlyZWN0czogJy9ob21lJywgc3RhdGU6IFJvdXRlKHVybDonJywgcGF0aDonJykgeyBSb3V0ZSh1cmw6J2hvbWUnLCBwYXRoOidob21lJykgfSApXG4vLyAgR3VhcmRzQ2hlY2tTdGFydCB7aWQ6IDYsIHVybDogXCIvaG9tZVwiLCB1cmxBZnRlclJlZGlyZWN0czogXCIvaG9tZVwiLCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdH1cbi8vIGxvZ2dlci5qczozOSBiYWNrIGJ1dHRvbiBwcmVzc2VkIGR1cmluZyBuYXZpZ2F0aW9uIHNlc3Npb24gaW50ZXJhY3Rpb24gcHJvbWlzZVxuLy8gbG9nZ2VyLmpzOjM5IGNhbmNlbGxpbmcgY3VycmVudCBuYXZpZ2F0aW9uIGFjdGl2aXR5Li5cbi8vICAgbG9nZ2VyLmpzOjM5ICMjIyBSb3V0ZXIgU3RhdGUgVHJhbnNpdGlvbjogTmF2aWdhdGluZyhzdGFydGluZ1VybDogL2FjdGl2aXRpZXMvZGlhbG9ncztsPWVuLCB1cmxBZnRlclJlZGlyZWN0czogdW5kZWZpbmVkKSAtPiBXYWl0VW50aWxMaW5rVHJpZ2dlcmVkTmF2aWdhdGlvbkludGVyYWN0aW9uQ2FuY2VsbGF0aW9uRXZlbnRzRmluaXNoKGlkbGU6IHVuZGVmaW5lZCwgc3RhcnRpbmdVcmw6IC9hY3Rpdml0aWVzL2RpYWxvZ3M7bD1lbiwgY2xpY2tlZExpbmtVcmw6IC9ob21lLCBmaXJzdENhbmNlbEV2ZW50VXJsOiB1bmRlZmluZWQsIGNsaWNrZWRMaW5rTWF0Y2hlZEJhY2tCdXR0b25Vcmw6IGZhbHNlLCBwb3BTdGF0ZUV2ZW50VXJsOiB1bmRlZmluZWQpXG4vLyAgIyMjIyMjIFJvdXRlciBFdmVudDogR3VhcmRzQ2hlY2tFbmRcbi8vICBHdWFyZHNDaGVja0VuZChpZDogNiwgdXJsOiAnL2hvbWUnLCB1cmxBZnRlclJlZGlyZWN0czogJy9ob21lJywgc3RhdGU6IFJvdXRlKHVybDonJywgcGF0aDonJykgeyBSb3V0ZSh1cmw6J2hvbWUnLCBwYXRoOidob21lJykgfSAsIHNob3VsZEFjdGl2YXRlOiBmYWxzZSlcbi8vICBHdWFyZHNDaGVja0VuZCB7aWQ6IDYsIHVybDogXCIvaG9tZVwiLCB1cmxBZnRlclJlZGlyZWN0czogXCIvaG9tZVwiLCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCwgc2hvdWxkQWN0aXZhdGU6IGZhbHNlfVxuLy8gICMjIyMjIyBSb3V0ZXIgRXZlbnQ6IE5hdmlnYXRpb25DYW5jZWxcbi8vICBOYXZpZ2F0aW9uQ2FuY2VsKGlkOiA2LCB1cmw6ICcvaG9tZScpXG4vLyAgTmF2aWdhdGlvbkNhbmNlbCB7aWQ6IDYsIHVybDogXCIvaG9tZVwiLCByZWFzb246IFwiXCJ9XG4vLyBsb2dnZXIuanM6NTQgV2FpdFVudGlsTGlua1RyaWdnZXJlZE5hdmlnYXRpb25JbnRlcmFjdGlvbkNhbmNlbGxhdGlvbkV2ZW50c0ZpbmlzaC5vblJvdXRlckNhbmNlbGxlZFxuLy8gbG9nZ2VyLmpzOjE5IGFyZ3MgTmF2aWdhdGlvbkNhbmNlbCB7aWQ6IDYsIHVybDogXCIvaG9tZVwiLCByZWFzb246IFwiXCJ9XG4vLyBsb2dnZXIuanM6MzkgSWdub3Jpbmcgcm91dGVyIGV2ZW50OiBOYXZpZ2F0aW9uQ2FuY2VsIC0+IC9ob21lIDo6IFdhaXRVbnRpbExpbmtUcmlnZ2VyZWROYXZpZ2F0aW9uSW50ZXJhY3Rpb25DYW5jZWxsYXRpb25FdmVudHNGaW5pc2goaWRsZTogdW5kZWZpbmVkLCBzdGFydGluZ1VybDogL2FjdGl2aXRpZXMvZGlhbG9ncztsPWVuLCBjbGlja2VkTGlua1VybDogL2hvbWUsIGZpcnN0Q2FuY2VsRXZlbnRVcmw6IC9ob21lLCBjbGlja2VkTGlua01hdGNoZWRCYWNrQnV0dG9uVXJsOiB0cnVlLCBwb3BTdGF0ZUV2ZW50VXJsOiB1bmRlZmluZWQpXG4vLyBsb2dnZXIuanM6MjggPC0tIFdhaXRVbnRpbExpbmtUcmlnZ2VyZWROYXZpZ2F0aW9uSW50ZXJhY3Rpb25DYW5jZWxsYXRpb25FdmVudHNGaW5pc2gub25Sb3V0ZXJDYW5jZWxsZWQgdW5kZWZpbmVkXG4vLyBsb2dnZXIuanM6NTQgV2FpdFVudGlsTGlua1RyaWdnZXJlZE5hdmlnYXRpb25JbnRlcmFjdGlvbkNhbmNlbGxhdGlvbkV2ZW50c0ZpbmlzaC5vblJvdXRlckVuZFxuLy8gbG9nZ2VyLmpzOjE5IGFyZ3MgTmF2aWdhdGlvbkVuZCB7aWQ6IC0xLCB1cmw6IFwiXCIsIHVybEFmdGVyUmVkaXJlY3RzOiBcIlwifVxuLy8gbG9nZ2VyLmpzOjU0IFdhaXRVbnRpbExpbmtUcmlnZ2VyZWROYXZpZ2F0aW9uSW50ZXJhY3Rpb25DYW5jZWxsYXRpb25FdmVudHNGaW5pc2guZmluYWxpc2VSb3V0aW5nXG4vLyBsb2dnZXIuanM6MzkgV09SSy1BUk9VTkQ6IFVwZGF0aW5nIGJyb3dzZXIgbG9jYXRpb24gYWZ0ZXIgcG9wIHN0YXRlIC0gc2VlIGFuZ3VsYXIgaXNzdWUgIzEzNTg2XG4vLyBuYXZpZ2F0aW9uLXNlc3Npb24udHM6MTI5IHJlcGxhY2luZyAvYWN0aXZpdGllcy9kaWFsb2dzO2w9ZW4gd2l0aCAvaG9tZVxuLy8gICBuYXZpZ2F0aW9uLXNlc3Npb24udHM6MTMxIHB1c2hpbmcgL2FjdGl2aXRpZXMvZGlhbG9ncztsPWVuIGJhY2sgb250byB0aGUgaGlzdG9yeS5cbi8vICA/Pz8/PyBwbGFjZS1yb3V0ZXIudHM6MjgxICMjIyBSb3V0ZXIgU2Vzc2lvbiBGaW5pc2hlZCAod2FzIFdhaXRVbnRpbExpbmtUcmlnZ2VyZWROYXZpZ2F0aW9uSW50ZXJhY3Rpb25DYW5jZWxsYXRpb25FdmVudHNGaW5pc2goaWRsZTogdW5kZWZpbmVkLCBzdGFydGluZ1VybDogL2FjdGl2aXRpZXMvZGlhbG9ncztsPWVuLCBjbGlja2VkTGlua1VybDogL2hvbWUsIGZpcnN0Q2FuY2VsRXZlbnRVcmw6IC9ob21lLCBjbGlja2VkTGlua01hdGNoZWRCYWNrQnV0dG9uVXJsOiB0cnVlLCBwb3BTdGF0ZUV2ZW50VXJsOiB1bmRlZmluZWQpKVxuLy8gbG9nZ2VyLmpzOjI4IDwtLSBXYWl0VW50aWxMaW5rVHJpZ2dlcmVkTmF2aWdhdGlvbkludGVyYWN0aW9uQ2FuY2VsbGF0aW9uRXZlbnRzRmluaXNoLmZpbmFsaXNlUm91dGluZyB1bmRlZmluZWRcbi8vIGxvZ2dlci5qczoyOCA8LS0gV2FpdFVudGlsTGlua1RyaWdnZXJlZE5hdmlnYXRpb25JbnRlcmFjdGlvbkNhbmNlbGxhdGlvbkV2ZW50c0ZpbmlzaC5vblJvdXRlckVuZCB1bmRlZmluZWRcbi8vICAjIyMjIyMgUm91dGVyIEV2ZW50OiBOYXZpZ2F0aW9uU3RhcnRcbi8vICBOYXZpZ2F0aW9uU3RhcnQoaWQ6IDcsIHVybDogJy9ob21lJylcbi8vICBOYXZpZ2F0aW9uU3RhcnQge2lkOiA3LCB1cmw6IFwiL2hvbWVcIiwgbmF2aWdhdGlvblRyaWdnZXI6IFwicG9wc3RhdGVcIiwgcmVzdG9yZWRTdGF0ZToge+KApn19XG4vLyBsb2dnZXIuanM6MzkgIyMjIFJvdXRlciBTdGF0ZSBUcmFuc2l0aW9uOiBudWxsIC0+IFBvcFN0YXRlTmF2aWdhdGlvbihzdGFydGluZ1VybDogL2FjdGl2aXRpZXMvZGlhbG9ncztsPWVuLCBwb3BwZWRIaXN0b3J5VXJsOiAvaG9tZSlcbi8vICAjIyMjIyMgUm91dGVyIEV2ZW50OiBSb3V0ZXNSZWNvZ25pemVkXG4vLyAgUm91dGVzUmVjb2duaXplZChpZDogNywgdXJsOiAnL2hvbWUnLCB1cmxBZnRlclJlZGlyZWN0czogJy9ob21lJywgc3RhdGU6IFJvdXRlKHVybDonJywgcGF0aDonJykgeyBSb3V0ZSh1cmw6J2hvbWUnLCBwYXRoOidob21lJykgfSApXG4vLyAgUm91dGVzUmVjb2duaXplZCB7aWQ6IDcsIHVybDogXCIvaG9tZVwiLCB1cmxBZnRlclJlZGlyZWN0czogXCIvaG9tZVwiLCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdH1cbi8vICAjIyMjIyMgUm91dGVyIEV2ZW50OiBHdWFyZHNDaGVja1N0YXJ0XG4vLyAgR3VhcmRzQ2hlY2tTdGFydChpZDogNywgdXJsOiAnL2hvbWUnLCB1cmxBZnRlclJlZGlyZWN0czogJy9ob21lJywgc3RhdGU6IFJvdXRlKHVybDonJywgcGF0aDonJykgeyBSb3V0ZSh1cmw6J2hvbWUnLCBwYXRoOidob21lJykgfSApXG4iXX0=
@@ -63,4 +63,4 @@ export class WaitUntilPopStateDuringCanDeactivateInteractionFinishes extends Eve
63
63
  return false;
64
64
  }
65
65
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC11bnRpbC1wb3BzdGF0ZS1kdXJpbmctY2FuLWRlYWN0aXZhdGUtdHJhbnNpdGlvbi1maW5pc2hlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL25hdmlnYXRpb24vc2Vzc2lvbi9ldmVudC1jbGVhbnVwL3dhaXQtdW50aWwtcG9wc3RhdGUtZHVyaW5nLWNhbi1kZWFjdGl2YXRlLXRyYW5zaXRpb24tZmluaXNoZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFN0Q7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sT0FBTyx1REFBd0QsU0FBUSxtQkFBbUI7SUFXekU7SUFDQTtJQVZaLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDNUIsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQzNCLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDeEIsZ0JBQWdCLENBQVM7SUFDaEIsaUJBQWlCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLDBCQUEwQixFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDMUosYUFBYSxDQUFTO0lBRTlCLFlBQVksT0FBMEIsRUFDMUIsV0FBbUIsRUFDVix3QkFBZ0MsRUFDaEMsZ0JBQXdCO1FBQzNDLEtBQUssQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFGVCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQVE7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFRO0lBRTdDLENBQUM7SUFFRCxXQUFXO0lBQ0YsZUFBZSxDQUFDLEtBQXNCO1FBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7SUFDRixpQkFBaUIsQ0FBQyxLQUF1QjtRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzVCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7WUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1lBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEI7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDeEIsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsZ0RBQWdELENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUM5RiwrRkFBK0Y7Z0JBQy9GLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUMsY0FBYyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7Z0JBQ3JFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQzVDO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsV0FBVztJQUNGLFdBQVcsQ0FBQyxLQUFvQjtRQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO0lBQ0YsYUFBYSxDQUFDLEtBQXNCO1FBQzNDLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVztJQUNGLFVBQVUsQ0FBQyxLQUFzQjtRQUN4QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFUSxLQUFLLENBQUMsa0JBQWtCLENBQUMsU0FBeUIsRUFBRSxVQUF1QixFQUFFLE9BQW9CO1FBQ3hHLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOYXZpZ2F0aW9uQ2FuY2VsLCBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uRXJyb3IsIE5hdmlnYXRpb25TdGFydH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB0eXBlIHtQbGFjZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB0eXBlIHtVcmxTbmFwc2hvdH0gZnJvbSAnLi4vLi4vLi4vdXJsLXNuYXBzaG90JztcbmltcG9ydCB0eXBlIHtOYXZpZ2F0aW9uQ29udGV4dH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1jb250ZXh0JztcbmltcG9ydCB7RXZlbnRDbGVhblVwU2Vzc2lvbn0gZnJvbSAnLi9ldmVudC1jbGVhbi11cC1zZXNzaW9uJztcblxuLyoqXG4gKiBUaGlzIHN0YXRlIGhhbmRsZXMgdGhlIHNjZW5hcmlvIHdoZXJlIGEgcG9wIHN0YXRlIHRyaWdnZXJlZCBhbmQgaW50ZXJhY3Rpb24gYW5kIHRoZSB1c2VyIGNsaWNrZWIgYmFjayBhIHNlY29uZCB0aW1lIHRvIGNhbmNlbCBpdC5cbiAqIFRoZSBzZXF1ZW5jZSBvZiByb3V0aW5nIGV2ZW50cy9zdGF0ZSB0cmFuc2l0aW9ucyBpcyBhcyBmb2xsb3dzLlxuICogLT4gSWRsZSAtPiBQb3BTdGF0ZVRyYW5zaXRpb24gKHBvcHBlZEhpc3RvcnlVcmwgPT0gcGFnZSB0byBnbyB0bywgc3RhcnRpbmdVcmwgPSBwYWdlIHRvIHN0YXkgb24gKVxuICogLT4gY29uZmlybSBkaWFsb2cgc2hvd24uXG4gKiAtPiBjbGljayBiYWNrXG4gKiAtPiBQb3BTdGF0ZVRyYW5zaXRpb24gLT4gQ2FuY2VsbGVkRHVyaW5nQmFja0J1dHRvbk5hdmlnYXRpb25JbnRlcmFjdGlvbih0cmlnZ2VyIHVybCBpcyB0aGUgcGFnZSBiZWZvcmUgdGhlIHBvcHBlZCBoaXN0b3J5IHVybClcbiAqIC0+IE5hdmlnYXRpb25DYW5jZWwgKGZvciB0aGUgcHJldmlvdXMgYmFjaylcbiAqIC0+IFBvcFN0YXRlXG4gKiAtPiBOYXZpZ2F0aW9uQ2FuY2VsXG4gKi9cbmV4cG9ydCBjbGFzcyBXYWl0VW50aWxQb3BTdGF0ZUR1cmluZ0NhbkRlYWN0aXZhdGVJbnRlcmFjdGlvbkZpbmlzaGVzIGV4dGVuZHMgRXZlbnRDbGVhblVwU2Vzc2lvbiB7XG5cbiAgcmVhZG9ubHkgaXNQb3BTdGF0ZSA9IGZhbHNlO1xuICBmaXJzdENhbmNlbEhhbmRsZWQgPSBmYWxzZTtcbiAgcG9wU3RhdGVIYW5kbGVkID0gZmFsc2U7XG4gIHBvcFN0YXRlRXZlbnRVcmw6IHN0cmluZztcbiAgb3ZlcnJpZGUgZGVidWdQcm9wZXJ0eUtleXMgPSBbJ2lkbGUnLCAnc3RhcnRpbmdVcmwnLCAncG9wcGVkSGlzdG9yeVVybCcsICdsb2NhdGlvbkNoYW5nZVRyaWdnZXJVcmwnLCAncG9wU3RhdGVFdmVudFVybCcsICdmaXJzdENhbmNlbEhhbmRsZWQnLCAncG9wU3RhdGVIYW5kbGVkJ107XG4gIHByaXZhdGUgcGFyZW50UGFnZVVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGNvbnRleHQ6IE5hdmlnYXRpb25Db250ZXh0LFxuICAgICAgICAgICAgICBzdGFydGluZ1VybDogc3RyaW5nLFxuICAgICAgICAgICAgICByZWFkb25seSBsb2NhdGlvbkNoYW5nZVRyaWdnZXJVcmw6IHN0cmluZyxcbiAgICAgICAgICAgICAgcmVhZG9ubHkgcG9wcGVkSGlzdG9yeVVybDogc3RyaW5nKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RhcnRpbmdVcmwpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJTdGFydGVkKGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQpOiB2b2lkIHtcbiAgICB0aGlzLmlnbm9yZShldmVudCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvdmVycmlkZSBvblJvdXRlckNhbmNlbGxlZChldmVudDogTmF2aWdhdGlvbkNhbmNlbCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5maXJzdENhbmNlbEhhbmRsZWQpIHtcbiAgICAgIHRoaXMuZmlyc3RDYW5jZWxIYW5kbGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMucGFyZW50UGFnZVVybCA9IGV2ZW50LnVybDtcbiAgICAgIHRoaXMuaWdub3JlKGV2ZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMucG9wU3RhdGVIYW5kbGVkKSB7XG4gICAgICAgIGNvbnN0IGdyYW5kUGFyZW50UGFnZVVybCA9IGV2ZW50LnVybDtcbiAgICAgICAgdGhpcy5yZXBhaXJCcm93c2VySGlzdG9yeUFuZFVybEFmdGVyR3VhcmRDYW5jZWxsYXRpb24oZ3JhbmRQYXJlbnRQYWdlVXJsLCB0aGlzLnBhcmVudFBhZ2VVcmwpO1xuICAgICAgICAvLyB3ZSd2ZSBoYWQgb25lIG1vcmUgYmFjayBjbGljayB0aGFuIG5vcm1hbCBzbyB3ZSBuZWVkIHRvIGFkZCBvdXIgaW5pdGlhbCB1cmwgYmFjayBpbiBhcyB3ZWxsLlxuICAgICAgICB0aGlzLnJlc2V0QnJvd3NlckxvY2F0aW9uKHRoaXMuc3RhcnRpbmdVcmwsIHtyZXBsYWNlQ3VycmVudDogZmFsc2V9KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGV4dC5maW5pc2hSb3V0aW5nU2Vzc2lvbigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG92ZXJyaWRlIG9uUm91dGVyRW5kKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJFcnJvcihldmVudDogTmF2aWdhdGlvbkVycm9yKTogdm9pZCB7XG4gICAgdm9pZCB0aGlzLmlnbm9yZShldmVudCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvdmVycmlkZSBvblBvcFN0YXRlKGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQpOiB2b2lkIHtcbiAgICB0aGlzLnBvcFN0YXRlSGFuZGxlZCA9IHRydWU7XG4gICAgdGhpcy5wb3BTdGF0ZUV2ZW50VXJsID0gZXZlbnQudXJsO1xuICAgIHRoaXMuaWdub3JlKGV2ZW50KTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGNhbkRlYWN0aXZhdGVQbGFjZShjb21wb25lbnQ6IFBsYWNlQ29tcG9uZW50LCBjdXJyZW50VXJsOiBVcmxTbmFwc2hvdCwgbmV4dFVybDogVXJsU25hcHNob3QpOiBQcm9taXNlPGJvb2xlYW4gfCBVcmxTbmFwc2hvdD4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC11bnRpbC1wb3BzdGF0ZS1kdXJpbmctY2FuLWRlYWN0aXZhdGUtdHJhbnNpdGlvbi1maW5pc2hlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL25hdmlnYXRpb24vc2Vzc2lvbi9ldmVudC1jbGVhbnVwL3dhaXQtdW50aWwtcG9wc3RhdGUtZHVyaW5nLWNhbi1kZWFjdGl2YXRlLXRyYW5zaXRpb24tZmluaXNoZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFL0Q7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sT0FBTyx1REFBd0QsU0FBUSxtQkFBbUI7SUFXekU7SUFDQTtJQVZaLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDNUIsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQzNCLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDeEIsZ0JBQWdCLENBQVM7SUFDaEIsaUJBQWlCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLDBCQUEwQixFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDMUosYUFBYSxDQUFTO0lBRTlCLFlBQVksT0FBMEIsRUFDMUIsV0FBbUIsRUFDVix3QkFBZ0MsRUFDaEMsZ0JBQXdCO1FBQzNDLEtBQUssQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFGVCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQVE7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFRO0lBRTdDLENBQUM7SUFFRCxXQUFXO0lBQ0YsZUFBZSxDQUFDLEtBQXNCO1FBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7SUFDRixpQkFBaUIsQ0FBQyxLQUF1QjtRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzVCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7WUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1lBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEI7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDeEIsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsZ0RBQWdELENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUM5RiwrRkFBK0Y7Z0JBQy9GLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUMsY0FBYyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7Z0JBQ3JFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2FBQzVDO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsV0FBVztJQUNGLFdBQVcsQ0FBQyxLQUFvQjtRQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO0lBQ0YsYUFBYSxDQUFDLEtBQXNCO1FBQzNDLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVztJQUNGLFVBQVUsQ0FBQyxLQUFzQjtRQUN4QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFUSxLQUFLLENBQUMsa0JBQWtCLENBQUMsU0FBeUIsRUFBRSxVQUF1QixFQUFFLE9BQW9CO1FBQ3hHLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvbkVycm9yLCBOYXZpZ2F0aW9uU3RhcnQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTG9nZ2VyLCBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IFVybFNuYXBzaG90IH0gZnJvbSAnLi4vLi4vLi4vdXJsLXNuYXBzaG90JztcbmltcG9ydCB7IE5hdmlnYXRpb25Db250ZXh0IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1jb250ZXh0JztcbmltcG9ydCB7IEV2ZW50Q2xlYW5VcFNlc3Npb24gfSBmcm9tICcuL2V2ZW50LWNsZWFuLXVwLXNlc3Npb24nO1xuXG4vKipcbiAqIFRoaXMgc3RhdGUgaGFuZGxlcyB0aGUgc2NlbmFyaW8gd2hlcmUgYSBwb3Agc3RhdGUgdHJpZ2dlcmVkIGFuZCBpbnRlcmFjdGlvbiBhbmQgdGhlIHVzZXIgY2xpY2tlYiBiYWNrIGEgc2Vjb25kIHRpbWUgdG8gY2FuY2VsIGl0LlxuICogVGhlIHNlcXVlbmNlIG9mIHJvdXRpbmcgZXZlbnRzL3N0YXRlIHRyYW5zaXRpb25zIGlzIGFzIGZvbGxvd3MuXG4gKiAtPiBJZGxlIC0+IFBvcFN0YXRlVHJhbnNpdGlvbiAocG9wcGVkSGlzdG9yeVVybCA9PSBwYWdlIHRvIGdvIHRvLCBzdGFydGluZ1VybCA9IHBhZ2UgdG8gc3RheSBvbiApXG4gKiAtPiBjb25maXJtIGRpYWxvZyBzaG93bi5cbiAqIC0+IGNsaWNrIGJhY2tcbiAqIC0+IFBvcFN0YXRlVHJhbnNpdGlvbiAtPiBDYW5jZWxsZWREdXJpbmdCYWNrQnV0dG9uTmF2aWdhdGlvbkludGVyYWN0aW9uKHRyaWdnZXIgdXJsIGlzIHRoZSBwYWdlIGJlZm9yZSB0aGUgcG9wcGVkIGhpc3RvcnkgdXJsKVxuICogLT4gTmF2aWdhdGlvbkNhbmNlbCAoZm9yIHRoZSBwcmV2aW91cyBiYWNrKVxuICogLT4gUG9wU3RhdGVcbiAqIC0+IE5hdmlnYXRpb25DYW5jZWxcbiAqL1xuZXhwb3J0IGNsYXNzIFdhaXRVbnRpbFBvcFN0YXRlRHVyaW5nQ2FuRGVhY3RpdmF0ZUludGVyYWN0aW9uRmluaXNoZXMgZXh0ZW5kcyBFdmVudENsZWFuVXBTZXNzaW9uIHtcblxuICByZWFkb25seSBpc1BvcFN0YXRlID0gZmFsc2U7XG4gIGZpcnN0Q2FuY2VsSGFuZGxlZCA9IGZhbHNlO1xuICBwb3BTdGF0ZUhhbmRsZWQgPSBmYWxzZTtcbiAgcG9wU3RhdGVFdmVudFVybDogc3RyaW5nO1xuICBvdmVycmlkZSBkZWJ1Z1Byb3BlcnR5S2V5cyA9IFsnaWRsZScsICdzdGFydGluZ1VybCcsICdwb3BwZWRIaXN0b3J5VXJsJywgJ2xvY2F0aW9uQ2hhbmdlVHJpZ2dlclVybCcsICdwb3BTdGF0ZUV2ZW50VXJsJywgJ2ZpcnN0Q2FuY2VsSGFuZGxlZCcsICdwb3BTdGF0ZUhhbmRsZWQnXTtcbiAgcHJpdmF0ZSBwYXJlbnRQYWdlVXJsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoY29udGV4dDogTmF2aWdhdGlvbkNvbnRleHQsXG4gICAgICAgICAgICAgIHN0YXJ0aW5nVXJsOiBzdHJpbmcsXG4gICAgICAgICAgICAgIHJlYWRvbmx5IGxvY2F0aW9uQ2hhbmdlVHJpZ2dlclVybDogc3RyaW5nLFxuICAgICAgICAgICAgICByZWFkb25seSBwb3BwZWRIaXN0b3J5VXJsOiBzdHJpbmcpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdGFydGluZ1VybCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvdmVycmlkZSBvblJvdXRlclN0YXJ0ZWQoZXZlbnQ6IE5hdmlnYXRpb25TdGFydCk6IHZvaWQge1xuICAgIHRoaXMuaWdub3JlKGV2ZW50KTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG92ZXJyaWRlIG9uUm91dGVyQ2FuY2VsbGVkKGV2ZW50OiBOYXZpZ2F0aW9uQ2FuY2VsKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmZpcnN0Q2FuY2VsSGFuZGxlZCkge1xuICAgICAgdGhpcy5maXJzdENhbmNlbEhhbmRsZWQgPSB0cnVlO1xuICAgICAgdGhpcy5wYXJlbnRQYWdlVXJsID0gZXZlbnQudXJsO1xuICAgICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5wb3BTdGF0ZUhhbmRsZWQpIHtcbiAgICAgICAgY29uc3QgZ3JhbmRQYXJlbnRQYWdlVXJsID0gZXZlbnQudXJsO1xuICAgICAgICB0aGlzLnJlcGFpckJyb3dzZXJIaXN0b3J5QW5kVXJsQWZ0ZXJHdWFyZENhbmNlbGxhdGlvbihncmFuZFBhcmVudFBhZ2VVcmwsIHRoaXMucGFyZW50UGFnZVVybCk7XG4gICAgICAgIC8vIHdlJ3ZlIGhhZCBvbmUgbW9yZSBiYWNrIGNsaWNrIHRoYW4gbm9ybWFsIHNvIHdlIG5lZWQgdG8gYWRkIG91ciBpbml0aWFsIHVybCBiYWNrIGluIGFzIHdlbGwuXG4gICAgICAgIHRoaXMucmVzZXRCcm93c2VyTG9jYXRpb24odGhpcy5zdGFydGluZ1VybCwge3JlcGxhY2VDdXJyZW50OiBmYWxzZX0pO1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0LmZpbmlzaFJvdXRpbmdTZXNzaW9uKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJFbmQoZXZlbnQ6IE5hdmlnYXRpb25FbmQpOiB2b2lkIHtcbiAgICB0aGlzLmlnbm9yZShldmVudCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvdmVycmlkZSBvblJvdXRlckVycm9yKGV2ZW50OiBOYXZpZ2F0aW9uRXJyb3IpOiB2b2lkIHtcbiAgICB2b2lkIHRoaXMuaWdub3JlKGV2ZW50KTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG92ZXJyaWRlIG9uUG9wU3RhdGUoZXZlbnQ6IE5hdmlnYXRpb25TdGFydCk6IHZvaWQge1xuICAgIHRoaXMucG9wU3RhdGVIYW5kbGVkID0gdHJ1ZTtcbiAgICB0aGlzLnBvcFN0YXRlRXZlbnRVcmwgPSBldmVudC51cmw7XG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgY2FuRGVhY3RpdmF0ZVBsYWNlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRVcmw6IFVybFNuYXBzaG90LCBuZXh0VXJsOiBVcmxTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFNuYXBzaG90PiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
- import { WaitUntilLeavingInteractionTransitionCancelled } from '../event-cleanup/wait-until-leaving-interaction-transition-cancelled';
2
1
  import { NavigationSession } from '../navigation-session';
2
+ import { WaitUntilLeavingInteractionTransitionCancelled } from '../event-cleanup/wait-until-leaving-interaction-transition-cancelled';
3
3
  import { SynchroniseInteractionContextIdsWithRoute } from './synchronise-interaction-context-ids-with-route';
4
4
  /**
5
5
  * This state exists to handle all events while any kind of navigation is in progress. That way all other states can
@@ -32,4 +32,4 @@ export class NavigatingDuringInteraction extends NavigationSession {
32
32
  this.context.transitionTo(new WaitUntilLeavingInteractionTransitionCancelled(this.context, this.startingUrl, locationTriggerUrl));
33
33
  }
34
34
  }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGluZy1kdXJpbmctaW50ZXJhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9uYXZpZ2F0aW9uL3Nlc3Npb24vaW50ZXJhY3Rpb25zL25hdmlnYXRpbmctZHVyaW5nLWludGVyYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyw4Q0FBOEMsRUFBQyxNQUFNLHNFQUFzRSxDQUFDO0FBQ3BJLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBQyx5Q0FBeUMsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBRTNHOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGlCQUFpQjtJQUN2RCxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBRTVCLFdBQVc7SUFDRixpQkFBaUIsQ0FBQyxLQUF1QjtRQUNoRCxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELFdBQVc7SUFDRixhQUFhLENBQUMsS0FBc0I7UUFDM0MsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsV0FBVztJQUNGLFdBQVcsQ0FBQyxLQUFvQjtRQUN2QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSx5Q0FBeUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtTQUNoSDthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQTtTQUNwRjtJQUNILENBQUM7SUFFRCxXQUFXO0lBQ1gseUNBQXlDLENBQUMsa0JBQTBCO1FBQ2xFLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksOENBQThDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFDdkYsSUFBSSxDQUFDLFdBQVcsRUFDaEIsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvbkVycm9yfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1dhaXRVbnRpbExlYXZpbmdJbnRlcmFjdGlvblRyYW5zaXRpb25DYW5jZWxsZWR9IGZyb20gJy4uL2V2ZW50LWNsZWFudXAvd2FpdC11bnRpbC1sZWF2aW5nLWludGVyYWN0aW9uLXRyYW5zaXRpb24tY2FuY2VsbGVkJztcbmltcG9ydCB7TmF2aWdhdGlvblNlc3Npb259IGZyb20gJy4uL25hdmlnYXRpb24tc2Vzc2lvbic7XG5pbXBvcnQge1N5bmNocm9uaXNlSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlfSBmcm9tICcuL3N5bmNocm9uaXNlLWludGVyYWN0aW9uLWNvbnRleHQtaWRzLXdpdGgtcm91dGUnO1xuXG4vKipcbiAqIFRoaXMgc3RhdGUgZXhpc3RzIHRvIGhhbmRsZSBhbGwgZXZlbnRzIHdoaWxlIGFueSBraW5kIG9mIG5hdmlnYXRpb24gaXMgaW4gcHJvZ3Jlc3MuICBUaGF0IHdheSBhbGwgb3RoZXIgc3RhdGVzIGNhblxuICogaGFwcGlseSBpZ25vcmUgaW50ZXJhY3Rpb24gY29udGV4dHMuXG4gKiBOT1RFOiBUaGlzIHN0YXRlIGlzIGFjdGl2YXRlZCB3aGVuIGV2ZXIgYW4gaW50ZXJhY3Rpb24gaXMgc3RhcnRlZC4gIEl0IG1pZ2h0IGJlIGJldHRlciB0byBzcGxpdCBpdCBpbnRvXG4gKiAgICAgICBkaWZmZXJlbnQgc3RhdGVzIGZvciBkaWZmZXJlbnQgc2NlbmFyaW9zLCBlLmcuIHN0YXJ0aW5nIG1vZGVsLCBzdGFydGluZyBtb2RlbCBkdXJpbmcgcm91dGUgZ3VhcmQgZXRjLlxuICovXG5leHBvcnQgY2xhc3MgTmF2aWdhdGluZ0R1cmluZ0ludGVyYWN0aW9uIGV4dGVuZHMgTmF2aWdhdGlvblNlc3Npb24ge1xuICByZWFkb25seSBpc1BvcFN0YXRlID0gZmFsc2U7XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJDYW5jZWxsZWQoZXZlbnQ6IE5hdmlnYXRpb25DYW5jZWwpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRleHQuZmluaXNoUm91dGluZ1Nlc3Npb24oKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG92ZXJyaWRlIG9uUm91dGVyRXJyb3IoZXZlbnQ6IE5hdmlnYXRpb25FcnJvcik6IHZvaWQge1xuICAgIC8vIG5hdmlnYXRpb24gd2FzIGFib3J0ZWQuXG4gICAgdGhpcy5jb250ZXh0LmZpbmlzaFJvdXRpbmdTZXNzaW9uKCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvdmVycmlkZSBvblJvdXRlckVuZChldmVudDogTmF2aWdhdGlvbkVuZCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbnRleHQucm91dGVySW50ZXJhY3Rpb25BZGFwdGVyLmlzQWN0aXZlKCkpIHtcbiAgICAgIHRoaXMuY29udGV4dC50cmFuc2l0aW9uVG8obmV3IFN5bmNocm9uaXNlSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlKHRoaXMuY29udGV4dCwgdGhpcy5zdGFydGluZ1VybCwgZmFsc2UpKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbnRleHQuZmluaXNoUm91dGluZ1Nlc3Npb24odGhpcy5jcmVhdGVVcGRhdGVkVmlzaXQoZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMpKVxuICAgIH1cbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGhhbmRsZUNhbkRlYWN0aXZhdGVDYW5jZWxsZWRFdmVudFNjZW5hcmlvKGxvY2F0aW9uVHJpZ2dlclVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0LnRyYW5zaXRpb25UbyhuZXcgV2FpdFVudGlsTGVhdmluZ0ludGVyYWN0aW9uVHJhbnNpdGlvbkNhbmNlbGxlZCh0aGlzLmNvbnRleHQsXG4gICAgICB0aGlzLnN0YXJ0aW5nVXJsLFxuICAgICAgbG9jYXRpb25UcmlnZ2VyVXJsKSk7XG4gIH1cblxufVxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGluZy1kdXJpbmctaW50ZXJhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9uYXZpZ2F0aW9uL3Nlc3Npb24vaW50ZXJhY3Rpb25zL25hdmlnYXRpbmctZHVyaW5nLWludGVyYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBRSw4Q0FBOEMsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBRTdHOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGlCQUFpQjtJQUN2RCxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBRTVCLFdBQVc7SUFDRixpQkFBaUIsQ0FBQyxLQUF1QjtRQUNoRCxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELFdBQVc7SUFDRixhQUFhLENBQUMsS0FBc0I7UUFDM0MsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsV0FBVztJQUNGLFdBQVcsQ0FBQyxLQUFvQjtRQUN2QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSx5Q0FBeUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtTQUNoSDthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQTtTQUNwRjtJQUNILENBQUM7SUFFRCxXQUFXO0lBQ1gseUNBQXlDLENBQUMsa0JBQTBCO1FBQ2xFLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksOENBQThDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFDdkYsSUFBSSxDQUFDLFdBQVcsRUFDaEIsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5hdmlnYXRpb25DYW5jZWwsIE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25FcnJvciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXNzaW9uIH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1zZXNzaW9uJztcblxuaW1wb3J0IHsgV2FpdFVudGlsTGVhdmluZ0ludGVyYWN0aW9uVHJhbnNpdGlvbkNhbmNlbGxlZCB9IGZyb20gJy4uL2V2ZW50LWNsZWFudXAvd2FpdC11bnRpbC1sZWF2aW5nLWludGVyYWN0aW9uLXRyYW5zaXRpb24tY2FuY2VsbGVkJztcbmltcG9ydCB7IFN5bmNocm9uaXNlSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlIH0gZnJvbSAnLi9zeW5jaHJvbmlzZS1pbnRlcmFjdGlvbi1jb250ZXh0LWlkcy13aXRoLXJvdXRlJztcblxuLyoqXG4gKiBUaGlzIHN0YXRlIGV4aXN0cyB0byBoYW5kbGUgYWxsIGV2ZW50cyB3aGlsZSBhbnkga2luZCBvZiBuYXZpZ2F0aW9uIGlzIGluIHByb2dyZXNzLiAgVGhhdCB3YXkgYWxsIG90aGVyIHN0YXRlcyBjYW5cbiAqIGhhcHBpbHkgaWdub3JlIGludGVyYWN0aW9uIGNvbnRleHRzLlxuICogTk9URTogVGhpcyBzdGF0ZSBpcyBhY3RpdmF0ZWQgd2hlbiBldmVyIGFuIGludGVyYWN0aW9uIGlzIHN0YXJ0ZWQuICBJdCBtaWdodCBiZSBiZXR0ZXIgdG8gc3BsaXQgaXQgaW50b1xuICogICAgICAgZGlmZmVyZW50IHN0YXRlcyBmb3IgZGlmZmVyZW50IHNjZW5hcmlvcywgZS5nLiBzdGFydGluZyBtb2RlbCwgc3RhcnRpbmcgbW9kZWwgZHVyaW5nIHJvdXRlIGd1YXJkIGV0Yy5cbiAqL1xuZXhwb3J0IGNsYXNzIE5hdmlnYXRpbmdEdXJpbmdJbnRlcmFjdGlvbiBleHRlbmRzIE5hdmlnYXRpb25TZXNzaW9uIHtcbiAgcmVhZG9ubHkgaXNQb3BTdGF0ZSA9IGZhbHNlO1xuXG4gIC8vIEBUcmFjZSgpXG4gIG92ZXJyaWRlIG9uUm91dGVyQ2FuY2VsbGVkKGV2ZW50OiBOYXZpZ2F0aW9uQ2FuY2VsKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0LmZpbmlzaFJvdXRpbmdTZXNzaW9uKCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvdmVycmlkZSBvblJvdXRlckVycm9yKGV2ZW50OiBOYXZpZ2F0aW9uRXJyb3IpOiB2b2lkIHtcbiAgICAvLyBuYXZpZ2F0aW9uIHdhcyBhYm9ydGVkLlxuICAgIHRoaXMuY29udGV4dC5maW5pc2hSb3V0aW5nU2Vzc2lvbigpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJFbmQoZXZlbnQ6IE5hdmlnYXRpb25FbmQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb250ZXh0LnJvdXRlckludGVyYWN0aW9uQWRhcHRlci5pc0FjdGl2ZSgpKSB7XG4gICAgICB0aGlzLmNvbnRleHQudHJhbnNpdGlvblRvKG5ldyBTeW5jaHJvbmlzZUludGVyYWN0aW9uQ29udGV4dElkc1dpdGhSb3V0ZSh0aGlzLmNvbnRleHQsIHRoaXMuc3RhcnRpbmdVcmwsIGZhbHNlKSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb250ZXh0LmZpbmlzaFJvdXRpbmdTZXNzaW9uKHRoaXMuY3JlYXRlVXBkYXRlZFZpc2l0KGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzKSlcbiAgICB9XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBoYW5kbGVDYW5EZWFjdGl2YXRlQ2FuY2VsbGVkRXZlbnRTY2VuYXJpbyhsb2NhdGlvblRyaWdnZXJVcmw6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY29udGV4dC50cmFuc2l0aW9uVG8obmV3IFdhaXRVbnRpbExlYXZpbmdJbnRlcmFjdGlvblRyYW5zaXRpb25DYW5jZWxsZWQodGhpcy5jb250ZXh0LFxuICAgICAgdGhpcy5zdGFydGluZ1VybCxcbiAgICAgIGxvY2F0aW9uVHJpZ2dlclVybCkpO1xuICB9XG5cbn1cbiJdfQ==
@@ -27,4 +27,4 @@ export class PopStateDuringInteractionNavigation extends AbstractPopStateNavigat
27
27
  this.illegalTransition('Leaving interaction after pop-state should\'t block so should never see a back button click');
28
28
  }
29
29
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wLXN0YXRlLWR1cmluZy1pbnRlcmFjdGlvbi1uYXZpZ2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvbmF2aWdhdGlvbi9zZXNzaW9uL2ludGVyYWN0aW9ucy9wb3Atc3RhdGUtZHVyaW5nLWludGVyYWN0aW9uLW5hdmlnYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFNUUsT0FBTyxFQUFDLHlDQUF5QyxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFFM0c7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLDBCQUEwQjtJQUVqRixZQUFZLE9BQTBCLEVBQUUsV0FBbUIsRUFBRSxnQkFBd0I7UUFDbkYsS0FBSyxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVztJQUNGLGlCQUFpQixDQUFDLEtBQXVCO1FBQ2hELElBQUksQ0FBQyxnREFBZ0QsRUFBRSxDQUFDO1FBQ3hELDBIQUEwSDtRQUMxSCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLHlDQUF5QyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkgsQ0FBQztJQUVELFdBQVc7SUFDRixXQUFXLENBQUMsS0FBb0I7UUFDdkMsd0hBQXdIO1FBQ3hILElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQseUNBQXlDLENBQUMsTUFBYztRQUN0RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsNkZBQTZGLENBQUMsQ0FBQztJQUN4SCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05hdmlnYXRpb25DYW5jZWwsIE5hdmlnYXRpb25FbmR9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0Fic3RyYWN0UG9wU3RhdGVOYXZpZ2F0aW9ufSBmcm9tICcuLi9hYnN0cmFjdC1wb3Atc3RhdGUtbmF2aWdhdGlvbic7XG5pbXBvcnQgdHlwZSB7TmF2aWdhdGlvbkNvbnRleHR9IGZyb20gJy4uL25hdmlnYXRpb24tY29udGV4dCc7XG5pbXBvcnQge1N5bmNocm9uaXNlSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlfSBmcm9tICcuL3N5bmNocm9uaXNlLWludGVyYWN0aW9uLWNvbnRleHQtaWRzLXdpdGgtcm91dGUnO1xuXG4vKipcbiAqIFRoaXMgc3RhdGUgZXhpc3RzIHRvIGhhbmRsZSBhbGwgZXZlbnRzIHdoaWxlIGFueSBraW5kIG9mIG5hdmlnYXRpb24gaXMgaW4gcHJvZ3Jlc3MuICBUaGF0IHdheSBhbGwgb3RoZXIgc3RhdGVzIGNhblxuICogaGFwcGlseSBpZ25vcmUgaW50ZXJhY3Rpb24gY29udGV4dHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBQb3BTdGF0ZUR1cmluZ0ludGVyYWN0aW9uTmF2aWdhdGlvbiBleHRlbmRzIEFic3RyYWN0UG9wU3RhdGVOYXZpZ2F0aW9uIHtcblxuICBjb25zdHJ1Y3Rvcihjb250ZXh0OiBOYXZpZ2F0aW9uQ29udGV4dCwgc3RhcnRpbmdVcmw6IHN0cmluZywgcG9wcGVkSGlzdG9yeVVybDogc3RyaW5nKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RhcnRpbmdVcmwsIHBvcHBlZEhpc3RvcnlVcmwpO1xuICB9XG5cbiAgLyoqXG4gICAqIEludm9rZWQgd2hlbiB0aGUgcGxhY2UgcmVmdXNlcyB0byBkZWFjdGl2YXRlIGJlY2F1c2Ugb2YgYW4gdW5maW5pc2hlZCBpbnRlcmFjdGlvbi5cbiAgICogQHBhcmFtIGV2ZW50XG4gICAqL1xuICAvLyBAVHJhY2UoKVxuICBvdmVycmlkZSBvblJvdXRlckNhbmNlbGxlZChldmVudDogTmF2aWdhdGlvbkNhbmNlbCk6IHZvaWQge1xuICAgIHRoaXMucmVwYWlyQnJvd3Nlckhpc3RvcnlBbmRVcmxBZnRlckd1YXJkQ2FuY2VsbGF0aW9uKCk7XG4gICAgLy8gTk9URTogZm9yIG5vdyB3ZSBuZWVkIHRvIHdhc1RyaWdnZXJlZEJ5UG9wU3RhdGU9ZmFsc2UgYmVjYXVzZSB3ZSdyZSByZXNldHRpbmcgdGhlIHVybCBhbmQgaGlzdG9yeSBpbiB0aGUgcHJldmlvdXMgbGluZS5cbiAgICB0aGlzLmNvbnRleHQudHJhbnNpdGlvblRvKG5ldyBTeW5jaHJvbmlzZUludGVyYWN0aW9uQ29udGV4dElkc1dpdGhSb3V0ZSh0aGlzLmNvbnRleHQsIHRoaXMucG9wcGVkSGlzdG9yeVVybCwgZmFsc2UpKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG92ZXJyaWRlIG9uUm91dGVyRW5kKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKTogdm9pZCB7XG4gICAgLy8gdGhpcy5jb250ZXh0LnRyYW5zaXRpb25UbyhuZXcgU3luY2hyb25pc2VJbnRlcmFjdGlvbkNvbnRleHRJZHNXaXRoUm91dGUodGhpcy5jb250ZXh0LCB0aGlzLnBvcHBlZEhpc3RvcnlVcmwsIGZhbHNlKSk7XG4gICAgdGhpcy5jb250ZXh0LmZpbmlzaFJvdXRpbmdTZXNzaW9uKCk7XG4gIH1cblxuICBoYW5kbGVDYW5EZWFjdGl2YXRlQ2FuY2VsbGVkRXZlbnRTY2VuYXJpbyhuZXdVcmw6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaWxsZWdhbFRyYW5zaXRpb24oJ0xlYXZpbmcgaW50ZXJhY3Rpb24gYWZ0ZXIgcG9wLXN0YXRlIHNob3VsZFxcJ3QgYmxvY2sgc28gc2hvdWxkIG5ldmVyIHNlZSBhIGJhY2sgYnV0dG9uIGNsaWNrJyk7XG4gIH1cblxufVxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wLXN0YXRlLWR1cmluZy1pbnRlcmFjdGlvbi1uYXZpZ2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvbmF2aWdhdGlvbi9zZXNzaW9uL2ludGVyYWN0aW9ucy9wb3Atc3RhdGUtZHVyaW5nLWludGVyYWN0aW9uLW5hdmlnYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFOUUsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFN0c7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLDBCQUEwQjtJQUVqRixZQUFZLE9BQTBCLEVBQUUsV0FBbUIsRUFBRSxnQkFBd0I7UUFDbkYsS0FBSyxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVztJQUNGLGlCQUFpQixDQUFDLEtBQXVCO1FBQ2hELElBQUksQ0FBQyxnREFBZ0QsRUFBRSxDQUFDO1FBQ3hELDBIQUEwSDtRQUMxSCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLHlDQUF5QyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkgsQ0FBQztJQUVELFdBQVc7SUFDRixXQUFXLENBQUMsS0FBb0I7UUFDdkMsd0hBQXdIO1FBQ3hILElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQseUNBQXlDLENBQUMsTUFBYztRQUN0RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsNkZBQTZGLENBQUMsQ0FBQztJQUN4SCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYXZpZ2F0aW9uQ2FuY2VsLCBOYXZpZ2F0aW9uRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgQWJzdHJhY3RQb3BTdGF0ZU5hdmlnYXRpb24gfSBmcm9tICcuLi9hYnN0cmFjdC1wb3Atc3RhdGUtbmF2aWdhdGlvbic7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uQ29udGV4dCB9IGZyb20gJy4uL25hdmlnYXRpb24tY29udGV4dCc7XG5pbXBvcnQgeyBTeW5jaHJvbmlzZUludGVyYWN0aW9uQ29udGV4dElkc1dpdGhSb3V0ZSB9IGZyb20gJy4vc3luY2hyb25pc2UtaW50ZXJhY3Rpb24tY29udGV4dC1pZHMtd2l0aC1yb3V0ZSc7XG5cbi8qKlxuICogVGhpcyBzdGF0ZSBleGlzdHMgdG8gaGFuZGxlIGFsbCBldmVudHMgd2hpbGUgYW55IGtpbmQgb2YgbmF2aWdhdGlvbiBpcyBpbiBwcm9ncmVzcy4gIFRoYXQgd2F5IGFsbCBvdGhlciBzdGF0ZXMgY2FuXG4gKiBoYXBwaWx5IGlnbm9yZSBpbnRlcmFjdGlvbiBjb250ZXh0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFBvcFN0YXRlRHVyaW5nSW50ZXJhY3Rpb25OYXZpZ2F0aW9uIGV4dGVuZHMgQWJzdHJhY3RQb3BTdGF0ZU5hdmlnYXRpb24ge1xuXG4gIGNvbnN0cnVjdG9yKGNvbnRleHQ6IE5hdmlnYXRpb25Db250ZXh0LCBzdGFydGluZ1VybDogc3RyaW5nLCBwb3BwZWRIaXN0b3J5VXJsOiBzdHJpbmcpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdGFydGluZ1VybCwgcG9wcGVkSGlzdG9yeVVybCk7XG4gIH1cblxuICAvKipcbiAgICogSW52b2tlZCB3aGVuIHRoZSBwbGFjZSByZWZ1c2VzIHRvIGRlYWN0aXZhdGUgYmVjYXVzZSBvZiBhbiB1bmZpbmlzaGVkIGludGVyYWN0aW9uLlxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICovXG4gIC8vIEBUcmFjZSgpXG4gIG92ZXJyaWRlIG9uUm91dGVyQ2FuY2VsbGVkKGV2ZW50OiBOYXZpZ2F0aW9uQ2FuY2VsKTogdm9pZCB7XG4gICAgdGhpcy5yZXBhaXJCcm93c2VySGlzdG9yeUFuZFVybEFmdGVyR3VhcmRDYW5jZWxsYXRpb24oKTtcbiAgICAvLyBOT1RFOiBmb3Igbm93IHdlIG5lZWQgdG8gd2FzVHJpZ2dlcmVkQnlQb3BTdGF0ZT1mYWxzZSBiZWNhdXNlIHdlJ3JlIHJlc2V0dGluZyB0aGUgdXJsIGFuZCBoaXN0b3J5IGluIHRoZSBwcmV2aW91cyBsaW5lLlxuICAgIHRoaXMuY29udGV4dC50cmFuc2l0aW9uVG8obmV3IFN5bmNocm9uaXNlSW50ZXJhY3Rpb25Db250ZXh0SWRzV2l0aFJvdXRlKHRoaXMuY29udGV4dCwgdGhpcy5wb3BwZWRIaXN0b3J5VXJsLCBmYWxzZSkpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJFbmQoZXZlbnQ6IE5hdmlnYXRpb25FbmQpOiB2b2lkIHtcbiAgICAvLyB0aGlzLmNvbnRleHQudHJhbnNpdGlvblRvKG5ldyBTeW5jaHJvbmlzZUludGVyYWN0aW9uQ29udGV4dElkc1dpdGhSb3V0ZSh0aGlzLmNvbnRleHQsIHRoaXMucG9wcGVkSGlzdG9yeVVybCwgZmFsc2UpKTtcbiAgICB0aGlzLmNvbnRleHQuZmluaXNoUm91dGluZ1Nlc3Npb24oKTtcbiAgfVxuXG4gIGhhbmRsZUNhbkRlYWN0aXZhdGVDYW5jZWxsZWRFdmVudFNjZW5hcmlvKG5ld1VybDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5pbGxlZ2FsVHJhbnNpdGlvbignTGVhdmluZyBpbnRlcmFjdGlvbiBhZnRlciBwb3Atc3RhdGUgc2hvdWxkXFwndCBibG9jayBzbyBzaG91bGQgbmV2ZXIgc2VlIGEgYmFjayBidXR0b24gY2xpY2snKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,48 +1,23 @@
1
1
  import { Deferred, lang } from '@coolon/pectin';
2
2
  import { NavigationSession } from '../navigation-session';
3
- /**
4
- * How long to wait for the popstate triggered by location.back() before assuming it was silently
5
- * dropped and self-healing with an imperative replaceUrl navigation. A real popstate is dispatched
6
- * on the next frame, so this only needs to outlast that; it is the longest the modal backdrop can
7
- * remain stranded in the broken-browser case before we recover.
8
- */
9
- const SELF_HEAL_AFTER_MS = 250;
10
3
  /**
11
4
  * This session tracks the process of removing the last interaction context from the URL and provides a promise
12
5
  * the resolves when the process and completed. This case is special as the process involves a regular routing cycle
13
6
  * followed by a call to location.back(). The later triggers a url change with no other routing events. So this
14
7
  * class tracks when the first routing cycle finishes and then waits for the subsequent lone url change event.
15
- *
16
- * location.back() is preferred because it pops the history entry that opening the interaction pushed, so the
17
- * browser back button closes the interaction in a single click. But a programmatic back() can be silently dropped
18
- * — producing no popstate — by some browser/extension combinations (observed: Chrome 149 with 1Password active on
19
- * a form field). When that happens this session would otherwise never receive its popstate, never finish, and stay
20
- * in progress forever — stranding the modal backdrop and blocking every subsequent navigation. So we arm a watchdog:
21
- * if no popstate arrives, we self-heal with an imperative replaceUrl navigation to the interaction-free url. That
22
- * leaves the url clean and unblocks the router; the only cost in the broken browser is that back doesn't pop the
23
- * pushed entry, so it takes one extra click — unavoidable, since we can't pop history when back() is dropped.
24
8
  */
25
9
  export class RemoveLastInteractionFromUrlNavigationSession extends NavigationSession {
26
- interactionFreeUrl;
27
10
  isPopState = true;
28
11
  debugPropertyKeys = ['startingUrl', 'poppedHistoryUrl'];
29
12
  finished;
30
13
  gotPopState;
31
- selfHealing = false;
32
- constructor(context, startingUrl, interactionFreeUrl) {
14
+ constructor(context, startingUrl) {
33
15
  super(context, startingUrl);
34
- this.interactionFreeUrl = interactionFreeUrl;
35
16
  this.finished = Deferred.defer();
36
17
  }
37
18
  get isInteractionSync() {
38
19
  return true;
39
20
  }
40
- notifyActive() {
41
- // location.back() has already been (or is about to be) called by the time we're active. Arm the
42
- // watchdog so that if its popstate never arrives we recover instead of wedging the router forever.
43
- const handle = setTimeout(() => this.selfHealIfBackWasDropped(), SELF_HEAL_AFTER_MS);
44
- this.onDispose(() => clearTimeout(handle));
45
- }
46
21
  // @Trace()
47
22
  onPopState(event) {
48
23
  this.gotPopState = true;
@@ -56,17 +31,7 @@ export class RemoveLastInteractionFromUrlNavigationSession extends NavigationSes
56
31
  this.ignore(event);
57
32
  }
58
33
  // @Trace()
59
- // override onUrlChange(url: string) {
60
- // }
61
- selfHealIfBackWasDropped() {
62
- if (this.isDisposed() || this.gotPopState) {
63
- // back() landed normally (popstate seen, session finishing/finished) — nothing to heal.
64
- return;
65
- }
66
- // back() was dropped: clean the url imperatively so we don't strand the backdrop or wedge the router.
67
- // onRouterEnd will finish us up once this navigation completes.
68
- this.selfHealing = true;
69
- this.context.navigateByUrl(this.interactionFreeUrl, { replaceUrl: true });
34
+ onUrlChange(url) {
70
35
  }
71
36
  finishUp() {
72
37
  this.context.finishRoutingSession();
@@ -74,7 +39,7 @@ export class RemoveLastInteractionFromUrlNavigationSession extends NavigationSes
74
39
  }
75
40
  // @Trace()
76
41
  onRouterEnd(event) {
77
- if (this.gotPopState || this.selfHealing) {
42
+ if (this.gotPopState) {
78
43
  this.finishUp();
79
44
  }
80
45
  }
@@ -86,4 +51,4 @@ export class RemoveLastInteractionFromUrlNavigationSession extends NavigationSes
86
51
  return this.finished.promise;
87
52
  }
88
53
  }
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWxhc3QtaW50ZXJhY3Rpb24tZnJvbS11cmwtbmF2aWdhdGlvbi1zZXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvbmF2aWdhdGlvbi9zZXNzaW9uL2ludGVyYWN0aW9ucy9yZW1vdmUtbGFzdC1pbnRlcmFjdGlvbi1mcm9tLXVybC1uYXZpZ2F0aW9uLXNlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUc5QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RDs7Ozs7R0FLRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFDO0FBRS9COzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxPQUFPLDZDQUE4QyxTQUFRLGlCQUFpQjtJQVFKO0lBUHJFLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDbEIsaUJBQWlCLEdBQUcsQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUV6RCxRQUFRLENBQW9CO0lBQzVCLFdBQVcsQ0FBVTtJQUNyQixXQUFXLEdBQUcsS0FBSyxDQUFDO0lBRTVCLFlBQVksT0FBMEIsRUFBRSxXQUFtQixFQUFtQixrQkFBK0I7UUFDM0csS0FBSyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztRQURnRCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWE7UUFFM0csSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFXLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQWEsaUJBQWlCO1FBQzVCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVRLFlBQVk7UUFDbkIsZ0dBQWdHO1FBQ2hHLG1HQUFtRztRQUNuRyxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxXQUFXO0lBQ0YsVUFBVSxDQUFDLEtBQXNCO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxXQUFXO0lBQ0YsZUFBZSxDQUFDLEtBQXNCO1FBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7SUFDRixpQkFBaUIsQ0FBQyxLQUF1QjtRQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO0lBQ1gsc0NBQXNDO0lBQ3RDLElBQUk7SUFFSSx3QkFBd0I7UUFDOUIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN6Qyx3RkFBd0Y7WUFDeEYsT0FBTztTQUNSO1FBQ0Qsc0dBQXNHO1FBQ3RHLGdFQUFnRTtRQUNoRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRU8sUUFBUTtRQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztJQUNGLFdBQVcsQ0FBQyxLQUFvQjtRQUN2QyxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN4QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRUQsV0FBVztJQUNYLHlDQUF5QyxDQUFDLGtCQUEwQjtRQUNsRSxJQUFJLENBQUMsWUFBWSxDQUFDLDRIQUE0SCxDQUFDLENBQUM7SUFDbEosQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvblN0YXJ0fSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtEZWZlcnJlZCwgbGFuZ30gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHR5cGUge1VybFNuYXBzaG90fSBmcm9tICcuLi8uLi8uLi91cmwtc25hcHNob3QnO1xuaW1wb3J0IHR5cGUge05hdmlnYXRpb25Db250ZXh0fSBmcm9tICcuLi9uYXZpZ2F0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHtOYXZpZ2F0aW9uU2Vzc2lvbn0gZnJvbSAnLi4vbmF2aWdhdGlvbi1zZXNzaW9uJztcblxuLyoqXG4gKiBIb3cgbG9uZyB0byB3YWl0IGZvciB0aGUgcG9wc3RhdGUgdHJpZ2dlcmVkIGJ5IGxvY2F0aW9uLmJhY2soKSBiZWZvcmUgYXNzdW1pbmcgaXQgd2FzIHNpbGVudGx5XG4gKiBkcm9wcGVkIGFuZCBzZWxmLWhlYWxpbmcgd2l0aCBhbiBpbXBlcmF0aXZlIHJlcGxhY2VVcmwgbmF2aWdhdGlvbi4gQSByZWFsIHBvcHN0YXRlIGlzIGRpc3BhdGNoZWRcbiAqIG9uIHRoZSBuZXh0IGZyYW1lLCBzbyB0aGlzIG9ubHkgbmVlZHMgdG8gb3V0bGFzdCB0aGF0OyBpdCBpcyB0aGUgbG9uZ2VzdCB0aGUgbW9kYWwgYmFja2Ryb3AgY2FuXG4gKiByZW1haW4gc3RyYW5kZWQgaW4gdGhlIGJyb2tlbi1icm93c2VyIGNhc2UgYmVmb3JlIHdlIHJlY292ZXIuXG4gKi9cbmNvbnN0IFNFTEZfSEVBTF9BRlRFUl9NUyA9IDI1MDtcblxuLyoqXG4gKiBUaGlzIHNlc3Npb24gdHJhY2tzIHRoZSBwcm9jZXNzIG9mIHJlbW92aW5nIHRoZSBsYXN0IGludGVyYWN0aW9uIGNvbnRleHQgZnJvbSB0aGUgVVJMIGFuZCBwcm92aWRlcyBhIHByb21pc2VcbiAqIHRoZSByZXNvbHZlcyB3aGVuIHRoZSBwcm9jZXNzIGFuZCBjb21wbGV0ZWQuICBUaGlzIGNhc2UgaXMgc3BlY2lhbCBhcyB0aGUgcHJvY2VzcyBpbnZvbHZlcyBhIHJlZ3VsYXIgcm91dGluZyBjeWNsZVxuICogZm9sbG93ZWQgYnkgYSBjYWxsIHRvIGxvY2F0aW9uLmJhY2soKS4gIFRoZSBsYXRlciB0cmlnZ2VycyBhIHVybCBjaGFuZ2Ugd2l0aCBubyBvdGhlciByb3V0aW5nIGV2ZW50cy4gIFNvIHRoaXNcbiAqIGNsYXNzIHRyYWNrcyB3aGVuIHRoZSBmaXJzdCByb3V0aW5nIGN5Y2xlIGZpbmlzaGVzIGFuZCB0aGVuIHdhaXRzIGZvciB0aGUgc3Vic2VxdWVudCBsb25lIHVybCBjaGFuZ2UgZXZlbnQuXG4gKlxuICogbG9jYXRpb24uYmFjaygpIGlzIHByZWZlcnJlZCBiZWNhdXNlIGl0IHBvcHMgdGhlIGhpc3RvcnkgZW50cnkgdGhhdCBvcGVuaW5nIHRoZSBpbnRlcmFjdGlvbiBwdXNoZWQsIHNvIHRoZVxuICogYnJvd3NlciBiYWNrIGJ1dHRvbiBjbG9zZXMgdGhlIGludGVyYWN0aW9uIGluIGEgc2luZ2xlIGNsaWNrLiBCdXQgYSBwcm9ncmFtbWF0aWMgYmFjaygpIGNhbiBiZSBzaWxlbnRseSBkcm9wcGVkXG4gKiDigJQgcHJvZHVjaW5nIG5vIHBvcHN0YXRlIOKAlCBieSBzb21lIGJyb3dzZXIvZXh0ZW5zaW9uIGNvbWJpbmF0aW9ucyAob2JzZXJ2ZWQ6IENocm9tZSAxNDkgd2l0aCAxUGFzc3dvcmQgYWN0aXZlIG9uXG4gKiBhIGZvcm0gZmllbGQpLiBXaGVuIHRoYXQgaGFwcGVucyB0aGlzIHNlc3Npb24gd291bGQgb3RoZXJ3aXNlIG5ldmVyIHJlY2VpdmUgaXRzIHBvcHN0YXRlLCBuZXZlciBmaW5pc2gsIGFuZCBzdGF5XG4gKiBpbiBwcm9ncmVzcyBmb3JldmVyIOKAlCBzdHJhbmRpbmcgdGhlIG1vZGFsIGJhY2tkcm9wIGFuZCBibG9ja2luZyBldmVyeSBzdWJzZXF1ZW50IG5hdmlnYXRpb24uIFNvIHdlIGFybSBhIHdhdGNoZG9nOlxuICogaWYgbm8gcG9wc3RhdGUgYXJyaXZlcywgd2Ugc2VsZi1oZWFsIHdpdGggYW4gaW1wZXJhdGl2ZSByZXBsYWNlVXJsIG5hdmlnYXRpb24gdG8gdGhlIGludGVyYWN0aW9uLWZyZWUgdXJsLiBUaGF0XG4gKiBsZWF2ZXMgdGhlIHVybCBjbGVhbiBhbmQgdW5ibG9ja3MgdGhlIHJvdXRlcjsgdGhlIG9ubHkgY29zdCBpbiB0aGUgYnJva2VuIGJyb3dzZXIgaXMgdGhhdCBiYWNrIGRvZXNuJ3QgcG9wIHRoZVxuICogcHVzaGVkIGVudHJ5LCBzbyBpdCB0YWtlcyBvbmUgZXh0cmEgY2xpY2sg4oCUIHVuYXZvaWRhYmxlLCBzaW5jZSB3ZSBjYW4ndCBwb3AgaGlzdG9yeSB3aGVuIGJhY2soKSBpcyBkcm9wcGVkLlxuICovXG5leHBvcnQgY2xhc3MgUmVtb3ZlTGFzdEludGVyYWN0aW9uRnJvbVVybE5hdmlnYXRpb25TZXNzaW9uIGV4dGVuZHMgTmF2aWdhdGlvblNlc3Npb24ge1xuICByZWFkb25seSBpc1BvcFN0YXRlID0gdHJ1ZTtcbiAgb3ZlcnJpZGUgZGVidWdQcm9wZXJ0eUtleXMgPSBbJ3N0YXJ0aW5nVXJsJywgJ3BvcHBlZEhpc3RvcnlVcmwnXTtcblxuICBwcml2YXRlIGZpbmlzaGVkOiBEZWZlcnJlZDxib29sZWFuPjtcbiAgcHJpdmF0ZSBnb3RQb3BTdGF0ZTogYm9vbGVhbjtcbiAgcHJpdmF0ZSBzZWxmSGVhbGluZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKGNvbnRleHQ6IE5hdmlnYXRpb25Db250ZXh0LCBzdGFydGluZ1VybDogc3RyaW5nLCBwcml2YXRlIHJlYWRvbmx5IGludGVyYWN0aW9uRnJlZVVybDogVXJsU25hcHNob3QpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdGFydGluZ1VybCk7XG4gICAgdGhpcy5maW5pc2hlZCA9IERlZmVycmVkLmRlZmVyPGJvb2xlYW4+KCk7XG4gIH1cblxuICBvdmVycmlkZSBnZXQgaXNJbnRlcmFjdGlvblN5bmMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBvdmVycmlkZSBub3RpZnlBY3RpdmUoKTogdm9pZCB7XG4gICAgLy8gbG9jYXRpb24uYmFjaygpIGhhcyBhbHJlYWR5IGJlZW4gKG9yIGlzIGFib3V0IHRvIGJlKSBjYWxsZWQgYnkgdGhlIHRpbWUgd2UncmUgYWN0aXZlLiBBcm0gdGhlXG4gICAgLy8gd2F0Y2hkb2cgc28gdGhhdCBpZiBpdHMgcG9wc3RhdGUgbmV2ZXIgYXJyaXZlcyB3ZSByZWNvdmVyIGluc3RlYWQgb2Ygd2VkZ2luZyB0aGUgcm91dGVyIGZvcmV2ZXIuXG4gICAgY29uc3QgaGFuZGxlID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLnNlbGZIZWFsSWZCYWNrV2FzRHJvcHBlZCgpLCBTRUxGX0hFQUxfQUZURVJfTVMpO1xuICAgIHRoaXMub25EaXNwb3NlKCgpID0+IGNsZWFyVGltZW91dChoYW5kbGUpKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG92ZXJyaWRlIG9uUG9wU3RhdGUoZXZlbnQ6IE5hdmlnYXRpb25TdGFydCk6IHZvaWQge1xuICAgIHRoaXMuZ290UG9wU3RhdGUgPSB0cnVlO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJTdGFydGVkKGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQpOiB2b2lkIHtcbiAgICB0aGlzLmlnbm9yZShldmVudCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvdmVycmlkZSBvblJvdXRlckNhbmNlbGxlZChldmVudDogTmF2aWdhdGlvbkNhbmNlbCk6IHZvaWQge1xuICAgIHRoaXMuaWdub3JlKGV2ZW50KTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIC8vIG92ZXJyaWRlIG9uVXJsQ2hhbmdlKHVybDogc3RyaW5nKSB7XG4gIC8vIH1cblxuICBwcml2YXRlIHNlbGZIZWFsSWZCYWNrV2FzRHJvcHBlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0Rpc3Bvc2VkKCkgfHwgdGhpcy5nb3RQb3BTdGF0ZSkge1xuICAgICAgLy8gYmFjaygpIGxhbmRlZCBub3JtYWxseSAocG9wc3RhdGUgc2Vlbiwgc2Vzc2lvbiBmaW5pc2hpbmcvZmluaXNoZWQpIOKAlCBub3RoaW5nIHRvIGhlYWwuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIGJhY2soKSB3YXMgZHJvcHBlZDogY2xlYW4gdGhlIHVybCBpbXBlcmF0aXZlbHkgc28gd2UgZG9uJ3Qgc3RyYW5kIHRoZSBiYWNrZHJvcCBvciB3ZWRnZSB0aGUgcm91dGVyLlxuICAgIC8vIG9uUm91dGVyRW5kIHdpbGwgZmluaXNoIHVzIHVwIG9uY2UgdGhpcyBuYXZpZ2F0aW9uIGNvbXBsZXRlcy5cbiAgICB0aGlzLnNlbGZIZWFsaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmNvbnRleHQubmF2aWdhdGVCeVVybCh0aGlzLmludGVyYWN0aW9uRnJlZVVybCwge3JlcGxhY2VVcmw6IHRydWV9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmluaXNoVXAoKSB7XG4gICAgdGhpcy5jb250ZXh0LmZpbmlzaFJvdXRpbmdTZXNzaW9uKCk7XG4gICAgdGhpcy5maW5pc2hlZC5yZXNvbHZlKHRydWUpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJFbmQoZXZlbnQ6IE5hdmlnYXRpb25FbmQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5nb3RQb3BTdGF0ZSB8fCB0aGlzLnNlbGZIZWFsaW5nKSB7XG4gICAgICB0aGlzLmZpbmlzaFVwKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgaGFuZGxlQ2FuRGVhY3RpdmF0ZUNhbmNlbGxlZEV2ZW50U2NlbmFyaW8obG9jYXRpb25UcmlnZ2VyVXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsYW5nLmlsbGVnYWxTdGF0ZSgnb25DYW5EZWFjdGl2YXRlSW50ZXJhY3Rpb25DYW5jZWxsZWQgbm90IHN1cHBvcnRlZCBmb3IgYWN0aXZpdHkgY29udGV4dCBzeW5jaHJvbmlzYXRpb24gc2luY2Ugd2Ugc2hvdWxkIG5ldmVyIGxlYXZlIGEgcGxhY2UnKTtcbiAgfVxuXG4gIGdldCBmaW5pc2hlZFByb21pc2UoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoZWQucHJvbWlzZTtcbiAgfVxuXG59Il19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWxhc3QtaW50ZXJhY3Rpb24tZnJvbS11cmwtbmF2aWdhdGlvbi1zZXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvbmF2aWdhdGlvbi9zZXNzaW9uL2ludGVyYWN0aW9ucy9yZW1vdmUtbGFzdC1pbnRlcmFjdGlvbi1mcm9tLXVybC1uYXZpZ2F0aW9uLXNlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQVMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyw2Q0FBOEMsU0FBUSxpQkFBaUI7SUFDekUsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNsQixpQkFBaUIsR0FBRyxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBRXpELFFBQVEsQ0FBb0I7SUFDNUIsV0FBVyxDQUFVO0lBRTdCLFlBQVksT0FBMEIsRUFBRSxXQUFtQjtRQUN6RCxLQUFLLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBVyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFhLGlCQUFpQjtRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFHRCxXQUFXO0lBQ0YsVUFBVSxDQUFDLEtBQXNCO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxXQUFXO0lBQ0YsZUFBZSxDQUFDLEtBQXNCO1FBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7SUFDRixpQkFBaUIsQ0FBQyxLQUF1QjtRQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO0lBQ0YsV0FBVyxDQUFDLEdBQVc7SUFDaEMsQ0FBQztJQUVPLFFBQVE7UUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7SUFDRixXQUFXLENBQUMsS0FBb0I7UUFDdkMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFRCxXQUFXO0lBQ1gseUNBQXlDLENBQUMsa0JBQTBCO1FBQ2xFLElBQUksQ0FBQyxZQUFZLENBQUMsNEhBQTRILENBQUMsQ0FBQztJQUNsSixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDL0IsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvblN0YXJ0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERlZmVycmVkLCBsYW5nLCBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IE5hdmlnYXRpb25Db250ZXh0IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1jb250ZXh0JztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXNzaW9uIH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1zZXNzaW9uJztcblxuLyoqXG4gKiBUaGlzIHNlc3Npb24gdHJhY2tzIHRoZSBwcm9jZXNzIG9mIHJlbW92aW5nIHRoZSBsYXN0IGludGVyYWN0aW9uIGNvbnRleHQgZnJvbSB0aGUgVVJMIGFuZCBwcm92aWRlcyBhIHByb21pc2VcbiAqIHRoZSByZXNvbHZlcyB3aGVuIHRoZSBwcm9jZXNzIGFuZCBjb21wbGV0ZWQuICBUaGlzIGNhc2UgaXMgc3BlY2lhbCBhcyB0aGUgcHJvY2VzcyBpbnZvbHZlcyBhIHJlZ3VsYXIgcm91dGluZyBjeWNsZVxuICogZm9sbG93ZWQgYnkgYSBjYWxsIHRvIGxvY2F0aW9uLmJhY2soKS4gIFRoZSBsYXRlciB0cmlnZ2VycyBhIHVybCBjaGFuZ2Ugd2l0aCBubyBvdGhlciByb3V0aW5nIGV2ZW50cy4gIFNvIHRoaXNcbiAqIGNsYXNzIHRyYWNrcyB3aGVuIHRoZSBmaXJzdCByb3V0aW5nIGN5Y2xlIGZpbmlzaGVzIGFuZCB0aGVuIHdhaXRzIGZvciB0aGUgc3Vic2VxdWVudCBsb25lIHVybCBjaGFuZ2UgZXZlbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZW1vdmVMYXN0SW50ZXJhY3Rpb25Gcm9tVXJsTmF2aWdhdGlvblNlc3Npb24gZXh0ZW5kcyBOYXZpZ2F0aW9uU2Vzc2lvbiB7XG4gIHJlYWRvbmx5IGlzUG9wU3RhdGUgPSB0cnVlO1xuICBvdmVycmlkZSBkZWJ1Z1Byb3BlcnR5S2V5cyA9IFsnc3RhcnRpbmdVcmwnLCAncG9wcGVkSGlzdG9yeVVybCddO1xuXG4gIHByaXZhdGUgZmluaXNoZWQ6IERlZmVycmVkPGJvb2xlYW4+O1xuICBwcml2YXRlIGdvdFBvcFN0YXRlOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKGNvbnRleHQ6IE5hdmlnYXRpb25Db250ZXh0LCBzdGFydGluZ1VybDogc3RyaW5nKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RhcnRpbmdVcmwpO1xuICAgIHRoaXMuZmluaXNoZWQgPSBEZWZlcnJlZC5kZWZlcjxib29sZWFuPigpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0IGlzSW50ZXJhY3Rpb25TeW5jKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cblxuICAvLyBAVHJhY2UoKVxuICBvdmVycmlkZSBvblBvcFN0YXRlKGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQpOiB2b2lkIHtcbiAgICB0aGlzLmdvdFBvcFN0YXRlID0gdHJ1ZTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG92ZXJyaWRlIG9uUm91dGVyU3RhcnRlZChldmVudDogTmF2aWdhdGlvblN0YXJ0KTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb3ZlcnJpZGUgb25Sb3V0ZXJDYW5jZWxsZWQoZXZlbnQ6IE5hdmlnYXRpb25DYW5jZWwpOiB2b2lkIHtcbiAgICB0aGlzLmlnbm9yZShldmVudCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvdmVycmlkZSBvblVybENoYW5nZSh1cmw6IHN0cmluZykge1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5pc2hVcCgpIHtcbiAgICB0aGlzLmNvbnRleHQuZmluaXNoUm91dGluZ1Nlc3Npb24oKTtcbiAgICB0aGlzLmZpbmlzaGVkLnJlc29sdmUodHJ1ZSk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvdmVycmlkZSBvblJvdXRlckVuZChldmVudDogTmF2aWdhdGlvbkVuZCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmdvdFBvcFN0YXRlKSB7XG4gICAgICB0aGlzLmZpbmlzaFVwKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgaGFuZGxlQ2FuRGVhY3RpdmF0ZUNhbmNlbGxlZEV2ZW50U2NlbmFyaW8obG9jYXRpb25UcmlnZ2VyVXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsYW5nLmlsbGVnYWxTdGF0ZSgnb25DYW5EZWFjdGl2YXRlSW50ZXJhY3Rpb25DYW5jZWxsZWQgbm90IHN1cHBvcnRlZCBmb3IgYWN0aXZpdHkgY29udGV4dCBzeW5jaHJvbmlzYXRpb24gc2luY2Ugd2Ugc2hvdWxkIG5ldmVyIGxlYXZlIGEgcGxhY2UnKTtcbiAgfVxuXG4gIGdldCBmaW5pc2hlZFByb21pc2UoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoZWQucHJvbWlzZTtcbiAgfVxuXG59XG4iXX0=