@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
@@ -22,29 +22,29 @@ export class TableCellTypeDecimalComponent {
22
22
  tableData.changed
23
23
  .pipe(takeUntil(this._ngUnsubscribe))
24
24
  .subscribe(v => {
25
- if (v.changes.hasOwnProperty('value')) {
25
+ if (Object.prototype.hasOwnProperty.call(v.changes, 'value')) {
26
26
  this.value = this._formatDecimal(v.changes.value.currentValue, tableData);
27
27
  this._cdf.markForCheck();
28
28
  }
29
- if (v.changes.hasOwnProperty('colData')) {
29
+ if (Object.prototype.hasOwnProperty.call(v.changes, 'colData')) {
30
30
  this.colData = v.changes.colData.currentValue;
31
31
  this._cdf.markForCheck();
32
32
  }
33
33
  });
34
34
  }
35
35
  }
36
- ngOnInit() { }
37
36
  ngOnDestroy() {
38
37
  this._ngUnsubscribe.next(undefined);
39
38
  this._ngUnsubscribe.complete();
40
39
  }
41
40
  _formatDecimal(currentValue, tableData) {
42
41
  const config = tableData?.colData?.cellTypeConfig;
43
- const defaultToEmpty = notNullOrUndefined(config?.defaultToEmpty) ?
44
- this._parseConfigValue(coerceBooleanProperty(config?.defaultToEmpty), tableData) : true;
45
- const formatDecimal = notNullOrUndefined(config?.formatNumber) ?
46
- this._parseConfigValue(coerceBooleanProperty(config?.formatNumber), tableData) : true;
47
- const valueIsNumeric = isNumeric(currentValue);
42
+ const defaultToEmpty = notNullOrUndefined(config?.defaultToEmpty)
43
+ ? this._parseConfigValue(coerceBooleanProperty(config?.defaultToEmpty), tableData) : true;
44
+ const formatDecimal = notNullOrUndefined(config?.formatNumber)
45
+ ? this._parseConfigValue(coerceBooleanProperty(config?.formatNumber), tableData) : true;
46
+ let _currentValue = currentValue;
47
+ const valueIsNumeric = isNumeric(_currentValue);
48
48
  // unparseable values are OK to return as long as we're not trying to format them
49
49
  if (!valueIsNumeric && formatDecimal) {
50
50
  if (defaultToEmpty) {
@@ -53,7 +53,7 @@ export class TableCellTypeDecimalComponent {
53
53
  }
54
54
  else {
55
55
  // set non-numeric value to 0 so it can be formatted the same as other numbers
56
- currentValue = 0;
56
+ _currentValue = 0;
57
57
  }
58
58
  }
59
59
  const locale = this._parseConfigValue(config?.locale, tableData) || 'en-US';
@@ -61,16 +61,16 @@ export class TableCellTypeDecimalComponent {
61
61
  const minFractionDigits = this._parseConfigValue(config?.minFractionDigits, tableData) || 0;
62
62
  const maxFractionDigits = this._parseConfigValue(config?.maxFractionDigits, tableData) || 3;
63
63
  const format = `${minIntegerDigits}.${minFractionDigits}-${maxFractionDigits}`;
64
- return formatDecimal ? formatNumber(currentValue, locale, format) : currentValue;
64
+ return formatDecimal ? formatNumber(_currentValue, locale, format) : _currentValue;
65
65
  }
66
66
  _parseConfigValue(val, tableData) {
67
67
  const contextFn = () => this._tableCellTypeHelpers.getValueContext(val, tableData);
68
68
  return this._tableCellTypeHelpers.parseValueProp(val, contextFn);
69
69
  }
70
70
  }
71
- TableCellTypeDecimalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TableCellTypeDecimalComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TableCellTypesHelpersService }, { token: TABLE_CELL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
72
- TableCellTypeDecimalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: TableCellTypeDecimalComponent, selector: "seam-table-cell-type-decimal", inputs: { value: "value" }, ngImport: i0, template: "<div [class]=\"'text-' + textAlign\">\n <seam-table-cell-type-selector\n type=\"string\"\n [value]=\"value\"\n [rowIndex]=\"rowIndex\"\n [row]=\"row\"\n [colData]=\"colData\"></seam-table-cell-type-selector>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.TableCellTypeSelectorComponent, selector: "seam-table-cell-type-selector", inputs: ["type", "value", "rowIndex", "row", "colData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TableCellTypeDecimalComponent, decorators: [{
71
+ TableCellTypeDecimalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableCellTypeDecimalComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TableCellTypesHelpersService }, { token: TABLE_CELL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
72
+ TableCellTypeDecimalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableCellTypeDecimalComponent, selector: "seam-table-cell-type-decimal", inputs: { value: "value" }, ngImport: i0, template: "<div [class]=\"'text-' + textAlign\">\n <seam-table-cell-type-selector\n type=\"string\"\n [value]=\"value\"\n [rowIndex]=\"rowIndex\"\n [row]=\"row\"\n [colData]=\"colData\"></seam-table-cell-type-selector>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.TableCellTypeSelectorComponent, selector: "seam-table-cell-type-selector", inputs: ["type", "value", "rowIndex", "row", "colData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableCellTypeDecimalComponent, decorators: [{
74
74
  type: Component,
75
75
  args: [{ selector: 'seam-table-cell-type-decimal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"'text-' + textAlign\">\n <seam-table-cell-type-selector\n type=\"string\"\n [value]=\"value\"\n [rowIndex]=\"rowIndex\"\n [row]=\"row\"\n [colData]=\"colData\"></seam-table-cell-type-selector>\n</div>\n" }]
76
76
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.TableCellTypesHelpersService }, { type: undefined, decorators: [{
@@ -81,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
81
81
  }] }]; }, propDecorators: { value: [{
82
82
  type: Input
83
83
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC10eXBlLWRlY2ltYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZXMvdGFibGUtY2VsbC10eXBlLWRlY2ltYWwvdGFibGUtY2VsbC10eXBlLWRlY2ltYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZXMvdGFibGUtY2VsbC10eXBlLWRlY2ltYWwvdGFibGUtY2VsbC10eXBlLWRlY2ltYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNqSSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzlCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUxQyxPQUFPLEVBQWdDLGVBQWUsRUFBc0IsTUFBTSxvQ0FBb0MsQ0FBQTtBQUV0SCxPQUFPLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7OztBQVM3RCxNQUFNLE9BQU8sNkJBQTZCO0lBV3hDLFlBQ1UsSUFBdUIsRUFDdkIscUJBQW1ELEVBQ3RCLFVBQWlFO1FBRjlGLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3ZCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBOEI7UUFYNUMsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFBO1FBY25ELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQTtRQUM1QixJQUFJ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QWdCLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3pGLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDM0YsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMzRixNQUFNLE1BQU0sR0FBRyxHQUFJLGdCQUFpQixJQUFLLGlCQUFrQixJQUFLLGlCQUFrQixFQUFFLENBQUE7UUFFcEYsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUE7SUFDbEYsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEdBQVMsRUFBRSxTQUFnRTtRQUNuRyxNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQTtRQUNsRixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ2xFLENBQUM7OzBIQTlFVSw2QkFBNkIsK0ZBY2xCLGVBQWU7OEdBZDFCLDZCQUE2QixnR0NsQjFDLDJPQVFBOzJGRFVhLDZCQUE2QjtrQkFOekMsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU07OzBCQWdCNUMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxlQUFlOzRDQVY1QixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3JtYXROdW1iZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IFRhYmxlQ2VsbFR5cGVzSGVscGVyc1NlcnZpY2UsIFRBQkxFX0NFTExfREFUQSwgVGhlU2VhbVRhYmxlQ29sdW1uIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZSdcbmltcG9ydCB0eXBlIHsgVGFibGVDZWxsRGF0YSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGUnXG5pbXBvcnQgeyBpc051bWVyaWMsIG5vdE51bGxPclVuZGVmaW5lZCB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi91dGlscydcblxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJ1xuaW1wb3J0IHsgVGFibGVDZWxsVHlwZUNvbmZpZ0RlY2ltYWwgfSBmcm9tICcuL3RhYmxlLWNlbGwtdHlwZS1kZWNpbWFsLWNvbmZpZydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VhbS10YWJsZS1jZWxsLXR5cGUtZGVjaW1hbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1jZWxsLXR5cGUtZGVjaW1hbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLWNlbGwtdHlwZS1kZWNpbWFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ2VsbFR5cGVEZWNpbWFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpXG5cbiAgQElucHV0KCkgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGxcblxuICByb3c/OiBhbnlcbiAgcm93SW5kZXg/OiBudW1iZXJcbiAgY29sRGF0YT86IFRoZVNlYW1UYWJsZUNvbHVtbjwnZGVjaW1hbCcsIFRhYmxlQ2VsbFR5cGVDb25maWdEZWNpbWFsPlxuICB0ZXh0QWxpZ24/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCdcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jZGY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgX3RhYmxlQ2VsbFR5cGVIZWxwZXJzOiBUYWJsZUNlbGxUeXBlc0hlbHBlcnNTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVEFCTEVfQ0VMTF9EQVRBKSBfdGFibGVEYXRhPzogVGFibGVDZWxsRGF0YTwnZGVjaW1hbCcsIFRhYmxlQ2VsbFR5cGVDb25maWdEZWNpbWFsPlxuICApIHtcbiAgICBjb25zdCB0YWJsZURhdGEgPSBfdGFibGVEYXRhXG4gICAgdGhpcy52YWx1ZSA9IHRhYmxlRGF0YSAmJiB0aGlzLl9mb3JtYXREZWNpbWFsKHRhYmxlRGF0YS52YWx1ZSwgdGFibGVEYXRhKVxuICAgIHRoaXMucm93ID0gdGFibGVEYXRhICYmIHRhYmxlRGF0YS5yb3dcbiAgICB0aGlzLnJvd0luZGV4ID0gdGFibGVEYXRhICYmIHRhYmxlRGF0YS5yb3dJbmRleFxuICAgIHRoaXMuY29sRGF0YSA9IHRhYmxlRGF0YSAmJiB0YWJsZURhdGEuY29sRGF0YVxuICAgIHRoaXMudGV4dEFsaWduID0gdGhpcy5fcGFyc2VDb25maWdWYWx1ZSh0YWJsZURhdGE/LmNvbERhdGE/LmNlbGxUeXBlQ29uZmlnPy50ZXh0QWxpZ24sIHRhYmxlRGF0YSkgfHwgJ3JpZ2h0J1xuXG4gICAgaWYgKHRhYmxlRGF0YSkge1xuICAgICAgdGFibGVEYXRhLmNoYW5nZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgICAgIGlmICh2LmNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLl9mb3JtYXREZWNpbWFsKHYuY2hhbmdlcy52YWx1ZS5jdXJyZW50VmFsdWUsIHRhYmxlRGF0YSlcbiAgICAgICAgICAgIHRoaXMuX2NkZi5tYXJrRm9yQ2hlY2soKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh2LmNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ2NvbERhdGEnKSkge1xuICAgICAgICAgICAgdGhpcy5jb2xEYXRhID0gdi5jaGFuZ2VzLmNvbERhdGEuY3VycmVudFZhbHVlXG4gICAgICAgICAgICB0aGlzLl9jZGYubWFya0ZvckNoZWNrKClcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX25nVW5zdWJzY3JpYmUubmV4dCh1bmRlZmluZWQpXG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpXG4gIH1cblxuICBwcml2YXRlIF9mb3JtYXREZWNpbWFsKGN1cnJlbnRWYWx1ZT86IGFueSwgdGFibGVEYXRhPzogVGFibGVDZWxsRGF0YTwnZGVjaW1hbCcsIFRhYmxlQ2VsbFR5cGVDb25maWdEZWNpbWFsPiB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gICAgY29uc3QgY29uZmlnID0gdGFibGVEYXRhPy5jb2xEYXRhPy5jZWxsVHlwZUNvbmZpZ1xuICAgIGNvbnN0IGRlZmF1bHRUb0VtcHR5ID0gbm90TnVsbE9yVW5kZWZpbmVkKGNvbmZpZz8uZGVmYXVsdFRvRW1wdHkpID9cbiAgICAgIHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUoY29lcmNlQm9vbGVhblByb3BlcnR5KGNvbmZpZz8uZGVmYXVsdFRvRW1wdHkpLCB0YWJsZURhdGEpIDogdHJ1ZVxuICAgIGNvbnN0IGZvcm1hdERlY2ltYWwgPSBub3ROdWxsT3JVbmRlZmluZWQoY29uZmlnPy5mb3JtYXROdW1iZXIpID9cbiAgICAgIHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUoY29lcmNlQm9vbGVhblByb3BlcnR5KGNvbmZpZz8uZm9ybWF0TnVtYmVyKSwgdGFibGVEYXRhKSA6IHRydWVcbiAgICBjb25zdCB2YWx1ZUlzTnVtZXJpYyA9IGlzTnVtZXJpYyhjdXJyZW50VmFsdWUpXG5cbiAgICAvLyB1bnBhcnNlYWJsZSB2YWx1ZXMgYXJlIE9LIHRvIHJldHVybiBhcyBsb25nIGFzIHdlJ3JlIG5vdCB0cnlpbmcgdG8gZm9ybWF0IHRoZW1cbiAgICBpZiAoIXZhbHVlSXNOdW1lcmljICYmIGZvcm1hdERlY2ltYWwpIHtcbiAgICAgIGlmIChkZWZhdWx0VG9FbXB0eSkge1xuICAgICAgICAvLyByZXR1cm4gZW1wdHkgc3RyaW5nIGluc3RlYWQgb2YgMCB3aGVuIGN1cnJlbnRWYWx1ZSBpcyBlbXB0eSBvciB1bnBhcnNlYWJsZVxuICAgICAgICByZXR1cm4gJydcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHNldCBub24tbnVtZXJpYyB2YWx1ZSB0byAwIHNvIGl0IGNhbiBiZSBmb3JtYXR0ZWQgdGhlIHNhbWUgYXMgb3RoZXIgbnVtYmVyc1xuICAgICAgICBjdXJyZW50VmFsdWUgPSAwXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbG9jYWxlID0gdGhpcy5fcGFyc2VDb25maWdWYWx1ZShjb25maWc/LmxvY2FsZSwgdGFibGVEYXRhKSB8fCAnZW4tVVMnXG4gICAgY29uc3QgbWluSW50ZWdlckRpZ2l0cyA9IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUoY29uZmlnPy5taW5JbnRlZ2VyRGlnaXRzLCB0YWJsZURhdGEpIHx8IDFcbiAgICBjb25zdCBtaW5GcmFjdGlvbkRpZ2l0cyA9IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUoY29uZmlnPy5taW5GcmFjdGlvbkRpZ2l0cywgdGFibGVEYXRhKSB8fCAwXG4gICAgY29uc3QgbWF4RnJhY3Rpb25EaWdpdHMgPSB0aGlzLl9wYXJzZUNvbmZpZ1ZhbHVlKGNvbmZpZz8ubWF4RnJhY3Rpb25EaWdpdHMsIHRhYmxlRGF0YSkgfHwgM1xuICAgIGNvbnN0IGZvcm1hdCA9IGAkeyBtaW5JbnRlZ2VyRGlnaXRzIH0uJHsgbWluRnJhY3Rpb25EaWdpdHMgfS0keyBtYXhGcmFjdGlvbkRpZ2l0cyB9YFxuXG4gICAgcmV0dXJuIGZvcm1hdERlY2ltYWwgPyBmb3JtYXROdW1iZXIoY3VycmVudFZhbHVlLCBsb2NhbGUsIGZvcm1hdCkgOiBjdXJyZW50VmFsdWVcbiAgfVxuXG4gIHByaXZhdGUgX3BhcnNlQ29uZmlnVmFsdWUodmFsPzogYW55LCB0YWJsZURhdGE/OiBUYWJsZUNlbGxEYXRhPCdkZWNpbWFsJywgVGFibGVDZWxsVHlwZUNvbmZpZ0RlY2ltYWw+KSB7XG4gICAgY29uc3QgY29udGV4dEZuID0gKCkgPT4gdGhpcy5fdGFibGVDZWxsVHlwZUhlbHBlcnMuZ2V0VmFsdWVDb250ZXh0KHZhbCwgdGFibGVEYXRhKVxuICAgIHJldHVybiB0aGlzLl90YWJsZUNlbGxUeXBlSGVscGVycy5wYXJzZVZhbHVlUHJvcCh2YWwsIGNvbnRleHRGbilcbiAgfVxuXG59XG4iLCI8ZGl2IFtjbGFzc109XCIndGV4dC0nICsgdGV4dEFsaWduXCI+XG4gIDxzZWFtLXRhYmxlLWNlbGwtdHlwZS1zZWxlY3RvclxuICAgIHR5cGU9XCJzdHJpbmdcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgW3Jvd0luZGV4XT1cInJvd0luZGV4XCJcbiAgICBbcm93XT1cInJvd1wiXG4gICAgW2NvbERhdGFdPVwiY29sRGF0YVwiPjwvc2VhbS10YWJsZS1jZWxsLXR5cGUtc2VsZWN0b3I+XG48L2Rpdj5cbiJdfQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC10eXBlLWRlY2ltYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZXMvdGFibGUtY2VsbC10eXBlLWRlY2ltYWwvdGFibGUtY2VsbC10eXBlLWRlY2ltYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZXMvdGFibGUtY2VsbC10eXBlLWRlY2ltYWwvdGFibGUtY2VsbC10eXBlLWRlY2ltYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3pILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRTFDLE9BQU8sRUFBZ0MsZUFBZSxFQUFzQixNQUFNLG9DQUFvQyxDQUFBO0FBRXRILE9BQU8sRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUV4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTs7O0FBUzdELE1BQU0sT0FBTyw2QkFBNkI7SUFXeEMsWUFDVSxJQUF1QixFQUN2QixxQkFBbUQsRUFDdEIsVUFBaUU7UUFGOUYsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDdkIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUE4QjtRQVg1QyxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUE7UUFjbkQsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFBO1FBQzVCLElBQUks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YXIvY29tbW9uJ1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHsgVGFibGVDZWxsVHlwZXNIZWxwZXJzU2VydmljZSwgVEFCTEVfQ0VMTF9EQVRBLCBUaGVTZWFtVGFibGVDb2x1bW4gfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdGFibGUtY2VsbC10eXBlJ1xuaW1wb3J0IHR5cGUgeyBUYWJsZUNlbGxEYXRhIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZSdcbmltcG9ydCB7IGlzTnVtZXJpYywgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3V0aWxzJ1xuXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nXG5pbXBvcnQgeyBUYWJsZUNlbGxUeXBlQ29uZmlnRGVjaW1hbCB9IGZyb20gJy4vdGFibGUtY2VsbC10eXBlLWRlY2ltYWwtY29uZmlnJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLXRhYmxlLWNlbGwtdHlwZS1kZWNpbWFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWNlbGwtdHlwZS1kZWNpbWFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY2VsbC10eXBlLWRlY2ltYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDZWxsVHlwZURlY2ltYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpXG5cbiAgQElucHV0KCkgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGxcblxuICByb3c/OiBhbnlcbiAgcm93SW5kZXg/OiBudW1iZXJcbiAgY29sRGF0YT86IFRoZVNlYW1UYWJsZUNvbHVtbjwnZGVjaW1hbCcsIFRhYmxlQ2VsbFR5cGVDb25maWdEZWNpbWFsPlxuICB0ZXh0QWxpZ24/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCdcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jZGY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgX3RhYmxlQ2VsbFR5cGVIZWxwZXJzOiBUYWJsZUNlbGxUeXBlc0hlbHBlcnNTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVEFCTEVfQ0VMTF9EQVRBKSBfdGFibGVEYXRhPzogVGFibGVDZWxsRGF0YTwnZGVjaW1hbCcsIFRhYmxlQ2VsbFR5cGVDb25maWdEZWNpbWFsPlxuICApIHtcbiAgICBjb25zdCB0YWJsZURhdGEgPSBfdGFibGVEYXRhXG4gICAgdGhpcy52YWx1ZSA9IHRhYmxlRGF0YSAmJiB0aGlzLl9mb3JtYXREZWNpbWFsKHRhYmxlRGF0YS52YWx1ZSwgdGFibGVEYXRhKVxuICAgIHRoaXMucm93ID0gdGFibGVEYXRhICYmIHRhYmxlRGF0YS5yb3dcbiAgICB0aGlzLnJvd0luZGV4ID0gdGFibGVEYXRhICYmIHRhYmxlRGF0YS5yb3dJbmRleFxuICAgIHRoaXMuY29sRGF0YSA9IHRhYmxlRGF0YSAmJiB0YWJsZURhdGEuY29sRGF0YVxuICAgIHRoaXMudGV4dEFsaWduID0gdGhpcy5fcGFyc2VDb25maWdWYWx1ZSh0YWJsZURhdGE/LmNvbERhdGE/LmNlbGxUeXBlQ29uZmlnPy50ZXh0QWxpZ24sIHRhYmxlRGF0YSkgfHwgJ3JpZ2h0J1xuXG4gICAgaWYgKHRhYmxlRGF0YSkge1xuICAgICAgdGFibGVEYXRhLmNoYW5nZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodi5jaGFuZ2VzLCAndmFsdWUnKSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuX2Zvcm1hdERlY2ltYWwodi5jaGFuZ2VzLnZhbHVlLmN1cnJlbnRWYWx1ZSwgdGFibGVEYXRhKVxuICAgICAgICAgICAgdGhpcy5fY2RmLm1hcmtGb3JDaGVjaygpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2LmNoYW5nZXMsICdjb2xEYXRhJykpIHtcbiAgICAgICAgICAgIHRoaXMuY29sRGF0YSA9IHYuY2hhbmdlcy5jb2xEYXRhLmN1cnJlbnRWYWx1ZVxuICAgICAgICAgICAgdGhpcy5fY2RmLm1hcmtGb3JDaGVjaygpXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX25nVW5zdWJzY3JpYmUubmV4dCh1bmRlZmluZWQpXG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpXG4gIH1cblxuICBwcml2YXRlIF9mb3JtYXREZWNpbWFsKGN1cnJlbnRWYWx1ZT86IGFueSwgdGFibGVEYXRhPzogVGFibGVDZWxsRGF0YTwnZGVjaW1hbCcsIFRhYmxlQ2VsbFR5cGVDb25maWdEZWNpbWFsPiB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gICAgY29uc3QgY29uZmlnID0gdGFibGVEYXRhPy5jb2xEYXRhPy5jZWxsVHlwZUNvbmZpZ1xuICAgIGNvbnN0IGRlZmF1bHRUb0VtcHR5ID0gbm90TnVsbE9yVW5kZWZpbmVkKGNvbmZpZz8uZGVmYXVsdFRvRW1wdHkpXG4gICAgICA/IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUoY29lcmNlQm9vbGVhblByb3BlcnR5KGNvbmZpZz8uZGVmYXVsdFRvRW1wdHkpLCB0YWJsZURhdGEpIDogdHJ1ZVxuICAgIGNvbnN0IGZvcm1hdERlY2ltYWwgPSBub3ROdWxsT3JVbmRlZmluZWQoY29uZmlnPy5mb3JtYXROdW1iZXIpXG4gICAgICA/IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUoY29lcmNlQm9vbGVhblByb3BlcnR5KGNvbmZpZz8uZm9ybWF0TnVtYmVyKSwgdGFibGVEYXRhKSA6IHRydWVcbiAgICBsZXQgX2N1cnJlbnRWYWx1ZSA9IGN1cnJlbnRWYWx1ZVxuICAgIGNvbnN0IHZhbHVlSXNOdW1lcmljID0gaXNOdW1lcmljKF9jdXJyZW50VmFsdWUpXG5cbiAgICAvLyB1bnBhcnNlYWJsZSB2YWx1ZXMgYXJlIE9LIHRvIHJldHVybiBhcyBsb25nIGFzIHdlJ3JlIG5vdCB0cnlpbmcgdG8gZm9ybWF0IHRoZW1cbiAgICBpZiAoIXZhbHVlSXNOdW1lcmljICYmIGZvcm1hdERlY2ltYWwpIHtcbiAgICAgIGlmIChkZWZhdWx0VG9FbXB0eSkge1xuICAgICAgICAvLyByZXR1cm4gZW1wdHkgc3RyaW5nIGluc3RlYWQgb2YgMCB3aGVuIGN1cnJlbnRWYWx1ZSBpcyBlbXB0eSBvciB1bnBhcnNlYWJsZVxuICAgICAgICByZXR1cm4gJydcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHNldCBub24tbnVtZXJpYyB2YWx1ZSB0byAwIHNvIGl0IGNhbiBiZSBmb3JtYXR0ZWQgdGhlIHNhbWUgYXMgb3RoZXIgbnVtYmVyc1xuICAgICAgICBfY3VycmVudFZhbHVlID0gMFxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGxvY2FsZSA9IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUoY29uZmlnPy5sb2NhbGUsIHRhYmxlRGF0YSkgfHwgJ2VuLVVTJ1xuICAgIGNvbnN0IG1pbkludGVnZXJEaWdpdHMgPSB0aGlzLl9wYXJzZUNvbmZpZ1ZhbHVlKGNvbmZpZz8ubWluSW50ZWdlckRpZ2l0cywgdGFibGVEYXRhKSB8fCAxXG4gICAgY29uc3QgbWluRnJhY3Rpb25EaWdpdHMgPSB0aGlzLl9wYXJzZUNvbmZpZ1ZhbHVlKGNvbmZpZz8ubWluRnJhY3Rpb25EaWdpdHMsIHRhYmxlRGF0YSkgfHwgMFxuICAgIGNvbnN0IG1heEZyYWN0aW9uRGlnaXRzID0gdGhpcy5fcGFyc2VDb25maWdWYWx1ZShjb25maWc/Lm1heEZyYWN0aW9uRGlnaXRzLCB0YWJsZURhdGEpIHx8IDNcbiAgICBjb25zdCBmb3JtYXQgPSBgJHttaW5JbnRlZ2VyRGlnaXRzfS4ke21pbkZyYWN0aW9uRGlnaXRzfS0ke21heEZyYWN0aW9uRGlnaXRzfWBcblxuICAgIHJldHVybiBmb3JtYXREZWNpbWFsID8gZm9ybWF0TnVtYmVyKF9jdXJyZW50VmFsdWUsIGxvY2FsZSwgZm9ybWF0KSA6IF9jdXJyZW50VmFsdWVcbiAgfVxuXG4gIHByaXZhdGUgX3BhcnNlQ29uZmlnVmFsdWUodmFsPzogYW55LCB0YWJsZURhdGE/OiBUYWJsZUNlbGxEYXRhPCdkZWNpbWFsJywgVGFibGVDZWxsVHlwZUNvbmZpZ0RlY2ltYWw+KSB7XG4gICAgY29uc3QgY29udGV4dEZuID0gKCkgPT4gdGhpcy5fdGFibGVDZWxsVHlwZUhlbHBlcnMuZ2V0VmFsdWVDb250ZXh0KHZhbCwgdGFibGVEYXRhKVxuICAgIHJldHVybiB0aGlzLl90YWJsZUNlbGxUeXBlSGVscGVycy5wYXJzZVZhbHVlUHJvcCh2YWwsIGNvbnRleHRGbilcbiAgfVxuXG59XG4iLCI8ZGl2IFtjbGFzc109XCIndGV4dC0nICsgdGV4dEFsaWduXCI+XG4gIDxzZWFtLXRhYmxlLWNlbGwtdHlwZS1zZWxlY3RvclxuICAgIHR5cGU9XCJzdHJpbmdcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgW3Jvd0luZGV4XT1cInJvd0luZGV4XCJcbiAgICBbcm93XT1cInJvd1wiXG4gICAgW2NvbERhdGFdPVwiY29sRGF0YVwiPjwvc2VhbS10YWJsZS1jZWxsLXR5cGUtc2VsZWN0b3I+XG48L2Rpdj5cbiJdfQ==
@@ -69,12 +69,12 @@ export class TableCellTypeIconComponent {
69
69
  _data.changed
70
70
  .pipe(takeUntil(this._ngUnsubscribe))
71
71
  .subscribe(v => {
72
- if (v.changes.hasOwnProperty('value')) {
72
+ if (Object.prototype.hasOwnProperty.call(v.changes, 'value')) {
73
73
  this.value = v.changes.value.currentValue;
74
74
  this.config = this._config;
75
75
  this._cdf.markForCheck();
76
76
  }
77
- if (v.changes.hasOwnProperty('colData')) {
77
+ if (Object.prototype.hasOwnProperty.call(v.changes, 'colData')) {
78
78
  const colData = v.changes.colData.currentValue;
79
79
  if (colData && colData.cellTypeConfig !== this.config) {
80
80
  this.config = colData.cellTypeConfig;
@@ -85,15 +85,13 @@ export class TableCellTypeIconComponent {
85
85
  this._cdf.markForCheck();
86
86
  }
87
87
  else {
88
- if (v.changes.hasOwnProperty('row')) {
89
- this.config = this.config;
88
+ if (Object.prototype.hasOwnProperty.call(v.changes, 'row')) {
90
89
  this._cdf.markForCheck();
91
90
  }
92
91
  }
93
92
  });
94
93
  }
95
94
  }
96
- ngOnInit() { }
97
95
  ngOnDestroy() {
98
96
  this._ngUnsubscribe.next(undefined);
99
97
  this._ngUnsubscribe.complete();
@@ -138,7 +136,9 @@ export class TableCellTypeIconComponent {
138
136
  if (this._buttonAction && this._buttonAction.type === 'modal') {
139
137
  const contextFn = () => this._tableCellTypeHelpers.getValueContext(this.value, this._tableCellData);
140
138
  this._tableCellTypeHelpers.handleModalAction(this._buttonAction, contextFn)
141
- .subscribe(r => { }, err => console.error(err), () => this._actionRefreshRequest());
139
+ .subscribe(r => { },
140
+ // eslint-disable-next-line no-console
141
+ err => console.error(err), () => this._actionRefreshRequest());
142
142
  }
143
143
  }
144
144
  _actionRefreshRequest() {
@@ -150,9 +150,9 @@ export class TableCellTypeIconComponent {
150
150
  }
151
151
  }
152
152
  }
153
- TableCellTypeIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TableCellTypeIconComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TableCellTypesHelpersService }, { token: i2.DatatableComponent, optional: true }, { token: i3.TableComponent, optional: true }, { token: TABLE_CELL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
154
- TableCellTypeIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: TableCellTypeIconComponent, selector: "seam-table-cell-type-icon", inputs: { value: "value", config: "config" }, host: { properties: { "class.datatable-cell-type": "this._isDatatable" } }, ngImport: i0, template: "<ng-container *ngIf=\"_icon\">\n <div *ngIf=\"!_tplType || _tplType === 'default'\"\n class=\"d-flex align-items-center justify-center\"\n [class.datatable-icon-fix]=\"_isDatatable\">\n <a class=\"d-block m-auto{{ _linkClass ? ' ' + _linkClass : '' }}\"\n [attr.title]=\"_tooltipDisabled ? _title : undefined\"\n [attr.target]=\"_target\"\n [ngbTooltip]=\"_tooltip\"\n [tooltipClass]=\"$any(_tooltipClass)\"\n [placement]=\"$any(_tooltipPlacement)\"\n [container]=\"$any(_tooltipContainer)\"\n [disableTooltip]=\"_tooltipDisabled\">\n <seam-icon [icon]=\"_icon\" size=\"lg\" [iconType]=\"_iconType\" [iconClass]=\"_iconClass || ''\"></seam-icon>\n <span *ngIf=\"_srOnly\" class=\"sr-only\">{{ _srOnly }}</span>\n </a>\n </div>\n\n <div *ngIf=\"_tplType === 'link'\"\n class=\"d-flex align-items-center justify-center\"\n [class.datatable-icon-fix]=\"_isDatatable\">\n <a class=\"d-block m-auto{{ _linkClass ? ' ' + _linkClass : '' }}\"\n [routerLink]=\"_link\"\n [queryParams]=\"_queryParams\"\n [attr.title]=\"_tooltipDisabled ? _title : undefined\"\n [attr.target]=\"_target\"\n [ngbTooltip]=\"_tooltip\"\n [tooltipClass]=\"$any(_tooltipClass)\"\n [placement]=\"$any(_tooltipPlacement)\"\n [container]=\"$any(_tooltipContainer)\"\n [disableTooltip]=\"_tooltipDisabled\">\n <seam-icon *ngIf=\"_icon\" [icon]=\"_icon\" size=\"lg\" [iconType]=\"_iconType\" [iconClass]=\"_iconClass\"></seam-icon>\n <span *ngIf=\"_srOnly\" class=\"sr-only\">{{ _srOnly }}</span>\n </a>\n </div>\n\n <div *ngIf=\"_tplType === 'link-external'\"\n class=\"d-flex align-items-center justify-center\"\n [class.datatable-icon-fix]=\"_isDatatable\">\n <a class=\"d-block m-auto{{ _linkClass ? ' ' + _linkClass : '' }}\"\n [attr.href]=\"_link\"\n [attr.title]=\"_tooltipDisabled ? _title : undefined\"\n [attr.target]=\"_target\"\n [ngbTooltip]=\"_tooltip\"\n [tooltipClass]=\"$any(_tooltipClass)\"\n [placement]=\"$any(_tooltipPlacement)\"\n [container]=\"$any(_tooltipContainer)\"\n [disableTooltip]=\"_tooltipDisabled\">\n <seam-icon *ngIf=\"_icon\" [icon]=\"_icon\" size=\"lg\" [iconType]=\"_iconType\" [iconClass]=\"_iconClass\"></seam-icon>\n <span *ngIf=\"_srOnly\" class=\"sr-only\">{{ _srOnly }}</span>\n </a>\n </div>\n\n <div *ngIf=\"_tplType === 'link-encrypted'\"\n class=\"d-flex align-items-center justify-center\"\n [class.datatable-icon-fix]=\"_isDatatable\">\n <button\n class=\"btn btn-link p-0 m-auto{{ _linkClass ? ' ' + _linkClass : '' }}\"\n type=\"button\"\n [seamEncryptedAssetLink]=\"_link\"\n [seamDetectMimeFromContent]=\"_detectMimeContent\"\n [seamDownloadAsset]=\"_download\"\n [attr.title]=\"_tooltipDisabled ? _title : undefined\"\n [ngbTooltip]=\"_tooltip\"\n [tooltipClass]=\"$any(_tooltipClass)\"\n [placement]=\"$any(_tooltipPlacement)\"\n [container]=\"$any(_tooltipContainer)\"\n [disableTooltip]=\"_tooltipDisabled\">\n <seam-icon *ngIf=\"_icon\" iconType=\"styled-square\" [icon]=\"_icon\" size=\"lg\" [iconType]=\"_iconType\" [iconClass]=\"_iconClass\"></seam-icon>\n <span *ngIf=\"_srOnly\" class=\"sr-only\">{{ _srOnly }}</span>\n </button>\n </div>\n\n <div *ngIf=\"_tplType === 'button'\"\n class=\"d-flex align-items-center justify-center\"\n [class.datatable-icon-fix]=\"_isDatatable\"\n (click)=\"_doButtonAction()\">\n <button\n class=\"btn btn-link p-0 m-auto{{ _linkClass ? ' ' + _linkClass : '' }}\"\n type=\"button\"\n [attr.title]=\"_tooltipDisabled ? _title : undefined\"\n [ngbTooltip]=\"_tooltip\"\n [tooltipClass]=\"$any(_tooltipClass)\"\n [placement]=\"$any(_tooltipPlacement)\"\n [container]=\"$any(_tooltipContainer)\"\n [disableTooltip]=\"_tooltipDisabled\">\n <seam-icon *ngIf=\"_icon\" iconType=\"styled-square\" [icon]=\"_icon\" size=\"lg\" [iconType]=\"_iconType\" [iconClass]=\"_iconClass\"></seam-icon>\n <span *ngIf=\"_srOnly\" class=\"sr-only\">{{ _srOnly }}</span>\n </button>\n </div>\n</ng-container>\n", styles: [":host.datatable-cell-type ::ng-deep .seam-icon--img{max-height:40px}:host.datatable-cell-type a{max-height:40px}:host.datatable-cell-type button{max-height:40px}:host:not(.datatable-cell-type) ::ng-deep .seam-icon--img{max-height:20px}:host:not(.datatable-cell-type) a{max-height:20px}:host:not(.datatable-cell-type) button{max-height:20px}.datatable-icon-fix{margin-top:calc(-1px - .75rem);height:50px}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "directive", type: i6.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i7.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "directive", type: i8.EncryptedAssetLinkDirective, selector: "[seamEncryptedAssetLink]", inputs: ["seamEncryptedAssetLink", "seamShowLoadingOverlay", "seamDetectMimeFromContent", "seamDownloadAsset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TableCellTypeIconComponent, decorators: [{
153
+ TableCellTypeIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableCellTypeIconComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TableCellTypesHelpersService }, { token: i2.DatatableComponent, optional: true }, { token: i3.TableComponent, optional: true }, { token: TABLE_CELL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
154
+ TableCellTypeIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableCellTypeIconComponent, selector: "seam-table-cell-type-icon", inputs: { value: "value", config: "config" }, host: { properties: { "class.datatable-cell-type": "this._isDatatable" } }, ngImport: i0, template: "<ng-container *ngIf=\"_icon\">\n <div *ngIf=\"!_tplType || _tplType === 'default'\"\n class=\"d-flex align-items-center justify-center\"\n [class.datatable-icon-fix]=\"_isDatatable\">\n <a class=\"d-block m-auto{{ _linkClass ? ' ' + _linkClass : '' }}\"\n [attr.title]=\"_tooltipDisabled ? _title : undefined\"\n [attr.target]=\"_target\"\n [ngbTooltip]=\"_tooltip\"\n [tooltipClass]=\"$any(_tooltipClass)\"\n [placement]=\"$any(_tooltipPlacement)\"\n [container]=\"$any(_tooltipContainer)\"\n [disableTooltip]=\"_tooltipDisabled\">\n <seam-icon [icon]=\"_icon\" size=\"lg\" [iconType]=\"_iconType\" [iconClass]=\"_iconClass || ''\"></seam-icon>\n <span *ngIf=\"_srOnly\" class=\"sr-only\">{{ _srOnly }}</span>\n </a>\n </div>\n\n <div *ngIf=\"_tplType === 'link'\"\n class=\"d-flex align-items-center justify-center\"\n [class.datatable-icon-fix]=\"_isDatatable\">\n <a class=\"d-block m-auto{{ _linkClass ? ' ' + _linkClass : '' }}\"\n [routerLink]=\"_link\"\n [queryParams]=\"_queryParams\"\n [attr.title]=\"_tooltipDisabled ? _title : undefined\"\n [attr.target]=\"_target\"\n [ngbTooltip]=\"_tooltip\"\n [tooltipClass]=\"$any(_tooltipClass)\"\n [placement]=\"$any(_tooltipPlacement)\"\n [container]=\"$any(_tooltipContainer)\"\n [disableTooltip]=\"_tooltipDisabled\">\n <seam-icon *ngIf=\"_icon\" [icon]=\"_icon\" size=\"lg\" [iconType]=\"_iconType\" [iconClass]=\"_iconClass\"></seam-icon>\n <span *ngIf=\"_srOnly\" class=\"sr-only\">{{ _srOnly }}</span>\n </a>\n </div>\n\n <div *ngIf=\"_tplType === 'link-external'\"\n class=\"d-flex align-items-center justify-center\"\n [class.datatable-icon-fix]=\"_isDatatable\">\n <a class=\"d-block m-auto{{ _linkClass ? ' ' + _linkClass : '' }}\"\n [attr.href]=\"_link\"\n [attr.title]=\"_tooltipDisabled ? _title : undefined\"\n [attr.target]=\"_target\"\n [ngbTooltip]=\"_tooltip\"\n [tooltipClass]=\"$any(_tooltipClass)\"\n [placement]=\"$any(_tooltipPlacement)\"\n [container]=\"$any(_tooltipContainer)\"\n [disableTooltip]=\"_tooltipDisabled\">\n <seam-icon *ngIf=\"_icon\" [icon]=\"_icon\" size=\"lg\" [iconType]=\"_iconType\" [iconClass]=\"_iconClass\"></seam-icon>\n <span *ngIf=\"_srOnly\" class=\"sr-only\">{{ _srOnly }}</span>\n </a>\n </div>\n\n <div *ngIf=\"_tplType === 'link-encrypted'\"\n class=\"d-flex align-items-center justify-center\"\n [class.datatable-icon-fix]=\"_isDatatable\">\n <button\n class=\"btn btn-link p-0 m-auto{{ _linkClass ? ' ' + _linkClass : '' }}\"\n type=\"button\"\n [seamEncryptedAssetLink]=\"_link\"\n [seamDetectMimeFromContent]=\"_detectMimeContent\"\n [seamDownloadAsset]=\"_download\"\n [attr.title]=\"_tooltipDisabled ? _title : undefined\"\n [ngbTooltip]=\"_tooltip\"\n [tooltipClass]=\"$any(_tooltipClass)\"\n [placement]=\"$any(_tooltipPlacement)\"\n [container]=\"$any(_tooltipContainer)\"\n [disableTooltip]=\"_tooltipDisabled\">\n <seam-icon *ngIf=\"_icon\" iconType=\"styled-square\" [icon]=\"_icon\" size=\"lg\" [iconType]=\"_iconType\" [iconClass]=\"_iconClass\"></seam-icon>\n <span *ngIf=\"_srOnly\" class=\"sr-only\">{{ _srOnly }}</span>\n </button>\n </div>\n\n <div *ngIf=\"_tplType === 'button'\"\n class=\"d-flex align-items-center justify-center\"\n [class.datatable-icon-fix]=\"_isDatatable\"\n (click)=\"_doButtonAction()\">\n <button\n class=\"btn btn-link p-0 m-auto{{ _linkClass ? ' ' + _linkClass : '' }}\"\n type=\"button\"\n [attr.title]=\"_tooltipDisabled ? _title : undefined\"\n [ngbTooltip]=\"_tooltip\"\n [tooltipClass]=\"$any(_tooltipClass)\"\n [placement]=\"$any(_tooltipPlacement)\"\n [container]=\"$any(_tooltipContainer)\"\n [disableTooltip]=\"_tooltipDisabled\">\n <seam-icon *ngIf=\"_icon\" iconType=\"styled-square\" [icon]=\"_icon\" size=\"lg\" [iconType]=\"_iconType\" [iconClass]=\"_iconClass\"></seam-icon>\n <span *ngIf=\"_srOnly\" class=\"sr-only\">{{ _srOnly }}</span>\n </button>\n </div>\n</ng-container>\n", styles: [":host.datatable-cell-type ::ng-deep .seam-icon--img{max-height:40px}:host.datatable-cell-type a{max-height:40px}:host.datatable-cell-type button{max-height:40px}:host:not(.datatable-cell-type) ::ng-deep .seam-icon--img{max-height:20px}:host:not(.datatable-cell-type) a{max-height:20px}:host:not(.datatable-cell-type) button{max-height:20px}.datatable-icon-fix{margin-top:calc(-1px - .75rem);height:50px}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "directive", type: i6.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i7.IconComponent, selector: "seam-icon", inputs: ["grayscaleOnDisable", "disabled", "iconClass", "icon", "size", "showDefaultOnError", "defaultIcon", "iconType"] }, { kind: "directive", type: i8.EncryptedAssetLinkDirective, selector: "[seamEncryptedAssetLink]", inputs: ["seamEncryptedAssetLink", "seamShowLoadingOverlay", "seamDetectMimeFromContent", "seamDownloadAsset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableCellTypeIconComponent, decorators: [{
156
156
  type: Component,
157
157
  args: [{ selector: 'seam-table-cell-type-icon', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"_icon\">\n <div *ngIf=\"!_tplType || _tplType === 'default'\"\n class=\"d-flex align-items-center justify-center\"\n [class.datatable-icon-fix]=\"_isDatatable\">\n <a class=\"d-block m-auto{{ _linkClass ? ' ' + _linkClass : '' }}\"\n [attr.title]=\"_tooltipDisabled ? _title : undefined\"\n [attr.target]=\"_target\"\n [ngbTooltip]=\"_tooltip\"\n [tooltipClass]=\"$any(_tooltipClass)\"\n [placement]=\"$any(_tooltipPlacement)\"\n [container]=\"$any(_tooltipContainer)\"\n [disableTooltip]=\"_tooltipDisabled\">\n <seam-icon [icon]=\"_icon\" size=\"lg\" [iconType]=\"_iconType\" [iconClass]=\"_iconClass || ''\"></seam-icon>\n <span *ngIf=\"_srOnly\" class=\"sr-only\">{{ _srOnly }}</span>\n </a>\n </div>\n\n <div *ngIf=\"_tplType === 'link'\"\n class=\"d-flex align-items-center justify-center\"\n [class.datatable-icon-fix]=\"_isDatatable\">\n <a class=\"d-block m-auto{{ _linkClass ? ' ' + _linkClass : '' }}\"\n [routerLink]=\"_link\"\n [queryParams]=\"_queryParams\"\n [attr.title]=\"_tooltipDisabled ? _title : undefined\"\n [attr.target]=\"_target\"\n [ngbTooltip]=\"_tooltip\"\n [tooltipClass]=\"$any(_tooltipClass)\"\n [placement]=\"$any(_tooltipPlacement)\"\n [container]=\"$any(_tooltipContainer)\"\n [disableTooltip]=\"_tooltipDisabled\">\n <seam-icon *ngIf=\"_icon\" [icon]=\"_icon\" size=\"lg\" [iconType]=\"_iconType\" [iconClass]=\"_iconClass\"></seam-icon>\n <span *ngIf=\"_srOnly\" class=\"sr-only\">{{ _srOnly }}</span>\n </a>\n </div>\n\n <div *ngIf=\"_tplType === 'link-external'\"\n class=\"d-flex align-items-center justify-center\"\n [class.datatable-icon-fix]=\"_isDatatable\">\n <a class=\"d-block m-auto{{ _linkClass ? ' ' + _linkClass : '' }}\"\n [attr.href]=\"_link\"\n [attr.title]=\"_tooltipDisabled ? _title : undefined\"\n [attr.target]=\"_target\"\n [ngbTooltip]=\"_tooltip\"\n [tooltipClass]=\"$any(_tooltipClass)\"\n [placement]=\"$any(_tooltipPlacement)\"\n [container]=\"$any(_tooltipContainer)\"\n [disableTooltip]=\"_tooltipDisabled\">\n <seam-icon *ngIf=\"_icon\" [icon]=\"_icon\" size=\"lg\" [iconType]=\"_iconType\" [iconClass]=\"_iconClass\"></seam-icon>\n <span *ngIf=\"_srOnly\" class=\"sr-only\">{{ _srOnly }}</span>\n </a>\n </div>\n\n <div *ngIf=\"_tplType === 'link-encrypted'\"\n class=\"d-flex align-items-center justify-center\"\n [class.datatable-icon-fix]=\"_isDatatable\">\n <button\n class=\"btn btn-link p-0 m-auto{{ _linkClass ? ' ' + _linkClass : '' }}\"\n type=\"button\"\n [seamEncryptedAssetLink]=\"_link\"\n [seamDetectMimeFromContent]=\"_detectMimeContent\"\n [seamDownloadAsset]=\"_download\"\n [attr.title]=\"_tooltipDisabled ? _title : undefined\"\n [ngbTooltip]=\"_tooltip\"\n [tooltipClass]=\"$any(_tooltipClass)\"\n [placement]=\"$any(_tooltipPlacement)\"\n [container]=\"$any(_tooltipContainer)\"\n [disableTooltip]=\"_tooltipDisabled\">\n <seam-icon *ngIf=\"_icon\" iconType=\"styled-square\" [icon]=\"_icon\" size=\"lg\" [iconType]=\"_iconType\" [iconClass]=\"_iconClass\"></seam-icon>\n <span *ngIf=\"_srOnly\" class=\"sr-only\">{{ _srOnly }}</span>\n </button>\n </div>\n\n <div *ngIf=\"_tplType === 'button'\"\n class=\"d-flex align-items-center justify-center\"\n [class.datatable-icon-fix]=\"_isDatatable\"\n (click)=\"_doButtonAction()\">\n <button\n class=\"btn btn-link p-0 m-auto{{ _linkClass ? ' ' + _linkClass : '' }}\"\n type=\"button\"\n [attr.title]=\"_tooltipDisabled ? _title : undefined\"\n [ngbTooltip]=\"_tooltip\"\n [tooltipClass]=\"$any(_tooltipClass)\"\n [placement]=\"$any(_tooltipPlacement)\"\n [container]=\"$any(_tooltipContainer)\"\n [disableTooltip]=\"_tooltipDisabled\">\n <seam-icon *ngIf=\"_icon\" iconType=\"styled-square\" [icon]=\"_icon\" size=\"lg\" [iconType]=\"_iconType\" [iconClass]=\"_iconClass\"></seam-icon>\n <span *ngIf=\"_srOnly\" class=\"sr-only\">{{ _srOnly }}</span>\n </button>\n </div>\n</ng-container>\n", styles: [":host.datatable-cell-type ::ng-deep .seam-icon--img{max-height:40px}:host.datatable-cell-type a{max-height:40px}:host.datatable-cell-type button{max-height:40px}:host:not(.datatable-cell-type) ::ng-deep .seam-icon--img{max-height:20px}:host:not(.datatable-cell-type) a{max-height:20px}:host:not(.datatable-cell-type) button{max-height:20px}.datatable-icon-fix{margin-top:calc(-1px - .75rem);height:50px}\n"] }]
158
158
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.TableCellTypesHelpersService }, { type: i2.DatatableComponent, decorators: [{
@@ -172,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
172
172
  type: HostBinding,
173
173
  args: ['class.datatable-cell-type']
174
174
  }] } });
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC10eXBlLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZXMvdGFibGUtY2VsbC10eXBlLWljb24vdGFibGUtY2VsbC10eXBlLWljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZXMvdGFibGUtY2VsbC10eXBlLWljb24vdGFibGUtY2VsbC10eXBlLWljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBR0wsUUFBUSxFQUNULE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRzFDLE9BQU8sRUFBRSxZQUFZLEVBQTZCLE1BQU0seUJBQXlCLENBQUE7QUFFakYsT0FBTyxFQUFnQyxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTs7Ozs7Ozs7OztBQWFsRyxNQUFNLE9BQU8sMEJBQTBCO0lBSXJDLElBQ0ksS0FBSyxLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUM7SUFDbEMsSUFBSSxLQUFLLENBQUMsS0FBZ0M7UUFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUMzRCxDQUFDO0lBR0QsSUFDSSxNQUFNLEtBQUssT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBLENB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S0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUN6QixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FDbkMsQ0FBQTtTQUNKO0lBQ0gsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsRUFBRSxDQUFBO1NBQzlDO2FBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsMkJBQTJCLEVBQUUsQ0FBQTtTQUMxQztJQUNILENBQUM7O3VIQXZMVSwwQkFBMEIsK0xBcUVmLGVBQWU7MkdBckUxQiwwQkFBMEIsMkxDOUJ2Qyw4bElBMEZBOzJGRDVEYSwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFxRTVDLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZTs0Q0FoRWpDLEtBQUs7c0JBRFIsS0FBSztnQkFTRixNQUFNO3NCQURULEtBQUs7Z0JBa0RvQyxZQUFZO3NCQUFyRCxXQUFXO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBEYXRhdGFibGVDb21wb25lbnQgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZGF0YXRhYmxlJ1xuaW1wb3J0IHsgZ2V0S25vd25JY29uLCBTZWFtSWNvbiwgVGhlU2VhbUljb25UeXBlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2ljb24nXG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90YWJsZSdcbmltcG9ydCB7IFRhYmxlQ2VsbFR5cGVzSGVscGVyc1NlcnZpY2UsIFRBQkxFX0NFTExfREFUQSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGUnXG5pbXBvcnQgdHlwZSB7IFRhYmxlQ2VsbERhdGEsIFRoZVNlYW1UYWJsZUNvbHVtbiB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGUnXG5cbmltcG9ydCB7IFRhYmxlQ2VsbFR5cGVDb25maWdJY29uLCBUYWJsZUNlbGxUeXBlSWNvbkNvbmZpZ0FjdGlvbiB9IGZyb20gJy4vdGFibGUtY2VsbC10eXBlLWljb24tY29uZmlnJ1xuXG5leHBvcnQgdHlwZSBJY29uVGVtcGxhdGVUeXBlID0gJ2RlZmF1bHQnIHwgJ2xpbmsnIHwgJ2xpbmstZXh0ZXJuYWwnIHwgJ2xpbmstZW5jcnlwdGVkJyB8ICdidXR0b24nXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlYW0tdGFibGUtY2VsbC10eXBlLWljb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY2VsbC10eXBlLWljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1jZWxsLXR5cGUtaWNvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNlbGxUeXBlSWNvbkNvbXBvbmVudDxSID0gYW55LCBWID0gYW55PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9uZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxuXG4gIEBJbnB1dCgpXG4gIGdldCB2YWx1ZSgpIHsgcmV0dXJuIHRoaXMuX3ZhbHVlIH1cbiAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsKSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZVxuICAgIHRoaXMuX2ljb24gPSB2YWx1ZSA/IGdldEtub3duSWNvbih2YWx1ZSkgfHwgdmFsdWUgOiB2YWx1ZVxuICB9XG4gIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgQElucHV0KClcbiAgZ2V0IGNvbmZpZygpIHsgcmV0dXJuIHRoaXMuX2NvbmZpZyB9XG4gIHNldCBjb25maWcodmFsdWU6IFRhYmxlQ2VsbFR5cGVDb25maWdJY29uIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIHRoaXMuX2NvbmZpZyA9IHZhbHVlXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnNldEFjdGlvbih2YWx1ZS5hY3Rpb24pXG4gICAgICB0aGlzLl9saW5rQ2xhc3MgPSB0aGlzLl9wYXJzZUNvbmZpZ1ZhbHVlKHZhbHVlLmxpbmtDbGFzcylcbiAgICAgIHRoaXMuX2ljb25DbGFzcyA9IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUodmFsdWUuaWNvbkNsYXNzKVxuICAgICAgdGhpcy5faWNvblR5cGUgPSB2YWx1ZS5pY29uVHlwZVxuICAgICAgdGhpcy5fdGl0bGUgPSB0aGlzLl9wYXJzZUNvbmZpZ1ZhbHVlKHZhbHVlLnRpdGxlQXR0cilcbiAgICAgIHRoaXMuX3NyT25seSA9IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUodmFsdWUuc3JPbmx5KVxuICAgICAgdGhpcy5fdG9vbHRpcCA9IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUodmFsdWUudG9vbHRpcClcbiAgICAgIGlmICh0aGlzLl90b29sdGlwKSB7XG4gICAgICAgIHRoaXMuX3Rvb2x0aXBDbGFzcyA9IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUodmFsdWUudG9vbHRpcENsYXNzKVxuICAgICAgICB0aGlzLl90b29sdGlwUGxhY2VtZW50ID0gdGhpcy5fcGFyc2VDb25maWdWYWx1ZSh2YWx1ZS50b29sdGlwUGxhY2VtZW50KSB8fCAnYXV0bydcbiAgICAgICAgdGhpcy5fdG9vbHRpcENvbnRhaW5lciA9IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUodmFsdWUudG9vbHRpcENvbnRhaW5lcilcbiAgICAgICAgdGhpcy5fdG9vbHRpcERpc2FibGVkID0gZmFsc2VcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3Rvb2x0aXBEaXNhYmxlZCA9IHRydWVcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfY29uZmlnOiBUYWJsZUNlbGxUeXBlQ29uZmlnSWNvbiB8IHVuZGVmaW5lZCB8IG51bGxcblxuICBfaWNvbjogU2VhbUljb24gfCB1bmRlZmluZWQgfCBudWxsXG4gIF9saW5rPzogc3RyaW5nXG4gIF9xdWVyeVBhcmFtcz86IHsgW2s6IHN0cmluZ106IGFueSB9XG4gIF90cGxUeXBlOiBJY29uVGVtcGxhdGVUeXBlID0gJ2RlZmF1bHQnXG4gIF90aXRsZT86IHN0cmluZ1xuICBfc3JPbmx5Pzogc3RyaW5nXG4gIF9saW5rQ2xhc3M/OiBzdHJpbmdcbiAgX2ljb25DbGFzcz86IHN0cmluZ1xuICBfaWNvblR5cGU/OiBUaGVTZWFtSWNvblR5cGVcbiAgX3RhcmdldD86IHN0cmluZ1xuICBfdG9vbHRpcD86IHN0cmluZ1xuICBfdG9vbHRpcENsYXNzPzogc3RyaW5nXG4gIF90b29sdGlwUGxhY2VtZW50Pzogc3RyaW5nXG4gIF90b29sdGlwQ29udGFpbmVyPzogc3RyaW5nXG4gIF90b29sdGlwRGlzYWJsZWQ6IGJvb2xlYW4gPSB0cnVlXG5cbiAgX2J1dHRvbkFjdGlvbj86IFRhYmxlQ2VsbFR5cGVJY29uQ29uZmlnQWN0aW9uXG5cbiAgX3RhYmxlQ2VsbERhdGE/OiBUYWJsZUNlbGxEYXRhPCdpY29uJywgVGFibGVDZWxsVHlwZUNvbmZpZ0ljb24+XG4gIF9yb3c/OiBhbnlcbiAgX3Jvd0luZGV4PzogbnVtYmVyXG4gIF9jb2xEYXRhPzogVGhlU2VhbVRhYmxlQ29sdW1uPCdpY29uJywgVGFibGVDZWxsVHlwZUNvbmZpZ0ljb24+XG5cbiAgX2Rvd25sb2FkPzogYm9vbGVhblxuICBfZGV0ZWN0TWltZUNvbnRlbnQ/OiBib29sZWFuXG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kYXRhdGFibGUtY2VsbC10eXBlJykgX2lzRGF0YXRhYmxlID0gZmFsc2VcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jZGY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgX3RhYmxlQ2VsbFR5cGVIZWxwZXJzOiBUYWJsZUNlbGxUeXBlc0hlbHBlcnNTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2RhdGF0YWJsZT86IERhdGF0YWJsZUNvbXBvbmVudCxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF90YWJsZT86IFRhYmxlQ29tcG9uZW50LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVEFCTEVfQ0VMTF9EQVRBKSBfdGFibGVEYXRhPzogVGFibGVDZWxsRGF0YTwnaWNvbicsIFRhYmxlQ2VsbFR5cGVDb25maWdJY29uPlxuICApIHtcbiAgICBpZiAoX2RhdGF0YWJsZSkge1xuICAgICAgdGhpcy5faXNEYXRhdGFibGUgPSB0cnVlXG4gICAgICAvLyBjb25zb2xlLmxvZygnaXNEYXRhVGFibGUnKVxuICAgIH1cbiAgICAvLyBpZiAoX3RhYmxlKSB7XG4gICAgLy8gICBjb25zb2xlLmxvZygnaXNUYWJsZScpXG4gICAgLy8gfVxuXG4gICAgY29uc3QgX2RhdGEgPSBfdGFibGVEYXRhXG4gICAgdGhpcy5fdGFibGVDZWxsRGF0YSA9IF90YWJsZURhdGFcblxuICAgIHRoaXMuX3JvdyA9IF9kYXRhICYmIF9kYXRhLnJvd1xuICAgIHRoaXMuX3Jvd0luZGV4ID0gX2RhdGEgJiYgX2RhdGEucm93SW5kZXhcblxuICAgIHRoaXMudmFsdWUgPSBfZGF0YSAmJiBfZGF0YS52YWx1ZVxuICAgIHRoaXMuX2NvbERhdGEgPSBfZGF0YSAmJiBfZGF0YS5jb2xEYXRhXG4gICAgaWYgKF9kYXRhICYmIF9kYXRhLmNvbERhdGEgJiYgKDxhbnk+X2RhdGEuY29sRGF0YSkuY2VsbFR5cGVDb25maWcpIHtcbiAgICAgIHRoaXMuY29uZmlnID0gKDxhbnk+X2RhdGEuY29sRGF0YSkuY2VsbFR5cGVDb25maWdcbiAgICB9XG5cbiAgICBpZiAoX2RhdGEpIHtcbiAgICAgIF9kYXRhLmNoYW5nZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgICAgIGlmICh2LmNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2LmNoYW5nZXMudmFsdWUuY3VycmVudFZhbHVlXG4gICAgICAgICAgICB0aGlzLmNvbmZpZyA9IHRoaXMuX2NvbmZpZ1xuICAgICAgICAgICAgdGhpcy5fY2RmLm1hcmtGb3JDaGVjaygpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHYuY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgnY29sRGF0YScpKSB7XG4gICAgICAgICAgICBjb25zdCBjb2xEYXRhID0gdi5jaGFuZ2VzLmNvbERhdGEuY3VycmVudFZhbHVlXG4gICAgICAgICAgICBpZiAoY29sRGF0YSAmJiBjb2xEYXRhLmNlbGxUeXBlQ29uZmlnICE9PSB0aGlzLmNvbmZpZykge1xuICAgICAgICAgICAgICB0aGlzLmNvbmZpZyA9IGNvbERhdGEuY2VsbFR5cGVDb25maWdcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuY29uZmlnID0gdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9jZGYubWFya0ZvckNoZWNrKClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHYuY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgncm93JykpIHtcbiAgICAgICAgICAgICAgdGhpcy5jb25maWcgPSB0aGlzLmNvbmZpZ1xuICAgICAgICAgICAgICB0aGlzLl9jZGYubWFya0ZvckNoZWNrKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7IH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLm5leHQodW5kZWZpbmVkKVxuICAgIHRoaXMuX25nVW5zdWJzY3JpYmUuY29tcGxldGUoKVxuICB9XG5cbiAgcHVibGljIHNldEFjdGlvbihjb25maWdBY3Rpb24/OiBUYWJsZUNlbGxUeXBlSWNvbkNvbmZpZ0FjdGlvbikge1xuICAgIGxldCBuZXdUcGxUeXBlOiBJY29uVGVtcGxhdGVUeXBlID0gJ2RlZmF1bHQnXG4gICAgbGV0IGxpbms6IHN0cmluZyB8IHVuZGVmaW5lZFxuICAgIGxldCBkb3dubG9hZDogYm9vbGVhbiA9IGZhbHNlXG4gICAgbGV0IGRldGVjdE1pbWVDb250ZW50ID0gZmFsc2VcbiAgICBsZXQgdGFyZ2V0OiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgICBsZXQgcXVlcnlQYXJhbXM6IHsgW2w6IHN0cmluZ106IGFueSB9IHwgdW5kZWZpbmVkXG5cbiAgICBpZiAoY29uZmlnQWN0aW9uKSB7XG4gICAgICBpZiAoY29uZmlnQWN0aW9uLnR5cGUgPT09ICdsaW5rJykge1xuICAgICAgICBsaW5rID0gdGhpcy5fcGFyc2VDb25maWdWYWx1ZShjb25maWdBY3Rpb24ubGluaylcbiAgICAgICAgaWYgKGxpbmsgIT09IHVuZGVmaW5lZCAmJiBsaW5rICE9PSBudWxsKSB7XG4gICAgICAgICAgbmV3VHBsVHlwZSA9IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUoY29uZmlnQWN0aW9uLmFzc2V0KVxuICAgICAgICAgICAgPyAnbGluay1lbmNyeXB0ZWQnXG4gICAgICAgICAgICA6IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUoY29uZmlnQWN0aW9uLmV4dGVybmFsKSA/ICdsaW5rLWV4dGVybmFsJyA6ICdsaW5rJ1xuICAgICAgICAgIGRvd25sb2FkID0gISF0aGlzLl9wYXJzZUNvbmZpZ1ZhbHVlKGNvbmZpZ0FjdGlvbi5kb3dubG9hZClcbiAgICAgICAgICBkZXRlY3RNaW1lQ29udGVudCA9ICEhdGhpcy5fcGFyc2VDb25maWdWYWx1ZShjb25maWdBY3Rpb24uZGV0ZWN0TWltZUNvbnRlbnQpXG4gICAgICAgICAgdGFyZ2V0ID0gdGhpcy5fcGFyc2VDb25maWdWYWx1ZShjb25maWdBY3Rpb24udGFyZ2V0KVxuICAgICAgICAgIHF1ZXJ5UGFyYW1zID0gdGhpcy5fcGFyc2VDb25maWdWYWx1ZShjb25maWdBY3Rpb24ucXVlcnlQYXJhbXMpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY29uZmlnQWN0aW9uLnR5cGUgPT09ICdtb2RhbCcpIHtcbiAgICAgICAgbmV3VHBsVHlwZSA9ICdidXR0b24nXG4gICAgICAgIHRoaXMuX2J1dHRvbkFjdGlvbiA9IGNvbmZpZ0FjdGlvblxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX3RwbFR5cGUgPSBuZXdUcGxUeXBlXG4gICAgdGhpcy5fbGluayA9IGxpbmtcbiAgICB0aGlzLl9kb3dubG9hZCA9IGRvd25sb2FkXG4gICAgdGhpcy5fZGV0ZWN0TWltZUNvbnRlbnQgPSBkZXRlY3RNaW1lQ29udGVudFxuICAgIHRoaXMuX3RhcmdldCA9IHRhcmdldFxuICAgIHRoaXMuX3F1ZXJ5UGFyYW1zID0gcXVlcnlQYXJhbXNcbiAgfVxuXG4gIHByaXZhdGUgX3BhcnNlQ29uZmlnVmFsdWUodmFsOiBhbnkpIHtcbiAgICBjb25zdCBjb250ZXh0Rm4gPSAoKSA9PiB0aGlzLl90YWJsZUNlbGxUeXBlSGVscGVycy5nZXRWYWx1ZUNvbnRleHQodmFsLCB0aGlzLl90YWJsZUNlbGxEYXRhKVxuICAgIHJldHVybiB0aGlzLl90YWJsZUNlbGxUeXBlSGVscGVycy5wYXJzZVZhbHVlUHJvcCh2YWwsIGNvbnRleHRGbilcbiAgfVxuXG4gIF9kb0J1dHRvbkFjdGlvbigpIHtcbiAgICBpZiAodGhpcy5fYnV0dG9uQWN0aW9uICYmIHRoaXMuX2J1dHRvbkFjdGlvbi50eXBlID09PSAnbW9kYWwnKSB7XG4gICAgICBjb25zdCBjb250ZXh0Rm4gPSAoKSA9PiB0aGlzLl90YWJsZUNlbGxUeXBlSGVscGVycy5nZXRWYWx1ZUNvbnRleHQodGhpcy52YWx1ZSwgdGhpcy5fdGFibGVDZWxsRGF0YSlcbiAgICAgIHRoaXMuX3RhYmxlQ2VsbFR5cGVIZWxwZXJzLmhhbmRsZU1vZGFsQWN0aW9uKHRoaXMuX2J1dHRvbkFjdGlvbiwgY29udGV4dEZuKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIHIgPT4ge30sXG4gICAgICAgICAgZXJyID0+IGNvbnNvbGUuZXJyb3IoZXJyKSxcbiAgICAgICAgICAoKSA9PiB0aGlzLl9hY3Rpb25SZWZyZXNoUmVxdWVzdCgpXG4gICAgICAgIClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9hY3Rpb25SZWZyZXNoUmVxdWVzdCgpIHtcbiAgICBpZiAodGhpcy5fZGF0YXRhYmxlKSB7XG4gICAgICB0aGlzLl9kYXRhdGFibGUudHJpZ2dlckFjdGlvblJlZnJlc2hSZXF1ZXN0KClcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3RhYmxlKSB7XG4gICAgICB0aGlzLl90YWJsZS50cmlnZ2VyQWN0aW9uUmVmcmVzaFJlcXVlc3QoKVxuICAgIH1cbiAgfVxuXG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiX2ljb25cIj5cbiAgPGRpdiAqbmdJZj1cIiFfdHBsVHlwZSB8fCBfdHBsVHlwZSA9PT0gJ2RlZmF1bHQnXCJcbiAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIlxuICAgIFtjbGFzcy5kYXRhdGFibGUtaWNvbi1maXhdPVwiX2lzRGF0YXRhYmxlXCI+XG4gICAgPGEgY2xhc3M9XCJkLWJsb2NrIG0tYXV0b3t7IF9saW5rQ2xhc3MgPyAnICcgKyBfbGlua0NsYXNzIDogJycgfX1cIlxuICAgICAgW2F0dHIudGl0bGVdPVwiX3Rvb2x0aXBEaXNhYmxlZCA/IF90aXRsZSA6IHVuZGVmaW5lZFwiXG4gICAgICBbYXR0ci50YXJnZXRdPVwiX3RhcmdldFwiXG4gICAgICBbbmdiVG9vbHRpcF09XCJfdG9vbHRpcFwiXG4gICAgICBbdG9vbHRpcENsYXNzXT1cIiRhbnkoX3Rvb2x0aXBDbGFzcylcIlxuICAgICAgW3BsYWNlbWVudF09XCIkYW55KF90b29sdGlwUGxhY2VtZW50KVwiXG4gICAgICBbY29udGFpbmVyXT1cIiRhbnkoX3Rvb2x0aXBDb250YWluZXIpXCJcbiAgICAgIFtkaXNhYmxlVG9vbHRpcF09XCJfdG9vbHRpcERpc2FibGVkXCI+XG4gICAgICA8c2VhbS1pY29uIFtpY29uXT1cIl9pY29uXCIgc2l6ZT1cImxnXCIgW2ljb25UeXBlXT1cIl9pY29uVHlwZVwiIFtpY29uQ2xhc3NdPVwiX2ljb25DbGFzcyB8fCAnJ1wiPjwvc2VhbS1pY29uPlxuICAgICAgPHNwYW4gKm5nSWY9XCJfc3JPbmx5XCIgY2xhc3M9XCJzci1vbmx5XCI+e3sgX3NyT25seSB9fTwvc3Bhbj5cbiAgICA8L2E+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJfdHBsVHlwZSA9PT0gJ2xpbmsnXCJcbiAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIlxuICAgIFtjbGFzcy5kYXRhdGFibGUtaWNvbi1maXhdPVwiX2lzRGF0YXRhYmxlXCI+XG4gICAgPGEgY2xhc3M9XCJkLWJsb2NrIG0tYXV0b3t7IF9saW5rQ2xhc3MgPyAnICcgKyBfbGlua0NsYXNzIDogJycgfX1cIlxuICAgICAgW3JvdXRlckxpbmtdPVwiX2xpbmtcIlxuICAgICAgW3F1ZXJ5UGFyYW1zXT1cIl9xdWVyeVBhcmFtc1wiXG4gICAgICBbYXR0ci50aXRsZV09XCJfdG9vbHRpcERpc2FibGVkID8gX3RpdGxlIDogdW5kZWZpbmVkXCJcbiAgICAgIFthdHRyLnRhcmdldF09XCJfdGFyZ2V0XCJcbiAgICAgIFtuZ2JUb29sdGlwXT1cIl90b29sdGlwXCJcbiAgICAgIFt0b29sdGlwQ2xhc3NdPVwiJGFueShfdG9vbHRpcENsYXNzKVwiXG4gICAgICBbcGxhY2VtZW50XT1cIiRhbnkoX3Rvb2x0aXBQbGFjZW1lbnQpXCJcbiAgICAgIFtjb250YWluZXJdPVwiJGFueShfdG9vbHRpcENvbnRhaW5lcilcIlxuICAgICAgW2Rpc2FibGVUb29sdGlwXT1cIl90b29sdGlwRGlzYWJsZWRcIj5cbiAgICAgIDxzZWFtLWljb24gKm5nSWY9XCJfaWNvblwiIFtpY29uXT1cIl9pY29uXCIgc2l6ZT1cImxnXCIgW2ljb25UeXBlXT1cIl9pY29uVHlwZVwiIFtpY29uQ2xhc3NdPVwiX2ljb25DbGFzc1wiPjwvc2VhbS1pY29uPlxuICAgICAgPHNwYW4gKm5nSWY9XCJfc3JPbmx5XCIgY2xhc3M9XCJzci1vbmx5XCI+e3sgX3NyT25seSB9fTwvc3Bhbj5cbiAgICA8L2E+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJfdHBsVHlwZSA9PT0gJ2xpbmstZXh0ZXJuYWwnXCJcbiAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIlxuICAgIFtjbGFzcy5kYXRhdGFibGUtaWNvbi1maXhdPVwiX2lzRGF0YXRhYmxlXCI+XG4gICAgPGEgY2xhc3M9XCJkLWJsb2NrIG0tYXV0b3t7IF9saW5rQ2xhc3MgPyAnICcgKyBfbGlua0NsYXNzIDogJycgfX1cIlxuICAgICAgW2F0dHIuaHJlZl09XCJfbGlua1wiXG4gICAgICBbYXR0ci50aXRsZV09XCJfdG9vbHRpcERpc2FibGVkID8gX3RpdGxlIDogdW5kZWZpbmVkXCJcbiAgICAgIFthdHRyLnRhcmdldF09XCJfdGFyZ2V0XCJcbiAgICAgIFtuZ2JUb29sdGlwXT1cIl90b29sdGlwXCJcbiAgICAgIFt0b29sdGlwQ2xhc3NdPVwiJGFueShfdG9vbHRpcENsYXNzKVwiXG4gICAgICBbcGxhY2VtZW50XT1cIiRhbnkoX3Rvb2x0aXBQbGFjZW1lbnQpXCJcbiAgICAgIFtjb250YWluZXJdPVwiJGFueShfdG9vbHRpcENvbnRhaW5lcilcIlxuICAgICAgW2Rpc2FibGVUb29sdGlwXT1cIl90b29sdGlwRGlzYWJsZWRcIj5cbiAgICAgIDxzZWFtLWljb24gKm5nSWY9XCJfaWNvblwiIFtpY29uXT1cIl9pY29uXCIgc2l6ZT1cImxnXCIgW2ljb25UeXBlXT1cIl9pY29uVHlwZVwiIFtpY29uQ2xhc3NdPVwiX2ljb25DbGFzc1wiPjwvc2VhbS1pY29uPlxuICAgICAgPHNwYW4gKm5nSWY9XCJfc3JPbmx5XCIgY2xhc3M9XCJzci1vbmx5XCI+e3sgX3NyT25seSB9fTwvc3Bhbj5cbiAgICA8L2E+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJfdHBsVHlwZSA9PT0gJ2xpbmstZW5jcnlwdGVkJ1wiXG4gICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCJcbiAgICBbY2xhc3MuZGF0YXRhYmxlLWljb24tZml4XT1cIl9pc0RhdGF0YWJsZVwiPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHAtMCBtLWF1dG97eyBfbGlua0NsYXNzID8gJyAnICsgX2xpbmtDbGFzcyA6ICcnIH19XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW3NlYW1FbmNyeXB0ZWRBc3NldExpbmtdPVwiX2xpbmtcIlxuICAgICAgW3NlYW1EZXRlY3RNaW1lRnJvbUNvbnRlbnRdPVwiX2RldGVjdE1pbWVDb250ZW50XCJcbiAgICAgIFtzZWFtRG93bmxvYWRBc3NldF09XCJfZG93bmxvYWRcIlxuICAgICAgW2F0dHIudGl0bGVdPVwiX3Rvb2x0aXBEaXNhYmxlZCA/IF90aXRsZSA6IHVuZGVmaW5lZFwiXG4gICAgICBbbmdiVG9vbHRpcF09XCJfdG9vbHRpcFwiXG4gICAgICBbdG9vbHRpcENsYXNzXT1cIiRhbnkoX3Rvb2x0aXBDbGFzcylcIlxuICAgICAgW3BsYWNlbWVudF09XCIkYW55KF90b29sdGlwUGxhY2VtZW50KVwiXG4gICAgICBbY29udGFpbmVyXT1cIiRhbnkoX3Rvb2x0aXBDb250YWluZXIpXCJcbiAgICAgIFtkaXNhYmxlVG9vbHRpcF09XCJfdG9vbHRpcERpc2FibGVkXCI+XG4gICAgICA8c2VhbS1pY29uICpuZ0lmPVwiX2ljb25cIiBpY29uVHlwZT1cInN0eWxlZC1zcXVhcmVcIiBbaWNvbl09XCJfaWNvblwiIHNpemU9XCJsZ1wiIFtpY29uVHlwZV09XCJfaWNvblR5cGVcIiBbaWNvbkNsYXNzXT1cIl9pY29uQ2xhc3NcIj48L3NlYW0taWNvbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiX3NyT25seVwiIGNsYXNzPVwic3Itb25seVwiPnt7IF9zck9ubHkgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJfdHBsVHlwZSA9PT0gJ2J1dHRvbidcIlxuICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiXG4gICAgW2NsYXNzLmRhdGF0YWJsZS1pY29uLWZpeF09XCJfaXNEYXRhdGFibGVcIlxuICAgIChjbGljayk9XCJfZG9CdXR0b25BY3Rpb24oKVwiPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHAtMCBtLWF1dG97eyBfbGlua0NsYXNzID8gJyAnICsgX2xpbmtDbGFzcyA6ICcnIH19XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2F0dHIudGl0bGVdPVwiX3Rvb2x0aXBEaXNhYmxlZCA/IF90aXRsZSA6IHVuZGVmaW5lZFwiXG4gICAgICBbbmdiVG9vbHRpcF09XCJfdG9vbHRpcFwiXG4gICAgICBbdG9vbHRpcENsYXNzXT1cIiRhbnkoX3Rvb2x0aXBDbGFzcylcIlxuICAgICAgW3BsYWNlbWVudF09XCIkYW55KF90b29sdGlwUGxhY2VtZW50KVwiXG4gICAgICBbY29udGFpbmVyXT1cIiRhbnkoX3Rvb2x0aXBDb250YWluZXIpXCJcbiAgICAgIFtkaXNhYmxlVG9vbHRpcF09XCJfdG9vbHRpcERpc2FibGVkXCI+XG4gICAgICA8c2VhbS1pY29uICpuZ0lmPVwiX2ljb25cIiBpY29uVHlwZT1cInN0eWxlZC1zcXVhcmVcIiBbaWNvbl09XCJfaWNvblwiIHNpemU9XCJsZ1wiIFtpY29uVHlwZV09XCJfaWNvblR5cGVcIiBbaWNvbkNsYXNzXT1cIl9pY29uQ2xhc3NcIj48L3NlYW0taWNvbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiX3NyT25seVwiIGNsYXNzPVwic3Itb25seVwiPnt7IF9zck9ubHkgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC10eXBlLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZXMvdGFibGUtY2VsbC10eXBlLWljb24vdGFibGUtY2VsbC10eXBlLWljb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZXMvdGFibGUtY2VsbC10eXBlLWljb24vdGFibGUtY2VsbC10eXBlLWljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNULE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRzFDLE9BQU8sRUFBRSxZQUFZLEVBQTZCLE1BQU0seUJBQXlCLENBQUE7QUFFakYsT0FBTyxFQUFnQyxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTs7Ozs7Ozs7OztBQWFsRyxNQUFNLE9BQU8sMEJBQTBCO0lBSXJDLElBQ0ksS0FBSyxLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUM7SUFDbEMsSUFBSSxLQUFLLENBQUMsS0FBZ0M7UUFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUMzRCxDQUFDO0lBR0QsSUFDSSxNQUFNLEtBQUssT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBLENB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O1lBQ3RDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFDekIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQ25DLENBQUE7U0FDSjtJQUNILENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsMkJBQTJCLEVBQUUsQ0FBQTtTQUM5QzthQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLDJCQUEyQixFQUFFLENBQUE7U0FDMUM7SUFDSCxDQUFDOzt1SEFyTFUsMEJBQTBCLCtMQXFFZixlQUFlOzJHQXJFMUIsMEJBQTBCLDJMQzdCdkMsOGxJQTBGQTsyRkQ3RGEsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNFLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTTs7MEJBcUU1QyxRQUFROzswQkFDUixRQUFROzswQkFDUixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGVBQWU7NENBaEVqQyxLQUFLO3NCQURSLEtBQUs7Z0JBU0YsTUFBTTtzQkFEVCxLQUFLO2dCQWtEb0MsWUFBWTtzQkFBckQsV0FBVzt1QkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IERhdGF0YWJsZUNvbXBvbmVudCB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9kYXRhdGFibGUnXG5pbXBvcnQgeyBnZXRLbm93bkljb24sIFNlYW1JY29uLCBUaGVTZWFtSWNvblR5cGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vaWNvbidcbmltcG9ydCB7IFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3RhYmxlJ1xuaW1wb3J0IHsgVGFibGVDZWxsVHlwZXNIZWxwZXJzU2VydmljZSwgVEFCTEVfQ0VMTF9EQVRBIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZSdcbmltcG9ydCB0eXBlIHsgVGFibGVDZWxsRGF0YSwgVGhlU2VhbVRhYmxlQ29sdW1uIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZSdcblxuaW1wb3J0IHsgVGFibGVDZWxsVHlwZUNvbmZpZ0ljb24sIFRhYmxlQ2VsbFR5cGVJY29uQ29uZmlnQWN0aW9uIH0gZnJvbSAnLi90YWJsZS1jZWxsLXR5cGUtaWNvbi1jb25maWcnXG5cbmV4cG9ydCB0eXBlIEljb25UZW1wbGF0ZVR5cGUgPSAnZGVmYXVsdCcgfCAnbGluaycgfCAnbGluay1leHRlcm5hbCcgfCAnbGluay1lbmNyeXB0ZWQnIHwgJ2J1dHRvbidcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VhbS10YWJsZS1jZWxsLXR5cGUtaWNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1jZWxsLXR5cGUtaWNvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLWNlbGwtdHlwZS1pY29uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ2VsbFR5cGVJY29uQ29tcG9uZW50PFIgPSBhbnksIFYgPSBhbnk+IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9uZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxuXG4gIEBJbnB1dCgpXG4gIGdldCB2YWx1ZSgpIHsgcmV0dXJuIHRoaXMuX3ZhbHVlIH1cbiAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsKSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZVxuICAgIHRoaXMuX2ljb24gPSB2YWx1ZSA/IGdldEtub3duSWNvbih2YWx1ZSkgfHwgdmFsdWUgOiB2YWx1ZVxuICB9XG4gIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgQElucHV0KClcbiAgZ2V0IGNvbmZpZygpIHsgcmV0dXJuIHRoaXMuX2NvbmZpZyB9XG4gIHNldCBjb25maWcodmFsdWU6IFRhYmxlQ2VsbFR5cGVDb25maWdJY29uIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIHRoaXMuX2NvbmZpZyA9IHZhbHVlXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnNldEFjdGlvbih2YWx1ZS5hY3Rpb24pXG4gICAgICB0aGlzLl9saW5rQ2xhc3MgPSB0aGlzLl9wYXJzZUNvbmZpZ1ZhbHVlKHZhbHVlLmxpbmtDbGFzcylcbiAgICAgIHRoaXMuX2ljb25DbGFzcyA9IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUodmFsdWUuaWNvbkNsYXNzKVxuICAgICAgdGhpcy5faWNvblR5cGUgPSB2YWx1ZS5pY29uVHlwZVxuICAgICAgdGhpcy5fdGl0bGUgPSB0aGlzLl9wYXJzZUNvbmZpZ1ZhbHVlKHZhbHVlLnRpdGxlQXR0cilcbiAgICAgIHRoaXMuX3NyT25seSA9IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUodmFsdWUuc3JPbmx5KVxuICAgICAgdGhpcy5fdG9vbHRpcCA9IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUodmFsdWUudG9vbHRpcClcbiAgICAgIGlmICh0aGlzLl90b29sdGlwKSB7XG4gICAgICAgIHRoaXMuX3Rvb2x0aXBDbGFzcyA9IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUodmFsdWUudG9vbHRpcENsYXNzKVxuICAgICAgICB0aGlzLl90b29sdGlwUGxhY2VtZW50ID0gdGhpcy5fcGFyc2VDb25maWdWYWx1ZSh2YWx1ZS50b29sdGlwUGxhY2VtZW50KSB8fCAnYXV0bydcbiAgICAgICAgdGhpcy5fdG9vbHRpcENvbnRhaW5lciA9IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUodmFsdWUudG9vbHRpcENvbnRhaW5lcilcbiAgICAgICAgdGhpcy5fdG9vbHRpcERpc2FibGVkID0gZmFsc2VcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3Rvb2x0aXBEaXNhYmxlZCA9IHRydWVcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfY29uZmlnOiBUYWJsZUNlbGxUeXBlQ29uZmlnSWNvbiB8IHVuZGVmaW5lZCB8IG51bGxcblxuICBfaWNvbjogU2VhbUljb24gfCB1bmRlZmluZWQgfCBudWxsXG4gIF9saW5rPzogc3RyaW5nXG4gIF9xdWVyeVBhcmFtcz86IHsgW2s6IHN0cmluZ106IGFueSB9XG4gIF90cGxUeXBlOiBJY29uVGVtcGxhdGVUeXBlID0gJ2RlZmF1bHQnXG4gIF90aXRsZT86IHN0cmluZ1xuICBfc3JPbmx5Pzogc3RyaW5nXG4gIF9saW5rQ2xhc3M/OiBzdHJpbmdcbiAgX2ljb25DbGFzcz86IHN0cmluZ1xuICBfaWNvblR5cGU/OiBUaGVTZWFtSWNvblR5cGVcbiAgX3RhcmdldD86IHN0cmluZ1xuICBfdG9vbHRpcD86IHN0cmluZ1xuICBfdG9vbHRpcENsYXNzPzogc3RyaW5nXG4gIF90b29sdGlwUGxhY2VtZW50Pzogc3RyaW5nXG4gIF90b29sdGlwQ29udGFpbmVyPzogc3RyaW5nXG4gIF90b29sdGlwRGlzYWJsZWQgPSB0cnVlXG5cbiAgX2J1dHRvbkFjdGlvbj86IFRhYmxlQ2VsbFR5cGVJY29uQ29uZmlnQWN0aW9uXG5cbiAgX3RhYmxlQ2VsbERhdGE/OiBUYWJsZUNlbGxEYXRhPCdpY29uJywgVGFibGVDZWxsVHlwZUNvbmZpZ0ljb24+XG4gIF9yb3c/OiBhbnlcbiAgX3Jvd0luZGV4PzogbnVtYmVyXG4gIF9jb2xEYXRhPzogVGhlU2VhbVRhYmxlQ29sdW1uPCdpY29uJywgVGFibGVDZWxsVHlwZUNvbmZpZ0ljb24+XG5cbiAgX2Rvd25sb2FkPzogYm9vbGVhblxuICBfZGV0ZWN0TWltZUNvbnRlbnQ/OiBib29sZWFuXG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kYXRhdGFibGUtY2VsbC10eXBlJykgX2lzRGF0YXRhYmxlID0gZmFsc2VcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jZGY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgX3RhYmxlQ2VsbFR5cGVIZWxwZXJzOiBUYWJsZUNlbGxUeXBlc0hlbHBlcnNTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2RhdGF0YWJsZT86IERhdGF0YWJsZUNvbXBvbmVudCxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF90YWJsZT86IFRhYmxlQ29tcG9uZW50LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVEFCTEVfQ0VMTF9EQVRBKSBfdGFibGVEYXRhPzogVGFibGVDZWxsRGF0YTwnaWNvbicsIFRhYmxlQ2VsbFR5cGVDb25maWdJY29uPlxuICApIHtcbiAgICBpZiAoX2RhdGF0YWJsZSkge1xuICAgICAgdGhpcy5faXNEYXRhdGFibGUgPSB0cnVlXG4gICAgICAvLyBjb25zb2xlLmxvZygnaXNEYXRhVGFibGUnKVxuICAgIH1cbiAgICAvLyBpZiAoX3RhYmxlKSB7XG4gICAgLy8gICBjb25zb2xlLmxvZygnaXNUYWJsZScpXG4gICAgLy8gfVxuXG4gICAgY29uc3QgX2RhdGEgPSBfdGFibGVEYXRhXG4gICAgdGhpcy5fdGFibGVDZWxsRGF0YSA9IF90YWJsZURhdGFcblxuICAgIHRoaXMuX3JvdyA9IF9kYXRhICYmIF9kYXRhLnJvd1xuICAgIHRoaXMuX3Jvd0luZGV4ID0gX2RhdGEgJiYgX2RhdGEucm93SW5kZXhcblxuICAgIHRoaXMudmFsdWUgPSBfZGF0YSAmJiBfZGF0YS52YWx1ZVxuICAgIHRoaXMuX2NvbERhdGEgPSBfZGF0YSAmJiBfZGF0YS5jb2xEYXRhXG4gICAgaWYgKF9kYXRhICYmIF9kYXRhLmNvbERhdGEgJiYgKF9kYXRhLmNvbERhdGEgYXMgYW55KS5jZWxsVHlwZUNvbmZpZykge1xuICAgICAgdGhpcy5jb25maWcgPSAoX2RhdGEuY29sRGF0YSBhcyBhbnkpLmNlbGxUeXBlQ29uZmlnXG4gICAgfVxuXG4gICAgaWYgKF9kYXRhKSB7XG4gICAgICBfZGF0YS5jaGFuZ2VkXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSh2ID0+IHtcbiAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHYuY2hhbmdlcywgJ3ZhbHVlJykpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2LmNoYW5nZXMudmFsdWUuY3VycmVudFZhbHVlXG4gICAgICAgICAgICB0aGlzLmNvbmZpZyA9IHRoaXMuX2NvbmZpZ1xuICAgICAgICAgICAgdGhpcy5fY2RmLm1hcmtGb3JDaGVjaygpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2LmNoYW5nZXMsICdjb2xEYXRhJykpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbERhdGEgPSB2LmNoYW5nZXMuY29sRGF0YS5jdXJyZW50VmFsdWVcbiAgICAgICAgICAgIGlmIChjb2xEYXRhICYmIGNvbERhdGEuY2VsbFR5cGVDb25maWcgIT09IHRoaXMuY29uZmlnKSB7XG4gICAgICAgICAgICAgIHRoaXMuY29uZmlnID0gY29sRGF0YS5jZWxsVHlwZUNvbmZpZ1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5jb25maWcgPSB1bmRlZmluZWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX2NkZi5tYXJrRm9yQ2hlY2soKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHYuY2hhbmdlcywgJ3JvdycpKSB7XG4gICAgICAgICAgICAgIHRoaXMuX2NkZi5tYXJrRm9yQ2hlY2soKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLm5leHQodW5kZWZpbmVkKVxuICAgIHRoaXMuX25nVW5zdWJzY3JpYmUuY29tcGxldGUoKVxuICB9XG5cbiAgcHVibGljIHNldEFjdGlvbihjb25maWdBY3Rpb24/OiBUYWJsZUNlbGxUeXBlSWNvbkNvbmZpZ0FjdGlvbikge1xuICAgIGxldCBuZXdUcGxUeXBlOiBJY29uVGVtcGxhdGVUeXBlID0gJ2RlZmF1bHQnXG4gICAgbGV0IGxpbms6IHN0cmluZyB8IHVuZGVmaW5lZFxuICAgIGxldCBkb3dubG9hZCA9IGZhbHNlXG4gICAgbGV0IGRldGVjdE1pbWVDb250ZW50ID0gZmFsc2VcbiAgICBsZXQgdGFyZ2V0OiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgICBsZXQgcXVlcnlQYXJhbXM6IHsgW2w6IHN0cmluZ106IGFueSB9IHwgdW5kZWZpbmVkXG5cbiAgICBpZiAoY29uZmlnQWN0aW9uKSB7XG4gICAgICBpZiAoY29uZmlnQWN0aW9uLnR5cGUgPT09ICdsaW5rJykge1xuICAgICAgICBsaW5rID0gdGhpcy5fcGFyc2VDb25maWdWYWx1ZShjb25maWdBY3Rpb24ubGluaylcbiAgICAgICAgaWYgKGxpbmsgIT09IHVuZGVmaW5lZCAmJiBsaW5rICE9PSBudWxsKSB7XG4gICAgICAgICAgbmV3VHBsVHlwZSA9IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUoY29uZmlnQWN0aW9uLmFzc2V0KVxuICAgICAgICAgICAgPyAnbGluay1lbmNyeXB0ZWQnXG4gICAgICAgICAgICA6IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUoY29uZmlnQWN0aW9uLmV4dGVybmFsKSA/ICdsaW5rLWV4dGVybmFsJyA6ICdsaW5rJ1xuICAgICAgICAgIGRvd25sb2FkID0gISF0aGlzLl9wYXJzZUNvbmZpZ1ZhbHVlKGNvbmZpZ0FjdGlvbi5kb3dubG9hZClcbiAgICAgICAgICBkZXRlY3RNaW1lQ29udGVudCA9ICEhdGhpcy5fcGFyc2VDb25maWdWYWx1ZShjb25maWdBY3Rpb24uZGV0ZWN0TWltZUNvbnRlbnQpXG4gICAgICAgICAgdGFyZ2V0ID0gdGhpcy5fcGFyc2VDb25maWdWYWx1ZShjb25maWdBY3Rpb24udGFyZ2V0KVxuICAgICAgICAgIHF1ZXJ5UGFyYW1zID0gdGhpcy5fcGFyc2VDb25maWdWYWx1ZShjb25maWdBY3Rpb24ucXVlcnlQYXJhbXMpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoY29uZmlnQWN0aW9uLnR5cGUgPT09ICdtb2RhbCcpIHtcbiAgICAgICAgbmV3VHBsVHlwZSA9ICdidXR0b24nXG4gICAgICAgIHRoaXMuX2J1dHRvbkFjdGlvbiA9IGNvbmZpZ0FjdGlvblxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuX3RwbFR5cGUgPSBuZXdUcGxUeXBlXG4gICAgdGhpcy5fbGluayA9IGxpbmtcbiAgICB0aGlzLl9kb3dubG9hZCA9IGRvd25sb2FkXG4gICAgdGhpcy5fZGV0ZWN0TWltZUNvbnRlbnQgPSBkZXRlY3RNaW1lQ29udGVudFxuICAgIHRoaXMuX3RhcmdldCA9IHRhcmdldFxuICAgIHRoaXMuX3F1ZXJ5UGFyYW1zID0gcXVlcnlQYXJhbXNcbiAgfVxuXG4gIHByaXZhdGUgX3BhcnNlQ29uZmlnVmFsdWUodmFsOiBhbnkpIHtcbiAgICBjb25zdCBjb250ZXh0Rm4gPSAoKSA9PiB0aGlzLl90YWJsZUNlbGxUeXBlSGVscGVycy5nZXRWYWx1ZUNvbnRleHQodmFsLCB0aGlzLl90YWJsZUNlbGxEYXRhKVxuICAgIHJldHVybiB0aGlzLl90YWJsZUNlbGxUeXBlSGVscGVycy5wYXJzZVZhbHVlUHJvcCh2YWwsIGNvbnRleHRGbilcbiAgfVxuXG4gIF9kb0J1dHRvbkFjdGlvbigpIHtcbiAgICBpZiAodGhpcy5fYnV0dG9uQWN0aW9uICYmIHRoaXMuX2J1dHRvbkFjdGlvbi50eXBlID09PSAnbW9kYWwnKSB7XG4gICAgICBjb25zdCBjb250ZXh0Rm4gPSAoKSA9PiB0aGlzLl90YWJsZUNlbGxUeXBlSGVscGVycy5nZXRWYWx1ZUNvbnRleHQodGhpcy52YWx1ZSwgdGhpcy5fdGFibGVDZWxsRGF0YSlcbiAgICAgIHRoaXMuX3RhYmxlQ2VsbFR5cGVIZWxwZXJzLmhhbmRsZU1vZGFsQWN0aW9uKHRoaXMuX2J1dHRvbkFjdGlvbiwgY29udGV4dEZuKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIHIgPT4ge30sXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICBlcnIgPT4gY29uc29sZS5lcnJvcihlcnIpLFxuICAgICAgICAgICgpID0+IHRoaXMuX2FjdGlvblJlZnJlc2hSZXF1ZXN0KClcbiAgICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2FjdGlvblJlZnJlc2hSZXF1ZXN0KCkge1xuICAgIGlmICh0aGlzLl9kYXRhdGFibGUpIHtcbiAgICAgIHRoaXMuX2RhdGF0YWJsZS50cmlnZ2VyQWN0aW9uUmVmcmVzaFJlcXVlc3QoKVxuICAgIH0gZWxzZSBpZiAodGhpcy5fdGFibGUpIHtcbiAgICAgIHRoaXMuX3RhYmxlLnRyaWdnZXJBY3Rpb25SZWZyZXNoUmVxdWVzdCgpXG4gICAgfVxuICB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJfaWNvblwiPlxuICA8ZGl2ICpuZ0lmPVwiIV90cGxUeXBlIHx8IF90cGxUeXBlID09PSAnZGVmYXVsdCdcIlxuICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiXG4gICAgW2NsYXNzLmRhdGF0YWJsZS1pY29uLWZpeF09XCJfaXNEYXRhdGFibGVcIj5cbiAgICA8YSBjbGFzcz1cImQtYmxvY2sgbS1hdXRve3sgX2xpbmtDbGFzcyA/ICcgJyArIF9saW5rQ2xhc3MgOiAnJyB9fVwiXG4gICAgICBbYXR0ci50aXRsZV09XCJfdG9vbHRpcERpc2FibGVkID8gX3RpdGxlIDogdW5kZWZpbmVkXCJcbiAgICAgIFthdHRyLnRhcmdldF09XCJfdGFyZ2V0XCJcbiAgICAgIFtuZ2JUb29sdGlwXT1cIl90b29sdGlwXCJcbiAgICAgIFt0b29sdGlwQ2xhc3NdPVwiJGFueShfdG9vbHRpcENsYXNzKVwiXG4gICAgICBbcGxhY2VtZW50XT1cIiRhbnkoX3Rvb2x0aXBQbGFjZW1lbnQpXCJcbiAgICAgIFtjb250YWluZXJdPVwiJGFueShfdG9vbHRpcENvbnRhaW5lcilcIlxuICAgICAgW2Rpc2FibGVUb29sdGlwXT1cIl90b29sdGlwRGlzYWJsZWRcIj5cbiAgICAgIDxzZWFtLWljb24gW2ljb25dPVwiX2ljb25cIiBzaXplPVwibGdcIiBbaWNvblR5cGVdPVwiX2ljb25UeXBlXCIgW2ljb25DbGFzc109XCJfaWNvbkNsYXNzIHx8ICcnXCI+PC9zZWFtLWljb24+XG4gICAgICA8c3BhbiAqbmdJZj1cIl9zck9ubHlcIiBjbGFzcz1cInNyLW9ubHlcIj57eyBfc3JPbmx5IH19PC9zcGFuPlxuICAgIDwvYT5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cIl90cGxUeXBlID09PSAnbGluaydcIlxuICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiXG4gICAgW2NsYXNzLmRhdGF0YWJsZS1pY29uLWZpeF09XCJfaXNEYXRhdGFibGVcIj5cbiAgICA8YSBjbGFzcz1cImQtYmxvY2sgbS1hdXRve3sgX2xpbmtDbGFzcyA/ICcgJyArIF9saW5rQ2xhc3MgOiAnJyB9fVwiXG4gICAgICBbcm91dGVyTGlua109XCJfbGlua1wiXG4gICAgICBbcXVlcnlQYXJhbXNdPVwiX3F1ZXJ5UGFyYW1zXCJcbiAgICAgIFthdHRyLnRpdGxlXT1cIl90b29sdGlwRGlzYWJsZWQgPyBfdGl0bGUgOiB1bmRlZmluZWRcIlxuICAgICAgW2F0dHIudGFyZ2V0XT1cIl90YXJnZXRcIlxuICAgICAgW25nYlRvb2x0aXBdPVwiX3Rvb2x0aXBcIlxuICAgICAgW3Rvb2x0aXBDbGFzc109XCIkYW55KF90b29sdGlwQ2xhc3MpXCJcbiAgICAgIFtwbGFjZW1lbnRdPVwiJGFueShfdG9vbHRpcFBsYWNlbWVudClcIlxuICAgICAgW2NvbnRhaW5lcl09XCIkYW55KF90b29sdGlwQ29udGFpbmVyKVwiXG4gICAgICBbZGlzYWJsZVRvb2x0aXBdPVwiX3Rvb2x0aXBEaXNhYmxlZFwiPlxuICAgICAgPHNlYW0taWNvbiAqbmdJZj1cIl9pY29uXCIgW2ljb25dPVwiX2ljb25cIiBzaXplPVwibGdcIiBbaWNvblR5cGVdPVwiX2ljb25UeXBlXCIgW2ljb25DbGFzc109XCJfaWNvbkNsYXNzXCI+PC9zZWFtLWljb24+XG4gICAgICA8c3BhbiAqbmdJZj1cIl9zck9ubHlcIiBjbGFzcz1cInNyLW9ubHlcIj57eyBfc3JPbmx5IH19PC9zcGFuPlxuICAgIDwvYT5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cIl90cGxUeXBlID09PSAnbGluay1leHRlcm5hbCdcIlxuICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiXG4gICAgW2NsYXNzLmRhdGF0YWJsZS1pY29uLWZpeF09XCJfaXNEYXRhdGFibGVcIj5cbiAgICA8YSBjbGFzcz1cImQtYmxvY2sgbS1hdXRve3sgX2xpbmtDbGFzcyA/ICcgJyArIF9saW5rQ2xhc3MgOiAnJyB9fVwiXG4gICAgICBbYXR0ci5ocmVmXT1cIl9saW5rXCJcbiAgICAgIFthdHRyLnRpdGxlXT1cIl90b29sdGlwRGlzYWJsZWQgPyBfdGl0bGUgOiB1bmRlZmluZWRcIlxuICAgICAgW2F0dHIudGFyZ2V0XT1cIl90YXJnZXRcIlxuICAgICAgW25nYlRvb2x0aXBdPVwiX3Rvb2x0aXBcIlxuICAgICAgW3Rvb2x0aXBDbGFzc109XCIkYW55KF90b29sdGlwQ2xhc3MpXCJcbiAgICAgIFtwbGFjZW1lbnRdPVwiJGFueShfdG9vbHRpcFBsYWNlbWVudClcIlxuICAgICAgW2NvbnRhaW5lcl09XCIkYW55KF90b29sdGlwQ29udGFpbmVyKVwiXG4gICAgICBbZGlzYWJsZVRvb2x0aXBdPVwiX3Rvb2x0aXBEaXNhYmxlZFwiPlxuICAgICAgPHNlYW0taWNvbiAqbmdJZj1cIl9pY29uXCIgW2ljb25dPVwiX2ljb25cIiBzaXplPVwibGdcIiBbaWNvblR5cGVdPVwiX2ljb25UeXBlXCIgW2ljb25DbGFzc109XCJfaWNvbkNsYXNzXCI+PC9zZWFtLWljb24+XG4gICAgICA8c3BhbiAqbmdJZj1cIl9zck9ubHlcIiBjbGFzcz1cInNyLW9ubHlcIj57eyBfc3JPbmx5IH19PC9zcGFuPlxuICAgIDwvYT5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cIl90cGxUeXBlID09PSAnbGluay1lbmNyeXB0ZWQnXCJcbiAgICBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIlxuICAgIFtjbGFzcy5kYXRhdGFibGUtaWNvbi1maXhdPVwiX2lzRGF0YXRhYmxlXCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcC0wIG0tYXV0b3t7IF9saW5rQ2xhc3MgPyAnICcgKyBfbGlua0NsYXNzIDogJycgfX1cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbc2VhbUVuY3J5cHRlZEFzc2V0TGlua109XCJfbGlua1wiXG4gICAgICBbc2VhbURldGVjdE1pbWVGcm9tQ29udGVudF09XCJfZGV0ZWN0TWltZUNvbnRlbnRcIlxuICAgICAgW3NlYW1Eb3dubG9hZEFzc2V0XT1cIl9kb3dubG9hZFwiXG4gICAgICBbYXR0ci50aXRsZV09XCJfdG9vbHRpcERpc2FibGVkID8gX3RpdGxlIDogdW5kZWZpbmVkXCJcbiAgICAgIFtuZ2JUb29sdGlwXT1cIl90b29sdGlwXCJcbiAgICAgIFt0b29sdGlwQ2xhc3NdPVwiJGFueShfdG9vbHRpcENsYXNzKVwiXG4gICAgICBbcGxhY2VtZW50XT1cIiRhbnkoX3Rvb2x0aXBQbGFjZW1lbnQpXCJcbiAgICAgIFtjb250YWluZXJdPVwiJGFueShfdG9vbHRpcENvbnRhaW5lcilcIlxuICAgICAgW2Rpc2FibGVUb29sdGlwXT1cIl90b29sdGlwRGlzYWJsZWRcIj5cbiAgICAgIDxzZWFtLWljb24gKm5nSWY9XCJfaWNvblwiIGljb25UeXBlPVwic3R5bGVkLXNxdWFyZVwiIFtpY29uXT1cIl9pY29uXCIgc2l6ZT1cImxnXCIgW2ljb25UeXBlXT1cIl9pY29uVHlwZVwiIFtpY29uQ2xhc3NdPVwiX2ljb25DbGFzc1wiPjwvc2VhbS1pY29uPlxuICAgICAgPHNwYW4gKm5nSWY9XCJfc3JPbmx5XCIgY2xhc3M9XCJzci1vbmx5XCI+e3sgX3NyT25seSB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cIl90cGxUeXBlID09PSAnYnV0dG9uJ1wiXG4gICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCJcbiAgICBbY2xhc3MuZGF0YXRhYmxlLWljb24tZml4XT1cIl9pc0RhdGF0YWJsZVwiXG4gICAgKGNsaWNrKT1cIl9kb0J1dHRvbkFjdGlvbigpXCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgcC0wIG0tYXV0b3t7IF9saW5rQ2xhc3MgPyAnICcgKyBfbGlua0NsYXNzIDogJycgfX1cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbYXR0ci50aXRsZV09XCJfdG9vbHRpcERpc2FibGVkID8gX3RpdGxlIDogdW5kZWZpbmVkXCJcbiAgICAgIFtuZ2JUb29sdGlwXT1cIl90b29sdGlwXCJcbiAgICAgIFt0b29sdGlwQ2xhc3NdPVwiJGFueShfdG9vbHRpcENsYXNzKVwiXG4gICAgICBbcGxhY2VtZW50XT1cIiRhbnkoX3Rvb2x0aXBQbGFjZW1lbnQpXCJcbiAgICAgIFtjb250YWluZXJdPVwiJGFueShfdG9vbHRpcENvbnRhaW5lcilcIlxuICAgICAgW2Rpc2FibGVUb29sdGlwXT1cIl90b29sdGlwRGlzYWJsZWRcIj5cbiAgICAgIDxzZWFtLWljb24gKm5nSWY9XCJfaWNvblwiIGljb25UeXBlPVwic3R5bGVkLXNxdWFyZVwiIFtpY29uXT1cIl9pY29uXCIgc2l6ZT1cImxnXCIgW2ljb25UeXBlXT1cIl9pY29uVHlwZVwiIFtpY29uQ2xhc3NdPVwiX2ljb25DbGFzc1wiPjwvc2VhbS1pY29uPlxuICAgICAgPHNwYW4gKm5nSWY9XCJfc3JPbmx5XCIgY2xhc3M9XCJzci1vbmx5XCI+e3sgX3NyT25seSB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -22,29 +22,29 @@ export class TableCellTypeIntegerComponent {
22
22
  tableData.changed
23
23
  .pipe(takeUntil(this._ngUnsubscribe))
24
24
  .subscribe(v => {
25
- if (v.changes.hasOwnProperty('value')) {
25
+ if (Object.prototype.hasOwnProperty.call(v.changes, 'value')) {
26
26
  this.value = this._formatInteger(v.changes.value.currentValue, tableData);
27
27
  this._cdf.markForCheck();
28
28
  }
29
- if (v.changes.hasOwnProperty('colData')) {
29
+ if (Object.prototype.hasOwnProperty.call(v.changes, 'colData')) {
30
30
  this.colData = v.changes.colData.currentValue;
31
31
  this._cdf.markForCheck();
32
32
  }
33
33
  });
34
34
  }
35
35
  }
36
- ngOnInit() { }
37
36
  ngOnDestroy() {
38
37
  this._ngUnsubscribe.next(undefined);
39
38
  this._ngUnsubscribe.complete();
40
39
  }
41
40
  _formatInteger(currentValue, tableData) {
42
41
  const config = tableData?.colData?.cellTypeConfig;
43
- const defaultToEmpty = notNullOrUndefined(config?.defaultToEmpty) ?
44
- this._parseConfigValue(coerceBooleanProperty(config?.defaultToEmpty), tableData) : true;
45
- const formatInteger = notNullOrUndefined(config?.formatNumber) ?
46
- this._parseConfigValue(coerceBooleanProperty(config?.formatNumber), tableData) : true;
47
- const valueIsNumeric = isNumeric(currentValue);
42
+ const defaultToEmpty = notNullOrUndefined(config?.defaultToEmpty)
43
+ ? this._parseConfigValue(coerceBooleanProperty(config?.defaultToEmpty), tableData) : true;
44
+ const formatInteger = notNullOrUndefined(config?.formatNumber)
45
+ ? this._parseConfigValue(coerceBooleanProperty(config?.formatNumber), tableData) : true;
46
+ let _currentValue = currentValue;
47
+ const valueIsNumeric = isNumeric(_currentValue);
48
48
  // unparseable values are OK to return as long as we're not trying to format them
49
49
  if (!valueIsNumeric && formatInteger) {
50
50
  if (defaultToEmpty) {
@@ -53,22 +53,22 @@ export class TableCellTypeIntegerComponent {
53
53
  }
54
54
  else {
55
55
  // set non-numeric value to 0 so it can be formatted the same as other numbers
56
- currentValue = 0;
56
+ _currentValue = 0;
57
57
  }
58
58
  }
59
59
  const locale = this._parseConfigValue(config?.locale, tableData) || 'en-US';
60
60
  const minIntegerDigits = this._parseConfigValue(config?.minIntegerDigits, tableData) || 1;
61
61
  const format = `${minIntegerDigits}.0-0`;
62
- return formatInteger ? formatNumber(currentValue, locale, format) : currentValue;
62
+ return formatInteger ? formatNumber(_currentValue, locale, format) : _currentValue;
63
63
  }
64
64
  _parseConfigValue(val, tableData) {
65
65
  const contextFn = () => this._tableCellTypeHelpers.getValueContext(val, tableData);
66
66
  return this._tableCellTypeHelpers.parseValueProp(val, contextFn);
67
67
  }
68
68
  }
69
- TableCellTypeIntegerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TableCellTypeIntegerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TableCellTypesHelpersService }, { token: TABLE_CELL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
70
- TableCellTypeIntegerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: TableCellTypeIntegerComponent, selector: "seam-table-cell-type-integer", inputs: { value: "value" }, ngImport: i0, template: "<div [class]=\"'text-' + textAlign\">\n <seam-table-cell-type-selector\n type=\"string\"\n [value]=\"value\"\n [rowIndex]=\"rowIndex\"\n [row]=\"row\"\n [colData]=\"colData\"></seam-table-cell-type-selector>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.TableCellTypeSelectorComponent, selector: "seam-table-cell-type-selector", inputs: ["type", "value", "rowIndex", "row", "colData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TableCellTypeIntegerComponent, decorators: [{
69
+ TableCellTypeIntegerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableCellTypeIntegerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TableCellTypesHelpersService }, { token: TABLE_CELL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
70
+ TableCellTypeIntegerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableCellTypeIntegerComponent, selector: "seam-table-cell-type-integer", inputs: { value: "value" }, ngImport: i0, template: "<div [class]=\"'text-' + textAlign\">\n <seam-table-cell-type-selector\n type=\"string\"\n [value]=\"value\"\n [rowIndex]=\"rowIndex\"\n [row]=\"row\"\n [colData]=\"colData\"></seam-table-cell-type-selector>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.TableCellTypeSelectorComponent, selector: "seam-table-cell-type-selector", inputs: ["type", "value", "rowIndex", "row", "colData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableCellTypeIntegerComponent, decorators: [{
72
72
  type: Component,
73
73
  args: [{ selector: 'seam-table-cell-type-integer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"'text-' + textAlign\">\n <seam-table-cell-type-selector\n type=\"string\"\n [value]=\"value\"\n [rowIndex]=\"rowIndex\"\n [row]=\"row\"\n [colData]=\"colData\"></seam-table-cell-type-selector>\n</div>\n" }]
74
74
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.TableCellTypesHelpersService }, { type: undefined, decorators: [{
@@ -79,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
79
79
  }] }]; }, propDecorators: { value: [{
80
80
  type: Input
81
81
  }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC10eXBlLWludGVnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZXMvdGFibGUtY2VsbC10eXBlLWludGVnZXIvdGFibGUtY2VsbC10eXBlLWludGVnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZXMvdGFibGUtY2VsbC10eXBlLWludGVnZXIvdGFibGUtY2VsbC10eXBlLWludGVnZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNqSSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzlCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUxQyxPQUFPLEVBQWdDLGVBQWUsRUFBc0IsTUFBTSxvQ0FBb0MsQ0FBQTtBQUV0SCxPQUFPLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7OztBQVM3RCxNQUFNLE9BQU8sNkJBQTZCO0lBV3hDLFlBQ1UsSUFBdUIsRUFDdkIscUJBQW1ELEVBQ3RCLFVBQWlFO1FBRjlGLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3ZCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBOEI7UUFYNUMsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFBO1FBY25ELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQTtRQUM1QixJQUFJ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QWdCLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3pGLE1BQU0sTUFBTSxHQUFHLEdBQUksZ0JBQWlCLE1BQU0sQ0FBQTtRQUUxQyxPQUFPLGFBQWEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQTtJQUNuRixDQUFDO0lBRU8saUJBQWlCLENBQUMsR0FBUyxFQUFFLFNBQWdFO1FBQ25HLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQ2xGLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDbEUsQ0FBQzs7MEhBNUVVLDZCQUE2QiwrRkFjbEIsZUFBZTs4R0FkMUIsNkJBQTZCLGdHQ2xCMUMsMk9BUUE7MkZEVWEsNkJBQTZCO2tCQU56QyxTQUFTOytCQUNFLDhCQUE4QixtQkFHdkIsdUJBQXVCLENBQUMsTUFBTTs7MEJBZ0I1QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGVBQWU7NENBVjVCLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcm1hdE51bWJlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHsgVGFibGVDZWxsVHlwZXNIZWxwZXJzU2VydmljZSwgVEFCTEVfQ0VMTF9EQVRBLCBUaGVTZWFtVGFibGVDb2x1bW4gfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdGFibGUtY2VsbC10eXBlJ1xuaW1wb3J0IHR5cGUgeyBUYWJsZUNlbGxEYXRhIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZSdcbmltcG9ydCB7IGlzTnVtZXJpYywgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3V0aWxzJ1xuXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nXG5pbXBvcnQgeyBUYWJsZUNlbGxUeXBlQ29uZmlnSW50ZWdlciB9IGZyb20gJy4vdGFibGUtY2VsbC10eXBlLWludGVnZXItY29uZmlnJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLXRhYmxlLWNlbGwtdHlwZS1pbnRlZ2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWNlbGwtdHlwZS1pbnRlZ2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY2VsbC10eXBlLWludGVnZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDZWxsVHlwZUludGVnZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcblxuICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxuXG4gIHJvdz86IGFueVxuICByb3dJbmRleD86IG51bWJlclxuICBjb2xEYXRhPzogVGhlU2VhbVRhYmxlQ29sdW1uPCdpbnRlZ2VyJywgVGFibGVDZWxsVHlwZUNvbmZpZ0ludGVnZXI+XG4gIHRleHRBbGlnbj86ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0J1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NkZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfdGFibGVDZWxsVHlwZUhlbHBlcnM6IFRhYmxlQ2VsbFR5cGVzSGVscGVyc1NlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChUQUJMRV9DRUxMX0RBVEEpIF90YWJsZURhdGE/OiBUYWJsZUNlbGxEYXRhPCdpbnRlZ2VyJywgVGFibGVDZWxsVHlwZUNvbmZpZ0ludGVnZXI+XG4gICkge1xuICAgIGNvbnN0IHRhYmxlRGF0YSA9IF90YWJsZURhdGFcbiAgICB0aGlzLnZhbHVlID0gdGFibGVEYXRhICYmIHRoaXMuX2Zvcm1hdEludGVnZXIodGFibGVEYXRhLnZhbHVlLCB0YWJsZURhdGEpXG4gICAgdGhpcy5yb3cgPSB0YWJsZURhdGEgJiYgdGFibGVEYXRhLnJvd1xuICAgIHRoaXMucm93SW5kZXggPSB0YWJsZURhdGEgJiYgdGFibGVEYXRhLnJvd0luZGV4XG4gICAgdGhpcy5jb2xEYXRhID0gdGFibGVEYXRhICYmIHRhYmxlRGF0YS5jb2xEYXRhXG4gICAgdGhpcy50ZXh0QWxpZ24gPSB0aGlzLl9wYXJzZUNvbmZpZ1ZhbHVlKHRhYmxlRGF0YT8uY29sRGF0YT8uY2VsbFR5cGVDb25maWc/LnRleHRBbGlnbiwgdGFibGVEYXRhKSB8fCAncmlnaHQnXG5cbiAgICBpZiAodGFibGVEYXRhKSB7XG4gICAgICB0YWJsZURhdGEuY2hhbmdlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUodiA9PiB7XG4gICAgICAgICAgaWYgKHYuY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuX2Zvcm1hdEludGVnZXIodi5jaGFuZ2VzLnZhbHVlLmN1cnJlbnRWYWx1ZSwgdGFibGVEYXRhKVxuICAgICAgICAgICAgdGhpcy5fY2RmLm1hcmtGb3JDaGVjaygpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHYuY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eSgnY29sRGF0YScpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbERhdGEgPSB2LmNoYW5nZXMuY29sRGF0YS5jdXJyZW50VmFsdWVcbiAgICAgICAgICAgIHRoaXMuX2NkZi5tYXJrRm9yQ2hlY2soKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5uZXh0KHVuZGVmaW5lZClcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKClcbiAgfVxuXG4gIHByaXZhdGUgX2Zvcm1hdEludGVnZXIoY3VycmVudFZhbHVlPzogYW55LCB0YWJsZURhdGE/OiBUYWJsZUNlbGxEYXRhPCdpbnRlZ2VyJywgVGFibGVDZWxsVHlwZUNvbmZpZ0ludGVnZXI+IHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb25maWcgPSB0YWJsZURhdGE/LmNvbERhdGE/LmNlbGxUeXBlQ29uZmlnXG4gICAgY29uc3QgZGVmYXVsdFRvRW1wdHkgPSBub3ROdWxsT3JVbmRlZmluZWQoY29uZmlnPy5kZWZhdWx0VG9FbXB0eSkgP1xuICAgICAgdGhpcy5fcGFyc2VDb25maWdWYWx1ZShjb2VyY2VCb29sZWFuUHJvcGVydHkoY29uZmlnPy5kZWZhdWx0VG9FbXB0eSksIHRhYmxlRGF0YSkgOiB0cnVlXG4gICAgY29uc3QgZm9ybWF0SW50ZWdlciA9IG5vdE51bGxPclVuZGVmaW5lZChjb25maWc/LmZvcm1hdE51bWJlcikgP1xuICAgICAgdGhpcy5fcGFyc2VDb25maWdWYWx1ZShjb2VyY2VCb29sZWFuUHJvcGVydHkoY29uZmlnPy5mb3JtYXROdW1iZXIpLCB0YWJsZURhdGEpIDogdHJ1ZVxuICAgIGNvbnN0IHZhbHVlSXNOdW1lcmljID0gaXNOdW1lcmljKGN1cnJlbnRWYWx1ZSlcblxuICAgIC8vIHVucGFyc2VhYmxlIHZhbHVlcyBhcmUgT0sgdG8gcmV0dXJuIGFzIGxvbmcgYXMgd2UncmUgbm90IHRyeWluZyB0byBmb3JtYXQgdGhlbVxuICAgIGlmICghdmFsdWVJc051bWVyaWMgJiYgZm9ybWF0SW50ZWdlcikge1xuICAgICAgaWYgKGRlZmF1bHRUb0VtcHR5KSB7XG4gICAgICAgIC8vIHJldHVybiBlbXB0eSBzdHJpbmcgaW5zdGVhZCBvZiAwIHdoZW4gY3VycmVudFZhbHVlIGlzIGVtcHR5IG9yIHVucGFyc2VhYmxlXG4gICAgICAgIHJldHVybiAnJ1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gc2V0IG5vbi1udW1lcmljIHZhbHVlIHRvIDAgc28gaXQgY2FuIGJlIGZvcm1hdHRlZCB0aGUgc2FtZSBhcyBvdGhlciBudW1iZXJzXG4gICAgICAgIGN1cnJlbnRWYWx1ZSA9IDBcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBsb2NhbGUgPSB0aGlzLl9wYXJzZUNvbmZpZ1ZhbHVlKGNvbmZpZz8ubG9jYWxlLCB0YWJsZURhdGEpIHx8ICdlbi1VUydcbiAgICBjb25zdCBtaW5JbnRlZ2VyRGlnaXRzID0gdGhpcy5fcGFyc2VDb25maWdWYWx1ZShjb25maWc/Lm1pbkludGVnZXJEaWdpdHMsIHRhYmxlRGF0YSkgfHwgMVxuICAgIGNvbnN0IGZvcm1hdCA9IGAkeyBtaW5JbnRlZ2VyRGlnaXRzIH0uMC0wYFxuXG4gICAgcmV0dXJuIGZvcm1hdEludGVnZXIgPyBmb3JtYXROdW1iZXIoY3VycmVudFZhbHVlLCBsb2NhbGUsIGZvcm1hdCApIDogY3VycmVudFZhbHVlXG4gIH1cblxuICBwcml2YXRlIF9wYXJzZUNvbmZpZ1ZhbHVlKHZhbD86IGFueSwgdGFibGVEYXRhPzogVGFibGVDZWxsRGF0YTwnaW50ZWdlcicsIFRhYmxlQ2VsbFR5cGVDb25maWdJbnRlZ2VyPikge1xuICAgIGNvbnN0IGNvbnRleHRGbiA9ICgpID0+IHRoaXMuX3RhYmxlQ2VsbFR5cGVIZWxwZXJzLmdldFZhbHVlQ29udGV4dCh2YWwsIHRhYmxlRGF0YSlcbiAgICByZXR1cm4gdGhpcy5fdGFibGVDZWxsVHlwZUhlbHBlcnMucGFyc2VWYWx1ZVByb3AodmFsLCBjb250ZXh0Rm4pXG4gIH1cblxufVxuIiwiPGRpdiBbY2xhc3NdPVwiJ3RleHQtJyArIHRleHRBbGlnblwiPlxuICA8c2VhbS10YWJsZS1jZWxsLXR5cGUtc2VsZWN0b3JcbiAgICB0eXBlPVwic3RyaW5nXCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIFtyb3dJbmRleF09XCJyb3dJbmRleFwiXG4gICAgW3Jvd109XCJyb3dcIlxuICAgIFtjb2xEYXRhXT1cImNvbERhdGFcIj48L3NlYW0tdGFibGUtY2VsbC10eXBlLXNlbGVjdG9yPlxuPC9kaXY+XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC10eXBlLWludGVnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZXMvdGFibGUtY2VsbC10eXBlLWludGVnZXIvdGFibGUtY2VsbC10eXBlLWludGVnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZXMvdGFibGUtY2VsbC10eXBlLWludGVnZXIvdGFibGUtY2VsbC10eXBlLWludGVnZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNqSSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzlCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUxQyxPQUFPLEVBQWdDLGVBQWUsRUFBc0IsTUFBTSxvQ0FBb0MsQ0FBQTtBQUV0SCxPQUFPLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7OztBQVM3RCxNQUFNLE9BQU8sNkJBQTZCO0lBV3hDLFlBQ1UsSUFBdUIsRUFDdkIscUJBQW1ELEVBQ3RCLFVBQWlFO1FBRjlGLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ3ZCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBOEI7UUFYNUMsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFBO1FBY25ELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQTtRQUM1QixJQUFJ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QUksT0FBTyxDQUFBO1FBQzNFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDekYsTUFBTSxNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsTUFBTSxDQUFBO1FBRXhDLE9BQU8sYUFBYSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFBO0lBQ3BGLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxHQUFTLEVBQUUsU0FBZ0U7UUFDbkcsTUFBTSxTQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUE7UUFDbEYsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNsRSxDQUFDOzswSEEzRVUsNkJBQTZCLCtGQWNsQixlQUFlOzhHQWQxQiw2QkFBNkIsZ0dDbEIxQywyT0FRQTsyRkRVYSw2QkFBNkI7a0JBTnpDLFNBQVM7K0JBQ0UsOEJBQThCLG1CQUd2Qix1QkFBdUIsQ0FBQyxNQUFNOzswQkFnQjVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZTs0Q0FWNUIsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9ybWF0TnVtYmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBUYWJsZUNlbGxUeXBlc0hlbHBlcnNTZXJ2aWNlLCBUQUJMRV9DRUxMX0RBVEEsIFRoZVNlYW1UYWJsZUNvbHVtbiB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGUnXG5pbXBvcnQgdHlwZSB7IFRhYmxlQ2VsbERhdGEgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdGFibGUtY2VsbC10eXBlJ1xuaW1wb3J0IHsgaXNOdW1lcmljLCBub3ROdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdXRpbHMnXG5cbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbidcbmltcG9ydCB7IFRhYmxlQ2VsbFR5cGVDb25maWdJbnRlZ2VyIH0gZnJvbSAnLi90YWJsZS1jZWxsLXR5cGUtaW50ZWdlci1jb25maWcnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlYW0tdGFibGUtY2VsbC10eXBlLWludGVnZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY2VsbC10eXBlLWludGVnZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1jZWxsLXR5cGUtaW50ZWdlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNlbGxUeXBlSW50ZWdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcblxuICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxuXG4gIHJvdz86IGFueVxuICByb3dJbmRleD86IG51bWJlclxuICBjb2xEYXRhPzogVGhlU2VhbVRhYmxlQ29sdW1uPCdpbnRlZ2VyJywgVGFibGVDZWxsVHlwZUNvbmZpZ0ludGVnZXI+XG4gIHRleHRBbGlnbj86ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0J1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NkZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfdGFibGVDZWxsVHlwZUhlbHBlcnM6IFRhYmxlQ2VsbFR5cGVzSGVscGVyc1NlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChUQUJMRV9DRUxMX0RBVEEpIF90YWJsZURhdGE/OiBUYWJsZUNlbGxEYXRhPCdpbnRlZ2VyJywgVGFibGVDZWxsVHlwZUNvbmZpZ0ludGVnZXI+XG4gICkge1xuICAgIGNvbnN0IHRhYmxlRGF0YSA9IF90YWJsZURhdGFcbiAgICB0aGlzLnZhbHVlID0gdGFibGVEYXRhICYmIHRoaXMuX2Zvcm1hdEludGVnZXIodGFibGVEYXRhLnZhbHVlLCB0YWJsZURhdGEpXG4gICAgdGhpcy5yb3cgPSB0YWJsZURhdGEgJiYgdGFibGVEYXRhLnJvd1xuICAgIHRoaXMucm93SW5kZXggPSB0YWJsZURhdGEgJiYgdGFibGVEYXRhLnJvd0luZGV4XG4gICAgdGhpcy5jb2xEYXRhID0gdGFibGVEYXRhICYmIHRhYmxlRGF0YS5jb2xEYXRhXG4gICAgdGhpcy50ZXh0QWxpZ24gPSB0aGlzLl9wYXJzZUNvbmZpZ1ZhbHVlKHRhYmxlRGF0YT8uY29sRGF0YT8uY2VsbFR5cGVDb25maWc/LnRleHRBbGlnbiwgdGFibGVEYXRhKSB8fCAncmlnaHQnXG5cbiAgICBpZiAodGFibGVEYXRhKSB7XG4gICAgICB0YWJsZURhdGEuY2hhbmdlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUodiA9PiB7XG4gICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2LmNoYW5nZXMsICd2YWx1ZScpKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5fZm9ybWF0SW50ZWdlcih2LmNoYW5nZXMudmFsdWUuY3VycmVudFZhbHVlLCB0YWJsZURhdGEpXG4gICAgICAgICAgICB0aGlzLl9jZGYubWFya0ZvckNoZWNrKClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHYuY2hhbmdlcywgJ2NvbERhdGEnKSkge1xuICAgICAgICAgICAgdGhpcy5jb2xEYXRhID0gdi5jaGFuZ2VzLmNvbERhdGEuY3VycmVudFZhbHVlXG4gICAgICAgICAgICB0aGlzLl9jZGYubWFya0ZvckNoZWNrKClcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5uZXh0KHVuZGVmaW5lZClcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKClcbiAgfVxuXG4gIHByaXZhdGUgX2Zvcm1hdEludGVnZXIoY3VycmVudFZhbHVlPzogYW55LCB0YWJsZURhdGE/OiBUYWJsZUNlbGxEYXRhPCdpbnRlZ2VyJywgVGFibGVDZWxsVHlwZUNvbmZpZ0ludGVnZXI+IHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb25maWcgPSB0YWJsZURhdGE/LmNvbERhdGE/LmNlbGxUeXBlQ29uZmlnXG4gICAgY29uc3QgZGVmYXVsdFRvRW1wdHkgPSBub3ROdWxsT3JVbmRlZmluZWQoY29uZmlnPy5kZWZhdWx0VG9FbXB0eSlcbiAgICAgID8gdGhpcy5fcGFyc2VDb25maWdWYWx1ZShjb2VyY2VCb29sZWFuUHJvcGVydHkoY29uZmlnPy5kZWZhdWx0VG9FbXB0eSksIHRhYmxlRGF0YSkgOiB0cnVlXG4gICAgY29uc3QgZm9ybWF0SW50ZWdlciA9IG5vdE51bGxPclVuZGVmaW5lZChjb25maWc/LmZvcm1hdE51bWJlcilcbiAgICAgID8gdGhpcy5fcGFyc2VDb25maWdWYWx1ZShjb2VyY2VCb29sZWFuUHJvcGVydHkoY29uZmlnPy5mb3JtYXROdW1iZXIpLCB0YWJsZURhdGEpIDogdHJ1ZVxuICAgIGxldCBfY3VycmVudFZhbHVlID0gY3VycmVudFZhbHVlXG4gICAgY29uc3QgdmFsdWVJc051bWVyaWMgPSBpc051bWVyaWMoX2N1cnJlbnRWYWx1ZSlcblxuICAgIC8vIHVucGFyc2VhYmxlIHZhbHVlcyBhcmUgT0sgdG8gcmV0dXJuIGFzIGxvbmcgYXMgd2UncmUgbm90IHRyeWluZyB0byBmb3JtYXQgdGhlbVxuICAgIGlmICghdmFsdWVJc051bWVyaWMgJiYgZm9ybWF0SW50ZWdlcikge1xuICAgICAgaWYgKGRlZmF1bHRUb0VtcHR5KSB7XG4gICAgICAgIC8vIHJldHVybiBlbXB0eSBzdHJpbmcgaW5zdGVhZCBvZiAwIHdoZW4gY3VycmVudFZhbHVlIGlzIGVtcHR5IG9yIHVucGFyc2VhYmxlXG4gICAgICAgIHJldHVybiAnJ1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gc2V0IG5vbi1udW1lcmljIHZhbHVlIHRvIDAgc28gaXQgY2FuIGJlIGZvcm1hdHRlZCB0aGUgc2FtZSBhcyBvdGhlciBudW1iZXJzXG4gICAgICAgIF9jdXJyZW50VmFsdWUgPSAwXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbG9jYWxlID0gdGhpcy5fcGFyc2VDb25maWdWYWx1ZShjb25maWc/LmxvY2FsZSwgdGFibGVEYXRhKSB8fCAnZW4tVVMnXG4gICAgY29uc3QgbWluSW50ZWdlckRpZ2l0cyA9IHRoaXMuX3BhcnNlQ29uZmlnVmFsdWUoY29uZmlnPy5taW5JbnRlZ2VyRGlnaXRzLCB0YWJsZURhdGEpIHx8IDFcbiAgICBjb25zdCBmb3JtYXQgPSBgJHttaW5JbnRlZ2VyRGlnaXRzfS4wLTBgXG5cbiAgICByZXR1cm4gZm9ybWF0SW50ZWdlciA/IGZvcm1hdE51bWJlcihfY3VycmVudFZhbHVlLCBsb2NhbGUsIGZvcm1hdCkgOiBfY3VycmVudFZhbHVlXG4gIH1cblxuICBwcml2YXRlIF9wYXJzZUNvbmZpZ1ZhbHVlKHZhbD86IGFueSwgdGFibGVEYXRhPzogVGFibGVDZWxsRGF0YTwnaW50ZWdlcicsIFRhYmxlQ2VsbFR5cGVDb25maWdJbnRlZ2VyPikge1xuICAgIGNvbnN0IGNvbnRleHRGbiA9ICgpID0+IHRoaXMuX3RhYmxlQ2VsbFR5cGVIZWxwZXJzLmdldFZhbHVlQ29udGV4dCh2YWwsIHRhYmxlRGF0YSlcbiAgICByZXR1cm4gdGhpcy5fdGFibGVDZWxsVHlwZUhlbHBlcnMucGFyc2VWYWx1ZVByb3AodmFsLCBjb250ZXh0Rm4pXG4gIH1cblxufVxuIiwiPGRpdiBbY2xhc3NdPVwiJ3RleHQtJyArIHRleHRBbGlnblwiPlxuICA8c2VhbS10YWJsZS1jZWxsLXR5cGUtc2VsZWN0b3JcbiAgICB0eXBlPVwic3RyaW5nXCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgIFtyb3dJbmRleF09XCJyb3dJbmRleFwiXG4gICAgW3Jvd109XCJyb3dcIlxuICAgIFtjb2xEYXRhXT1cImNvbERhdGFcIj48L3NlYW0tdGFibGUtY2VsbC10eXBlLXNlbGVjdG9yPlxuPC9kaXY+XG4iXX0=
@@ -25,11 +25,11 @@ export class TableCellTypePhoneComponent {
25
25
  _data.changed
26
26
  .pipe(takeUntil(this._ngUnsubscribe))
27
27
  .subscribe(v => {
28
- if (v.changes.hasOwnProperty('value')) {
28
+ if (Object.prototype.hasOwnProperty.call(v.changes, 'value')) {
29
29
  this.value = v.changes.value.currentValue;
30
30
  this._cdf.markForCheck();
31
31
  }
32
- if (v.changes.hasOwnProperty('colData')) {
32
+ if (Object.prototype.hasOwnProperty.call(v.changes, 'colData')) {
33
33
  const colData = v.changes.colData.currentValue;
34
34
  if (colData && hasProperty(colData, 'cellTypeConfig') &&
35
35
  hasProperty(colData.cellTypeConfig, 'format') &&
@@ -44,15 +44,14 @@ export class TableCellTypePhoneComponent {
44
44
  });
45
45
  }
46
46
  }
47
- ngOnInit() { }
48
47
  ngOnDestroy() {
49
48
  this._ngUnsubscribe.next(undefined);
50
49
  this._ngUnsubscribe.complete();
51
50
  }
52
51
  }
53
- TableCellTypePhoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TableCellTypePhoneComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TABLE_CELL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
54
- TableCellTypePhoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: TableCellTypePhoneComponent, selector: "seam-table-cell-type-phone", inputs: { value: "value", format: "format" }, ngImport: i0, template: "<ng-container *ngIf=\"((value || '') | phoneNumber: _format) as num\">\n <div class=\"td-text-truncate\" [title]=\"num\">\n {{ num }}\n </div>\n</ng-container>\n<!-- <div class=\"td-text-truncate\" [title]=\"value | phoneNumber: _format\">\n {{ value | date: format || 'yyyy-MM-dd h:mm aaa' }}\n</div> -->\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TheSeamPhoneNumberPipe, name: "phoneNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TableCellTypePhoneComponent, decorators: [{
52
+ TableCellTypePhoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableCellTypePhoneComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TABLE_CELL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
53
+ TableCellTypePhoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TableCellTypePhoneComponent, selector: "seam-table-cell-type-phone", inputs: { value: "value", format: "format" }, ngImport: i0, template: "<ng-container *ngIf=\"((value || '') | phoneNumber: _format) as num\">\n <div class=\"td-text-truncate\" [title]=\"num\">\n {{ num }}\n </div>\n</ng-container>\n<!-- <div class=\"td-text-truncate\" [title]=\"value | phoneNumber: _format\">\n {{ value | date: format || 'yyyy-MM-dd h:mm aaa' }}\n</div> -->\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TheSeamPhoneNumberPipe, name: "phoneNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TableCellTypePhoneComponent, decorators: [{
56
55
  type: Component,
57
56
  args: [{ selector: 'seam-table-cell-type-phone', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"((value || '') | phoneNumber: _format) as num\">\n <div class=\"td-text-truncate\" [title]=\"num\">\n {{ num }}\n </div>\n</ng-container>\n<!-- <div class=\"td-text-truncate\" [title]=\"value | phoneNumber: _format\">\n {{ value | date: format || 'yyyy-MM-dd h:mm aaa' }}\n</div> -->\n" }]
58
57
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
@@ -65,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
65
64
  }], format: [{
66
65
  type: Input
67
66
  }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC10eXBlLXBob25lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGVzL3RhYmxlLWNlbGwtdHlwZS1waG9uZS90YWJsZS1jZWxsLXR5cGUtcGhvbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZXMvdGFibGUtY2VsbC10eXBlLXBob25lL3RhYmxlLWNlbGwtdHlwZS1waG9uZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDakksT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBRXBFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRTNHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7OztBQVV0RCxNQUFNLE9BQU8sMkJBQTJCO0lBU3RDLElBQ0ksTUFBTSxDQUFDLEtBQXFDLElBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDbkcsSUFBSSxNQUFNLEtBQUssT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQztJQUVwQyxZQUNVLElBQXVCLEVBQ00sVUFBNkQ7UUFEMUYsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFaakMsY0FBYztRQUNHLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQTtRQUVyRCxjQUFjO1FBQ2QsWUFBTyxHQUFtQyxtQ0FBbUMsQ0FBQTtRQVczRSxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUE7UUFFeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQTtRQUNqQyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsRUFBRTtZQUNqSCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLE1BQXdDLENBQUE7U0FDcEY7UUFFRCxJQUFJLEtBQUssRUFBRTtZQUNULEtBQUssQ0FBQyxPQUFPO2lCQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2lCQUNwQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRTtvQkFDckMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUE7b0JBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7aUJBQ3pCO2dCQUVELElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQ3ZDLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQTtvQkFDOUMsSUFBSSxPQUFPLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQzt3QkFDbkQsV0FBVyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDO3dCQUM3QyxPQUFPLENBQUMsY0FBYyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxFQUM3Qzt3QkFDQSxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFBO3FCQUM1Qzt5QkFBTTt3QkFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLG1DQUFtQyxDQUFBO3FCQUNsRDtvQkFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO2lCQUN6QjtZQUNILENBQUMsQ0FBQyxDQUFBO1NBQ0w7SUFDSCxDQUFDO0lBRUQsUUFBUSxLQUFLLENBQUM7SUFFZCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNoQyxDQUFDOzt3SEF0RFUsMkJBQTJCLG1EQWVoQixlQUFlOzRHQWYxQiwyQkFBMkIsZ0hDbEJ4QywyVEFRQTsyRkRVYSwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFpQjVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZTs0Q0FQNUIsS0FBSztzQkFBYixLQUFLO2dCQUVGLE1BQU07c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHsgVEFCTEVfQ0VMTF9EQVRBIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZSdcbmltcG9ydCB0eXBlIHsgVGFibGVDZWxsRGF0YSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGUnXG5pbXBvcnQgeyBjb2VyY2VQaG9uZU51bWJlckZvcm1hdCwgVEhFU0VBTV9ERUZBVUxUX1BIT05FX05VTUJFUl9GT1JNQVQgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdGVsLWlucHV0J1xuaW1wb3J0IHR5cGUgeyBpbnRsVGVsSW5wdXRVdGlscyB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90ZWwtaW5wdXQnXG5pbXBvcnQgeyBoYXNQcm9wZXJ0eSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi91dGlscydcblxuaW1wb3J0IHsgVGFibGVDZWxsVHlwZUNvbmZpZ1Bob25lIH0gZnJvbSAnLi90YWJsZS1jZWxsLXR5cGUtcGhvbmUtY29uZmlnJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLXRhYmxlLWNlbGwtdHlwZS1waG9uZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1jZWxsLXR5cGUtcGhvbmUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1jZWxsLXR5cGUtcGhvbmUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDZWxsVHlwZVBob25lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpXG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgX2Zvcm1hdDogaW50bFRlbElucHV0VXRpbHMubnVtYmVyRm9ybWF0ID0gVEhFU0VBTV9ERUZBVUxUX1BIT05FX05VTUJFUl9GT1JNQVRcblxuICBASW5wdXQoKSB2YWx1ZT86IHN0cmluZyB8IG51bGxcbiAgQElucHV0KClcbiAgc2V0IGZvcm1hdCh2YWx1ZTogaW50bFRlbElucHV0VXRpbHMubnVtYmVyRm9ybWF0KSB7IHRoaXMuX2Zvcm1hdCA9IGNvZXJjZVBob25lTnVtYmVyRm9ybWF0KHZhbHVlKSB9XG4gIGdldCBmb3JtYXQoKSB7IHJldHVybiB0aGlzLl9mb3JtYXQgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NkZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChUQUJMRV9DRUxMX0RBVEEpIF90YWJsZURhdGE/OiBUYWJsZUNlbGxEYXRhPCdwaG9uZScsIFRhYmxlQ2VsbFR5cGVDb25maWdQaG9uZT5cbiAgKSB7XG4gICAgY29uc3QgX2RhdGEgPSBfdGFibGVEYXRhXG5cbiAgICB0aGlzLnZhbHVlID0gX2RhdGEgJiYgX2RhdGEudmFsdWVcbiAgICBpZiAoX2RhdGEgJiYgX2RhdGEuY29sRGF0YSAmJiBfZGF0YS5jb2xEYXRhLmNlbGxUeXBlQ29uZmlnICYmIGhhc1Byb3BlcnR5KF9kYXRhLmNvbERhdGEuY2VsbFR5cGVDb25maWcsICdmb3JtYXQnKSkge1xuICAgICAgdGhpcy5mb3JtYXQgPSBfZGF0YS5jb2xEYXRhLmNlbGxUeXBlQ29uZmlnLmZvcm1hdCBhcyBpbnRsVGVsSW5wdXRVdGlscy5udW1iZXJGb3JtYXRcbiAgICB9XG5cbiAgICBpZiAoX2RhdGEpIHtcbiAgICAgIF9kYXRhLmNoYW5nZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgICAgIGlmICh2LmNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2LmNoYW5nZXMudmFsdWUuY3VycmVudFZhbHVlXG4gICAgICAgICAgICB0aGlzLl9jZGYubWFya0ZvckNoZWNrKClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodi5jaGFuZ2VzLmhhc093blByb3BlcnR5KCdjb2xEYXRhJykpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbERhdGEgPSB2LmNoYW5nZXMuY29sRGF0YS5jdXJyZW50VmFsdWVcbiAgICAgICAgICAgIGlmIChjb2xEYXRhICYmIGhhc1Byb3BlcnR5KGNvbERhdGEsICdjZWxsVHlwZUNvbmZpZycpICYmXG4gICAgICAgICAgICAgIGhhc1Byb3BlcnR5KGNvbERhdGEuY2VsbFR5cGVDb25maWcsICdmb3JtYXQnKSAmJlxuICAgICAgICAgICAgICBjb2xEYXRhLmNlbGxUeXBlQ29uZmlnLmZvcm1hdCAhPT0gdGhpcy5mb3JtYXRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICB0aGlzLmZvcm1hdCA9IGNvbERhdGEuY2VsbFR5cGVDb25maWcuZm9ybWF0XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmZvcm1hdCA9IFRIRVNFQU1fREVGQVVMVF9QSE9ORV9OVU1CRVJfRk9STUFUXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9jZGYubWFya0ZvckNoZWNrKClcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7IH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLm5leHQodW5kZWZpbmVkKVxuICAgIHRoaXMuX25nVW5zdWJzY3JpYmUuY29tcGxldGUoKVxuICB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIoKHZhbHVlIHx8ICcnKSB8IHBob25lTnVtYmVyOiBfZm9ybWF0KSBhcyBudW1cIj5cbiAgPGRpdiBjbGFzcz1cInRkLXRleHQtdHJ1bmNhdGVcIiBbdGl0bGVdPVwibnVtXCI+XG4gICAge3sgbnVtIH19XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG48IS0tIDxkaXYgY2xhc3M9XCJ0ZC10ZXh0LXRydW5jYXRlXCIgW3RpdGxlXT1cInZhbHVlIHwgcGhvbmVOdW1iZXI6IF9mb3JtYXRcIj5cbiAge3sgdmFsdWUgfCBkYXRlOiBmb3JtYXQgfHwgJ3l5eXktTU0tZGQgaDptbSBhYWEnIH19XG48L2Rpdj4gLS0+XG4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC10eXBlLXBob25lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGVzL3RhYmxlLWNlbGwtdHlwZS1waG9uZS90YWJsZS1jZWxsLXR5cGUtcGhvbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL3RhYmxlLWNlbGwtdHlwZXMvdGFibGUtY2VsbC10eXBlLXBob25lL3RhYmxlLWNlbGwtdHlwZS1waG9uZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN6SCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzlCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFFcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLG1DQUFtQyxFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFFM0csT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFBOzs7O0FBVXRELE1BQU0sT0FBTywyQkFBMkI7SUFTdEMsSUFDSSxNQUFNLENBQUMsS0FBcUMsSUFBSSxJQUFJLENBQUMsT0FBTyxHQUFHLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUNuRyxJQUFJLE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFDO0lBRXBDLFlBQ1UsSUFBdUIsRUFDTSxVQUE2RDtRQUQxRixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQVpqQyxjQUFjO1FBQ0csbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFBO1FBRXJELGNBQWM7UUFDZCxZQUFPLEdBQW1DLG1DQUFtQyxDQUFBO1FBVzNFLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQTtRQUV4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFBO1FBQ2pDLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxFQUFFO1lBQ2pILElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsTUFBd0MsQ0FBQTtTQUNwRjtRQUVELElBQUksS0FBSyxFQUFFO1lBQ1QsS0FBSyxDQUFDLE9BQU87aUJBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7aUJBQ3BDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDYixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFO29CQUM1RCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQTtvQkFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtpQkFDekI7Z0JBRUQsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsRUFBRTtvQkFDOUQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFBO29CQUM5QyxJQUFJLE9BQU8sSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFLGdCQUFnQixDQUFDO3dCQUNuRCxXQUFXLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUM7d0JBQzdDLE9BQU8sQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQzdDO3dCQUNBLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUE7cUJBQzVDO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsbUNBQW1DLENBQUE7cUJBQ2xEO29CQUNELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUE7aUJBQ3pCO1lBQ0gsQ0FBQyxDQUFDLENBQUE7U0FDTDtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNoQyxDQUFDOzt3SEFwRFUsMkJBQTJCLG1EQWVoQixlQUFlOzRHQWYxQiwyQkFBMkIsZ0hDbEJ4QywyVEFRQTsyRkRVYSwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFpQjVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZTs0Q0FQNUIsS0FBSztzQkFBYixLQUFLO2dCQUVGLE1BQU07c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IFRBQkxFX0NFTExfREFUQSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGUnXG5pbXBvcnQgdHlwZSB7IFRhYmxlQ2VsbERhdGEgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdGFibGUtY2VsbC10eXBlJ1xuaW1wb3J0IHsgY29lcmNlUGhvbmVOdW1iZXJGb3JtYXQsIFRIRVNFQU1fREVGQVVMVF9QSE9ORV9OVU1CRVJfRk9STUFUIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3RlbC1pbnB1dCdcbmltcG9ydCB0eXBlIHsgaW50bFRlbElucHV0VXRpbHMgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdGVsLWlucHV0J1xuaW1wb3J0IHsgaGFzUHJvcGVydHkgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdXRpbHMnXG5cbmltcG9ydCB7IFRhYmxlQ2VsbFR5cGVDb25maWdQaG9uZSB9IGZyb20gJy4vdGFibGUtY2VsbC10eXBlLXBob25lLWNvbmZpZydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VhbS10YWJsZS1jZWxsLXR5cGUtcGhvbmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY2VsbC10eXBlLXBob25lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY2VsbC10eXBlLXBob25lLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ2VsbFR5cGVQaG9uZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcblxuICAvKiogQGlnbm9yZSAqL1xuICBfZm9ybWF0OiBpbnRsVGVsSW5wdXRVdGlscy5udW1iZXJGb3JtYXQgPSBUSEVTRUFNX0RFRkFVTFRfUEhPTkVfTlVNQkVSX0ZPUk1BVFxuXG4gIEBJbnB1dCgpIHZhbHVlPzogc3RyaW5nIHwgbnVsbFxuICBASW5wdXQoKVxuICBzZXQgZm9ybWF0KHZhbHVlOiBpbnRsVGVsSW5wdXRVdGlscy5udW1iZXJGb3JtYXQpIHsgdGhpcy5fZm9ybWF0ID0gY29lcmNlUGhvbmVOdW1iZXJGb3JtYXQodmFsdWUpIH1cbiAgZ2V0IGZvcm1hdCgpIHsgcmV0dXJuIHRoaXMuX2Zvcm1hdCB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY2RmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFRBQkxFX0NFTExfREFUQSkgX3RhYmxlRGF0YT86IFRhYmxlQ2VsbERhdGE8J3Bob25lJywgVGFibGVDZWxsVHlwZUNvbmZpZ1Bob25lPlxuICApIHtcbiAgICBjb25zdCBfZGF0YSA9IF90YWJsZURhdGFcblxuICAgIHRoaXMudmFsdWUgPSBfZGF0YSAmJiBfZGF0YS52YWx1ZVxuICAgIGlmIChfZGF0YSAmJiBfZGF0YS5jb2xEYXRhICYmIF9kYXRhLmNvbERhdGEuY2VsbFR5cGVDb25maWcgJiYgaGFzUHJvcGVydHkoX2RhdGEuY29sRGF0YS5jZWxsVHlwZUNvbmZpZywgJ2Zvcm1hdCcpKSB7XG4gICAgICB0aGlzLmZvcm1hdCA9IF9kYXRhLmNvbERhdGEuY2VsbFR5cGVDb25maWcuZm9ybWF0IGFzIGludGxUZWxJbnB1dFV0aWxzLm51bWJlckZvcm1hdFxuICAgIH1cblxuICAgIGlmIChfZGF0YSkge1xuICAgICAgX2RhdGEuY2hhbmdlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUodiA9PiB7XG4gICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2LmNoYW5nZXMsICd2YWx1ZScpKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdi5jaGFuZ2VzLnZhbHVlLmN1cnJlbnRWYWx1ZVxuICAgICAgICAgICAgdGhpcy5fY2RmLm1hcmtGb3JDaGVjaygpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2LmNoYW5nZXMsICdjb2xEYXRhJykpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbERhdGEgPSB2LmNoYW5nZXMuY29sRGF0YS5jdXJyZW50VmFsdWVcbiAgICAgICAgICAgIGlmIChjb2xEYXRhICYmIGhhc1Byb3BlcnR5KGNvbERhdGEsICdjZWxsVHlwZUNvbmZpZycpICYmXG4gICAgICAgICAgICAgIGhhc1Byb3BlcnR5KGNvbERhdGEuY2VsbFR5cGVDb25maWcsICdmb3JtYXQnKSAmJlxuICAgICAgICAgICAgICBjb2xEYXRhLmNlbGxUeXBlQ29uZmlnLmZvcm1hdCAhPT0gdGhpcy5mb3JtYXRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICB0aGlzLmZvcm1hdCA9IGNvbERhdGEuY2VsbFR5cGVDb25maWcuZm9ybWF0XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmZvcm1hdCA9IFRIRVNFQU1fREVGQVVMVF9QSE9ORV9OVU1CRVJfRk9STUFUXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9jZGYubWFya0ZvckNoZWNrKClcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fbmdVbnN1YnNjcmliZS5uZXh0KHVuZGVmaW5lZClcbiAgICB0aGlzLl9uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKClcbiAgfVxuXG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiKCh2YWx1ZSB8fCAnJykgfCBwaG9uZU51bWJlcjogX2Zvcm1hdCkgYXMgbnVtXCI+XG4gIDxkaXYgY2xhc3M9XCJ0ZC10ZXh0LXRydW5jYXRlXCIgW3RpdGxlXT1cIm51bVwiPlxuICAgIHt7IG51bSB9fVxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuPCEtLSA8ZGl2IGNsYXNzPVwidGQtdGV4dC10cnVuY2F0ZVwiIFt0aXRsZV09XCJ2YWx1ZSB8IHBob25lTnVtYmVyOiBfZm9ybWF0XCI+XG4gIHt7IHZhbHVlIHwgZGF0ZTogZm9ybWF0IHx8ICd5eXl5LU1NLWRkIGg6bW0gYWFhJyB9fVxuPC9kaXY+IC0tPlxuIl19