@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
@@ -186,6 +186,7 @@ export class FormFieldErrorListComponent {
186
186
  .pipe(map(records => {
187
187
  let resultRecords = [];
188
188
  if (!this.showErrors) {
189
+ // TODO: Implement
189
190
  }
190
191
  else {
191
192
  let errs = [...records];
@@ -210,7 +211,6 @@ export class FormFieldErrorListComponent {
210
211
  }))
211
212
  .pipe(shareReplay(1));
212
213
  }
213
- ngOnInit() { }
214
214
  ngOnDestroy() {
215
215
  this._valueChangeSub.unsubscribe();
216
216
  this._errorTplsChangeSub.unsubscribe();
@@ -235,7 +235,7 @@ export class FormFieldErrorListComponent {
235
235
  _updateControlErrors(errors) {
236
236
  const errs = [];
237
237
  for (const validatorName in errors) {
238
- if (errors.hasOwnProperty(validatorName)) {
238
+ if (Object.prototype.hasOwnProperty.call(errors, validatorName)) {
239
239
  const error = errors[validatorName];
240
240
  const message = this._parseMessage(this._defaultMessages[validatorName], error);
241
241
  const external = false;
@@ -319,7 +319,7 @@ export class FormFieldErrorListComponent {
319
319
  }
320
320
  }
321
321
  for (const validatorName in errsMap) {
322
- if (errsMap.hasOwnProperty(validatorName)) {
322
+ if (Object.prototype.hasOwnProperty.call(errsMap, validatorName)) {
323
323
  errs.push(errsMap[validatorName]);
324
324
  }
325
325
  }
@@ -342,7 +342,7 @@ export class FormFieldErrorListComponent {
342
342
  }
343
343
  const arr = validatorName.split(' ').filter(v => v.trim().length > 0);
344
344
  for (const item of arr) {
345
- if (errors.hasOwnProperty(item)) {
345
+ if (Object.prototype.hasOwnProperty.call(errors, item)) {
346
346
  return true;
347
347
  }
348
348
  }
@@ -355,9 +355,9 @@ FormFieldErrorListComponent.defaultMessages = {
355
355
  // maxlength: (params) => 'The max allowed number of characters is ' + params.requiredLength,
356
356
  // pattern: (params) => 'The required pattern is: ' + params.requiredPattern
357
357
  };
358
- FormFieldErrorListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: FormFieldErrorListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
359
- FormFieldErrorListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: FormFieldErrorListComponent, selector: "seam-form-field-error-list", inputs: { errors: "errors", showValidatorName: "showValidatorName", numPaddingErrors: "numPaddingErrors", listItemTpls: "listItemTpls", maxErrors: "maxErrors", control: "control", showErrors: "showErrors" }, host: { properties: { "style.display": "this._display" } }, queries: [{ propertyName: "_listItemTpls", predicate: FormFieldErrorListItemTplDirective }], ngImport: i0, template: "<ng-container *ngFor=\"let record of displayRecords$ | async\">\n <ng-container *ngIf=\"record.template; else noTemplate\">\n <div>\n <ng-template\n [ngTemplateOutlet]=\"record.template\"\n [ngTemplateOutletContext]=\"{ $implicit: record.error, errors: record._errors }\">\n </ng-template>\n </div>\n </ng-container>\n <ng-template #noTemplate>\n <seam-form-field-error\n [validatorName]=\"record.validatorName\"\n [message]=\"record.message\"\n [showValidatorName]=\"showValidatorName\">\n </seam-form-field-error>\n </ng-template>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.FormFieldErrorComponent, selector: "seam-form-field-error", inputs: ["validatorName", "message", "showValidatorName"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
360
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: FormFieldErrorListComponent, decorators: [{
358
+ FormFieldErrorListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormFieldErrorListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
359
+ FormFieldErrorListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FormFieldErrorListComponent, selector: "seam-form-field-error-list", inputs: { errors: "errors", showValidatorName: "showValidatorName", numPaddingErrors: "numPaddingErrors", listItemTpls: "listItemTpls", maxErrors: "maxErrors", control: "control", showErrors: "showErrors" }, host: { properties: { "style.display": "this._display" } }, queries: [{ propertyName: "_listItemTpls", predicate: FormFieldErrorListItemTplDirective }], ngImport: i0, template: "<ng-container *ngFor=\"let record of displayRecords$ | async\">\n <ng-container *ngIf=\"record.template; else noTemplate\">\n <div>\n <ng-template\n [ngTemplateOutlet]=\"record.template\"\n [ngTemplateOutletContext]=\"{ $implicit: record.error, errors: record._errors }\">\n </ng-template>\n </div>\n </ng-container>\n <ng-template #noTemplate>\n <seam-form-field-error\n [validatorName]=\"record.validatorName\"\n [message]=\"record.message\"\n [showValidatorName]=\"showValidatorName\">\n </seam-form-field-error>\n </ng-template>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.FormFieldErrorComponent, selector: "seam-form-field-error", inputs: ["validatorName", "message", "showValidatorName"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
360
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormFieldErrorListComponent, decorators: [{
361
361
  type: Component,
362
362
  args: [{ selector: 'seam-form-field-error-list', template: "<ng-container *ngFor=\"let record of displayRecords$ | async\">\n <ng-container *ngIf=\"record.template; else noTemplate\">\n <div>\n <ng-template\n [ngTemplateOutlet]=\"record.template\"\n [ngTemplateOutletContext]=\"{ $implicit: record.error, errors: record._errors }\">\n </ng-template>\n </div>\n </ng-container>\n <ng-template #noTemplate>\n <seam-form-field-error\n [validatorName]=\"record.validatorName\"\n [message]=\"record.message\"\n [showValidatorName]=\"showValidatorName\">\n </seam-form-field-error>\n </ng-template>\n</ng-container>\n" }]
363
363
  }], ctorParameters: function () { return []; }, propDecorators: { _display: [{
@@ -381,4 +381,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
381
381
  }], showErrors: [{
382
382
  type: Input
383
383
  }] } });
384
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1lcnJvci1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9mb3JtLWZpZWxkLWVycm9yL2Zvcm0tZmllbGQtZXJyb3ItbGlzdC9mb3JtLWZpZWxkLWVycm9yLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2Zvcm0tZmllbGQtZXJyb3IvZm9ybS1maWVsZC1lcnJvci1saXN0L2Zvcm0tZmllbGQtZXJyb3ItbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBVyxXQUFXLEVBQUUsS0FBSyxFQUE2QyxNQUFNLGVBQWUsQ0FBQTtBQUVsSSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFbEYsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sNENBQTRDLENBQUE7Ozs7QUFhL0Y7Ozs7O0dBS0c7QUFNSCxNQUFNLE9BQU8sMkJBQTJCO0lBRXRDLElBQWtDLFFBQVE7UUFDeEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtJQUMzQyxDQUFDO0lBb0JELElBQ0ksTUFBTSxDQUFDLE9BQTBDO1FBQ25ELDhCQUE4QjtRQUM5Qix1QkFBdUI7UUFDdkIsV0FBVztRQUNYLG9CQUFvQjtRQUNwQiwyQkFBMkI7UUFDM0Isb0JBQW9CO1FBQ3BCLDJCQUEyQjtRQUMzQix5QkFBeUI7UUFDekIsNEJBQTRCO1FBQzVCLHNCQUFzQjtRQUN0Qix1QkFBdUI7UUFDdkIsa0NBQWtD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LEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ3JFLEtBQUssTUFBTSxJQUFJLElBQUksR0FBRyxFQUFFO1lBQ3RCLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDL0IsT0FBTyxJQUFJLENBQUE7YUFDWjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDOztBQWhhdUIsMkNBQWUsR0FBbUU7QUFDeEcsOEJBQThCO0FBQzlCLHFGQUFxRjtBQUNyRiw2RkFBNkY7QUFDN0YsNEVBQTRFO0NBQzdFLENBQUE7d0hBWFUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsNFdBMElyQixrQ0FBa0MsNkJDdktyRCxnbUJBaUJBOzJGRFlhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSw0QkFBNEI7MEVBTUosUUFBUTtzQkFBekMsV0FBVzt1QkFBQyxlQUFlO2dCQXVCeEIsTUFBTTtzQkFEVCxLQUFLO2dCQXlHRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQVFGLGFBQWE7c0JBRGhCLGVBQWU7dUJBQUMsa0NBQWtDO2dCQU0vQyxZQUFZO3NCQURmLEtBQUs7Z0JBc0JHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0YsT0FBTztzQkFEVixLQUFLO2dCQXlCRixVQUFVO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRG9DaGVjaywgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEFic3RyYWN0Q29udHJvbERpcmVjdGl2ZSwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBGb3JtRmllbGRFcnJvckxpc3RJdGVtVHBsRGlyZWN0aXZlIH0gZnJvbSAnLi9mb3JtLWZpZWxkLWVycm9yLWxpc3QtaXRlbS10cGwuZGlyZWN0aXZlJ1xuXG5leHBvcnQgaW50ZXJmYWNlIElFcnJvclJlY29yZCB7XG4gIHZhbGlkYXRvck5hbWU6IHN0cmluZ1xuICBlcnJvcjogYW55LFxuICBtZXNzYWdlPzogc3RyaW5nXG4gIHRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PlxuXG4gIGV4dGVybmFsPzogYm9vbGVhblxuXG4gIF9lcnJvcnM/OiBWYWxpZGF0aW9uRXJyb3JzXG59XG5cbi8qKlxuICogTk9URTogVGhpcyBjbGFzcyBoYXMgc29tZSBpc3N1ZXMgd2l0aCBmaWx0ZXJpbmcgZHVwbGljYXRlIHZhbGlkYXRvcnMuIFRoZVxuICogaW5wdXRzIHdpbGwgYmUgY2xlYW5lZCB1cCBzb29uIHRvIGZpeCB0aGUgaW5wdXQgY29uZnVzaW9uLlxuICpcbiAqIFRPRE86IENsZWFudXAgcmVtYWluaW5nIGNvZGUgZnJvbSBiZWZvcmUgcmVmYWN0b3IuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlYW0tZm9ybS1maWVsZC1lcnJvci1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZmllbGQtZXJyb3ItbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZmllbGQtZXJyb3ItbGlzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZEVycm9yTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBEb0NoZWNrIHtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmRpc3BsYXknKSBnZXQgX2Rpc3BsYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd0Vycm9ycyA/ICdibG9jaycgOiAnbm9uZSdcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRNZXNzYWdlczogeyBbbmFtZTogc3RyaW5nXTogKChwYXJhbXM6IGFueSkgPT4gc3RyaW5nKSB8ICgoKSA9PiBzdHJpbmcpIH0gPSB7XG4gICAgLy8gcmVxdWlyZWQ6ICgpID0+ICdSZXF1aXJlZCcsXG4gICAgLy8gbWlubGVuZ3RoOiAocGFyYW1zKSA9PiAnVGhlIG1pbiBudW1iZXIgb2YgY2hhcmFjdGVycyBpcyAnICsgcGFyYW1zLnJlcXVpcmVkTGVuZ3RoLFxuICAgIC8vIG1heGxlbmd0aDogKHBhcmFtcykgPT4gJ1RoZSBtYXggYWxsb3dlZCBudW1iZXIgb2YgY2hhcmFjdGVycyBpcyAnICsgcGFyYW1zLnJlcXVpcmVkTGVuZ3RoLFxuICAgIC8vIHBhdHRlcm46IChwYXJhbXMpID0+ICdUaGUgcmVxdWlyZWQgcGF0dGVybiBpczogJyArIHBhcmFtcy5yZXF1aXJlZFBhdHRlcm5cbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlZmF1bHRNZXNzYWdlczogeyBbbmFtZTogc3RyaW5nXTogKChwYXJhbXM6IGFueSkgPT4gc3RyaW5nKSB8ICgoKSA9PiBzdHJpbmcpIH0gPSB7XG4gICAgLy8gcmVxdWlyZWQ6ICgpID0+ICdSZXF1aXJlZCcsXG4gICAgLy8gbWlubGVuZ3RoOiAocGFyYW1zKSA9PiAnVGhlIG1pbiBudW1iZXIgb2YgY2hhcmFjdGVycyBpcyAnICsgcGFyYW1zLnJlcXVpcmVkTGVuZ3RoLFxuICAgIC8vIG1heGxlbmd0aDogKHBhcmFtcykgPT4gJ1RoZSBtYXggYWxsb3dlZCBudW1iZXIgb2YgY2hhcmFjdGVycyBpcyAnICsgcGFyYW1zLnJlcXVpcmVkTGVuZ3RoLFxuICAgIC8vIHBhdHRlcm46IChwYXJhbXMpID0+ICdUaGUgcmVxdWlyZWQgcGF0dGVybiBpczogJyArIHBhcmFtcy5yZXF1aXJlZFBhdHRlcm5cbiAgfVxuXG4gIHByaXZhdGUgX2Vycm9yczogYW55W10gPSBbXVxuXG4gIHB1YmxpYyBfcGFkZGluZ0Vycm9ycyA9IFtdXG5cbiAgQElucHV0KClcbiAgc2V0IGVycm9ycyhyZWNvcmRzOiBJRXJyb3JSZWNvcmRbXSB8IHVuZGVmaW5lZCB8IG51bGwpIHtcbiAgICAvLyBpZiAodmFsIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAvLyAgIHRoaXMuX2Vycm9ycyA9IHZhbFxuICAgIC8vIH0gZWxzZSB7XG4gICAgLy8gICBjb25zdCBlcnJzID0gW11cbiAgICAvLyAgIGZvciAoY29uc3QgayBpbiB2YWwpIHtcbiAgICAvLyAgICAgaWYgKHZhbFtrXSkge1xuICAgIC8vICAgICAgIGNvbnN0IGVyciA9IHZhbFtrXVxuICAgIC8vICAgICAgIGNvbnN0IG5ld0VyciA9IHtcbiAgICAvLyAgICAgICAgIHZhbGlkYXRvck5hbWU6IGssXG4gICAgLy8gICAgICAgICBlcnJvcjogZXJyLFxuICAgIC8vICAgICAgICAgbWVzc2FnZTogJycsXG4gICAgLy8gICAgICAgICB0ZW1wbGF0ZTogZXJyLnRlbXBsYXRlLFxuICAgIC8vICAgICAgICAgZXh0ZXJuYWw6ICEhZXJyLmV4dGVybmFsXG4gICAgLy8gICAgICAgfVxuXG4gICAgLy8gICAgICAgaWYgKGVyci5tZXNzYWdlKSB7XG4gICAgLy8gICAgICAgICBjb25zdCBtc2dUbXAgPSBlcnIubWVzc2FnZVxuICAgIC8vICAgICAgICAgaWYgKHR5cGVvZiBtc2dUbXAgPT09ICdzdHJpbmcnKSB7XG4gICAgLy8gICAgICAgICAgIG5ld0Vyci5tZXNzYWdlID0gbXNnVG1wXG4gICAgLy8gICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBtc2dUbXAgPT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyAgICAgICAgICAgbmV3RXJyLm1lc3NhZ2UgPSBtc2dUbXAoZXJyKVxuICAgIC8vICAgICAgICAgfVxuICAgIC8vICAgICAgIH0gZWxzZSBpZiAoRm9ybUZpZWxkRXJyb3JMaXN0Q29tcG9uZW50LmRlZmF1bHRNZXNzYWdlc1trXSkge1xuICAgIC8vICAgICAgICAgY29uc3QgZGVmYXVsdE1zZyA9IEZvcm1GaWVsZEVycm9yTGlzdENvbXBvbmVudC5kZWZhdWx0TWVzc2FnZXNba11cbiAgICAvLyAgICAgICAgIGlmICh0eXBlb2YgZGVmYXVsdE1zZyA9PT0gJ3N0cmluZycpIHtcbiAgICAvLyAgICAgICAgICAgbmV3RXJyLm1lc3NhZ2UgPSBkZWZhdWx0TXNnXG4gICAgLy8gICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBkZWZhdWx0TXNnID09PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gICAgICAgICAgIG5ld0Vyci5tZXNzYWdlID0gZGVmYXVsdE1zZyhlcnIpXG4gICAgLy8gICAgICAgICB9XG4gICAgLy8gICAgICAgfVxuXG4gICAgLy8gICAgICAgZXJycy5wdXNoKG5ld0VycilcbiAgICAvLyAgICAgfVxuICAgIC8vICAgfVxuICAgIC8vICAgdGhpcy5fZXJyb3JzID0gZXJyc1xuICAgIC8vIH1cblxuICAgIHRoaXMuX2luaXRFcnJvcklucHV0KHJlY29yZHMgfHwgW10pXG4gIH1cblxuICAvLyBnZXQgZXJyb3JzKCkge1xuICAvLyAgIGxldCBlcnJzID0gW11cblxuICAvLyAgIGlmICh0aGlzLl9lcnJvcnMpIHtcbiAgLy8gICAgIGlmICghdGhpcy5tZXNzYWdlcykge1xuICAvLyAgICAgICBlcnJzID0gdGhpcy5fZXJyb3JzXG4gIC8vICAgICB9IGVsc2Uge1xuICAvLyAgICAgICBlcnJzID0gdGhpcy5fZXJyb3JzLm1hcChlcnIgPT4ge1xuICAvLyAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VzICYmIGVyci52YWxpZGF0b3JOYW1lICYmIHRoaXMubWVzc2FnZXNbZXJyLnZhbGlkYXRvck5hbWVdKSB7XG4gIC8vICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgZXJyLCB7XG4gIC8vICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMubWVzc2FnZXNbZXJyLnZhbGlkYXRvck5hbWVdXG4gIC8vICAgICAgICAgICB9KVxuICAvLyAgICAgICAgIH0gZWxzZSB7XG4gIC8vICAgICAgICAgICByZXR1cm4gZXJyXG4gIC8vICAgICAgICAgfVxuICAvLyAgICAgICB9KVxuICAvLyAgICAgfVxuICAvLyAgIH1cblxuICAvLyAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgLy8gICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuY29udHJvbC5lcnJvcnMpIHtcbiAgLy8gICAgICAgaWYgKHRoaXMuY29udHJvbC5lcnJvcnNba2V5XSkge1xuICAvLyAgICAgICAgIGNvbnN0IGVyciA9IHRoaXMuY29udHJvbC5lcnJvcnNba2V5XVxuXG4gIC8vICAgICAgICAgY29uc3QgbmV3RXJyID0ge1xuICAvLyAgICAgICAgICAgdmFsaWRhdG9yTmFtZToga2V5LFxuICAvLyAgICAgICAgICAgZXJyb3I6IGVycixcbiAgLy8gICAgICAgICAgIG1lc3NhZ2U6ICcnLFxuICAvLyAgICAgICAgICAgZXh0ZXJuYWw6IGZhbHNlXG4gIC8vICAgICAgICAgfVxuXG4gIC8vICAgICAgICAgaWYgKEZvcm1GaWVsZEVycm9yTGlzdENvbXBvbmVudC5kZWZhdWx0TWVzc2FnZXNba2V5XSkge1xuICAvLyAgICAgICAgICAgY29uc3QgZGVmYXVsdE1zZyA9IEZvcm1GaWVsZEVycm9yTGlzdENvbXBvbmVudC5kZWZhdWx0TWVzc2FnZXNba2V5XVxuICAvLyAgICAgICAgICAgaWYgKHR5cGVvZiBkZWZhdWx0TXNnID09PSAnc3RyaW5nJykge1xuICAvLyAgICAgICAgICAgICBuZXdFcnIubWVzc2FnZSA9IGRlZmF1bHRNc2dcbiAgLy8gICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGRlZmF1bHRNc2cgPT09ICdmdW5jdGlvbicpIHtcbiAgLy8gICAgICAgICAgICAgbmV3RXJyLm1lc3NhZ2UgPSBkZWZhdWx0TXNnKGVycilcbiAgLy8gICAgICAgICAgIH1cbiAgLy8gICAgICAgICB9XG5cbiAgLy8gICAgICAgICBlcnJzID0gWyAuLi5lcnJzLCBuZXdFcnIgXVxuICAvLyAgICAgICB9XG4gIC8vICAgICB9XG4gIC8vICAgfVxuXG4gIC8vICAgaWYgKHRoaXMubWF4RXJyb3JzID49IDApIHtcbiAgLy8gICAgIGVycnMgPSBlcnJzLnNsaWNlKDAsIHRoaXMubWF4RXJyb3JzKVxuICAvLyAgIH1cblxuICAvLyAgIGNvbnN0IGNvdW50ID0gdGhpcy5zaG93Q29udHJvbEVycm9ycyA/IHRoaXMubnVtUGFkZGluZ0Vycm9ycyAtIGVycnMubGVuZ3RoIDogdGhpcy5udW1QYWRkaW5nRXJyb3JzXG4gIC8vICAgaWYgKGNvdW50ID4gMCkge1xuICAvLyAgICAgdGhpcy5fcGFkZGluZ0Vycm9ycyA9IFtdXG4gIC8vICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHtcbiAgLy8gICAgICAgdGhpcy5fcGFkZGluZ0Vycm9ycy5wdXNoKHsgdmFsaWRhdG9yTmFtZTogJ19fcGFkZGluZ19fJywgZXJyb3I6IHt9LCBtZXNzYWdlOiAnJywgZXh0ZXJuYWw6IGZhbHNlIH0pXG4gIC8vICAgICB9XG4gIC8vICAgfSBlbHNlIHtcbiAgLy8gICAgIHRoaXMuX3BhZGRpbmdFcnJvcnMgPSBbXVxuICAvLyAgIH1cblxuICAvLyAgIHJldHVybiBlcnJzXG4gIC8vIH1cblxuICAvLyBASW5wdXQoKSBtZXNzYWdlczogYW55ID0ge31cbiAgQElucHV0KCkgc2hvd1ZhbGlkYXRvck5hbWUgPSBmYWxzZVxuXG4gIEBJbnB1dCgpIG51bVBhZGRpbmdFcnJvcnMgPSAxXG5cbiAgLy8gcHJpdmF0ZSBlcnJvclRwbDogVGVtcGxhdGVSZWY8YW55PlxuXG4gIC8vIHByaXZhdGUgX2xpc3RJdGVtVHBsczogUXVlcnlMaXN0PEZvcm1GaWVsZEVycm9yTGlzdEl0ZW1UcGxEaXJlY3RpdmU+XG4gIC8vIHByaXZhdGUgbGlzdEl0ZW1UcGxzT2JqID0ge31cblxuICBAQ29udGVudENoaWxkcmVuKEZvcm1GaWVsZEVycm9yTGlzdEl0ZW1UcGxEaXJlY3RpdmUpXG4gIHNldCBfbGlzdEl0ZW1UcGxzKHZhbDogUXVlcnlMaXN0PEZvcm1GaWVsZEVycm9yTGlzdEl0ZW1UcGxEaXJlY3RpdmU+KSB7XG4gICAgdGhpcy5faW5pdEVycm9yVGVtcGxhdGVzKHZhbClcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBsaXN0SXRlbVRwbHModmFsOiBRdWVyeUxpc3Q8Rm9ybUZpZWxkRXJyb3JMaXN0SXRlbVRwbERpcmVjdGl2ZT4pIHtcbiAgICB0aGlzLl9pbml0RXJyb3JUZW1wbGF0ZXModmFsKVxuXG4gICAgLy8gZm9yIChjb25zdCB2IG9mIHZhbC50b0FycmF5KCkpIHtcbiAgICAvLyAgIGlmICh2LnZhbGlkYXRvck5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgIC8vICAgICB0aGlzLmxpc3RJdGVtVHBsc09ialt2LnZhbGlkYXRvck5hbWVdID0gdlxuICAgIC8vICAgfVxuICAgIC8vIH1cblxuICAgIC8vIGNvbnN0IHRtcCA9IHZhbC5maW5kKHYgPT4gdi52YWxpZGF0b3JOYW1lID09PSB1bmRlZmluZWQpXG4gICAgLy8gaWYgKHRtcCkge1xuICAgIC8vICAgdGhpcy5lcnJvclRwbCA9IHRtcC50ZW1wbGF0ZVxuICAgIC8vIH1cblxuICAgIC8vIHRoaXMuX2xpc3RJdGVtVHBscyA9IHZhbFxuICB9XG5cbiAgLy8gZ2V0IGxpc3RJdGVtVHBscygpOiBRdWVyeUxpc3Q8Rm9ybUZpZWxkRXJyb3JMaXN0SXRlbVRwbERpcmVjdGl2ZT4ge1xuICAvLyAgIHJldHVybiB0aGlzLl9saXN0SXRlbVRwbHNcbiAgLy8gfVxuXG4gIEBJbnB1dCgpIG1heEVycm9ycyA9IC0xXG5cbiAgQElucHV0KClcbiAgZ2V0IGNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sRGlyZWN0aXZlIHwgQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkIHwgbnVsbCB7IHJldHVybiB0aGlzLl9jb250cm9sIH1cbiAgc2V0IGNvbnRyb2wodmFsdWU6IEFic3RyYWN0Q29udHJvbERpcmVjdGl2ZSB8IEFic3RyYWN0Q29udHJvbCB8IHVuZGVmaW5lZCB8IG51bGwpIHtcbiAgICB0aGlzLl9jb250cm9sID0gdmFsdWVcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuX2luaXRDb250cm9sTGlzdGVuZXJzKHZhbHVlKVxuICAgIH1cbiAgfVxuICBwcml2YXRlIF9jb250cm9sOiBBYnN0cmFjdENvbnRyb2xEaXJlY3RpdmUgfCBBYnN0cmFjdENvbnRyb2wgfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgcHJpdmF0ZSBfdmFsdWVDaGFuZ2VTdWIgPSBTdWJzY3JpcHRpb24uRU1QVFlcbiAgcHJpdmF0ZSBfZXJyb3JUcGxzQ2hhbmdlU3ViID0gU3Vic2NyaXB0aW9uLkVNUFRZXG5cbiAgcHJpdmF0ZSBfY29udHJvbEVycm9ycyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SUVycm9yUmVjb3JkW10+KFtdKVxuICBwcml2YXRlIF9lcnJvclRwbHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElFcnJvclJlY29yZFtdPihbXSlcbiAgcHJpdmF0ZSBfZXJyb3JJbnB1dCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SUVycm9yUmVjb3JkW10+KFtdKVxuXG4gIHByaXZhdGUgX3Nob3dDb250cm9sRXJyb3JzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpXG5cbiAgcHVibGljIGRpc3BsYXlSZWNvcmRzJDogT2JzZXJ2YWJsZTxJRXJyb3JSZWNvcmRbXT5cbiAgcHVibGljIHNob3dDb250cm9sRXJyb3JzJDogT2JzZXJ2YWJsZTxib29sZWFuPlxuXG4gIHByaXZhdGUgX3Nob3dFcnJvcnMgPSB0cnVlXG5cbiAgQElucHV0KClcbiAgc2V0IHNob3dFcnJvcnModmFsOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvd0Vycm9ycyA9IHZhbFxuICB9XG5cbiAgZ2V0IHNob3dFcnJvcnMoKTogYm9vbGVhbiB7XG4gICAgbGV0IHNob3cgPSB0aGlzLl9zaG93RXJyb3JzXG5cbiAgICBpZiAoc2hvdyAmJiB0aGlzLmNvbnRyb2wpIHtcbiAgICAgIGlmICh0aGlzLm51bVBhZGRpbmdFcnJvcnMgPiAwKSB7XG4gICAgICAgIHNob3cgPSB0cnVlXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzaG93ID0gISEodGhpcy5jb250cm9sLmludmFsaWQgJiYgKHRoaXMuY29udHJvbC5kaXJ0eSB8fCB0aGlzLmNvbnRyb2wudG91Y2hlZCkpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNob3dcbiAgfVxuXG4gIGdldCBzaG93Q29udHJvbEVycm9ycygpOiBib29sZWFuIHtcbiAgICBsZXQgc2hvdyA9IGZhbHNlXG4gICAgaWYgKHRoaXMuY29udHJvbCAmJiB0aGlzLnNob3dFcnJvcnMpIHtcbiAgICAgIHNob3cgPSAhISh0aGlzLmNvbnRyb2wuaW52YWxpZCAmJiAodGhpcy5jb250cm9sLmRpcnR5IHx8IHRoaXMuY29udHJvbC50b3VjaGVkKSlcbiAgICB9XG5cbiAgICByZXR1cm4gc2hvd1xuICB9XG5cbiAgcHVibGljIGVycm9yUmVjb3JkcyQ6IE9ic2VydmFibGU8SUVycm9yUmVjb3JkW10+XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5zaG93Q29udHJvbEVycm9ycyQgPSB0aGlzLl9zaG93Q29udHJvbEVycm9yc1N1YmplY3QuYXNPYnNlcnZhYmxlKClcbiAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgICAucGlwZShzaGFyZVJlcGxheSgxKSlcblxuICAgIHRoaXMuZXJyb3JSZWNvcmRzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2NvbnRyb2xFcnJvcnMsIHRoaXMuX2Vycm9yVHBscywgdGhpcy5fZXJyb3JJbnB1dF0pXG4gICAgICAucGlwZShtYXAoKFtjdHJsRXJycywgZXJyVHBscywgZXJyb3JJbnB1dF0pID0+IHRoaXMuX2NvbXBvc2VFcnJvcklucHV0cyhjdHJsRXJycywgZXJyVHBscywgZXJyb3JJbnB1dCkpKVxuICAgICAgLnBpcGUoc2hhcmVSZXBsYXkoMSkpXG5cbiAgICB0aGlzLmRpc3BsYXlSZWNvcmRzJCA9IHRoaXMuZXJyb3JSZWNvcmRzJFxuICAgICAgLnBpcGUobWFwKHJlY29yZHMgPT4ge1xuICAgICAgICBsZXQgcmVzdWx0UmVjb3JkczogSUVycm9yUmVjb3JkW10gPSBbXVxuXG4gICAgICAgIGlmICghdGhpcy5zaG93RXJyb3JzKSB7XG5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsZXQgZXJycyA9IFsgLi4ucmVjb3JkcyBdXG5cbiAgICAgICAgICBpZiAodGhpcy5tYXhFcnJvcnMgPj0gMCkge1xuICAgICAgICAgICAgZXJycyA9IGVycnMuc2xpY2UoMCwgdGhpcy5tYXhFcnJvcnMpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgY291bnQgPSB0aGlzLnNob3dDb250cm9sRXJyb3JzID8gdGhpcy5udW1QYWRkaW5nRXJyb3JzIC0gZXJycy5sZW5ndGggOiB0aGlzLm51bVBhZGRpbmdFcnJvcnNcbiAgICAgICAgICBjb25zdCBwYWRkaW5nRXJyb3JzOiBJRXJyb3JSZWNvcmRbXSA9IFtdXG4gICAgICAgICAgaWYgKGNvdW50ID4gMCkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmdFcnJvcnMucHVzaCh7IHZhbGlkYXRvck5hbWU6ICdfX3BhZGRpbmdfXycsIGVycm9yOiB7fSwgbWVzc2FnZTogJycsIGV4dGVybmFsOiBmYWxzZSB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0aGlzLnNob3dDb250cm9sRXJyb3JzKSB7XG4gICAgICAgICAgICByZXN1bHRSZWNvcmRzID0gWyAuLi5lcnJzLCAuLi5wYWRkaW5nRXJyb3JzIF1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzdWx0UmVjb3JkcyA9IFsgLi4ucGFkZGluZ0Vycm9ycyBdXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFJlY29yZHNcbiAgICAgIH0pKVxuICAgICAgLnBpcGUoc2hhcmVSZXBsYXkoMSkpXG4gIH1cblxuICBuZ09uSW5pdCgpIHsgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3ZhbHVlQ2hhbmdlU3ViLnVuc3Vic2NyaWJlKClcbiAgICB0aGlzLl9lcnJvclRwbHNDaGFuZ2VTdWIudW5zdWJzY3JpYmUoKVxuICB9XG5cbiAgbmdEb0NoZWNrKCkge1xuICAgIHRoaXMuX3Nob3dDb250cm9sRXJyb3JzU3ViamVjdC5uZXh0KHRoaXMuc2hvd0NvbnRyb2xFcnJvcnMpXG4gIH1cblxuICBwcml2YXRlIF9pbml0Q29udHJvbExpc3RlbmVycyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2xEaXJlY3RpdmUgfCBBYnN0cmFjdENvbnRyb2wpOiB2b2lkIHtcbiAgICAvLyBVbnN1YnNjcmliZSBmcm9tIG9sZCBjb250cm9sIGNoYW5nZXNcbiAgICBpZiAodGhpcy5fdmFsdWVDaGFuZ2VTdWIgJiYgIXRoaXMuX3ZhbHVlQ2hhbmdlU3ViLmNsb3NlZCkge1xuICAgICAgdGhpcy5fdmFsdWVDaGFuZ2VTdWIudW5zdWJzY3JpYmUoKVxuICAgIH1cblxuICAgIGlmIChjb250cm9sLnZhbHVlQ2hhbmdlcyAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fdmFsdWVDaGFuZ2VTdWIgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnNob3dDb250cm9sRXJyb3JzJCwgY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgodW5kZWZpbmVkKSldKVxuICAgICAgICAucGlwZShzdGFydFdpdGgodW5kZWZpbmVkKSlcbiAgICAgICAgLnN1YnNjcmliZShfID0+IHRoaXMuX3VwZGF0ZUNvbnRyb2xFcnJvcnMoY29udHJvbC5lcnJvcnMpKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zZXRDb250cm9sRXJyb3JzKFtdKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUNvbnRyb2xFcnJvcnMoZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCk6IHZvaWQge1xuICAgIGNvbnN0IGVycnM6IElFcnJvclJlY29yZFtdID0gW11cbiAgICBmb3IgKGNvbnN0IHZhbGlkYXRvck5hbWUgaW4gZXJyb3JzKSB7XG4gICAgICBpZiAoZXJyb3JzLmhhc093blByb3BlcnR5KHZhbGlkYXRvck5hbWUpKSB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gZXJyb3JzW3ZhbGlkYXRvck5hbWVdXG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLl9wYXJzZU1lc3NhZ2UodGhpcy5fZGVmYXVsdE1lc3NhZ2VzW3ZhbGlkYXRvck5hbWVdLCBlcnJvcilcbiAgICAgICAgY29uc3QgZXh0ZXJuYWwgPSBmYWxzZVxuICAgICAgICBlcnJzLnB1c2goeyB2YWxpZGF0b3JOYW1lLCBlcnJvciwgbWVzc2FnZSwgZXh0ZXJuYWwgfSlcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fc2V0Q29udHJvbEVycm9ycyhlcnJzKVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0Q29udHJvbEVycm9ycyhlcnJvcnM6IElFcnJvclJlY29yZFtdKSB7XG4gICAgdGhpcy5fY29udHJvbEVycm9ycy5uZXh0KGVycm9ycylcbiAgfVxuXG4gIHByaXZhdGUgX3BhcnNlTWVzc2FnZShtZXNzYWdlOiBhbnksIGVycm9yOiBhbnkpIHtcbiAgICBpZiAoIW1lc3NhZ2UpIHsgcmV0dXJuIH1cblxuICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBtZXNzYWdlXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIG1lc3NhZ2UoZXJyb3IpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdEVycm9yVGVtcGxhdGVzKHRwbHNRdWVyeUxpc3Q6IFF1ZXJ5TGlzdDxGb3JtRmllbGRFcnJvckxpc3RJdGVtVHBsRGlyZWN0aXZlPikge1xuICAgIGlmICh0aGlzLl9lcnJvclRwbHNDaGFuZ2VTdWIgJiYgIXRoaXMuX2Vycm9yVHBsc0NoYW5nZVN1Yi5jbG9zZWQpIHtcbiAgICAgIHRoaXMuX2Vycm9yVHBsc0NoYW5nZVN1Yi51bnN1YnNjcmliZSgpXG4gICAgfVxuXG4gICAgaWYgKHRwbHNRdWVyeUxpc3QpIHtcbiAgICAgIHRoaXMuX2Vycm9yVHBsc0NoYW5nZVN1YiA9IHRwbHNRdWVyeUxpc3QuY2hhbmdlc1xuICAgICAgICAucGlwZShzdGFydFdpdGgodW5kZWZpbmVkKSlcbiAgICAgICAgLnN1YnNjcmliZShfID0+IHRoaXMuX3VwZGF0ZUVycm9yVGVtcGxhdGVzKHRwbHNRdWVyeUxpc3QudG9BcnJheSgpKSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2V0RXJyb3JUZW1wbGF0ZXMoW10pXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlRXJyb3JUZW1wbGF0ZXModHBsc0xpc3Q6IEZvcm1GaWVsZEVycm9yTGlzdEl0ZW1UcGxEaXJlY3RpdmVbXSk6IHZvaWQge1xuICAgIGNvbnN0IGVycnM6IElFcnJvclJlY29yZFtdID0gW11cbiAgICBmb3IgKGNvbnN0IHRwbCBvZiB0cGxzTGlzdCkge1xuICAgICAgaWYgKHRwbC52YWxpZGF0b3JOYW1lICE9PSB1bmRlZmluZWQgJiYgdHBsLnZhbGlkYXRvck5hbWUgIT09IG51bGwpIHtcbiAgICAgICAgZXJycy5wdXNoKHtcbiAgICAgICAgICB2YWxpZGF0b3JOYW1lOiB0cGwudmFsaWRhdG9yTmFtZSxcbiAgICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgICAgICB0ZW1wbGF0ZTogdHBsLnRlbXBsYXRlLFxuICAgICAgICAgIGV4dGVybmFsOiAhIXRwbC5leHRlcm5hbFxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gdGhpcy5lcnJvclRwbCA9IHRwbC50ZW1wbGF0ZVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9zZXRFcnJvclRlbXBsYXRlcyhlcnJzKVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0RXJyb3JUZW1wbGF0ZXMoZXJyb3JUcGxzOiBJRXJyb3JSZWNvcmRbXSk6IHZvaWQge1xuICAgIHRoaXMuX2Vycm9yVHBscy5uZXh0KGVycm9yVHBscylcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRFcnJvcklucHV0KGVycm9yczogSUVycm9yUmVjb3JkW10pOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGVFcnJvcklucHV0cyhlcnJvcnMpXG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVFcnJvcklucHV0cyhlcnJvcnM6IElFcnJvclJlY29yZFtdKTogdm9pZCB7XG4gICAgdGhpcy5fc2V0RXJyb3JJbnB1dChlcnJvcnMpXG4gIH1cblxuICBwcml2YXRlIF9zZXRFcnJvcklucHV0KGVycm9yczogSUVycm9yUmVjb3JkW10pOiB2b2lkIHtcbiAgICB0aGlzLl9lcnJvcklucHV0Lm5leHQoZXJyb3JzKVxuICB9XG5cbiAgcHJpdmF0ZSBfY29tcG9zZUVycm9ySW5wdXRzKFxuICAgIGNvbnRyb2xFcnJvcnM6IElFcnJvclJlY29yZFtdLFxuICAgIGVycm9yVGVtcGxhdGVzOiBJRXJyb3JSZWNvcmRbXSxcbiAgICBlcnJvcklucHV0OiBJRXJyb3JSZWNvcmRbXVxuICApOiBJRXJyb3JSZWNvcmRbXSB7XG4gICAgY29uc3QgZXJyczogSUVycm9yUmVjb3JkW10gPSBbXVxuXG4gICAgY29uc3QgZXJyc01hcDogeyBbbmFtZTogc3RyaW5nXTogSUVycm9yUmVjb3JkIH0gPSB7fVxuXG4gICAgZm9yIChjb25zdCBlcnIgb2YgY29udHJvbEVycm9ycykge1xuICAgICAgaWYgKGVyci5tZXNzYWdlIHx8IGVyci50ZW1wbGF0ZSkge1xuICAgICAgICBlcnJzTWFwW2Vyci52YWxpZGF0b3JOYW1lXSA9IGVyclxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgZXJyIG9mIGVycm9ySW5wdXQpIHtcbiAgICAgIGlmIChlcnIubWVzc2FnZSB8fCBlcnIudGVtcGxhdGUpIHtcbiAgICAgICAgZXJyc01hcFtlcnIudmFsaWRhdG9yTmFtZV0gPSBlcnJcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGVyciBvZiBlcnJvclRlbXBsYXRlcykge1xuICAgICAgaWYgKGVyci5tZXNzYWdlIHx8IGVyci50ZW1wbGF0ZSkge1xuICAgICAgICBlcnJzTWFwW2Vyci52YWxpZGF0b3JOYW1lXSA9IGVyclxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgdmFsaWRhdG9yTmFtZSBpbiBlcnJzTWFwKSB7XG4gICAgICBpZiAoZXJyc01hcC5oYXNPd25Qcm9wZXJ0eSh2YWxpZGF0b3JOYW1lKSkge1xuICAgICAgICBlcnJzLnB1c2goZXJyc01hcFt2YWxpZGF0b3JOYW1lXSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5jb250cm9sXG4gICAgaWYgKCFjb250cm9sKSB7XG4gICAgICByZXR1cm4gW11cbiAgICB9XG5cbiAgICByZXR1cm4gZXJyc1xuICAgICAgLmZpbHRlcihlcnIgPT4gdGhpcy5faXNFcnJvclZhbGlkYXRvcihjb250cm9sLmVycm9ycywgZXJyLnZhbGlkYXRvck5hbWUpKVxuICAgICAgLmZpbHRlcihlcnIgPT4gIWVyci5leHRlcm5hbClcbiAgICAgIC5tYXAoZXJyID0+ICh7XG4gICAgICAgIC4uLmVycixcbiAgICAgICAgZXJyb3I6IGNvbnRyb2wuZXJyb3JzID8gY29udHJvbC5lcnJvcnNbZXJyLnZhbGlkYXRvck5hbWVdIDogbnVsbCxcbiAgICAgICAgX2Vycm9yczogY29udHJvbC5lcnJvcnNcbiAgICAgIH0gYXMgSUVycm9yUmVjb3JkKSlcbiAgfVxuXG4gIHByaXZhdGUgX2lzRXJyb3JWYWxpZGF0b3IoZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCwgdmFsaWRhdG9yTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKCFlcnJvcnMpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICBjb25zdCBhcnIgPSB2YWxpZGF0b3JOYW1lLnNwbGl0KCcgJykuZmlsdGVyKHYgPT4gdi50cmltKCkubGVuZ3RoID4gMClcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgYXJyKSB7XG4gICAgICBpZiAoZXJyb3JzLmhhc093blByb3BlcnR5KGl0ZW0pKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJlY29yZCBvZiBkaXNwbGF5UmVjb3JkcyQgfCBhc3luY1wiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVjb3JkLnRlbXBsYXRlOyBlbHNlIG5vVGVtcGxhdGVcIj5cbiAgICA8ZGl2PlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJlY29yZC50ZW1wbGF0ZVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogcmVjb3JkLmVycm9yLCBlcnJvcnM6IHJlY29yZC5fZXJyb3JzIH1cIj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI25vVGVtcGxhdGU+XG4gICAgPHNlYW0tZm9ybS1maWVsZC1lcnJvclxuICAgICAgW3ZhbGlkYXRvck5hbWVdPVwicmVjb3JkLnZhbGlkYXRvck5hbWVcIlxuICAgICAgW21lc3NhZ2VdPVwicmVjb3JkLm1lc3NhZ2VcIlxuICAgICAgW3Nob3dWYWxpZGF0b3JOYW1lXT1cInNob3dWYWxpZGF0b3JOYW1lXCI+XG4gICAgPC9zZWFtLWZvcm0tZmllbGQtZXJyb3I+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
384
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1lcnJvci1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9mb3JtLWZpZWxkLWVycm9yL2Zvcm0tZmllbGQtZXJyb3ItbGlzdC9mb3JtLWZpZWxkLWVycm9yLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2Zvcm0tZmllbGQtZXJyb3IvZm9ybS1maWVsZC1lcnJvci1saXN0L2Zvcm0tZmllbGQtZXJyb3ItbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBVyxXQUFXLEVBQUUsS0FBSyxFQUFxQyxNQUFNLGVBQWUsQ0FBQTtBQUUxSCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFbEYsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sNENBQTRDLENBQUE7Ozs7QUFhL0Y7Ozs7O0dBS0c7QUFNSCxNQUFNLE9BQU8sMkJBQTJCO0lBRXRDLElBQWtDLFFBQVE7UUFDeEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtJQUMzQyxDQUFDO0lBb0JELElBQ0ksTUFBTSxDQUFDLE9BQTBDO1FBQ25ELDhCQUE4QjtRQUM5Qix1QkFBdUI7UUFDdkIsV0FBVztRQUNYLG9CQUFvQjtRQUNwQiwyQkFBMkI7UUFDM0Isb0JBQW9CO1FBQ3BCLDJCQUEyQjtRQUMzQix5QkFBeUI7UUFDekIsNEJBQTRCO1FBQzVCLHNCQUFzQjtRQUN0Qix1QkFBdUI7UUFDdkIsa0NBQWtD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Q0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPLEtBQUssQ0FBQTtTQUNiO1FBQ0QsTUFBTSxHQUFHLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ3JFLEtBQUssTUFBTSxJQUFJLElBQUksR0FBRyxFQUFFO1lBQ3RCLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDdEQsT0FBTyxJQUFJLENBQUE7YUFDWjtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDOztBQTladUIsMkNBQWUsR0FBbUU7QUFDeEcsOEJBQThCO0FBQzlCLHFGQUFxRjtBQUNyRiw2RkFBNkY7QUFDN0YsNEVBQTRFO0NBQzdFLENBQUE7d0hBWFUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsNFdBMElyQixrQ0FBa0MsNkJDdktyRCxnbUJBaUJBOzJGRFlhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSw0QkFBNEI7MEVBTUosUUFBUTtzQkFBekMsV0FBVzt1QkFBQyxlQUFlO2dCQXVCeEIsTUFBTTtzQkFEVCxLQUFLO2dCQXlHRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQVFGLGFBQWE7c0JBRGhCLGVBQWU7dUJBQUMsa0NBQWtDO2dCQU0vQyxZQUFZO3NCQURmLEtBQUs7Z0JBc0JHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0YsT0FBTztzQkFEVixLQUFLO2dCQXlCRixVQUFVO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRG9DaGVjaywgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBBYnN0cmFjdENvbnRyb2xEaXJlY3RpdmUsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHsgRm9ybUZpZWxkRXJyb3JMaXN0SXRlbVRwbERpcmVjdGl2ZSB9IGZyb20gJy4vZm9ybS1maWVsZC1lcnJvci1saXN0LWl0ZW0tdHBsLmRpcmVjdGl2ZSdcblxuZXhwb3J0IGludGVyZmFjZSBJRXJyb3JSZWNvcmQge1xuICB2YWxpZGF0b3JOYW1lOiBzdHJpbmdcbiAgZXJyb3I6IGFueSxcbiAgbWVzc2FnZT86IHN0cmluZ1xuICB0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT5cblxuICBleHRlcm5hbD86IGJvb2xlYW5cblxuICBfZXJyb3JzPzogVmFsaWRhdGlvbkVycm9yc1xufVxuXG4vKipcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaGFzIHNvbWUgaXNzdWVzIHdpdGggZmlsdGVyaW5nIGR1cGxpY2F0ZSB2YWxpZGF0b3JzLiBUaGVcbiAqIGlucHV0cyB3aWxsIGJlIGNsZWFuZWQgdXAgc29vbiB0byBmaXggdGhlIGlucHV0IGNvbmZ1c2lvbi5cbiAqXG4gKiBUT0RPOiBDbGVhbnVwIHJlbWFpbmluZyBjb2RlIGZyb20gYmVmb3JlIHJlZmFjdG9yLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLWZvcm0tZmllbGQtZXJyb3ItbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZpZWxkLWVycm9yLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWZpZWxkLWVycm9yLWxpc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRFcnJvckxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIERvQ2hlY2sge1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuZGlzcGxheScpIGdldCBfZGlzcGxheSgpIHtcbiAgICByZXR1cm4gdGhpcy5zaG93RXJyb3JzID8gJ2Jsb2NrJyA6ICdub25lJ1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgZGVmYXVsdE1lc3NhZ2VzOiB7IFtuYW1lOiBzdHJpbmddOiAoKHBhcmFtczogYW55KSA9PiBzdHJpbmcpIHwgKCgpID0+IHN0cmluZykgfSA9IHtcbiAgICAvLyByZXF1aXJlZDogKCkgPT4gJ1JlcXVpcmVkJyxcbiAgICAvLyBtaW5sZW5ndGg6IChwYXJhbXMpID0+ICdUaGUgbWluIG51bWJlciBvZiBjaGFyYWN0ZXJzIGlzICcgKyBwYXJhbXMucmVxdWlyZWRMZW5ndGgsXG4gICAgLy8gbWF4bGVuZ3RoOiAocGFyYW1zKSA9PiAnVGhlIG1heCBhbGxvd2VkIG51bWJlciBvZiBjaGFyYWN0ZXJzIGlzICcgKyBwYXJhbXMucmVxdWlyZWRMZW5ndGgsXG4gICAgLy8gcGF0dGVybjogKHBhcmFtcykgPT4gJ1RoZSByZXF1aXJlZCBwYXR0ZXJuIGlzOiAnICsgcGFyYW1zLnJlcXVpcmVkUGF0dGVyblxuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdE1lc3NhZ2VzOiB7IFtuYW1lOiBzdHJpbmddOiAoKHBhcmFtczogYW55KSA9PiBzdHJpbmcpIHwgKCgpID0+IHN0cmluZykgfSA9IHtcbiAgICAvLyByZXF1aXJlZDogKCkgPT4gJ1JlcXVpcmVkJyxcbiAgICAvLyBtaW5sZW5ndGg6IChwYXJhbXMpID0+ICdUaGUgbWluIG51bWJlciBvZiBjaGFyYWN0ZXJzIGlzICcgKyBwYXJhbXMucmVxdWlyZWRMZW5ndGgsXG4gICAgLy8gbWF4bGVuZ3RoOiAocGFyYW1zKSA9PiAnVGhlIG1heCBhbGxvd2VkIG51bWJlciBvZiBjaGFyYWN0ZXJzIGlzICcgKyBwYXJhbXMucmVxdWlyZWRMZW5ndGgsXG4gICAgLy8gcGF0dGVybjogKHBhcmFtcykgPT4gJ1RoZSByZXF1aXJlZCBwYXR0ZXJuIGlzOiAnICsgcGFyYW1zLnJlcXVpcmVkUGF0dGVyblxuICB9XG5cbiAgcHJpdmF0ZSBfZXJyb3JzOiBhbnlbXSA9IFtdXG5cbiAgcHVibGljIF9wYWRkaW5nRXJyb3JzID0gW11cblxuICBASW5wdXQoKVxuICBzZXQgZXJyb3JzKHJlY29yZHM6IElFcnJvclJlY29yZFtdIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIC8vIGlmICh2YWwgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgIC8vICAgdGhpcy5fZXJyb3JzID0gdmFsXG4gICAgLy8gfSBlbHNlIHtcbiAgICAvLyAgIGNvbnN0IGVycnMgPSBbXVxuICAgIC8vICAgZm9yIChjb25zdCBrIGluIHZhbCkge1xuICAgIC8vICAgICBpZiAodmFsW2tdKSB7XG4gICAgLy8gICAgICAgY29uc3QgZXJyID0gdmFsW2tdXG4gICAgLy8gICAgICAgY29uc3QgbmV3RXJyID0ge1xuICAgIC8vICAgICAgICAgdmFsaWRhdG9yTmFtZTogayxcbiAgICAvLyAgICAgICAgIGVycm9yOiBlcnIsXG4gICAgLy8gICAgICAgICBtZXNzYWdlOiAnJyxcbiAgICAvLyAgICAgICAgIHRlbXBsYXRlOiBlcnIudGVtcGxhdGUsXG4gICAgLy8gICAgICAgICBleHRlcm5hbDogISFlcnIuZXh0ZXJuYWxcbiAgICAvLyAgICAgICB9XG5cbiAgICAvLyAgICAgICBpZiAoZXJyLm1lc3NhZ2UpIHtcbiAgICAvLyAgICAgICAgIGNvbnN0IG1zZ1RtcCA9IGVyci5tZXNzYWdlXG4gICAgLy8gICAgICAgICBpZiAodHlwZW9mIG1zZ1RtcCA9PT0gJ3N0cmluZycpIHtcbiAgICAvLyAgICAgICAgICAgbmV3RXJyLm1lc3NhZ2UgPSBtc2dUbXBcbiAgICAvLyAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG1zZ1RtcCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIC8vICAgICAgICAgICBuZXdFcnIubWVzc2FnZSA9IG1zZ1RtcChlcnIpXG4gICAgLy8gICAgICAgICB9XG4gICAgLy8gICAgICAgfSBlbHNlIGlmIChGb3JtRmllbGRFcnJvckxpc3RDb21wb25lbnQuZGVmYXVsdE1lc3NhZ2VzW2tdKSB7XG4gICAgLy8gICAgICAgICBjb25zdCBkZWZhdWx0TXNnID0gRm9ybUZpZWxkRXJyb3JMaXN0Q29tcG9uZW50LmRlZmF1bHRNZXNzYWdlc1trXVxuICAgIC8vICAgICAgICAgaWYgKHR5cGVvZiBkZWZhdWx0TXNnID09PSAnc3RyaW5nJykge1xuICAgIC8vICAgICAgICAgICBuZXdFcnIubWVzc2FnZSA9IGRlZmF1bHRNc2dcbiAgICAvLyAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGRlZmF1bHRNc2cgPT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyAgICAgICAgICAgbmV3RXJyLm1lc3NhZ2UgPSBkZWZhdWx0TXNnKGVycilcbiAgICAvLyAgICAgICAgIH1cbiAgICAvLyAgICAgICB9XG5cbiAgICAvLyAgICAgICBlcnJzLnB1c2gobmV3RXJyKVxuICAgIC8vICAgICB9XG4gICAgLy8gICB9XG4gICAgLy8gICB0aGlzLl9lcnJvcnMgPSBlcnJzXG4gICAgLy8gfVxuXG4gICAgdGhpcy5faW5pdEVycm9ySW5wdXQocmVjb3JkcyB8fCBbXSlcbiAgfVxuXG4gIC8vIGdldCBlcnJvcnMoKSB7XG4gIC8vICAgbGV0IGVycnMgPSBbXVxuXG4gIC8vICAgaWYgKHRoaXMuX2Vycm9ycykge1xuICAvLyAgICAgaWYgKCF0aGlzLm1lc3NhZ2VzKSB7XG4gIC8vICAgICAgIGVycnMgPSB0aGlzLl9lcnJvcnNcbiAgLy8gICAgIH0gZWxzZSB7XG4gIC8vICAgICAgIGVycnMgPSB0aGlzLl9lcnJvcnMubWFwKGVyciA9PiB7XG4gIC8vICAgICAgICAgaWYgKHRoaXMubWVzc2FnZXMgJiYgZXJyLnZhbGlkYXRvck5hbWUgJiYgdGhpcy5tZXNzYWdlc1tlcnIudmFsaWRhdG9yTmFtZV0pIHtcbiAgLy8gICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBlcnIsIHtcbiAgLy8gICAgICAgICAgICAgbWVzc2FnZTogdGhpcy5tZXNzYWdlc1tlcnIudmFsaWRhdG9yTmFtZV1cbiAgLy8gICAgICAgICAgIH0pXG4gIC8vICAgICAgICAgfSBlbHNlIHtcbiAgLy8gICAgICAgICAgIHJldHVybiBlcnJcbiAgLy8gICAgICAgICB9XG4gIC8vICAgICAgIH0pXG4gIC8vICAgICB9XG4gIC8vICAgfVxuXG4gIC8vICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAvLyAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5jb250cm9sLmVycm9ycykge1xuICAvLyAgICAgICBpZiAodGhpcy5jb250cm9sLmVycm9yc1trZXldKSB7XG4gIC8vICAgICAgICAgY29uc3QgZXJyID0gdGhpcy5jb250cm9sLmVycm9yc1trZXldXG5cbiAgLy8gICAgICAgICBjb25zdCBuZXdFcnIgPSB7XG4gIC8vICAgICAgICAgICB2YWxpZGF0b3JOYW1lOiBrZXksXG4gIC8vICAgICAgICAgICBlcnJvcjogZXJyLFxuICAvLyAgICAgICAgICAgbWVzc2FnZTogJycsXG4gIC8vICAgICAgICAgICBleHRlcm5hbDogZmFsc2VcbiAgLy8gICAgICAgICB9XG5cbiAgLy8gICAgICAgICBpZiAoRm9ybUZpZWxkRXJyb3JMaXN0Q29tcG9uZW50LmRlZmF1bHRNZXNzYWdlc1trZXldKSB7XG4gIC8vICAgICAgICAgICBjb25zdCBkZWZhdWx0TXNnID0gRm9ybUZpZWxkRXJyb3JMaXN0Q29tcG9uZW50LmRlZmF1bHRNZXNzYWdlc1trZXldXG4gIC8vICAgICAgICAgICBpZiAodHlwZW9mIGRlZmF1bHRNc2cgPT09ICdzdHJpbmcnKSB7XG4gIC8vICAgICAgICAgICAgIG5ld0Vyci5tZXNzYWdlID0gZGVmYXVsdE1zZ1xuICAvLyAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZGVmYXVsdE1zZyA9PT0gJ2Z1bmN0aW9uJykge1xuICAvLyAgICAgICAgICAgICBuZXdFcnIubWVzc2FnZSA9IGRlZmF1bHRNc2coZXJyKVxuICAvLyAgICAgICAgICAgfVxuICAvLyAgICAgICAgIH1cblxuICAvLyAgICAgICAgIGVycnMgPSBbIC4uLmVycnMsIG5ld0VyciBdXG4gIC8vICAgICAgIH1cbiAgLy8gICAgIH1cbiAgLy8gICB9XG5cbiAgLy8gICBpZiAodGhpcy5tYXhFcnJvcnMgPj0gMCkge1xuICAvLyAgICAgZXJycyA9IGVycnMuc2xpY2UoMCwgdGhpcy5tYXhFcnJvcnMpXG4gIC8vICAgfVxuXG4gIC8vICAgY29uc3QgY291bnQgPSB0aGlzLnNob3dDb250cm9sRXJyb3JzID8gdGhpcy5udW1QYWRkaW5nRXJyb3JzIC0gZXJycy5sZW5ndGggOiB0aGlzLm51bVBhZGRpbmdFcnJvcnNcbiAgLy8gICBpZiAoY291bnQgPiAwKSB7XG4gIC8vICAgICB0aGlzLl9wYWRkaW5nRXJyb3JzID0gW11cbiAgLy8gICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQ7IGkrKykge1xuICAvLyAgICAgICB0aGlzLl9wYWRkaW5nRXJyb3JzLnB1c2goeyB2YWxpZGF0b3JOYW1lOiAnX19wYWRkaW5nX18nLCBlcnJvcjoge30sIG1lc3NhZ2U6ICcnLCBleHRlcm5hbDogZmFsc2UgfSlcbiAgLy8gICAgIH1cbiAgLy8gICB9IGVsc2Uge1xuICAvLyAgICAgdGhpcy5fcGFkZGluZ0Vycm9ycyA9IFtdXG4gIC8vICAgfVxuXG4gIC8vICAgcmV0dXJuIGVycnNcbiAgLy8gfVxuXG4gIC8vIEBJbnB1dCgpIG1lc3NhZ2VzOiBhbnkgPSB7fVxuICBASW5wdXQoKSBzaG93VmFsaWRhdG9yTmFtZSA9IGZhbHNlXG5cbiAgQElucHV0KCkgbnVtUGFkZGluZ0Vycm9ycyA9IDFcblxuICAvLyBwcml2YXRlIGVycm9yVHBsOiBUZW1wbGF0ZVJlZjxhbnk+XG5cbiAgLy8gcHJpdmF0ZSBfbGlzdEl0ZW1UcGxzOiBRdWVyeUxpc3Q8Rm9ybUZpZWxkRXJyb3JMaXN0SXRlbVRwbERpcmVjdGl2ZT5cbiAgLy8gcHJpdmF0ZSBsaXN0SXRlbVRwbHNPYmogPSB7fVxuXG4gIEBDb250ZW50Q2hpbGRyZW4oRm9ybUZpZWxkRXJyb3JMaXN0SXRlbVRwbERpcmVjdGl2ZSlcbiAgc2V0IF9saXN0SXRlbVRwbHModmFsOiBRdWVyeUxpc3Q8Rm9ybUZpZWxkRXJyb3JMaXN0SXRlbVRwbERpcmVjdGl2ZT4pIHtcbiAgICB0aGlzLl9pbml0RXJyb3JUZW1wbGF0ZXModmFsKVxuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGxpc3RJdGVtVHBscyh2YWw6IFF1ZXJ5TGlzdDxGb3JtRmllbGRFcnJvckxpc3RJdGVtVHBsRGlyZWN0aXZlPikge1xuICAgIHRoaXMuX2luaXRFcnJvclRlbXBsYXRlcyh2YWwpXG5cbiAgICAvLyBmb3IgKGNvbnN0IHYgb2YgdmFsLnRvQXJyYXkoKSkge1xuICAgIC8vICAgaWYgKHYudmFsaWRhdG9yTmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgLy8gICAgIHRoaXMubGlzdEl0ZW1UcGxzT2JqW3YudmFsaWRhdG9yTmFtZV0gPSB2XG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gICAgLy8gY29uc3QgdG1wID0gdmFsLmZpbmQodiA9PiB2LnZhbGlkYXRvck5hbWUgPT09IHVuZGVmaW5lZClcbiAgICAvLyBpZiAodG1wKSB7XG4gICAgLy8gICB0aGlzLmVycm9yVHBsID0gdG1wLnRlbXBsYXRlXG4gICAgLy8gfVxuXG4gICAgLy8gdGhpcy5fbGlzdEl0ZW1UcGxzID0gdmFsXG4gIH1cblxuICAvLyBnZXQgbGlzdEl0ZW1UcGxzKCk6IFF1ZXJ5TGlzdDxGb3JtRmllbGRFcnJvckxpc3RJdGVtVHBsRGlyZWN0aXZlPiB7XG4gIC8vICAgcmV0dXJuIHRoaXMuX2xpc3RJdGVtVHBsc1xuICAvLyB9XG5cbiAgQElucHV0KCkgbWF4RXJyb3JzID0gLTFcblxuICBASW5wdXQoKVxuICBnZXQgY29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2xEaXJlY3RpdmUgfCBBYnN0cmFjdENvbnRyb2wgfCB1bmRlZmluZWQgfCBudWxsIHsgcmV0dXJuIHRoaXMuX2NvbnRyb2wgfVxuICBzZXQgY29udHJvbCh2YWx1ZTogQWJzdHJhY3RDb250cm9sRGlyZWN0aXZlIHwgQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIHRoaXMuX2NvbnRyb2wgPSB2YWx1ZVxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5faW5pdENvbnRyb2xMaXN0ZW5lcnModmFsdWUpXG4gICAgfVxuICB9XG4gIHByaXZhdGUgX2NvbnRyb2w6IEFic3RyYWN0Q29udHJvbERpcmVjdGl2ZSB8IEFic3RyYWN0Q29udHJvbCB8IHVuZGVmaW5lZCB8IG51bGxcblxuICBwcml2YXRlIF92YWx1ZUNoYW5nZVN1YiA9IFN1YnNjcmlwdGlvbi5FTVBUWVxuICBwcml2YXRlIF9lcnJvclRwbHNDaGFuZ2VTdWIgPSBTdWJzY3JpcHRpb24uRU1QVFlcblxuICBwcml2YXRlIF9jb250cm9sRXJyb3JzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJRXJyb3JSZWNvcmRbXT4oW10pXG4gIHByaXZhdGUgX2Vycm9yVHBscyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SUVycm9yUmVjb3JkW10+KFtdKVxuICBwcml2YXRlIF9lcnJvcklucHV0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJRXJyb3JSZWNvcmRbXT4oW10pXG5cbiAgcHJpdmF0ZSBfc2hvd0NvbnRyb2xFcnJvcnNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSlcblxuICBwdWJsaWMgZGlzcGxheVJlY29yZHMkOiBPYnNlcnZhYmxlPElFcnJvclJlY29yZFtdPlxuICBwdWJsaWMgc2hvd0NvbnRyb2xFcnJvcnMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+XG5cbiAgcHJpdmF0ZSBfc2hvd0Vycm9ycyA9IHRydWVcblxuICBASW5wdXQoKVxuICBzZXQgc2hvd0Vycm9ycyh2YWw6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93RXJyb3JzID0gdmFsXG4gIH1cblxuICBnZXQgc2hvd0Vycm9ycygpOiBib29sZWFuIHtcbiAgICBsZXQgc2hvdyA9IHRoaXMuX3Nob3dFcnJvcnNcblxuICAgIGlmIChzaG93ICYmIHRoaXMuY29udHJvbCkge1xuICAgICAgaWYgKHRoaXMubnVtUGFkZGluZ0Vycm9ycyA+IDApIHtcbiAgICAgICAgc2hvdyA9IHRydWVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNob3cgPSAhISh0aGlzLmNvbnRyb2wuaW52YWxpZCAmJiAodGhpcy5jb250cm9sLmRpcnR5IHx8IHRoaXMuY29udHJvbC50b3VjaGVkKSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc2hvd1xuICB9XG5cbiAgZ2V0IHNob3dDb250cm9sRXJyb3JzKCk6IGJvb2xlYW4ge1xuICAgIGxldCBzaG93ID0gZmFsc2VcbiAgICBpZiAodGhpcy5jb250cm9sICYmIHRoaXMuc2hvd0Vycm9ycykge1xuICAgICAgc2hvdyA9ICEhKHRoaXMuY29udHJvbC5pbnZhbGlkICYmICh0aGlzLmNvbnRyb2wuZGlydHkgfHwgdGhpcy5jb250cm9sLnRvdWNoZWQpKVxuICAgIH1cblxuICAgIHJldHVybiBzaG93XG4gIH1cblxuICBwdWJsaWMgZXJyb3JSZWNvcmRzJDogT2JzZXJ2YWJsZTxJRXJyb3JSZWNvcmRbXT5cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNob3dDb250cm9sRXJyb3JzJCA9IHRoaXMuX3Nob3dDb250cm9sRXJyb3JzU3ViamVjdC5hc09ic2VydmFibGUoKVxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5waXBlKHNoYXJlUmVwbGF5KDEpKVxuXG4gICAgdGhpcy5lcnJvclJlY29yZHMkID0gY29tYmluZUxhdGVzdChbdGhpcy5fY29udHJvbEVycm9ycywgdGhpcy5fZXJyb3JUcGxzLCB0aGlzLl9lcnJvcklucHV0XSlcbiAgICAgIC5waXBlKG1hcCgoW2N0cmxFcnJzLCBlcnJUcGxzLCBlcnJvcklucHV0XSkgPT4gdGhpcy5fY29tcG9zZUVycm9ySW5wdXRzKGN0cmxFcnJzLCBlcnJUcGxzLCBlcnJvcklucHV0KSkpXG4gICAgICAucGlwZShzaGFyZVJlcGxheSgxKSlcblxuICAgIHRoaXMuZGlzcGxheVJlY29yZHMkID0gdGhpcy5lcnJvclJlY29yZHMkXG4gICAgICAucGlwZShtYXAocmVjb3JkcyA9PiB7XG4gICAgICAgIGxldCByZXN1bHRSZWNvcmRzOiBJRXJyb3JSZWNvcmRbXSA9IFtdXG5cbiAgICAgICAgaWYgKCF0aGlzLnNob3dFcnJvcnMpIHtcbiAgICAgICAgICAvLyBUT0RPOiBJbXBsZW1lbnRcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsZXQgZXJycyA9IFsgLi4ucmVjb3JkcyBdXG5cbiAgICAgICAgICBpZiAodGhpcy5tYXhFcnJvcnMgPj0gMCkge1xuICAgICAgICAgICAgZXJycyA9IGVycnMuc2xpY2UoMCwgdGhpcy5tYXhFcnJvcnMpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgY291bnQgPSB0aGlzLnNob3dDb250cm9sRXJyb3JzID8gdGhpcy5udW1QYWRkaW5nRXJyb3JzIC0gZXJycy5sZW5ndGggOiB0aGlzLm51bVBhZGRpbmdFcnJvcnNcbiAgICAgICAgICBjb25zdCBwYWRkaW5nRXJyb3JzOiBJRXJyb3JSZWNvcmRbXSA9IFtdXG4gICAgICAgICAgaWYgKGNvdW50ID4gMCkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmdFcnJvcnMucHVzaCh7IHZhbGlkYXRvck5hbWU6ICdfX3BhZGRpbmdfXycsIGVycm9yOiB7fSwgbWVzc2FnZTogJycsIGV4dGVybmFsOiBmYWxzZSB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0aGlzLnNob3dDb250cm9sRXJyb3JzKSB7XG4gICAgICAgICAgICByZXN1bHRSZWNvcmRzID0gWyAuLi5lcnJzLCAuLi5wYWRkaW5nRXJyb3JzIF1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzdWx0UmVjb3JkcyA9IFsgLi4ucGFkZGluZ0Vycm9ycyBdXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFJlY29yZHNcbiAgICAgIH0pKVxuICAgICAgLnBpcGUoc2hhcmVSZXBsYXkoMSkpXG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl92YWx1ZUNoYW5nZVN1Yi51bnN1YnNjcmliZSgpXG4gICAgdGhpcy5fZXJyb3JUcGxzQ2hhbmdlU3ViLnVuc3Vic2NyaWJlKClcbiAgfVxuXG4gIG5nRG9DaGVjaygpIHtcbiAgICB0aGlzLl9zaG93Q29udHJvbEVycm9yc1N1YmplY3QubmV4dCh0aGlzLnNob3dDb250cm9sRXJyb3JzKVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdENvbnRyb2xMaXN0ZW5lcnMoY29udHJvbDogQWJzdHJhY3RDb250cm9sRGlyZWN0aXZlIHwgQWJzdHJhY3RDb250cm9sKTogdm9pZCB7XG4gICAgLy8gVW5zdWJzY3JpYmUgZnJvbSBvbGQgY29udHJvbCBjaGFuZ2VzXG4gICAgaWYgKHRoaXMuX3ZhbHVlQ2hhbmdlU3ViICYmICF0aGlzLl92YWx1ZUNoYW5nZVN1Yi5jbG9zZWQpIHtcbiAgICAgIHRoaXMuX3ZhbHVlQ2hhbmdlU3ViLnVuc3Vic2NyaWJlKClcbiAgICB9XG5cbiAgICBpZiAoY29udHJvbC52YWx1ZUNoYW5nZXMgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuX3ZhbHVlQ2hhbmdlU3ViID0gY29tYmluZUxhdGVzdChbdGhpcy5zaG93Q29udHJvbEVycm9ycyQsIGNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCkpXSlcbiAgICAgICAgLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCkpXG4gICAgICAgIC5zdWJzY3JpYmUoXyA9PiB0aGlzLl91cGRhdGVDb250cm9sRXJyb3JzKGNvbnRyb2wuZXJyb3JzKSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2V0Q29udHJvbEVycm9ycyhbXSlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVDb250cm9sRXJyb3JzKGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwpOiB2b2lkIHtcbiAgICBjb25zdCBlcnJzOiBJRXJyb3JSZWNvcmRbXSA9IFtdXG4gICAgZm9yIChjb25zdCB2YWxpZGF0b3JOYW1lIGluIGVycm9ycykge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlcnJvcnMsIHZhbGlkYXRvck5hbWUpKSB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gZXJyb3JzW3ZhbGlkYXRvck5hbWVdXG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLl9wYXJzZU1lc3NhZ2UodGhpcy5fZGVmYXVsdE1lc3NhZ2VzW3ZhbGlkYXRvck5hbWVdLCBlcnJvcilcbiAgICAgICAgY29uc3QgZXh0ZXJuYWwgPSBmYWxzZVxuICAgICAgICBlcnJzLnB1c2goeyB2YWxpZGF0b3JOYW1lLCBlcnJvciwgbWVzc2FnZSwgZXh0ZXJuYWwgfSlcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fc2V0Q29udHJvbEVycm9ycyhlcnJzKVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0Q29udHJvbEVycm9ycyhlcnJvcnM6IElFcnJvclJlY29yZFtdKSB7XG4gICAgdGhpcy5fY29udHJvbEVycm9ycy5uZXh0KGVycm9ycylcbiAgfVxuXG4gIHByaXZhdGUgX3BhcnNlTWVzc2FnZShtZXNzYWdlOiBhbnksIGVycm9yOiBhbnkpIHtcbiAgICBpZiAoIW1lc3NhZ2UpIHsgcmV0dXJuIH1cblxuICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBtZXNzYWdlXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIG1lc3NhZ2UoZXJyb3IpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdEVycm9yVGVtcGxhdGVzKHRwbHNRdWVyeUxpc3Q6IFF1ZXJ5TGlzdDxGb3JtRmllbGRFcnJvckxpc3RJdGVtVHBsRGlyZWN0aXZlPikge1xuICAgIGlmICh0aGlzLl9lcnJvclRwbHNDaGFuZ2VTdWIgJiYgIXRoaXMuX2Vycm9yVHBsc0NoYW5nZVN1Yi5jbG9zZWQpIHtcbiAgICAgIHRoaXMuX2Vycm9yVHBsc0NoYW5nZVN1Yi51bnN1YnNjcmliZSgpXG4gICAgfVxuXG4gICAgaWYgKHRwbHNRdWVyeUxpc3QpIHtcbiAgICAgIHRoaXMuX2Vycm9yVHBsc0NoYW5nZVN1YiA9IHRwbHNRdWVyeUxpc3QuY2hhbmdlc1xuICAgICAgICAucGlwZShzdGFydFdpdGgodW5kZWZpbmVkKSlcbiAgICAgICAgLnN1YnNjcmliZShfID0+IHRoaXMuX3VwZGF0ZUVycm9yVGVtcGxhdGVzKHRwbHNRdWVyeUxpc3QudG9BcnJheSgpKSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2V0RXJyb3JUZW1wbGF0ZXMoW10pXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlRXJyb3JUZW1wbGF0ZXModHBsc0xpc3Q6IEZvcm1GaWVsZEVycm9yTGlzdEl0ZW1UcGxEaXJlY3RpdmVbXSk6IHZvaWQge1xuICAgIGNvbnN0IGVycnM6IElFcnJvclJlY29yZFtdID0gW11cbiAgICBmb3IgKGNvbnN0IHRwbCBvZiB0cGxzTGlzdCkge1xuICAgICAgaWYgKHRwbC52YWxpZGF0b3JOYW1lICE9PSB1bmRlZmluZWQgJiYgdHBsLnZhbGlkYXRvck5hbWUgIT09IG51bGwpIHtcbiAgICAgICAgZXJycy5wdXNoKHtcbiAgICAgICAgICB2YWxpZGF0b3JOYW1lOiB0cGwudmFsaWRhdG9yTmFtZSxcbiAgICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgICAgICB0ZW1wbGF0ZTogdHBsLnRlbXBsYXRlLFxuICAgICAgICAgIGV4dGVybmFsOiAhIXRwbC5leHRlcm5hbFxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gdGhpcy5lcnJvclRwbCA9IHRwbC50ZW1wbGF0ZVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9zZXRFcnJvclRlbXBsYXRlcyhlcnJzKVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0RXJyb3JUZW1wbGF0ZXMoZXJyb3JUcGxzOiBJRXJyb3JSZWNvcmRbXSk6IHZvaWQge1xuICAgIHRoaXMuX2Vycm9yVHBscy5uZXh0KGVycm9yVHBscylcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRFcnJvcklucHV0KGVycm9yczogSUVycm9yUmVjb3JkW10pOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGVFcnJvcklucHV0cyhlcnJvcnMpXG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVFcnJvcklucHV0cyhlcnJvcnM6IElFcnJvclJlY29yZFtdKTogdm9pZCB7XG4gICAgdGhpcy5fc2V0RXJyb3JJbnB1dChlcnJvcnMpXG4gIH1cblxuICBwcml2YXRlIF9zZXRFcnJvcklucHV0KGVycm9yczogSUVycm9yUmVjb3JkW10pOiB2b2lkIHtcbiAgICB0aGlzLl9lcnJvcklucHV0Lm5leHQoZXJyb3JzKVxuICB9XG5cbiAgcHJpdmF0ZSBfY29tcG9zZUVycm9ySW5wdXRzKFxuICAgIGNvbnRyb2xFcnJvcnM6IElFcnJvclJlY29yZFtdLFxuICAgIGVycm9yVGVtcGxhdGVzOiBJRXJyb3JSZWNvcmRbXSxcbiAgICBlcnJvcklucHV0OiBJRXJyb3JSZWNvcmRbXVxuICApOiBJRXJyb3JSZWNvcmRbXSB7XG4gICAgY29uc3QgZXJyczogSUVycm9yUmVjb3JkW10gPSBbXVxuXG4gICAgY29uc3QgZXJyc01hcDogeyBbbmFtZTogc3RyaW5nXTogSUVycm9yUmVjb3JkIH0gPSB7fVxuXG4gICAgZm9yIChjb25zdCBlcnIgb2YgY29udHJvbEVycm9ycykge1xuICAgICAgaWYgKGVyci5tZXNzYWdlIHx8IGVyci50ZW1wbGF0ZSkge1xuICAgICAgICBlcnJzTWFwW2Vyci52YWxpZGF0b3JOYW1lXSA9IGVyclxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgZXJyIG9mIGVycm9ySW5wdXQpIHtcbiAgICAgIGlmIChlcnIubWVzc2FnZSB8fCBlcnIudGVtcGxhdGUpIHtcbiAgICAgICAgZXJyc01hcFtlcnIudmFsaWRhdG9yTmFtZV0gPSBlcnJcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGVyciBvZiBlcnJvclRlbXBsYXRlcykge1xuICAgICAgaWYgKGVyci5tZXNzYWdlIHx8IGVyci50ZW1wbGF0ZSkge1xuICAgICAgICBlcnJzTWFwW2Vyci52YWxpZGF0b3JOYW1lXSA9IGVyclxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgdmFsaWRhdG9yTmFtZSBpbiBlcnJzTWFwKSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGVycnNNYXAsIHZhbGlkYXRvck5hbWUpKSB7XG4gICAgICAgIGVycnMucHVzaChlcnJzTWFwW3ZhbGlkYXRvck5hbWVdKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNvbnRyb2xcbiAgICBpZiAoIWNvbnRyb2wpIHtcbiAgICAgIHJldHVybiBbXVxuICAgIH1cblxuICAgIHJldHVybiBlcnJzXG4gICAgICAuZmlsdGVyKGVyciA9PiB0aGlzLl9pc0Vycm9yVmFsaWRhdG9yKGNvbnRyb2wuZXJyb3JzLCBlcnIudmFsaWRhdG9yTmFtZSkpXG4gICAgICAuZmlsdGVyKGVyciA9PiAhZXJyLmV4dGVybmFsKVxuICAgICAgLm1hcChlcnIgPT4gKHtcbiAgICAgICAgLi4uZXJyLFxuICAgICAgICBlcnJvcjogY29udHJvbC5lcnJvcnMgPyBjb250cm9sLmVycm9yc1tlcnIudmFsaWRhdG9yTmFtZV0gOiBudWxsLFxuICAgICAgICBfZXJyb3JzOiBjb250cm9sLmVycm9yc1xuICAgICAgfSBhcyBJRXJyb3JSZWNvcmQpKVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNFcnJvclZhbGlkYXRvcihlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsLCB2YWxpZGF0b3JOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIWVycm9ycykge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIGNvbnN0IGFyciA9IHZhbGlkYXRvck5hbWUuc3BsaXQoJyAnKS5maWx0ZXIodiA9PiB2LnRyaW0oKS5sZW5ndGggPiAwKVxuICAgIGZvciAoY29uc3QgaXRlbSBvZiBhcnIpIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZXJyb3JzLCBpdGVtKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG59XG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByZWNvcmQgb2YgZGlzcGxheVJlY29yZHMkIHwgYXN5bmNcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlY29yZC50ZW1wbGF0ZTsgZWxzZSBub1RlbXBsYXRlXCI+XG4gICAgPGRpdj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJyZWNvcmQudGVtcGxhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHJlY29yZC5lcnJvciwgZXJyb3JzOiByZWNvcmQuX2Vycm9ycyB9XCI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNub1RlbXBsYXRlPlxuICAgIDxzZWFtLWZvcm0tZmllbGQtZXJyb3JcbiAgICAgIFt2YWxpZGF0b3JOYW1lXT1cInJlY29yZC52YWxpZGF0b3JOYW1lXCJcbiAgICAgIFttZXNzYWdlXT1cInJlY29yZC5tZXNzYWdlXCJcbiAgICAgIFtzaG93VmFsaWRhdG9yTmFtZV09XCJzaG93VmFsaWRhdG9yTmFtZVwiPlxuICAgIDwvc2VhbS1mb3JtLWZpZWxkLWVycm9yPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -7,16 +7,16 @@ import { FormFieldErrorComponent } from './form-field-error/form-field-error.com
7
7
  import * as i0 from "@angular/core";
8
8
  export class TheSeamFormFieldErrorModule {
9
9
  }
10
- TheSeamFormFieldErrorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamFormFieldErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- TheSeamFormFieldErrorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: TheSeamFormFieldErrorModule, declarations: [FormFieldErrorComponent,
10
+ TheSeamFormFieldErrorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamFormFieldErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ TheSeamFormFieldErrorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TheSeamFormFieldErrorModule, declarations: [FormFieldErrorComponent,
12
12
  FormFieldErrorListComponent,
13
13
  FormFieldErrorListItemDirective,
14
14
  FormFieldErrorListItemTplDirective], imports: [CommonModule], exports: [FormFieldErrorComponent,
15
15
  FormFieldErrorListComponent,
16
16
  FormFieldErrorListItemDirective,
17
17
  FormFieldErrorListItemTplDirective] });
18
- TheSeamFormFieldErrorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamFormFieldErrorModule, imports: [CommonModule] });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamFormFieldErrorModule, decorators: [{
18
+ TheSeamFormFieldErrorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamFormFieldErrorModule, imports: [CommonModule] });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamFormFieldErrorModule, decorators: [{
20
20
  type: NgModule,
21
21
  args: [{
22
22
  declarations: [
@@ -71,6 +71,7 @@ export class TheSeamBaseLayoutComponent {
71
71
  const actions = this._registeredActions.value;
72
72
  if (actions.findIndex(a => a.name === action.name) !== -1) {
73
73
  if (isDevMode()) {
74
+ // eslint-disable-next-line no-console
74
75
  console.warn(`[TheSeamBaseLayoutComponent] registerAction(): Action ${action.name} not ` +
75
76
  'registered, because another action by that name is already registered.');
76
77
  }
@@ -96,9 +97,9 @@ export class TheSeamBaseLayoutComponent {
96
97
  return isObservable(fnRes) ? fnRes : from(Promise.resolve(fnRes));
97
98
  }
98
99
  }
99
- TheSeamBaseLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamBaseLayoutComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.TheSeamLayoutService }], target: i0.ɵɵFactoryTarget.Component });
100
- TheSeamBaseLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: TheSeamBaseLayoutComponent, selector: "seam-base-layout", inputs: { overlayNav: "overlayNav" }, providers: [THE_SEAM_BASE_LAYOUT], queries: [{ propertyName: "_topBarTpl", first: true, predicate: BaseLayoutTopBarDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "_sideBarTpl", first: true, predicate: BaseLayoutSideBarDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "_contentTpl", first: true, predicate: BaseLayoutContentDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "_contentHeaderTpl", first: true, predicate: BaseLayoutContentHeaderDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "_contentFooterTpl", first: true, predicate: BaseLayoutContentFooterDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div class=\"base-layout-side-bar-nav-content-mobile\" *ngIf=\"isMobile$ | async\">\n <ng-template [cdkPortalOutlet]=\"_sideBarPortal\"></ng-template>\n</div>\n\n<div class=\"base-layout-top-bar-container\">\n <ng-template [cdkPortalOutlet]=\"_topBarPortal\"></ng-template>\n</div>\n<div class=\"base-layout-main-container\">\n <div *ngIf=\"hasSideBar$ | async\"\n class=\"base-layout-side-bar-container\">\n <div class=\"base-layout-side-bar-nav-content\" *ngIf=\"!(isMobile$ | async)\">\n <ng-template [cdkPortalOutlet]=\"_sideBarPortal\"></ng-template>\n </div>\n </div>\n <div class=\"base-layout-content-container\">\n <div class=\"base-layout-content-container-header\">\n <!-- <ng-template [cdkPortalOutlet]=\"_contentHeaderPortal\"></ng-template> -->\n\n <div class=\"d-flex d-flex-row\">\n <div class=\"flex-grow-1\">\n <ng-template [cdkPortalOutlet]=\"_contentHeaderPortal\"></ng-template>\n </div>\n <div class=\"d-flex\">\n <ng-container *ngFor=\"let action of registeredActions$ | async; first as isFirst\">\n <div>\n <ng-container [ngTemplateOutlet]=\"$any(action)?.template\"></ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n\n\n </div>\n <div class=\"base-layout-content-container-inner\" seamOverlayScrollbar>\n <ng-template [cdkPortalOutlet]=\"_contentPortal\"></ng-template>\n </div>\n <div class=\"base-layout-content-container-footer\">\n <ng-template [cdkPortalOutlet]=\"_contentFooterPortal\"></ng-template>\n </div>\n </div>\n</div>\n", styles: ["seam-base-layout{display:flex;flex-direction:column;height:100%;width:100%}seam-base-layout .base-layout-side-bar-nav-content-mobile{position:absolute;top:0;bottom:0;left:0;float:left;z-index:9999}seam-base-layout .base-layout-side-bar-container{flex:0 0 auto;display:flex;flex-direction:column;border-top:none;border-right:1px solid #dee2e6;border-bottom:none;border-left:none}seam-base-layout .base-layout-side-bar-container .base-layout-side-bar-nav-content{flex:1 1 0}seam-base-layout .base-layout-main-container{flex:1 1 100%;display:flex;flex-direction:row;transform:translateZ(0)}seam-base-layout .base-layout-top-bar-container{flex:0 0 auto;border-top:none;border-right:none;border-bottom:1px solid #dee2e6;border-left:none}seam-base-layout .base-layout-content-container{flex:1 1 auto;display:flex;flex-direction:column}seam-base-layout .base-layout-content-container .base-layout-content-container-header{flex:0 0 auto}seam-base-layout .base-layout-content-container .base-layout-content-container-inner{flex:1 1 auto}seam-base-layout .base-layout-content-container .base-layout-content-container-footer{flex:0 0 auto}seam-base-layout .base-layout-content-container-header{margin:.25rem;padding:0;background:none;border-radius:0;overflow:hidden}seam-base-layout .btn-baselayout-action{margin:0 0 0 .25rem;color:#212529;background-color:#e9ecef;border-color:#e9ecef;padding:.5rem 1rem;font-size:1rem;line-height:1.5;border-radius:.25rem;border:none;color:#6c757d}seam-base-layout .btn-baselayout-action:hover{color:#212529;background-color:#d3d9df;border-color:#cbd3da}seam-base-layout .btn-baselayout-action:focus,seam-base-layout .btn-baselayout-action.focus{color:#212529;background-color:#d3d9df;border-color:#cbd3da;box-shadow:0 0 0 .2rem #cbced180}seam-base-layout .btn-baselayout-action.disabled,seam-base-layout .btn-baselayout-action:disabled{color:#212529;background-color:#e9ecef;border-color:#e9ecef}seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled):active,seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled).active,.show>seam-base-layout .btn-baselayout-action.dropdown-toggle{color:#212529;background-color:#d3d9df;border-color:#c4ccd4}seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled):active:focus,seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled).active:focus,.show>seam-base-layout .btn-baselayout-action.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #cbced180}seam-base-layout .btn-baselayout-action:hover{color:#6c757d}seam-base-layout .btn-baselayout-action:focus,seam-base-layout .btn-baselayout-action.focus{color:#6c757d}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i4.OverlayScrollbarDirective, selector: "[seamOverlayScrollbar]", inputs: ["seamOverlayScrollbar", "overlayScrollbarEnabled"], exportAs: ["seamOverlayScrollbar"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamBaseLayoutComponent, decorators: [{
100
+ TheSeamBaseLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamBaseLayoutComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.TheSeamLayoutService }], target: i0.ɵɵFactoryTarget.Component });
101
+ TheSeamBaseLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TheSeamBaseLayoutComponent, selector: "seam-base-layout", inputs: { overlayNav: "overlayNav" }, providers: [THE_SEAM_BASE_LAYOUT], queries: [{ propertyName: "_topBarTpl", first: true, predicate: BaseLayoutTopBarDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "_sideBarTpl", first: true, predicate: BaseLayoutSideBarDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "_contentTpl", first: true, predicate: BaseLayoutContentDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "_contentHeaderTpl", first: true, predicate: BaseLayoutContentHeaderDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "_contentFooterTpl", first: true, predicate: BaseLayoutContentFooterDirective, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div class=\"base-layout-side-bar-nav-content-mobile\" *ngIf=\"isMobile$ | async\">\n <ng-template [cdkPortalOutlet]=\"_sideBarPortal\"></ng-template>\n</div>\n\n<div class=\"base-layout-top-bar-container\">\n <ng-template [cdkPortalOutlet]=\"_topBarPortal\"></ng-template>\n</div>\n<div class=\"base-layout-main-container\">\n <div *ngIf=\"hasSideBar$ | async\"\n class=\"base-layout-side-bar-container\">\n <div class=\"base-layout-side-bar-nav-content\" *ngIf=\"!(isMobile$ | async)\">\n <ng-template [cdkPortalOutlet]=\"_sideBarPortal\"></ng-template>\n </div>\n </div>\n <div class=\"base-layout-content-container\">\n <div class=\"base-layout-content-container-header\">\n <!-- <ng-template [cdkPortalOutlet]=\"_contentHeaderPortal\"></ng-template> -->\n\n <div class=\"d-flex d-flex-row\">\n <div class=\"flex-grow-1\">\n <ng-template [cdkPortalOutlet]=\"_contentHeaderPortal\"></ng-template>\n </div>\n <div class=\"d-flex\">\n <ng-container *ngFor=\"let action of registeredActions$ | async; first as isFirst\">\n <div>\n <ng-container [ngTemplateOutlet]=\"$any(action)?.template\"></ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n\n\n </div>\n <div class=\"base-layout-content-container-inner\" seamOverlayScrollbar>\n <ng-template [cdkPortalOutlet]=\"_contentPortal\"></ng-template>\n </div>\n <div class=\"base-layout-content-container-footer\">\n <ng-template [cdkPortalOutlet]=\"_contentFooterPortal\"></ng-template>\n </div>\n </div>\n</div>\n", styles: ["seam-base-layout{display:flex;flex-direction:column;height:100%;width:100%}seam-base-layout .base-layout-side-bar-nav-content-mobile{position:absolute;top:0;bottom:0;left:0;float:left;z-index:9999}seam-base-layout .base-layout-side-bar-container{flex:0 0 auto;display:flex;flex-direction:column;border-top:none;border-right:1px solid #dee2e6;border-bottom:none;border-left:none}seam-base-layout .base-layout-side-bar-container .base-layout-side-bar-nav-content{flex:1 1 0}seam-base-layout .base-layout-main-container{flex:1 1 100%;display:flex;flex-direction:row;transform:translateZ(0)}seam-base-layout .base-layout-top-bar-container{flex:0 0 auto;border-top:none;border-right:none;border-bottom:1px solid #dee2e6;border-left:none}seam-base-layout .base-layout-content-container{flex:1 1 auto;display:flex;flex-direction:column}seam-base-layout .base-layout-content-container .base-layout-content-container-header{flex:0 0 auto}seam-base-layout .base-layout-content-container .base-layout-content-container-inner{flex:1 1 auto}seam-base-layout .base-layout-content-container .base-layout-content-container-footer{flex:0 0 auto}seam-base-layout .base-layout-content-container-header{margin:.25rem;padding:0;background:none;border-radius:0;overflow:hidden}seam-base-layout .btn-baselayout-action{margin:0 0 0 .25rem;color:#212529;background-color:#e9ecef;border-color:#e9ecef;padding:.5rem 1rem;font-size:1rem;line-height:1.5;border-radius:.25rem;border:none;color:#6c757d}seam-base-layout .btn-baselayout-action:hover{color:#212529;background-color:#d3d9df;border-color:#cbd3da}seam-base-layout .btn-baselayout-action:focus,seam-base-layout .btn-baselayout-action.focus{color:#212529;background-color:#d3d9df;border-color:#cbd3da;box-shadow:0 0 0 .2rem #cbced180}seam-base-layout .btn-baselayout-action.disabled,seam-base-layout .btn-baselayout-action:disabled{color:#212529;background-color:#e9ecef;border-color:#e9ecef}seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled):active,seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled).active,.show>seam-base-layout .btn-baselayout-action.dropdown-toggle{color:#212529;background-color:#d3d9df;border-color:#c4ccd4}seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled):active:focus,seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled).active:focus,.show>seam-base-layout .btn-baselayout-action.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #cbced180}seam-base-layout .btn-baselayout-action:hover{color:#6c757d}seam-base-layout .btn-baselayout-action:focus,seam-base-layout .btn-baselayout-action.focus{color:#6c757d}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i4.OverlayScrollbarDirective, selector: "[seamOverlayScrollbar]", inputs: ["seamOverlayScrollbar", "overlayScrollbarEnabled"], exportAs: ["seamOverlayScrollbar"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamBaseLayoutComponent, decorators: [{
102
103
  type: Component,
103
104
  args: [{ selector: 'seam-base-layout', providers: [THE_SEAM_BASE_LAYOUT], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"base-layout-side-bar-nav-content-mobile\" *ngIf=\"isMobile$ | async\">\n <ng-template [cdkPortalOutlet]=\"_sideBarPortal\"></ng-template>\n</div>\n\n<div class=\"base-layout-top-bar-container\">\n <ng-template [cdkPortalOutlet]=\"_topBarPortal\"></ng-template>\n</div>\n<div class=\"base-layout-main-container\">\n <div *ngIf=\"hasSideBar$ | async\"\n class=\"base-layout-side-bar-container\">\n <div class=\"base-layout-side-bar-nav-content\" *ngIf=\"!(isMobile$ | async)\">\n <ng-template [cdkPortalOutlet]=\"_sideBarPortal\"></ng-template>\n </div>\n </div>\n <div class=\"base-layout-content-container\">\n <div class=\"base-layout-content-container-header\">\n <!-- <ng-template [cdkPortalOutlet]=\"_contentHeaderPortal\"></ng-template> -->\n\n <div class=\"d-flex d-flex-row\">\n <div class=\"flex-grow-1\">\n <ng-template [cdkPortalOutlet]=\"_contentHeaderPortal\"></ng-template>\n </div>\n <div class=\"d-flex\">\n <ng-container *ngFor=\"let action of registeredActions$ | async; first as isFirst\">\n <div>\n <ng-container [ngTemplateOutlet]=\"$any(action)?.template\"></ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n\n\n </div>\n <div class=\"base-layout-content-container-inner\" seamOverlayScrollbar>\n <ng-template [cdkPortalOutlet]=\"_contentPortal\"></ng-template>\n </div>\n <div class=\"base-layout-content-container-footer\">\n <ng-template [cdkPortalOutlet]=\"_contentFooterPortal\"></ng-template>\n </div>\n </div>\n</div>\n", styles: ["seam-base-layout{display:flex;flex-direction:column;height:100%;width:100%}seam-base-layout .base-layout-side-bar-nav-content-mobile{position:absolute;top:0;bottom:0;left:0;float:left;z-index:9999}seam-base-layout .base-layout-side-bar-container{flex:0 0 auto;display:flex;flex-direction:column;border-top:none;border-right:1px solid #dee2e6;border-bottom:none;border-left:none}seam-base-layout .base-layout-side-bar-container .base-layout-side-bar-nav-content{flex:1 1 0}seam-base-layout .base-layout-main-container{flex:1 1 100%;display:flex;flex-direction:row;transform:translateZ(0)}seam-base-layout .base-layout-top-bar-container{flex:0 0 auto;border-top:none;border-right:none;border-bottom:1px solid #dee2e6;border-left:none}seam-base-layout .base-layout-content-container{flex:1 1 auto;display:flex;flex-direction:column}seam-base-layout .base-layout-content-container .base-layout-content-container-header{flex:0 0 auto}seam-base-layout .base-layout-content-container .base-layout-content-container-inner{flex:1 1 auto}seam-base-layout .base-layout-content-container .base-layout-content-container-footer{flex:0 0 auto}seam-base-layout .base-layout-content-container-header{margin:.25rem;padding:0;background:none;border-radius:0;overflow:hidden}seam-base-layout .btn-baselayout-action{margin:0 0 0 .25rem;color:#212529;background-color:#e9ecef;border-color:#e9ecef;padding:.5rem 1rem;font-size:1rem;line-height:1.5;border-radius:.25rem;border:none;color:#6c757d}seam-base-layout .btn-baselayout-action:hover{color:#212529;background-color:#d3d9df;border-color:#cbd3da}seam-base-layout .btn-baselayout-action:focus,seam-base-layout .btn-baselayout-action.focus{color:#212529;background-color:#d3d9df;border-color:#cbd3da;box-shadow:0 0 0 .2rem #cbced180}seam-base-layout .btn-baselayout-action.disabled,seam-base-layout .btn-baselayout-action:disabled{color:#212529;background-color:#e9ecef;border-color:#e9ecef}seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled):active,seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled).active,.show>seam-base-layout .btn-baselayout-action.dropdown-toggle{color:#212529;background-color:#d3d9df;border-color:#c4ccd4}seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled):active:focus,seam-base-layout .btn-baselayout-action:not(:disabled):not(.disabled).active:focus,.show>seam-base-layout .btn-baselayout-action.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #cbced180}seam-base-layout .btn-baselayout-action:hover{color:#6c757d}seam-base-layout .btn-baselayout-action:focus,seam-base-layout .btn-baselayout-action.focus{color:#6c757d}\n"] }]
104
105
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i1.TheSeamLayoutService }]; }, propDecorators: { overlayNav: [{
@@ -119,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
119
120
  type: ContentChild,
120
121
  args: [BaseLayoutContentFooterDirective, { static: true, read: TemplateRef }]
121
122
  }] } });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9iYXNlLWxheW91dC9iYXNlLWxheW91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL2Jhc2UtbGF5b3V0L2Jhc2UtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNwRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBRVQsV0FBVyxFQUVYLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFFdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFPekYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDOUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sbURBQW1ELENBQUE7QUFDcEcsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sbURBQW1ELENBQUE7QUFDcEcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNENBQTRDLENBQUE7QUFDdkYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUE7QUFDeEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUE7Ozs7OztBQUV0RixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBUTtJQUN2QyxPQUFPLEVBQUUsdUJBQXVCO0lBQ2hDLGlEQUFpRDtJQUNqRCxXQUFXLEVB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RUFBRSxXQUFXLEVBQUU7Z0JBQ0UsaUJBQWlCO3NCQUFyRyxZQUFZO3VCQUFDLGdDQUFnQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJ1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgaXNEZXZNb2RlLFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmcm9tLCBpc09ic2VydmFibGUsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuXG5pbXBvcnQgeyBmYUFuZ2xlRG91YmxlTGVmdCwgZmFBbmdsZURvdWJsZVJpZ2h0IH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJ1xuXG5pbXBvcnQgeyBUaGVTZWFtTGF5b3V0U2VydmljZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9sYXlvdXQnXG5cbmltcG9ydCB7IEJhc2VMYXlvdXRBY3Rpb24sIElCYXNlTGF5b3V0QWN0aW9uQnV0dG9uIH0gZnJvbSAnLi9iYXNlLWxheW91dC1hY3Rpb24nXG5pbXBvcnQgeyBJVGhlU2VhbUJhc2VMYXlvdXROYXYgfSBmcm9tICcuL2Jhc2UtbGF5b3V0LW5hdidcbmltcG9ydCB7IElUaGVTZWFtQmFzZUxheW91dFJlZiB9IGZyb20gJy4vYmFzZS1sYXlvdXQtcmVmJ1xuaW1wb3J0IHsgVEhFU0VBTV9CQVNFX0xBWU9VVF9SRUYgfSBmcm9tICcuL2Jhc2UtbGF5b3V0LXRva2VucydcbmltcG9ydCB7IEJhc2VMYXlvdXRDb250ZW50Rm9vdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LWNvbnRlbnQtZm9vdGVyLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEJhc2VMYXlvdXRDb250ZW50SGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LWNvbnRlbnQtaGVhZGVyLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEJhc2VMYXlvdXRDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LWNvbnRlbnQuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgQmFzZUxheW91dFNpZGVCYXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYmFzZS1sYXlvdXQtc2lkZS1iYXIuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgQmFzZUxheW91dFRvcEJhckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9iYXNlLWxheW91dC10b3AtYmFyLmRpcmVjdGl2ZSdcblxuZXhwb3J0IGNvbnN0IFRIRV9TRUFNX0JBU0VfTEFZT1VUOiBhbnkgPSB7XG4gIHByb3ZpZGU6IFRIRVNFQU1fQkFTRV9MQVlPVVRfUkVGLFxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tdXNlLWJlZm9yZS1kZWNsYXJlXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRoZVNlYW1CYXNlTGF5b3V0Q29tcG9uZW50KSxcbiAgbXVsdGk6IGZhbHNlLFxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLWJhc2UtbGF5b3V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Jhc2UtbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmFzZS1sYXlvdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbIFRIRV9TRUFNX0JBU0VfTEFZT1VUIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFRoZVNlYW1CYXNlTGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBJVGhlU2VhbUJhc2VMYXlvdXRSZWYge1xuXG4gIGZhQW5nbGVEb3VibGVSaWdodCA9IGZhQW5nbGVEb3VibGVSaWdodFxuICBmYUFuZ2xlRG91YmxlTGVmdCA9IGZhQW5nbGVEb3VibGVMZWZ0XG5cbiAgQElucHV0KCkgb3ZlcmxheU5hdiA9IGZhbHNlXG5cbiAgLy8gVE9ETzogQ29uc2lkZXIgbWFraW5nIHRoZSB0ZW1wbGF0ZSBxdWVyaWVzIG5vdCBiZSBkeW5hbWljLiBJIGNhbiBzZWUgdGhpc1xuICAvLyBwb3RlbnRpYWxseSBjYXVzaW5nIGNvbmZ1c2lvbiBvciBpc3N1ZXMgd2l0aCBwb3RlbnRpYWwgbGF5b3V0cyBidWlsdCB3aXRoXG4gIC8vIHRoaXMgY29tcG9uZW50LlxuICBAQ29udGVudENoaWxkKEJhc2VMYXlvdXRUb3BCYXJEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBUZW1wbGF0ZVJlZiB9KSBfdG9wQmFyVHBsPzogVGVtcGxhdGVSZWY8YW55PiB8IG51bGxcbiAgQENvbnRlbnRDaGlsZChCYXNlTGF5b3V0U2lkZUJhckRpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pIF9zaWRlQmFyVHBsPzogVGVtcGxhdGVSZWY8YW55PiB8IG51bGxcbiAgQENvbnRlbnRDaGlsZChCYXNlTGF5b3V0Q29udGVudERpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pIF9jb250ZW50VHBsPzogVGVtcGxhdGVSZWY8YW55PiB8IG51bGxcbiAgQENvbnRlbnRDaGlsZChCYXNlTGF5b3V0Q29udGVudEhlYWRlckRpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pIF9jb250ZW50SGVhZGVyVHBsPzogVGVtcGxhdGVSZWY8YW55PiB8IG51bGxcbiAgQENvbnRlbnRDaGlsZChCYXNlTGF5b3V0Q29udGVudEZvb3RlckRpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pIF9jb250ZW50Rm9vdGVyVHBsPzogVGVtcGxhdGVSZWY8YW55PiB8IG51bGxcblxuICBfdG9wQmFyUG9ydGFsPzogVGVtcGxhdGVQb3J0YWxcbiAgX3NpZGVCYXJQb3J0YWw/OiBUZW1wbGF0ZVBvcnRhbFxuICBfY29udGVudFBvcnRhbD86IFRlbXBsYXRlUG9ydGFsXG4gIF9jb250ZW50SGVhZGVyUG9ydGFsPzogVGVtcGxhdGVQb3J0YWxcbiAgX2NvbnRlbnRGb290ZXJQb3J0YWw/OiBUZW1wbGF0ZVBvcnRhbFxuXG4gIHByaXZhdGUgX2hhc1NpZGVCYXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKVxuXG4gIHB1YmxpYyBoYXNTaWRlQmFyJDogT2JzZXJ2YWJsZTxib29sZWFuPlxuICBwdWJsaWMgaXNNb2JpbGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+XG5cbiAgZ2V0IHJlZ2lzdGVyZWROYXYoKSB7IHJldHVybiB0aGlzLl9yZWdpc3RlcmVkTmF2LnZhbHVlIH1cbiAgcHJpdmF0ZSBfcmVnaXN0ZXJlZE5hdiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVRoZVNlYW1CYXNlTGF5b3V0TmF2IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpXG4gIHB1YmxpYyByZWdpc3RlcmVkTmF2JCA9IHRoaXMuX3JlZ2lzdGVyZWROYXYuYXNPYnNlcnZhYmxlKClcblxuICBnZXQgcmVnaXN0ZXJlZEFjdGlvbnMoKSB7IHJldHVybiB0aGlzLl9yZWdpc3RlcmVkQWN0aW9ucy52YWx1ZSB9XG4gIHByaXZhdGUgX3JlZ2lzdGVyZWRBY3Rpb25zID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCYXNlTGF5b3V0QWN0aW9uW10+KFtdKVxuICBwdWJsaWMgcmVnaXN0ZXJlZEFjdGlvbnMkOiBPYnNlcnZhYmxlPEJhc2VMYXlvdXRBY3Rpb25bXT5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgX2xheW91dDogVGhlU2VhbUxheW91dFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5yZWdpc3RlcmVkQWN0aW9ucyQgPSB0aGlzLl9yZWdpc3RlcmVkQWN0aW9ucy5hc09ic2VydmFibGUoKVxuXG4gICAgdGhpcy5pc01vYmlsZSQgPSB0aGlzLl9sYXlvdXQuaXNNb2JpbGUkXG4gICAgdGhpcy5oYXNTaWRlQmFyJCA9IHRoaXMuX2hhc1NpZGVCYXIuYXNPYnNlcnZhYmxlKClcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLl90b3BCYXJUcGwpIHtcbiAgICAgIHRoaXMuX3RvcEJhclBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLl90b3BCYXJUcGwsIHRoaXMuX3ZpZXdDb250YWluZXJSZWYpXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3NpZGVCYXJUcGwpIHtcbiAgICAgIHRoaXMuX3NpZGVCYXJQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5fc2lkZUJhclRwbCwgdGhpcy5fdmlld0NvbnRhaW5lclJlZilcbiAgICAgIHRoaXMuX2hhc1NpZGVCYXIubmV4dCh0cnVlKVxuICAgIH1cblxuICAgIGlmICh0aGlzLl9jb250ZW50VHBsKSB7XG4gICAgICB0aGlzLl9jb250ZW50UG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuX2NvbnRlbnRUcGwsIHRoaXMuX3ZpZXdDb250YWluZXJSZWYpXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2NvbnRlbnRIZWFkZXJUcGwpIHtcbiAgICAgIHRoaXMuX2NvbnRlbnRIZWFkZXJQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5fY29udGVudEhlYWRlclRwbCwgdGhpcy5fdmlld0NvbnRhaW5lclJlZilcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY29udGVudEZvb3RlclRwbCkge1xuICAgICAgdGhpcy5fY29udGVudEZvb3RlclBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLl9jb250ZW50Rm9vdGVyVHBsLCB0aGlzLl92aWV3Q29udGFpbmVyUmVmKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck5hdihuYXY6IElUaGVTZWFtQmFzZUxheW91dE5hdik6IHZvaWQge1xuICAgIC8vIFRPRE86IEFsbG93IG11bHRpcGxlIHJlZ2lzdGVyZWQgbmF2c1xuICAgIC8vIGlmICh0aGlzLnJlZ2lzdGVyZWROYXYpIHtcbiAgICAvLyAgIHRocm93IG5ldyBFcnJvcignW1RoZVNlYW1CYXNlTGF5b3V0Q29tcG9uZW50XSBBIG5hdiBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQuJylcbiAgICAvLyB9XG4gICAgLy8gY29uc29sZS5sb2coJ3JlZ2lzdGVyIG5hdicsIG5hdilcbiAgICB0aGlzLl9yZWdpc3RlcmVkTmF2Lm5leHQobmF2KVxuICB9XG5cbiAgcHVibGljIHVucmVnaXN0ZXJOYXYobmF2OiBJVGhlU2VhbUJhc2VMYXlvdXROYXYpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZWdpc3RlcmVkTmF2ID09PSBuYXYpIHtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyZWROYXYubmV4dCh1bmRlZmluZWQpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyQWN0aW9uKGFjdGlvbjogQmFzZUxheW91dEFjdGlvbik6IHZvaWQge1xuICAgIGNvbnN0IGFjdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkQWN0aW9ucy52YWx1ZVxuICAgIGlmIChhY3Rpb25zLmZpbmRJbmRleChhID0+IGEubmFtZSA9PT0gYWN0aW9uLm5hbWUpICE9PSAtMSkge1xuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgW1RoZVNlYW1CYXNlTGF5b3V0Q29tcG9uZW50XSByZWdpc3RlckFjdGlvbigpOiBBY3Rpb24gJHthY3Rpb24ubmFtZX0gbm90IGAgK1xuICAgICAgICAgICdyZWdpc3RlcmVkLCBiZWNhdXNlIGFub3RoZXIgYWN0aW9uIGJ5IHRoYXQgbmFtZSBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQuJ1xuICAgICAgICApXG4gICAgICB9XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgYWN0aW9ucy5wdXNoKGFjdGlvbilcbiAgfVxuXG4gIHB1YmxpYyB1bnJlZ2lzdGVyQWN0aW9uKGFjdGlvbjogQmFzZUxheW91dEFjdGlvbiB8IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGlvbk5hbWUgPSB0eXBlb2YgYWN0aW9uID09PSAnc3RyaW5nJyA/IGFjdGlvbiA6IGFjdGlvbi5uYW1lXG4gICAgY29uc3QgYWN0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRBY3Rpb25zLnZhbHVlXG4gICAgdGhpcy5fcmVnaXN0ZXJlZEFjdGlvbnMubmV4dChhY3Rpb25zLmZpbHRlcihmID0+IGYubmFtZSAhPT0gYWN0aW9uTmFtZSkpXG4gIH1cblxuICBwdWJsaWMgaXNBY3Rpb25SZWdpc3RlcmVkKGFjdGlvbk5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGFjdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkQWN0aW9ucy52YWx1ZVxuICAgIGNvbnN0IGFjdGlvbiA9IGFjdGlvbnMuZmluZChmID0+IGYubmFtZSA9PT0gYWN0aW9uTmFtZSlcbiAgICByZXR1cm4gISFhY3Rpb25cbiAgfVxuXG4gIF9oYW5kbGVCdXR0b25BY3Rpb24oYWN0aW9uOiBJQmFzZUxheW91dEFjdGlvbkJ1dHRvbik6IHZvaWQge1xuICAgIHRoaXMuX2V4ZWNCdXR0b25BY3Rpb24oYWN0aW9uKS5zdWJzY3JpYmUoKVxuICB9XG5cbiAgX2V4ZWNCdXR0b25BY3Rpb24oYWN0aW9uOiBJQmFzZUxheW91dEFjdGlvbkJ1dHRvbik6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IGZuUmVzID0gYWN0aW9uLmV4ZWMoKVxuICAgIHJldHVybiBpc09ic2VydmFibGUoZm5SZXMpID8gZm5SZXMgOiBmcm9tKFByb21pc2UucmVzb2x2ZShmblJlcykpXG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImJhc2UtbGF5b3V0LXNpZGUtYmFyLW5hdi1jb250ZW50LW1vYmlsZVwiICpuZ0lmPVwiaXNNb2JpbGUkIHwgYXN5bmNcIj5cbiAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiX3NpZGVCYXJQb3J0YWxcIj48L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJiYXNlLWxheW91dC10b3AtYmFyLWNvbnRhaW5lclwiPlxuICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJfdG9wQmFyUG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImJhc2UtbGF5b3V0LW1haW4tY29udGFpbmVyXCI+XG4gIDxkaXYgKm5nSWY9XCJoYXNTaWRlQmFyJCB8IGFzeW5jXCJcbiAgICBjbGFzcz1cImJhc2UtbGF5b3V0LXNpZGUtYmFyLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJiYXNlLWxheW91dC1zaWRlLWJhci1uYXYtY29udGVudFwiICpuZ0lmPVwiIShpc01vYmlsZSQgfCBhc3luYylcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIl9zaWRlQmFyUG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJiYXNlLWxheW91dC1jb250ZW50LWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJiYXNlLWxheW91dC1jb250ZW50LWNvbnRhaW5lci1oZWFkZXJcIj5cbiAgICAgIDwhLS0gPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiX2NvbnRlbnRIZWFkZXJQb3J0YWxcIj48L25nLXRlbXBsYXRlPiAtLT5cblxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBkLWZsZXgtcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIl9jb250ZW50SGVhZGVyUG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgcmVnaXN0ZXJlZEFjdGlvbnMkIHwgYXN5bmM7IGZpcnN0IGFzIGlzRmlyc3RcIj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiJGFueShhY3Rpb24pPy50ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cblxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJiYXNlLWxheW91dC1jb250ZW50LWNvbnRhaW5lci1pbm5lclwiIHNlYW1PdmVybGF5U2Nyb2xsYmFyPlxuICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiX2NvbnRlbnRQb3J0YWxcIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJiYXNlLWxheW91dC1jb250ZW50LWNvbnRhaW5lci1mb290ZXJcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIl9jb250ZW50Rm9vdGVyUG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9iYXNlLWxheW91dC9iYXNlLWxheW91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZnJhbWV3b3JrL2Jhc2UtbGF5b3V0L2Jhc2UtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNwRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBRVQsV0FBVyxFQUVYLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFFdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFPekYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDOUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sbURBQW1ELENBQUE7QUFDcEcsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sbURBQW1ELENBQUE7QUFDcEcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNENBQTRDLENBQUE7QUFDdkYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUE7QUFDeEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUE7Ozs7OztBQUV0RixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBUTtJQUN2QyxPQUFPLEVBQUUsdUJBQXVCO0lBQ2hDLGlEQUFpRDtJQUNqRCxXQUFXLEVB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QUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDRSxpQkFBaUI7c0JBQXJHLFlBQVk7dUJBQUMsZ0NBQWdDLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBpc0Rldk1vZGUsXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZyb20sIGlzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5cbmltcG9ydCB7IGZhQW5nbGVEb3VibGVMZWZ0LCBmYUFuZ2xlRG91YmxlUmlnaHQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnXG5cbmltcG9ydCB7IFRoZVNlYW1MYXlvdXRTZXJ2aWNlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2xheW91dCdcblxuaW1wb3J0IHsgQmFzZUxheW91dEFjdGlvbiwgSUJhc2VMYXlvdXRBY3Rpb25CdXR0b24gfSBmcm9tICcuL2Jhc2UtbGF5b3V0LWFjdGlvbidcbmltcG9ydCB7IElUaGVTZWFtQmFzZUxheW91dE5hdiB9IGZyb20gJy4vYmFzZS1sYXlvdXQtbmF2J1xuaW1wb3J0IHsgSVRoZVNlYW1CYXNlTGF5b3V0UmVmIH0gZnJvbSAnLi9iYXNlLWxheW91dC1yZWYnXG5pbXBvcnQgeyBUSEVTRUFNX0JBU0VfTEFZT1VUX1JFRiB9IGZyb20gJy4vYmFzZS1sYXlvdXQtdG9rZW5zJ1xuaW1wb3J0IHsgQmFzZUxheW91dENvbnRlbnRGb290ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYmFzZS1sYXlvdXQtY29udGVudC1mb290ZXIuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgQmFzZUxheW91dENvbnRlbnRIZWFkZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYmFzZS1sYXlvdXQtY29udGVudC1oZWFkZXIuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgQmFzZUxheW91dENvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYmFzZS1sYXlvdXQtY29udGVudC5kaXJlY3RpdmUnXG5pbXBvcnQgeyBCYXNlTGF5b3V0U2lkZUJhckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9iYXNlLWxheW91dC1zaWRlLWJhci5kaXJlY3RpdmUnXG5pbXBvcnQgeyBCYXNlTGF5b3V0VG9wQmFyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LXRvcC1iYXIuZGlyZWN0aXZlJ1xuXG5leHBvcnQgY29uc3QgVEhFX1NFQU1fQkFTRV9MQVlPVVQ6IGFueSA9IHtcbiAgcHJvdmlkZTogVEhFU0VBTV9CQVNFX0xBWU9VVF9SRUYsXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby11c2UtYmVmb3JlLWRlY2xhcmVcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGhlU2VhbUJhc2VMYXlvdXRDb21wb25lbnQpLFxuICBtdWx0aTogZmFsc2UsXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlYW0tYmFzZS1sYXlvdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFzZS1sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iYXNlLWxheW91dC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFsgVEhFX1NFQU1fQkFTRV9MQVlPVVQgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgVGhlU2VhbUJhc2VMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIElUaGVTZWFtQmFzZUxheW91dFJlZiB7XG5cbiAgZmFBbmdsZURvdWJsZVJpZ2h0ID0gZmFBbmdsZURvdWJsZVJpZ2h0XG4gIGZhQW5nbGVEb3VibGVMZWZ0ID0gZmFBbmdsZURvdWJsZUxlZnRcblxuICBASW5wdXQoKSBvdmVybGF5TmF2ID0gZmFsc2VcblxuICAvLyBUT0RPOiBDb25zaWRlciBtYWtpbmcgdGhlIHRlbXBsYXRlIHF1ZXJpZXMgbm90IGJlIGR5bmFtaWMuIEkgY2FuIHNlZSB0aGlzXG4gIC8vIHBvdGVudGlhbGx5IGNhdXNpbmcgY29uZnVzaW9uIG9yIGlzc3VlcyB3aXRoIHBvdGVudGlhbCBsYXlvdXRzIGJ1aWx0IHdpdGhcbiAgLy8gdGhpcyBjb21wb25lbnQuXG4gIEBDb250ZW50Q2hpbGQoQmFzZUxheW91dFRvcEJhckRpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pIF90b3BCYXJUcGw/OiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbFxuICBAQ29udGVudENoaWxkKEJhc2VMYXlvdXRTaWRlQmFyRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVGVtcGxhdGVSZWYgfSkgX3NpZGVCYXJUcGw/OiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbFxuICBAQ29udGVudENoaWxkKEJhc2VMYXlvdXRDb250ZW50RGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVGVtcGxhdGVSZWYgfSkgX2NvbnRlbnRUcGw/OiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbFxuICBAQ29udGVudENoaWxkKEJhc2VMYXlvdXRDb250ZW50SGVhZGVyRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVGVtcGxhdGVSZWYgfSkgX2NvbnRlbnRIZWFkZXJUcGw/OiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbFxuICBAQ29udGVudENoaWxkKEJhc2VMYXlvdXRDb250ZW50Rm9vdGVyRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVGVtcGxhdGVSZWYgfSkgX2NvbnRlbnRGb290ZXJUcGw/OiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbFxuXG4gIF90b3BCYXJQb3J0YWw/OiBUZW1wbGF0ZVBvcnRhbFxuICBfc2lkZUJhclBvcnRhbD86IFRlbXBsYXRlUG9ydGFsXG4gIF9jb250ZW50UG9ydGFsPzogVGVtcGxhdGVQb3J0YWxcbiAgX2NvbnRlbnRIZWFkZXJQb3J0YWw/OiBUZW1wbGF0ZVBvcnRhbFxuICBfY29udGVudEZvb3RlclBvcnRhbD86IFRlbXBsYXRlUG9ydGFsXG5cbiAgcHJpdmF0ZSBfaGFzU2lkZUJhciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpXG5cbiAgcHVibGljIGhhc1NpZGVCYXIkOiBPYnNlcnZhYmxlPGJvb2xlYW4+XG4gIHB1YmxpYyBpc01vYmlsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj5cblxuICBnZXQgcmVnaXN0ZXJlZE5hdigpIHsgcmV0dXJuIHRoaXMuX3JlZ2lzdGVyZWROYXYudmFsdWUgfVxuICBwcml2YXRlIF9yZWdpc3RlcmVkTmF2ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJVGhlU2VhbUJhc2VMYXlvdXROYXYgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZClcbiAgcHVibGljIHJlZ2lzdGVyZWROYXYkID0gdGhpcy5fcmVnaXN0ZXJlZE5hdi5hc09ic2VydmFibGUoKVxuXG4gIGdldCByZWdpc3RlcmVkQWN0aW9ucygpIHsgcmV0dXJuIHRoaXMuX3JlZ2lzdGVyZWRBY3Rpb25zLnZhbHVlIH1cbiAgcHJpdmF0ZSBfcmVnaXN0ZXJlZEFjdGlvbnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJhc2VMYXlvdXRBY3Rpb25bXT4oW10pXG4gIHB1YmxpYyByZWdpc3RlcmVkQWN0aW9ucyQ6IE9ic2VydmFibGU8QmFzZUxheW91dEFjdGlvbltdPlxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBfbGF5b3V0OiBUaGVTZWFtTGF5b3V0U2VydmljZVxuICApIHtcbiAgICB0aGlzLnJlZ2lzdGVyZWRBY3Rpb25zJCA9IHRoaXMuX3JlZ2lzdGVyZWRBY3Rpb25zLmFzT2JzZXJ2YWJsZSgpXG5cbiAgICB0aGlzLmlzTW9iaWxlJCA9IHRoaXMuX2xheW91dC5pc01vYmlsZSRcbiAgICB0aGlzLmhhc1NpZGVCYXIkID0gdGhpcy5faGFzU2lkZUJhci5hc09ic2VydmFibGUoKVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuX3RvcEJhclRwbCkge1xuICAgICAgdGhpcy5fdG9wQmFyUG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuX3RvcEJhclRwbCwgdGhpcy5fdmlld0NvbnRhaW5lclJlZilcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fc2lkZUJhclRwbCkge1xuICAgICAgdGhpcy5fc2lkZUJhclBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLl9zaWRlQmFyVHBsLCB0aGlzLl92aWV3Q29udGFpbmVyUmVmKVxuICAgICAgdGhpcy5faGFzU2lkZUJhci5uZXh0KHRydWUpXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2NvbnRlbnRUcGwpIHtcbiAgICAgIHRoaXMuX2NvbnRlbnRQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5fY29udGVudFRwbCwgdGhpcy5fdmlld0NvbnRhaW5lclJlZilcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY29udGVudEhlYWRlclRwbCkge1xuICAgICAgdGhpcy5fY29udGVudEhlYWRlclBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLl9jb250ZW50SGVhZGVyVHBsLCB0aGlzLl92aWV3Q29udGFpbmVyUmVmKVxuICAgIH1cblxuICAgIGlmICh0aGlzLl9jb250ZW50Rm9vdGVyVHBsKSB7XG4gICAgICB0aGlzLl9jb250ZW50Rm9vdGVyUG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuX2NvbnRlbnRGb290ZXJUcGwsIHRoaXMuX3ZpZXdDb250YWluZXJSZWYpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyTmF2KG5hdjogSVRoZVNlYW1CYXNlTGF5b3V0TmF2KTogdm9pZCB7XG4gICAgLy8gVE9ETzogQWxsb3cgbXVsdGlwbGUgcmVnaXN0ZXJlZCBuYXZzXG4gICAgLy8gaWYgKHRoaXMucmVnaXN0ZXJlZE5hdikge1xuICAgIC8vICAgdGhyb3cgbmV3IEVycm9yKCdbVGhlU2VhbUJhc2VMYXlvdXRDb21wb25lbnRdIEEgbmF2IGlzIGFscmVhZHkgcmVnaXN0ZXJlZC4nKVxuICAgIC8vIH1cbiAgICAvLyBjb25zb2xlLmxvZygncmVnaXN0ZXIgbmF2JywgbmF2KVxuICAgIHRoaXMuX3JlZ2lzdGVyZWROYXYubmV4dChuYXYpXG4gIH1cblxuICBwdWJsaWMgdW5yZWdpc3Rlck5hdihuYXY6IElUaGVTZWFtQmFzZUxheW91dE5hdik6IHZvaWQge1xuICAgIGlmICh0aGlzLnJlZ2lzdGVyZWROYXYgPT09IG5hdikge1xuICAgICAgdGhpcy5fcmVnaXN0ZXJlZE5hdi5uZXh0KHVuZGVmaW5lZClcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJBY3Rpb24oYWN0aW9uOiBCYXNlTGF5b3V0QWN0aW9uKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRBY3Rpb25zLnZhbHVlXG4gICAgaWYgKGFjdGlvbnMuZmluZEluZGV4KGEgPT4gYS5uYW1lID09PSBhY3Rpb24ubmFtZSkgIT09IC0xKSB7XG4gICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgIGBbVGhlU2VhbUJhc2VMYXlvdXRDb21wb25lbnRdIHJlZ2lzdGVyQWN0aW9uKCk6IEFjdGlvbiAke2FjdGlvbi5uYW1lfSBub3QgYCArXG4gICAgICAgICAgJ3JlZ2lzdGVyZWQsIGJlY2F1c2UgYW5vdGhlciBhY3Rpb24gYnkgdGhhdCBuYW1lIGlzIGFscmVhZHkgcmVnaXN0ZXJlZC4nXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBhY3Rpb25zLnB1c2goYWN0aW9uKVxuICB9XG5cbiAgcHVibGljIHVucmVnaXN0ZXJBY3Rpb24oYWN0aW9uOiBCYXNlTGF5b3V0QWN0aW9uIHwgc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aW9uTmFtZSA9IHR5cGVvZiBhY3Rpb24gPT09ICdzdHJpbmcnID8gYWN0aW9uIDogYWN0aW9uLm5hbWVcbiAgICBjb25zdCBhY3Rpb25zID0gdGhpcy5fcmVnaXN0ZXJlZEFjdGlvbnMudmFsdWVcbiAgICB0aGlzLl9yZWdpc3RlcmVkQWN0aW9ucy5uZXh0KGFjdGlvbnMuZmlsdGVyKGYgPT4gZi5uYW1lICE9PSBhY3Rpb25OYW1lKSlcbiAgfVxuXG4gIHB1YmxpYyBpc0FjdGlvblJlZ2lzdGVyZWQoYWN0aW9uTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgYWN0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRBY3Rpb25zLnZhbHVlXG4gICAgY29uc3QgYWN0aW9uID0gYWN0aW9ucy5maW5kKGYgPT4gZi5uYW1lID09PSBhY3Rpb25OYW1lKVxuICAgIHJldHVybiAhIWFjdGlvblxuICB9XG5cbiAgX2hhbmRsZUJ1dHRvbkFjdGlvbihhY3Rpb246IElCYXNlTGF5b3V0QWN0aW9uQnV0dG9uKTogdm9pZCB7XG4gICAgdGhpcy5fZXhlY0J1dHRvbkFjdGlvbihhY3Rpb24pLnN1YnNjcmliZSgpXG4gIH1cblxuICBfZXhlY0J1dHRvbkFjdGlvbihhY3Rpb246IElCYXNlTGF5b3V0QWN0aW9uQnV0dG9uKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgZm5SZXMgPSBhY3Rpb24uZXhlYygpXG4gICAgcmV0dXJuIGlzT2JzZXJ2YWJsZShmblJlcykgPyBmblJlcyA6IGZyb20oUHJvbWlzZS5yZXNvbHZlKGZuUmVzKSlcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiYmFzZS1sYXlvdXQtc2lkZS1iYXItbmF2LWNvbnRlbnQtbW9iaWxlXCIgKm5nSWY9XCJpc01vYmlsZSQgfCBhc3luY1wiPlxuICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJfc2lkZUJhclBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImJhc2UtbGF5b3V0LXRvcC1iYXItY29udGFpbmVyXCI+XG4gIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIl90b3BCYXJQb3J0YWxcIj48L25nLXRlbXBsYXRlPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiYmFzZS1sYXlvdXQtbWFpbi1jb250YWluZXJcIj5cbiAgPGRpdiAqbmdJZj1cImhhc1NpZGVCYXIkIHwgYXN5bmNcIlxuICAgIGNsYXNzPVwiYmFzZS1sYXlvdXQtc2lkZS1iYXItY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImJhc2UtbGF5b3V0LXNpZGUtYmFyLW5hdi1jb250ZW50XCIgKm5nSWY9XCIhKGlzTW9iaWxlJCB8IGFzeW5jKVwiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiX3NpZGVCYXJQb3J0YWxcIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImJhc2UtbGF5b3V0LWNvbnRlbnQtY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImJhc2UtbGF5b3V0LWNvbnRlbnQtY29udGFpbmVyLWhlYWRlclwiPlxuICAgICAgPCEtLSA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJfY29udGVudEhlYWRlclBvcnRhbFwiPjwvbmctdGVtcGxhdGU+IC0tPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGQtZmxleC1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiX2NvbnRlbnRIZWFkZXJQb3J0YWxcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiByZWdpc3RlcmVkQWN0aW9ucyQgfCBhc3luYzsgZmlyc3QgYXMgaXNGaXJzdFwiPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCIkYW55KGFjdGlvbik/LnRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuXG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJhc2UtbGF5b3V0LWNvbnRlbnQtY29udGFpbmVyLWlubmVyXCIgc2VhbU92ZXJsYXlTY3JvbGxiYXI+XG4gICAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJfY29udGVudFBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJhc2UtbGF5b3V0LWNvbnRlbnQtY29udGFpbmVyLWZvb3RlclwiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiX2NvbnRlbnRGb290ZXJQb3J0YWxcIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -15,8 +15,8 @@ import { BaseLayoutTopBarDirective } from './directives/base-layout-top-bar.dire
15
15
  import * as i0 from "@angular/core";
16
16
  export class TheSeamBaseLayoutModule {
17
17
  }
18
- TheSeamBaseLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamBaseLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
- TheSeamBaseLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: TheSeamBaseLayoutModule, declarations: [TheSeamBaseLayoutComponent,
18
+ TheSeamBaseLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamBaseLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ TheSeamBaseLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: TheSeamBaseLayoutModule, declarations: [TheSeamBaseLayoutComponent,
20
20
  BaseLayoutContentDirective,
21
21
  BaseLayoutSideBarDirective,
22
22
  BaseLayoutSideBarFooterDirective,
@@ -35,12 +35,12 @@ TheSeamBaseLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
35
35
  BaseLayoutNavToggleDirective,
36
36
  BaseLayoutContentHeaderDirective,
37
37
  BaseLayoutContentFooterDirective] });
38
- TheSeamBaseLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamBaseLayoutModule, imports: [CommonModule,
38
+ TheSeamBaseLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamBaseLayoutModule, imports: [CommonModule,
39
39
  PortalModule,
40
40
  TheSeamScrollbarModule,
41
41
  TheSeamIconModule,
42
42
  TheSeamButtonsModule] });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamBaseLayoutModule, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TheSeamBaseLayoutModule, decorators: [{
44
44
  type: NgModule,
45
45
  args: [{
46
46
  declarations: [
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
72
72
  ]
73
73
  }]
74
74
  }] });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1sYXlvdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9iYXNlLWxheW91dC9iYXNlLWxheW91dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXhDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzNELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRXJFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG1EQUFtRCxDQUFBO0FBQ3BHLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG1EQUFtRCxDQUFBO0FBQ3BHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFBO0FBQ3ZGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtDQUErQyxDQUFBO0FBQzVGLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9EQUFvRCxDQUFBO0FBQ3JHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBQ3hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFBOztBQWlDdEYsTUFBTSxPQUFPLHVCQUF1Qjs7b0hBQXZCLHVCQUF1QjtxSEFBdkIsdUJBQXVCLGlCQTNCaEMsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsZ0NBQWdDO1FBQ2hDLHlCQUF5QjtRQUN6Qiw0QkFBNEI7UUFDNUIsZ0NBQWdDO1FBQ2hDLGdDQUFnQyxhQUdoQyxZQUFZO1FBQ1osWUFBWTtRQUNaLHNCQUFzQjtRQUN0QixpQkFBaUI7UUFDakIsb0JBQW9CLGFBR3BCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsMEJBQTBCO1FBQzFCLGdDQUFnQztRQUNoQyx5QkFBeUI7UUFDekIsNEJBQTRCO1FBQzVCLGdDQUFnQztRQUNoQyxnQ0FBZ0M7cUhBR3ZCLHVCQUF1QixZQWpCaEMsWUFBWTtRQUNaLFlBQVk7UUFDWixzQkFBc0I7UUFDdEIsaUJBQWlCO1FBQ2pCLG9CQUFvQjsyRkFhWCx1QkFBdUI7a0JBN0JuQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQixnQ0FBZ0M7d0JBQ2hDLHlCQUF5Qjt3QkFDekIsNEJBQTRCO3dCQUM1QixnQ0FBZ0M7d0JBQ2hDLGdDQUFnQztxQkFDakM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixzQkFBc0I7d0JBQ3RCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsZ0NBQWdDO3dCQUNoQyx5QkFBeUI7d0JBQ3pCLDRCQUE0Qjt3QkFDNUIsZ0NBQWdDO3dCQUNoQyxnQ0FBZ0M7cUJBQ2pDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHsgVGhlU2VhbUJ1dHRvbnNNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vYnV0dG9ucydcbmltcG9ydCB7IFRoZVNlYW1JY29uTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2ljb24nXG5pbXBvcnQgeyBUaGVTZWFtU2Nyb2xsYmFyTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3Njcm9sbGJhcidcblxuaW1wb3J0IHsgVGhlU2VhbUJhc2VMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtbGF5b3V0LmNvbXBvbmVudCdcbmltcG9ydCB7IEJhc2VMYXlvdXRDb250ZW50Rm9vdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LWNvbnRlbnQtZm9vdGVyLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEJhc2VMYXlvdXRDb250ZW50SGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LWNvbnRlbnQtaGVhZGVyLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEJhc2VMYXlvdXRDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LWNvbnRlbnQuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgQmFzZUxheW91dE5hdlRvZ2dsZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9iYXNlLWxheW91dC1uYXYtdG9nZ2xlLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEJhc2VMYXlvdXRTaWRlQmFyRm9vdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LXNpZGUtYmFyLWZvb3Rlci5kaXJlY3RpdmUnXG5pbXBvcnQgeyBCYXNlTGF5b3V0U2lkZUJhckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9iYXNlLWxheW91dC1zaWRlLWJhci5kaXJlY3RpdmUnXG5pbXBvcnQgeyBCYXNlTGF5b3V0VG9wQmFyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LXRvcC1iYXIuZGlyZWN0aXZlJ1xuXG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgVGhlU2VhbUJhc2VMYXlvdXRDb21wb25lbnQsXG4gICAgQmFzZUxheW91dENvbnRlbnREaXJlY3RpdmUsXG4gICAgQmFzZUxheW91dFNpZGVCYXJEaXJlY3RpdmUsXG4gICAgQmFzZUxheW91dFNpZGVCYXJGb290ZXJEaXJlY3RpdmUsXG4gICAgQmFzZUxheW91dFRvcEJhckRpcmVjdGl2ZSxcbiAgICBCYXNlTGF5b3V0TmF2VG9nZ2xlRGlyZWN0aXZlLFxuICAgIEJhc2VMYXlvdXRDb250ZW50SGVhZGVyRGlyZWN0aXZlLFxuICAgIEJhc2VMYXlvdXRDb250ZW50Rm9vdGVyRGlyZWN0aXZlXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUG9ydGFsTW9kdWxlLFxuICAgIFRoZVNlYW1TY3JvbGxiYXJNb2R1bGUsXG4gICAgVGhlU2VhbUljb25Nb2R1bGUsXG4gICAgVGhlU2VhbUJ1dHRvbnNNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFRoZVNlYW1CYXNlTGF5b3V0Q29tcG9uZW50LFxuICAgIEJhc2VMYXlvdXRDb250ZW50RGlyZWN0aXZlLFxuICAgIEJhc2VMYXlvdXRTaWRlQmFyRGlyZWN0aXZlLFxuICAgIEJhc2VMYXlvdXRTaWRlQmFyRm9vdGVyRGlyZWN0aXZlLFxuICAgIEJhc2VMYXlvdXRUb3BCYXJEaXJlY3RpdmUsXG4gICAgQmFzZUxheW91dE5hdlRvZ2dsZURpcmVjdGl2ZSxcbiAgICBCYXNlTGF5b3V0Q29udGVudEhlYWRlckRpcmVjdGl2ZSxcbiAgICBCYXNlTGF5b3V0Q29udGVudEZvb3RlckRpcmVjdGl2ZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRoZVNlYW1CYXNlTGF5b3V0TW9kdWxlIHsgfVxuIl19
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1sYXlvdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9iYXNlLWxheW91dC9iYXNlLWxheW91dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXhDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzNELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRXJFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG1EQUFtRCxDQUFBO0FBQ3BHLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG1EQUFtRCxDQUFBO0FBQ3BHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFBO0FBQ3ZGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtDQUErQyxDQUFBO0FBQzVGLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9EQUFvRCxDQUFBO0FBQ3JHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBQ3hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFBOztBQStCdEYsTUFBTSxPQUFPLHVCQUF1Qjs7b0hBQXZCLHVCQUF1QjtxSEFBdkIsdUJBQXVCLGlCQTNCaEMsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsZ0NBQWdDO1FBQ2hDLHlCQUF5QjtRQUN6Qiw0QkFBNEI7UUFDNUIsZ0NBQWdDO1FBQ2hDLGdDQUFnQyxhQUdoQyxZQUFZO1FBQ1osWUFBWTtRQUNaLHNCQUFzQjtRQUN0QixpQkFBaUI7UUFDakIsb0JBQW9CLGFBR3BCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsMEJBQTBCO1FBQzFCLGdDQUFnQztRQUNoQyx5QkFBeUI7UUFDekIsNEJBQTRCO1FBQzVCLGdDQUFnQztRQUNoQyxnQ0FBZ0M7cUhBR3ZCLHVCQUF1QixZQWpCaEMsWUFBWTtRQUNaLFlBQVk7UUFDWixzQkFBc0I7UUFDdEIsaUJBQWlCO1FBQ2pCLG9CQUFvQjsyRkFhWCx1QkFBdUI7a0JBN0JuQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQixnQ0FBZ0M7d0JBQ2hDLHlCQUF5Qjt3QkFDekIsNEJBQTRCO3dCQUM1QixnQ0FBZ0M7d0JBQ2hDLGdDQUFnQztxQkFDakM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixzQkFBc0I7d0JBQ3RCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsZ0NBQWdDO3dCQUNoQyx5QkFBeUI7d0JBQ3pCLDRCQUE0Qjt3QkFDNUIsZ0NBQWdDO3dCQUNoQyxnQ0FBZ0M7cUJBQ2pDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHsgVGhlU2VhbUJ1dHRvbnNNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vYnV0dG9ucydcbmltcG9ydCB7IFRoZVNlYW1JY29uTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2ljb24nXG5pbXBvcnQgeyBUaGVTZWFtU2Nyb2xsYmFyTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3Njcm9sbGJhcidcblxuaW1wb3J0IHsgVGhlU2VhbUJhc2VMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtbGF5b3V0LmNvbXBvbmVudCdcbmltcG9ydCB7IEJhc2VMYXlvdXRDb250ZW50Rm9vdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LWNvbnRlbnQtZm9vdGVyLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEJhc2VMYXlvdXRDb250ZW50SGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LWNvbnRlbnQtaGVhZGVyLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEJhc2VMYXlvdXRDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LWNvbnRlbnQuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgQmFzZUxheW91dE5hdlRvZ2dsZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9iYXNlLWxheW91dC1uYXYtdG9nZ2xlLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEJhc2VMYXlvdXRTaWRlQmFyRm9vdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LXNpZGUtYmFyLWZvb3Rlci5kaXJlY3RpdmUnXG5pbXBvcnQgeyBCYXNlTGF5b3V0U2lkZUJhckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9iYXNlLWxheW91dC1zaWRlLWJhci5kaXJlY3RpdmUnXG5pbXBvcnQgeyBCYXNlTGF5b3V0VG9wQmFyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jhc2UtbGF5b3V0LXRvcC1iYXIuZGlyZWN0aXZlJ1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBUaGVTZWFtQmFzZUxheW91dENvbXBvbmVudCxcbiAgICBCYXNlTGF5b3V0Q29udGVudERpcmVjdGl2ZSxcbiAgICBCYXNlTGF5b3V0U2lkZUJhckRpcmVjdGl2ZSxcbiAgICBCYXNlTGF5b3V0U2lkZUJhckZvb3RlckRpcmVjdGl2ZSxcbiAgICBCYXNlTGF5b3V0VG9wQmFyRGlyZWN0aXZlLFxuICAgIEJhc2VMYXlvdXROYXZUb2dnbGVEaXJlY3RpdmUsXG4gICAgQmFzZUxheW91dENvbnRlbnRIZWFkZXJEaXJlY3RpdmUsXG4gICAgQmFzZUxheW91dENvbnRlbnRGb290ZXJEaXJlY3RpdmVcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgVGhlU2VhbVNjcm9sbGJhck1vZHVsZSxcbiAgICBUaGVTZWFtSWNvbk1vZHVsZSxcbiAgICBUaGVTZWFtQnV0dG9uc01vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVGhlU2VhbUJhc2VMYXlvdXRDb21wb25lbnQsXG4gICAgQmFzZUxheW91dENvbnRlbnREaXJlY3RpdmUsXG4gICAgQmFzZUxheW91dFNpZGVCYXJEaXJlY3RpdmUsXG4gICAgQmFzZUxheW91dFNpZGVCYXJGb290ZXJEaXJlY3RpdmUsXG4gICAgQmFzZUxheW91dFRvcEJhckRpcmVjdGl2ZSxcbiAgICBCYXNlTGF5b3V0TmF2VG9nZ2xlRGlyZWN0aXZlLFxuICAgIEJhc2VMYXlvdXRDb250ZW50SGVhZGVyRGlyZWN0aXZlLFxuICAgIEJhc2VMYXlvdXRDb250ZW50Rm9vdGVyRGlyZWN0aXZlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVGhlU2VhbUJhc2VMYXlvdXRNb2R1bGUgeyB9XG4iXX0=
@@ -5,9 +5,9 @@ export class BaseLayoutContentFooterDirective {
5
5
  this._elementRef = _elementRef;
6
6
  }
7
7
  }
8
- BaseLayoutContentFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutContentFooterDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- BaseLayoutContentFooterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: BaseLayoutContentFooterDirective, selector: "[seamBaseLayoutContentFooter]", ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutContentFooterDirective, decorators: [{
8
+ BaseLayoutContentFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseLayoutContentFooterDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ BaseLayoutContentFooterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: BaseLayoutContentFooterDirective, selector: "[seamBaseLayoutContentFooter]", ngImport: i0 });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseLayoutContentFooterDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: '[seamBaseLayoutContentFooter]'
@@ -5,9 +5,9 @@ export class BaseLayoutContentHeaderDirective {
5
5
  this._elementRef = _elementRef;
6
6
  }
7
7
  }
8
- BaseLayoutContentHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutContentHeaderDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- BaseLayoutContentHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: BaseLayoutContentHeaderDirective, selector: "[seamBaseLayoutContentHeader]", ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutContentHeaderDirective, decorators: [{
8
+ BaseLayoutContentHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseLayoutContentHeaderDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ BaseLayoutContentHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: BaseLayoutContentHeaderDirective, selector: "[seamBaseLayoutContentHeader]", ngImport: i0 });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseLayoutContentHeaderDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: '[seamBaseLayoutContentHeader]'
@@ -5,9 +5,9 @@ export class BaseLayoutContentDirective {
5
5
  this._elementRef = _elementRef;
6
6
  }
7
7
  }
8
- BaseLayoutContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutContentDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- BaseLayoutContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: BaseLayoutContentDirective, selector: "[seamBaseLayoutContent]", ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutContentDirective, decorators: [{
8
+ BaseLayoutContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseLayoutContentDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ BaseLayoutContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: BaseLayoutContentDirective, selector: "[seamBaseLayoutContent]", ngImport: i0 });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseLayoutContentDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: '[seamBaseLayoutContent]'
@@ -19,9 +19,9 @@ export class BaseLayoutNavToggleDirective {
19
19
  this.baseLayout = _baseLayout;
20
20
  }
21
21
  }
22
- BaseLayoutNavToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutNavToggleDirective, deps: [{ token: THESEAM_BASE_LAYOUT_REF, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
23
- BaseLayoutNavToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: BaseLayoutNavToggleDirective, selector: "button[seamBaseLayoutNavToggle]", inputs: { type: "type", ariaLabel: ["aria-label", "ariaLabel"] }, host: { listeners: { "click": "_onClick()" }, properties: { "attr.type": "this._attrType", "attr.aria-label": "this._attrAriaLabel" } }, exportAs: ["seamBaseLayoutNavToggle"], ngImport: i0 });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutNavToggleDirective, decorators: [{
22
+ BaseLayoutNavToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseLayoutNavToggleDirective, deps: [{ token: THESEAM_BASE_LAYOUT_REF, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
23
+ BaseLayoutNavToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: BaseLayoutNavToggleDirective, selector: "button[seamBaseLayoutNavToggle]", inputs: { type: "type", ariaLabel: ["aria-label", "ariaLabel"] }, host: { listeners: { "click": "_onClick()" }, properties: { "attr.type": "this._attrType", "attr.aria-label": "this._attrAriaLabel" } }, exportAs: ["seamBaseLayoutNavToggle"], ngImport: i0 });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseLayoutNavToggleDirective, decorators: [{
25
25
  type: Directive,
26
26
  args: [{
27
27
  selector: 'button[seamBaseLayoutNavToggle]',
@@ -5,9 +5,9 @@ export class BaseLayoutSideBarFooterDirective {
5
5
  this._elementRef = _elementRef;
6
6
  }
7
7
  }
8
- BaseLayoutSideBarFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutSideBarFooterDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- BaseLayoutSideBarFooterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: BaseLayoutSideBarFooterDirective, selector: "[seamBaseLayoutSideBarFooter]", ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutSideBarFooterDirective, decorators: [{
8
+ BaseLayoutSideBarFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseLayoutSideBarFooterDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ BaseLayoutSideBarFooterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: BaseLayoutSideBarFooterDirective, selector: "[seamBaseLayoutSideBarFooter]", ngImport: i0 });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseLayoutSideBarFooterDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: '[seamBaseLayoutSideBarFooter]'
@@ -5,9 +5,9 @@ export class BaseLayoutSideBarDirective {
5
5
  this._elementRef = _elementRef;
6
6
  }
7
7
  }
8
- BaseLayoutSideBarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutSideBarDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- BaseLayoutSideBarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: BaseLayoutSideBarDirective, selector: "[seamBaseLayoutSideBar]", ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutSideBarDirective, decorators: [{
8
+ BaseLayoutSideBarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseLayoutSideBarDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ BaseLayoutSideBarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: BaseLayoutSideBarDirective, selector: "[seamBaseLayoutSideBar]", ngImport: i0 });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseLayoutSideBarDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: '[seamBaseLayoutSideBar]'
@@ -5,9 +5,9 @@ export class BaseLayoutTopBarDirective {
5
5
  this._elementRef = _elementRef;
6
6
  }
7
7
  }
8
- BaseLayoutTopBarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutTopBarDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- BaseLayoutTopBarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: BaseLayoutTopBarDirective, selector: "[seamBaseLayoutTopBar]", ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: BaseLayoutTopBarDirective, decorators: [{
8
+ BaseLayoutTopBarDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseLayoutTopBarDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ BaseLayoutTopBarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: BaseLayoutTopBarDirective, selector: "[seamBaseLayoutTopBar]", ngImport: i0 });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseLayoutTopBarDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: '[seamBaseLayoutTopBar]'
@@ -1,18 +1,16 @@
1
1
  import { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewChild } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class DashboardWidgetContainerComponent {
4
- constructor() { }
5
- ngOnInit() { }
6
4
  }
7
- DashboardWidgetContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DashboardWidgetContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
- DashboardWidgetContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: DashboardWidgetContainerComponent, selector: "seam-dashboard-widget-container", inputs: { def: "def" }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template><ng-content></ng-content></ng-template>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DashboardWidgetContainerComponent, decorators: [{
5
+ DashboardWidgetContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DashboardWidgetContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ DashboardWidgetContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DashboardWidgetContainerComponent, selector: "seam-dashboard-widget-container", inputs: { def: "def" }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template><ng-content></ng-content></ng-template>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DashboardWidgetContainerComponent, decorators: [{
10
8
  type: Component,
11
9
  args: [{ selector: 'seam-dashboard-widget-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template><ng-content></ng-content></ng-template>\n" }]
12
- }], ctorParameters: function () { return []; }, propDecorators: { def: [{
10
+ }], propDecorators: { def: [{
13
11
  type: Input
14
12
  }], templateRef: [{
15
13
  type: ViewChild,
16
14
  args: [TemplateRef]
17
15
  }] } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXdpZGdldC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9kYXNoYm9hcmQvZGFzaGJvYXJkLXdpZGdldC1jb250YWluZXIvZGFzaGJvYXJkLXdpZGdldC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9kYXNoYm9hcmQvZGFzaGJvYXJkLXdpZGdldC1jb250YWluZXIvZGFzaGJvYXJkLXdpZGdldC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTs7QUFVekcsTUFBTSxPQUFPLGlDQUFpQztJQU01QyxnQkFBZ0IsQ0FBQztJQUVqQixRQUFRLEtBQUssQ0FBQzs7OEhBUkgsaUNBQWlDO2tIQUFqQyxpQ0FBaUMsNElBSWpDLFdBQVcsZ0RDZHhCLHdEQUNBOzJGRFNhLGlDQUFpQztrQkFON0MsU0FBUzsrQkFDRSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU07MEVBSXRDLEdBQUc7c0JBQVgsS0FBSztnQkFFa0IsV0FBVztzQkFBbEMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB0eXBlIHsgSURhc2hib2FyZFdpZGdldHNJdGVtRGVmIH0gZnJvbSAnLi4vZGFzaGJvYXJkLXdpZGdldHMvZGFzaGJvYXJkLXdpZGdldHMtaXRlbSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VhbS1kYXNoYm9hcmQtd2lkZ2V0LWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXNoYm9hcmQtd2lkZ2V0LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rhc2hib2FyZC13aWRnZXQtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERhc2hib2FyZFdpZGdldENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgZGVmOiBJRGFzaGJvYXJkV2lkZ2V0c0l0ZW1EZWYgfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZikgdGVtcGxhdGVSZWY/OiBUZW1wbGF0ZVJlZjxhbnk+XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHsgfVxuXG59XG4iLCI8bmctdGVtcGxhdGU+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvbmctdGVtcGxhdGU+XG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXdpZGdldC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9kYXNoYm9hcmQvZGFzaGJvYXJkLXdpZGdldC1jb250YWluZXIvZGFzaGJvYXJkLXdpZGdldC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2ZyYW1ld29yay9kYXNoYm9hcmQvZGFzaGJvYXJkLXdpZGdldC1jb250YWluZXIvZGFzaGJvYXJkLXdpZGdldC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTs7QUFVakcsTUFBTSxPQUFPLGlDQUFpQzs7OEhBQWpDLGlDQUFpQztrSEFBakMsaUNBQWlDLDRJQUlqQyxXQUFXLGdEQ2R4Qix3REFDQTsyRkRTYSxpQ0FBaUM7a0JBTjdDLFNBQVM7K0JBQ0UsaUNBQWlDLG1CQUcxQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUl0QyxHQUFHO3NCQUFYLEtBQUs7Z0JBRWtCLFdBQVc7c0JBQWxDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHR5cGUgeyBJRGFzaGJvYXJkV2lkZ2V0c0l0ZW1EZWYgfSBmcm9tICcuLi9kYXNoYm9hcmQtd2lkZ2V0cy9kYXNoYm9hcmQtd2lkZ2V0cy1pdGVtJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLWRhc2hib2FyZC13aWRnZXQtY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rhc2hib2FyZC13aWRnZXQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGFzaGJvYXJkLXdpZGdldC1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRGFzaGJvYXJkV2lkZ2V0Q29udGFpbmVyQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBkZWY6IElEYXNoYm9hcmRXaWRnZXRzSXRlbURlZiB8IHVuZGVmaW5lZCB8IG51bGxcblxuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKSB0ZW1wbGF0ZVJlZj86IFRlbXBsYXRlUmVmPGFueT5cblxufVxuIiwiPG5nLXRlbXBsYXRlPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L25nLXRlbXBsYXRlPlxuIl19