@theseam/ui-common 0.4.0-beta.6 → 0.4.2

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 (668) hide show
  1. package/breadcrumbs/breadcrumbs/breadcrumbs.component.d.ts +1 -3
  2. package/card/card-body/card-body.component.d.ts +2 -4
  3. package/card/card-footer/card-footer.component.d.ts +1 -4
  4. package/card/card-header/card-header.component.d.ts +1 -4
  5. package/card/card.component.d.ts +1 -4
  6. package/carousel/carousel-slide.directive.d.ts +8 -0
  7. package/carousel/carousel.component.d.ts +85 -0
  8. package/carousel/carousel.module.d.ts +11 -0
  9. package/carousel/index.d.ts +5 -0
  10. package/carousel/public-api.d.ts +3 -0
  11. package/checkbox/checkbox.component.d.ts +2 -4
  12. package/core/common-behaviors/active.d.ts +1 -1
  13. package/core/common-behaviors/disabled.d.ts +1 -1
  14. package/core/common-behaviors/initialized.d.ts +1 -1
  15. package/data-filters/data-filter.d.ts +1 -1
  16. package/datatable/datatable-column/datatable-column.component.d.ts +2 -3
  17. package/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.d.ts +1 -3
  18. package/datatable/datatable-export-button/datatable-export-button.component.d.ts +1 -3
  19. package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +2 -5
  20. package/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.d.ts +1 -4
  21. package/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.d.ts +1 -4
  22. package/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.d.ts +1 -4
  23. package/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.d.ts +1 -4
  24. package/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.d.ts +1 -3
  25. package/datatable/directives/datatable-action-menu-item.directive.d.ts +2 -4
  26. package/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.d.ts +1 -3
  27. package/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.d.ts +3 -4
  28. package/datatable-dynamic/datatable-dynamic-menu-bar-item-manifest.d.ts +1 -1
  29. package/datatable-dynamic/datatable-dynamic.component.d.ts +1 -4
  30. package/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.d.ts +3 -4
  31. package/dynamic/action/modal/dynamic-action-modal-def.d.ts +1 -1
  32. package/esm2020/asset-reader/asset-reader-helper.service.mjs +7 -5
  33. package/esm2020/asset-reader/asset-reader.module.mjs +4 -4
  34. package/esm2020/asset-reader/encrypted-asset-link.directive.mjs +3 -3
  35. package/esm2020/breadcrumbs/breadcrumb.mjs +1 -1
  36. package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +4 -5
  37. package/esm2020/breadcrumbs/breadcrumbs-resolver.mjs +1 -1
  38. package/esm2020/breadcrumbs/breadcrumbs.module.mjs +5 -5
  39. package/esm2020/breadcrumbs/breadcrumbs.service.mjs +7 -7
  40. package/esm2020/buttons/badge-button/badge-button.component.mjs +9 -7
  41. package/esm2020/buttons/button/button.component.mjs +12 -10
  42. package/esm2020/buttons/buttons.module.mjs +4 -4
  43. package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +4 -4
  44. package/esm2020/buttons/toggle-button/toggle-button.component.mjs +6 -6
  45. package/esm2020/card/card-action/card-action.component.mjs +4 -4
  46. package/esm2020/card/card-body/card-body.component.mjs +5 -6
  47. package/esm2020/card/card-footer/card-footer.component.mjs +5 -8
  48. package/esm2020/card/card-header/card-header.component.mjs +5 -7
  49. package/esm2020/card/card.component.mjs +5 -7
  50. package/esm2020/card/card.module.mjs +4 -4
  51. package/esm2020/carousel/carousel-slide.directive.mjs +16 -0
  52. package/esm2020/carousel/carousel.component.mjs +211 -0
  53. package/esm2020/carousel/carousel.module.mjs +38 -0
  54. package/esm2020/carousel/public-api.mjs +4 -0
  55. package/esm2020/carousel/theseam-ui-common-carousel.mjs +5 -0
  56. package/esm2020/checkbox/checkbox.component.mjs +5 -6
  57. package/esm2020/checkbox/checkbox.module.mjs +4 -4
  58. package/esm2020/checkbox/testing/checkbox.harness.mjs +1 -1
  59. package/esm2020/checkbox/testing/index.mjs +1 -1
  60. package/esm2020/confirm-dialog/confirm-click.directive.mjs +6 -6
  61. package/esm2020/confirm-dialog/confirm-dialog.component.mjs +3 -3
  62. package/esm2020/confirm-dialog/confirm-dialog.module.mjs +4 -4
  63. package/esm2020/confirm-dialog/confirm-dialog.service.mjs +3 -3
  64. package/esm2020/core/common-behaviors/active.mjs +2 -1
  65. package/esm2020/core/common-behaviors/disabled.mjs +2 -1
  66. package/esm2020/core/common-behaviors/initialized.mjs +2 -1
  67. package/esm2020/core/common-behaviors/tabindex.mjs +2 -1
  68. package/esm2020/core/input-decorators/input-boolean.decorator.mjs +4 -5
  69. package/esm2020/core/input-decorators/input-number.decorator.mjs +4 -5
  70. package/esm2020/data-exporter/data-exporter.module.mjs +4 -4
  71. package/esm2020/data-exporter/exporters/csv-exporter.mjs +3 -3
  72. package/esm2020/data-exporter/exporters/xlsx-exporter.mjs +3 -3
  73. package/esm2020/data-filters/data-filter.mjs +1 -1
  74. package/esm2020/data-filters/data-filters.module.mjs +4 -4
  75. package/esm2020/data-filters/filters/data-filter-search/data-filter-search.component.mjs +5 -5
  76. package/esm2020/data-filters/filters/data-filter-text/data-filter-text.component.mjs +6 -6
  77. package/esm2020/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.mjs +11 -8
  78. package/esm2020/datatable/datatable/datatable.component.mjs +11 -6
  79. package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +3 -3
  80. package/esm2020/datatable/datatable-action-menu-item/datatable-action-menu-item.component.mjs +5 -4
  81. package/esm2020/datatable/datatable-column/datatable-column.component.mjs +4 -5
  82. package/esm2020/datatable/datatable-column-preferences/datatable-column-preferences.component.mjs +3 -3
  83. package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +4 -5
  84. package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +5 -5
  85. package/esm2020/datatable/datatable-footer/datatable-footer-tpl.directive.mjs +3 -3
  86. package/esm2020/datatable/datatable-footer/datatable-footer.directive.mjs +5 -5
  87. package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +9 -13
  88. package/esm2020/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.mjs +5 -8
  89. package/esm2020/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.mjs +5 -8
  90. package/esm2020/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.mjs +5 -8
  91. package/esm2020/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.mjs +5 -8
  92. package/esm2020/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.mjs +4 -5
  93. package/esm2020/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.mjs +3 -3
  94. package/esm2020/datatable/datatable-row-detail/datatable-row-detail.directive.mjs +5 -5
  95. package/esm2020/datatable/datatable.module.mjs +4 -4
  96. package/esm2020/datatable/directives/datatable-action-menu-item.directive.mjs +5 -6
  97. package/esm2020/datatable/directives/datatable-action-menu-toggle.directive.mjs +3 -3
  98. package/esm2020/datatable/directives/datatable-cell-tpl.directive.mjs +3 -3
  99. package/esm2020/datatable/directives/datatable-filter.directive.mjs +3 -3
  100. package/esm2020/datatable/directives/datatable-row-action-item.directive.mjs +3 -3
  101. package/esm2020/datatable/models/columns-alteration.mjs +1 -1
  102. package/esm2020/datatable/models/columns-alterations/order.columns-alteration.mjs +3 -1
  103. package/esm2020/datatable/models/datatable-gql-data-source.mjs +1 -1
  104. package/esm2020/datatable/models/internal-column-props.mjs +1 -1
  105. package/esm2020/datatable/models/sort-item.mjs +1 -1
  106. package/esm2020/datatable/services/columns-alterations-manager.service.mjs +4 -4
  107. package/esm2020/datatable/services/columns-manager.service.mjs +5 -5
  108. package/esm2020/datatable/services/datatable-column-changes.service.mjs +3 -3
  109. package/esm2020/datatable/services/datatable-preferences.service.mjs +5 -4
  110. package/esm2020/datatable/services/datatable-scrollbar-helper.service.mjs +5 -5
  111. package/esm2020/datatable/utils/map-columns-alterations-states.mjs +4 -1
  112. package/esm2020/datatable/utils/set-column-defaults.mjs +2 -2
  113. package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +5 -6
  114. package/esm2020/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.mjs +4 -4
  115. package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.mjs +6 -7
  116. package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-item-manifest.mjs +1 -1
  117. package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +4 -6
  118. package/esm2020/datatable-dynamic/datatable-dynamic.module.mjs +4 -4
  119. package/esm2020/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.mjs +6 -6
  120. package/esm2020/datatable-dynamic/dynamic-datatable-def.service.mjs +7 -7
  121. package/esm2020/datatable-dynamic/dynamic-datatable-row-actions.service.mjs +6 -6
  122. package/esm2020/dynamic/action/api/dynamic-action-api.service.mjs +11 -8
  123. package/esm2020/dynamic/action/dynamic-action-helper.service.mjs +6 -5
  124. package/esm2020/dynamic/action/link/dynamic-action-link.service.mjs +4 -4
  125. package/esm2020/dynamic/action/modal/dynamic-action-modal-def.mjs +1 -1
  126. package/esm2020/dynamic/action/modal/dynamic-action-modal.service.mjs +4 -4
  127. package/esm2020/dynamic/dynamic-value-helper.service.mjs +5 -4
  128. package/esm2020/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.mjs +4 -4
  129. package/esm2020/dynamic/evaluators/jexl-evaluator/jexl-evaluator.mjs +5 -5
  130. package/esm2020/dynamic-component-loader/dynamic-component-loader.module.mjs +4 -4
  131. package/esm2020/dynamic-component-loader/dynamic-component-loader.service.mjs +9 -9
  132. package/esm2020/footer-bar/footer-bar/footer-bar.component.mjs +5 -8
  133. package/esm2020/footer-bar/footer-bar.module.mjs +5 -5
  134. package/esm2020/form-field/form-field-error.directive.mjs +4 -4
  135. package/esm2020/form-field/form-field-help-text.directive.mjs +3 -3
  136. package/esm2020/form-field/form-field-label-tpl.directive.mjs +3 -3
  137. package/esm2020/form-field/form-field-required-indicator.component.mjs +4 -4
  138. package/esm2020/form-field/form-field.component.mjs +5 -5
  139. package/esm2020/form-field/form-field.module.mjs +4 -4
  140. package/esm2020/form-field/input.directive.mjs +10 -9
  141. package/esm2020/form-field/testing/form-field-required-indicator.harness.mjs +1 -1
  142. package/esm2020/form-field/testing/index.mjs +1 -1
  143. package/esm2020/form-field-error/form-field-error/form-field-error.component.mjs +5 -7
  144. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.mjs +4 -4
  145. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item.directive.mjs +3 -3
  146. package/esm2020/form-field-error/form-field-error-list/form-field-error-list.component.mjs +8 -8
  147. package/esm2020/form-field-error/form-field-error.module.mjs +4 -4
  148. package/esm2020/framework/base-layout/base-layout.component.mjs +5 -4
  149. package/esm2020/framework/base-layout/base-layout.module.mjs +5 -5
  150. package/esm2020/framework/base-layout/directives/base-layout-content-footer.directive.mjs +3 -3
  151. package/esm2020/framework/base-layout/directives/base-layout-content-header.directive.mjs +3 -3
  152. package/esm2020/framework/base-layout/directives/base-layout-content.directive.mjs +3 -3
  153. package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +3 -3
  154. package/esm2020/framework/base-layout/directives/base-layout-side-bar-footer.directive.mjs +3 -3
  155. package/esm2020/framework/base-layout/directives/base-layout-side-bar.directive.mjs +3 -3
  156. package/esm2020/framework/base-layout/directives/base-layout-top-bar.directive.mjs +3 -3
  157. package/esm2020/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.mjs +5 -7
  158. package/esm2020/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.mjs +4 -5
  159. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.mjs +7 -7
  160. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.mjs +6 -5
  161. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +4 -4
  162. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.service.mjs +7 -5
  163. package/esm2020/framework/dashboard/dashboard.component.mjs +5 -5
  164. package/esm2020/framework/dashboard/dashboard.module.mjs +4 -4
  165. package/esm2020/framework/dynamic-router/dynamic-route-def.mjs +1 -1
  166. package/esm2020/framework/dynamic-router/dynamic-router.module.mjs +5 -5
  167. package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-route-animations.mjs +1 -1
  168. package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.mjs +5 -6
  169. package/esm2020/framework/dynamic-router/resolvers/hierarchy-level.resolver.mjs +5 -6
  170. package/esm2020/framework/schema-form/schema-form-framework.component.mjs +3 -3
  171. package/esm2020/framework/schema-form/schema-form-framework.mjs +3 -3
  172. package/esm2020/framework/schema-form/schema-form.module.mjs +4 -4
  173. package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +3 -3
  174. package/esm2020/framework/schema-form-controls/schema-form-controls.module.mjs +4 -4
  175. package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +3 -3
  176. package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +3 -3
  177. package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +3 -3
  178. package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +3 -3
  179. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +5 -4
  180. package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +5 -5
  181. package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +5 -6
  182. package/esm2020/framework/side-nav/side-nav-utils.mjs +2 -1
  183. package/esm2020/framework/side-nav/side-nav.component.mjs +6 -7
  184. package/esm2020/framework/side-nav/side-nav.module.mjs +4 -4
  185. package/esm2020/framework/side-nav/side-nav.service.mjs +3 -3
  186. package/esm2020/framework/top-bar/top-bar-item.directive.mjs +3 -3
  187. package/esm2020/framework/top-bar/top-bar-menu-btn-detail.directive.mjs +3 -3
  188. package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +4 -6
  189. package/esm2020/framework/top-bar/top-bar-menu.directive.mjs +3 -3
  190. package/esm2020/framework/top-bar/top-bar-title/top-bar-title.component.mjs +5 -7
  191. package/esm2020/framework/top-bar/top-bar.component.mjs +4 -6
  192. package/esm2020/framework/top-bar/top-bar.module.mjs +4 -4
  193. package/esm2020/google-maps/google-maps/google-maps.component.mjs +53 -32
  194. package/esm2020/google-maps/google-maps-api-loader/lazy-google-maps-api-loader.mjs +3 -3
  195. package/esm2020/google-maps/google-maps-api-loader/noop-google-maps-api-loader.mjs +3 -3
  196. package/esm2020/google-maps/google-maps-contextmenu.mjs +9 -8
  197. package/esm2020/google-maps/google-maps-controls.service.mjs +3 -3
  198. package/esm2020/google-maps/google-maps-feature-helpers.mjs +13 -1
  199. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +9 -10
  200. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.mjs +9 -9
  201. package/esm2020/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.mjs +6 -6
  202. package/esm2020/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.mjs +6 -6
  203. package/esm2020/google-maps/google-maps.module.mjs +8 -6
  204. package/esm2020/google-maps/google-maps.service.mjs +103 -32
  205. package/esm2020/google-maps/map-control.component.mjs +3 -3
  206. package/esm2020/google-maps/map-file-drop/map-file-drop.component.mjs +4 -4
  207. package/esm2020/google-maps/map-value-manager.service.mjs +3 -3
  208. package/esm2020/graphql/datatable/datatable-graphql-query-ref.mjs +1 -27
  209. package/esm2020/graphql/datatable/datatable-graphql.service.mjs +4 -4
  210. package/esm2020/graphql/datatable/datatable-helpers.mjs +2 -2
  211. package/esm2020/graphql/datatable/map-filter-states.mjs +2 -1
  212. package/esm2020/graphql/utils/inline-variables.mjs +2 -1
  213. package/esm2020/graphql/utils/parse-hints.mjs +3 -3
  214. package/esm2020/graphql/utils/to-gql.mjs +3 -3
  215. package/esm2020/icon/icon/icon.component.mjs +5 -5
  216. package/esm2020/icon/icon-btn/icon-btn.component.mjs +4 -5
  217. package/esm2020/icon/icon-notification/icon-notification.component.mjs +3 -3
  218. package/esm2020/icon/icon.module.mjs +4 -4
  219. package/esm2020/icon/utils/get-known-icon.mjs +71 -71
  220. package/esm2020/layout/breakpoint-aliases.mjs +1 -1
  221. package/esm2020/layout/layout.module.mjs +4 -4
  222. package/esm2020/layout/layout.service.mjs +3 -3
  223. package/esm2020/layout/observe-media-query.mjs +1 -1
  224. package/esm2020/loading/loading/loading.component.mjs +8 -9
  225. package/esm2020/loading/loading-overlay.service.mjs +3 -3
  226. package/esm2020/loading/loading.module.mjs +4 -4
  227. package/esm2020/menu/menu-divider.component.mjs +3 -3
  228. package/esm2020/menu/menu-footer/menu-footer.component.mjs +3 -3
  229. package/esm2020/menu/menu-footer-action/menu-footer-action.component.mjs +4 -4
  230. package/esm2020/menu/menu-header/menu-header.component.mjs +3 -3
  231. package/esm2020/menu/menu-item.component.mjs +44 -17
  232. package/esm2020/menu/menu-toggle.directive.mjs +203 -44
  233. package/esm2020/menu/menu.component.mjs +39 -16
  234. package/esm2020/menu/menu.module.mjs +4 -4
  235. package/esm2020/modal/directives/modal-close.directive.mjs +3 -3
  236. package/esm2020/modal/directives/modal-footer-tpl.directive.mjs +3 -3
  237. package/esm2020/modal/directives/modal-header-icon-tpl.directive.mjs +3 -3
  238. package/esm2020/modal/directives/modal-header-title-tpl.directive.mjs +3 -3
  239. package/esm2020/modal/directives/modal-title.directive.mjs +3 -3
  240. package/esm2020/modal/directives/modal.directive.mjs +5 -5
  241. package/esm2020/modal/modal/modal.component.mjs +6 -7
  242. package/esm2020/modal/modal-body/modal-body.component.mjs +5 -7
  243. package/esm2020/modal/modal-config.mjs +1 -1
  244. package/esm2020/modal/modal-container/modal-container.component.mjs +4 -4
  245. package/esm2020/modal/modal-footer/modal-footer.component.mjs +5 -7
  246. package/esm2020/modal/modal-header/modal-header.component.mjs +5 -7
  247. package/esm2020/modal/modal-ref.mjs +1 -1
  248. package/esm2020/modal/modal.module.mjs +4 -4
  249. package/esm2020/modal/modal.service.mjs +26 -23
  250. package/esm2020/modal/route-modal/route-modal.component.mjs +4 -5
  251. package/esm2020/popover/popover/popover.component.mjs +3 -3
  252. package/esm2020/popover/popover.directive.mjs +4 -4
  253. package/esm2020/popover/popover.module.mjs +5 -5
  254. package/esm2020/progress/progress-circle/progress-circle.component.mjs +10 -10
  255. package/esm2020/progress/progress.module.mjs +4 -4
  256. package/esm2020/scrollbar/overlay-scrollbar.directive.mjs +4 -5
  257. package/esm2020/scrollbar/overlay-scrollbars.service.mjs +4 -4
  258. package/esm2020/scrollbar/scrollbar.module.mjs +4 -4
  259. package/esm2020/services/asset-loader.service.mjs +5 -6
  260. package/esm2020/services/font-loader.service.mjs +5 -6
  261. package/esm2020/services/router-helpers.service.mjs +3 -3
  262. package/esm2020/shared/components/password-input-reveal/password-input-reveal.component.mjs +3 -3
  263. package/esm2020/shared/directives/auto-focus.directive.mjs +3 -3
  264. package/esm2020/shared/directives/click-outside.directive.mjs +3 -3
  265. package/esm2020/shared/directives/disable-control.directive.mjs +3 -3
  266. package/esm2020/shared/directives/elem-resized.directive.mjs +5 -5
  267. package/esm2020/shared/directives/hover-class-toggle.directive.mjs +4 -4
  268. package/esm2020/shared/directives/hover-class.directive.mjs +3 -3
  269. package/esm2020/shared/directives/ng-select-extra.directive.mjs +7 -7
  270. package/esm2020/shared/directives/ngx-quill-extra.directive.mjs +5 -5
  271. package/esm2020/shared/pipes/mask-chars.pipe.mjs +3 -3
  272. package/esm2020/shared/pipes/truncate.pipe.mjs +3 -3
  273. package/esm2020/shared/shared.module.mjs +4 -4
  274. package/esm2020/storage/local-storage.service.mjs +8 -8
  275. package/esm2020/storage/localstorage-memory.mjs +4 -4
  276. package/esm2020/story-helpers/arg-type-helpers.mjs +1 -1
  277. package/esm2020/story-helpers/initial-route.service.mjs +3 -3
  278. package/esm2020/story-helpers/on-story-bootstrapped-trigger.mjs +2 -1
  279. package/esm2020/story-helpers/public-api.mjs +2 -2
  280. package/esm2020/story-helpers/story-empty-with-route.component.mjs +3 -3
  281. package/esm2020/story-helpers/story-empty.component.mjs +3 -3
  282. package/esm2020/story-helpers/story-helper-components.module.mjs +4 -4
  283. package/esm2020/story-helpers/story-initial-route.mjs +4 -4
  284. package/esm2020/story-helpers/story-modal-container.component.mjs +4 -4
  285. package/esm2020/story-helpers/story-toastr.service.mjs +3 -3
  286. package/esm2020/tabbed/directives/tabbed-tab-content.directive.mjs +5 -5
  287. package/esm2020/tabbed/directives/tabbed-tab.directive.mjs +5 -4
  288. package/esm2020/tabbed/tabbed-content/tabbed-content.component.mjs +5 -7
  289. package/esm2020/tabbed/tabbed-item/tabbed-item.component.mjs +5 -6
  290. package/esm2020/tabbed/tabbed.component.mjs +4 -4
  291. package/esm2020/tabbed/tabbed.module.mjs +4 -4
  292. package/esm2020/tabbed/tabbed.service.mjs +5 -5
  293. package/esm2020/table/table/table.component.mjs +5 -6
  294. package/esm2020/table/table.module.mjs +4 -4
  295. package/esm2020/table-cell-type/services/table-cell-types-helpers.service.mjs +5 -5
  296. package/esm2020/table-cell-type/table-cell-type-export-props.mjs +1 -1
  297. package/esm2020/table-cell-type/table-cell-type-models.mjs +1 -1
  298. package/esm2020/table-cell-type/table-cell-type-selector.component.mjs +5 -6
  299. package/esm2020/table-cell-type/table-cell-type.module.mjs +4 -4
  300. package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.mjs +12 -12
  301. package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date.component.mjs +8 -12
  302. package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.mjs +14 -14
  303. package/esm2020/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.mjs +10 -10
  304. package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.mjs +14 -14
  305. package/esm2020/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.mjs +6 -7
  306. package/esm2020/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.mjs +11 -10
  307. package/esm2020/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.mjs +7 -8
  308. package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +11 -8
  309. package/esm2020/table-cell-types/table-cell-types.module.mjs +4 -4
  310. package/esm2020/tel-input/intl-tel-input.mjs +2 -2
  311. package/esm2020/tel-input/phone-number.pipe.mjs +3 -3
  312. package/esm2020/tel-input/tel-input/tel-input.component.mjs +5 -6
  313. package/esm2020/tel-input/tel-input.directive.mjs +4 -4
  314. package/esm2020/tel-input/tel-input.module.mjs +4 -4
  315. package/esm2020/tel-input/utils/add-country-code.mjs +4 -4
  316. package/esm2020/tel-input/utils/process-country-codes.mjs +4 -7
  317. package/esm2020/testing/story-expect.mjs +2 -1
  318. package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +5 -6
  319. package/esm2020/tiled-select/components/tiled-select-tile/tiled-select-tile.component.mjs +4 -5
  320. package/esm2020/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.mjs +12 -13
  321. package/esm2020/tiled-select/directives/tiled-select-tile-icon-tpl.directive.mjs +3 -3
  322. package/esm2020/tiled-select/directives/tiled-select-tile-label-tpl.directive.mjs +3 -3
  323. package/esm2020/tiled-select/directives/tiled-select-tile-overlay.directive.mjs +3 -3
  324. package/esm2020/tiled-select/testing/index.mjs +1 -1
  325. package/esm2020/tiled-select/tiled-select.module.mjs +4 -4
  326. package/esm2020/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.mjs +5 -8
  327. package/esm2020/toggle-edit/toggle-edit-display-tpl.directive.mjs +3 -3
  328. package/esm2020/toggle-edit/toggle-edit-keyboard-listener.service.mjs +3 -3
  329. package/esm2020/toggle-edit/toggle-edit.component.mjs +7 -7
  330. package/esm2020/toggle-edit/toggle-edit.module.mjs +4 -4
  331. package/esm2020/toggle-group/toggle-group-option.directive.mjs +3 -3
  332. package/esm2020/toggle-group/toggle-group.directive.mjs +6 -6
  333. package/esm2020/toggle-group/toggle-group.module.mjs +4 -4
  334. package/esm2020/unsaved-changes-dialog/unsaved-changes-can-deactivate.mjs +5 -5
  335. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +5 -8
  336. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.guard.mjs +5 -4
  337. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +4 -4
  338. package/esm2020/utils/array-move.mjs +1 -1
  339. package/esm2020/utils/cdk/get-closest-widget-cdk-drag.mjs +3 -3
  340. package/esm2020/utils/file-utils.mjs +2 -2
  341. package/esm2020/utils/form/get-control-path.mjs +6 -5
  342. package/esm2020/utils/geo-json/close-polygons.mjs +38 -0
  343. package/esm2020/utils/geo-json/geo-json-to-area.mjs +3 -3
  344. package/esm2020/utils/geo-json/is-only-geometry-types.validator.mjs +1 -1
  345. package/esm2020/utils/geo-json/min-max-points.validator.mjs +5 -5
  346. package/esm2020/utils/geo-json/read-geo-file.mjs +3 -2
  347. package/esm2020/utils/has-property.mjs +2 -2
  348. package/esm2020/utils/load-style-sheet.mjs +2 -2
  349. package/esm2020/utils/load-style.mjs +2 -2
  350. package/esm2020/utils/obj-utils.mjs +2 -2
  351. package/esm2020/utils/polling-ticker.mjs +2 -2
  352. package/esm2020/utils/public-api.mjs +2 -1
  353. package/esm2020/utils/router/operators/activated-routes-with-data-property.mjs +2 -2
  354. package/esm2020/utils/router/route-snapshot-path-full.mjs +2 -2
  355. package/esm2020/utils/router/route-snapshot-path-relative.mjs +2 -2
  356. package/esm2020/utils/router/will-have-data-prop.mjs +3 -3
  357. package/esm2020/utils/subscriber-count.mjs +2 -1
  358. package/esm2020/utils/toggle-attribute.mjs +6 -5
  359. package/esm2020/utils/wait-on-condition-async.mjs +5 -5
  360. package/esm2020/vertical-list-filter/public-api.mjs +3 -0
  361. package/esm2020/vertical-list-filter/testing/index.mjs +2 -0
  362. package/esm2020/vertical-list-filter/testing/vertical-list-filter.harness.mjs +28 -0
  363. package/esm2020/vertical-list-filter/theseam-ui-common-vertical-list-filter.mjs +5 -0
  364. package/esm2020/vertical-list-filter/vertical-list-filter.component.mjs +52 -0
  365. package/esm2020/viewers/html-template-viewer/html-template-viewer.component.mjs +4 -4
  366. package/esm2020/viewers/html-template-viewer/html-template-viewer.module.mjs +4 -4
  367. package/esm2020/viewers/pdf-viewer/pdf-page/pdf-page.component.mjs +5 -4
  368. package/esm2020/viewers/pdf-viewer/pdf-renderer.service.mjs +4 -4
  369. package/esm2020/viewers/pdf-viewer/pdf-viewer.component.mjs +5 -4
  370. package/esm2020/viewers/pdf-viewer/pdf-viewer.module.mjs +4 -4
  371. package/esm2020/widget/directives/widget-drag-handle.directive.mjs +7 -7
  372. package/esm2020/widget/directives/widget-icon-tpl.directive.mjs +3 -3
  373. package/esm2020/widget/directives/widget-title-tpl.directive.mjs +3 -3
  374. package/esm2020/widget/widget/widget.component.mjs +56 -35
  375. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.component.mjs +5 -8
  376. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.module.mjs +4 -4
  377. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.component.mjs +5 -8
  378. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.module.mjs +4 -4
  379. package/esm2020/widget/widget-content-components/widget-description/widget-description.component.mjs +3 -3
  380. package/esm2020/widget/widget-content-components/widget-description/widget-description.module.mjs +4 -4
  381. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.component.mjs +6 -7
  382. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.module.mjs +4 -4
  383. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.component.mjs +5 -7
  384. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.module.mjs +4 -4
  385. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.component.mjs +5 -8
  386. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.module.mjs +4 -4
  387. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.component.mjs +5 -5
  388. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.module.mjs +4 -4
  389. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.mjs +3 -3
  390. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.mjs +16 -19
  391. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.component.mjs +5 -7
  392. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.module.mjs +4 -4
  393. package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +5 -5
  394. package/esm2020/widget/widget-content-components/widget-table/widget-table.module.mjs +4 -4
  395. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.mjs +6 -9
  396. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.mjs +5 -6
  397. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.mjs +5 -8
  398. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.mjs +5 -5
  399. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.component.mjs +9 -8
  400. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.module.mjs +10 -10
  401. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.component.mjs +5 -8
  402. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.module.mjs +4 -4
  403. package/esm2020/widget/widget-footer/widget-footer.component.mjs +5 -7
  404. package/esm2020/widget/widget-registry.service.mjs +6 -5
  405. package/esm2020/widget/widget.module.mjs +7 -7
  406. package/fesm2015/theseam-ui-common-asset-reader.mjs +13 -11
  407. package/fesm2015/theseam-ui-common-asset-reader.mjs.map +1 -1
  408. package/fesm2015/theseam-ui-common-breadcrumbs.mjs +13 -14
  409. package/fesm2015/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  410. package/fesm2015/theseam-ui-common-buttons.mjs +31 -27
  411. package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
  412. package/fesm2015/theseam-ui-common-card.mjs +23 -31
  413. package/fesm2015/theseam-ui-common-card.mjs.map +1 -1
  414. package/fesm2015/theseam-ui-common-carousel.mjs +265 -0
  415. package/fesm2015/theseam-ui-common-carousel.mjs.map +1 -0
  416. package/fesm2015/theseam-ui-common-checkbox.mjs +8 -9
  417. package/fesm2015/theseam-ui-common-checkbox.mjs.map +1 -1
  418. package/fesm2015/theseam-ui-common-confirm-dialog.mjs +15 -15
  419. package/fesm2015/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  420. package/fesm2015/theseam-ui-common-core.mjs +10 -8
  421. package/fesm2015/theseam-ui-common-core.mjs.map +1 -1
  422. package/fesm2015/theseam-ui-common-data-exporter.mjs +10 -10
  423. package/fesm2015/theseam-ui-common-data-filters.mjs +23 -20
  424. package/fesm2015/theseam-ui-common-data-filters.mjs.map +1 -1
  425. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +34 -38
  426. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  427. package/fesm2015/theseam-ui-common-datatable.mjs +115 -123
  428. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  429. package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs +12 -12
  430. package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
  431. package/fesm2015/theseam-ui-common-dynamic.mjs +36 -26
  432. package/fesm2015/theseam-ui-common-dynamic.mjs.map +1 -1
  433. package/fesm2015/theseam-ui-common-footer-bar.mjs +8 -11
  434. package/fesm2015/theseam-ui-common-footer-bar.mjs.map +1 -1
  435. package/fesm2015/theseam-ui-common-form-field-error.mjs +21 -23
  436. package/fesm2015/theseam-ui-common-form-field-error.mjs.map +1 -1
  437. package/fesm2015/theseam-ui-common-form-field.mjs +29 -28
  438. package/fesm2015/theseam-ui-common-form-field.mjs.map +1 -1
  439. package/fesm2015/theseam-ui-common-framework.mjs +153 -160
  440. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  441. package/fesm2015/theseam-ui-common-google-maps.mjs +221 -113
  442. package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
  443. package/fesm2015/theseam-ui-common-graphql.mjs +10 -34
  444. package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
  445. package/fesm2015/theseam-ui-common-icon.mjs +84 -85
  446. package/fesm2015/theseam-ui-common-icon.mjs.map +1 -1
  447. package/fesm2015/theseam-ui-common-layout.mjs +7 -7
  448. package/fesm2015/theseam-ui-common-layout.mjs.map +1 -1
  449. package/fesm2015/theseam-ui-common-loading.mjs +14 -15
  450. package/fesm2015/theseam-ui-common-loading.mjs.map +1 -1
  451. package/fesm2015/theseam-ui-common-menu.mjs +460 -247
  452. package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
  453. package/fesm2015/theseam-ui-common-modal.mjs +71 -76
  454. package/fesm2015/theseam-ui-common-modal.mjs.map +1 -1
  455. package/fesm2015/theseam-ui-common-popover.mjs +10 -10
  456. package/fesm2015/theseam-ui-common-popover.mjs.map +1 -1
  457. package/fesm2015/theseam-ui-common-progress.mjs +13 -13
  458. package/fesm2015/theseam-ui-common-progress.mjs.map +1 -1
  459. package/fesm2015/theseam-ui-common-scrollbar.mjs +10 -11
  460. package/fesm2015/theseam-ui-common-scrollbar.mjs.map +1 -1
  461. package/fesm2015/theseam-ui-common-services.mjs +11 -13
  462. package/fesm2015/theseam-ui-common-services.mjs.map +1 -1
  463. package/fesm2015/theseam-ui-common-shared.mjs +42 -42
  464. package/fesm2015/theseam-ui-common-shared.mjs.map +1 -1
  465. package/fesm2015/theseam-ui-common-storage.mjs +10 -10
  466. package/fesm2015/theseam-ui-common-storage.mjs.map +1 -1
  467. package/fesm2015/theseam-ui-common-story-helpers.mjs +25 -100
  468. package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
  469. package/fesm2015/theseam-ui-common-tabbed.mjs +27 -29
  470. package/fesm2015/theseam-ui-common-tabbed.mjs.map +1 -1
  471. package/fesm2015/theseam-ui-common-table-cell-type.mjs +12 -13
  472. package/fesm2015/theseam-ui-common-table-cell-type.mjs.map +1 -1
  473. package/fesm2015/theseam-ui-common-table-cell-types.mjs +87 -89
  474. package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
  475. package/fesm2015/theseam-ui-common-table.mjs +8 -9
  476. package/fesm2015/theseam-ui-common-table.mjs.map +1 -1
  477. package/fesm2015/theseam-ui-common-tel-input.mjs +21 -25
  478. package/fesm2015/theseam-ui-common-tel-input.mjs.map +1 -1
  479. package/fesm2015/theseam-ui-common-testing.mjs.map +1 -1
  480. package/fesm2015/theseam-ui-common-tiled-select.mjs +31 -34
  481. package/fesm2015/theseam-ui-common-tiled-select.mjs.map +1 -1
  482. package/fesm2015/theseam-ui-common-toggle-edit.mjs +20 -23
  483. package/fesm2015/theseam-ui-common-toggle-edit.mjs.map +1 -1
  484. package/fesm2015/theseam-ui-common-toggle-group.mjs +12 -12
  485. package/fesm2015/theseam-ui-common-toggle-group.mjs.map +1 -1
  486. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs +16 -18
  487. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
  488. package/fesm2015/theseam-ui-common-utils.mjs +75 -33
  489. package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
  490. package/fesm2015/theseam-ui-common-vertical-list-filter.mjs +96 -0
  491. package/fesm2015/theseam-ui-common-vertical-list-filter.mjs.map +1 -0
  492. package/fesm2015/theseam-ui-common-viewers.mjs +22 -20
  493. package/fesm2015/theseam-ui-common-viewers.mjs.map +1 -1
  494. package/fesm2015/theseam-ui-common-widget.mjs +211 -217
  495. package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
  496. package/fesm2020/theseam-ui-common-asset-reader.mjs +13 -11
  497. package/fesm2020/theseam-ui-common-asset-reader.mjs.map +1 -1
  498. package/fesm2020/theseam-ui-common-breadcrumbs.mjs +13 -14
  499. package/fesm2020/theseam-ui-common-breadcrumbs.mjs.map +1 -1
  500. package/fesm2020/theseam-ui-common-buttons.mjs +31 -27
  501. package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
  502. package/fesm2020/theseam-ui-common-card.mjs +23 -31
  503. package/fesm2020/theseam-ui-common-card.mjs.map +1 -1
  504. package/fesm2020/theseam-ui-common-carousel.mjs +265 -0
  505. package/fesm2020/theseam-ui-common-carousel.mjs.map +1 -0
  506. package/fesm2020/theseam-ui-common-checkbox.mjs +8 -9
  507. package/fesm2020/theseam-ui-common-checkbox.mjs.map +1 -1
  508. package/fesm2020/theseam-ui-common-confirm-dialog.mjs +15 -15
  509. package/fesm2020/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  510. package/fesm2020/theseam-ui-common-core.mjs +10 -8
  511. package/fesm2020/theseam-ui-common-core.mjs.map +1 -1
  512. package/fesm2020/theseam-ui-common-data-exporter.mjs +10 -10
  513. package/fesm2020/theseam-ui-common-data-filters.mjs +23 -20
  514. package/fesm2020/theseam-ui-common-data-filters.mjs.map +1 -1
  515. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +34 -38
  516. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  517. package/fesm2020/theseam-ui-common-datatable.mjs +115 -123
  518. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  519. package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs +12 -12
  520. package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
  521. package/fesm2020/theseam-ui-common-dynamic.mjs +36 -26
  522. package/fesm2020/theseam-ui-common-dynamic.mjs.map +1 -1
  523. package/fesm2020/theseam-ui-common-footer-bar.mjs +8 -11
  524. package/fesm2020/theseam-ui-common-footer-bar.mjs.map +1 -1
  525. package/fesm2020/theseam-ui-common-form-field-error.mjs +21 -23
  526. package/fesm2020/theseam-ui-common-form-field-error.mjs.map +1 -1
  527. package/fesm2020/theseam-ui-common-form-field.mjs +29 -28
  528. package/fesm2020/theseam-ui-common-form-field.mjs.map +1 -1
  529. package/fesm2020/theseam-ui-common-framework.mjs +153 -160
  530. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  531. package/fesm2020/theseam-ui-common-google-maps.mjs +223 -117
  532. package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
  533. package/fesm2020/theseam-ui-common-graphql.mjs +10 -34
  534. package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
  535. package/fesm2020/theseam-ui-common-icon.mjs +84 -85
  536. package/fesm2020/theseam-ui-common-icon.mjs.map +1 -1
  537. package/fesm2020/theseam-ui-common-layout.mjs +16 -8
  538. package/fesm2020/theseam-ui-common-layout.mjs.map +1 -1
  539. package/fesm2020/theseam-ui-common-loading.mjs +14 -15
  540. package/fesm2020/theseam-ui-common-loading.mjs.map +1 -1
  541. package/fesm2020/theseam-ui-common-menu.mjs +450 -244
  542. package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
  543. package/fesm2020/theseam-ui-common-modal.mjs +71 -76
  544. package/fesm2020/theseam-ui-common-modal.mjs.map +1 -1
  545. package/fesm2020/theseam-ui-common-models.mjs +2 -1
  546. package/fesm2020/theseam-ui-common-models.mjs.map +1 -1
  547. package/fesm2020/theseam-ui-common-popover.mjs +10 -10
  548. package/fesm2020/theseam-ui-common-popover.mjs.map +1 -1
  549. package/fesm2020/theseam-ui-common-progress.mjs +13 -13
  550. package/fesm2020/theseam-ui-common-progress.mjs.map +1 -1
  551. package/fesm2020/theseam-ui-common-scrollbar.mjs +10 -11
  552. package/fesm2020/theseam-ui-common-scrollbar.mjs.map +1 -1
  553. package/fesm2020/theseam-ui-common-services.mjs +11 -13
  554. package/fesm2020/theseam-ui-common-services.mjs.map +1 -1
  555. package/fesm2020/theseam-ui-common-shared.mjs +42 -42
  556. package/fesm2020/theseam-ui-common-shared.mjs.map +1 -1
  557. package/fesm2020/theseam-ui-common-storage.mjs +10 -10
  558. package/fesm2020/theseam-ui-common-storage.mjs.map +1 -1
  559. package/fesm2020/theseam-ui-common-story-helpers.mjs +25 -96
  560. package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
  561. package/fesm2020/theseam-ui-common-tabbed.mjs +27 -29
  562. package/fesm2020/theseam-ui-common-tabbed.mjs.map +1 -1
  563. package/fesm2020/theseam-ui-common-table-cell-type.mjs +12 -13
  564. package/fesm2020/theseam-ui-common-table-cell-type.mjs.map +1 -1
  565. package/fesm2020/theseam-ui-common-table-cell-types.mjs +87 -89
  566. package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
  567. package/fesm2020/theseam-ui-common-table.mjs +8 -9
  568. package/fesm2020/theseam-ui-common-table.mjs.map +1 -1
  569. package/fesm2020/theseam-ui-common-tel-input.mjs +21 -25
  570. package/fesm2020/theseam-ui-common-tel-input.mjs.map +1 -1
  571. package/fesm2020/theseam-ui-common-testing.mjs +1 -0
  572. package/fesm2020/theseam-ui-common-testing.mjs.map +1 -1
  573. package/fesm2020/theseam-ui-common-tiled-select.mjs +31 -34
  574. package/fesm2020/theseam-ui-common-tiled-select.mjs.map +1 -1
  575. package/fesm2020/theseam-ui-common-toggle-edit.mjs +20 -23
  576. package/fesm2020/theseam-ui-common-toggle-edit.mjs.map +1 -1
  577. package/fesm2020/theseam-ui-common-toggle-group.mjs +12 -12
  578. package/fesm2020/theseam-ui-common-toggle-group.mjs.map +1 -1
  579. package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs +16 -18
  580. package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
  581. package/fesm2020/theseam-ui-common-utils.mjs +75 -33
  582. package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
  583. package/fesm2020/theseam-ui-common-vertical-list-filter.mjs +87 -0
  584. package/fesm2020/theseam-ui-common-vertical-list-filter.mjs.map +1 -0
  585. package/fesm2020/theseam-ui-common-viewers.mjs +22 -20
  586. package/fesm2020/theseam-ui-common-viewers.mjs.map +1 -1
  587. package/fesm2020/theseam-ui-common-widget.mjs +211 -217
  588. package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
  589. package/footer-bar/footer-bar/footer-bar.component.d.ts +1 -4
  590. package/form-field-error/form-field-error/form-field-error.component.d.ts +1 -4
  591. package/form-field-error/form-field-error-list/form-field-error-list.component.d.ts +2 -3
  592. package/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.d.ts +2 -4
  593. package/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.d.ts +2 -3
  594. package/framework/dashboard/dashboard.component.d.ts +0 -1
  595. package/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.d.ts +2 -3
  596. package/framework/dynamic-router/resolvers/hierarchy-level.resolver.d.ts +0 -1
  597. package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +2 -4
  598. package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +3 -5
  599. package/framework/top-bar/top-bar-title/top-bar-title.component.d.ts +1 -4
  600. package/framework/top-bar/top-bar.component.d.ts +2 -4
  601. package/google-maps/google-maps/google-maps.component.d.ts +11 -7
  602. package/google-maps/google-maps-feature-helpers.d.ts +3 -0
  603. package/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.d.ts +2 -3
  604. package/google-maps/google-maps.module.d.ts +1 -1
  605. package/google-maps/google-maps.service.d.ts +7 -0
  606. package/graphql/datatable/datatable-graphql-query-ref.d.ts +0 -1
  607. package/icon/icon-btn/icon-btn.component.d.ts +2 -3
  608. package/loading/loading/loading.component.d.ts +1 -4
  609. package/menu/menu-item.component.d.ts +20 -10
  610. package/menu/menu-toggle.directive.d.ts +34 -11
  611. package/menu/menu.component.d.ts +16 -2
  612. package/modal/modal/modal.component.d.ts +3 -4
  613. package/modal/modal-body/modal-body.component.d.ts +1 -4
  614. package/modal/modal-footer/modal-footer.component.d.ts +1 -4
  615. package/modal/modal-header/modal-header.component.d.ts +1 -4
  616. package/modal/route-modal/route-modal.component.d.ts +2 -3
  617. package/package.json +17 -1
  618. package/progress/progress-circle/progress-circle.component.d.ts +0 -1
  619. package/scrollbar/overlay-scrollbar.directive.d.ts +2 -3
  620. package/services/asset-loader.service.d.ts +0 -1
  621. package/services/font-loader.service.d.ts +0 -1
  622. package/story-helpers/public-api.d.ts +0 -1
  623. package/tabbed/directives/tabbed-tab-content.directive.d.ts +0 -1
  624. package/tabbed/tabbed-content/tabbed-content.component.d.ts +1 -4
  625. package/tabbed/tabbed-item/tabbed-item.component.d.ts +2 -4
  626. package/tabbed/tabbed.service.d.ts +0 -1
  627. package/table/table/table.component.d.ts +2 -3
  628. package/table-cell-type/table-cell-type-models.d.ts +1 -1
  629. package/table-cell-type/table-cell-type-selector.component.d.ts +3 -4
  630. package/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.d.ts +2 -3
  631. package/table-cell-types/table-cell-type-date/table-cell-type-date.component.d.ts +2 -3
  632. package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.d.ts +2 -3
  633. package/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.d.ts +2 -3
  634. package/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.d.ts +2 -3
  635. package/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.d.ts +2 -3
  636. package/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.d.ts +2 -3
  637. package/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.d.ts +2 -3
  638. package/tiled-select/components/tiled-select/tiled-select.component.d.ts +2 -3
  639. package/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.d.ts +1 -4
  640. package/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.d.ts +1 -4
  641. package/toggle-group/toggle-group.directive.d.ts +0 -1
  642. package/unsaved-changes-dialog/unsaved-changes-dialog.component.d.ts +1 -4
  643. package/utils/geo-json/close-polygons.d.ts +9 -0
  644. package/utils/obj-utils.d.ts +2 -2
  645. package/utils/public-api.d.ts +1 -0
  646. package/vertical-list-filter/index.d.ts +5 -0
  647. package/vertical-list-filter/public-api.d.ts +2 -0
  648. package/vertical-list-filter/testing/index.d.ts +1 -0
  649. package/vertical-list-filter/testing/vertical-list-filter.harness.d.ts +9 -0
  650. package/vertical-list-filter/vertical-list-filter.component.d.ts +17 -0
  651. package/widget/widget/widget.component.d.ts +10 -11
  652. package/widget/widget/widget.component.scss +12 -1
  653. package/widget/widget-content-components/widget-button-group/widget-button-group.component.d.ts +1 -4
  654. package/widget/widget-content-components/widget-content-header/widget-content-header.component.d.ts +1 -4
  655. package/widget/widget-content-components/widget-empty-label/widget-empty-label.component.d.ts +2 -3
  656. package/widget/widget-content-components/widget-footer-link/widget-footer-link.component.d.ts +1 -4
  657. package/widget/widget-content-components/widget-footer-text/widget-footer-text.component.d.ts +1 -4
  658. package/widget/widget-content-components/widget-header-badge/widget-header-badge.component.d.ts +2 -3
  659. package/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.d.ts +4 -7
  660. package/widget/widget-content-components/widget-list-group/widget-list-group.component.d.ts +1 -4
  661. package/widget/widget-content-components/widget-table/widget-table.component.d.ts +0 -1
  662. package/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.d.ts +1 -4
  663. package/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.d.ts +2 -3
  664. package/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.d.ts +1 -4
  665. package/widget/widget-content-components/widget-tile-list/widget-tile-list.component.d.ts +1 -4
  666. package/widget/widget-footer/widget-footer.component.d.ts +1 -4
  667. package/esm2020/story-helpers/args-to-tpl.mjs +0 -72
  668. package/story-helpers/args-to-tpl.d.ts +0 -24
@@ -1,7 +1,7 @@
1
1
  import { transition, trigger, useAnimation } from '@angular/animations';
2
2
  import { FocusKeyManager } from '@angular/cdk/a11y';
3
3
  import { coerceNumberProperty } from '@angular/cdk/coercion';
4
- import { DOWN_ARROW, END, ESCAPE, hasModifierKey, HOME, UP_ARROW } from '@angular/cdk/keycodes';
4
+ import { DOWN_ARROW, END, ESCAPE, hasModifierKey, HOME, LEFT_ARROW, RIGHT_ARROW, UP_ARROW } from '@angular/cdk/keycodes';
5
5
  import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, TemplateRef, ViewChild } from '@angular/core';
6
6
  import { BehaviorSubject, fromEvent, merge, of, Subject, Subscription } from 'rxjs';
7
7
  import { distinctUntilChanged, map, startWith, switchMap, takeUntil } from 'rxjs/operators';
@@ -9,6 +9,7 @@ import { menuDropdownPanelIn, menuDropdownPanelOut } from './menu-animations';
9
9
  import { THESEAM_MENU_PANEL } from './menu-panel-token';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "@angular/common";
12
+ let menuPanelUid = 0;
12
13
  export const LIB_MENU = {
13
14
  provide: THESEAM_MENU_PANEL,
14
15
  // tslint:disable-next-line:no-use-before-declare
@@ -28,6 +29,7 @@ export class MenuComponent {
28
29
  }
29
30
  constructor() {
30
31
  this._ngUnsubscribe = new Subject();
32
+ this.panelId = `menu-panel-${menuPanelUid++}`;
31
33
  this._footer = new BehaviorSubject(undefined);
32
34
  this.hasFooter$ = this._footer.pipe(map(v => v !== null && v !== undefined));
33
35
  this._header = new BehaviorSubject(undefined);
@@ -38,6 +40,10 @@ export class MenuComponent {
38
40
  this._itemChanges = new Subject();
39
41
  /** Subscription to tab events on the menu panel */
40
42
  this._tabSubscription = Subscription.EMPTY;
43
+ /** Emits whenever an animation on the menu completes. */
44
+ this._animationDone = new Subject();
45
+ /** Whether the menu is animating. */
46
+ this._isAnimating = false;
41
47
  this.closed = new EventEmitter();
42
48
  this._baseWidth = new BehaviorSubject(null);
43
49
  this.animationType = 'slide';
@@ -74,16 +80,16 @@ export class MenuComponent {
74
80
  this.closed.emit('keydown');
75
81
  }
76
82
  break;
77
- // case LEFT_ARROW:
78
- // if (this.parentMenu && this.direction === 'ltr') {
79
- // this.closed.emit('keydown')
80
- // }
81
- // break
82
- // case RIGHT_ARROW:
83
- // if (this.parentMenu && this.direction === 'rtl') {
84
- // this.closed.emit('keydown')
85
- // }
86
- // break
83
+ case LEFT_ARROW:
84
+ if (this.parentMenu && this.direction === 'ltr') {
85
+ this.closed.emit('keydown');
86
+ }
87
+ break;
88
+ case RIGHT_ARROW:
89
+ if (this.parentMenu && this.direction === 'rtl') {
90
+ this.closed.emit('keydown');
91
+ }
92
+ break;
87
93
  case HOME:
88
94
  case END:
89
95
  if (!hasModifierKey(event)) {
@@ -146,22 +152,39 @@ export class MenuComponent {
146
152
  // may look for a fix to that eventually.
147
153
  this.closed.emit('click');
148
154
  }
155
+ /** Callback that is invoked when the panel animation completes. */
156
+ _onAnimationDone(event) {
157
+ this._animationDone.next(event);
158
+ this._isAnimating = false;
159
+ }
160
+ _onAnimationStart(event) {
161
+ this._isAnimating = true;
162
+ // Scroll the content element to the top as soon as the animation starts. This is necessary,
163
+ // because we move focus to the first item while it's still being animated, which can throw
164
+ // the browser off when it determines the scroll position. Alternatively we can move focus
165
+ // when the animation is done, however moving focus asynchronously will interrupt screen
166
+ // readers which are in the process of reading out the menu already. We take the `element`
167
+ // from the `event` since we can't use a `ViewChild` to access the pane.
168
+ if (event.toState === 'enter' && this._keyManager?.activeItemIndex === 0) {
169
+ event.element.scrollTop = 0;
170
+ }
171
+ }
149
172
  }
150
- MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
151
- MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: MenuComponent, selector: "seam-menu", inputs: { menuClass: "menuClass", baseWidth: "baseWidth", animationType: "animationType" }, outputs: { closed: "closed" }, providers: [LIB_MENU], viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], exportAs: ["seamMenu"], ngImport: i0, template: "<ng-template>\n <div class=\"seam-menu-container\" @slideDown\n [class.seam-menu-anim--slide]=\"animationType==='slide'\"\n [class.seam-menu-anim--fade]=\"animationType==='fade'\">\n <div class=\"dropdown-menu show position-static{{ menuClass ? ' ' + menuClass : '' }}\"\n [style.width]=\"_menuWidth$ | async\"\n [class.pt-0]=\"hasHeader$ | async\"\n [class.pb-0]=\"hasFooter$ | async\"\n (keydown)=\"_handleKeydown($event)\"\n (click)=\"_dropdownMenuClick($event)\"\n tabindex=\"-1\"\n role=\"menu\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".seam-menu-container.seam-menu-anim--slide{overflow:hidden}.seam-menu-container.ng-animating,.dropdown-menu.ng-animating{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}\n"], dependencies: [{ kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [
173
+ MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
174
+ MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: MenuComponent, selector: "seam-menu", inputs: { menuClass: "menuClass", baseWidth: "baseWidth", animationType: "animationType" }, outputs: { closed: "closed" }, providers: [LIB_MENU], viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], exportAs: ["seamMenu"], ngImport: i0, template: "<ng-template>\n <div class=\"seam-menu-container\"\n @slideDown\n (@slideDown.start)=\"_onAnimationStart($event)\"\n (@slideDown.done)=\"_onAnimationDone($event)\"\n [class.seam-menu-anim--slide]=\"animationType==='slide'\"\n [class.seam-menu-anim--fade]=\"animationType==='fade'\"\n [id]=\"panelId\">\n <div class=\"dropdown-menu show position-static{{ menuClass ? ' ' + menuClass : '' }}\"\n [style.width]=\"_menuWidth$ | async\"\n [class.pt-0]=\"hasHeader$ | async\"\n [class.pb-0]=\"hasFooter$ | async\"\n (keydown)=\"_handleKeydown($event)\"\n (click)=\"_dropdownMenuClick($event)\"\n tabindex=\"-1\"\n role=\"menu\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".seam-menu-container.seam-menu-anim--slide{overflow:hidden}.seam-menu-container.ng-animating,.dropdown-menu.ng-animating{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}\n"], dependencies: [{ kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [
152
175
  trigger('slideDown', [
153
176
  transition(':enter', useAnimation(menuDropdownPanelIn)),
154
177
  transition(':leave', useAnimation(menuDropdownPanelOut)),
155
178
  ])
156
179
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: MenuComponent, decorators: [{
180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MenuComponent, decorators: [{
158
181
  type: Component,
159
182
  args: [{ selector: 'seam-menu', providers: [LIB_MENU], animations: [
160
183
  trigger('slideDown', [
161
184
  transition(':enter', useAnimation(menuDropdownPanelIn)),
162
185
  transition(':leave', useAnimation(menuDropdownPanelOut)),
163
186
  ])
164
- ], changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'seamMenu', template: "<ng-template>\n <div class=\"seam-menu-container\" @slideDown\n [class.seam-menu-anim--slide]=\"animationType==='slide'\"\n [class.seam-menu-anim--fade]=\"animationType==='fade'\">\n <div class=\"dropdown-menu show position-static{{ menuClass ? ' ' + menuClass : '' }}\"\n [style.width]=\"_menuWidth$ | async\"\n [class.pt-0]=\"hasHeader$ | async\"\n [class.pb-0]=\"hasFooter$ | async\"\n (keydown)=\"_handleKeydown($event)\"\n (click)=\"_dropdownMenuClick($event)\"\n tabindex=\"-1\"\n role=\"menu\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".seam-menu-container.seam-menu-anim--slide{overflow:hidden}.seam-menu-container.ng-animating,.dropdown-menu.ng-animating{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}\n"] }]
187
+ ], changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'seamMenu', template: "<ng-template>\n <div class=\"seam-menu-container\"\n @slideDown\n (@slideDown.start)=\"_onAnimationStart($event)\"\n (@slideDown.done)=\"_onAnimationDone($event)\"\n [class.seam-menu-anim--slide]=\"animationType==='slide'\"\n [class.seam-menu-anim--fade]=\"animationType==='fade'\"\n [id]=\"panelId\">\n <div class=\"dropdown-menu show position-static{{ menuClass ? ' ' + menuClass : '' }}\"\n [style.width]=\"_menuWidth$ | async\"\n [class.pt-0]=\"hasHeader$ | async\"\n [class.pb-0]=\"hasFooter$ | async\"\n (keydown)=\"_handleKeydown($event)\"\n (click)=\"_dropdownMenuClick($event)\"\n tabindex=\"-1\"\n role=\"menu\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".seam-menu-container.seam-menu-anim--slide{overflow:hidden}.seam-menu-container.ng-animating,.dropdown-menu.ng-animating{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}\n"] }]
165
188
  }], ctorParameters: function () { return []; }, propDecorators: { templateRef: [{
166
189
  type: ViewChild,
167
190
  args: [TemplateRef]
@@ -174,4 +197,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
174
197
  }], animationType: [{
175
198
  type: Input
176
199
  }] } });
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vbWVudS9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9tZW51L21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JHLE9BQU8sRUFBRSxlQUFlLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBMkIsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDeEgsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRS9GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQXVELE1BQU0sbUJBQW1CLENBQUE7QUFHbEksT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7OztBQUt2RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQVE7SUFDM0IsT0FBTyxFQUFFLGtCQUFrQjtJ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QUMsb0JBQW9CLENBQUMsQ0FBQzt5QkFDekQsQ0FBQztxQkFDSCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxVQUFVOzBFQTBCSSxXQUFXO3NCQUFsQyxTQUFTO3VCQUFDLFdBQVc7Z0JBRUgsTUFBTTtzQkFBeEIsTUFBTTtnQkFFRSxTQUFTO3NCQUFqQixLQUFLO2dCQU9GLFNBQVM7c0JBRFosS0FBSztnQkFXRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgZ3JvdXAsIHF1ZXJ5LCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciwgdXNlQW5pbWF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucydcbmltcG9ydCB7IEZvY3VzS2V5TWFuYWdlciwgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSdcbmltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJ1xuaW1wb3J0IHsgRE9XTl9BUlJPVywgRU5ELCBFU0NBUEUsIGhhc01vZGlmaWVyS2V5LCBIT01FLCBMRUZUX0FSUk9XLCBSSUdIVF9BUlJPVywgVVBfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnXG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZyb21FdmVudCwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xuXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBtZW51RHJvcGRvd25QYW5lbEluLCBtZW51RHJvcGRvd25QYW5lbE91dCwgbWVudURyb3Bkb3duUGFuZWxTbGlkZUluLCBtZW51RHJvcGRvd25QYW5lbFNsaWRlT3V0IH0gZnJvbSAnLi9tZW51LWFuaW1hdGlvbnMnXG5pbXBvcnQgeyBNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbWVudS1pdGVtLmNvbXBvbmVudCdcbmltcG9ydCB7IElUaGVTZWFtTWVudVBhbmVsIH0gZnJvbSAnLi9tZW51LXBhbmVsJ1xuaW1wb3J0IHsgVEhFU0VBTV9NRU5VX1BBTkVMIH0gZnJvbSAnLi9tZW51LXBhbmVsLXRva2VuJ1xuXG5pbXBvcnQgeyBNZW51Rm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9tZW51LWZvb3Rlci9tZW51LWZvb3Rlci5jb21wb25lbnQnXG5pbXBvcnQgeyBNZW51SGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9tZW51LWhlYWRlci9tZW51LWhlYWRlci5jb21wb25lbnQnXG5cbmV4cG9ydCBjb25zdCBMSUJfTUVOVTogYW55ID0ge1xuICBwcm92aWRlOiBUSEVTRUFNX01FTlVfUEFORUwsXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby11c2UtYmVmb3JlLWRlY2xhcmVcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTWVudUNvbXBvbmVudClcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VhbS1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogWyBMSUJfTUVOVSBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignc2xpZGVEb3duJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgdXNlQW5pbWF0aW9uKG1lbnVEcm9wZG93blBhbmVsSW4pKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIHVzZUFuaW1hdGlvbihtZW51RHJvcGRvd25QYW5lbE91dCkpLFxuICAgIF0pXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBleHBvcnRBczogJ3NlYW1NZW51J1xufSlcbmV4cG9ydCBjbGFzcyBNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0LCBJVGhlU2VhbU1lbnVQYW5lbCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcblxuICBwcml2YXRlIF9mb290ZXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1lbnVGb290ZXJDb21wb25lbnQgfCB1bmRlZmluZWQgfCBudWxsPih1bmRlZmluZWQpXG4gIHB1YmxpYyBoYXNGb290ZXIkID0gdGhpcy5fZm9vdGVyLnBpcGUobWFwKHYgPT4gdiAhPT0gbnVsbCAmJiB2ICE9PSB1bmRlZmluZWQpKVxuXG4gIHByaXZhdGUgX2hlYWRlciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWVudUhlYWRlckNvbXBvbmVudCB8IHVuZGVmaW5lZCB8IG51bGw+KHVuZGVmaW5lZClcbiAgcHVibGljIGhhc0hlYWRlciQgPSB0aGlzLl9oZWFkZXIucGlwZShtYXAodiA9PiB2ICE9PSBudWxsICYmIHYgIT09IHVuZGVmaW5lZCkpXG5cbiAgcHJpdmF0ZSBfa2V5TWFuYWdlcj86IEZvY3VzS2V5TWFuYWdlcjxNZW51SXRlbUNvbXBvbmVudD5cblxuICAvKiogTWVudSBpdGVtcyBpbnNpZGUgdGhlIGN1cnJlbnQgbWVudS4gKi9cbiAgcHJpdmF0ZSBfaXRlbXM6IE1lbnVJdGVtQ29tcG9uZW50W10gPSBbXVxuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgYW1vdW50IG9mIG1lbnUgaXRlbXMgY2hhbmdlcy4gKi9cbiAgcHJpdmF0ZSBfaXRlbUNoYW5nZXMgPSBuZXcgU3ViamVjdDxNZW51SXRlbUNvbXBvbmVudFtdPigpXG5cbiAgLyoqIFN1YnNjcmlwdGlvbiB0byB0YWIgZXZlbnRzIG9uIHRoZSBtZW51IHBhbmVsICovXG4gIHByaXZhdGUgX3RhYlN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWVxuXG4gIC8qKiBQYXJlbnQgbWVudSBvZiB0aGUgY3VycmVudCBtZW51IHBhbmVsLiAqL1xuICBwYXJlbnRNZW51OiBJVGhlU2VhbU1lbnVQYW5lbCB8IHVuZGVmaW5lZFxuXG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpIHRlbXBsYXRlUmVmPzogVGVtcGxhdGVSZWY8YW55PlxuXG4gIEBPdXRwdXQoKSByZWFkb25seSBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQgfCAnY2xpY2snIHwgJ2tleWRvd24nIHwgJ3RhYic+KClcblxuICBASW5wdXQoKSBtZW51Q2xhc3M6IHN0cmluZyAgfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgLyoqXG4gICAqIERlZmluZXMgYSB3aWR0aCBmb3IgYSBtZW51IHRoYXQgd2lsbCBzY2FsZSBkb3duIGlmIHRoZSB3aW5kb3cgaW5uZXJXaWR0aCBpc1xuICAgKiBzbWFsbGVyIHRoYW4gdGhlIHZhbHVlLlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGJhc2VXaWR0aCgpIHsgcmV0dXJuIHRoaXMuX2Jhc2VXaWR0aC52YWx1ZSB9XG4gIHNldCBiYXNlV2lkdGgodmFsdWU6IG51bWJlciB8IG51bGwpIHtcbiAgICBjb25zdCBfdmFsID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUsIG51bGwpXG4gICAgaWYgKF92YWwgIT09IHRoaXMuX2Jhc2VXaWR0aC52YWx1ZSkge1xuICAgICAgdGhpcy5fYmFzZVdpZHRoLm5leHQoX3ZhbClcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfYmFzZVdpZHRoID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXIgfCBudWxsPihudWxsKVxuICBfbWVudVdpZHRoJDogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+XG5cbiAgQElucHV0KCkgYW5pbWF0aW9uVHlwZTogJ3NsaWRlJyB8ICdmYWRlJyA9ICdzbGlkZSdcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9tZW51V2lkdGgkID0gdGhpcy5fYmFzZVdpZHRoLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoYmFzZVdpZHRoID0+IHtcbiAgICAgICAgaWYgKGJhc2VXaWR0aCkge1xuICAgICAgICAgIHJldHVybiBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJykucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpLFxuICAgICAgICAgICAgbWFwKCgpID0+IHdpbmRvdy5pbm5lcldpZHRoIDwgYmFzZVdpZHRoID8gYCR7d2luZG93LmlubmVyV2lkdGh9cHhgIDogYCR7YmFzZVdpZHRofXB4YClcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcbiAgICAgIH0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKVxuICAgIClcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3RhYlN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gICAgdGhpcy5jbG9zZWQuY29tcGxldGUoKVxuXG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5uZXh0KHVuZGVmaW5lZClcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKClcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLl9rZXlNYW5hZ2VyID0gbmV3IEZvY3VzS2V5TWFuYWdlcjxNZW51SXRlbUNvbXBvbmVudD4odGhpcy5faXRlbXMpLndpdGhXcmFwKCkud2l0aFR5cGVBaGVhZCgpXG4gICAgdGhpcy5fdGFiU3Vic2NyaXB0aW9uID0gdGhpcy5fa2V5TWFuYWdlci50YWJPdXQuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2VkLmVtaXQoJ3RhYicpKVxuICB9XG5cbiAgLyoqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW5ldmVyIHRoZSBob3ZlcmVkIG1lbnUgaXRlbSBjaGFuZ2VzLiAqL1xuICBfaG92ZXJlZCgpOiBPYnNlcnZhYmxlPE1lbnVJdGVtQ29tcG9uZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1DaGFuZ2VzLnBpcGUoXG4gICAgICBzdGFydFdpdGgodGhpcy5faXRlbXMpLFxuICAgICAgc3dpdGNoTWFwKGl0ZW1zID0+IG1lcmdlKC4uLml0ZW1zLm1hcChpdGVtID0+IGl0ZW0uX2hvdmVyZWQpKSlcbiAgICApXG4gIH1cblxuICAvKiogSGFuZGxlIGEga2V5Ym9hcmQgZXZlbnQgZnJvbSB0aGUgbWVudSwgZGVsZWdhdGluZyB0byB0aGUgYXBwcm9wcmlhdGUgYWN0aW9uLiAqL1xuICBfaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkZXByZWNhdGlvblxuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlXG4gICAgY29uc3QgbWFuYWdlciA9IHRoaXMuX2tleU1hbmFnZXJcblxuICAgIHN3aXRjaCAoa2V5Q29kZSkge1xuICAgICAgY2FzZSBFU0NBUEU6XG4gICAgICAgIGlmICghaGFzTW9kaWZpZXJLZXkoZXZlbnQpKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIHRoaXMuY2xvc2VkLmVtaXQoJ2tleWRvd24nKVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICAvLyBjYXNlIExFRlRfQVJST1c6XG4gICAgICAvLyAgIGlmICh0aGlzLnBhcmVudE1lbnUgJiYgdGhpcy5kaXJlY3Rpb24gPT09ICdsdHInKSB7XG4gICAgICAvLyAgICAgdGhpcy5jbG9zZWQuZW1pdCgna2V5ZG93bicpXG4gICAgICAvLyAgIH1cbiAgICAgIC8vICAgYnJlYWtcbiAgICAgIC8vIGNhc2UgUklHSFRfQVJST1c6XG4gICAgICAvLyAgIGlmICh0aGlzLnBhcmVudE1lbnUgJiYgdGhpcy5kaXJlY3Rpb24gPT09ICdydGwnKSB7XG4gICAgICAvLyAgICAgdGhpcy5jbG9zZWQuZW1pdCgna2V5ZG93bicpXG4gICAgICAvLyAgIH1cbiAgICAgIC8vICAgYnJlYWtcbiAgICAgIGNhc2UgSE9NRTpcbiAgICAgIGNhc2UgRU5EOlxuICAgICAgICBpZiAoIWhhc01vZGlmaWVyS2V5KGV2ZW50KSkge1xuICAgICAgICAgIGtleUNvZGUgPT09IEhPTUUgPyBtYW5hZ2VyPy5zZXRGaXJzdEl0ZW1BY3RpdmUoKSA6IG1hbmFnZXI/LnNldExhc3RJdGVtQWN0aXZlKClcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmIChrZXlDb2RlID09PSBVUF9BUlJPVyB8fCBrZXlDb2RlID09PSBET1dOX0FSUk9XKSB7XG4gICAgICAgICAgbWFuYWdlcj8uc2V0Rm9jdXNPcmlnaW4oJ2tleWJvYXJkJylcbiAgICAgICAgfVxuXG4gICAgICAgIG1hbmFnZXI/Lm9uS2V5ZG93bihldmVudClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRm9jdXMgdGhlIGZpcnN0IGl0ZW0gaW4gdGhlIG1lbnUuXG4gICAqIEBwYXJhbSBvcmlnaW4gQWN0aW9uIGZyb20gd2hpY2ggdGhlIGZvY3VzIG9yaWdpbmF0ZWQuIFVzZWQgdG8gc2V0IHRoZSBjb3JyZWN0IHN0eWxpbmcuXG4gICAqL1xuICBmb2N1c0ZpcnN0SXRlbShvcmlnaW46IEZvY3VzT3JpZ2luID0gJ3Byb2dyYW0nKTogdm9pZCB7XG4gICAgdGhpcy5fa2V5TWFuYWdlcj8uc2V0Rm9jdXNPcmlnaW4ob3JpZ2luKS5zZXRGaXJzdEl0ZW1BY3RpdmUoKVxuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgYWN0aXZlIGl0ZW0gaW4gdGhlIG1lbnUuIFRoaXMgaXMgdXNlZCB3aGVuIHRoZSBtZW51IGlzIG9wZW5lZCwgYWxsb3dpbmdcbiAgICogdGhlIHVzZXIgdG8gc3RhcnQgZnJvbSB0aGUgZmlyc3Qgb3B0aW9uIHdoZW4gcHJlc3NpbmcgdGhlIGRvd24gYXJyb3cuXG4gICAqL1xuICByZXNldEFjdGl2ZUl0ZW0oKSB7XG4gICAgdGhpcy5fa2V5TWFuYWdlcj8uc2V0QWN0aXZlSXRlbSgtMSlcbiAgfVxuXG4gIC8qKiBSZWdpc3RlcnMgYSBtZW51IGl0ZW0gd2l0aCB0aGUgbWVudS4gKi9cbiAgYWRkSXRlbShpdGVtOiBNZW51SXRlbUNvbXBvbmVudCkge1xuICAgIC8vIFdlIHJlZ2lzdGVyIHRoZSBpdGVtcyB0aHJvdWdoIHRoaXMgbWV0aG9kLCByYXRoZXIgdGhhbiBwaWNraW5nIHRoZW0gdXAgdGhyb3VnaFxuICAgIC8vIGBDb250ZW50Q2hpbGRyZW5gLCBiZWNhdXNlIHdlIG5lZWQgdGhlIGl0ZW1zIHRvIGJlIHBpY2tlZCB1cCBieSB0aGVpciBjbG9zZXN0XG4gICAgLy8gYHNlYW0tbWVudWAgYW5jZXN0b3IuIElmIHdlIHVzZWQgYEBDb250ZW50Q2hpbGRyZW4oTWVudUl0ZW1Db21wb25lbnQsIHtkZXNjZW5kYW50czogdHJ1ZX0pYCxcbiAgICAvLyBhbGwgZGVzY2VuZGFudCBpdGVtcyB3aWxsIGJsZWVkIGludG8gdGhlIHRvcC1sZXZlbCBtZW51IGluIHRoZSBjYXNlIHdoZXJlIHRoZSBjb25zdW1lclxuICAgIC8vIGhhcyBgc2VhbS1tZW51YCBpbnN0YW5jZXMgbmVzdGVkIGluc2lkZSBlYWNoIG90aGVyLlxuICAgIGlmICh0aGlzLl9pdGVtcy5pbmRleE9mKGl0ZW0pID09PSAtMSkge1xuICAgICAgdGhpcy5faXRlbXMucHVzaChpdGVtKVxuICAgICAgdGhpcy5faXRlbUNoYW5nZXMubmV4dCh0aGlzLl9pdGVtcylcbiAgICB9XG4gIH1cblxuICAvKiogUmVtb3ZlcyBhbiBpdGVtIGZyb20gdGhlIG1lbnUuICovXG4gIHJlbW92ZUl0ZW0oaXRlbTogTWVudUl0ZW1Db21wb25lbnQpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuX2l0ZW1zLmluZGV4T2YoaXRlbSlcblxuICAgIGlmICh0aGlzLl9pdGVtcy5pbmRleE9mKGl0ZW0pID4gLTEpIHtcbiAgICAgIHRoaXMuX2l0ZW1zLnNwbGljZShpbmRleCwgMSlcbiAgICAgIHRoaXMuX2l0ZW1DaGFuZ2VzLm5leHQodGhpcy5faXRlbXMpXG4gICAgfVxuICB9XG5cbiAgLyoqIFNldHMgdGhlIGZvb3RlciBjb21wb25lbnQuICovXG4gIHNldEZvb3Rlcihmb290ZXI/OiBNZW51Rm9vdGVyQ29tcG9uZW50KSB7XG4gICAgdGhpcy5fZm9vdGVyLm5leHQoZm9vdGVyKVxuICB9XG5cbiAgLyoqIFNldHMgdGhlIGhlYWRlciBjb21wb25lbnQuICovXG4gIHNldEhlYWRlcihoZWFkZXI/OiBNZW51SGVhZGVyQ29tcG9uZW50KSB7XG4gICAgdGhpcy5faGVhZGVyLm5leHQoaGVhZGVyKVxuICB9XG5cbiAgX2Ryb3Bkb3duTWVudUNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIC8vIFRoaXMgaXMgbmVlZGVkLCBiZWNhdXNlIHNvbWUgbWVudSdzIHdpbGwgZ2V0IHN0dWNrIG9wZW4gaWYgdGhlIGNvbXBvbmVudFxuICAgIC8vIG1hbmFnaW5nIHRoZSBtZW51IGlzIGRlc3Ryb3llZCBiZWZvcmUgdGhlIG1lbnUgZmluaXNoZXMgaXRzIGNsZWFudXAuIElcbiAgICAvLyBtYXkgbG9vayBmb3IgYSBmaXggdG8gdGhhdCBldmVudHVhbGx5LlxuICAgIHRoaXMuY2xvc2VkLmVtaXQoJ2NsaWNrJylcbiAgfVxuXG59XG4iLCI8bmctdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJzZWFtLW1lbnUtY29udGFpbmVyXCIgQHNsaWRlRG93blxuICAgIFtjbGFzcy5zZWFtLW1lbnUtYW5pbS0tc2xpZGVdPVwiYW5pbWF0aW9uVHlwZT09PSdzbGlkZSdcIlxuICAgIFtjbGFzcy5zZWFtLW1lbnUtYW5pbS0tZmFkZV09XCJhbmltYXRpb25UeXBlPT09J2ZhZGUnXCI+XG4gICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUgc2hvdyBwb3NpdGlvbi1zdGF0aWN7eyBtZW51Q2xhc3MgPyAnICcgKyBtZW51Q2xhc3MgOiAnJyB9fVwiXG4gICAgICBbc3R5bGUud2lkdGhdPVwiX21lbnVXaWR0aCQgfCBhc3luY1wiXG4gICAgICBbY2xhc3MucHQtMF09XCJoYXNIZWFkZXIkIHwgYXN5bmNcIlxuICAgICAgW2NsYXNzLnBiLTBdPVwiaGFzRm9vdGVyJCB8IGFzeW5jXCJcbiAgICAgIChrZXlkb3duKT1cIl9oYW5kbGVLZXlkb3duKCRldmVudClcIlxuICAgICAgKGNsaWNrKT1cIl9kcm9wZG93bk1lbnVDbGljaygkZXZlbnQpXCJcbiAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgcm9sZT1cIm1lbnVcIlxuICAgICAgPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vbWVudS9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9tZW51L21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBa0IsTUFBTSxxQkFBcUIsQ0FBQTtBQUNySCxPQUFPLEVBQUUsZUFBZSxFQUFlLE1BQU0sbUJBQW1CLENBQUE7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUN4SCxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFL0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBdUQsTUFBTSxtQkFBbUIsQ0FBQTtBQUdsSSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTs7O0FBTXZELElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQTtBQUtw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O2dCQUVFLFNBQVM7c0JBQWpCLEtBQUs7Z0JBT0YsU0FBUztzQkFEWixLQUFLO2dCQVdHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBncm91cCwgcXVlcnksIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyLCB1c2VBbmltYXRpb24sIEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucydcbmltcG9ydCB7IEZvY3VzS2V5TWFuYWdlciwgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSdcbmltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJ1xuaW1wb3J0IHsgRE9XTl9BUlJPVywgRU5ELCBFU0NBUEUsIGhhc01vZGlmaWVyS2V5LCBIT01FLCBMRUZUX0FSUk9XLCBSSUdIVF9BUlJPVywgVVBfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnXG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZyb21FdmVudCwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xuXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBtZW51RHJvcGRvd25QYW5lbEluLCBtZW51RHJvcGRvd25QYW5lbE91dCwgbWVudURyb3Bkb3duUGFuZWxTbGlkZUluLCBtZW51RHJvcGRvd25QYW5lbFNsaWRlT3V0IH0gZnJvbSAnLi9tZW51LWFuaW1hdGlvbnMnXG5pbXBvcnQgeyBNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbWVudS1pdGVtLmNvbXBvbmVudCdcbmltcG9ydCB7IElUaGVTZWFtTWVudVBhbmVsIH0gZnJvbSAnLi9tZW51LXBhbmVsJ1xuaW1wb3J0IHsgVEhFU0VBTV9NRU5VX1BBTkVMIH0gZnJvbSAnLi9tZW51LXBhbmVsLXRva2VuJ1xuXG5pbXBvcnQgeyBNZW51Rm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9tZW51LWZvb3Rlci9tZW51LWZvb3Rlci5jb21wb25lbnQnXG5pbXBvcnQgeyBNZW51SGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9tZW51LWhlYWRlci9tZW51LWhlYWRlci5jb21wb25lbnQnXG5pbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSdcblxubGV0IG1lbnVQYW5lbFVpZCA9IDBcblxuLyoqIFJlYXNvbiB3aHkgdGhlIG1lbnUgd2FzIGNsb3NlZC4gKi9cbmV4cG9ydCB0eXBlIE1lbnVDbG9zZVJlYXNvbiA9IHZvaWQgfCAnY2xpY2snIHwgJ2tleWRvd24nIHwgJ3RhYidcblxuZXhwb3J0IGNvbnN0IExJQl9NRU5VOiBhbnkgPSB7XG4gIHByb3ZpZGU6IFRIRVNFQU1fTUVOVV9QQU5FTCxcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXVzZS1iZWZvcmUtZGVjbGFyZVxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBNZW51Q29tcG9uZW50KVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbIExJQl9NRU5VIF0sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdzbGlkZURvd24nLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCB1c2VBbmltYXRpb24obWVudURyb3Bkb3duUGFuZWxJbikpLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgdXNlQW5pbWF0aW9uKG1lbnVEcm9wZG93blBhbmVsT3V0KSksXG4gICAgXSlcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGV4cG9ydEFzOiAnc2VhbU1lbnUnXG59KVxuZXhwb3J0IGNsYXNzIE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXQsIElUaGVTZWFtTWVudVBhbmVsIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9uZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxuXG4gIHJlYWRvbmx5IHBhbmVsSWQgPSBgbWVudS1wYW5lbC0ke21lbnVQYW5lbFVpZCsrfWBcblxuICBwcml2YXRlIF9mb290ZXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1lbnVGb290ZXJDb21wb25lbnQgfCB1bmRlZmluZWQgfCBudWxsPih1bmRlZmluZWQpXG4gIHB1YmxpYyBoYXNGb290ZXIkID0gdGhpcy5fZm9vdGVyLnBpcGUobWFwKHYgPT4gdiAhPT0gbnVsbCAmJiB2ICE9PSB1bmRlZmluZWQpKVxuXG4gIHByaXZhdGUgX2hlYWRlciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWVudUhlYWRlckNvbXBvbmVudCB8IHVuZGVmaW5lZCB8IG51bGw+KHVuZGVmaW5lZClcbiAgcHVibGljIGhhc0hlYWRlciQgPSB0aGlzLl9oZWFkZXIucGlwZShtYXAodiA9PiB2ICE9PSBudWxsICYmIHYgIT09IHVuZGVmaW5lZCkpXG5cbiAgcHJpdmF0ZSBfa2V5TWFuYWdlcj86IEZvY3VzS2V5TWFuYWdlcjxNZW51SXRlbUNvbXBvbmVudD5cblxuICAvKiogTWVudSBpdGVtcyBpbnNpZGUgdGhlIGN1cnJlbnQgbWVudS4gKi9cbiAgcHJpdmF0ZSBfaXRlbXM6IE1lbnVJdGVtQ29tcG9uZW50W10gPSBbXVxuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgYW1vdW50IG9mIG1lbnUgaXRlbXMgY2hhbmdlcy4gKi9cbiAgcHJpdmF0ZSBfaXRlbUNoYW5nZXMgPSBuZXcgU3ViamVjdDxNZW51SXRlbUNvbXBvbmVudFtdPigpXG5cbiAgLyoqIFN1YnNjcmlwdGlvbiB0byB0YWIgZXZlbnRzIG9uIHRoZSBtZW51IHBhbmVsICovXG4gIHByaXZhdGUgX3RhYlN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWVxuXG4gIC8qKiBQYXJlbnQgbWVudSBvZiB0aGUgY3VycmVudCBtZW51IHBhbmVsLiAqL1xuICBwYXJlbnRNZW51OiBJVGhlU2VhbU1lbnVQYW5lbCB8IHVuZGVmaW5lZFxuXG4gIC8qKiBMYXlvdXQgZGlyZWN0aW9uIG9mIHRoZSBtZW51LiAqL1xuICBkaXJlY3Rpb246IERpcmVjdGlvbiB8IHVuZGVmaW5lZFxuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciBhbiBhbmltYXRpb24gb24gdGhlIG1lbnUgY29tcGxldGVzLiAqL1xuICByZWFkb25seSBfYW5pbWF0aW9uRG9uZSA9IG5ldyBTdWJqZWN0PEFuaW1hdGlvbkV2ZW50PigpXG5cbiAgLyoqIFdoZXRoZXIgdGhlIG1lbnUgaXMgYW5pbWF0aW5nLiAqL1xuICBfaXNBbmltYXRpbmcgPSBmYWxzZVxuXG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpIHRlbXBsYXRlUmVmPzogVGVtcGxhdGVSZWY8YW55PlxuXG4gIEBPdXRwdXQoKSByZWFkb25seSBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1lbnVDbG9zZVJlYXNvbj4oKVxuXG4gIEBJbnB1dCgpIG1lbnVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGEgd2lkdGggZm9yIGEgbWVudSB0aGF0IHdpbGwgc2NhbGUgZG93biBpZiB0aGUgd2luZG93IGlubmVyV2lkdGggaXNcbiAgICogc21hbGxlciB0aGFuIHRoZSB2YWx1ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBiYXNlV2lkdGgoKSB7IHJldHVybiB0aGlzLl9iYXNlV2lkdGgudmFsdWUgfVxuICBzZXQgYmFzZVdpZHRoKHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XG4gICAgY29uc3QgX3ZhbCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlLCBudWxsKVxuICAgIGlmIChfdmFsICE9PSB0aGlzLl9iYXNlV2lkdGgudmFsdWUpIHtcbiAgICAgIHRoaXMuX2Jhc2VXaWR0aC5uZXh0KF92YWwpXG4gICAgfVxuICB9XG4gIHByaXZhdGUgX2Jhc2VXaWR0aCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgbnVsbD4obnVsbClcbiAgX21lbnVXaWR0aCQ6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPlxuXG4gIEBJbnB1dCgpIGFuaW1hdGlvblR5cGU6ICdzbGlkZScgfCAnZmFkZScgPSAnc2xpZGUnXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fbWVudVdpZHRoJCA9IHRoaXMuX2Jhc2VXaWR0aC5waXBlKFxuICAgICAgc3dpdGNoTWFwKGJhc2VXaWR0aCA9PiB7XG4gICAgICAgIGlmIChiYXNlV2lkdGgpIHtcbiAgICAgICAgICByZXR1cm4gZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgodW5kZWZpbmVkKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB3aW5kb3cuaW5uZXJXaWR0aCA8IGJhc2VXaWR0aCA/IGAke3dpbmRvdy5pbm5lcldpZHRofXB4YCA6IGAke2Jhc2VXaWR0aH1weGApXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgICB9KSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICB0YWtlVW50aWwodGhpcy5fbmdVbnN1YnNjcmliZSlcbiAgICApXG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl90YWJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgIHRoaXMuY2xvc2VkLmNvbXBsZXRlKClcblxuICAgIHRoaXMuX25nVW5zdWJzY3JpYmUubmV4dCh1bmRlZmluZWQpXG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpXG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5fa2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXI8TWVudUl0ZW1Db21wb25lbnQ+KHRoaXMuX2l0ZW1zKS53aXRoV3JhcCgpLndpdGhUeXBlQWhlYWQoKVxuICAgIHRoaXMuX3RhYlN1YnNjcmlwdGlvbiA9IHRoaXMuX2tleU1hbmFnZXIudGFiT3V0LnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlZC5lbWl0KCd0YWInKSlcbiAgfVxuXG4gIC8qKiBTdHJlYW0gdGhhdCBlbWl0cyB3aGVuZXZlciB0aGUgaG92ZXJlZCBtZW51IGl0ZW0gY2hhbmdlcy4gKi9cbiAgX2hvdmVyZWQoKTogT2JzZXJ2YWJsZTxNZW51SXRlbUNvbXBvbmVudD4ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtQ2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuX2l0ZW1zKSxcbiAgICAgIHN3aXRjaE1hcChpdGVtcyA9PiBtZXJnZSguLi5pdGVtcy5tYXAoaXRlbSA9PiBpdGVtLl9ob3ZlcmVkKSkpXG4gICAgKVxuICB9XG5cbiAgLyoqIEhhbmRsZSBhIGtleWJvYXJkIGV2ZW50IGZyb20gdGhlIG1lbnUsIGRlbGVnYXRpbmcgdG8gdGhlIGFwcHJvcHJpYXRlIGFjdGlvbi4gKi9cbiAgX2hhbmRsZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGVwcmVjYXRpb25cbiAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZVxuICAgIGNvbnN0IG1hbmFnZXIgPSB0aGlzLl9rZXlNYW5hZ2VyXG5cbiAgICBzd2l0Y2ggKGtleUNvZGUpIHtcbiAgICAgIGNhc2UgRVNDQVBFOlxuICAgICAgICBpZiAoIWhhc01vZGlmaWVyS2V5KGV2ZW50KSkge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICB0aGlzLmNsb3NlZC5lbWl0KCdrZXlkb3duJylcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBMRUZUX0FSUk9XOlxuICAgICAgICBpZiAodGhpcy5wYXJlbnRNZW51ICYmIHRoaXMuZGlyZWN0aW9uID09PSAnbHRyJykge1xuICAgICAgICAgIHRoaXMuY2xvc2VkLmVtaXQoJ2tleWRvd24nKVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIFJJR0hUX0FSUk9XOlxuICAgICAgICBpZiAodGhpcy5wYXJlbnRNZW51ICYmIHRoaXMuZGlyZWN0aW9uID09PSAncnRsJykge1xuICAgICAgICAgIHRoaXMuY2xvc2VkLmVtaXQoJ2tleWRvd24nKVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIEhPTUU6XG4gICAgICBjYXNlIEVORDpcbiAgICAgICAgaWYgKCFoYXNNb2RpZmllcktleShldmVudCkpIHtcbiAgICAgICAgICBrZXlDb2RlID09PSBIT01FID8gbWFuYWdlcj8uc2V0Rmlyc3RJdGVtQWN0aXZlKCkgOiBtYW5hZ2VyPy5zZXRMYXN0SXRlbUFjdGl2ZSgpXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAoa2V5Q29kZSA9PT0gVVBfQVJST1cgfHwga2V5Q29kZSA9PT0gRE9XTl9BUlJPVykge1xuICAgICAgICAgIG1hbmFnZXI/LnNldEZvY3VzT3JpZ2luKCdrZXlib2FyZCcpXG4gICAgICAgIH1cblxuICAgICAgICBtYW5hZ2VyPy5vbktleWRvd24oZXZlbnQpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZvY3VzIHRoZSBmaXJzdCBpdGVtIGluIHRoZSBtZW51LlxuICAgKiBAcGFyYW0gb3JpZ2luIEFjdGlvbiBmcm9tIHdoaWNoIHRoZSBmb2N1cyBvcmlnaW5hdGVkLiBVc2VkIHRvIHNldCB0aGUgY29ycmVjdCBzdHlsaW5nLlxuICAgKi9cbiAgZm9jdXNGaXJzdEl0ZW0ob3JpZ2luOiBGb2N1c09yaWdpbiA9ICdwcm9ncmFtJyk6IHZvaWQge1xuICAgIHRoaXMuX2tleU1hbmFnZXI/LnNldEZvY3VzT3JpZ2luKG9yaWdpbikuc2V0Rmlyc3RJdGVtQWN0aXZlKClcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIGFjdGl2ZSBpdGVtIGluIHRoZSBtZW51LiBUaGlzIGlzIHVzZWQgd2hlbiB0aGUgbWVudSBpcyBvcGVuZWQsIGFsbG93aW5nXG4gICAqIHRoZSB1c2VyIHRvIHN0YXJ0IGZyb20gdGhlIGZpcnN0IG9wdGlvbiB3aGVuIHByZXNzaW5nIHRoZSBkb3duIGFycm93LlxuICAgKi9cbiAgcmVzZXRBY3RpdmVJdGVtKCkge1xuICAgIHRoaXMuX2tleU1hbmFnZXI/LnNldEFjdGl2ZUl0ZW0oLTEpXG4gIH1cblxuICAvKiogUmVnaXN0ZXJzIGEgbWVudSBpdGVtIHdpdGggdGhlIG1lbnUuICovXG4gIGFkZEl0ZW0oaXRlbTogTWVudUl0ZW1Db21wb25lbnQpIHtcbiAgICAvLyBXZSByZWdpc3RlciB0aGUgaXRlbXMgdGhyb3VnaCB0aGlzIG1ldGhvZCwgcmF0aGVyIHRoYW4gcGlja2luZyB0aGVtIHVwIHRocm91Z2hcbiAgICAvLyBgQ29udGVudENoaWxkcmVuYCwgYmVjYXVzZSB3ZSBuZWVkIHRoZSBpdGVtcyB0byBiZSBwaWNrZWQgdXAgYnkgdGhlaXIgY2xvc2VzdFxuICAgIC8vIGBzZWFtLW1lbnVgIGFuY2VzdG9yLiBJZiB3ZSB1c2VkIGBAQ29udGVudENoaWxkcmVuKE1lbnVJdGVtQ29tcG9uZW50LCB7ZGVzY2VuZGFudHM6IHRydWV9KWAsXG4gICAgLy8gYWxsIGRlc2NlbmRhbnQgaXRlbXMgd2lsbCBibGVlZCBpbnRvIHRoZSB0b3AtbGV2ZWwgbWVudSBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgY29uc3VtZXJcbiAgICAvLyBoYXMgYHNlYW0tbWVudWAgaW5zdGFuY2VzIG5lc3RlZCBpbnNpZGUgZWFjaCBvdGhlci5cbiAgICBpZiAodGhpcy5faXRlbXMuaW5kZXhPZihpdGVtKSA9PT0gLTEpIHtcbiAgICAgIHRoaXMuX2l0ZW1zLnB1c2goaXRlbSlcbiAgICAgIHRoaXMuX2l0ZW1DaGFuZ2VzLm5leHQodGhpcy5faXRlbXMpXG4gICAgfVxuICB9XG5cbiAgLyoqIFJlbW92ZXMgYW4gaXRlbSBmcm9tIHRoZSBtZW51LiAqL1xuICByZW1vdmVJdGVtKGl0ZW06IE1lbnVJdGVtQ29tcG9uZW50KSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLl9pdGVtcy5pbmRleE9mKGl0ZW0pXG5cbiAgICBpZiAodGhpcy5faXRlbXMuaW5kZXhPZihpdGVtKSA+IC0xKSB7XG4gICAgICB0aGlzLl9pdGVtcy5zcGxpY2UoaW5kZXgsIDEpXG4gICAgICB0aGlzLl9pdGVtQ2hhbmdlcy5uZXh0KHRoaXMuX2l0ZW1zKVxuICAgIH1cbiAgfVxuXG4gIC8qKiBTZXRzIHRoZSBmb290ZXIgY29tcG9uZW50LiAqL1xuICBzZXRGb290ZXIoZm9vdGVyPzogTWVudUZvb3RlckNvbXBvbmVudCkge1xuICAgIHRoaXMuX2Zvb3Rlci5uZXh0KGZvb3RlcilcbiAgfVxuXG4gIC8qKiBTZXRzIHRoZSBoZWFkZXIgY29tcG9uZW50LiAqL1xuICBzZXRIZWFkZXIoaGVhZGVyPzogTWVudUhlYWRlckNvbXBvbmVudCkge1xuICAgIHRoaXMuX2hlYWRlci5uZXh0KGhlYWRlcilcbiAgfVxuXG4gIF9kcm9wZG93bk1lbnVDbGljayhldmVudDogRXZlbnQpIHtcbiAgICAvLyBUaGlzIGlzIG5lZWRlZCwgYmVjYXVzZSBzb21lIG1lbnUncyB3aWxsIGdldCBzdHVjayBvcGVuIGlmIHRoZSBjb21wb25lbnRcbiAgICAvLyBtYW5hZ2luZyB0aGUgbWVudSBpcyBkZXN0cm95ZWQgYmVmb3JlIHRoZSBtZW51IGZpbmlzaGVzIGl0cyBjbGVhbnVwLiBJXG4gICAgLy8gbWF5IGxvb2sgZm9yIGEgZml4IHRvIHRoYXQgZXZlbnR1YWxseS5cbiAgICB0aGlzLmNsb3NlZC5lbWl0KCdjbGljaycpXG4gIH1cblxuICAvKiogQ2FsbGJhY2sgdGhhdCBpcyBpbnZva2VkIHdoZW4gdGhlIHBhbmVsIGFuaW1hdGlvbiBjb21wbGV0ZXMuICovXG4gIF9vbkFuaW1hdGlvbkRvbmUoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgdGhpcy5fYW5pbWF0aW9uRG9uZS5uZXh0KGV2ZW50KVxuICAgIHRoaXMuX2lzQW5pbWF0aW5nID0gZmFsc2VcbiAgfVxuXG4gIF9vbkFuaW1hdGlvblN0YXJ0KGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIHRoaXMuX2lzQW5pbWF0aW5nID0gdHJ1ZVxuXG4gICAgLy8gU2Nyb2xsIHRoZSBjb250ZW50IGVsZW1lbnQgdG8gdGhlIHRvcCBhcyBzb29uIGFzIHRoZSBhbmltYXRpb24gc3RhcnRzLiBUaGlzIGlzIG5lY2Vzc2FyeSxcbiAgICAvLyBiZWNhdXNlIHdlIG1vdmUgZm9jdXMgdG8gdGhlIGZpcnN0IGl0ZW0gd2hpbGUgaXQncyBzdGlsbCBiZWluZyBhbmltYXRlZCwgd2hpY2ggY2FuIHRocm93XG4gICAgLy8gdGhlIGJyb3dzZXIgb2ZmIHdoZW4gaXQgZGV0ZXJtaW5lcyB0aGUgc2Nyb2xsIHBvc2l0aW9uLiBBbHRlcm5hdGl2ZWx5IHdlIGNhbiBtb3ZlIGZvY3VzXG4gICAgLy8gd2hlbiB0aGUgYW5pbWF0aW9uIGlzIGRvbmUsIGhvd2V2ZXIgbW92aW5nIGZvY3VzIGFzeW5jaHJvbm91c2x5IHdpbGwgaW50ZXJydXB0IHNjcmVlblxuICAgIC8vIHJlYWRlcnMgd2hpY2ggYXJlIGluIHRoZSBwcm9jZXNzIG9mIHJlYWRpbmcgb3V0IHRoZSBtZW51IGFscmVhZHkuIFdlIHRha2UgdGhlIGBlbGVtZW50YFxuICAgIC8vIGZyb20gdGhlIGBldmVudGAgc2luY2Ugd2UgY2FuJ3QgdXNlIGEgYFZpZXdDaGlsZGAgdG8gYWNjZXNzIHRoZSBwYW5lLlxuICAgIGlmIChldmVudC50b1N0YXRlID09PSAnZW50ZXInICYmIHRoaXMuX2tleU1hbmFnZXI/LmFjdGl2ZUl0ZW1JbmRleCA9PT0gMCkge1xuICAgICAgZXZlbnQuZWxlbWVudC5zY3JvbGxUb3AgPSAwXG4gICAgfVxuICB9XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cInNlYW0tbWVudS1jb250YWluZXJcIlxuICAgIEBzbGlkZURvd25cbiAgICAoQHNsaWRlRG93bi5zdGFydCk9XCJfb25BbmltYXRpb25TdGFydCgkZXZlbnQpXCJcbiAgICAoQHNsaWRlRG93bi5kb25lKT1cIl9vbkFuaW1hdGlvbkRvbmUoJGV2ZW50KVwiXG4gICAgW2NsYXNzLnNlYW0tbWVudS1hbmltLS1zbGlkZV09XCJhbmltYXRpb25UeXBlPT09J3NsaWRlJ1wiXG4gICAgW2NsYXNzLnNlYW0tbWVudS1hbmltLS1mYWRlXT1cImFuaW1hdGlvblR5cGU9PT0nZmFkZSdcIlxuICAgIFtpZF09XCJwYW5lbElkXCI+XG4gICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnUgc2hvdyBwb3NpdGlvbi1zdGF0aWN7eyBtZW51Q2xhc3MgPyAnICcgKyBtZW51Q2xhc3MgOiAnJyB9fVwiXG4gICAgICBbc3R5bGUud2lkdGhdPVwiX21lbnVXaWR0aCQgfCBhc3luY1wiXG4gICAgICBbY2xhc3MucHQtMF09XCJoYXNIZWFkZXIkIHwgYXN5bmNcIlxuICAgICAgW2NsYXNzLnBiLTBdPVwiaGFzRm9vdGVyJCB8IGFzeW5jXCJcbiAgICAgIChrZXlkb3duKT1cIl9oYW5kbGVLZXlkb3duKCRldmVudClcIlxuICAgICAgKGNsaWNrKT1cIl9kcm9wZG93bk1lbnVDbGljaygkZXZlbnQpXCJcbiAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgcm9sZT1cIm1lbnVcIlxuICAgICAgPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -12,8 +12,8 @@ import { MenuComponent } from './menu.component';
12
12
  import * as i0 from "@angular/core";
13
13
  export class TheSeamMenuModule {
14
14
  }
15
- TheSeamMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
- TheSeamMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: TheSeamMenuModule, declarations: [MenuComponent,
15
+ TheSeamMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
+ TheSeamMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TheSeamMenuModule, declarations: [MenuComponent,
17
17
  MenuToggleDirective,
18
18
  MenuItemComponent,
19
19
  MenuDividerComponent,
@@ -30,11 +30,11 @@ TheSeamMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versi
30
30
  MenuFooterComponent,
31
31
  MenuFooterActionComponent,
32
32
  MenuHeaderComponent] });
33
- TheSeamMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamMenuModule, imports: [CommonModule,
33
+ TheSeamMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamMenuModule, imports: [CommonModule,
34
34
  OverlayModule,
35
35
  TheSeamIconModule, TheSeamIconModule,
36
36
  OverlayModule] });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamMenuModule, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamMenuModule, decorators: [{
38
38
  type: NgModule,
39
39
  args: [{
40
40
  declarations: [
@@ -40,9 +40,9 @@ export class ModalCloseDirective {
40
40
  }
41
41
  }
42
42
  }
43
- ModalCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ModalCloseDirective, deps: [{ token: i0.ElementRef }, { token: i1.Modal }, { token: i2.ModalRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
44
- ModalCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: ModalCloseDirective, selector: "button[seamModalClose]", inputs: { type: "type", ariaLabel: ["aria-label", "ariaLabel"], seamModalClose: "seamModalClose", seamModalNext: "seamModalNext", seamModalNextConfig: "seamModalNextConfig" }, host: { listeners: { "click": "_onClick()" }, properties: { "attr.type": "this._attrType", "attr.aria-label": "this._attrAriaLabel" } }, exportAs: ["seamModalClose"], ngImport: i0 });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ModalCloseDirective, decorators: [{
43
+ ModalCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ModalCloseDirective, deps: [{ token: i0.ElementRef }, { token: i1.Modal }, { token: i2.ModalRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
44
+ ModalCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: ModalCloseDirective, selector: "button[seamModalClose]", inputs: { type: "type", ariaLabel: ["aria-label", "ariaLabel"], seamModalClose: "seamModalClose", seamModalNext: "seamModalNext", seamModalNextConfig: "seamModalNextConfig" }, host: { listeners: { "click": "_onClick()" }, properties: { "attr.type": "this._attrType", "attr.aria-label": "this._attrAriaLabel" } }, exportAs: ["seamModalClose"], ngImport: i0 });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ModalCloseDirective, decorators: [{
46
46
  type: Directive,
47
47
  args: [{
48
48
  selector: 'button[seamModalClose]',
@@ -5,9 +5,9 @@ export class ModalFooterTplDirective {
5
5
  this.template = template;
6
6
  }
7
7
  }
8
- ModalFooterTplDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ModalFooterTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- ModalFooterTplDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: ModalFooterTplDirective, selector: "[seamModalFooterTpl]", ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ModalFooterTplDirective, decorators: [{
8
+ ModalFooterTplDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ModalFooterTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ ModalFooterTplDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: ModalFooterTplDirective, selector: "[seamModalFooterTpl]", ngImport: i0 });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ModalFooterTplDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: '[seamModalFooterTpl]'
@@ -5,9 +5,9 @@ export class ModalHeaderIconTplDirective {
5
5
  this.template = template;
6
6
  }
7
7
  }
8
- ModalHeaderIconTplDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ModalHeaderIconTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- ModalHeaderIconTplDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: ModalHeaderIconTplDirective, selector: "[seamModalHeaderIconTpl]", ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ModalHeaderIconTplDirective, decorators: [{
8
+ ModalHeaderIconTplDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ModalHeaderIconTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ ModalHeaderIconTplDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: ModalHeaderIconTplDirective, selector: "[seamModalHeaderIconTpl]", ngImport: i0 });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ModalHeaderIconTplDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: '[seamModalHeaderIconTpl]'
@@ -5,9 +5,9 @@ export class ModalHeaderTitleTplDirective {
5
5
  this.template = template;
6
6
  }
7
7
  }
8
- ModalHeaderTitleTplDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ModalHeaderTitleTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- ModalHeaderTitleTplDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: ModalHeaderTitleTplDirective, selector: "[seamModalHeaderTitleTpl]", ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ModalHeaderTitleTplDirective, decorators: [{
8
+ ModalHeaderTitleTplDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ModalHeaderTitleTplDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ ModalHeaderTitleTplDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: ModalHeaderTitleTplDirective, selector: "[seamModalHeaderTitleTpl]", ngImport: i0 });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ModalHeaderTitleTplDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: '[seamModalHeaderTitleTpl]'
@@ -6,9 +6,9 @@ export class ModalTitleDirective {
6
6
  this._modalTitleCss = true;
7
7
  }
8
8
  }
9
- ModalTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ModalTitleDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
10
- ModalTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: ModalTitleDirective, selector: "[seamModalTitle]", host: { properties: { "class.modal-title": "this._modalTitleCss" } }, ngImport: i0 });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ModalTitleDirective, decorators: [{
9
+ ModalTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ModalTitleDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
10
+ ModalTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: ModalTitleDirective, selector: "[seamModalTitle]", host: { properties: { "class.modal-title": "this._modalTitleCss" } }, ngImport: i0 });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ModalTitleDirective, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  selector: '[seamModalTitle]'
@@ -10,16 +10,16 @@ export class ModalDirective {
10
10
  open() {
11
11
  // console.log('[ModalDirective] open')
12
12
  const ref = this.modal.openFromTemplate(this.template);
13
- ref.backdropClick().subscribe(e => console.log('backdropClick', e));
13
+ // ref.backdropClick().subscribe(e => console.log('backdropClick', e))
14
14
  }
15
15
  }
16
- ModalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ModalDirective, deps: [{ token: i0.TemplateRef }, { token: i1.Modal }], target: i0.ɵɵFactoryTarget.Directive });
17
- ModalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: ModalDirective, selector: "[seamModal]", exportAs: ["seamModal"], ngImport: i0 });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ModalDirective, decorators: [{
16
+ ModalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ModalDirective, deps: [{ token: i0.TemplateRef }, { token: i1.Modal }], target: i0.ɵɵFactoryTarget.Directive });
17
+ ModalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: ModalDirective, selector: "[seamModal]", exportAs: ["seamModal"], ngImport: i0 });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ModalDirective, decorators: [{
19
19
  type: Directive,
20
20
  args: [{
21
21
  selector: '[seamModal]',
22
22
  exportAs: 'seamModal'
23
23
  }]
24
24
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i1.Modal }]; } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL21vZGFsL2RpcmVjdGl2ZXMvbW9kYWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUE7OztBQUt0RCxnREFBZ0Q7QUFNaEQsTUFBTSxPQUFPLGNBQWM7SUFFekIsWUFDUyxRQUFrQyxFQUNsQyxLQUFZO1FBRFosYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFDbEMsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUNqQixDQUFDO0lBRUwsSUFBSTtRQUNGLHVDQUF1QztRQUN2QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN0RCxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNyRSxDQUFDOzsyR0FYVSxjQUFjOytGQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFKMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLFdBQVc7aUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB7IE1vZGFsUmVmIH0gZnJvbSAnLi4vbW9kYWwtcmVmJ1xuaW1wb3J0IHsgTW9kYWwgfSBmcm9tICcuLi9tb2RhbC5zZXJ2aWNlJ1xuXG4vLyBUT0RPOiBNYWtlIHRoaXMgd29yayBmb3IgY3VycmVudCBtb2RhbCB1c2FnZS5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NlYW1Nb2RhbF0nLFxuICBleHBvcnRBczogJ3NlYW1Nb2RhbCdcbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxEaXJlY3RpdmUge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHB1YmxpYyBtb2RhbDogTW9kYWxcbiAgKSB7IH1cblxuICBvcGVuKCk6IHZvaWQge1xuICAgIC8vIGNvbnNvbGUubG9nKCdbTW9kYWxEaXJlY3RpdmVdIG9wZW4nKVxuICAgIGNvbnN0IHJlZiA9IHRoaXMubW9kYWwub3BlbkZyb21UZW1wbGF0ZSh0aGlzLnRlbXBsYXRlKVxuICAgIHJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKGUgPT4gY29uc29sZS5sb2coJ2JhY2tkcm9wQ2xpY2snLCBlKSlcbiAgfVxuXG59XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL21vZGFsL2RpcmVjdGl2ZXMvbW9kYWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUE7OztBQUt0RCxnREFBZ0Q7QUFNaEQsTUFBTSxPQUFPLGNBQWM7SUFFekIsWUFDUyxRQUFrQyxFQUNsQyxLQUFZO1FBRFosYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFDbEMsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUNqQixDQUFDO0lBRUwsSUFBSTtRQUNGLHVDQUF1QztRQUN2QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN0RCxzRUFBc0U7SUFDeEUsQ0FBQzs7MkdBWFUsY0FBYzsrRkFBZCxjQUFjOzJGQUFkLGNBQWM7a0JBSjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRSxXQUFXO2lCQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBNb2RhbFJlZiB9IGZyb20gJy4uL21vZGFsLXJlZidcbmltcG9ydCB7IE1vZGFsIH0gZnJvbSAnLi4vbW9kYWwuc2VydmljZSdcblxuLy8gVE9ETzogTWFrZSB0aGlzIHdvcmsgZm9yIGN1cnJlbnQgbW9kYWwgdXNhZ2UuXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzZWFtTW9kYWxdJyxcbiAgZXhwb3J0QXM6ICdzZWFtTW9kYWwnXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsRGlyZWN0aXZlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PixcbiAgICBwdWJsaWMgbW9kYWw6IE1vZGFsXG4gICkgeyB9XG5cbiAgb3BlbigpOiB2b2lkIHtcbiAgICAvLyBjb25zb2xlLmxvZygnW01vZGFsRGlyZWN0aXZlXSBvcGVuJylcbiAgICBjb25zdCByZWYgPSB0aGlzLm1vZGFsLm9wZW5Gcm9tVGVtcGxhdGUodGhpcy50ZW1wbGF0ZSlcbiAgICAvLyByZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZShlID0+IGNvbnNvbGUubG9nKCdiYWNrZHJvcENsaWNrJywgZSkpXG4gIH1cblxufVxuIl19
@@ -63,11 +63,10 @@ export class ModalComponent {
63
63
  /** Emit the `(ngSubmit)` event. NOTE: Only if `form` is defined. */
64
64
  this.formSubmit = new EventEmitter();
65
65
  if (isDevMode()) {
66
- // tslint:disable-next-line:max-line-length
66
+ // eslint-disable-next-line no-console
67
67
  console.warn('seamModal has some issues with its design. Use the Modal service for now, because seamModal will have breaking changes or be removed soon.');
68
68
  }
69
69
  }
70
- ngOnInit() { }
71
70
  ngOnDestroy() {
72
71
  this.close();
73
72
  }
@@ -86,7 +85,7 @@ export class ModalComponent {
86
85
  .centerVertically();
87
86
  this._overlayRef = this._overlay.create({
88
87
  hasBackdrop: true,
89
- positionStrategy: positionStrategy
88
+ positionStrategy
90
89
  });
91
90
  this._overlayRef.detachments().subscribe(_ => this.overlayDetached.emit());
92
91
  this._overlayRef.backdropClick().subscribe(_ => this.close());
@@ -117,12 +116,12 @@ export class ModalComponent {
117
116
  return this._route.outlet === 'modal';
118
117
  }
119
118
  }
120
- ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ModalComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.Overlay }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
121
- ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: ModalComponent, selector: "seam-modal", inputs: { closeOnKeyPressed: "closeOnKeyPressed", showCloseBtn: "showCloseBtn", titleText: "titleText", icon: "icon", iconTpl: "iconTpl", titleTpl: "titleTpl", footerTpl: "footerTpl", form: "form" }, outputs: { modalClosed: "modalClosed", overlayDetached: "overlayDetached", formSubmit: "formSubmit" }, providers: [LIB_MODAL], queries: [{ propertyName: "_queryIconTpl", first: true, predicate: ModalHeaderIconTplDirective, descendants: true, static: true }, { propertyName: "_queryTitleTpl", first: true, predicate: ModalHeaderTitleTplDirective, descendants: true, static: true }, { propertyName: "_queryFooterTpl", first: true, predicate: ModalFooterTplDirective, descendants: true, static: true }], viewQueries: [{ propertyName: "_modalTpl", first: true, predicate: ["modalTpl"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #modalTpl>\n <form *ngIf=\"form\" [formGroup]=\"form\" (ngSubmit)=\"_onSubmit()\" class=\"p-4\" style=\"max-width: 800px\">\n <ng-container *ngTemplateOutlet=\"modalContent\"></ng-container>\n </form>\n\n <div *ngIf=\"!form\" class=\"p-4\" style=\"max-width: 800px\">\n <ng-container *ngTemplateOutlet=\"modalContent\"></ng-container>\n </div>\n\n <ng-template #modalContent>\n <div class=\"modal-content\">\n <div class=\"modal-header py-2\">\n <h4 class=\"modal-title\">\n <span class=\"pr-2 modal-header-icon\">\n <ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon }\">\n </ng-template>\n </ng-container>\n <ng-template #noIconTpl>\n <fa-icon *ngIf=\"_iconObj\"\n class=\"modal-header-icon--fa\"\n [icon]=\"_iconObj\"\n size=\"sm\"></fa-icon>\n <img *ngIf=\"_iconUrl\"\n class=\"modal-header-icon--img\"\n [src]=\"_iconUrl\" [alt]=\"titleText\">\n </ng-template>\n </span>\n\n <span class=\"modal-header-title\">\n <ng-container *ngIf=\"titleTpl; else noTitleTpl\">\n <ng-template\n [ngTemplateOutlet]=\"titleTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: titleText, title: titleText }\">\n </ng-template>\n </ng-container>\n <ng-template #noTitleTpl>{{ titleText }}</ng-template>\n </span>\n </h4>\n <button *ngIf=\"showCloseBtn\"\n type=\"button\"\n class=\"close\"\n (click)=\"close()\"\n aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"_queryFooterTpl\" class=\"modal-footer p-2\">\n <ng-container *ngComponentOutlet=\"$any(_queryFooterTpl.template)\"></ng-container>\n </div>\n </div>\n </ng-template>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.FaIconComponent, selector: "fa-icon", inputs: ["classes", "icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
119
+ ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ModalComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.Overlay }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
120
+ ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ModalComponent, selector: "seam-modal", inputs: { closeOnKeyPressed: "closeOnKeyPressed", showCloseBtn: "showCloseBtn", titleText: "titleText", icon: "icon", iconTpl: "iconTpl", titleTpl: "titleTpl", footerTpl: "footerTpl", form: "form" }, outputs: { modalClosed: "modalClosed", overlayDetached: "overlayDetached", formSubmit: "formSubmit" }, providers: [LIB_MODAL], queries: [{ propertyName: "_queryIconTpl", first: true, predicate: ModalHeaderIconTplDirective, descendants: true, static: true }, { propertyName: "_queryTitleTpl", first: true, predicate: ModalHeaderTitleTplDirective, descendants: true, static: true }, { propertyName: "_queryFooterTpl", first: true, predicate: ModalFooterTplDirective, descendants: true, static: true }], viewQueries: [{ propertyName: "_modalTpl", first: true, predicate: ["modalTpl"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #modalTpl>\n <form *ngIf=\"form\" [formGroup]=\"form\" (ngSubmit)=\"_onSubmit()\" class=\"p-4\" style=\"max-width: 800px\">\n <ng-container *ngTemplateOutlet=\"modalContent\"></ng-container>\n </form>\n\n <div *ngIf=\"!form\" class=\"p-4\" style=\"max-width: 800px\">\n <ng-container *ngTemplateOutlet=\"modalContent\"></ng-container>\n </div>\n\n <ng-template #modalContent>\n <div class=\"modal-content\">\n <div class=\"modal-header py-2\">\n <h4 class=\"modal-title\">\n <span class=\"pr-2 modal-header-icon\">\n <ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon }\">\n </ng-template>\n </ng-container>\n <ng-template #noIconTpl>\n <fa-icon *ngIf=\"_iconObj\"\n class=\"modal-header-icon--fa\"\n [icon]=\"_iconObj\"\n size=\"sm\"></fa-icon>\n <img *ngIf=\"_iconUrl\"\n class=\"modal-header-icon--img\"\n [src]=\"_iconUrl\" [alt]=\"titleText\">\n </ng-template>\n </span>\n\n <span class=\"modal-header-title\">\n <ng-container *ngIf=\"titleTpl; else noTitleTpl\">\n <ng-template\n [ngTemplateOutlet]=\"titleTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: titleText, title: titleText }\">\n </ng-template>\n </ng-container>\n <ng-template #noTitleTpl>{{ titleText }}</ng-template>\n </span>\n </h4>\n <button *ngIf=\"showCloseBtn\"\n type=\"button\"\n class=\"close\"\n (click)=\"close()\"\n aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"_queryFooterTpl\" class=\"modal-footer p-2\">\n <ng-container *ngComponentOutlet=\"$any(_queryFooterTpl.template)\"></ng-container>\n </div>\n </div>\n </ng-template>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.FaIconComponent, selector: "fa-icon", inputs: ["classes", "icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
122
121
  __decorate([
123
122
  InputBoolean()
124
123
  ], ModalComponent.prototype, "showCloseBtn", void 0);
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ModalComponent, decorators: [{
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ModalComponent, decorators: [{
126
125
  type: Component,
127
126
  args: [{ selector: 'seam-modal', providers: [LIB_MODAL], template: "<ng-template #modalTpl>\n <form *ngIf=\"form\" [formGroup]=\"form\" (ngSubmit)=\"_onSubmit()\" class=\"p-4\" style=\"max-width: 800px\">\n <ng-container *ngTemplateOutlet=\"modalContent\"></ng-container>\n </form>\n\n <div *ngIf=\"!form\" class=\"p-4\" style=\"max-width: 800px\">\n <ng-container *ngTemplateOutlet=\"modalContent\"></ng-container>\n </div>\n\n <ng-template #modalContent>\n <div class=\"modal-content\">\n <div class=\"modal-header py-2\">\n <h4 class=\"modal-title\">\n <span class=\"pr-2 modal-header-icon\">\n <ng-container *ngIf=\"iconTpl; else noIconTpl\">\n <ng-template\n [ngTemplateOutlet]=\"iconTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: icon, icon: icon }\">\n </ng-template>\n </ng-container>\n <ng-template #noIconTpl>\n <fa-icon *ngIf=\"_iconObj\"\n class=\"modal-header-icon--fa\"\n [icon]=\"_iconObj\"\n size=\"sm\"></fa-icon>\n <img *ngIf=\"_iconUrl\"\n class=\"modal-header-icon--img\"\n [src]=\"_iconUrl\" [alt]=\"titleText\">\n </ng-template>\n </span>\n\n <span class=\"modal-header-title\">\n <ng-container *ngIf=\"titleTpl; else noTitleTpl\">\n <ng-template\n [ngTemplateOutlet]=\"titleTpl\"\n [ngTemplateOutletContext]=\"{ $implicit: titleText, title: titleText }\">\n </ng-template>\n </ng-container>\n <ng-template #noTitleTpl>{{ titleText }}</ng-template>\n </span>\n </h4>\n <button *ngIf=\"showCloseBtn\"\n type=\"button\"\n class=\"close\"\n (click)=\"close()\"\n aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"_queryFooterTpl\" class=\"modal-footer p-2\">\n <ng-container *ngComponentOutlet=\"$any(_queryFooterTpl.template)\"></ng-container>\n </div>\n </div>\n </ng-template>\n</ng-template>\n" }]
128
127
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i1.Overlay }, { type: i2.ActivatedRoute }]; }, propDecorators: { closeOnKeyPressed: [{
@@ -160,4 +159,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
160
159
  }], formSubmit: [{
161
160
  type: Output
162
161
  }] } });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL21vZGFsL21vZGFsL21vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9tb2RhbC9tb2RhbC9tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBRTlDLE9BQU8sRUFBbUIsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckUsT0FBTyxFQUNVLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQ3ZFLFNBQVMsRUFBcUIsTUFBTSxFQUFlLFNBQVMsRUFDN0QsTUFBTSxlQUFlLENBQUE7QUFHdEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBSXZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUd0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQTtBQUNsRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQTtBQUMzRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQTtBQUM3RixPQUFPLEVBQW1CLHVCQUF1QixFQUFFLE1BQU0saUJBQWlCLENBQUE7Ozs7Ozs7QUFFMUUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFRO0lBQzVCLE9BQU8sRUFBRSx1QkFBdUI7SUFDaEMsaURBQWlEO0lBQ2pELFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO0lBQzdDLEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQTtBQVFELE1BQU0sT0FBTyxjQUFjO0lBR3pCLElBQ0ksaUJBQWlCLENBQUMsS0FBZSxJ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QUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFHOUIsSUFBSTtzQkFBWixLQUFLO2dCQUdJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nXG5pbXBvcnQgeyBFU0NBUEUgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCdcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LFxuICBpc0Rldk1vZGUsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IEljb25Qcm9wIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXN2Zy1jb3JlJ1xuXG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4gfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vY29yZSdcbmltcG9ydCB7IFNlYW1JY29uIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2ljb24nXG5cbmltcG9ydCB7IE1vZGFsRm9vdGVyVHBsRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9tb2RhbC1mb290ZXItdHBsLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE1vZGFsSGVhZGVySWNvblRwbERpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvbW9kYWwtaGVhZGVyLWljb24tdHBsLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE1vZGFsSGVhZGVyVGl0bGVUcGxEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL21vZGFsLWhlYWRlci10aXRsZS10cGwuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgSU1vZGFsQ29udGFpbmVyLCBUSEVTRUFNX01PREFMX0NPTlRBSU5FUiB9IGZyb20gJy4uL21vZGFsLm1vZGVscydcblxuZXhwb3J0IGNvbnN0IExJQl9NT0RBTDogYW55ID0ge1xuICBwcm92aWRlOiBUSEVTRUFNX01PREFMX0NPTlRBSU5FUixcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXVzZS1iZWZvcmUtZGVjbGFyZVxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBNb2RhbENvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlLFxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbIExJQl9NT0RBTCBdXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIElNb2RhbENvbnRhaW5lciB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9zaG93Q2xvc2VCdG46IEJvb2xlYW5JbnB1dFxuXG4gIEBJbnB1dCgpXG4gIHNldCBjbG9zZU9uS2V5UHJlc3NlZCh2YWx1ZTogbnVtYmVyW10pIHsgdGhpcy5fY2xvc2VPbktleVByZXNzZWQgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW10gfVxuICBnZXQgY2xvc2VPbktleVByZXNzZWQoKTogbnVtYmVyW10geyByZXR1cm4gdGhpcy5fY2xvc2VPbktleVByZXNzZWQgfVxuICBwcml2YXRlIF9jbG9zZU9uS2V5UHJlc3NlZDogbnVtYmVyW10gPSBbIEVTQ0FQRSBdXG5cbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHNob3dDbG9zZUJ0bjogYm9vbGVhbiA9IHRydWVcblxuICBASW5wdXQoKSB0aXRsZVRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGxcblxuICBASW5wdXQoKVxuICBnZXQgaWNvbigpOiBTZWFtSWNvbiB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLl9pY29uVXJsIHx8IHRoaXMuX2ljb25PYmogfVxuICBzZXQgaWNvbih2YWx1ZTogU2VhbUljb24gfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5faWNvblVybCA9IHZhbHVlXG4gICAgICB0aGlzLl9pY29uT2JqID0gdW5kZWZpbmVkXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2ljb25VcmwgPSB1bmRlZmluZWRcbiAgICAgIHRoaXMuX2ljb25PYmogPSB2YWx1ZVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBfaWNvblVybDogc3RyaW5nIHwgdW5kZWZpbmVkXG4gIHB1YmxpYyBfaWNvbk9iajogSWNvblByb3AgfCB1bmRlZmluZWRcblxuICBASW5wdXQoKVxuICBnZXQgaWNvblRwbCgpOiBUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9pY29uVHBsIHx8ICh0aGlzLl9xdWVyeUljb25UcGwgJiYgdGhpcy5fcXVlcnlJY29uVHBsLnRlbXBsYXRlKVxuICB9XG4gIHNldCBpY29uVHBsKHZhbHVlOiBUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9pY29uVHBsID0gdmFsdWVcbiAgfVxuICBwcml2YXRlIF9pY29uVHBsPzogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+XG5cbiAgQElucHV0KClcbiAgZ2V0IHRpdGxlVHBsKCk6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3RpdGxlVHBsIHx8ICh0aGlzLl9xdWVyeVRpdGxlVHBsICYmIHRoaXMuX3F1ZXJ5VGl0bGVUcGwudGVtcGxhdGUpXG4gIH1cbiAgc2V0IHRpdGxlVHBsKHZhbHVlOiBUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl90aXRsZVRwbCA9IHZhbHVlXG4gIH1cbiAgcHJpdmF0ZSBfdGl0bGVUcGw/OiBUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD5cblxuICBASW5wdXQoKVxuICBnZXQgZm9vdGVyVHBsKCk6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvb3RlclRwbCB8fCAodGhpcy5fcXVlcnlGb290ZXJUcGwgJiYgdGhpcy5fcXVlcnlGb290ZXJUcGwudGVtcGxhdGUpXG4gIH1cbiAgc2V0IGZvb3RlclRwbCh2YWx1ZTogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+IHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fZm9vdGVyVHBsID0gdmFsdWVcbiAgfVxuICBwcml2YXRlIF9mb290ZXJUcGw/OiBUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD5cblxuICBAT3V0cHV0KCkgbW9kYWxDbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcblxuICBfb3ZlcmxheVJlZj86IE92ZXJsYXlSZWZcblxuICBAT3V0cHV0KCkgb3ZlcmxheURldGFjaGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG5cbiAgQENvbnRlbnRDaGlsZChNb2RhbEhlYWRlckljb25UcGxEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pICBfcXVlcnlJY29uVHBsPzogTW9kYWxIZWFkZXJJY29uVHBsRGlyZWN0aXZlXG4gIEBDb250ZW50Q2hpbGQoTW9kYWxIZWFkZXJUaXRsZVRwbERpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSkgIF9xdWVyeVRpdGxlVHBsPzogTW9kYWxIZWFkZXJUaXRsZVRwbERpcmVjdGl2ZVxuICBAQ29udGVudENoaWxkKE1vZGFsRm9vdGVyVHBsRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KSAgX3F1ZXJ5Rm9vdGVyVHBsPzogTW9kYWxGb290ZXJUcGxEaXJlY3RpdmVcblxuICBAVmlld0NoaWxkKCdtb2RhbFRwbCcsIHsgc3RhdGljOiB0cnVlIH0pIF9tb2RhbFRwbD86IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PlxuXG4gIC8qKiBNYWtlcyB0aGUgbW9kYWwgY29udGFpbmVyIGEgZm9ybSB3aXRoIHRoaXMgZm9ybUdyb3VwLiAqL1xuICBASW5wdXQoKSBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwIHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIC8qKiBFbWl0IHRoZSBgKG5nU3VibWl0KWAgZXZlbnQuIE5PVEU6IE9ubHkgaWYgYGZvcm1gIGlzIGRlZmluZWQuICovXG4gIEBPdXRwdXQoKSBmb3JtU3VibWl0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgX3JvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICApIHtcbiAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcbiAgICAgIGNvbnNvbGUud2Fybignc2VhbU1vZGFsIGhhcyBzb21lIGlzc3VlcyB3aXRoIGl0cyBkZXNpZ24uIFVzZSB0aGUgTW9kYWwgc2VydmljZSBmb3Igbm93LCBiZWNhdXNlIHNlYW1Nb2RhbCB3aWxsIGhhdmUgYnJlYWtpbmcgY2hhbmdlcyBvciBiZSByZW1vdmVkIHNvb24uJylcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHsgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuY2xvc2UoKVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmlzUm91dGVNb2RhbCgpKSB7XG4gICAgICB0aGlzLm9wZW4oKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvcGVuKHBvcnRhbD86IFRlbXBsYXRlUG9ydGFsIHwgQ29tcG9uZW50UG9ydGFsPHt9Pikge1xuICAgIGlmICh0aGlzLl9vdmVybGF5UmVmICYmIHRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSkgeyByZXR1cm4gfVxuXG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKVxuICAgICAgLmdsb2JhbCgpXG4gICAgICAuY2VudGVySG9yaXpvbnRhbGx5KClcbiAgICAgIC5jZW50ZXJWZXJ0aWNhbGx5KClcblxuICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHBvc2l0aW9uU3RyYXRlZ3lcbiAgICB9KVxuXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2htZW50cygpLnN1YnNjcmliZShfID0+IHRoaXMub3ZlcmxheURldGFjaGVkLmVtaXQoKSlcblxuICAgIHRoaXMuX292ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZShfID0+IHRoaXMuY2xvc2UoKSlcblxuICAgIHRoaXMuX292ZXJsYXlSZWYua2V5ZG93bkV2ZW50cygpXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGVwcmVjYXRpb25cbiAgICAgIC5waXBlKGZpbHRlcihlID0+IGUua2V5Q29kZSA9PT0gRVNDQVBFKSlcbiAgICAgIC5zdWJzY3JpYmUoXyA9PiB0aGlzLmNsb3NlKCkpXG5cbiAgICBsZXQgcG9ydGFsVG9BdHRhY2ggPSBwb3J0YWxcbiAgICBpZiAoIXBvcnRhbFRvQXR0YWNoKSB7XG4gICAgICBpZiAoIXRoaXMuX21vZGFsVHBsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgX21vZGFsVHBsIG5vdCBmb3VuZC5gKVxuICAgICAgfVxuICAgICAgcG9ydGFsVG9BdHRhY2ggPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5fbW9kYWxUcGwsIHRoaXMuX3ZpZXdDb250YWluZXJSZWYpXG4gICAgfVxuXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5hdHRhY2gocG9ydGFsVG9BdHRhY2gpXG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKSB7XG4gICAgaWYgKCF0aGlzLl9vdmVybGF5UmVmIHx8ICF0aGlzLl9vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpIHsgcmV0dXJuIH1cblxuICAgIHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKClcblxuICAgIHRoaXMubW9kYWxDbG9zZWQuZW1pdCgpXG4gIH1cblxuICBfb25TdWJtaXQoKSB7XG4gICAgdGhpcy5mb3JtU3VibWl0LmVtaXQoKVxuICB9XG5cbiAgcHVibGljIGlzUm91dGVNb2RhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcm91dGUub3V0bGV0ID09PSAnbW9kYWwnXG4gIH1cblxufVxuIiwiPG5nLXRlbXBsYXRlICNtb2RhbFRwbD5cbiAgPGZvcm0gKm5nSWY9XCJmb3JtXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cIl9vblN1Ym1pdCgpXCIgY2xhc3M9XCJwLTRcIiBzdHlsZT1cIm1heC13aWR0aDogODAwcHhcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibW9kYWxDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvZm9ybT5cblxuICA8ZGl2ICpuZ0lmPVwiIWZvcm1cIiBjbGFzcz1cInAtNFwiIHN0eWxlPVwibWF4LXdpZHRoOiA4MDBweFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtb2RhbENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbiAgPG5nLXRlbXBsYXRlICNtb2RhbENvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXIgcHktMlwiPlxuICAgICAgICA8aDQgY2xhc3M9XCJtb2RhbC10aXRsZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHItMiBtb2RhbC1oZWFkZXItaWNvblwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImljb25UcGw7IGVsc2Ugbm9JY29uVHBsXCI+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImljb25UcGxcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaWNvbiwgaWNvbjogaWNvbiB9XCI+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9JY29uVHBsPlxuICAgICAgICAgICAgICA8ZmEtaWNvbiAqbmdJZj1cIl9pY29uT2JqXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1vZGFsLWhlYWRlci1pY29uLS1mYVwiXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiX2ljb25PYmpcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiPjwvZmEtaWNvbj5cbiAgICAgICAgICAgICAgPGltZyAqbmdJZj1cIl9pY29uVXJsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1vZGFsLWhlYWRlci1pY29uLS1pbWdcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwiX2ljb25VcmxcIiBbYWx0XT1cInRpdGxlVGV4dFwiPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1vZGFsLWhlYWRlci10aXRsZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRpdGxlVHBsOyBlbHNlIG5vVGl0bGVUcGxcIj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVUcGxcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogdGl0bGVUZXh0LCB0aXRsZTogdGl0bGVUZXh0IH1cIj5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub1RpdGxlVHBsPnt7IHRpdGxlVGV4dCB9fTwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2g0PlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwic2hvd0Nsb3NlQnRuXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImNsb3NlXCJcbiAgICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIkNsb3NlXCI+XG4gICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JnRpbWVzOzwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cIl9xdWVyeUZvb3RlclRwbFwiIGNsYXNzPVwibW9kYWwtZm9vdGVyIHAtMlwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cIiRhbnkoX3F1ZXJ5Rm9vdGVyVHBsLnRlbXBsYXRlKVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuIl19
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL21vZGFsL21vZGFsL21vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9tb2RhbC9tb2RhbC9tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBRTlDLE9BQU8sRUFBbUIsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckUsT0FBTyxFQUNVLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQ3ZFLFNBQVMsRUFBYSxNQUFNLEVBQWUsU0FBUyxFQUNyRCxNQUFNLGVBQWUsQ0FBQTtBQUd0QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFJdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBR3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFBO0FBQ2xGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtDQUErQyxDQUFBO0FBQzNGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFBO0FBQzdGLE9BQU8sRUFBbUIsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7Ozs7OztBQUUxRSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQVE7SUFDNUIsT0FBTyxFQUFFLHVCQUF1QjtJQUNoQyxpREFBaUQ7SUFDakQsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFDN0MsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFBO0FBUUQsTUFBTSxPQUFPLGNBQWM7SUFHekIsSUFDSSxpQkFBaUIsQ0FBQyxLQUFlLElB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OUIsSUFBSTtzQkFBWixLQUFLO2dCQUdJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nXG5pbXBvcnQgeyBFU0NBUEUgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCdcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LFxuICBpc0Rldk1vZGUsIE9uRGVzdHJveSwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBJY29uUHJvcCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1zdmctY29yZSdcblxuaW1wb3J0IHsgSW5wdXRCb29sZWFuIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2NvcmUnXG5pbXBvcnQgeyBTZWFtSWNvbiB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9pY29uJ1xuXG5pbXBvcnQgeyBNb2RhbEZvb3RlclRwbERpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvbW9kYWwtZm9vdGVyLXRwbC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBNb2RhbEhlYWRlckljb25UcGxEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL21vZGFsLWhlYWRlci1pY29uLXRwbC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBNb2RhbEhlYWRlclRpdGxlVHBsRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9tb2RhbC1oZWFkZXItdGl0bGUtdHBsLmRpcmVjdGl2ZSdcbmltcG9ydCB7IElNb2RhbENvbnRhaW5lciwgVEhFU0VBTV9NT0RBTF9DT05UQUlORVIgfSBmcm9tICcuLi9tb2RhbC5tb2RlbHMnXG5cbmV4cG9ydCBjb25zdCBMSUJfTU9EQUw6IGFueSA9IHtcbiAgcHJvdmlkZTogVEhFU0VBTV9NT0RBTF9DT05UQUlORVIsXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby11c2UtYmVmb3JlLWRlY2xhcmVcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTW9kYWxDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZSxcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VhbS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogWyBMSUJfTU9EQUwgXVxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgSU1vZGFsQ29udGFpbmVyIHtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3Nob3dDbG9zZUJ0bjogQm9vbGVhbklucHV0XG5cbiAgQElucHV0KClcbiAgc2V0IGNsb3NlT25LZXlQcmVzc2VkKHZhbHVlOiBudW1iZXJbXSkgeyB0aGlzLl9jbG9zZU9uS2V5UHJlc3NlZCA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXSB9XG4gIGdldCBjbG9zZU9uS2V5UHJlc3NlZCgpOiBudW1iZXJbXSB7IHJldHVybiB0aGlzLl9jbG9zZU9uS2V5UHJlc3NlZCB9XG4gIHByaXZhdGUgX2Nsb3NlT25LZXlQcmVzc2VkOiBudW1iZXJbXSA9IFsgRVNDQVBFIF1cblxuICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgc2hvd0Nsb3NlQnRuID0gdHJ1ZVxuXG4gIEBJbnB1dCgpIHRpdGxlVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIEBJbnB1dCgpXG4gIGdldCBpY29uKCk6IFNlYW1JY29uIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMuX2ljb25VcmwgfHwgdGhpcy5faWNvbk9iaiB9XG4gIHNldCBpY29uKHZhbHVlOiBTZWFtSWNvbiB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLl9pY29uVXJsID0gdmFsdWVcbiAgICAgIHRoaXMuX2ljb25PYmogPSB1bmRlZmluZWRcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5faWNvblVybCA9IHVuZGVmaW5lZFxuICAgICAgdGhpcy5faWNvbk9iaiA9IHZhbHVlXG4gICAgfVxuICB9XG5cbiAgcHVibGljIF9pY29uVXJsOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgcHVibGljIF9pY29uT2JqOiBJY29uUHJvcCB8IHVuZGVmaW5lZFxuXG4gIEBJbnB1dCgpXG4gIGdldCBpY29uVHBsKCk6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2ljb25UcGwgfHwgKHRoaXMuX3F1ZXJ5SWNvblRwbCAmJiB0aGlzLl9xdWVyeUljb25UcGwudGVtcGxhdGUpXG4gIH1cbiAgc2V0IGljb25UcGwodmFsdWU6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX2ljb25UcGwgPSB2YWx1ZVxuICB9XG4gIHByaXZhdGUgX2ljb25UcGw/OiBUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD5cblxuICBASW5wdXQoKVxuICBnZXQgdGl0bGVUcGwoKTogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fdGl0bGVUcGwgfHwgKHRoaXMuX3F1ZXJ5VGl0bGVUcGwgJiYgdGhpcy5fcXVlcnlUaXRsZVRwbC50ZW1wbGF0ZSlcbiAgfVxuICBzZXQgdGl0bGVUcGwodmFsdWU6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX3RpdGxlVHBsID0gdmFsdWVcbiAgfVxuICBwcml2YXRlIF90aXRsZVRwbD86IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PlxuXG4gIEBJbnB1dCgpXG4gIGdldCBmb290ZXJUcGwoKTogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZm9vdGVyVHBsIHx8ICh0aGlzLl9xdWVyeUZvb3RlclRwbCAmJiB0aGlzLl9xdWVyeUZvb3RlclRwbC50ZW1wbGF0ZSlcbiAgfVxuICBzZXQgZm9vdGVyVHBsKHZhbHVlOiBUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9mb290ZXJUcGwgPSB2YWx1ZVxuICB9XG4gIHByaXZhdGUgX2Zvb3RlclRwbD86IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PlxuXG4gIEBPdXRwdXQoKSBtb2RhbENsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKVxuXG4gIF9vdmVybGF5UmVmPzogT3ZlcmxheVJlZlxuXG4gIEBPdXRwdXQoKSBvdmVybGF5RGV0YWNoZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcblxuICBAQ29udGVudENoaWxkKE1vZGFsSGVhZGVySWNvblRwbERpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSkgX3F1ZXJ5SWNvblRwbD86IE1vZGFsSGVhZGVySWNvblRwbERpcmVjdGl2ZVxuICBAQ29udGVudENoaWxkKE1vZGFsSGVhZGVyVGl0bGVUcGxEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pIF9xdWVyeVRpdGxlVHBsPzogTW9kYWxIZWFkZXJUaXRsZVRwbERpcmVjdGl2ZVxuICBAQ29udGVudENoaWxkKE1vZGFsRm9vdGVyVHBsRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KSBfcXVlcnlGb290ZXJUcGw/OiBNb2RhbEZvb3RlclRwbERpcmVjdGl2ZVxuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsVHBsJywgeyBzdGF0aWM6IHRydWUgfSkgX21vZGFsVHBsPzogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+XG5cbiAgLyoqIE1ha2VzIHRoZSBtb2RhbCBjb250YWluZXIgYSBmb3JtIHdpdGggdGhpcyBmb3JtR3JvdXAuICovXG4gIEBJbnB1dCgpIGZvcm06IFVudHlwZWRGb3JtR3JvdXAgfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgLyoqIEVtaXQgdGhlIGAobmdTdWJtaXQpYCBldmVudC4gTk9URTogT25seSBpZiBgZm9ybWAgaXMgZGVmaW5lZC4gKi9cbiAgQE91dHB1dCgpIGZvcm1TdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSBfcm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICkge1xuICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUud2Fybignc2VhbU1vZGFsIGhhcyBzb21lIGlzc3VlcyB3aXRoIGl0cyBkZXNpZ24uIFVzZSB0aGUgTW9kYWwgc2VydmljZSBmb3Igbm93LCBiZWNhdXNlIHNlYW1Nb2RhbCB3aWxsIGhhdmUgYnJlYWtpbmcgY2hhbmdlcyBvciBiZSByZW1vdmVkIHNvb24uJylcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNsb3NlKClcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5pc1JvdXRlTW9kYWwoKSkge1xuICAgICAgdGhpcy5vcGVuKClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3Blbihwb3J0YWw/OiBUZW1wbGF0ZVBvcnRhbCB8IENvbXBvbmVudFBvcnRhbDxvYmplY3Q+KSB7XG4gICAgaWYgKHRoaXMuX292ZXJsYXlSZWYgJiYgdGhpcy5fb3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpKSB7IHJldHVybiB9XG5cbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpXG4gICAgICAuZ2xvYmFsKClcbiAgICAgIC5jZW50ZXJIb3Jpem9udGFsbHkoKVxuICAgICAgLmNlbnRlclZlcnRpY2FsbHkoKVxuXG4gICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgcG9zaXRpb25TdHJhdGVneVxuICAgIH0pXG5cbiAgICB0aGlzLl9vdmVybGF5UmVmLmRldGFjaG1lbnRzKCkuc3Vic2NyaWJlKF8gPT4gdGhpcy5vdmVybGF5RGV0YWNoZWQuZW1pdCgpKVxuXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKF8gPT4gdGhpcy5jbG9zZSgpKVxuXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5rZXlkb3duRXZlbnRzKClcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkZXByZWNhdGlvblxuICAgICAgLnBpcGUoZmlsdGVyKGUgPT4gZS5rZXlDb2RlID09PSBFU0NBUEUpKVxuICAgICAgLnN1YnNjcmliZShfID0+IHRoaXMuY2xvc2UoKSlcblxuICAgIGxldCBwb3J0YWxUb0F0dGFjaCA9IHBvcnRhbFxuICAgIGlmICghcG9ydGFsVG9BdHRhY2gpIHtcbiAgICAgIGlmICghdGhpcy5fbW9kYWxUcGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBfbW9kYWxUcGwgbm90IGZvdW5kLmApXG4gICAgICB9XG4gICAgICBwb3J0YWxUb0F0dGFjaCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLl9tb2RhbFRwbCwgdGhpcy5fdmlld0NvbnRhaW5lclJlZilcbiAgICB9XG5cbiAgICB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaChwb3J0YWxUb0F0dGFjaClcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpIHtcbiAgICBpZiAoIXRoaXMuX292ZXJsYXlSZWYgfHwgIXRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSkgeyByZXR1cm4gfVxuXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKVxuXG4gICAgdGhpcy5tb2RhbENsb3NlZC5lbWl0KClcbiAgfVxuXG4gIF9vblN1Ym1pdCgpIHtcbiAgICB0aGlzLmZvcm1TdWJtaXQuZW1pdCgpXG4gIH1cblxuICBwdWJsaWMgaXNSb3V0ZU1vZGFsKCkge1xuICAgIHJldHVybiB0aGlzLl9yb3V0ZS5vdXRsZXQgPT09ICdtb2RhbCdcbiAgfVxuXG59XG4iLCI8bmctdGVtcGxhdGUgI21vZGFsVHBsPlxuICA8Zm9ybSAqbmdJZj1cImZvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwiX29uU3VibWl0KClcIiBjbGFzcz1cInAtNFwiIHN0eWxlPVwibWF4LXdpZHRoOiA4MDBweFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtb2RhbENvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9mb3JtPlxuXG4gIDxkaXYgKm5nSWY9XCIhZm9ybVwiIGNsYXNzPVwicC00XCIgc3R5bGU9XCJtYXgtd2lkdGg6IDgwMHB4XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1vZGFsQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8bmctdGVtcGxhdGUgI21vZGFsQ29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlciBweS0yXCI+XG4gICAgICAgIDxoNCBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwci0yIG1vZGFsLWhlYWRlci1pY29uXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaWNvblRwbDsgZWxzZSBub0ljb25UcGxcIj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaWNvblRwbFwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpY29uLCBpY29uOiBpY29uIH1cIj5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub0ljb25UcGw+XG4gICAgICAgICAgICAgIDxmYS1pY29uICpuZ0lmPVwiX2ljb25PYmpcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibW9kYWwtaGVhZGVyLWljb24tLWZhXCJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJfaWNvbk9ialwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtXCI+PC9mYS1pY29uPlxuICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwiX2ljb25VcmxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibW9kYWwtaGVhZGVyLWljb24tLWltZ1wiXG4gICAgICAgICAgICAgICAgW3NyY109XCJfaWNvblVybFwiIFthbHRdPVwidGl0bGVUZXh0XCI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibW9kYWwtaGVhZGVyLXRpdGxlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGl0bGVUcGw7IGVsc2Ugbm9UaXRsZVRwbFwiPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZVRwbFwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiB0aXRsZVRleHQsIHRpdGxlOiB0aXRsZVRleHQgfVwiPlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vVGl0bGVUcGw+e3sgdGl0bGVUZXh0IH19PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvaDQ+XG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJzaG93Q2xvc2VCdG5cIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgICAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xvc2VcIj5cbiAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4mdGltZXM7PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiX3F1ZXJ5Rm9vdGVyVHBsXCIgY2xhc3M9XCJtb2RhbC1mb290ZXIgcC0yXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiJGFueShfcXVlcnlGb290ZXJUcGwudGVtcGxhdGUpXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -5,19 +5,17 @@ export class ModalBodyComponent {
5
5
  this._modalBodyCss = true;
6
6
  this._paddingCss = true;
7
7
  }
8
- ngOnInit() {
9
- }
10
8
  }
11
- ModalBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ModalBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- ModalBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: ModalBodyComponent, selector: "seam-modal-body", host: { properties: { "class.modal-body": "this._modalBodyCss", "class.p-3": "this._paddingCss" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: ModalBodyComponent, decorators: [{
9
+ ModalBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ModalBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ ModalBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ModalBodyComponent, selector: "seam-modal-body", host: { properties: { "class.modal-body": "this._modalBodyCss", "class.p-3": "this._paddingCss" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ModalBodyComponent, decorators: [{
14
12
  type: Component,
15
13
  args: [{ selector: 'seam-modal-body', template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
16
- }], ctorParameters: function () { return []; }, propDecorators: { _modalBodyCss: [{
14
+ }], propDecorators: { _modalBodyCss: [{
17
15
  type: HostBinding,
18
16
  args: ['class.modal-body']
19
17
  }], _paddingCss: [{
20
18
  type: HostBinding,
21
19
  args: ['class.p-3']
22
20
  }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vbW9kYWwvbW9kYWwtYm9keS9tb2RhbC1ib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9tb2RhbC9tb2RhbC1ib2R5L21vZGFsLWJvZHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVUsTUFBTSxlQUFlLENBQUE7O0FBTzlELE1BQU0sT0FBTyxrQkFBa0I7SUFLN0I7UUFIaUMsa0JBQWEsR0FBRyxJQUFJLENBQUE7UUFDM0IsZ0JBQVcsR0FBRyxJQUFJLENBQUE7SUFFNUIsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs7K0dBUlUsa0JBQWtCO21HQUFsQixrQkFBa0IsNEpDUC9CLDZCQUNBOzJGRE1hLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxpQkFBaUI7MEVBTU0sYUFBYTtzQkFBN0MsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBQ0wsV0FBVztzQkFBcEMsV0FBVzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VhbS1tb2RhbC1ib2R5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLWJvZHkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC1ib2R5LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxCb2R5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm1vZGFsLWJvZHknKSBfbW9kYWxCb2R5Q3NzID0gdHJ1ZVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnAtMycpIF9wYWRkaW5nQ3NzID0gdHJ1ZVxuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vbW9kYWwvbW9kYWwtYm9keS9tb2RhbC1ib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9tb2RhbC9tb2RhbC1ib2R5L21vZGFsLWJvZHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7O0FBT3RELE1BQU0sT0FBTyxrQkFBa0I7SUFML0I7UUFPbUMsa0JBQWEsR0FBRyxJQUFJLENBQUE7UUFDM0IsZ0JBQVcsR0FBRyxJQUFJLENBQUE7S0FFN0M7OytHQUxZLGtCQUFrQjttR0FBbEIsa0JBQWtCLDRKQ1AvQiw2QkFDQTsyRkRNYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsaUJBQWlCOzhCQU1NLGFBQWE7c0JBQTdDLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUNMLFdBQVc7c0JBQXBDLFdBQVc7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLW1vZGFsLWJvZHknLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwtYm9keS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLWJvZHkuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbEJvZHlDb21wb25lbnQge1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubW9kYWwtYm9keScpIF9tb2RhbEJvZHlDc3MgPSB0cnVlXG4gIEBIb3N0QmluZGluZygnY2xhc3MucC0zJykgX3BhZGRpbmdDc3MgPSB0cnVlXG5cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
@@ -44,4 +44,4 @@ export function mergeModalConfigs(a, b) {
44
44
  }
45
45
  /** Injection token that can be used to specify modal options. */
46
46
  export const LIB_MODAL_CONFIG = new InjectionToken('seamModalConfig');
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL21vZGFsL21vZGFsLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFvQixNQUFNLGVBQWUsQ0FBQTtBQWVoRSxxQ0FBcUM7QUFDckMsTUFBTSxPQUFPLFdBQVc7SUFBeEI7UUFlRSxtQ0FBbUM7UUFDbkMsU0FBSSxHQUFnQixRQUFRLENBQUE7UUFFNUIsOENBQThDO1FBQzlDLGVBQVUsR0FBdUIsRUFBRSxDQUFBO1FBRW5DLDJDQUEyQztRQUMzQyxnQkFBVyxHQUFhLElBQUksQ0FBQTtRQUU1Qix5Q0FBeUM7UUFDekMsa0JBQWEsR0FBd0IsRUFBRSxDQUFBO1FBRXZDLDREQUE0RDtRQUM1RCxpQkFBWSxHQUFhLEtBQUssQ0FBQTtRQUU5QiwrQkFBK0I7UUFDL0IsVUFBSyxHQUFZLE1BQU0sQ0FBQTtRQUV2QixnQ0FBZ0M7UUFDaEMsV0FBTSxHQUFZLEVBQUUsQ0FBQTtRQUVwQix1Q0FBdUM7UUFDdkMsYUFBUSxHQUFxQixFQUFFLENBQUE7UUFFL0Isd0NBQXdDO1FBQ3hDLGNBQVMsR0FBcUIsRUFBRSxDQUFBO1FBRWhDLHVDQUF1QztRQUN2QyxhQUFRLEdBQXFCLEVBQUUsQ0FBQTtRQUUvQix3Q0FBd0M7UUFDeEMsY0FBUyxHQUFxQixFQUFFLENBQUE7UUFLaEMsbURBQW1EO1FBQ25ELFNBQUksR0FBYyxJQUFJLENBQUE7UUFLdEIsbURBQW1EO1FBQ25ELG9CQUFlLEdBQW1CLElBQUksQ0FBQTtRQUV0QyxpREFBaUQ7UUFDakQsY0FBUyxHQUFtQixJQUFJLENBQUE7UUFFaEMsMkVBQTJFO1FBQzNFLGNBQVMsR0FBYSxJQUFJLENBQUE7UUFFMUIsaUZBQWlGO1FBQ2pGLDJCQUFzQixHQUFZLE9BQU8sQ0FBQTtRQUV6QywrRUFBK0U7UUFDL0UsMEJBQXFCLEdBQVksT0FBTyxDQUFBO0lBSTFDLENBQUM7Q0FBQTtBQUNELG9DQUFvQztBQUVwQyxNQUFNLFVBQVUsaUJBQWlCLENBQUMsQ0FBYyxFQUFFLENBQWM7SUFDOUQsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUE7QUFDdkIsQ0FBQztBQUdELGlFQUFpRTtBQUNqRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBYyxpQkFBaUIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknXG5pbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB7IE1vZGFsQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC1jb250YWluZXIvbW9kYWwtY29udGFpbmVyLmNvbXBvbmVudCdcblxuLyoqIFZhbGlkIEFSSUEgcm9sZXMgZm9yIGEgZGlhbG9nIGVsZW1lbnQuICovXG5leHBvcnQgdHlwZSBEaWFsb2dSb2xlID0gJ2RpYWxvZycgfCAnYWxlcnRkaWFsb2cnXG5cbi8qKiBQb3NzaWJsZSBvdmVycmlkZXMgZm9yIGEgZGlhbG9nJ3MgcG9zaXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIElNb2RhbFBvc2l0aW9uIHtcbiAgdG9wPzogc3RyaW5nXG4gIGJvdHRvbT86IHN0cmluZ1xuICBsZWZ0Pzogc3RyaW5nXG4gIHJpZ2h0Pzogc3RyaW5nXG59XG5cbi8vIHRzbGludDpkaXNhYmxlOm5vLWluZmVycmFibGUtdHlwZXNcbmV4cG9ydCBjbGFzcyBNb2RhbENvbmZpZzxEID0gYW55PiB7XG4gIC8qKiBDb21wb25lbnQgdG8gdXNlIGFzIHRoZSBjb250YWluZXIgZm9yIHRoZSBkaWFsb2cuICovXG4gIGNvbnRhaW5lckNvbXBvbmVudD86IENvbXBvbmVudFR5cGU8TW9kYWxDb250YWluZXJDb21wb25lbnQ+XG5cbiAgLyoqXG4gICAqIFdoZXJlIHRoZSBhdHRhY2hlZCBjb21wb25lbnQgc2hvdWxkIGxpdmUgaW4gQW5ndWxhcidzICpsb2dpY2FsKiBjb21wb25lbnQgdHJlZS5cbiAgICogVGhpcyBhZmZlY3RzIHdoYXQgaXMgYXZhaWxhYmxlIGZvciBpbmplY3Rpb24gYW5kIHRoZSBjaGFuZ2UgZGV0ZWN0aW9uIG9yZGVyIGZvciB0aGVcbiAgICogY29tcG9uZW50IGluc3RhbnRpYXRlZCBpbnNpZGUgb2YgdGhlIGRpYWxvZy4gVGhpcyBkb2VzIG5vdCBhZmZlY3Qgd2hlcmUgdGhlIGRpYWxvZ1xuICAgKiBjb250ZW50IHdpbGwgYmUgcmVuZGVyZWQuXG4gICAqL1xuICB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZlxuXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGRpYWxvZy4gKi9cbiAgaWQ/OiBzdHJpbmdcblxuICAvKiogVGhlIEFSSUEgcm9sZSBvZiB0aGUgZGlhbG9nLiAqL1xuICByb2xlPzogRGlhbG9nUm9sZSA9ICdkaWFsb2cnXG5cbiAgLyoqIEN1c3RvbSBjbGFzcyhlcykgZm9yIHRoZSBvdmVybGF5IHBhbmVsLiAqL1xuICBwYW5lbENsYXNzPzogc3RyaW5nIHwgc3RyaW5nW10gPSAnJ1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBkaWFsb2cgaGFzIGEgYmFja2dyb3VuZC4gKi9cbiAgaGFzQmFja2Ryb3A/OiBib29sZWFuID0gdHJ1ZVxuXG4gIC8qKiBDdXN0b20gY2xhc3MoZXMpIGZvciB0aGUgYmFja2Ryb3AuICovXG4gIGJhY2tkcm9wQ2xhc3M/OiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnJ1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBkaWFsb2cgY2FuIGJlIGNsb3NlZCBieSB1c2VyIGludGVyYWN0aW9uLiAqL1xuICBkaXNhYmxlQ2xvc2U/OiBib29sZWFuID0gZmFsc2VcblxuICAvKiogVGhlIHdpZHRoIG9mIHRoZSBkaWFsb2cuICovXG4gIHdpZHRoPzogc3RyaW5nID0gJzEwMCUnXG5cbiAgLyoqIFRoZSBoZWlnaHQgb2YgdGhlIGRpYWxvZy4gKi9cbiAgaGVpZ2h0Pzogc3RyaW5nID0gJydcblxuICAvKiogVGhlIG1pbmltdW0gd2lkdGggb2YgdGhlIGRpYWxvZy4gKi9cbiAgbWluV2lkdGg/OiBzdHJpbmcgfCBudW1iZXIgPSAnJ1xuXG4gIC8qKiBUaGUgbWluaW11bSBoZWlnaHQgb2YgdGhlIGRpYWxvZy4gKi9cbiAgbWluSGVpZ2h0Pzogc3RyaW5nIHwgbnVtYmVyID0gJydcblxuICAvKiogVGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGRpYWxvZy4gKi9cbiAgbWF4V2lkdGg/OiBzdHJpbmcgfCBudW1iZXIgPSAnJ1xuXG4gIC8qKiBUaGUgbWF4aW11bSBoZWlnaHQgb2YgdGhlIGRpYWxvZy4gKi9cbiAgbWF4SGVpZ2h0Pzogc3RyaW5nIHwgbnVtYmVyID0gJydcblxuICAvKiogVGhlIHBvc2l0aW9uIG9mIHRoZSBkaWFsb2cuICovXG4gIHBvc2l0aW9uPzogSU1vZGFsUG9zaXRpb25cblxuICAvKiogRGF0YSB0byBiZSBpbmplY3RlZCBpbnRvIHRoZSBkaWFsb2cgY29udGVudC4gKi9cbiAgZGF0YT86IEQgfCBudWxsID0gbnVsbFxuXG4gIC8qKiBUaGUgbGF5b3V0IGRpcmVjdGlvbiBmb3IgdGhlIGRpYWxvZyBjb250ZW50LiAqL1xuICBkaXJlY3Rpb24/OiBEaXJlY3Rpb25cblxuICAvKiogSUQgb2YgdGhlIGVsZW1lbnQgdGhhdCBkZXNjcmliZXMgdGhlIGRpYWxvZy4gKi9cbiAgYXJpYURlc2NyaWJlZEJ5Pzogc3RyaW5nIHwgbnVsbCA9IG51bGxcblxuICAvKiogQXJpYSBsYWJlbCB0byBhc3NpZ24gdG8gdGhlIGRpYWxvZyBlbGVtZW50ICovXG4gIGFyaWFMYWJlbD86IHN0cmluZyB8IG51bGwgPSBudWxsXG5cbiAgLyoqIFdoZXRoZXIgdGhlIGRpYWxvZyBzaG91bGQgZm9jdXMgdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IG9uIG9wZW4uICovXG4gIGF1dG9Gb2N1cz86IGJvb2xlYW4gPSB0cnVlXG5cbiAgLyoqIER1cmF0aW9uIG9mIHRoZSBlbnRlciBhbmltYXRpb24uIEhhcyB0byBiZSBhIHZhbGlkIENTUyB2YWx1ZSAoZS5nLiAxMDBtcykuICovXG4gIGVudGVyQW5pbWF0aW9uRHVyYXRpb24/OiBzdHJpbmcgPSAnMjI1bXMnXG5cbiAgLyoqIER1cmF0aW9uIG9mIHRoZSBleGl0IGFuaW1hdGlvbi4gSGFzIHRvIGJlIGEgdmFsaWQgQ1NTIHZhbHVlIChlLmcuIDUwbXMpLiAqL1xuICBleGl0QW5pbWF0aW9uRHVyYXRpb24/OiBzdHJpbmcgPSAnMjI1bXMnXG5cbiAgLyoqIEJvb3RzdHJhcCBtb2RhbCBzaXplcyAqL1xuICBtb2RhbFNpemU/OiAnc20nIHwgJ2xnJyB8ICd4bCdcbn1cbi8vIHRzbGludDplbmFibGU6bm8taW5mZXJyYWJsZS10eXBlc1xuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VNb2RhbENvbmZpZ3MoYTogTW9kYWxDb25maWcsIGI6IE1vZGFsQ29uZmlnKSB7XG4gIHJldHVybiB7IC4uLmEsIC4uLmIgfVxufVxuXG5cbi8qKiBJbmplY3Rpb24gdG9rZW4gdGhhdCBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IG1vZGFsIG9wdGlvbnMuICovXG5leHBvcnQgY29uc3QgTElCX01PREFMX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNb2RhbENvbmZpZz4oJ3NlYW1Nb2RhbENvbmZpZycpXG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL21vZGFsL21vZGFsLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFvQixNQUFNLGVBQWUsQ0FBQTtBQWVoRSxxQ0FBcUM7QUFDckMsTUFBTSxPQUFPLFdBQVc7SUFBeEI7UUFlRSxtQ0FBbUM7UUFDbkMsU0FBSSxHQUFnQixRQUFRLENBQUE7UUFFNUIsOENBQThDO1FBQzlDLGVBQVUsR0FBdUIsRUFBRSxDQUFBO1FBRW5DLDJDQUEyQztRQUMzQyxnQkFBVyxHQUFhLElBQUksQ0FBQTtRQUU1Qix5Q0FBeUM7UUFDekMsa0JBQWEsR0FBd0IsRUFBRSxDQUFBO1FBRXZDLDREQUE0RDtRQUM1RCxpQkFBWSxHQUFhLEtBQUssQ0FBQTtRQUU5QiwrQkFBK0I7UUFDL0IsVUFBSyxHQUFZLE1BQU0sQ0FBQTtRQUV2QixnQ0FBZ0M7UUFDaEMsV0FBTSxHQUFZLEVBQUUsQ0FBQTtRQUVwQix1Q0FBdUM7UUFDdkMsYUFBUSxHQUFxQixFQUFFLENBQUE7UUFFL0Isd0NBQXdDO1FBQ3hDLGNBQVMsR0FBcUIsRUFBRSxDQUFBO1FBRWhDLHVDQUF1QztRQUN2QyxhQUFRLEdBQXFCLEVBQUUsQ0FBQTtRQUUvQix3Q0FBd0M7UUFDeEMsY0FBUyxHQUFxQixFQUFFLENBQUE7UUFLaEMsbURBQW1EO1FBQ25ELFNBQUksR0FBYyxJQUFJLENBQUE7UUFLdEIsbURBQW1EO1FBQ25ELG9CQUFlLEdBQW1CLElBQUksQ0FBQTtRQUV0QyxpREFBaUQ7UUFDakQsY0FBUyxHQUFtQixJQUFJLENBQUE7UUFFaEMsMkVBQTJFO1FBQzNFLGNBQVMsR0FBYSxJQUFJLENBQUE7UUFFMUIsaUZBQWlGO1FBQ2pGLDJCQUFzQixHQUFZLE9BQU8sQ0FBQTtRQUV6QywrRUFBK0U7UUFDL0UsMEJBQXFCLEdBQVksT0FBTyxDQUFBO0lBSTFDLENBQUM7Q0FBQTtBQUNELG9DQUFvQztBQUVwQyxNQUFNLFVBQVUsaUJBQWlCLENBQUMsQ0FBYyxFQUFFLENBQWM7SUFDOUQsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUE7QUFDdkIsQ0FBQztBQUVELGlFQUFpRTtBQUNqRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBYyxpQkFBaUIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknXG5pbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB7IE1vZGFsQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC1jb250YWluZXIvbW9kYWwtY29udGFpbmVyLmNvbXBvbmVudCdcblxuLyoqIFZhbGlkIEFSSUEgcm9sZXMgZm9yIGEgZGlhbG9nIGVsZW1lbnQuICovXG5leHBvcnQgdHlwZSBEaWFsb2dSb2xlID0gJ2RpYWxvZycgfCAnYWxlcnRkaWFsb2cnXG5cbi8qKiBQb3NzaWJsZSBvdmVycmlkZXMgZm9yIGEgZGlhbG9nJ3MgcG9zaXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIElNb2RhbFBvc2l0aW9uIHtcbiAgdG9wPzogc3RyaW5nXG4gIGJvdHRvbT86IHN0cmluZ1xuICBsZWZ0Pzogc3RyaW5nXG4gIHJpZ2h0Pzogc3RyaW5nXG59XG5cbi8vIHRzbGludDpkaXNhYmxlOm5vLWluZmVycmFibGUtdHlwZXNcbmV4cG9ydCBjbGFzcyBNb2RhbENvbmZpZzxEID0gYW55PiB7XG4gIC8qKiBDb21wb25lbnQgdG8gdXNlIGFzIHRoZSBjb250YWluZXIgZm9yIHRoZSBkaWFsb2cuICovXG4gIGNvbnRhaW5lckNvbXBvbmVudD86IENvbXBvbmVudFR5cGU8TW9kYWxDb250YWluZXJDb21wb25lbnQ+XG5cbiAgLyoqXG4gICAqIFdoZXJlIHRoZSBhdHRhY2hlZCBjb21wb25lbnQgc2hvdWxkIGxpdmUgaW4gQW5ndWxhcidzICpsb2dpY2FsKiBjb21wb25lbnQgdHJlZS5cbiAgICogVGhpcyBhZmZlY3RzIHdoYXQgaXMgYXZhaWxhYmxlIGZvciBpbmplY3Rpb24gYW5kIHRoZSBjaGFuZ2UgZGV0ZWN0aW9uIG9yZGVyIGZvciB0aGVcbiAgICogY29tcG9uZW50IGluc3RhbnRpYXRlZCBpbnNpZGUgb2YgdGhlIGRpYWxvZy4gVGhpcyBkb2VzIG5vdCBhZmZlY3Qgd2hlcmUgdGhlIGRpYWxvZ1xuICAgKiBjb250ZW50IHdpbGwgYmUgcmVuZGVyZWQuXG4gICAqL1xuICB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZlxuXG4gIC8qKiBUaGUgaWQgb2YgdGhlIGRpYWxvZy4gKi9cbiAgaWQ/OiBzdHJpbmdcblxuICAvKiogVGhlIEFSSUEgcm9sZSBvZiB0aGUgZGlhbG9nLiAqL1xuICByb2xlPzogRGlhbG9nUm9sZSA9ICdkaWFsb2cnXG5cbiAgLyoqIEN1c3RvbSBjbGFzcyhlcykgZm9yIHRoZSBvdmVybGF5IHBhbmVsLiAqL1xuICBwYW5lbENsYXNzPzogc3RyaW5nIHwgc3RyaW5nW10gPSAnJ1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBkaWFsb2cgaGFzIGEgYmFja2dyb3VuZC4gKi9cbiAgaGFzQmFja2Ryb3A/OiBib29sZWFuID0gdHJ1ZVxuXG4gIC8qKiBDdXN0b20gY2xhc3MoZXMpIGZvciB0aGUgYmFja2Ryb3AuICovXG4gIGJhY2tkcm9wQ2xhc3M/OiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnJ1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBkaWFsb2cgY2FuIGJlIGNsb3NlZCBieSB1c2VyIGludGVyYWN0aW9uLiAqL1xuICBkaXNhYmxlQ2xvc2U/OiBib29sZWFuID0gZmFsc2VcblxuICAvKiogVGhlIHdpZHRoIG9mIHRoZSBkaWFsb2cuICovXG4gIHdpZHRoPzogc3RyaW5nID0gJzEwMCUnXG5cbiAgLyoqIFRoZSBoZWlnaHQgb2YgdGhlIGRpYWxvZy4gKi9cbiAgaGVpZ2h0Pzogc3RyaW5nID0gJydcblxuICAvKiogVGhlIG1pbmltdW0gd2lkdGggb2YgdGhlIGRpYWxvZy4gKi9cbiAgbWluV2lkdGg/OiBzdHJpbmcgfCBudW1iZXIgPSAnJ1xuXG4gIC8qKiBUaGUgbWluaW11bSBoZWlnaHQgb2YgdGhlIGRpYWxvZy4gKi9cbiAgbWluSGVpZ2h0Pzogc3RyaW5nIHwgbnVtYmVyID0gJydcblxuICAvKiogVGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGRpYWxvZy4gKi9cbiAgbWF4V2lkdGg/OiBzdHJpbmcgfCBudW1iZXIgPSAnJ1xuXG4gIC8qKiBUaGUgbWF4aW11bSBoZWlnaHQgb2YgdGhlIGRpYWxvZy4gKi9cbiAgbWF4SGVpZ2h0Pzogc3RyaW5nIHwgbnVtYmVyID0gJydcblxuICAvKiogVGhlIHBvc2l0aW9uIG9mIHRoZSBkaWFsb2cuICovXG4gIHBvc2l0aW9uPzogSU1vZGFsUG9zaXRpb25cblxuICAvKiogRGF0YSB0byBiZSBpbmplY3RlZCBpbnRvIHRoZSBkaWFsb2cgY29udGVudC4gKi9cbiAgZGF0YT86IEQgfCBudWxsID0gbnVsbFxuXG4gIC8qKiBUaGUgbGF5b3V0IGRpcmVjdGlvbiBmb3IgdGhlIGRpYWxvZyBjb250ZW50LiAqL1xuICBkaXJlY3Rpb24/OiBEaXJlY3Rpb25cblxuICAvKiogSUQgb2YgdGhlIGVsZW1lbnQgdGhhdCBkZXNjcmliZXMgdGhlIGRpYWxvZy4gKi9cbiAgYXJpYURlc2NyaWJlZEJ5Pzogc3RyaW5nIHwgbnVsbCA9IG51bGxcblxuICAvKiogQXJpYSBsYWJlbCB0byBhc3NpZ24gdG8gdGhlIGRpYWxvZyBlbGVtZW50ICovXG4gIGFyaWFMYWJlbD86IHN0cmluZyB8IG51bGwgPSBudWxsXG5cbiAgLyoqIFdoZXRoZXIgdGhlIGRpYWxvZyBzaG91bGQgZm9jdXMgdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IG9uIG9wZW4uICovXG4gIGF1dG9Gb2N1cz86IGJvb2xlYW4gPSB0cnVlXG5cbiAgLyoqIER1cmF0aW9uIG9mIHRoZSBlbnRlciBhbmltYXRpb24uIEhhcyB0byBiZSBhIHZhbGlkIENTUyB2YWx1ZSAoZS5nLiAxMDBtcykuICovXG4gIGVudGVyQW5pbWF0aW9uRHVyYXRpb24/OiBzdHJpbmcgPSAnMjI1bXMnXG5cbiAgLyoqIER1cmF0aW9uIG9mIHRoZSBleGl0IGFuaW1hdGlvbi4gSGFzIHRvIGJlIGEgdmFsaWQgQ1NTIHZhbHVlIChlLmcuIDUwbXMpLiAqL1xuICBleGl0QW5pbWF0aW9uRHVyYXRpb24/OiBzdHJpbmcgPSAnMjI1bXMnXG5cbiAgLyoqIEJvb3RzdHJhcCBtb2RhbCBzaXplcyAqL1xuICBtb2RhbFNpemU/OiAnc20nIHwgJ2xnJyB8ICd4bCdcbn1cbi8vIHRzbGludDplbmFibGU6bm8taW5mZXJyYWJsZS10eXBlc1xuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VNb2RhbENvbmZpZ3MoYTogTW9kYWxDb25maWcsIGI6IE1vZGFsQ29uZmlnKSB7XG4gIHJldHVybiB7IC4uLmEsIC4uLmIgfVxufVxuXG4vKiogSW5qZWN0aW9uIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBtb2RhbCBvcHRpb25zLiAqL1xuZXhwb3J0IGNvbnN0IExJQl9NT0RBTF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48TW9kYWxDb25maWc+KCdzZWFtTW9kYWxDb25maWcnKVxuIl19