@theseam/ui-common 0.4.0-beta.2 → 0.4.0-beta.4

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 (546) hide show
  1. package/breadcrumbs/breadcrumb.d.ts +1 -1
  2. package/breadcrumbs/breadcrumbs-resolver.d.ts +1 -1
  3. package/core/common-behaviors/active.d.ts +1 -1
  4. package/core/common-behaviors/constructor.d.ts +1 -1
  5. package/core/common-behaviors/disabled.d.ts +1 -1
  6. package/core/common-behaviors/initialized.d.ts +1 -1
  7. package/core/common-behaviors/size.d.ts +1 -1
  8. package/core/common-behaviors/tabindex.d.ts +1 -1
  9. package/core/common-behaviors/theme.d.ts +1 -1
  10. package/data-exporter/data-exporter.d.ts +1 -1
  11. package/data-filters/data-filter.d.ts +3 -3
  12. package/data-filters/filters/data-filter-search/search-filter-options.d.ts +1 -1
  13. package/datatable/datatable-column/datatable-column.component.d.ts +1 -1
  14. package/datatable/models/preferences.d.ts +1 -1
  15. package/datatable/models/table-column.d.ts +1 -1
  16. package/datatable/services/columns-manager.service.d.ts +1 -1
  17. package/datatable-dynamic/datatable-dynamic-def.d.ts +3 -3
  18. package/datatable-dynamic/models/dynamic-datatable-action-menu-record.d.ts +1 -1
  19. package/dynamic/models/dynamic-value-base-type.d.ts +1 -1
  20. package/dynamic/models/dynamic-value-evaluatable-type.d.ts +1 -1
  21. package/dynamic/models/dynamic-value-primitive.d.ts +1 -1
  22. package/dynamic/models/dynamic-value.d.ts +1 -1
  23. package/dynamic/tokens/api-config.d.ts +1 -1
  24. package/esm2020/asset-reader/asset-reader-helper.service.mjs +3 -3
  25. package/esm2020/asset-reader/asset-reader.module.mjs +4 -4
  26. package/esm2020/asset-reader/encrypted-asset-link.directive.mjs +12 -12
  27. package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +3 -3
  28. package/esm2020/breadcrumbs/breadcrumbs.module.mjs +4 -4
  29. package/esm2020/breadcrumbs/breadcrumbs.service.mjs +3 -3
  30. package/esm2020/buttons/badge-button/badge-button.component.mjs +6 -6
  31. package/esm2020/buttons/button/button.component.mjs +9 -9
  32. package/esm2020/buttons/buttons.module.mjs +4 -4
  33. package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +3 -3
  34. package/esm2020/buttons/toggle-button/toggle-button.component.mjs +5 -5
  35. package/esm2020/card/card-action/card-action.component.mjs +3 -3
  36. package/esm2020/card/card-body/card-body.component.mjs +3 -3
  37. package/esm2020/card/card-footer/card-footer.component.mjs +3 -3
  38. package/esm2020/card/card-header/card-header.component.mjs +3 -3
  39. package/esm2020/card/card.component.mjs +3 -3
  40. package/esm2020/card/card.module.mjs +4 -4
  41. package/esm2020/checkbox/checkbox.component.mjs +43 -43
  42. package/esm2020/checkbox/checkbox.module.mjs +4 -4
  43. package/esm2020/checkbox/testing/checkbox.harness.mjs +1 -1
  44. package/esm2020/checkbox/testing/index.mjs +1 -1
  45. package/esm2020/confirm-dialog/confirm-click.directive.mjs +9 -9
  46. package/esm2020/confirm-dialog/confirm-dialog.component.mjs +3 -3
  47. package/esm2020/confirm-dialog/confirm-dialog.module.mjs +4 -4
  48. package/esm2020/confirm-dialog/confirm-dialog.service.mjs +3 -3
  49. package/esm2020/core/common-behaviors/active.mjs +3 -3
  50. package/esm2020/core/common-behaviors/disabled.mjs +3 -3
  51. package/esm2020/core/common-behaviors/size.mjs +6 -6
  52. package/esm2020/core/common-behaviors/tabindex.mjs +5 -5
  53. package/esm2020/core/common-behaviors/theme.mjs +6 -6
  54. package/esm2020/data-exporter/data-exporter.module.mjs +4 -4
  55. package/esm2020/data-exporter/exporters/csv-exporter.mjs +3 -3
  56. package/esm2020/data-exporter/exporters/xlsx-exporter.mjs +3 -3
  57. package/esm2020/data-filters/data-filters.module.mjs +4 -4
  58. package/esm2020/data-filters/filters/data-filter-search/data-filter-search.component.mjs +10 -10
  59. package/esm2020/data-filters/filters/data-filter-text/data-filter-text.component.mjs +10 -10
  60. package/esm2020/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.mjs +11 -11
  61. package/esm2020/datatable/datatable/datatable.component.mjs +108 -108
  62. package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +3 -3
  63. package/esm2020/datatable/datatable-action-menu-item/datatable-action-menu-item.component.mjs +3 -3
  64. package/esm2020/datatable/datatable-column/datatable-column.component.mjs +7 -7
  65. package/esm2020/datatable/datatable-column-preferences/datatable-column-preferences.component.mjs +3 -3
  66. package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +3 -3
  67. package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +7 -7
  68. package/esm2020/datatable/datatable-footer/datatable-footer-tpl.directive.mjs +3 -3
  69. package/esm2020/datatable/datatable-footer/datatable-footer.directive.mjs +3 -3
  70. package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +8 -8
  71. package/esm2020/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.mjs +3 -3
  72. package/esm2020/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.mjs +3 -3
  73. package/esm2020/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.mjs +3 -3
  74. package/esm2020/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.mjs +3 -3
  75. package/esm2020/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.mjs +3 -3
  76. package/esm2020/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.mjs +3 -3
  77. package/esm2020/datatable/datatable-row-detail/datatable-row-detail.directive.mjs +3 -3
  78. package/esm2020/datatable/datatable.module.mjs +4 -4
  79. package/esm2020/datatable/directives/datatable-action-menu-item.directive.mjs +3 -3
  80. package/esm2020/datatable/directives/datatable-action-menu-toggle.directive.mjs +11 -11
  81. package/esm2020/datatable/directives/datatable-cell-tpl.directive.mjs +3 -3
  82. package/esm2020/datatable/directives/datatable-filter.directive.mjs +3 -3
  83. package/esm2020/datatable/directives/datatable-row-action-item.directive.mjs +3 -3
  84. package/esm2020/datatable/services/columns-alterations-manager.service.mjs +3 -3
  85. package/esm2020/datatable/services/columns-manager.service.mjs +3 -3
  86. package/esm2020/datatable/services/datatable-column-changes.service.mjs +3 -3
  87. package/esm2020/datatable/services/datatable-preferences.service.mjs +6 -6
  88. package/esm2020/datatable/services/datatable-scrollbar-helper.service.mjs +3 -3
  89. package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +12 -12
  90. package/esm2020/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.mjs +8 -8
  91. package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.mjs +6 -6
  92. package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +8 -8
  93. package/esm2020/datatable-dynamic/datatable-dynamic.module.mjs +4 -4
  94. package/esm2020/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.mjs +7 -7
  95. package/esm2020/datatable-dynamic/dynamic-datatable-def.service.mjs +3 -3
  96. package/esm2020/datatable-dynamic/dynamic-datatable-row-actions.service.mjs +3 -3
  97. package/esm2020/dynamic/action/api/dynamic-action-api.service.mjs +3 -3
  98. package/esm2020/dynamic/action/dynamic-action-helper.service.mjs +3 -3
  99. package/esm2020/dynamic/action/link/dynamic-action-link.service.mjs +3 -3
  100. package/esm2020/dynamic/action/modal/dynamic-action-modal.service.mjs +3 -3
  101. package/esm2020/dynamic/dynamic-value-helper.service.mjs +3 -3
  102. package/esm2020/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.mjs +3 -3
  103. package/esm2020/dynamic/evaluators/jexl-evaluator/jexl-evaluator.mjs +3 -3
  104. package/esm2020/dynamic-component-loader/dynamic-component-loader.module.mjs +4 -4
  105. package/esm2020/dynamic-component-loader/dynamic-component-loader.service.mjs +3 -3
  106. package/esm2020/footer-bar/footer-bar/footer-bar.component.mjs +3 -3
  107. package/esm2020/footer-bar/footer-bar.module.mjs +4 -4
  108. package/esm2020/form-field/form-field-error.directive.mjs +6 -6
  109. package/esm2020/form-field/form-field-help-text.directive.mjs +3 -3
  110. package/esm2020/form-field/form-field-label-tpl.directive.mjs +3 -3
  111. package/esm2020/form-field/form-field-required-indicator.component.mjs +3 -3
  112. package/esm2020/form-field/form-field-tokens.mjs +1 -1
  113. package/esm2020/form-field/form-field.component.mjs +48 -48
  114. package/esm2020/form-field/form-field.module.mjs +4 -4
  115. package/esm2020/form-field/input.directive.mjs +43 -43
  116. package/esm2020/form-field/testing/form-field-required-indicator.harness.mjs +1 -1
  117. package/esm2020/form-field/testing/index.mjs +1 -1
  118. package/esm2020/form-field-error/form-field-error/form-field-error.component.mjs +3 -3
  119. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.mjs +3 -3
  120. package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item.directive.mjs +3 -3
  121. package/esm2020/form-field-error/form-field-error-list/form-field-error-list.component.mjs +92 -92
  122. package/esm2020/form-field-error/form-field-error.module.mjs +4 -4
  123. package/esm2020/framework/base-layout/base-layout.component.mjs +6 -6
  124. package/esm2020/framework/base-layout/base-layout.module.mjs +4 -4
  125. package/esm2020/framework/base-layout/directives/base-layout-content-footer.directive.mjs +3 -3
  126. package/esm2020/framework/base-layout/directives/base-layout-content-header.directive.mjs +3 -3
  127. package/esm2020/framework/base-layout/directives/base-layout-content.directive.mjs +3 -3
  128. package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +10 -10
  129. package/esm2020/framework/base-layout/directives/base-layout-side-bar-footer.directive.mjs +3 -3
  130. package/esm2020/framework/base-layout/directives/base-layout-side-bar.directive.mjs +3 -3
  131. package/esm2020/framework/base-layout/directives/base-layout-top-bar.directive.mjs +3 -3
  132. package/esm2020/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.mjs +3 -3
  133. package/esm2020/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.mjs +3 -3
  134. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.mjs +3 -3
  135. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.mjs +3 -3
  136. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +18 -18
  137. package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.service.mjs +12 -12
  138. package/esm2020/framework/dashboard/dashboard-widgets-tokens.mjs +1 -1
  139. package/esm2020/framework/dashboard/dashboard.component.mjs +3 -3
  140. package/esm2020/framework/dashboard/dashboard.module.mjs +4 -4
  141. package/esm2020/framework/dynamic-router/dynamic-router.module.mjs +4 -4
  142. package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.mjs +3 -3
  143. package/esm2020/framework/dynamic-router/resolvers/hierarchy-level.resolver.mjs +3 -3
  144. package/esm2020/framework/schema-form/schema-form-framework.component.mjs +3 -3
  145. package/esm2020/framework/schema-form/schema-form-framework.mjs +3 -3
  146. package/esm2020/framework/schema-form/schema-form.module.mjs +4 -4
  147. package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +3 -3
  148. package/esm2020/framework/schema-form-controls/schema-form-controls.module.mjs +4 -4
  149. package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +3 -3
  150. package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +3 -3
  151. package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +3 -3
  152. package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +3 -3
  153. package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +3 -3
  154. package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +24 -24
  155. package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +3 -3
  156. package/esm2020/framework/side-nav/side-nav-tokens.mjs +1 -1
  157. package/esm2020/framework/side-nav/side-nav.component.mjs +17 -17
  158. package/esm2020/framework/side-nav/side-nav.module.mjs +4 -4
  159. package/esm2020/framework/side-nav/side-nav.service.mjs +3 -3
  160. package/esm2020/framework/top-bar/top-bar-item.directive.mjs +3 -3
  161. package/esm2020/framework/top-bar/top-bar-menu-btn-detail.directive.mjs +3 -3
  162. package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +3 -3
  163. package/esm2020/framework/top-bar/top-bar-menu.directive.mjs +3 -3
  164. package/esm2020/framework/top-bar/top-bar-title/top-bar-title.component.mjs +3 -3
  165. package/esm2020/framework/top-bar/top-bar.component.mjs +3 -3
  166. package/esm2020/framework/top-bar/top-bar.module.mjs +4 -4
  167. package/esm2020/google-maps/google-maps/google-maps.component.mjs +17 -17
  168. package/esm2020/google-maps/google-maps-controls.service.mjs +3 -3
  169. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +20 -20
  170. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.mjs +7 -7
  171. package/esm2020/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.mjs +7 -7
  172. package/esm2020/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.mjs +7 -7
  173. package/esm2020/google-maps/google-maps.module.mjs +4 -4
  174. package/esm2020/google-maps/google-maps.service.mjs +5 -5
  175. package/esm2020/google-maps/map-control.component.mjs +9 -9
  176. package/esm2020/google-maps/map-file-drop/map-file-drop.component.mjs +3 -3
  177. package/esm2020/google-maps/map-value-manager.service.mjs +3 -3
  178. package/esm2020/graphql/datatable/datatable-graphql-query-ref.mjs +5 -5
  179. package/esm2020/graphql/datatable/datatable-graphql.service.mjs +3 -3
  180. package/esm2020/icon/icon/icon.component.mjs +3 -3
  181. package/esm2020/icon/icon-btn/icon-btn.component.mjs +24 -24
  182. package/esm2020/icon/icon-notification/icon-notification.component.mjs +3 -3
  183. package/esm2020/icon/icon.module.mjs +4 -4
  184. package/esm2020/layout/layout.module.mjs +4 -4
  185. package/esm2020/layout/layout.service.mjs +3 -3
  186. package/esm2020/loading/loading/loading.component.mjs +7 -7
  187. package/esm2020/loading/loading-overlay.service.mjs +3 -3
  188. package/esm2020/loading/loading.module.mjs +4 -4
  189. package/esm2020/menu/menu-divider.component.mjs +3 -3
  190. package/esm2020/menu/menu-footer/menu-footer.component.mjs +3 -3
  191. package/esm2020/menu/menu-footer-action/menu-footer-action.component.mjs +7 -7
  192. package/esm2020/menu/menu-header/menu-header.component.mjs +3 -3
  193. package/esm2020/menu/menu-item.component.mjs +3 -3
  194. package/esm2020/menu/menu-toggle.directive.mjs +42 -42
  195. package/esm2020/menu/menu.component.mjs +15 -15
  196. package/esm2020/menu/menu.module.mjs +4 -4
  197. package/esm2020/modal/directives/modal-close.directive.mjs +11 -11
  198. package/esm2020/modal/directives/modal-footer-tpl.directive.mjs +3 -3
  199. package/esm2020/modal/directives/modal-header-icon-tpl.directive.mjs +3 -3
  200. package/esm2020/modal/directives/modal-header-title-tpl.directive.mjs +3 -3
  201. package/esm2020/modal/directives/modal-title.directive.mjs +3 -3
  202. package/esm2020/modal/directives/modal.directive.mjs +3 -3
  203. package/esm2020/modal/modal/modal.component.mjs +19 -19
  204. package/esm2020/modal/modal-body/modal-body.component.mjs +3 -3
  205. package/esm2020/modal/modal-container/modal-container.component.mjs +12 -12
  206. package/esm2020/modal/modal-footer/modal-footer.component.mjs +3 -3
  207. package/esm2020/modal/modal-header/modal-header.component.mjs +3 -3
  208. package/esm2020/modal/modal.module.mjs +4 -4
  209. package/esm2020/modal/modal.service.mjs +16 -16
  210. package/esm2020/modal/route-modal/route-modal.component.mjs +3 -3
  211. package/esm2020/popover/popover/popover.component.mjs +18 -18
  212. package/esm2020/popover/popover.directive.mjs +32 -32
  213. package/esm2020/popover/popover.module.mjs +4 -4
  214. package/esm2020/progress/progress-circle/progress-circle.component.mjs +9 -9
  215. package/esm2020/progress/progress.module.mjs +4 -4
  216. package/esm2020/public_api.mjs +1 -42
  217. package/esm2020/scrollbar/overlay-scrollbar.directive.mjs +10 -10
  218. package/esm2020/scrollbar/overlay-scrollbars.service.mjs +3 -3
  219. package/esm2020/scrollbar/scrollbar.module.mjs +4 -4
  220. package/esm2020/services/asset-loader.service.mjs +3 -3
  221. package/esm2020/services/font-loader.service.mjs +3 -3
  222. package/esm2020/services/router-helpers.service.mjs +3 -3
  223. package/esm2020/shared/components/password-input-reveal/password-input-reveal.component.mjs +3 -3
  224. package/esm2020/shared/directives/auto-focus.directive.mjs +3 -3
  225. package/esm2020/shared/directives/click-outside.directive.mjs +9 -9
  226. package/esm2020/shared/directives/disable-control.directive.mjs +7 -7
  227. package/esm2020/shared/directives/elem-resized.directive.mjs +3 -3
  228. package/esm2020/shared/directives/hover-class-toggle.directive.mjs +10 -10
  229. package/esm2020/shared/directives/hover-class.directive.mjs +9 -9
  230. package/esm2020/shared/directives/ng-select-extra.directive.mjs +26 -26
  231. package/esm2020/shared/directives/ngx-quill-extra.directive.mjs +10 -10
  232. package/esm2020/shared/pipes/mask-chars.pipe.mjs +3 -3
  233. package/esm2020/shared/pipes/truncate.pipe.mjs +3 -3
  234. package/esm2020/shared/shared.module.mjs +4 -4
  235. package/esm2020/storage/local-storage.service.mjs +3 -3
  236. package/esm2020/story-helpers/initial-route.service.mjs +3 -3
  237. package/esm2020/story-helpers/story-empty-with-route.component.mjs +3 -3
  238. package/esm2020/story-helpers/story-empty.component.mjs +3 -3
  239. package/esm2020/story-helpers/story-helper-components.module.mjs +4 -4
  240. package/esm2020/story-helpers/story-initial-route.mjs +4 -4
  241. package/esm2020/story-helpers/story-modal-container.component.mjs +6 -6
  242. package/esm2020/story-helpers/story-toastr.service.mjs +3 -3
  243. package/esm2020/tabbed/directives/tabbed-tab-content.directive.mjs +3 -3
  244. package/esm2020/tabbed/directives/tabbed-tab.directive.mjs +3 -3
  245. package/esm2020/tabbed/tabbed-content/tabbed-content.component.mjs +3 -3
  246. package/esm2020/tabbed/tabbed-item/tabbed-item.component.mjs +3 -3
  247. package/esm2020/tabbed/tabbed-models.mjs +1 -1
  248. package/esm2020/tabbed/tabbed.component.mjs +13 -13
  249. package/esm2020/tabbed/tabbed.module.mjs +4 -4
  250. package/esm2020/tabbed/tabbed.service.mjs +3 -3
  251. package/esm2020/table/table/table.component.mjs +11 -11
  252. package/esm2020/table/table.module.mjs +4 -4
  253. package/esm2020/table-cell-type/services/table-cell-types-helpers.service.mjs +3 -3
  254. package/esm2020/table-cell-type/table-cell-type-selector.component.mjs +3 -3
  255. package/esm2020/table-cell-type/table-cell-type.module.mjs +4 -4
  256. package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.mjs +3 -3
  257. package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date.component.mjs +3 -3
  258. package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.mjs +3 -3
  259. package/esm2020/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.mjs +31 -31
  260. package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.mjs +3 -3
  261. package/esm2020/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.mjs +6 -6
  262. package/esm2020/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.mjs +3 -3
  263. package/esm2020/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.mjs +3 -3
  264. package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +23 -23
  265. package/esm2020/table-cell-types/table-cell-types.module.mjs +4 -4
  266. package/esm2020/tel-input/phone-number.pipe.mjs +3 -3
  267. package/esm2020/tel-input/tel-input/tel-input.component.mjs +34 -34
  268. package/esm2020/tel-input/tel-input.directive.mjs +18 -18
  269. package/esm2020/tel-input/tel-input.module.mjs +4 -4
  270. package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +20 -20
  271. package/esm2020/tiled-select/components/tiled-select-tile/tiled-select-tile.component.mjs +6 -6
  272. package/esm2020/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.mjs +10 -10
  273. package/esm2020/tiled-select/directives/tiled-select-tile-icon-tpl.directive.mjs +3 -3
  274. package/esm2020/tiled-select/directives/tiled-select-tile-label-tpl.directive.mjs +3 -3
  275. package/esm2020/tiled-select/directives/tiled-select-tile-overlay.directive.mjs +3 -3
  276. package/esm2020/tiled-select/tiled-select.module.mjs +4 -4
  277. package/esm2020/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.mjs +3 -3
  278. package/esm2020/toggle-edit/toggle-edit-display-tpl.directive.mjs +3 -3
  279. package/esm2020/toggle-edit/toggle-edit-keyboard-listener.service.mjs +3 -3
  280. package/esm2020/toggle-edit/toggle-edit.component.mjs +16 -16
  281. package/esm2020/toggle-edit/toggle-edit.module.mjs +4 -4
  282. package/esm2020/toggle-group/toggle-group-option.directive.mjs +12 -12
  283. package/esm2020/toggle-group/toggle-group.directive.mjs +3 -3
  284. package/esm2020/toggle-group/toggle-group.module.mjs +4 -4
  285. package/esm2020/unsaved-changes-dialog/unsaved-changes-can-deactivate.mjs +3 -3
  286. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +3 -3
  287. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.guard.mjs +3 -3
  288. package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +4 -4
  289. package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
  290. package/esm2020/utils/geo-json/geo-json-to-area.mjs +1 -1
  291. package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
  292. package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
  293. package/esm2020/utils/geo-json/is-only-geometry-types.validator.mjs +1 -1
  294. package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
  295. package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
  296. package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
  297. package/esm2020/viewers/html-template-viewer/html-template-viewer.component.mjs +37 -37
  298. package/esm2020/viewers/html-template-viewer/html-template-viewer.module.mjs +4 -4
  299. package/esm2020/viewers/pdf-viewer/pdf-page/pdf-page.component.mjs +10 -10
  300. package/esm2020/viewers/pdf-viewer/pdf-renderer.service.mjs +3 -3
  301. package/esm2020/viewers/pdf-viewer/pdf-viewer.component.mjs +38 -38
  302. package/esm2020/viewers/pdf-viewer/pdf-viewer.module.mjs +4 -4
  303. package/esm2020/widget/directives/widget-drag-handle.directive.mjs +12 -12
  304. package/esm2020/widget/directives/widget-icon-tpl.directive.mjs +3 -3
  305. package/esm2020/widget/directives/widget-title-tpl.directive.mjs +3 -3
  306. package/esm2020/widget/widget/widget.component.mjs +23 -23
  307. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.component.mjs +3 -3
  308. package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.module.mjs +4 -4
  309. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.component.mjs +3 -3
  310. package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.module.mjs +4 -4
  311. package/esm2020/widget/widget-content-components/widget-description/widget-description.component.mjs +3 -3
  312. package/esm2020/widget/widget-content-components/widget-description/widget-description.module.mjs +4 -4
  313. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.component.mjs +7 -7
  314. package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.module.mjs +4 -4
  315. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.component.mjs +3 -3
  316. package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.module.mjs +4 -4
  317. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.component.mjs +3 -3
  318. package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.module.mjs +4 -4
  319. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.component.mjs +3 -3
  320. package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.module.mjs +4 -4
  321. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.mjs +3 -3
  322. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.mjs +15 -15
  323. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.component.mjs +3 -3
  324. package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.module.mjs +4 -4
  325. package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +3 -3
  326. package/esm2020/widget/widget-content-components/widget-table/widget-table.module.mjs +4 -4
  327. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.mjs +3 -3
  328. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.mjs +8 -8
  329. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.mjs +3 -3
  330. package/esm2020/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.mjs +3 -3
  331. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.component.mjs +16 -16
  332. package/esm2020/widget/widget-content-components/widget-tile/widget-tile.module.mjs +4 -4
  333. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.component.mjs +3 -3
  334. package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.module.mjs +4 -4
  335. package/esm2020/widget/widget-footer/widget-footer.component.mjs +3 -3
  336. package/esm2020/widget/widget-registry.service.mjs +3 -3
  337. package/esm2020/widget/widget.module.mjs +4 -4
  338. package/fesm2015/theseam-ui-common-asset-reader.mjs +18 -18
  339. package/fesm2015/theseam-ui-common-asset-reader.mjs.map +1 -1
  340. package/fesm2015/theseam-ui-common-breadcrumbs.mjs +10 -10
  341. package/fesm2015/theseam-ui-common-buttons.mjs +26 -26
  342. package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
  343. package/fesm2015/theseam-ui-common-card.mjs +19 -19
  344. package/fesm2015/theseam-ui-common-checkbox.mjs +46 -46
  345. package/fesm2015/theseam-ui-common-checkbox.mjs.map +1 -1
  346. package/fesm2015/theseam-ui-common-confirm-dialog.mjs +18 -18
  347. package/fesm2015/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  348. package/fesm2015/theseam-ui-common-core.mjs +18 -18
  349. package/fesm2015/theseam-ui-common-core.mjs.map +1 -1
  350. package/fesm2015/theseam-ui-common-data-exporter.mjs +10 -10
  351. package/fesm2015/theseam-ui-common-data-filters.mjs +32 -32
  352. package/fesm2015/theseam-ui-common-data-filters.mjs.map +1 -1
  353. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +46 -46
  354. package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  355. package/fesm2015/theseam-ui-common-datatable.mjs +208 -208
  356. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  357. package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs +7 -7
  358. package/fesm2015/theseam-ui-common-dynamic.mjs +21 -21
  359. package/fesm2015/theseam-ui-common-footer-bar.mjs +7 -7
  360. package/fesm2015/theseam-ui-common-form-field-error.mjs +104 -104
  361. package/fesm2015/theseam-ui-common-form-field-error.mjs.map +1 -1
  362. package/fesm2015/theseam-ui-common-form-field.mjs +107 -107
  363. package/fesm2015/theseam-ui-common-form-field.mjs.map +1 -1
  364. package/fesm2015/theseam-ui-common-framework.mjs +196 -196
  365. package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
  366. package/fesm2015/theseam-ui-common-google-maps.mjs +78 -78
  367. package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
  368. package/fesm2015/theseam-ui-common-graphql.mjs +7 -7
  369. package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
  370. package/fesm2015/theseam-ui-common-icon.mjs +33 -33
  371. package/fesm2015/theseam-ui-common-icon.mjs.map +1 -1
  372. package/fesm2015/theseam-ui-common-layout.mjs +7 -7
  373. package/fesm2015/theseam-ui-common-loading.mjs +13 -13
  374. package/fesm2015/theseam-ui-common-loading.mjs.map +1 -1
  375. package/fesm2015/theseam-ui-common-menu.mjs +79 -79
  376. package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
  377. package/fesm2015/theseam-ui-common-modal.mjs +85 -85
  378. package/fesm2015/theseam-ui-common-modal.mjs.map +1 -1
  379. package/fesm2015/theseam-ui-common-popover.mjs +52 -52
  380. package/fesm2015/theseam-ui-common-popover.mjs.map +1 -1
  381. package/fesm2015/theseam-ui-common-progress.mjs +12 -12
  382. package/fesm2015/theseam-ui-common-progress.mjs.map +1 -1
  383. package/fesm2015/theseam-ui-common-scrollbar.mjs +16 -16
  384. package/fesm2015/theseam-ui-common-scrollbar.mjs.map +1 -1
  385. package/fesm2015/theseam-ui-common-services.mjs +9 -9
  386. package/fesm2015/theseam-ui-common-shared.mjs +84 -84
  387. package/fesm2015/theseam-ui-common-shared.mjs.map +1 -1
  388. package/fesm2015/theseam-ui-common-storage.mjs +3 -3
  389. package/fesm2015/theseam-ui-common-story-helpers.mjs +25 -25
  390. package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
  391. package/fesm2015/theseam-ui-common-tabbed.mjs +31 -31
  392. package/fesm2015/theseam-ui-common-tabbed.mjs.map +1 -1
  393. package/fesm2015/theseam-ui-common-table-cell-type.mjs +10 -10
  394. package/fesm2015/theseam-ui-common-table-cell-types.mjs +80 -80
  395. package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
  396. package/fesm2015/theseam-ui-common-table.mjs +14 -14
  397. package/fesm2015/theseam-ui-common-table.mjs.map +1 -1
  398. package/fesm2015/theseam-ui-common-tel-input.mjs +59 -59
  399. package/fesm2015/theseam-ui-common-tel-input.mjs.map +1 -1
  400. package/fesm2015/theseam-ui-common-tiled-select.mjs +46 -46
  401. package/fesm2015/theseam-ui-common-tiled-select.mjs.map +1 -1
  402. package/fesm2015/theseam-ui-common-toggle-edit.mjs +28 -28
  403. package/fesm2015/theseam-ui-common-toggle-edit.mjs.map +1 -1
  404. package/fesm2015/theseam-ui-common-toggle-group.mjs +18 -18
  405. package/fesm2015/theseam-ui-common-toggle-group.mjs.map +1 -1
  406. package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
  407. package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
  408. package/fesm2015/theseam-ui-common-viewers.mjs +93 -93
  409. package/fesm2015/theseam-ui-common-viewers.mjs.map +1 -1
  410. package/fesm2015/theseam-ui-common-widget.mjs +175 -175
  411. package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
  412. package/fesm2015/theseam-ui-common.mjs +0 -41
  413. package/fesm2015/theseam-ui-common.mjs.map +1 -1
  414. package/fesm2020/theseam-ui-common-asset-reader.mjs +18 -18
  415. package/fesm2020/theseam-ui-common-asset-reader.mjs.map +1 -1
  416. package/fesm2020/theseam-ui-common-breadcrumbs.mjs +10 -10
  417. package/fesm2020/theseam-ui-common-buttons.mjs +26 -26
  418. package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
  419. package/fesm2020/theseam-ui-common-card.mjs +19 -19
  420. package/fesm2020/theseam-ui-common-checkbox.mjs +46 -46
  421. package/fesm2020/theseam-ui-common-checkbox.mjs.map +1 -1
  422. package/fesm2020/theseam-ui-common-confirm-dialog.mjs +18 -18
  423. package/fesm2020/theseam-ui-common-confirm-dialog.mjs.map +1 -1
  424. package/fesm2020/theseam-ui-common-core.mjs +18 -18
  425. package/fesm2020/theseam-ui-common-core.mjs.map +1 -1
  426. package/fesm2020/theseam-ui-common-data-exporter.mjs +10 -10
  427. package/fesm2020/theseam-ui-common-data-filters.mjs +32 -32
  428. package/fesm2020/theseam-ui-common-data-filters.mjs.map +1 -1
  429. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +46 -46
  430. package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
  431. package/fesm2020/theseam-ui-common-datatable.mjs +208 -208
  432. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  433. package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs +7 -7
  434. package/fesm2020/theseam-ui-common-dynamic.mjs +21 -21
  435. package/fesm2020/theseam-ui-common-footer-bar.mjs +7 -7
  436. package/fesm2020/theseam-ui-common-form-field-error.mjs +104 -104
  437. package/fesm2020/theseam-ui-common-form-field-error.mjs.map +1 -1
  438. package/fesm2020/theseam-ui-common-form-field.mjs +107 -107
  439. package/fesm2020/theseam-ui-common-form-field.mjs.map +1 -1
  440. package/fesm2020/theseam-ui-common-framework.mjs +196 -196
  441. package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
  442. package/fesm2020/theseam-ui-common-google-maps.mjs +78 -78
  443. package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
  444. package/fesm2020/theseam-ui-common-graphql.mjs +7 -7
  445. package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
  446. package/fesm2020/theseam-ui-common-icon.mjs +33 -33
  447. package/fesm2020/theseam-ui-common-icon.mjs.map +1 -1
  448. package/fesm2020/theseam-ui-common-layout.mjs +7 -7
  449. package/fesm2020/theseam-ui-common-loading.mjs +13 -13
  450. package/fesm2020/theseam-ui-common-loading.mjs.map +1 -1
  451. package/fesm2020/theseam-ui-common-menu.mjs +77 -77
  452. package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
  453. package/fesm2020/theseam-ui-common-modal.mjs +85 -85
  454. package/fesm2020/theseam-ui-common-modal.mjs.map +1 -1
  455. package/fesm2020/theseam-ui-common-popover.mjs +52 -52
  456. package/fesm2020/theseam-ui-common-popover.mjs.map +1 -1
  457. package/fesm2020/theseam-ui-common-progress.mjs +12 -12
  458. package/fesm2020/theseam-ui-common-progress.mjs.map +1 -1
  459. package/fesm2020/theseam-ui-common-scrollbar.mjs +16 -16
  460. package/fesm2020/theseam-ui-common-scrollbar.mjs.map +1 -1
  461. package/fesm2020/theseam-ui-common-services.mjs +9 -9
  462. package/fesm2020/theseam-ui-common-shared.mjs +84 -84
  463. package/fesm2020/theseam-ui-common-shared.mjs.map +1 -1
  464. package/fesm2020/theseam-ui-common-storage.mjs +3 -3
  465. package/fesm2020/theseam-ui-common-story-helpers.mjs +25 -25
  466. package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
  467. package/fesm2020/theseam-ui-common-tabbed.mjs +31 -31
  468. package/fesm2020/theseam-ui-common-tabbed.mjs.map +1 -1
  469. package/fesm2020/theseam-ui-common-table-cell-type.mjs +10 -10
  470. package/fesm2020/theseam-ui-common-table-cell-types.mjs +80 -80
  471. package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
  472. package/fesm2020/theseam-ui-common-table.mjs +14 -14
  473. package/fesm2020/theseam-ui-common-table.mjs.map +1 -1
  474. package/fesm2020/theseam-ui-common-tel-input.mjs +57 -57
  475. package/fesm2020/theseam-ui-common-tel-input.mjs.map +1 -1
  476. package/fesm2020/theseam-ui-common-tiled-select.mjs +46 -46
  477. package/fesm2020/theseam-ui-common-tiled-select.mjs.map +1 -1
  478. package/fesm2020/theseam-ui-common-toggle-edit.mjs +28 -28
  479. package/fesm2020/theseam-ui-common-toggle-edit.mjs.map +1 -1
  480. package/fesm2020/theseam-ui-common-toggle-group.mjs +18 -18
  481. package/fesm2020/theseam-ui-common-toggle-group.mjs.map +1 -1
  482. package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
  483. package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
  484. package/fesm2020/theseam-ui-common-viewers.mjs +93 -93
  485. package/fesm2020/theseam-ui-common-viewers.mjs.map +1 -1
  486. package/fesm2020/theseam-ui-common-widget.mjs +175 -175
  487. package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
  488. package/fesm2020/theseam-ui-common.mjs +0 -41
  489. package/fesm2020/theseam-ui-common.mjs.map +1 -1
  490. package/framework/base-layout/base-layout-action.d.ts +1 -1
  491. package/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.d.ts +1 -1
  492. package/framework/side-nav/side-nav.models.d.ts +1 -1
  493. package/google-maps/google-maps/google-maps.component.d.ts +0 -1
  494. package/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.d.ts +0 -4
  495. package/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.d.ts +0 -4
  496. package/google-maps/google-maps.service.d.ts +0 -2
  497. package/google-maps/map-controls-service.d.ts +0 -1
  498. package/google-maps/map-value-manager.service.d.ts +1 -1
  499. package/graphql/datatable/datatable-graphql-query-ref.d.ts +2 -2
  500. package/graphql/datatable/datatable-graphql.service.d.ts +1 -1
  501. package/graphql/datatable/datatable-helpers.d.ts +2 -2
  502. package/graphql/datatable/map-filter-states.d.ts +2 -2
  503. package/graphql/datatable/map-page-info.d.ts +1 -1
  504. package/graphql/datatable/mapper-context.d.ts +1 -1
  505. package/graphql/models/gql-datatable-accessor.d.ts +1 -1
  506. package/graphql/models/hint-transformer.d.ts +1 -1
  507. package/icon/icon/icon.component.d.ts +1 -1
  508. package/icon/icon.d.ts +1 -1
  509. package/layout/breakpoint-aliases.d.ts +1 -1
  510. package/loading/loading.models.d.ts +1 -1
  511. package/modal/modal-config.d.ts +1 -1
  512. package/models/component-type.d.ts +1 -1
  513. package/models/size-prefixes.d.ts +1 -1
  514. package/models/size-types.d.ts +1 -1
  515. package/models/theme-prefixes.d.ts +1 -1
  516. package/models/theme-types.d.ts +2 -2
  517. package/package.json +2 -2
  518. package/scrollbar/overlay-scrollbars-config-model.d.ts +1 -1
  519. package/services/font-loader.service.d.ts +1 -1
  520. package/styles/bootstrap/_bootstrap.scss +34 -34
  521. package/styles/bootstrap/_bs-utilities.scss +3 -3
  522. package/styles/theme.scss +3 -3
  523. package/styles/vendor/ngx-datatable/_ngx-datatable.scss +1 -1
  524. package/styles/vendor/quill/_quill.scss +3 -3
  525. package/table/table/table.component.d.ts +1 -1
  526. package/table-cell-type/table-cell-type-models.d.ts +3 -3
  527. package/table-cell-type/table-cell-type-name.d.ts +1 -1
  528. package/table-cell-types/table-cell-type-currency/table-cell-type-currency-config.d.ts +1 -1
  529. package/table-cell-types/table-cell-type-currency/table-cell-type-currency.d.ts +1 -1
  530. package/table-cell-types/table-cell-type-date/table-cell-type-date.d.ts +1 -1
  531. package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal-config.d.ts +1 -1
  532. package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.d.ts +1 -1
  533. package/table-cell-types/table-cell-type-icon/table-cell-type-icon-config.d.ts +1 -1
  534. package/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.d.ts +1 -1
  535. package/table-cell-types/table-cell-type-integer/table-cell-type-integer-config.d.ts +1 -1
  536. package/table-cell-types/table-cell-type-integer/table-cell-type-integer.d.ts +1 -1
  537. package/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle-config.d.ts +1 -1
  538. package/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon-config.d.ts +1 -1
  539. package/table-cell-types/table-cell-type-string/table-cell-type-string-config.d.ts +1 -1
  540. package/table-cell-types/table-cell-type-string/table-cell-type-string.component.d.ts +1 -1
  541. package/tel-input/utils/coerce-phone-number-format.d.ts +1 -1
  542. package/tiled-select/components/tiled-select/tiled-select.component.d.ts +1 -1
  543. package/tiled-select/tiled-select.models.d.ts +2 -2
  544. package/utils/polling-ticker.d.ts +1 -1
  545. package/utils/subscriber-count.d.ts +1 -1
  546. package/widget/directives/widget-drag-handle.directive.d.ts +1 -1
@@ -4,10 +4,6 @@ import { THESEAM_DATA_FILTER_OPTIONS } from '@theseam/ui-common/data-filters';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/cdk/portal";
6
6
  export class DatatableDynamicFilterContainerComponent {
7
- constructor(_injector) {
8
- this._injector = _injector;
9
- this._portal = null;
10
- }
11
7
  set filterComponent(value) {
12
8
  this._filterComponent = value;
13
9
  // if (this._filterComponent !== value) {
@@ -15,6 +11,10 @@ export class DatatableDynamicFilterContainerComponent {
15
11
  // }
16
12
  }
17
13
  get filterComponent() { return this._filterComponent; }
14
+ constructor(_injector) {
15
+ this._injector = _injector;
16
+ this._portal = null;
17
+ }
18
18
  ngOnInit() {
19
19
  if (this.filterComponent) {
20
20
  this._setPortal(this.filterComponent);
@@ -37,9 +37,9 @@ export class DatatableDynamicFilterContainerComponent {
37
37
  ]));
38
38
  }
39
39
  }
40
- DatatableDynamicFilterContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DatatableDynamicFilterContainerComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
41
- DatatableDynamicFilterContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: DatatableDynamicFilterContainerComponent, selector: "seam-datatable-dynamic-filter-container", inputs: { filterComponent: "filterComponent", options: "options" }, ngImport: i0, template: "<ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DatatableDynamicFilterContainerComponent, decorators: [{
40
+ DatatableDynamicFilterContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DatatableDynamicFilterContainerComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
41
+ DatatableDynamicFilterContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: DatatableDynamicFilterContainerComponent, selector: "seam-datatable-dynamic-filter-container", inputs: { filterComponent: "filterComponent", options: "options" }, ngImport: i0, template: "<ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DatatableDynamicFilterContainerComponent, decorators: [{
43
43
  type: Component,
44
44
  args: [{ selector: 'seam-datatable-dynamic-filter-container', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n", styles: [":host{display:block}\n"] }]
45
45
  }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { filterComponent: [{
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
47
47
  }], options: [{
48
48
  type: Input
49
49
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lci9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUtZHluYW1pYy9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyL2RhdGF0YWJsZS1keW5hbWljLWZpbHRlci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFZLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUUzRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTs7O0FBUzdFLE1BQU0sT0FBTyx3Q0FBd0M7SUFnQm5ELFlBQ1UsU0FBbUI7UUFBbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUg3QixZQUFPLEdBQThCLElBQUksQ0FBQTtJQUlyQyxDQUFDO0lBaEJMLElBQ0ksZUFBZSxDQUFDLEtBQTBDO1FBQzVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUE7UUFDN0IseUNBQXlDO1FBQ3pDLDJCQUEyQjtRQUMzQixJQUFJO0lBQ04sQ0FBQztJQUNELElBQUksZUFBZSxLQUFLLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFBLENBQUMsQ0FBQztJQVd0RCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFBO1NBQ3RDO0lBQ0gsQ0FBQztJQUVPLFVBQVUsQ0FBQyxTQUEyQjtRQUM1QyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7U0FDcEI7UUFFRCxJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQTtTQUNqRjthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7U0FDcEI7SUFDSCxDQUFDO0lBRU8sZUFBZTtRQUNyQixPQUFPLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxPQUFPLENBQWE7WUFDaEUsQ0FBRSwyQkFBMkIsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFFO1NBQzlDLENBQUMsQ0FBQyxDQUFBO0lBQ0wsQ0FBQzs7cUlBMUNVLHdDQUF3Qzt5SEFBeEMsd0NBQXdDLG1KQ1pyRCw2REFDQTsyRkRXYSx3Q0FBd0M7a0JBTnBELFNBQVM7K0JBQ0UseUNBQXlDLG1CQUdsQyx1QkFBdUIsQ0FBQyxNQUFNOytGQUszQyxlQUFlO3NCQURsQixLQUFLO2dCQVVHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgUG9ydGFsSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJ1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBUSEVTRUFNX0RBVEFfRklMVEVSX09QVElPTlMgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZGF0YS1maWx0ZXJzJ1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL21vZGVscydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VhbS1kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGF0YWJsZS1keW5hbWljLWZpbHRlci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERhdGF0YWJsZUR5bmFtaWNGaWx0ZXJDb250YWluZXJDb21wb25lbnQ8Qz4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIHNldCBmaWx0ZXJDb21wb25lbnQodmFsdWU6IENvbXBvbmVudFR5cGU8Qz4gfCB1bmRlZmluZWQgfCBudWxsKSB7XG4gICAgdGhpcy5fZmlsdGVyQ29tcG9uZW50ID0gdmFsdWVcbiAgICAvLyBpZiAodGhpcy5fZmlsdGVyQ29tcG9uZW50ICE9PSB2YWx1ZSkge1xuICAgIC8vICAgdGhpcy5fc2V0UG9ydGFsKHZhbHVlKVxuICAgIC8vIH1cbiAgfVxuICBnZXQgZmlsdGVyQ29tcG9uZW50KCkgeyByZXR1cm4gdGhpcy5fZmlsdGVyQ29tcG9uZW50IH1cbiAgcHJpdmF0ZSBfZmlsdGVyQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPEM+IHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIEBJbnB1dCgpIG9wdGlvbnM6IGFueVxuXG4gIF9wb3J0YWw6IENvbXBvbmVudFBvcnRhbDxDPiB8IG51bGwgPSBudWxsXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZmlsdGVyQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLl9zZXRQb3J0YWwodGhpcy5maWx0ZXJDb21wb25lbnQpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0UG9ydGFsKGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxDPikge1xuICAgIGlmICh0aGlzLl9wb3J0YWwpIHtcbiAgICAgIHRoaXMuX3BvcnRhbCA9IG51bGxcbiAgICB9XG5cbiAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICB0aGlzLl9wb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbXBvbmVudCwgdW5kZWZpbmVkLCB0aGlzLl9jcmVhdGVJbmplY3RvcigpKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9wb3J0YWwgPSBudWxsXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlSW5qZWN0b3IoKTogUG9ydGFsSW5qZWN0b3Ige1xuICAgIHJldHVybiBuZXcgUG9ydGFsSW5qZWN0b3IodGhpcy5faW5qZWN0b3IsIG5ldyBXZWFrTWFwIDxhbnksIGFueT4gKFtcbiAgICAgIFsgVEhFU0VBTV9EQVRBX0ZJTFRFUl9PUFRJT05TLCB0aGlzLm9wdGlvbnMgXVxuICAgIF0pKVxuICB9XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIl9wb3J0YWxcIj48L25nLXRlbXBsYXRlPlxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lci9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUtZHluYW1pYy9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyL2RhdGF0YWJsZS1keW5hbWljLWZpbHRlci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFZLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUUzRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTs7O0FBUzdFLE1BQU0sT0FBTyx3Q0FBd0M7SUFFbkQsSUFDSSxlQUFlLENBQUMsS0FBMEM7UUFDNUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQTtRQUM3Qix5Q0FBeUM7UUFDekMsMkJBQTJCO1FBQzNCLElBQUk7SUFDTixDQUFDO0lBQ0QsSUFBSSxlQUFlLEtBQUssT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUEsQ0FBQyxDQUFDO0lBT3RELFlBQ1UsU0FBbUI7UUFBbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUg3QixZQUFPLEdBQThCLElBQUksQ0FBQTtJQUlyQyxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtTQUN0QztJQUNILENBQUM7SUFFTyxVQUFVLENBQUMsU0FBMkI7UUFDNUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1NBQ3BCO1FBRUQsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUE7U0FDakY7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1NBQ3BCO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksT0FBTyxDQUFhO1lBQ2hFLENBQUUsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBRTtTQUM5QyxDQUFDLENBQUMsQ0FBQTtJQUNMLENBQUM7O3FJQTFDVSx3Q0FBd0M7eUhBQXhDLHdDQUF3QyxtSkNackQsNkRBQ0E7MkZEV2Esd0NBQXdDO2tCQU5wRCxTQUFTOytCQUNFLHlDQUF5QyxtQkFHbEMsdUJBQXVCLENBQUMsTUFBTTsrRkFLM0MsZUFBZTtzQkFEbEIsS0FBSztnQkFVRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFBvcnRhbEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCdcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuaW1wb3J0IHsgVEhFU0VBTV9EQVRBX0ZJTFRFUl9PUFRJT05TIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2RhdGEtZmlsdGVycydcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9tb2RlbHMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlYW0tZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVEeW5hbWljRmlsdGVyQ29udGFpbmVyQ29tcG9uZW50PEM+IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBzZXQgZmlsdGVyQ29tcG9uZW50KHZhbHVlOiBDb21wb25lbnRUeXBlPEM+IHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIHRoaXMuX2ZpbHRlckNvbXBvbmVudCA9IHZhbHVlXG4gICAgLy8gaWYgKHRoaXMuX2ZpbHRlckNvbXBvbmVudCAhPT0gdmFsdWUpIHtcbiAgICAvLyAgIHRoaXMuX3NldFBvcnRhbCh2YWx1ZSlcbiAgICAvLyB9XG4gIH1cbiAgZ2V0IGZpbHRlckNvbXBvbmVudCgpIHsgcmV0dXJuIHRoaXMuX2ZpbHRlckNvbXBvbmVudCB9XG4gIHByaXZhdGUgX2ZpbHRlckNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxDPiB8IHVuZGVmaW5lZCB8IG51bGxcblxuICBASW5wdXQoKSBvcHRpb25zOiBhbnlcblxuICBfcG9ydGFsOiBDb21wb25lbnRQb3J0YWw8Qz4gfCBudWxsID0gbnVsbFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvclxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLmZpbHRlckNvbXBvbmVudCkge1xuICAgICAgdGhpcy5fc2V0UG9ydGFsKHRoaXMuZmlsdGVyQ29tcG9uZW50KVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldFBvcnRhbChjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8Qz4pIHtcbiAgICBpZiAodGhpcy5fcG9ydGFsKSB7XG4gICAgICB0aGlzLl9wb3J0YWwgPSBudWxsXG4gICAgfVxuXG4gICAgaWYgKGNvbXBvbmVudCkge1xuICAgICAgdGhpcy5fcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChjb21wb25lbnQsIHVuZGVmaW5lZCwgdGhpcy5fY3JlYXRlSW5qZWN0b3IoKSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fcG9ydGFsID0gbnVsbFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUluamVjdG9yKCk6IFBvcnRhbEluamVjdG9yIHtcbiAgICByZXR1cm4gbmV3IFBvcnRhbEluamVjdG9yKHRoaXMuX2luamVjdG9yLCBuZXcgV2Vha01hcCA8YW55LCBhbnk+IChbXG4gICAgICBbIFRIRVNFQU1fREFUQV9GSUxURVJfT1BUSU9OUywgdGhpcy5vcHRpb25zIF1cbiAgICBdKSlcbiAgfVxuXG59XG4iLCI8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJfcG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -11,6 +11,8 @@ import * as i3 from "@angular/common";
11
11
  import * as i4 from "@theseam/ui-common/datatable";
12
12
  import * as i5 from "@angular/cdk/portal";
13
13
  export class DatatableDynamicMenuBarContentComponent {
14
+ set def(value) { this._def.next(value); }
15
+ get def() { return this._def.value; }
14
16
  constructor(_valueHelper, _dynamicComponentLoader, _injector, _menuBarItemManifests) {
15
17
  this._valueHelper = _valueHelper;
16
18
  this._dynamicComponentLoader = _dynamicComponentLoader;
@@ -22,8 +24,6 @@ export class DatatableDynamicMenuBarContentComponent {
22
24
  this._rows$ = this.def$.pipe(switchMap(def => this._mapRows(def && def.rows || [])));
23
25
  // .pipe(tap(v => console.log('_rows$', v)))
24
26
  }
25
- set def(value) { this._def.next(value); }
26
- get def() { return this._def.value; }
27
27
  ngOnInit() { }
28
28
  _mapRows(rows) {
29
29
  return Promise.all(rows.map(r => this._mapRow(r)));
@@ -133,9 +133,9 @@ export class DatatableDynamicMenuBarContentComponent {
133
133
  }
134
134
  }
135
135
  }
136
- DatatableDynamicMenuBarContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DatatableDynamicMenuBarContentComponent, deps: [{ token: i1.DynamicValueHelperService }, { token: i2.TheSeamDynamicComponentLoader }, { token: i0.Injector }, { token: THESEAM_DATATABLE_DYNAMIC_MENUBAR_ITEM, optional: true }], target: i0.ɵɵFactoryTarget.Component });
137
- DatatableDynamicMenuBarContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: DatatableDynamicMenuBarContentComponent, selector: "seam-datatable-dynamic-menu-bar-content", inputs: { def: "def" }, ngImport: i0, template: "<seam-datatable-menu-bar-row *ngFor=\"let row of _rows$ | async; last as isLast\"\n [class.mb-2]=\"!isLast\"\n [ngClass]=\"$any(row.cssClass)\"\n [ngStyle]=\"$any(row.styles)\">\n <ng-container *ngIf=\"row.layoutType === 'tri-column'\">\n <seam-datatable-menu-bar-column-left *ngIf=\"row.layout?.columnLeft\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnLeft?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnLeft?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-left>\n <seam-datatable-menu-bar-column-center *ngIf=\"row.layout?.columnCenter\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnCenter?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnCenter?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-center>\n <seam-datatable-menu-bar-column-right *ngIf=\"row.layout?.columnRight\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnRight?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnRight?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-right>\n </ng-container>\n</seam-datatable-menu-bar-row>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.DatatableMenuBarRowComponent, selector: "seam-datatable-menu-bar-row" }, { kind: "component", type: i4.DatatableMenuBarColumnLeftComponent, selector: "seam-datatable-menu-bar-column-left" }, { kind: "component", type: i4.DatatableMenuBarColumnCenterComponent, selector: "seam-datatable-menu-bar-column-center" }, { kind: "component", type: i4.DatatableMenuBarColumnRightComponent, selector: "seam-datatable-menu-bar-column-right" }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DatatableDynamicMenuBarContentComponent, decorators: [{
136
+ DatatableDynamicMenuBarContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DatatableDynamicMenuBarContentComponent, deps: [{ token: i1.DynamicValueHelperService }, { token: i2.TheSeamDynamicComponentLoader }, { token: i0.Injector }, { token: THESEAM_DATATABLE_DYNAMIC_MENUBAR_ITEM, optional: true }], target: i0.ɵɵFactoryTarget.Component });
137
+ DatatableDynamicMenuBarContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: DatatableDynamicMenuBarContentComponent, selector: "seam-datatable-dynamic-menu-bar-content", inputs: { def: "def" }, ngImport: i0, template: "<seam-datatable-menu-bar-row *ngFor=\"let row of _rows$ | async; last as isLast\"\n [class.mb-2]=\"!isLast\"\n [ngClass]=\"$any(row.cssClass)\"\n [ngStyle]=\"$any(row.styles)\">\n <ng-container *ngIf=\"row.layoutType === 'tri-column'\">\n <seam-datatable-menu-bar-column-left *ngIf=\"row.layout?.columnLeft\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnLeft?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnLeft?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-left>\n <seam-datatable-menu-bar-column-center *ngIf=\"row.layout?.columnCenter\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnCenter?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnCenter?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-center>\n <seam-datatable-menu-bar-column-right *ngIf=\"row.layout?.columnRight\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnRight?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnRight?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-right>\n </ng-container>\n</seam-datatable-menu-bar-row>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.DatatableMenuBarRowComponent, selector: "seam-datatable-menu-bar-row" }, { kind: "component", type: i4.DatatableMenuBarColumnLeftComponent, selector: "seam-datatable-menu-bar-column-left" }, { kind: "component", type: i4.DatatableMenuBarColumnCenterComponent, selector: "seam-datatable-menu-bar-column-center" }, { kind: "component", type: i4.DatatableMenuBarColumnRightComponent, selector: "seam-datatable-menu-bar-column-right" }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DatatableDynamicMenuBarContentComponent, decorators: [{
139
139
  type: Component,
140
140
  args: [{ selector: 'seam-datatable-dynamic-menu-bar-content', changeDetection: ChangeDetectionStrategy.OnPush, template: "<seam-datatable-menu-bar-row *ngFor=\"let row of _rows$ | async; last as isLast\"\n [class.mb-2]=\"!isLast\"\n [ngClass]=\"$any(row.cssClass)\"\n [ngStyle]=\"$any(row.styles)\">\n <ng-container *ngIf=\"row.layoutType === 'tri-column'\">\n <seam-datatable-menu-bar-column-left *ngIf=\"row.layout?.columnLeft\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnLeft?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnLeft?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-left>\n <seam-datatable-menu-bar-column-center *ngIf=\"row.layout?.columnCenter\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnCenter?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnCenter?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-center>\n <seam-datatable-menu-bar-column-right *ngIf=\"row.layout?.columnRight\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnRight?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnRight?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-right>\n </ng-container>\n</seam-datatable-menu-bar-row>\n" }]
141
141
  }], ctorParameters: function () { return [{ type: i1.DynamicValueHelperService }, { type: i2.TheSeamDynamicComponentLoader }, { type: i0.Injector }, { type: undefined, decorators: [{
@@ -146,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
146
146
  }] }]; }, propDecorators: { def: [{
147
147
  type: Input
148
148
  }] } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudC9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUtZHluYW1pYy9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50L2RhdGF0YWJsZS1keW5hbWljLW1lbnUtYmFyLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBWSxLQUFLLEVBQVUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzdHLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUkvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFHdEQsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0scUNBQXFDLENBQUE7Ozs7Ozs7QUEwRDVGLE1BQU0sT0FBTyx1Q0FBdUM7SUFZbEQsWUFDbUIsWUFBdUMsRUFDdkMsdUJBQXNELEVBQ3RELFNBQW1CLEVBRW5CLHFCQUE4RDtRQUo5RCxpQkFBWSxHQUFaLFlBQVksQ0FBMkI7UUFDdkMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUErQjtRQUN0RCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBRW5CLDBCQUFxQixH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Q0FBQyxNQUFNOzswQkFrQjVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsc0NBQXNDOzRDQVh4RCxHQUFHO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFBvcnRhbEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCdcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBEeW5hbWljVmFsdWVIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2R5bmFtaWMnXG5pbXBvcnQgeyBUaGVTZWFtRHluYW1pY0NvbXBvbmVudExvYWRlciB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9keW5hbWljLWNvbXBvbmVudC1sb2FkZXInXG5pbXBvcnQgeyBoYXNQcm9wZXJ0eSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi91dGlscydcblxuaW1wb3J0IHsgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFySXRlbU1hbmlmZXN0IH0gZnJvbSAnLi4vZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItaXRlbS1tYW5pZmVzdCdcbmltcG9ydCB7IFRIRVNFQU1fREFUQVRBQkxFX0RZTkFNSUNfTUVOVUJBUl9JVEVNIH0gZnJvbSAnLi4vZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItdG9rZW4nXG5pbXBvcnQge1xuICBEeW5hbWljRGF0YXRhYmxlTWVudUJhcixcbiAgRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJDb2x1bW4sXG4gIER5bmFtaWNEYXRhdGFibGVNZW51QmFySXRlbSxcbiAgRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3csXG4gIER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93TGF5b3V0VHJpQ29sdW1uXG59IGZyb20gJy4uL21vZGVscy9keW5hbWljLWRhdGF0YWJsZS1tZW51LWJhcidcblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50SXRlbSB7XG4gIC8vIHN0eWxlcz86IHN0cmluZyB8IHN0cmluZ1tdXG4gIC8vIGNzc0NsYXNzPzogc3RyaW5nIHwgc3RyaW5nW11cbiAgcG9ydGFsPzogQ29tcG9uZW50UG9ydGFsPHt9PlxuICAvLyBjb21wb25lbnQ/OiBzdHJpbmcgfCBDb21wb25lbnRUeXBlPHt9PlxuICAvLyBjb25maWc/OiBhbnlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Q29sdW1uIHtcbiAgc3R5bGVzPzogc3RyaW5nIHwgc3RyaW5nW11cbiAgY3NzQ2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXVxuICBpdGVtcz86IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRJdGVtW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93TGF5b3V0VHJpQ29sdW1uIHtcbiAgY29sdW1uTGVmdD86IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRDb2x1bW5cbiAgY29sdW1uQ2VudGVyPzogSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtblxuICBjb2x1bW5SaWdodD86IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRDb2x1bW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93IHtcbiAgc3R5bGVzPzogc3RyaW5nIHwgc3RyaW5nW11cbiAgY3NzQ2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXVxuICBwcmlvcml0eT86IG51bWJlclxuICBsYXlvdXRUeXBlPzogc3RyaW5nXG4gIGxheW91dD86IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRSb3dMYXlvdXRUcmlDb2x1bW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93Q29udGV4dCB7XG4gIHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3dcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Q29sdW1uQ29udGV4dCB7XG4gIGNvbHVtbjogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJDb2x1bW5cbiAgcm93OiBEeW5hbWljRGF0YXRhYmxlTWVudUJhclJvd1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRJdGVtQ29udGV4dCB7XG4gIGl0ZW06IER5bmFtaWNEYXRhdGFibGVNZW51QmFySXRlbVxuICByb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93XG4gIGNvbHVtbjogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJDb2x1bW5cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VhbS1kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGF0YWJsZS1keW5hbWljLW1lbnUtYmFyLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGVmID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEeW5hbWljRGF0YXRhYmxlTWVudUJhciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuXG4gIEBJbnB1dCgpXG4gIHNldCBkZWYodmFsdWU6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyIHwgdW5kZWZpbmVkKSB7IHRoaXMuX2RlZi5uZXh0KHZhbHVlKSB9XG4gIGdldCBkZWYoKTogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXIgfCB1bmRlZmluZWQgeyByZXR1cm4gdGhpcy5fZGVmLnZhbHVlIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZGVmJDogT2JzZXJ2YWJsZTxEeW5hbWljRGF0YXRhYmxlTWVudUJhciB8IHVuZGVmaW5lZD5cblxuICByZWFkb25seSBfcm93cyQ6IE9ic2VydmFibGU8SURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvd1tdPlxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3ZhbHVlSGVscGVyOiBEeW5hbWljVmFsdWVIZWxwZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2R5bmFtaWNDb21wb25lbnRMb2FkZXI6IFRoZVNlYW1EeW5hbWljQ29tcG9uZW50TG9hZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFRIRVNFQU1fREFUQVRBQkxFX0RZTkFNSUNfTUVOVUJBUl9JVEVNKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX21lbnVCYXJJdGVtTWFuaWZlc3RzPzogSURhdGF0YWJsZUR5bmFtaWNNZW51QmFySXRlbU1hbmlmZXN0W11cbiAgKSB7XG4gICAgdGhpcy5kZWYkID0gdGhpcy5fZGVmLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAvLyAucGlwZSh0YXAodiA9PiBjb25zb2xlLmxvZygnZGVmJCcsIHYpKSlcblxuICAgIHRoaXMuX3Jvd3MkID0gdGhpcy5kZWYkLnBpcGUoc3dpdGNoTWFwKGRlZiA9PiB0aGlzLl9tYXBSb3dzKGRlZiAmJiBkZWYucm93cyB8fCBbXSkpKVxuICAgICAgLy8gLnBpcGUodGFwKHYgPT4gY29uc29sZS5sb2coJ19yb3dzJCcsIHYpKSlcbiAgfVxuXG4gIG5nT25Jbml0KCkgeyB9XG5cbiAgcHJpdmF0ZSBfbWFwUm93cyhyb3dzOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhclJvd1tdKTogUHJvbWlzZTxJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93W10+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwocm93cy5tYXAociA9PiB0aGlzLl9tYXBSb3cocikpKVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfbWFwUm93KHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3cpOiBQcm9taXNlPElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRSb3c+IHtcbiAgICBjb25zdCByZXN1bHQ6IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRSb3cgPSB7IH1cbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5fY3JlYXRlUm93Q29udGV4dChyb3cpXG5cbiAgICBpZiAoaGFzUHJvcGVydHkocm93LCAnc3R5bGVzJykpIHtcbiAgICAgIHJlc3VsdC5zdHlsZXMgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKHJvdy5zdHlsZXMsIGNvbnRleHQpXG4gICAgfVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KHJvdywgJ2Nzc0NsYXNzJykpIHtcbiAgICAgIHJlc3VsdC5jc3NDbGFzcyA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwocm93LmNzc0NsYXNzLCBjb250ZXh0KVxuICAgIH1cblxuICAgIGlmIChoYXNQcm9wZXJ0eShyb3csICdwcmlvcml0eScpKSB7XG4gICAgICByZXN1bHQucHJpb3JpdHkgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKHJvdy5wcmlvcml0eSwgY29udGV4dClcbiAgICB9XG5cbiAgICByZXN1bHQubGF5b3V0VHlwZSA9IHJvdy5sYXlvdXQudHlwZVxuICAgIHJlc3VsdC5sYXlvdXQgPSBhd2FpdCB0aGlzLl9tYXBSb3dMYXlvdXQocm93LmxheW91dCwgcm93KVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfbWFwUm93TGF5b3V0KFxuICAgIGxheW91dDogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3dMYXlvdXRUcmlDb2x1bW4sXG4gICAgcm93OiBEeW5hbWljRGF0YXRhYmxlTWVudUJhclJvd1xuICApOiBQcm9taXNlPElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRSb3dMYXlvdXRUcmlDb2x1bW4+IHtcbiAgICBjb25zdCByZXN1bHQ6IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRSb3dMYXlvdXRUcmlDb2x1bW4gPSB7IH1cblxuICAgIGlmIChoYXNQcm9wZXJ0eShsYXlvdXQsICdjb2x1bW5MZWZ0JykpIHtcbiAgICAgIHJlc3VsdC5jb2x1bW5MZWZ0ID0gYXdhaXQgdGhpcy5fbWFwQ29sdW1uKGxheW91dC5jb2x1bW5MZWZ0LCByb3cpXG4gICAgfVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KGxheW91dCwgJ2NvbHVtbkNlbnRlcicpKSB7XG4gICAgICByZXN1bHQuY29sdW1uQ2VudGVyID0gYXdhaXQgdGhpcy5fbWFwQ29sdW1uKGxheW91dC5jb2x1bW5DZW50ZXIsIHJvdylcbiAgICB9XG5cbiAgICBpZiAoaGFzUHJvcGVydHkobGF5b3V0LCAnY29sdW1uUmlnaHQnKSkge1xuICAgICAgcmVzdWx0LmNvbHVtblJpZ2h0ID0gYXdhaXQgdGhpcy5fbWFwQ29sdW1uKGxheW91dC5jb2x1bW5SaWdodCwgcm93KVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX21hcENvbHVtbihcbiAgICBjb2x1bW46IER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uLFxuICAgIHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3dcbiAgKTogUHJvbWlzZTxJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Q29sdW1uPiB7XG4gICAgY29uc3QgcmVzdWx0OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Q29sdW1uID0geyB9XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuX2NyZWF0ZUNvbHVtbkNvbnRleHQoY29sdW1uLCByb3cpXG5cbiAgICBpZiAoaGFzUHJvcGVydHkoY29sdW1uLCAnc3R5bGVzJykpIHtcbiAgICAgIHJlc3VsdC5zdHlsZXMgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGNvbHVtbi5zdHlsZXMsIGNvbnRleHQpXG4gICAgfVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KGNvbHVtbiwgJ2Nzc0NsYXNzJykpIHtcbiAgICAgIHJlc3VsdC5jc3NDbGFzcyA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwoY29sdW1uLmNzc0NsYXNzLCBjb250ZXh0KVxuICAgIH1cblxuICAgIHJlc3VsdC5pdGVtcyA9IGF3YWl0IFByb21pc2UuYWxsKGNvbHVtbi5pdGVtcy5tYXAodiA9PiB0aGlzLl9tYXBJdGVtKHYsIHJvdywgY29sdW1uKSkpXG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9tYXBJdGVtKFxuICAgIGl0ZW06IER5bmFtaWNEYXRhdGFibGVNZW51QmFySXRlbSxcbiAgICByb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93LFxuICAgIGNvbHVtbjogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJDb2x1bW5cbiAgKTogUHJvbWlzZTxJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50SXRlbT4ge1xuICAgIGNvbnN0IHJlc3VsdDogSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudEl0ZW0gPSB7IH1cbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5fY3JlYXRlSXRlbUNvbnRleHQoaXRlbSwgcm93LCBjb2x1bW4pXG5cbiAgICAvLyBpZiAoaGFzUHJvcGVydHkoaXRlbSwgJ3N0eWxlcycpKSB7XG4gICAgLy8gICByZXN1bHQuc3R5bGVzID0gYXdhaXQgdGhpcy5fdmFsdWVIZWxwZXIuZXZhbChpdGVtLnN0eWxlcywgY29udGV4dClcbiAgICAvLyB9XG5cbiAgICAvLyBpZiAoaGFzUHJvcGVydHkoaXRlbSwgJ2Nzc0NsYXNzJykpIHtcbiAgICAvLyAgIHJlc3VsdC5jc3NDbGFzcyA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwoaXRlbS5jc3NDbGFzcywgY29udGV4dClcbiAgICAvLyB9XG5cbiAgICBpZiAoaGFzUHJvcGVydHkoaXRlbSwgJ2NvbXBvbmVudCcpKSB7XG4gICAgICAvLyByZXN1bHQuY29tcG9uZW50ID0gYXdhaXQgdGhpcy5fdmFsdWVIZWxwZXIuZXZhbChpdGVtLmNvbXBvbmVudCwgY29udGV4dClcbiAgICAgIGNvbnN0IGNvbXBvbmVudCA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwoaXRlbS5jb21wb25lbnQsIGNvbnRleHQpXG5cbiAgICAgIGxldCBkYXRhOiBhbnlcbiAgICAgIGlmIChoYXNQcm9wZXJ0eShpdGVtLCAnZGF0YScpKSB7XG4gICAgICAgIC8vIHJlc3VsdC5kYXRhID0gYXdhaXQgdGhpcy5fdmFsdWVIZWxwZXIuZXZhbChpdGVtLmRhdGEsIGNvbnRleHQpXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCclY2RhdGEnLCAnY29sb3I6Y3lhbicsIGl0ZW0uZGF0YSlcbiAgICAgICAgZGF0YSA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwoaXRlbS5kYXRhLCBjb250ZXh0KVxuICAgICAgICAvLyBjb25zb2xlLmxvZygnJWNkYXRhJywgJ2NvbG9yOmxpbWVncmVlbicsIGRhdGEpXG4gICAgICB9XG5cbiAgICAgIHJlc3VsdC5wb3J0YWwgPSBhd2FpdCB0aGlzLl9nZXRDb21wb25lbnRQb3J0YWwoY29tcG9uZW50LCBkYXRhKVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZVJvd0NvbnRleHQocm93OiBEeW5hbWljRGF0YXRhYmxlTWVudUJhclJvdyk6IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRSb3dDb250ZXh0IHtcbiAgICByZXR1cm4ge1xuICAgICAgcm93XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQ29sdW1uQ29udGV4dChcbiAgICBjb2x1bW46IER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uLFxuICAgIHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3dcbiAgKTogSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbkNvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICByb3csXG4gICAgICBjb2x1bW5cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVJdGVtQ29udGV4dChcbiAgICBpdGVtOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckl0ZW0sXG4gICAgcm93OiBEeW5hbWljRGF0YXRhYmxlTWVudUJhclJvdyxcbiAgICBjb2x1bW46IER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uXG4gICk6IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRJdGVtQ29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGl0ZW0sXG4gICAgICByb3csXG4gICAgICBjb2x1bW5cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9nZXRDb21wb25lbnRQb3J0YWwoY29tcG9uZW50OiBzdHJpbmcsIGRhdGE/OiBhbnkpOiBQcm9taXNlPENvbXBvbmVudFBvcnRhbDx7fT4gfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBtYW5pZmVzdCA9ICh0aGlzLl9tZW51QmFySXRlbU1hbmlmZXN0cyB8fCBbXSkuZmluZChtID0+IG0ubmFtZSA9PT0gY29tcG9uZW50KVxuXG4gICAgaWYgKCFtYW5pZmVzdCkge1xuICAgICAgLy8gVE9ETzogTWFrZSBzdXJlIHRoZSBjb21wb25lbnQgaXMgc2tpcHBlZCBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dHNpZGUgb2YgZGV2IG1vZGUuXG4gICAgICB0aHJvdyBFcnJvcihgTWVudUJhciBtYW5pZmVzdCBmb3IgJyR7Y29tcG9uZW50fScgbm90IGZvdW5kLmApXG4gICAgfVxuXG4gICAgLy8gVE9ETzogQ3JlYXRlIGEgbmV3IGluamVjdG9yIHdpdGggdGhlIGRhdGEgaW5qZWN0ZWRcbiAgICBsZXQgaW5qZWN0b3IgPSB0aGlzLl9pbmplY3RvclxuICAgIGlmIChtYW5pZmVzdC5kYXRhVG9rZW4pIHtcbiAgICAgIGluamVjdG9yID0gbmV3IFBvcnRhbEluamVjdG9yKHRoaXMuX2luamVjdG9yLCBuZXcgV2Vha01hcChbXG4gICAgICAgIFttYW5pZmVzdC5kYXRhVG9rZW4sIGRhdGFdXG4gICAgICBdKSlcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG1hbmlmZXN0LmNvbXBvbmVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMuX2R5bmFtaWNDb21wb25lbnRMb2FkZXIuZ2V0Q29tcG9uZW50RmFjdG9yeTx7fT4obWFuaWZlc3QuY29tcG9uZW50KS5waXBlKFxuICAgICAgICBtYXAoY29tcG9uZW50RmFjdG9yeSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBDb21wb25lbnRQb3J0YWwoXG4gICAgICAgICAgICBjb21wb25lbnRGYWN0b3J5LmNvbXBvbmVudFR5cGUsXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgaW5qZWN0b3IsXG4gICAgICAgICAgICAoPGFueSAvKiBDb21wb25lbnRGYWN0b3J5Qm91bmRUb01vZHVsZSAqLz5jb21wb25lbnRGYWN0b3J5KS5uZ01vZHVsZS5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcbiAgICAgICAgICApXG4gICAgICAgIH0pXG4gICAgICApLnRvUHJvbWlzZSgpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgQ29tcG9uZW50UG9ydGFsKG1hbmlmZXN0LmNvbXBvbmVudCwgbnVsbCwgaW5qZWN0b3IsIG51bGwpXG4gICAgfVxuICB9XG5cbn1cbiIsIjxzZWFtLWRhdGF0YWJsZS1tZW51LWJhci1yb3cgKm5nRm9yPVwibGV0IHJvdyBvZiBfcm93cyQgfCBhc3luYzsgbGFzdCBhcyBpc0xhc3RcIlxuICBbY2xhc3MubWItMl09XCIhaXNMYXN0XCJcbiAgW25nQ2xhc3NdPVwiJGFueShyb3cuY3NzQ2xhc3MpXCJcbiAgW25nU3R5bGVdPVwiJGFueShyb3cuc3R5bGVzKVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwicm93LmxheW91dFR5cGUgPT09ICd0cmktY29sdW1uJ1wiPlxuICAgIDxzZWFtLWRhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tbGVmdCAqbmdJZj1cInJvdy5sYXlvdXQ/LmNvbHVtbkxlZnRcIlxuICAgICAgW25nQ2xhc3NdPVwiJGFueShyb3cubGF5b3V0KS5jc3NDbGFzc1wiXG4gICAgICBbbmdTdHlsZV09XCIkYW55KHJvdy5sYXlvdXQpLnN0eWxlc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvdy5sYXlvdXQ/LmNvbHVtbkxlZnQ/Lml0ZW1zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygcm93LmxheW91dD8uY29sdW1uTGVmdD8uaXRlbXNcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJpdGVtLnBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zZWFtLWRhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tbGVmdD5cbiAgICA8c2VhbS1kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLWNlbnRlciAqbmdJZj1cInJvdy5sYXlvdXQ/LmNvbHVtbkNlbnRlclwiXG4gICAgICBbbmdDbGFzc109XCIkYW55KHJvdy5sYXlvdXQpLmNzc0NsYXNzXCJcbiAgICAgIFtuZ1N0eWxlXT1cIiRhbnkocm93LmxheW91dCkuc3R5bGVzXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicm93LmxheW91dD8uY29sdW1uQ2VudGVyPy5pdGVtc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHJvdy5sYXlvdXQ/LmNvbHVtbkNlbnRlcj8uaXRlbXNcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJpdGVtLnBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zZWFtLWRhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tY2VudGVyPlxuICAgIDxzZWFtLWRhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tcmlnaHQgKm5nSWY9XCJyb3cubGF5b3V0Py5jb2x1bW5SaWdodFwiXG4gICAgICBbbmdDbGFzc109XCIkYW55KHJvdy5sYXlvdXQpLmNzc0NsYXNzXCJcbiAgICAgIFtuZ1N0eWxlXT1cIiRhbnkocm93LmxheW91dCkuc3R5bGVzXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicm93LmxheW91dD8uY29sdW1uUmlnaHQ/Lml0ZW1zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygcm93LmxheW91dD8uY29sdW1uUmlnaHQ/Lml0ZW1zXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiaXRlbS5wb3J0YWxcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvc2VhbS1kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLXJpZ2h0PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvc2VhbS1kYXRhdGFibGUtbWVudS1iYXItcm93PlxuIl19
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudC9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUtZHluYW1pYy9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50L2RhdGF0YWJsZS1keW5hbWljLW1lbnUtYmFyLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBWSxLQUFLLEVBQVUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzdHLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUkvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFHdEQsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0scUNBQXFDLENBQUE7Ozs7Ozs7QUEwRDVGLE1BQU0sT0FBTyx1Q0FBdUM7SUFJbEQsSUFDSSxHQUFHLENBQUMsS0FBMEMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDN0UsSUFBSSxHQUFHLEtBQTBDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUEsQ0FBQyxDQUFDO0lB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QUMsTUFBTTs7MEJBa0I1QyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHNDQUFzQzs0Q0FYeEQsR0FBRztzQkFETixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBQb3J0YWxJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHsgRHluYW1pY1ZhbHVlSGVscGVyU2VydmljZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9keW5hbWljJ1xuaW1wb3J0IHsgVGhlU2VhbUR5bmFtaWNDb21wb25lbnRMb2FkZXIgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZHluYW1pYy1jb21wb25lbnQtbG9hZGVyJ1xuaW1wb3J0IHsgaGFzUHJvcGVydHkgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdXRpbHMnXG5cbmltcG9ydCB7IElEYXRhdGFibGVEeW5hbWljTWVudUJhckl0ZW1NYW5pZmVzdCB9IGZyb20gJy4uL2RhdGF0YWJsZS1keW5hbWljLW1lbnUtYmFyLWl0ZW0tbWFuaWZlc3QnXG5pbXBvcnQgeyBUSEVTRUFNX0RBVEFUQUJMRV9EWU5BTUlDX01FTlVCQVJfSVRFTSB9IGZyb20gJy4uL2RhdGF0YWJsZS1keW5hbWljLW1lbnUtYmFyLXRva2VuJ1xuaW1wb3J0IHtcbiAgRHluYW1pY0RhdGF0YWJsZU1lbnVCYXIsXG4gIER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uLFxuICBEeW5hbWljRGF0YXRhYmxlTWVudUJhckl0ZW0sXG4gIER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93LFxuICBEeW5hbWljRGF0YXRhYmxlTWVudUJhclJvd0xheW91dFRyaUNvbHVtblxufSBmcm9tICcuLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtbWVudS1iYXInXG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudEl0ZW0ge1xuICAvLyBzdHlsZXM/OiBzdHJpbmcgfCBzdHJpbmdbXVxuICAvLyBjc3NDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdXG4gIHBvcnRhbD86IENvbXBvbmVudFBvcnRhbDx7fT5cbiAgLy8gY29tcG9uZW50Pzogc3RyaW5nIHwgQ29tcG9uZW50VHlwZTx7fT5cbiAgLy8gY29uZmlnPzogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbiB7XG4gIHN0eWxlcz86IHN0cmluZyB8IHN0cmluZ1tdXG4gIGNzc0NsYXNzPzogc3RyaW5nIHwgc3RyaW5nW11cbiAgaXRlbXM/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50SXRlbVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvd0xheW91dFRyaUNvbHVtbiB7XG4gIGNvbHVtbkxlZnQ/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Q29sdW1uXG4gIGNvbHVtbkNlbnRlcj86IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRDb2x1bW5cbiAgY29sdW1uUmlnaHQ/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Q29sdW1uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvdyB7XG4gIHN0eWxlcz86IHN0cmluZyB8IHN0cmluZ1tdXG4gIGNzc0NsYXNzPzogc3RyaW5nIHwgc3RyaW5nW11cbiAgcHJpb3JpdHk/OiBudW1iZXJcbiAgbGF5b3V0VHlwZT86IHN0cmluZ1xuICBsYXlvdXQ/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93TGF5b3V0VHJpQ29sdW1uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvd0NvbnRleHQge1xuICByb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbkNvbnRleHQge1xuICBjb2x1bW46IER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uXG4gIHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3dcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50SXRlbUNvbnRleHQge1xuICBpdGVtOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckl0ZW1cbiAgcm93OiBEeW5hbWljRGF0YXRhYmxlTWVudUJhclJvd1xuICBjb2x1bW46IER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlYW0tZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlZiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RHluYW1pY0RhdGF0YWJsZU1lbnVCYXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZClcblxuICBASW5wdXQoKVxuICBzZXQgZGVmKHZhbHVlOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhciB8IHVuZGVmaW5lZCkgeyB0aGlzLl9kZWYubmV4dCh2YWx1ZSkgfVxuICBnZXQgZGVmKCk6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMuX2RlZi52YWx1ZSB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGRlZiQ6IE9ic2VydmFibGU8RHluYW1pY0RhdGF0YWJsZU1lbnVCYXIgfCB1bmRlZmluZWQ+XG5cbiAgcmVhZG9ubHkgX3Jvd3MkOiBPYnNlcnZhYmxlPElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRSb3dbXT5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF92YWx1ZUhlbHBlcjogRHluYW1pY1ZhbHVlSGVscGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9keW5hbWljQ29tcG9uZW50TG9hZGVyOiBUaGVTZWFtRHluYW1pY0NvbXBvbmVudExvYWRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChUSEVTRUFNX0RBVEFUQUJMRV9EWU5BTUlDX01FTlVCQVJfSVRFTSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tZW51QmFySXRlbU1hbmlmZXN0cz86IElEYXRhdGFibGVEeW5hbWljTWVudUJhckl0ZW1NYW5pZmVzdFtdXG4gICkge1xuICAgIHRoaXMuZGVmJCA9IHRoaXMuX2RlZi5hc09ic2VydmFibGUoKVxuICAgICAgLy8gLnBpcGUodGFwKHYgPT4gY29uc29sZS5sb2coJ2RlZiQnLCB2KSkpXG5cbiAgICB0aGlzLl9yb3dzJCA9IHRoaXMuZGVmJC5waXBlKHN3aXRjaE1hcChkZWYgPT4gdGhpcy5fbWFwUm93cyhkZWYgJiYgZGVmLnJvd3MgfHwgW10pKSlcbiAgICAgIC8vIC5waXBlKHRhcCh2ID0+IGNvbnNvbGUubG9nKCdfcm93cyQnLCB2KSkpXG4gIH1cblxuICBuZ09uSW5pdCgpIHsgfVxuXG4gIHByaXZhdGUgX21hcFJvd3Mocm93czogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3dbXSk6IFByb21pc2U8SURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvd1tdPiB7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKHJvd3MubWFwKHIgPT4gdGhpcy5fbWFwUm93KHIpKSlcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX21hcFJvdyhyb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93KTogUHJvbWlzZTxJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93PiB7XG4gICAgY29uc3QgcmVzdWx0OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93ID0geyB9XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuX2NyZWF0ZVJvd0NvbnRleHQocm93KVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KHJvdywgJ3N0eWxlcycpKSB7XG4gICAgICByZXN1bHQuc3R5bGVzID0gYXdhaXQgdGhpcy5fdmFsdWVIZWxwZXIuZXZhbChyb3cuc3R5bGVzLCBjb250ZXh0KVxuICAgIH1cblxuICAgIGlmIChoYXNQcm9wZXJ0eShyb3csICdjc3NDbGFzcycpKSB7XG4gICAgICByZXN1bHQuY3NzQ2xhc3MgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKHJvdy5jc3NDbGFzcywgY29udGV4dClcbiAgICB9XG5cbiAgICBpZiAoaGFzUHJvcGVydHkocm93LCAncHJpb3JpdHknKSkge1xuICAgICAgcmVzdWx0LnByaW9yaXR5ID0gYXdhaXQgdGhpcy5fdmFsdWVIZWxwZXIuZXZhbChyb3cucHJpb3JpdHksIGNvbnRleHQpXG4gICAgfVxuXG4gICAgcmVzdWx0LmxheW91dFR5cGUgPSByb3cubGF5b3V0LnR5cGVcbiAgICByZXN1bHQubGF5b3V0ID0gYXdhaXQgdGhpcy5fbWFwUm93TGF5b3V0KHJvdy5sYXlvdXQsIHJvdylcblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX21hcFJvd0xheW91dChcbiAgICBsYXlvdXQ6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93TGF5b3V0VHJpQ29sdW1uLFxuICAgIHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3dcbiAgKTogUHJvbWlzZTxJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93TGF5b3V0VHJpQ29sdW1uPiB7XG4gICAgY29uc3QgcmVzdWx0OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93TGF5b3V0VHJpQ29sdW1uID0geyB9XG5cbiAgICBpZiAoaGFzUHJvcGVydHkobGF5b3V0LCAnY29sdW1uTGVmdCcpKSB7XG4gICAgICByZXN1bHQuY29sdW1uTGVmdCA9IGF3YWl0IHRoaXMuX21hcENvbHVtbihsYXlvdXQuY29sdW1uTGVmdCwgcm93KVxuICAgIH1cblxuICAgIGlmIChoYXNQcm9wZXJ0eShsYXlvdXQsICdjb2x1bW5DZW50ZXInKSkge1xuICAgICAgcmVzdWx0LmNvbHVtbkNlbnRlciA9IGF3YWl0IHRoaXMuX21hcENvbHVtbihsYXlvdXQuY29sdW1uQ2VudGVyLCByb3cpXG4gICAgfVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KGxheW91dCwgJ2NvbHVtblJpZ2h0JykpIHtcbiAgICAgIHJlc3VsdC5jb2x1bW5SaWdodCA9IGF3YWl0IHRoaXMuX21hcENvbHVtbihsYXlvdXQuY29sdW1uUmlnaHQsIHJvdylcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9tYXBDb2x1bW4oXG4gICAgY29sdW1uOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckNvbHVtbixcbiAgICByb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93XG4gICk6IFByb21pc2U8SURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbj4ge1xuICAgIGNvbnN0IHJlc3VsdDogSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbiA9IHsgfVxuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLl9jcmVhdGVDb2x1bW5Db250ZXh0KGNvbHVtbiwgcm93KVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KGNvbHVtbiwgJ3N0eWxlcycpKSB7XG4gICAgICByZXN1bHQuc3R5bGVzID0gYXdhaXQgdGhpcy5fdmFsdWVIZWxwZXIuZXZhbChjb2x1bW4uc3R5bGVzLCBjb250ZXh0KVxuICAgIH1cblxuICAgIGlmIChoYXNQcm9wZXJ0eShjb2x1bW4sICdjc3NDbGFzcycpKSB7XG4gICAgICByZXN1bHQuY3NzQ2xhc3MgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGNvbHVtbi5jc3NDbGFzcywgY29udGV4dClcbiAgICB9XG5cbiAgICByZXN1bHQuaXRlbXMgPSBhd2FpdCBQcm9taXNlLmFsbChjb2x1bW4uaXRlbXMubWFwKHYgPT4gdGhpcy5fbWFwSXRlbSh2LCByb3csIGNvbHVtbikpKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfbWFwSXRlbShcbiAgICBpdGVtOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckl0ZW0sXG4gICAgcm93OiBEeW5hbWljRGF0YXRhYmxlTWVudUJhclJvdyxcbiAgICBjb2x1bW46IER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uXG4gICk6IFByb21pc2U8SURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudEl0ZW0+IHtcbiAgICBjb25zdCByZXN1bHQ6IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRJdGVtID0geyB9XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuX2NyZWF0ZUl0ZW1Db250ZXh0KGl0ZW0sIHJvdywgY29sdW1uKVxuXG4gICAgLy8gaWYgKGhhc1Byb3BlcnR5KGl0ZW0sICdzdHlsZXMnKSkge1xuICAgIC8vICAgcmVzdWx0LnN0eWxlcyA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwoaXRlbS5zdHlsZXMsIGNvbnRleHQpXG4gICAgLy8gfVxuXG4gICAgLy8gaWYgKGhhc1Byb3BlcnR5KGl0ZW0sICdjc3NDbGFzcycpKSB7XG4gICAgLy8gICByZXN1bHQuY3NzQ2xhc3MgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGl0ZW0uY3NzQ2xhc3MsIGNvbnRleHQpXG4gICAgLy8gfVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KGl0ZW0sICdjb21wb25lbnQnKSkge1xuICAgICAgLy8gcmVzdWx0LmNvbXBvbmVudCA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwoaXRlbS5jb21wb25lbnQsIGNvbnRleHQpXG4gICAgICBjb25zdCBjb21wb25lbnQgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGl0ZW0uY29tcG9uZW50LCBjb250ZXh0KVxuXG4gICAgICBsZXQgZGF0YTogYW55XG4gICAgICBpZiAoaGFzUHJvcGVydHkoaXRlbSwgJ2RhdGEnKSkge1xuICAgICAgICAvLyByZXN1bHQuZGF0YSA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwoaXRlbS5kYXRhLCBjb250ZXh0KVxuICAgICAgICAvLyBjb25zb2xlLmxvZygnJWNkYXRhJywgJ2NvbG9yOmN5YW4nLCBpdGVtLmRhdGEpXG4gICAgICAgIGRhdGEgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGl0ZW0uZGF0YSwgY29udGV4dClcbiAgICAgICAgLy8gY29uc29sZS5sb2coJyVjZGF0YScsICdjb2xvcjpsaW1lZ3JlZW4nLCBkYXRhKVxuICAgICAgfVxuXG4gICAgICByZXN1bHQucG9ydGFsID0gYXdhaXQgdGhpcy5fZ2V0Q29tcG9uZW50UG9ydGFsKGNvbXBvbmVudCwgZGF0YSlcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVSb3dDb250ZXh0KHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3cpOiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93Q29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJvd1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUNvbHVtbkNvbnRleHQoXG4gICAgY29sdW1uOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckNvbHVtbixcbiAgICByb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93XG4gICk6IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRDb2x1bW5Db250ZXh0IHtcbiAgICByZXR1cm4ge1xuICAgICAgcm93LFxuICAgICAgY29sdW1uXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlSXRlbUNvbnRleHQoXG4gICAgaXRlbTogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJJdGVtLFxuICAgIHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3csXG4gICAgY29sdW1uOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckNvbHVtblxuICApOiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50SXRlbUNvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICBpdGVtLFxuICAgICAgcm93LFxuICAgICAgY29sdW1uXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfZ2V0Q29tcG9uZW50UG9ydGFsKGNvbXBvbmVudDogc3RyaW5nLCBkYXRhPzogYW55KTogUHJvbWlzZTxDb21wb25lbnRQb3J0YWw8e30+IHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgbWFuaWZlc3QgPSAodGhpcy5fbWVudUJhckl0ZW1NYW5pZmVzdHMgfHwgW10pLmZpbmQobSA9PiBtLm5hbWUgPT09IGNvbXBvbmVudClcblxuICAgIGlmICghbWFuaWZlc3QpIHtcbiAgICAgIC8vIFRPRE86IE1ha2Ugc3VyZSB0aGUgY29tcG9uZW50IGlzIHNraXBwZWQgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXRzaWRlIG9mIGRldiBtb2RlLlxuICAgICAgdGhyb3cgRXJyb3IoYE1lbnVCYXIgbWFuaWZlc3QgZm9yICcke2NvbXBvbmVudH0nIG5vdCBmb3VuZC5gKVxuICAgIH1cblxuICAgIC8vIFRPRE86IENyZWF0ZSBhIG5ldyBpbmplY3RvciB3aXRoIHRoZSBkYXRhIGluamVjdGVkXG4gICAgbGV0IGluamVjdG9yID0gdGhpcy5faW5qZWN0b3JcbiAgICBpZiAobWFuaWZlc3QuZGF0YVRva2VuKSB7XG4gICAgICBpbmplY3RvciA9IG5ldyBQb3J0YWxJbmplY3Rvcih0aGlzLl9pbmplY3RvciwgbmV3IFdlYWtNYXAoW1xuICAgICAgICBbbWFuaWZlc3QuZGF0YVRva2VuLCBkYXRhXVxuICAgICAgXSkpXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBtYW5pZmVzdC5jb21wb25lbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLl9keW5hbWljQ29tcG9uZW50TG9hZGVyLmdldENvbXBvbmVudEZhY3Rvcnk8e30+KG1hbmlmZXN0LmNvbXBvbmVudCkucGlwZShcbiAgICAgICAgbWFwKGNvbXBvbmVudEZhY3RvcnkgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgQ29tcG9uZW50UG9ydGFsKFxuICAgICAgICAgICAgY29tcG9uZW50RmFjdG9yeS5jb21wb25lbnRUeXBlLFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIGluamVjdG9yLFxuICAgICAgICAgICAgKDxhbnkgLyogQ29tcG9uZW50RmFjdG9yeUJvdW5kVG9Nb2R1bGUgKi8+Y29tcG9uZW50RmFjdG9yeSkubmdNb2R1bGUuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyXG4gICAgICAgICAgKVxuICAgICAgICB9KVxuICAgICAgKS50b1Byb21pc2UoKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbmV3IENvbXBvbmVudFBvcnRhbChtYW5pZmVzdC5jb21wb25lbnQsIG51bGwsIGluamVjdG9yLCBudWxsKVxuICAgIH1cbiAgfVxuXG59XG4iLCI8c2VhbS1kYXRhdGFibGUtbWVudS1iYXItcm93ICpuZ0Zvcj1cImxldCByb3cgb2YgX3Jvd3MkIHwgYXN5bmM7IGxhc3QgYXMgaXNMYXN0XCJcbiAgW2NsYXNzLm1iLTJdPVwiIWlzTGFzdFwiXG4gIFtuZ0NsYXNzXT1cIiRhbnkocm93LmNzc0NsYXNzKVwiXG4gIFtuZ1N0eWxlXT1cIiRhbnkocm93LnN0eWxlcylcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvdy5sYXlvdXRUeXBlID09PSAndHJpLWNvbHVtbidcIj5cbiAgICA8c2VhbS1kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLWxlZnQgKm5nSWY9XCJyb3cubGF5b3V0Py5jb2x1bW5MZWZ0XCJcbiAgICAgIFtuZ0NsYXNzXT1cIiRhbnkocm93LmxheW91dCkuY3NzQ2xhc3NcIlxuICAgICAgW25nU3R5bGVdPVwiJGFueShyb3cubGF5b3V0KS5zdHlsZXNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3cubGF5b3V0Py5jb2x1bW5MZWZ0Py5pdGVtc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHJvdy5sYXlvdXQ/LmNvbHVtbkxlZnQ/Lml0ZW1zXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiaXRlbS5wb3J0YWxcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvc2VhbS1kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLWxlZnQ+XG4gICAgPHNlYW0tZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1jZW50ZXIgKm5nSWY9XCJyb3cubGF5b3V0Py5jb2x1bW5DZW50ZXJcIlxuICAgICAgW25nQ2xhc3NdPVwiJGFueShyb3cubGF5b3V0KS5jc3NDbGFzc1wiXG4gICAgICBbbmdTdHlsZV09XCIkYW55KHJvdy5sYXlvdXQpLnN0eWxlc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvdy5sYXlvdXQ/LmNvbHVtbkNlbnRlcj8uaXRlbXNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiByb3cubGF5b3V0Py5jb2x1bW5DZW50ZXI/Lml0ZW1zXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiaXRlbS5wb3J0YWxcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvc2VhbS1kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLWNlbnRlcj5cbiAgICA8c2VhbS1kYXRhdGFibGUtbWVudS1iYXItY29sdW1uLXJpZ2h0ICpuZ0lmPVwicm93LmxheW91dD8uY29sdW1uUmlnaHRcIlxuICAgICAgW25nQ2xhc3NdPVwiJGFueShyb3cubGF5b3V0KS5jc3NDbGFzc1wiXG4gICAgICBbbmdTdHlsZV09XCIkYW55KHJvdy5sYXlvdXQpLnN0eWxlc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvdy5sYXlvdXQ/LmNvbHVtblJpZ2h0Py5pdGVtc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHJvdy5sYXlvdXQ/LmNvbHVtblJpZ2h0Py5pdGVtc1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIml0ZW0ucG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3NlYW0tZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1yaWdodD5cbiAgPC9uZy1jb250YWluZXI+XG48L3NlYW0tZGF0YXRhYmxlLW1lbnUtYmFyLXJvdz5cbiJdfQ==
@@ -39,6 +39,10 @@ import * as i5 from "./datatable-dynamic-menu-bar-content/datatable-dynamic-menu
39
39
  * maintain the tables functionality.
40
40
  */
41
41
  export class DatatableDynamicComponent {
42
+ /** The `DatatableDynamicDef` that defines the datatable. */
43
+ set def(value) {
44
+ this._dynamicDef.setDef(value || undefined);
45
+ }
42
46
  constructor(_dynamicDef) {
43
47
  this._dynamicDef = _dynamicDef;
44
48
  this._hasDef$ = this._dynamicDef.def$.pipe(map(def => !!def));
@@ -53,19 +57,15 @@ export class DatatableDynamicComponent {
53
57
  this._tmp_columns$ = this._dynamicDef.def$.pipe(map(def => def ? def.columns : []));
54
58
  this._tmp_rows$ = this._dynamicDef.def$.pipe(map(def => def ? def.rows : []));
55
59
  }
56
- /** The `DatatableDynamicDef` that defines the datatable. */
57
- set def(value) {
58
- this._dynamicDef.setDef(value || undefined);
59
- }
60
60
  /** @ignore */
61
61
  ngOnInit() { }
62
62
  }
63
- DatatableDynamicComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DatatableDynamicComponent, deps: [{ token: i1.DynamicDatatableDefService }], target: i0.ɵɵFactoryTarget.Component });
64
- DatatableDynamicComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: DatatableDynamicComponent, selector: "seam-datatable-dynamic", inputs: { def: "def" }, providers: [
63
+ DatatableDynamicComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DatatableDynamicComponent, deps: [{ token: i1.DynamicDatatableDefService }], target: i0.ɵɵFactoryTarget.Component });
64
+ DatatableDynamicComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: DatatableDynamicComponent, selector: "seam-datatable-dynamic", inputs: { def: "def" }, providers: [
65
65
  DynamicDatatableDefService,
66
66
  DynamicDatatableRowActionsService
67
67
  ], ngImport: i0, template: "<ng-container *ngIf=\"_hasDef$ | async\">\n <seam-datatable *ngIf=\"_options$ | async as opts\"\n class=\"w-100 h-100\"\n [columns]=\"_tmp_columns$ | async\"\n [rows]=\"_tmp_rows$ | async\"\n [virtualization]=\"opts.virtualization\">\n\n <seam-datatable-menu-bar *ngIf=\"menuBar$ | async as menuBar\">\n <seam-datatable-dynamic-menu-bar-content [def]=\"menuBar\"></seam-datatable-dynamic-menu-bar-content>\n </seam-datatable-menu-bar>\n <!-- <seam-datatable-menu-bar *ngIf=\"_hasFilterMenu$ | async\">\n <div class=\"d-flex flex-row pb-2\">\n <div class=\"d-flex flex-row justify-content-end flex-grow-1\">\n <seam-data-filter-search seamDatatableFilter *ngIf=\"_hasFullSearch$\"></seam-data-filter-search>\n </div>\n </div>\n <div class=\"d-flex flex-row\">\n <div class=\"d-flex justify-content-center flex-grow-1\">\n <ng-container *ngFor=\"let r of _commonFilterMenuItems$ | async; let isFirst = first\">\n <seam-datatable-dynamic-filter-container\n [class.ml-1]=\"!isFirst\"\n [filterComponent]=\"r.component\"\n [options]=\"r.options\">\n </seam-datatable-dynamic-filter-container>\n </ng-container>\n </div>\n <seam-datatable-export-button *ngIf=\"_exporters$ | async as exporters\"\n [exporters]=\"exporters\">\n </seam-datatable-export-button>\n </div>\n </seam-datatable-menu-bar> -->\n\n <ng-template seamDatatableRowActionItem let-row>\n <seam-datatable-dynamic-action-menu [row]=\"row\"></seam-datatable-dynamic-action-menu>\n </ng-template>\n\n </seam-datatable>\n</ng-container>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DatatableComponent, selector: "seam-datatable", inputs: ["preferencesKey", "targetMarkerTemplate", "columns", "rows", "columnMode", "groupRowsBy", "groupedRows", "selected", "externalPaging", "externalSorting", "externalFiltering", "limit", "count", "offset", "loadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowIdentity", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "virtualization", "headerHeight", "rowHeight", "footerHeight", "scrollbarV", "scrollbarH", "dataSource"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction", "actionRefreshRequest", "hiddenColumnsChange"] }, { kind: "component", type: i3.DatatableMenuBarComponent, selector: "seam-datatable-menu-bar" }, { kind: "directive", type: i3.DatatableRowActionItemDirective, selector: "[seamDatatableRowActionItem]" }, { kind: "component", type: i4.DatatableDynamicActionMenuComponent, selector: "seam-datatable-dynamic-action-menu", inputs: ["row", "actionDefs"] }, { kind: "component", type: i5.DatatableDynamicMenuBarContentComponent, selector: "seam-datatable-dynamic-menu-bar-content", inputs: ["def"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DatatableDynamicComponent, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DatatableDynamicComponent, decorators: [{
69
69
  type: Component,
70
70
  args: [{ selector: 'seam-datatable-dynamic', providers: [
71
71
  DynamicDatatableDefService,
@@ -74,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
74
74
  }], ctorParameters: function () { return [{ type: i1.DynamicDatatableDefService }]; }, propDecorators: { def: [{
75
75
  type: Input
76
76
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS1keW5hbWljL2RhdGF0YWJsZS1keW5hbWljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUtZHluYW1pYy9kYXRhdGFibGUtZHluYW1pYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUVqRixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFRcEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDNUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUE7Ozs7Ozs7QUFJM0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJHO0FBV0gsTUFBTSxPQUFPLHlCQUF5QjtJQTREcEMsWUFDbUIsV0FBdUM7UUFBdkMsZ0JBQVcsR0FBWCxXQUFXLENBQTRCO1FBRXhELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBRTdELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUE7UUFFekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQTtRQUU5QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0I7YUFDN0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUV2RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCO2FBQ3JELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTVELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUE7UUFFdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQTtRQUUxQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDN0MsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDbkMsQ0FBQTtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUMxQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUVoQyxDQUFBO0lBQ0gsQ0FBQztJQXJGRCw0REFBNEQ7SUFDNUQsSUFBYSxHQUFHLENBQUMsS0FBNkM7UUFDNUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUFvRkQsY0FBYztJQUNkLFFBQVEsS0FBSyxDQUFDOztzSEExRkgseUJBQXlCOzBHQUF6Qix5QkFBeUIseUVBTnpCO1FBQ1QsMEJBQTBCO1FBQzFCLGlDQUFpQztLQUNsQywwQkNwREgsa3FEQXNDQTsyRkRpQmEseUJBQXlCO2tCQVZyQyxTQUFTOytCQUNFLHdCQUF3QixhQUd2Qjt3QkFDVCwwQkFBMEI7d0JBQzFCLGlDQUFpQztxQkFDbEMsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07aUhBS2xDLEdBQUc7c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHsgSURhdGFFeHBvcnRlciB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9kYXRhLWV4cG9ydGVyJ1xuXG5pbXBvcnQge1xuICBEYXRhdGFibGVEeW5hbWljRGVmLFxuICBEeW5hbWljRGF0YXRhYmxlT3B0aW9uc1xufSBmcm9tICcuL2RhdGF0YWJsZS1keW5hbWljLWRlZidcbmltcG9ydCB7IER5bmFtaWNEYXRhdGFibGVEZWZTZXJ2aWNlIH0gZnJvbSAnLi9keW5hbWljLWRhdGF0YWJsZS1kZWYuc2VydmljZSdcbmltcG9ydCB7IER5bmFtaWNEYXRhdGFibGVSb3dBY3Rpb25zU2VydmljZSB9IGZyb20gJy4vZHluYW1pYy1kYXRhdGFibGUtcm93LWFjdGlvbnMuc2VydmljZSdcbmltcG9ydCB7IER5bmFtaWNEYXRhdGFibGVGaWx0ZXJNZW51SXRlbSB9IGZyb20gJy4vbW9kZWxzL2R5bmFtaWMtZGF0YXRhYmxlLWZpbHRlci1tZW51LWl0ZW0nXG5pbXBvcnQgeyBEeW5hbWljRGF0YXRhYmxlTWVudUJhciB9IGZyb20gJy4vbW9kZWxzL2R5bmFtaWMtZGF0YXRhYmxlLW1lbnUtYmFyJ1xuXG4vKipcbiAqICMgRVhQRVJJTUVOVEFMXG4gKlxuICogTk9URTogVGhpcyBjb21wb25lbnQgaXMgc3RpbGwgZXhwZXJpbWVudGFsLiBXaGVuIHN0YWJsZSBhbGwgc3RhbmRhcmRcbiAqIGRhdGF0YWJsZXMgbXVzdCB1c2UgdGhpcyBjb21wb25lbnQsIHVubGVzcyB0aGVyZSBpcyBhIGdvb2QgcmVhc29uIG5vdCB0bywgaW5cbiAqIG91ciBhcHBzLlxuICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqXG4gKiBEYXRhdGFibGUgdGhhdCBpcyBidWlsdCBmcm9tIGEganNvbiBkZWZpbml0aW9uLlxuICpcbiAqIEFsbCBzdGFuZGFyZCBkYXRhdGFibGVzIGluIG91ciBhcHBzIG11c3QgdXNlIHRoaXMgY29tcG9uZW50LCB1bmxlc3MgdGhlcmUgaXNcbiAqIGEgZ29vZCByZWFzb24gbm90IHRvLiBJZiBhIHN0YW5kYXJkIGRhdGF0YWJsZSBkb2VzIG5vdCB1c2UgdGhpcyBjb21wb25lbnRcbiAqIHRoZW4gYW4gZXhwbGFpbmF0aW9uIGNvbW1lbnQgbmVlZHMgdG8gYmUgY2xlYXJseSBwcm92aWRlZCBpbiB0aGUgY29kZSB0b1xuICogYXZvaWQgZ2V0dGluZyBtaWdyYXRlZCB0byB0aGlzIGNvbXBvbmVudC5cbiAqXG4gKiBBIGZldyByZWFzb25zIHRoaXMgY29tcG9uZW50IHNob3VsZCB0byBiZSB1c2VkOlxuICogLSBXZSBjYW4sIG1vcmUgZWFzaWx5LCBjb250cm9sIHdoYXQgYSBkYXRhdGFibGUgaW4gb3VyIGFwcCBkb2VzIGJ5IHJlcXVpcmluZ1xuICogICB0aGUgZGVmaW5pdGlvbiBmb2xsb3cgYSBqc29uIHNjaGVtYSwgaW5zdGVhZCBvZiBoYXZpbmcgZnVsbCBzY3JpcHRpbmdcbiAqICAgYWNjZXNzIGF2YWlsYWJsZSB0byB0aGUgZGV2ZWxvcGVyLlxuICogICArIEJ5IHVzaW5nIGpzb24gd2UgY2FuIG1haW50YWluIHRoZSB0YWJsZXMgZnJvbSBhbnkgZXh0ZXJuYWwgYXBwL2xhbmd1YWdlXG4gKiAgICAgdGhhdCBjYW4gcHJvZHVjZSBhIGpzb24gc3RyaW5nLlxuICogICArIE1vcmUgc2NyaXB0aW5nIGFjY2VzcyBvZnRlbiBsZWFkcyB0byBkaWZmZXJlbnQgaGFja3MgYWNyb3NzIHRoZSB0YWJsZXNcbiAqICAgICB0aGF0IHNob3VsZCBoYXZlIGp1c3QgYmVlbiBzdXBwb3J0ZWQgYnkgdGhpcyBjb21wb25lbnQgaWYgaXQgaXMgYSBmZWF0dXJlXG4gKiAgICAgYSBkYXRhdGFibGUgc2hvdWxkIGJlIGFibGUgdG8gZG8gaW4gYW4gYXBwIG9mIG91cnMuXG4gKiAtIFdlIGNhbiBhbGxvdyBhbnkgb2Ygb3VyIHRhYmxlcyB0byBiZSBjb25maWd1cmVkIGJ5IHRoZSBzZXJ2ZXIuXG4gKiAgICsgQnkgc3VwcG9ydGluZyBjb25maWd1cmF0aW9uIG9uIHRoZSBzZXJ2ZXIgd2UgY2FuIGNoYW5nZSB0aGUgdGFibGVzXG4gKiAgICAgd2l0aG91dCBhIG5ldyBidWlsZCBhbmQgZG8gdGhpbmdzIGxpa2UgYWxsb3dpbmcgbm9uLWRldmVsb3BlcnMvY2xpZW50cyB0b1xuICogICAgIG1haW50YWluIHRoZSB0YWJsZXMgZnVuY3Rpb25hbGl0eS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VhbS1kYXRhdGFibGUtZHluYW1pYycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhdGFibGUtZHluYW1pYy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGF0YWJsZS1keW5hbWljLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIER5bmFtaWNEYXRhdGFibGVEZWZTZXJ2aWNlLFxuICAgIER5bmFtaWNEYXRhdGFibGVSb3dBY3Rpb25zU2VydmljZVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVEeW5hbWljQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvKiogVGhlIGBEYXRhdGFibGVEeW5hbWljRGVmYCB0aGF0IGRlZmluZXMgdGhlIGRhdGF0YWJsZS4gKi9cbiAgQElucHV0KCkgc2V0IGRlZih2YWx1ZTogRGF0YXRhYmxlRHluYW1pY0RlZiB8IHVuZGVmaW5lZCB8IG51bGwpIHtcbiAgICB0aGlzLl9keW5hbWljRGVmLnNldERlZih2YWx1ZSB8fCB1bmRlZmluZWQpXG4gIH1cblxuICAvKipcbiAgICogT2JzZXJ2ZXMgd2hldGhlciB0aGUgZGF0YXRhYmxlIGhhcyBhIGRlZi5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgX2hhc0RlZiQ6IE9ic2VydmFibGU8Ym9vbGVhbj5cblxuICAvKipcbiAgICogT2JzZXJ2ZXMgd2hldGhlciB0aGUgZGF0YXRhYmxlIGhhcyBhIG1lbnUgYmFyLlxuICAgKi9cbiAgbWVudUJhciQ6IE9ic2VydmFibGU8RHluYW1pY0RhdGF0YWJsZU1lbnVCYXIgIHwgdW5kZWZpbmVkPlxuXG4gIC8qKlxuICAgKiBUaGUgYXZhaWxhYmxlIGV4cG9ydGVycy5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgX2V4cG9ydGVycyQ6IE9ic2VydmFibGU8SURhdGFFeHBvcnRlcltdPlxuXG4gIC8qKlxuICAgKiBUaGUgJ2NvbW1vbicgdHlwZSBmaWx0ZXIgbWVudSBpdGVtcy5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgX2NvbW1vbkZpbHRlck1lbnVJdGVtcyQ6IE9ic2VydmFibGU8RHluYW1pY0RhdGF0YWJsZUZpbHRlck1lbnVJdGVtW10+XG5cbiAgLyoqXG4gICAqIE9ic2VydmVzIHdoZXRoZXIgdGhlIGRhdGF0YWJsZSBoYXMgYSAnZnVsbC1zZWFyY2gnIG1lbnUgaXRlbS5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgX2hhc0Z1bGxTZWFyY2gkOiBPYnNlcnZhYmxlPGJvb2xlYW4+XG5cbiAgLyoqXG4gICAqIE9ic2VydmVzIHdoZXRoZXIgdGhlIGRhdGF0YWJsZSBoYXMgYSBmaWx0ZXIgbWVudS5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgX2hhc0ZpbHRlck1lbnUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+XG5cbiAgLyoqXG4gICAqIE9ic2VydmVzIGRhdGF0YWJsZSBvcHRpb25zLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBfb3B0aW9ucyQ6IE9ic2VydmFibGU8RHluYW1pY0RhdGF0YWJsZU9wdGlvbnMgfCB1bmRlZmluZWQ+XG5cbiAgLyoqXG4gICAqIFRPRE86IEltcGxlbWVudCBkZWYgY29sdW1ucyBwYXJzZXIuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF90bXBfY29sdW1ucyQ6IE9ic2VydmFibGU8YW55PlxuXG4gIC8qKlxuICAgKiBUT0RPOiBJbXBsZW1lbnQgZGVmIHJvd3MgcGFyc2VyLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBfdG1wX3Jvd3MkOiBPYnNlcnZhYmxlPGFueT5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9keW5hbWljRGVmOiBEeW5hbWljRGF0YXRhYmxlRGVmU2VydmljZVxuICApIHtcbiAgICB0aGlzLl9oYXNEZWYkID0gdGhpcy5fZHluYW1pY0RlZi5kZWYkLnBpcGUobWFwKGRlZiA9PiAhIWRlZikpXG5cbiAgICB0aGlzLm1lbnVCYXIkID0gdGhpcy5fZHluYW1pY0RlZi5tZW51QmFyJFxuXG4gICAgdGhpcy5fZXhwb3J0ZXJzJCA9IHRoaXMuX2R5bmFtaWNEZWYuZXhwb3J0ZXJzJFxuXG4gICAgdGhpcy5fY29tbW9uRmlsdGVyTWVudUl0ZW1zJCA9IHRoaXMuX2R5bmFtaWNEZWYuZmlsdGVyTWVudUl0ZW1zJFxuICAgICAgLnBpcGUobWFwKGYgPT4gZi5maWx0ZXIoX2YgPT4gX2YudHlwZSA9PT0gJ2NvbW1vbicpKSlcblxuICAgIHRoaXMuX2hhc0Z1bGxTZWFyY2gkID0gdGhpcy5fZHluYW1pY0RlZi5maWx0ZXJNZW51SXRlbXMkXG4gICAgICAucGlwZShtYXAoZiA9PiAhIWYuZmluZChfZiA9PiBfZi50eXBlID09PSAnZnVsbC1zZWFyY2gnKSkpXG5cbiAgICB0aGlzLl9oYXNGaWx0ZXJNZW51JCA9IHRoaXMuX2R5bmFtaWNEZWYuaGFzRmlsdGVyTWVudSRcblxuICAgIHRoaXMuX29wdGlvbnMkID0gdGhpcy5fZHluYW1pY0RlZi5vcHRpb25zJFxuXG4gICAgdGhpcy5fdG1wX2NvbHVtbnMkID0gdGhpcy5fZHluYW1pY0RlZi5kZWYkLnBpcGUoXG4gICAgICBtYXAoZGVmID0+IGRlZiA/IGRlZi5jb2x1bW5zIDogW10pXG4gICAgKVxuXG4gICAgdGhpcy5fdG1wX3Jvd3MkID0gdGhpcy5fZHluYW1pY0RlZi5kZWYkLnBpcGUoXG4gICAgICBtYXAoZGVmID0+IGRlZiA/IGRlZi5yb3dzIDogW10pLFxuICAgICAgLy8gdGFwKHYgPT4gY29uc29sZS5sb2coJ190bXBfcm93cyQnLCB2KSlcbiAgICApXG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBuZ09uSW5pdCgpIHsgfVxuXG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiX2hhc0RlZiQgfCBhc3luY1wiPlxuICA8c2VhbS1kYXRhdGFibGUgKm5nSWY9XCJfb3B0aW9ucyQgfCBhc3luYyBhcyBvcHRzXCJcbiAgICBjbGFzcz1cInctMTAwIGgtMTAwXCJcbiAgICBbY29sdW1uc109XCJfdG1wX2NvbHVtbnMkIHwgYXN5bmNcIlxuICAgIFtyb3dzXT1cIl90bXBfcm93cyQgfCBhc3luY1wiXG4gICAgW3ZpcnR1YWxpemF0aW9uXT1cIm9wdHMudmlydHVhbGl6YXRpb25cIj5cblxuICAgIDxzZWFtLWRhdGF0YWJsZS1tZW51LWJhciAqbmdJZj1cIm1lbnVCYXIkIHwgYXN5bmMgYXMgbWVudUJhclwiPlxuICAgICAgPHNlYW0tZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudCBbZGVmXT1cIm1lbnVCYXJcIj48L3NlYW0tZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudD5cbiAgICA8L3NlYW0tZGF0YXRhYmxlLW1lbnUtYmFyPlxuICAgIDwhLS0gPHNlYW0tZGF0YXRhYmxlLW1lbnUtYmFyICpuZ0lmPVwiX2hhc0ZpbHRlck1lbnUkIHwgYXN5bmNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgcGItMlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93IGp1c3RpZnktY29udGVudC1lbmQgZmxleC1ncm93LTFcIj5cbiAgICAgICAgICA8c2VhbS1kYXRhLWZpbHRlci1zZWFyY2ggc2VhbURhdGF0YWJsZUZpbHRlciAqbmdJZj1cIl9oYXNGdWxsU2VhcmNoJFwiPjwvc2VhbS1kYXRhLWZpbHRlci1zZWFyY2g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWdyb3ctMVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHIgb2YgX2NvbW1vbkZpbHRlck1lbnVJdGVtcyQgfCBhc3luYzsgbGV0IGlzRmlyc3QgPSBmaXJzdFwiPlxuICAgICAgICAgICAgPHNlYW0tZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lclxuICAgICAgICAgICAgICBbY2xhc3MubWwtMV09XCIhaXNGaXJzdFwiXG4gICAgICAgICAgICAgIFtmaWx0ZXJDb21wb25lbnRdPVwici5jb21wb25lbnRcIlxuICAgICAgICAgICAgICBbb3B0aW9uc109XCJyLm9wdGlvbnNcIj5cbiAgICAgICAgICAgIDwvc2VhbS1kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNlYW0tZGF0YXRhYmxlLWV4cG9ydC1idXR0b24gKm5nSWY9XCJfZXhwb3J0ZXJzJCB8IGFzeW5jIGFzIGV4cG9ydGVyc1wiXG4gICAgICAgICAgW2V4cG9ydGVyc109XCJleHBvcnRlcnNcIj5cbiAgICAgICAgPC9zZWFtLWRhdGF0YWJsZS1leHBvcnQtYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9zZWFtLWRhdGF0YWJsZS1tZW51LWJhcj4gLS0+XG5cbiAgICA8bmctdGVtcGxhdGUgc2VhbURhdGF0YWJsZVJvd0FjdGlvbkl0ZW0gbGV0LXJvdz5cbiAgICAgIDxzZWFtLWRhdGF0YWJsZS1keW5hbWljLWFjdGlvbi1tZW51IFtyb3ddPVwicm93XCI+PC9zZWFtLWRhdGF0YWJsZS1keW5hbWljLWFjdGlvbi1tZW51PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgPC9zZWFtLWRhdGF0YWJsZT5cbjwvbmctY29udGFpbmVyPlxuIl19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS1keW5hbWljL2RhdGF0YWJsZS1keW5hbWljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUtZHluYW1pYy9kYXRhdGFibGUtZHluYW1pYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUVqRixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFRcEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDNUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUE7Ozs7Ozs7QUFJM0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJHO0FBV0gsTUFBTSxPQUFPLHlCQUF5QjtJQUVwQyw0REFBNEQ7SUFDNUQsSUFBYSxHQUFHLENBQUMsS0FBNkM7UUFDNUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUF1REQsWUFDbUIsV0FBdUM7UUFBdkMsZ0JBQVcsR0FBWCxXQUFXLENBQTRCO1FBRXhELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBRTdELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUE7UUFFekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQTtRQUU5QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0I7YUFDN0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUV2RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCO2FBQ3JELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTVELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUE7UUFFdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQTtRQUUxQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDN0MsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDbkMsQ0FBQTtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUMxQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUVoQyxDQUFBO0lBQ0gsQ0FBQztJQUVELGNBQWM7SUFDZCxRQUFRLEtBQUssQ0FBQzs7c0hBMUZILHlCQUF5QjswR0FBekIseUJBQXlCLHlFQU56QjtRQUNULDBCQUEwQjtRQUMxQixpQ0FBaUM7S0FDbEMsMEJDcERILGtxREFzQ0E7MkZEaUJhLHlCQUF5QjtrQkFWckMsU0FBUzsrQkFDRSx3QkFBd0IsYUFHdkI7d0JBQ1QsMEJBQTBCO3dCQUMxQixpQ0FBaUM7cUJBQ2xDLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNO2lIQUtsQyxHQUFHO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IElEYXRhRXhwb3J0ZXIgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZGF0YS1leHBvcnRlcidcblxuaW1wb3J0IHtcbiAgRGF0YXRhYmxlRHluYW1pY0RlZixcbiAgRHluYW1pY0RhdGF0YWJsZU9wdGlvbnNcbn0gZnJvbSAnLi9kYXRhdGFibGUtZHluYW1pYy1kZWYnXG5pbXBvcnQgeyBEeW5hbWljRGF0YXRhYmxlRGVmU2VydmljZSB9IGZyb20gJy4vZHluYW1pYy1kYXRhdGFibGUtZGVmLnNlcnZpY2UnXG5pbXBvcnQgeyBEeW5hbWljRGF0YXRhYmxlUm93QWN0aW9uc1NlcnZpY2UgfSBmcm9tICcuL2R5bmFtaWMtZGF0YXRhYmxlLXJvdy1hY3Rpb25zLnNlcnZpY2UnXG5pbXBvcnQgeyBEeW5hbWljRGF0YXRhYmxlRmlsdGVyTWVudUl0ZW0gfSBmcm9tICcuL21vZGVscy9keW5hbWljLWRhdGF0YWJsZS1maWx0ZXItbWVudS1pdGVtJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZU1lbnVCYXIgfSBmcm9tICcuL21vZGVscy9keW5hbWljLWRhdGF0YWJsZS1tZW51LWJhcidcblxuLyoqXG4gKiAjIEVYUEVSSU1FTlRBTFxuICpcbiAqIE5PVEU6IFRoaXMgY29tcG9uZW50IGlzIHN0aWxsIGV4cGVyaW1lbnRhbC4gV2hlbiBzdGFibGUgYWxsIHN0YW5kYXJkXG4gKiBkYXRhdGFibGVzIG11c3QgdXNlIHRoaXMgY29tcG9uZW50LCB1bmxlc3MgdGhlcmUgaXMgYSBnb29kIHJlYXNvbiBub3QgdG8sIGluXG4gKiBvdXIgYXBwcy5cbiAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKlxuICogRGF0YXRhYmxlIHRoYXQgaXMgYnVpbHQgZnJvbSBhIGpzb24gZGVmaW5pdGlvbi5cbiAqXG4gKiBBbGwgc3RhbmRhcmQgZGF0YXRhYmxlcyBpbiBvdXIgYXBwcyBtdXN0IHVzZSB0aGlzIGNvbXBvbmVudCwgdW5sZXNzIHRoZXJlIGlzXG4gKiBhIGdvb2QgcmVhc29uIG5vdCB0by4gSWYgYSBzdGFuZGFyZCBkYXRhdGFibGUgZG9lcyBub3QgdXNlIHRoaXMgY29tcG9uZW50XG4gKiB0aGVuIGFuIGV4cGxhaW5hdGlvbiBjb21tZW50IG5lZWRzIHRvIGJlIGNsZWFybHkgcHJvdmlkZWQgaW4gdGhlIGNvZGUgdG9cbiAqIGF2b2lkIGdldHRpbmcgbWlncmF0ZWQgdG8gdGhpcyBjb21wb25lbnQuXG4gKlxuICogQSBmZXcgcmVhc29ucyB0aGlzIGNvbXBvbmVudCBzaG91bGQgdG8gYmUgdXNlZDpcbiAqIC0gV2UgY2FuLCBtb3JlIGVhc2lseSwgY29udHJvbCB3aGF0IGEgZGF0YXRhYmxlIGluIG91ciBhcHAgZG9lcyBieSByZXF1aXJpbmdcbiAqICAgdGhlIGRlZmluaXRpb24gZm9sbG93IGEganNvbiBzY2hlbWEsIGluc3RlYWQgb2YgaGF2aW5nIGZ1bGwgc2NyaXB0aW5nXG4gKiAgIGFjY2VzcyBhdmFpbGFibGUgdG8gdGhlIGRldmVsb3Blci5cbiAqICAgKyBCeSB1c2luZyBqc29uIHdlIGNhbiBtYWludGFpbiB0aGUgdGFibGVzIGZyb20gYW55IGV4dGVybmFsIGFwcC9sYW5ndWFnZVxuICogICAgIHRoYXQgY2FuIHByb2R1Y2UgYSBqc29uIHN0cmluZy5cbiAqICAgKyBNb3JlIHNjcmlwdGluZyBhY2Nlc3Mgb2Z0ZW4gbGVhZHMgdG8gZGlmZmVyZW50IGhhY2tzIGFjcm9zcyB0aGUgdGFibGVzXG4gKiAgICAgdGhhdCBzaG91bGQgaGF2ZSBqdXN0IGJlZW4gc3VwcG9ydGVkIGJ5IHRoaXMgY29tcG9uZW50IGlmIGl0IGlzIGEgZmVhdHVyZVxuICogICAgIGEgZGF0YXRhYmxlIHNob3VsZCBiZSBhYmxlIHRvIGRvIGluIGFuIGFwcCBvZiBvdXJzLlxuICogLSBXZSBjYW4gYWxsb3cgYW55IG9mIG91ciB0YWJsZXMgdG8gYmUgY29uZmlndXJlZCBieSB0aGUgc2VydmVyLlxuICogICArIEJ5IHN1cHBvcnRpbmcgY29uZmlndXJhdGlvbiBvbiB0aGUgc2VydmVyIHdlIGNhbiBjaGFuZ2UgdGhlIHRhYmxlc1xuICogICAgIHdpdGhvdXQgYSBuZXcgYnVpbGQgYW5kIGRvIHRoaW5ncyBsaWtlIGFsbG93aW5nIG5vbi1kZXZlbG9wZXJzL2NsaWVudHMgdG9cbiAqICAgICBtYWludGFpbiB0aGUgdGFibGVzIGZ1bmN0aW9uYWxpdHkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlYW0tZGF0YXRhYmxlLWR5bmFtaWMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YXRhYmxlLWR5bmFtaWMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhdGFibGUtZHluYW1pYy5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICBEeW5hbWljRGF0YXRhYmxlRGVmU2VydmljZSxcbiAgICBEeW5hbWljRGF0YXRhYmxlUm93QWN0aW9uc1NlcnZpY2VcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRGF0YXRhYmxlRHluYW1pY0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgLyoqIFRoZSBgRGF0YXRhYmxlRHluYW1pY0RlZmAgdGhhdCBkZWZpbmVzIHRoZSBkYXRhdGFibGUuICovXG4gIEBJbnB1dCgpIHNldCBkZWYodmFsdWU6IERhdGF0YWJsZUR5bmFtaWNEZWYgfCB1bmRlZmluZWQgfCBudWxsKSB7XG4gICAgdGhpcy5fZHluYW1pY0RlZi5zZXREZWYodmFsdWUgfHwgdW5kZWZpbmVkKVxuICB9XG5cbiAgLyoqXG4gICAqIE9ic2VydmVzIHdoZXRoZXIgdGhlIGRhdGF0YWJsZSBoYXMgYSBkZWYuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF9oYXNEZWYkOiBPYnNlcnZhYmxlPGJvb2xlYW4+XG5cbiAgLyoqXG4gICAqIE9ic2VydmVzIHdoZXRoZXIgdGhlIGRhdGF0YWJsZSBoYXMgYSBtZW51IGJhci5cbiAgICovXG4gIG1lbnVCYXIkOiBPYnNlcnZhYmxlPER5bmFtaWNEYXRhdGFibGVNZW51QmFyICB8IHVuZGVmaW5lZD5cblxuICAvKipcbiAgICogVGhlIGF2YWlsYWJsZSBleHBvcnRlcnMuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF9leHBvcnRlcnMkOiBPYnNlcnZhYmxlPElEYXRhRXhwb3J0ZXJbXT5cblxuICAvKipcbiAgICogVGhlICdjb21tb24nIHR5cGUgZmlsdGVyIG1lbnUgaXRlbXMuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF9jb21tb25GaWx0ZXJNZW51SXRlbXMkOiBPYnNlcnZhYmxlPER5bmFtaWNEYXRhdGFibGVGaWx0ZXJNZW51SXRlbVtdPlxuXG4gIC8qKlxuICAgKiBPYnNlcnZlcyB3aGV0aGVyIHRoZSBkYXRhdGFibGUgaGFzIGEgJ2Z1bGwtc2VhcmNoJyBtZW51IGl0ZW0uXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF9oYXNGdWxsU2VhcmNoJDogT2JzZXJ2YWJsZTxib29sZWFuPlxuXG4gIC8qKlxuICAgKiBPYnNlcnZlcyB3aGV0aGVyIHRoZSBkYXRhdGFibGUgaGFzIGEgZmlsdGVyIG1lbnUuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF9oYXNGaWx0ZXJNZW51JDogT2JzZXJ2YWJsZTxib29sZWFuPlxuXG4gIC8qKlxuICAgKiBPYnNlcnZlcyBkYXRhdGFibGUgb3B0aW9ucy5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgX29wdGlvbnMkOiBPYnNlcnZhYmxlPER5bmFtaWNEYXRhdGFibGVPcHRpb25zIHwgdW5kZWZpbmVkPlxuXG4gIC8qKlxuICAgKiBUT0RPOiBJbXBsZW1lbnQgZGVmIGNvbHVtbnMgcGFyc2VyLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBfdG1wX2NvbHVtbnMkOiBPYnNlcnZhYmxlPGFueT5cblxuICAvKipcbiAgICogVE9ETzogSW1wbGVtZW50IGRlZiByb3dzIHBhcnNlci5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgX3RtcF9yb3dzJDogT2JzZXJ2YWJsZTxhbnk+XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZHluYW1pY0RlZjogRHluYW1pY0RhdGF0YWJsZURlZlNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5faGFzRGVmJCA9IHRoaXMuX2R5bmFtaWNEZWYuZGVmJC5waXBlKG1hcChkZWYgPT4gISFkZWYpKVxuXG4gICAgdGhpcy5tZW51QmFyJCA9IHRoaXMuX2R5bmFtaWNEZWYubWVudUJhciRcblxuICAgIHRoaXMuX2V4cG9ydGVycyQgPSB0aGlzLl9keW5hbWljRGVmLmV4cG9ydGVycyRcblxuICAgIHRoaXMuX2NvbW1vbkZpbHRlck1lbnVJdGVtcyQgPSB0aGlzLl9keW5hbWljRGVmLmZpbHRlck1lbnVJdGVtcyRcbiAgICAgIC5waXBlKG1hcChmID0+IGYuZmlsdGVyKF9mID0+IF9mLnR5cGUgPT09ICdjb21tb24nKSkpXG5cbiAgICB0aGlzLl9oYXNGdWxsU2VhcmNoJCA9IHRoaXMuX2R5bmFtaWNEZWYuZmlsdGVyTWVudUl0ZW1zJFxuICAgICAgLnBpcGUobWFwKGYgPT4gISFmLmZpbmQoX2YgPT4gX2YudHlwZSA9PT0gJ2Z1bGwtc2VhcmNoJykpKVxuXG4gICAgdGhpcy5faGFzRmlsdGVyTWVudSQgPSB0aGlzLl9keW5hbWljRGVmLmhhc0ZpbHRlck1lbnUkXG5cbiAgICB0aGlzLl9vcHRpb25zJCA9IHRoaXMuX2R5bmFtaWNEZWYub3B0aW9ucyRcblxuICAgIHRoaXMuX3RtcF9jb2x1bW5zJCA9IHRoaXMuX2R5bmFtaWNEZWYuZGVmJC5waXBlKFxuICAgICAgbWFwKGRlZiA9PiBkZWYgPyBkZWYuY29sdW1ucyA6IFtdKVxuICAgIClcblxuICAgIHRoaXMuX3RtcF9yb3dzJCA9IHRoaXMuX2R5bmFtaWNEZWYuZGVmJC5waXBlKFxuICAgICAgbWFwKGRlZiA9PiBkZWYgPyBkZWYucm93cyA6IFtdKSxcbiAgICAgIC8vIHRhcCh2ID0+IGNvbnNvbGUubG9nKCdfdG1wX3Jvd3MkJywgdikpXG4gICAgKVxuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgbmdPbkluaXQoKSB7IH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9oYXNEZWYkIHwgYXN5bmNcIj5cbiAgPHNlYW0tZGF0YXRhYmxlICpuZ0lmPVwiX29wdGlvbnMkIHwgYXN5bmMgYXMgb3B0c1wiXG4gICAgY2xhc3M9XCJ3LTEwMCBoLTEwMFwiXG4gICAgW2NvbHVtbnNdPVwiX3RtcF9jb2x1bW5zJCB8IGFzeW5jXCJcbiAgICBbcm93c109XCJfdG1wX3Jvd3MkIHwgYXN5bmNcIlxuICAgIFt2aXJ0dWFsaXphdGlvbl09XCJvcHRzLnZpcnR1YWxpemF0aW9uXCI+XG5cbiAgICA8c2VhbS1kYXRhdGFibGUtbWVudS1iYXIgKm5nSWY9XCJtZW51QmFyJCB8IGFzeW5jIGFzIG1lbnVCYXJcIj5cbiAgICAgIDxzZWFtLWRhdGF0YWJsZS1keW5hbWljLW1lbnUtYmFyLWNvbnRlbnQgW2RlZl09XCJtZW51QmFyXCI+PC9zZWFtLWRhdGF0YWJsZS1keW5hbWljLW1lbnUtYmFyLWNvbnRlbnQ+XG4gICAgPC9zZWFtLWRhdGF0YWJsZS1tZW51LWJhcj5cbiAgICA8IS0tIDxzZWFtLWRhdGF0YWJsZS1tZW51LWJhciAqbmdJZj1cIl9oYXNGaWx0ZXJNZW51JCB8IGFzeW5jXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93IHBiLTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWNvbnRlbnQtZW5kIGZsZXgtZ3Jvdy0xXCI+XG4gICAgICAgICAgPHNlYW0tZGF0YS1maWx0ZXItc2VhcmNoIHNlYW1EYXRhdGFibGVGaWx0ZXIgKm5nSWY9XCJfaGFzRnVsbFNlYXJjaCRcIj48L3NlYW0tZGF0YS1maWx0ZXItc2VhcmNoPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC1ncm93LTFcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByIG9mIF9jb21tb25GaWx0ZXJNZW51SXRlbXMkIHwgYXN5bmM7IGxldCBpc0ZpcnN0ID0gZmlyc3RcIj5cbiAgICAgICAgICAgIDxzZWFtLWRhdGF0YWJsZS1keW5hbWljLWZpbHRlci1jb250YWluZXJcbiAgICAgICAgICAgICAgW2NsYXNzLm1sLTFdPVwiIWlzRmlyc3RcIlxuICAgICAgICAgICAgICBbZmlsdGVyQ29tcG9uZW50XT1cInIuY29tcG9uZW50XCJcbiAgICAgICAgICAgICAgW29wdGlvbnNdPVwici5vcHRpb25zXCI+XG4gICAgICAgICAgICA8L3NlYW0tZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzZWFtLWRhdGF0YWJsZS1leHBvcnQtYnV0dG9uICpuZ0lmPVwiX2V4cG9ydGVycyQgfCBhc3luYyBhcyBleHBvcnRlcnNcIlxuICAgICAgICAgIFtleHBvcnRlcnNdPVwiZXhwb3J0ZXJzXCI+XG4gICAgICAgIDwvc2VhbS1kYXRhdGFibGUtZXhwb3J0LWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2VhbS1kYXRhdGFibGUtbWVudS1iYXI+IC0tPlxuXG4gICAgPG5nLXRlbXBsYXRlIHNlYW1EYXRhdGFibGVSb3dBY3Rpb25JdGVtIGxldC1yb3c+XG4gICAgICA8c2VhbS1kYXRhdGFibGUtZHluYW1pYy1hY3Rpb24tbWVudSBbcm93XT1cInJvd1wiPjwvc2VhbS1kYXRhdGFibGUtZHluYW1pYy1hY3Rpb24tbWVudT5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gIDwvc2VhbS1kYXRhdGFibGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -18,8 +18,8 @@ import { DatatableDynamicActionMenuItemDirective } from './directives/datatable-
18
18
  import * as i0 from "@angular/core";
19
19
  export class TheSeamDatatableDynamicModule {
20
20
  }
21
- TheSeamDatatableDynamicModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamDatatableDynamicModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
22
- TheSeamDatatableDynamicModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: TheSeamDatatableDynamicModule, declarations: [DatatableDynamicComponent,
21
+ TheSeamDatatableDynamicModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamDatatableDynamicModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
22
+ TheSeamDatatableDynamicModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.6", ngImport: i0, type: TheSeamDatatableDynamicModule, declarations: [DatatableDynamicComponent,
23
23
  DatatableDynamicFilterContainerComponent,
24
24
  DatatableDynamicActionMenuComponent,
25
25
  DatatableDynamicActionMenuItemDirective,
@@ -36,7 +36,7 @@ TheSeamDatatableDynamicModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14
36
36
  TheSeamButtonsModule], exports: [DatatableDynamicComponent,
37
37
  TheSeamDatatableModule,
38
38
  DatatableDynamicActionMenuItemDirective] });
39
- TheSeamDatatableDynamicModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamDatatableDynamicModule, imports: [CommonModule,
39
+ TheSeamDatatableDynamicModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamDatatableDynamicModule, imports: [CommonModule,
40
40
  TheSeamSharedModule,
41
41
  TheSeamDatatableModule,
42
42
  TheSeamTableCellTypesModule,
@@ -47,7 +47,7 @@ TheSeamDatatableDynamicModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12
47
47
  RouterModule,
48
48
  TheSeamMenuModule,
49
49
  TheSeamButtonsModule, TheSeamDatatableModule] });
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: TheSeamDatatableDynamicModule, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TheSeamDatatableDynamicModule, decorators: [{
51
51
  type: NgModule,
52
52
  args: [{
53
53
  declarations: [
@@ -149,6 +149,9 @@ export { DatatableDynamicActionMenuItemRouterLink };
149
149
  // TODO: Refactor this directive. It got way more complex instead of more
150
150
  // simplified like it was supposed to be.
151
151
  export class DatatableDynamicActionMenuItemDirective {
152
+ set seamDatatableDynamicActionMenuItem(value) {
153
+ this._record.next(value);
154
+ }
152
155
  constructor(_elementRef, _renderer, _valueHelper, _actionHelper, _assetReaderHelper, _router, _route, _locationStrategy) {
153
156
  this._elementRef = _elementRef;
154
157
  this._renderer = _renderer;
@@ -170,9 +173,6 @@ export class DatatableDynamicActionMenuItemDirective {
170
173
  return of(undefined);
171
174
  })).subscribe();
172
175
  }
173
- set seamDatatableDynamicActionMenuItem(value) {
174
- this._record.next(value);
175
- }
176
176
  ngOnInit() { }
177
177
  ngOnDestroy() {
178
178
  this._recordSubscription.unsubscribe();
@@ -386,9 +386,9 @@ export class DatatableDynamicActionMenuItemDirective {
386
386
  toggleAttribute(element, 'disabled', invalid);
387
387
  }
388
388
  }
389
- DatatableDynamicActionMenuItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DatatableDynamicActionMenuItemDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.DynamicValueHelperService }, { token: i1.DynamicActionHelperService }, { token: i2.AssetReaderHelperService }, { token: i3.Router }, { token: i3.ActivatedRoute }, { token: i4.LocationStrategy }], target: i0.ɵɵFactoryTarget.Directive });
390
- DatatableDynamicActionMenuItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: DatatableDynamicActionMenuItemDirective, selector: "[seamDatatableDynamicActionMenuItem]", inputs: { seamDatatableDynamicActionMenuItem: "seamDatatableDynamicActionMenuItem" }, exportAs: ["seamDatatableDynamicActionMenuItem"], usesOnChanges: true, ngImport: i0 });
391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DatatableDynamicActionMenuItemDirective, decorators: [{
389
+ DatatableDynamicActionMenuItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DatatableDynamicActionMenuItemDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.DynamicValueHelperService }, { token: i1.DynamicActionHelperService }, { token: i2.AssetReaderHelperService }, { token: i3.Router }, { token: i3.ActivatedRoute }, { token: i4.LocationStrategy }], target: i0.ɵɵFactoryTarget.Directive });
390
+ DatatableDynamicActionMenuItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.6", type: DatatableDynamicActionMenuItemDirective, selector: "[seamDatatableDynamicActionMenuItem]", inputs: { seamDatatableDynamicActionMenuItem: "seamDatatableDynamicActionMenuItem" }, exportAs: ["seamDatatableDynamicActionMenuItem"], usesOnChanges: true, ngImport: i0 });
391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DatatableDynamicActionMenuItemDirective, decorators: [{
392
392
  type: Directive,
393
393
  args: [{
394
394
  selector: '[seamDatatableDynamicActionMenuItem]',
@@ -397,4 +397,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
397
397
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.DynamicValueHelperService }, { type: i1.DynamicActionHelperService }, { type: i2.AssetReaderHelperService }, { type: i3.Router }, { type: i3.ActivatedRoute }, { type: i4.LocationStrategy }]; }, propDecorators: { seamDatatableDynamicActionMenuItem: [{
398
398
  type: Input
399
399
  }] } });
400
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtYWN0aW9uLW1lbnUtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGlyZWN0aXZlcy9kYXRhdGFibGUtZHluYW1pYy1hY3Rpb24tbWVudS1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBRVQsS0FBSyxFQUNMLFNBQVMsRUFLVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQStDLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzdHLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFjLEVBQUUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ25GLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQVVsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7Ozs7O0FBT3JGOzs7R0FHRztBQUNJLElBQU0sd0NBQXdDLEdBQTlDLE1BQU0sd0NBQXdDO0lBUW5ELFlBQ1UsTUFBYyxFQUNkLEtBQXFCLEVBQ04sUUFBdUIsRUFDdEMsUUFBbUIsRUFDbkIsRUFBYyxFQUNkLGdCQUFrQztRQUxsQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFFckIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUUxQyxJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLEdBQUcs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SUFFTyxzQkFBc0IsQ0FBQyxVQUFtQixLQUFLO1FBQ3JELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFBO1FBQzlDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQy9DLENBQUM7O29JQTVUVSx1Q0FBdUM7d0hBQXZDLHVDQUF1QzsyRkFBdkMsdUNBQXVDO2tCQUpuRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQ0FBc0M7b0JBQ2hELFFBQVEsRUFBRSxvQ0FBb0M7aUJBQy9DO2tVQUtLLGtDQUFrQztzQkFGckMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQge1xuICBBdHRyaWJ1dGUsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIGlzRGV2TW9kZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUXVlcnlQYXJhbXNIYW5kbGluZywgUm91dGVyLCBSb3V0ZXJMaW5rLCBSb3V0ZXJMaW5rV2l0aEhyZWYgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBmcm9tLCBmcm9tRXZlbnQsIE9ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwVG8sIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB7IEFzc2V0UmVhZGVySGVscGVyU2VydmljZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9hc3NldC1yZWFkZXInXG5pbXBvcnQge1xuICBEeW5hbWljQWN0aW9uSGVscGVyU2VydmljZSxcbiAgRHluYW1pY0FjdGlvblVpQW5jaG9yRGVmLFxuICBEeW5hbWljQWN0aW9uVWlCdXR0b25EZWYsXG4gIER5bmFtaWNBY3Rpb25VaURlZixcbiAgRHluYW1pY1ZhbHVlSGVscGVyU2VydmljZVxufSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZHluYW1pYydcbmltcG9ydCB7IGdldEF0dHJpYnV0ZSwgaGFzUHJvcGVydHksIHRvZ2dsZUF0dHJpYnV0ZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi91dGlscydcblxuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZVJvdyB9IGZyb20gJy4uL2RhdGF0YWJsZS1keW5hbWljLWRlZidcbmltcG9ydCB0eXBlIHsgRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQgfSBmcm9tICcuLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtYWN0aW9uLW1lbnUtcmVjb3JkJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbiB9IGZyb20gJy4uL21vZGVscy9keW5hbWljLWRhdGF0YWJsZS1yb3ctYWN0aW9uJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbkNvbnRleHQgfSBmcm9tICcuLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtcm93LWFjdGlvbi1jb250ZXh0J1xuXG4vKipcbiAqIENsYXNzIHRvIGFjdCBhcyBhIHN1YnN0aXR1dGUgdG8gYHJvdXRlckxpbmtgIGRpcmVjdGl2ZSB1bnRpbCB0aGUgbWVudSBpdGVtc1xuICogY2FuIGJlIGR5bmFtaWNhbGx5IGJ1aWx0IGluIGEgY2xlYW4gd2F5IHdpdGggb3Igd2l0aG91dCBgcm91dGVyTGlua2AuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1Sb3V0ZXJMaW5rIHtcblxuICBwcml2YXRlIF9yTGluaz86IFJvdXRlckxpbmtcbiAgcHJpdmF0ZSBfckxpbmtXaXRoSHJlZj86IFJvdXRlckxpbmtXaXRoSHJlZlxuXG4gIC8vIHByaXZhdGUgX2NsaWNrU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uXG4gIHByaXZhdGUgX3JMaW5rQ2xpY2tFdmVudExpc3RlbmVyPzogYW55XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBAQXR0cmlidXRlKCd0YWJpbmRleCcpIHRhYkluZGV4OiBzdHJpbmcgfCBudWxsLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgbG9jYXRpb25TdHJhdGVneTogTG9jYXRpb25TdHJhdGVneVxuICApIHtcbiAgICBpZiAoZWwubmF0aXZlRWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYScpIHtcbiAgICAgIHRoaXMuX3JMaW5rV2l0aEhyZWYgPSBuZXcgUm91dGVyTGlua1dpdGhIcmVmKFxuICAgICAgICByb3V0ZXIsXG4gICAgICAgIHJvdXRlLFxuICAgICAgICAnMCcsIC8vIFRPRE86IEZpeCB0eXBlLlxuICAgICAgICByZW5kZXJlcixcbiAgICAgICAgZWwubmF0aXZlRWxlbWVudCxcbiAgICAgICAgbG9jYXRpb25TdHJhdGVneVxuICAgICAgKVxuICAgICAgLy8gY29uc29sZS5sb2coJ3JMaW5rV2l0aEhyZWYnLCB0aGlzLnJMaW5rV2l0aEhyZWYpXG5cbiAgICAgIHRoaXMuX3JMaW5rQ2xpY2tFdmVudExpc3RlbmVyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCd0aGlzLl9yTGlua1dpdGhIcmVmJywgdGhpcy5fckxpbmtXaXRoSHJlZiwgdGhpcy5fckxpbmtXaXRoSHJlZiAmJiB0aGlzLl9yTGlua1dpdGhIcmVmLmhyZWYpXG4gICAgICAgIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX3JMaW5rV2l0aEhyZWYub25DbGljayhldmVudC5idXR0b24sIGV2ZW50LmN0cmxLZXksIGV2ZW50LnNoaWZ0S2V5LCBldmVudC5hbHRLZXksIGV2ZW50Lm1ldGFLZXkpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3JMaW5rID0gbmV3IFJvdXRlckxpbmsoXG4gICAgICAgIHJvdXRlcixcbiAgICAgICAgcm91dGUsXG4gICAgICAgIHRhYkluZGV4IGFzIHN0cmluZyxcbiAgICAgICAgcmVuZGVyZXIsXG4gICAgICAgIGVsXG4gICAgICApXG4gICAgICAvLyBjb25zb2xlLmxvZygnckxpbmsnLCB0aGlzLnJMaW5rKVxuXG4gICAgICB0aGlzLl9yTGlua0NsaWNrRXZlbnRMaXN0ZW5lciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ3RoaXMuX3JMaW5rJywgdGhpcy5fckxpbmsgJiYgdGhpcy5fckxpbmsudXJsVHJlZSlcbiAgICAgICAgaWYgKHRoaXMuX3JMaW5rKSB7IHJldHVybiAodGhpcy5fckxpbmsgYXMgYW55KS5vbkNsaWNrKCkgfVxuICAgICAgfSlcblxuICAgICAgLy8gdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQoZWwubmF0aXZlRWxlbWVudCwgJ2NsaWNrJylcbiAgICAgIC8vICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAvLyAgICAgaWYgKHRoaXMuX3JMaW5rKSB7XG4gICAgICAvLyAgICAgICB0aGlzLl9yTGluay5vbkNsaWNrKClcbiAgICAgIC8vICAgICB9IGVsc2Uge1xuICAgICAgLy8gICAgICAgaWYgKHRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uICYmICF0aGlzLl9jbGlja1N1YnNjcmlwdGlvbi5jbG9zZWQpIHtcbiAgICAgIC8vICAgICAgICAgdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgICAgLy8gICAgICAgfVxuICAgICAgLy8gICAgIH1cbiAgICAgIC8vICAgfSlcbiAgICB9XG4gIH1cblxuICBnZXQgcm91dGVyTGluaygpOiBSb3V0ZXJMaW5rIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMuX3JMaW5rIH1cbiAgZ2V0IHJvdXRlckxpbmtXaXRoSHJlZigpOiBSb3V0ZXJMaW5rV2l0aEhyZWYgfCB1bmRlZmluZWQgeyByZXR1cm4gdGhpcy5fckxpbmtXaXRoSHJlZiB9XG5cbiAgc2V0IHJvdXRlckxpbmtJbnB1dChjb21tYW5kczogYW55W10gfCBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnJvdXRlckxpbmsgPSBjb21tYW5kc1xuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5yb3V0ZXJMaW5rID0gY29tbWFuZHNcbiAgICB9XG4gIH1cblxuICBzZXQgcXVlcnlQYXJhbXModmFsdWU6IHsgW2s6IHN0cmluZ106IGFueSB9KSB7XG4gICAgaWYgKHRoaXMuX3JMaW5rKSB7XG4gICAgICB0aGlzLl9yTGluay5xdWVyeVBhcmFtcyA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnF1ZXJ5UGFyYW1zID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgZnJhZ21lbnQodmFsdWU6IHN0cmluZykge1xuICAgIGlmICh0aGlzLl9yTGluaykge1xuICAgICAgdGhpcy5fckxpbmsuZnJhZ21lbnQgPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5mcmFnbWVudCA9IHZhbHVlXG4gICAgfVxuICB9XG5cbiAgc2V0IHF1ZXJ5UGFyYW1zSGFuZGxpbmcodmFsdWU6IFF1ZXJ5UGFyYW1zSGFuZGxpbmcpIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnF1ZXJ5UGFyYW1zSGFuZGxpbmcgPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5xdWVyeVBhcmFtc0hhbmRsaW5nID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgcHJlc2VydmVGcmFnbWVudCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLl9yTGluaykge1xuICAgICAgdGhpcy5fckxpbmsucHJlc2VydmVGcmFnbWVudCA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnByZXNlcnZlRnJhZ21lbnQgPSB2YWx1ZVxuICAgIH1cbiAgfVxuXG4gIHNldCBza2lwTG9jYXRpb25DaGFuZ2UodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnNraXBMb2NhdGlvbkNoYW5nZSA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnNraXBMb2NhdGlvbkNoYW5nZSA9IHZhbHVlXG4gICAgfVxuICB9XG5cbiAgc2V0IHJlcGxhY2VVcmwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnJlcGxhY2VVcmwgPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5yZXBsYWNlVXJsID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgc3RhdGUodmFsdWU6IHsgW2s6IHN0cmluZ106IGFueSB9KSB7XG4gICAgaWYgKHRoaXMuX3JMaW5rKSB7XG4gICAgICB0aGlzLl9yTGluay5zdGF0ZSA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnN0YXRlID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgdGFyZ2V0KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi50YXJnZXQgPSB2YWx1ZSBhcyBzdHJpbmdcblxuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RhcmdldCcsIHZhbHVlKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG9nZ2xlQXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RhcmdldCcsIGZhbHNlKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCkge1xuICAgIC8vIGlmICh0aGlzLl9jbGlja1N1YnNjcmlwdGlvbiAmJiAhdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgLy8gICB0aGlzLl9jbGlja1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gICAgLy8gfVxuICAgIGlmICh0aGlzLl9yTGlua0NsaWNrRXZlbnRMaXN0ZW5lcikge1xuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5fckxpbmtDbGlja0V2ZW50TGlzdGVuZXIpXG4gICAgICB0aGlzLl9yTGlua0NsaWNrRXZlbnRMaXN0ZW5lciA9IG51bGxcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fckxpbmtXaXRoSHJlZiAmJiB0aGlzLl9yTGlua1dpdGhIcmVmLm5nT25EZXN0cm95KSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLm5nT25EZXN0cm95KClcbiAgICB9XG4gIH1cblxufVxuXG4vLyBUT0RPOiBSZWZhY3RvciB0aGlzIGRpcmVjdGl2ZS4gSXQgZ290IHdheSBtb3JlIGNvbXBsZXggaW5zdGVhZCBvZiBtb3JlXG4vLyBzaW1wbGlmaWVkIGxpa2UgaXQgd2FzIHN1cHBvc2VkIHRvIGJlLlxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NlYW1EYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1dJyxcbiAgZXhwb3J0QXM6ICdzZWFtRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtJ1xufSlcbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKVxuICAvLyBnZXQgc2VhbURhdGF0YWJsZUR5bmFtaWNBY3Rpb25NZW51SXRlbSgpOiBEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZCB7IHJldHVybiB0aGlzLl9yZWNvcmQgfVxuICBzZXQgc2VhbURhdGF0YWJsZUR5bmFtaWNBY3Rpb25NZW51SXRlbSh2YWx1ZTogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQpIHtcbiAgICB0aGlzLl9yZWNvcmQubmV4dCh2YWx1ZSlcbiAgfVxuICBwcml2YXRlIF9yZWNvcmQgPSBuZXcgUmVwbGF5U3ViamVjdDxEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZD4oMSlcblxuICBwcml2YXRlIF9jbGlja1N1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvblxuICBwcml2YXRlIF9tZW51Um91dGVyTGluaz86IERhdGF0YWJsZUR5bmFtaWNBY3Rpb25NZW51SXRlbVJvdXRlckxpbmtcblxuICBwcml2YXRlIF9yZWNvcmRTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFlcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgX3ZhbHVlSGVscGVyOiBEeW5hbWljVmFsdWVIZWxwZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2FjdGlvbkhlbHBlcjogRHluYW1pY0FjdGlvbkhlbHBlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfYXNzZXRSZWFkZXJIZWxwZXI6IEFzc2V0UmVhZGVySGVscGVyU2VydmljZSxcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIF9yb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBfbG9jYXRpb25TdHJhdGVneTogTG9jYXRpb25TdHJhdGVneVxuICApIHtcbiAgICB0aGlzLl9yZWNvcmRTdWJzY3JpcHRpb24gPSB0aGlzLl9yZWNvcmQucGlwZShcbiAgICAgIC8vIHRhcCh2ID0+IGNvbnNvbGUubG9nKCdyZWNvcmQnLCB2KSksXG4gICAgICBzd2l0Y2hNYXAocmVjb3JkID0+IHRoaXMuX3VwZGF0ZShyZWNvcmQpKSxcbiAgICAgIHRhcCgoKSA9PiB7IHRoaXMuX3NldEludmFsaWRBY3Rpb25TdGF0ZShmYWxzZSkgfSksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7IGNvbnNvbGUuZXJyb3IoZXJyb3IpIH1cbiAgICAgICAgdGhpcy5fc2V0SW52YWxpZEFjdGlvblN0YXRlKHRydWUpXG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgICB9KSxcbiAgICAgIC8vIHRhcCh2ID0+IGNvbnNvbGUubG9nKCdyZWNvcmQgRE9ORScsIHYpKVxuICAgICkuc3Vic2NyaWJlKClcbiAgfVxuXG4gIG5nT25Jbml0KCkgeyB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fcmVjb3JkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICB0aGlzLl91bnN1YkNsaWNrKClcbiAgICBpZiAodGhpcy5fbWVudVJvdXRlckxpbmsgJiYgdGhpcy5fbWVudVJvdXRlckxpbmsucm91dGVyTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9tZW51Um91dGVyTGluay5yb3V0ZXJMaW5rV2l0aEhyZWYubmdPbkRlc3Ryb3koKVxuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IHt9KSB7XG4gICAgLy8gY29uc29sZS5sb2coJ25nT25DaGFuZ2VzJywgY2hhbmdlcywgdGhpcywgdGhpcy5fbWVudVJvdXRlckxpbmspXG4gICAgaWYgKHRoaXMuX21lbnVSb3V0ZXJMaW5rICYmIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnJvdXRlckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fbWVudVJvdXRlckxpbmsucm91dGVyTGlua1dpdGhIcmVmLm5nT25DaGFuZ2VzKHt9KVxuICAgICAgaWYgKHRoaXMuX21lbnVSb3V0ZXJMaW5rLnJvdXRlckxpbmtXaXRoSHJlZi5ocmVmKSB7XG4gICAgICAgIGlmIChnZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaHJlZicpICE9PSB0aGlzLl9tZW51Um91dGVyTGluay5yb3V0ZXJMaW5rV2l0aEhyZWYuaHJlZikge1xuICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdocmVmJywgdGhpcy5fbWVudVJvdXRlckxpbmsucm91dGVyTGlua1dpdGhIcmVmLmhyZWYpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRvZ2dsZUF0dHJpYnV0ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdocmVmJywgZmFsc2UpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIF91cGRhdGUocmVjb3JkOiBEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHRoaXMuX3Vuc3ViQ2xpY2soKVxuXG4gICAgcmV0dXJuIGZyb20odGhpcy5fZ2V0VWlQcm9wcyhyZWNvcmQpKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKHVpUHJvcHMgPT4gdGhpcy5faXNBbmNob3IoKVxuICAgICAgICA/IHRoaXMuX3VwZGF0ZUFuY2hvckVsZW1lbnQocmVjb3JkLCB1aVByb3BzIGFzIER5bmFtaWNBY3Rpb25VaUFuY2hvckRlZilcbiAgICAgICAgOiB0aGlzLl91cGRhdGVCdXR0b25FbGVtZW50KHJlY29yZCwgdWlQcm9wcyBhcyBEeW5hbWljQWN0aW9uVWlCdXR0b25EZWYpXG4gICAgICApXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQW5jaG9yRWxlbWVudChcbiAgICByZWNvcmQ6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkLFxuICAgIHVpUHJvcHM6IER5bmFtaWNBY3Rpb25VaUFuY2hvckRlZlxuICApOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBfc3RyZWFtOiBPYnNlcnZhYmxlPGFueT4gPSBvZih1bmRlZmluZWQpXG5cbiAgICBzd2l0Y2ggKHVpUHJvcHMudHJpZ2dlclR5cGUpIHtcbiAgICAgIGNhc2UgJ2xpbmsnOiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdIYW5kbGUgXCJsaW5rXCIgdHJpZ2dlclR5cGUuJywgdWlQcm9wcylcbiAgICAgICAgLy8gdGhpcy5fdHJ5SW5pdFRhYkluZGV4KClcbiAgICAgICAgdGhpcy5fdHJ5SW5pdEJsb2NrQ2xpY2socmVjb3JkLCB1aVByb3BzKVxuICAgICAgICB0aGlzLl9pbml0TWVudUl0ZW1Sb3V0ZXJMaW5rKHJlY29yZCwgdWlQcm9wcylcblxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgY2FzZSAnbGluay1leHRlcm5hbCc6IHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ0hhbmRsZSBcImxpbmstZXh0ZXJuYWxcIiB0cmlnZ2VyVHlwZS4nLCB1aVByb3BzKVxuICAgICAgICAvLyB0aGlzLl90cnlJbml0VGFiSW5kZXgoKVxuICAgICAgICB0aGlzLl90cnlJbml0QmxvY2tDbGljayhyZWNvcmQsIHVpUHJvcHMpXG4gICAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLCAnbGlua1VybCcpKSB7XG4gICAgICAgICAgdGhpcy5fc2V0QXR0cignaHJlZicsIHVpUHJvcHMubGlua1VybClcbiAgICAgICAgfVxuICAgICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcywgJ2xpbmtFeHRyYXMnKSkge1xuICAgICAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICd0YXJnZXQnKSkge1xuICAgICAgICAgICAgdGhpcy5fc2V0QXR0cigndGFyZ2V0JywgdWlQcm9wcy5saW5rRXh0cmFzLnRhcmdldClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gVE9ETzogQ29uc2lkZXIgbWFraW5nIHRoZSBJdGVtUm91dGVyTGluayB3b3JrIHdpdGggZXh0ZXJuYWwgdXJscy5cbiAgICAgICAgLy8gdGhpcy5faW5pdE1lbnVJdGVtUm91dGVyTGluayhyZWNvcmQsIHVpUHJvcHMpXG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIC8vIFRPRE86IFVubGVzcyB3ZSBkZWNpZGUgdG8gYWRkIGEgcm91dGUgZm9yIG9wZW5uaW5nIGFzc2V0cywgdGhpcyB3b3VsZFxuICAgICAgLy8gYmUgY29uZnVzaW5nIHRvIGEgdXNlci5cbiAgICAgIC8vIGNhc2UgJ2xpbmstYXNzZXQnOiB7XG4gICAgICAvLyAgIGNvbnNvbGUubG9nKCdIYW5kbGUgXCJsaW5rLWFzc2V0XCIgdHJpZ2dlclR5cGUuJywgdWlQcm9wcylcbiAgICAgIC8vICAgLy8gdGhpcy5fdHJ5SW5pdFRhYkluZGV4KClcbiAgICAgIC8vICAgdGhpcy5fdHJ5SW5pdEJsb2NrQ2xpY2socmVjb3JkLCB1aVByb3BzKVxuICAgICAgLy8gICBicmVha1xuICAgICAgLy8gfVxuICAgICAgZGVmYXVsdDogdGhyb3cgRXJyb3IoJ1tEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1EaXJlY3RpdmVdICcgK1xuICAgICAgICBgdHJpZ2dlclR5cGUgJHt1aVByb3BzLnRyaWdnZXJUeXBlfSBpcyBub3QgdmFsaWQgZm9yIF91cGRhdGVBbmNob3JFbGVtZW50KCkuYClcbiAgICB9XG5cbiAgICByZXR1cm4gX3N0cmVhbS8vIC5waXBlKG1hcFRvKHVuZGVmaW5lZCkpXG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVCdXR0b25FbGVtZW50KFxuICAgIHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQsXG4gICAgdWlQcm9wczogRHluYW1pY0FjdGlvblVpQW5jaG9yRGVmIHwgRHluYW1pY0FjdGlvblVpQnV0dG9uRGVmXG4gICk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGxldCBfc3RyZWFtOiBPYnNlcnZhYmxlPGFueT4gPSBvZih1bmRlZmluZWQpXG4gICAgLy8gdGhpcy5fdXBkYXRlQ2xpY2tFbGVtZW50KHJlY29yZCwgdWlQcm9wcyBhcyBEeW5hbWljQWN0aW9uVWlCdXR0b25EZWYpXG4gICAgc3dpdGNoICh1aVByb3BzLnRyaWdnZXJUeXBlKSB7XG4gICAgICBjYXNlICdsaW5rLWFzc2V0Jzoge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnSGFuZGxlIFwibGluay1hc3NldFwiIHRyaWdnZXJUeXBlLicsIHVpUHJvcHMpXG4gICAgICAgIC8vIHRoaXMuX3RyeUluaXRUYWJJbmRleCgpXG4gICAgICAgIHRoaXMuX3RyeUluaXRCbG9ja0NsaWNrKHJlY29yZCwgdWlQcm9wcylcbiAgICAgICAgX3N0cmVhbSA9IF9zdHJlYW0ucGlwZShzd2l0Y2hNYXAoKCkgPT4gdGhpcy5fdXBkYXRlQXNzZXRFbGVtZW50KHJlY29yZCwgdWlQcm9wcykpKVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgY2FzZSAnY2xpY2snOiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdIYW5kbGUgXCJjbGlja1wiIHRyaWdnZXJUeXBlLicsIHVpUHJvcHMpXG4gICAgICAgIHRoaXMuX3RyeUluaXRCbG9ja0NsaWNrKHJlY29yZCwgdWlQcm9wcylcbiAgICAgICAgX3N0cmVhbSA9IF9zdHJlYW0ucGlwZShzd2l0Y2hNYXAoKCkgPT4gdGhpcy5fdXBkYXRlQ2xpY2tFbGVtZW50KHJlY29yZCwgdWlQcm9wcykpKVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgZGVmYXVsdDogdGhyb3cgRXJyb3IoJ1tEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1EaXJlY3RpdmVdICcgK1xuICAgICAgICBgdHJpZ2dlclR5cGUgJHt1aVByb3BzLnRyaWdnZXJUeXBlfSBpcyBub3QgdmFsaWQgZm9yIF91cGRhdGVBbmNob3JFbGVtZW50KCkuYClcbiAgICB9XG5cbiAgICByZXR1cm4gX3N0cmVhbS8vIC5waXBlKG1hcFRvKHVuZGVmaW5lZCkpXG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVBc3NldEVsZW1lbnQoXG4gICAgcmVjb3JkOiBEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZCxcbiAgICB1aVByb3BzOiBEeW5hbWljQWN0aW9uVWlBbmNob3JEZWYgfCBEeW5hbWljQWN0aW9uVWlCdXR0b25EZWZcbiAgKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgLy8gY29uc29sZS5sb2coJ191cGRhdGVBc3NldEVsZW1lbnQnKVxuICAgIC8vIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgLy8gY29uc29sZS5sb2coJ3RoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCcsIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudClcbiAgICBjb25zdCB0ID0gZnJvbUV2ZW50KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2NsaWNrJykucGlwZShcbiAgICAgIHRhcChldmVudCA9PiB7XG4gICAgICAgIC8vIGNvbnN0IF9jb250ZXh0ID0gdGhpcy5fZ2V0Q29udGV4dChyZWNvcmQuX3JvdywgcmVjb3JkLnJvd0FjdGlvbilcbiAgICAgICAgLy8gY29uc3QgY29udGV4dCA9IHsgLi4uX2NvbnRleHQsIGV2ZW50LCB1aVByb3BzIH1cbiAgICAgICAgLy8gY29uc3QgcmVzdWx0ID0gdGhpcy5fdmFsdWVIZWxwZXIuZXZhbFN5bmModWlQcm9wcy5ibG9ja0NsaWNrRXhwciwgY29udGV4dClcbiAgICAgICAgLy8gY29uc29sZS5sb2cocmVjb3JkLCB1aVByb3BzKVxuICAgICAgICAvLyBjb25zb2xlLmxvZygnX3VwZGF0ZUNsaWNrRWxlbWVudCBjbGljaycsICg8YW55PmV2ZW50KS5idXR0b24sIGV2ZW50KVxuICAgICAgICBpZiAodGhpcy5fYXNzZXRSZWFkZXJIZWxwZXIpIHtcbiAgICAgICAgICBpZiAodWlQcm9wcy50cmlnZ2VyVHlwZSA9PT0gJ2xpbmstYXNzZXQnICYmIGhhc1Byb3BlcnR5KHVpUHJvcHMsICdsaW5rVXJsJykpIHtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IHVpUHJvcHMubGlua1VybFxuICAgICAgICAgICAgbGV0IHRhcmdldDogc3RyaW5nIHwgdW5kZWZpbmVkXG4gICAgICAgICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcywgJ2xpbmtFeHRyYXMnKSAmJiBoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICd0YXJnZXQnKSkge1xuICAgICAgICAgICAgICB0YXJnZXQgPSB1aVByb3BzLmxpbmtFeHRyYXMudGFyZ2V0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9hc3NldFJlYWRlckhlbHBlci5vcGVuTGluayh1cmwsIHRydWUsIHRydWUsIHRhcmdldClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgLy8gICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIC8vICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgLy8gfVxuICAgICAgfSksXG4gICAgICBtYXBUbyh1bmRlZmluZWQpXG4gICAgKVxuXG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZCkucGlwZShcbiAgICAgIC8vIHRhcCgoKSA9PiBjb25zb2xlLmxvZygnc3RhcnRpbmcgX3VwZGF0ZUJ1dHRvbkVsZW1lbnQnKSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdCksXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQ2xpY2tFbGVtZW50KFxuICAgIHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQsXG4gICAgdWlQcm9wczogRHluYW1pY0FjdGlvblVpQnV0dG9uRGVmXG4gICk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIC8vIGNvbnNvbGUubG9nKCdfdXBkYXRlQ2xpY2tFbGVtZW50JywgcmVjb3JkLCB1aVByb3BzKVxuICAgIC8vIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgcmV0dXJuIGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoZXZlbnQgPT4ge1xuICAgICAgICBjb25zdCBfY29udGV4dCA9IHRoaXMuX2dldENvbnRleHQocmVjb3JkLl9yb3csIHJlY29yZC5yb3dBY3Rpb24pXG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB7IC4uLl9jb250ZXh0LCBldmVudCwgdWlQcm9wcyB9XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdjbGljaycsICg8YW55PmV2ZW50KS5idXR0b24sIGV2ZW50KVxuICAgICAgICAvLyBpZiAoIXJlc3VsdCkge1xuICAgICAgICAvLyAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgLy8gICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAvLyB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGlvbkhlbHBlci5leGVjKHVpUHJvcHMuX2FjdGlvbkRlZiwgY29udGV4dClcbiAgICAgIH0pLFxuICAgICAgbWFwVG8odW5kZWZpbmVkKVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgX3Vuc3ViQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uICYmICF0aGlzLl9jbGlja1N1YnNjcmlwdGlvbi5jbG9zZWQpIHtcbiAgICAgIHRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRBdHRyKGF0dHI6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGF0dHIsIHZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBfdHJ5SW5pdFRhYkluZGV4KCkge1xuICAgIGlmIChnZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndGFiaW5kZXgnKSA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RhYmluZGV4JywgJzAnKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3RyeUluaXRCbG9ja0NsaWNrKFxuICAgIHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQsXG4gICAgdWlQcm9wczogRHluYW1pY0FjdGlvblVpRGVmXG4gICkge1xuICAgIHRoaXMuX3Vuc3ViQ2xpY2soKVxuICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLCAnYmxvY2tDbGlja0V4cHInKSkge1xuICAgICAgdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24gPSB0aGlzLl9ibG9ja0NsaWNrRXhwck9ic2VydmFibGUodWlQcm9wcywgcmVjb3JkKS5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Jsb2NrQ2xpY2tFeHByT2JzZXJ2YWJsZShcbiAgICB1aVByb3BzOiBEeW5hbWljQWN0aW9uVWlEZWYsXG4gICAgcmVjb3JkOiBEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZFxuICApIHtcbiAgICByZXR1cm4gZnJvbUV2ZW50KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2NsaWNrJykucGlwZShcbiAgICAgIHRhcChldmVudCA9PiB7XG4gICAgICAgIGNvbnN0IF9jb250ZXh0ID0gdGhpcy5fZ2V0Q29udGV4dChyZWNvcmQuX3JvdywgcmVjb3JkLnJvd0FjdGlvbilcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHsgLi4uX2NvbnRleHQsIGV2ZW50LCB1aVByb3BzIH1cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fdmFsdWVIZWxwZXIuZXZhbFN5bmModWlQcm9wcy5ibG9ja0NsaWNrRXhwciwgY29udGV4dClcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2NsaWNrJywgcmVzdWx0LCAoPGFueT5ldmVudCkuYnV0dG9uLCBldmVudClcbiAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBtYXBUbyh1bmRlZmluZWQpXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdE1lbnVJdGVtUm91dGVyTGluayhcbiAgICByZWNvcmQ6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkLFxuICAgIHVpUHJvcHM6IER5bmFtaWNBY3Rpb25VaUFuY2hvckRlZlxuICApIHtcbiAgICB0aGlzLl9tZW51Um91dGVyTGluayA9IG5ldyBEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1Sb3V0ZXJMaW5rKFxuICAgICAgdGhpcy5fcm91dGVyLFxuICAgICAgdGhpcy5fcm91dGUsXG4gICAgICBnZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndGFiaW5kZXgnKSxcbiAgICAgIHRoaXMuX3JlbmRlcmVyLFxuICAgICAgdGhpcy5fZWxlbWVudFJlZixcbiAgICAgIHRoaXMuX2xvY2F0aW9uU3RyYXRlZ3lcbiAgICApXG4gICAgLy8gY29uc29sZS5sb2codGhpcy5fbWVudVJvdXRlckxpbmspXG5cbiAgICB0aGlzLl9tZW51Um91dGVyTGluay5yb3V0ZXJMaW5rSW5wdXQgPSB1aVByb3BzLmxpbmtVcmwgYXMgc3RyaW5nXG5cbiAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcywgJ2xpbmtFeHRyYXMnKSkge1xuICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMubGlua0V4dHJhcywgJ3RhcmdldCcpKSB7XG4gICAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnRhcmdldCA9IHVpUHJvcHMubGlua0V4dHJhcy50YXJnZXRcbiAgICAgIH1cbiAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICdxdWVyeVBhcmFtcycpKSB7XG4gICAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnF1ZXJ5UGFyYW1zID0gdWlQcm9wcy5saW5rRXh0cmFzLnF1ZXJ5UGFyYW1zXG4gICAgICB9XG4gICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAnZnJhZ21lbnQnKSkge1xuICAgICAgICB0aGlzLl9tZW51Um91dGVyTGluay5mcmFnbWVudCA9IHVpUHJvcHMubGlua0V4dHJhcy5mcmFnbWVudFxuICAgICAgfVxuICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMubGlua0V4dHJhcywgJ3F1ZXJ5UGFyYW1zSGFuZGxpbmcnKSkge1xuICAgICAgICB0aGlzLl9tZW51Um91dGVyTGluay5xdWVyeVBhcmFtc0hhbmRsaW5nID0gdWlQcm9wcy5saW5rRXh0cmFzLnF1ZXJ5UGFyYW1zSGFuZGxpbmdcbiAgICAgIH1cbiAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICdwcmVzZXJ2ZUZyYWdtZW50JykpIHtcbiAgICAgICAgdGhpcy5fbWVudVJvdXRlckxpbmsucHJlc2VydmVGcmFnbWVudCA9IHVpUHJvcHMubGlua0V4dHJhcy5wcmVzZXJ2ZUZyYWdtZW50XG4gICAgICB9XG4gICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAnc2tpcExvY2F0aW9uQ2hhbmdlJykpIHtcbiAgICAgICAgdGhpcy5fbWVudVJvdXRlckxpbmsuc2tpcExvY2F0aW9uQ2hhbmdlID0gdWlQcm9wcy5saW5rRXh0cmFzLnNraXBMb2NhdGlvbkNoYW5nZVxuICAgICAgfVxuICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMubGlua0V4dHJhcywgJ3JlcGxhY2VVcmwnKSkge1xuICAgICAgICB0aGlzLl9tZW51Um91dGVyTGluay5yZXBsYWNlVXJsID0gdWlQcm9wcy5saW5rRXh0cmFzLnJlcGxhY2VVcmxcbiAgICAgIH1cbiAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICdzdGF0ZScpKSB7XG4gICAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnN0YXRlID0gdWlQcm9wcy5saW5rRXh0cmFzLnN0YXRlXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5uZ09uQ2hhbmdlcyh7fSlcbiAgfVxuXG4gIHByaXZhdGUgX2lzQW5jaG9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2EnXG4gIH1cblxuICBwcml2YXRlIF9nZXRVaVByb3BzKHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQpOiBQcm9taXNlPER5bmFtaWNBY3Rpb25VaURlZj4ge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLl9nZXRDb250ZXh0KHJlY29yZC5fcm93LCByZWNvcmQucm93QWN0aW9uKVxuICAgIHJldHVybiB0aGlzLl9hY3Rpb25IZWxwZXIuZ2V0VWlQcm9wcyhyZWNvcmQucm93QWN0aW9uLmFjdGlvbiwgY29udGV4dClcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX2dldENvbnRleHQocm93OiBEeW5hbWljRGF0YXRhYmxlUm93LCAgcm93QWN0aW9uRGVmOiBEeW5hbWljRGF0YXRhYmxlUm93QWN0aW9uKTogRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbkNvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICByb3dcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRJbnZhbGlkQWN0aW9uU3RhdGUoaW52YWxpZDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgIHRvZ2dsZUF0dHJpYnV0ZShlbGVtZW50LCAnZGlzYWJsZWQnLCBpbnZhbGlkKVxuICB9XG5cbn1cbiJdfQ==
400
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtYWN0aW9uLW1lbnUtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGlyZWN0aXZlcy9kYXRhdGFibGUtZHluYW1pYy1hY3Rpb24tbWVudS1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBRVQsS0FBSyxFQUNMLFNBQVMsRUFLVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQStDLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzdHLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFjLEVBQUUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ25GLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQVVsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7Ozs7O0FBT3JGOzs7R0FHRztBQUNJLElBQU0sd0NBQXdDLEdBQTlDLE1BQU0sd0NBQXdDO0lBUW5ELFlBQ1UsTUFBYyxFQUNkLEtBQXFCLEVBQ04sUUFBdUIsRUFDdEMsUUFBbUIsRUFDbkIsRUFBYyxFQUNkLGdCQUFrQztRQUxsQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFFckIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUUxQyxJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxLQUFLLEdBQUcs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RU8sc0JBQXNCLENBQUMsVUFBbUIsS0FBSztRQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQTtRQUM5QyxlQUFlLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUMvQyxDQUFDOztvSUE1VFUsdUNBQXVDO3dIQUF2Qyx1Q0FBdUM7MkZBQXZDLHVDQUF1QztrQkFKbkQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0NBQXNDO29CQUNoRCxRQUFRLEVBQUUsb0NBQW9DO2lCQUMvQztrVUFLSyxrQ0FBa0M7c0JBRnJDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQXR0cmlidXRlLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBpc0Rldk1vZGUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFF1ZXJ5UGFyYW1zSGFuZGxpbmcsIFJvdXRlciwgUm91dGVyTGluaywgUm91dGVyTGlua1dpdGhIcmVmIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHsgZnJvbSwgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcFRvLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBBc3NldFJlYWRlckhlbHBlclNlcnZpY2UgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vYXNzZXQtcmVhZGVyJ1xuaW1wb3J0IHtcbiAgRHluYW1pY0FjdGlvbkhlbHBlclNlcnZpY2UsXG4gIER5bmFtaWNBY3Rpb25VaUFuY2hvckRlZixcbiAgRHluYW1pY0FjdGlvblVpQnV0dG9uRGVmLFxuICBEeW5hbWljQWN0aW9uVWlEZWYsXG4gIER5bmFtaWNWYWx1ZUhlbHBlclNlcnZpY2Vcbn0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2R5bmFtaWMnXG5pbXBvcnQgeyBnZXRBdHRyaWJ1dGUsIGhhc1Byb3BlcnR5LCB0b2dnbGVBdHRyaWJ1dGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdXRpbHMnXG5cbmltcG9ydCB7IER5bmFtaWNEYXRhdGFibGVSb3cgfSBmcm9tICcuLi9kYXRhdGFibGUtZHluYW1pYy1kZWYnXG5pbXBvcnQgdHlwZSB7IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkIH0gZnJvbSAnLi4vbW9kZWxzL2R5bmFtaWMtZGF0YXRhYmxlLWFjdGlvbi1tZW51LXJlY29yZCdcbmltcG9ydCB7IER5bmFtaWNEYXRhdGFibGVSb3dBY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtcm93LWFjdGlvbidcbmltcG9ydCB7IER5bmFtaWNEYXRhdGFibGVSb3dBY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vbW9kZWxzL2R5bmFtaWMtZGF0YXRhYmxlLXJvdy1hY3Rpb24tY29udGV4dCdcblxuLyoqXG4gKiBDbGFzcyB0byBhY3QgYXMgYSBzdWJzdGl0dXRlIHRvIGByb3V0ZXJMaW5rYCBkaXJlY3RpdmUgdW50aWwgdGhlIG1lbnUgaXRlbXNcbiAqIGNhbiBiZSBkeW5hbWljYWxseSBidWlsdCBpbiBhIGNsZWFuIHdheSB3aXRoIG9yIHdpdGhvdXQgYHJvdXRlckxpbmtgLlxuICovXG5leHBvcnQgY2xhc3MgRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtUm91dGVyTGluayB7XG5cbiAgcHJpdmF0ZSBfckxpbms/OiBSb3V0ZXJMaW5rXG4gIHByaXZhdGUgX3JMaW5rV2l0aEhyZWY/OiBSb3V0ZXJMaW5rV2l0aEhyZWZcblxuICAvLyBwcml2YXRlIF9jbGlja1N1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvblxuICBwcml2YXRlIF9yTGlua0NsaWNrRXZlbnRMaXN0ZW5lcj86IGFueVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgQEF0dHJpYnV0ZSgndGFiaW5kZXgnKSB0YWJJbmRleDogc3RyaW5nIHwgbnVsbCxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGxvY2F0aW9uU3RyYXRlZ3k6IExvY2F0aW9uU3RyYXRlZ3lcbiAgKSB7XG4gICAgaWYgKGVsLm5hdGl2ZUVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2EnKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmID0gbmV3IFJvdXRlckxpbmtXaXRoSHJlZihcbiAgICAgICAgcm91dGVyLFxuICAgICAgICByb3V0ZSxcbiAgICAgICAgJzAnLCAvLyBUT0RPOiBGaXggdHlwZS5cbiAgICAgICAgcmVuZGVyZXIsXG4gICAgICAgIGVsLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIGxvY2F0aW9uU3RyYXRlZ3lcbiAgICAgIClcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdyTGlua1dpdGhIcmVmJywgdGhpcy5yTGlua1dpdGhIcmVmKVxuXG4gICAgICB0aGlzLl9yTGlua0NsaWNrRXZlbnRMaXN0ZW5lciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygndGhpcy5fckxpbmtXaXRoSHJlZicsIHRoaXMuX3JMaW5rV2l0aEhyZWYsIHRoaXMuX3JMaW5rV2l0aEhyZWYgJiYgdGhpcy5fckxpbmtXaXRoSHJlZi5ocmVmKVxuICAgICAgICBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgICAgIHJldHVybiB0aGlzLl9yTGlua1dpdGhIcmVmLm9uQ2xpY2soZXZlbnQuYnV0dG9uLCBldmVudC5jdHJsS2V5LCBldmVudC5zaGlmdEtleSwgZXZlbnQuYWx0S2V5LCBldmVudC5tZXRhS2V5KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9yTGluayA9IG5ldyBSb3V0ZXJMaW5rKFxuICAgICAgICByb3V0ZXIsXG4gICAgICAgIHJvdXRlLFxuICAgICAgICB0YWJJbmRleCBhcyBzdHJpbmcsXG4gICAgICAgIHJlbmRlcmVyLFxuICAgICAgICBlbFxuICAgICAgKVxuICAgICAgLy8gY29uc29sZS5sb2coJ3JMaW5rJywgdGhpcy5yTGluaylcblxuICAgICAgdGhpcy5fckxpbmtDbGlja0V2ZW50TGlzdGVuZXIgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCd0aGlzLl9yTGluaycsIHRoaXMuX3JMaW5rICYmIHRoaXMuX3JMaW5rLnVybFRyZWUpXG4gICAgICAgIGlmICh0aGlzLl9yTGluaykgeyByZXR1cm4gKHRoaXMuX3JMaW5rIGFzIGFueSkub25DbGljaygpIH1cbiAgICAgIH0pXG5cbiAgICAgIC8vIHRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KGVsLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpXG4gICAgICAvLyAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgLy8gICAgIGlmICh0aGlzLl9yTGluaykge1xuICAgICAgLy8gICAgICAgdGhpcy5fckxpbmsub25DbGljaygpXG4gICAgICAvLyAgICAgfSBlbHNlIHtcbiAgICAgIC8vICAgICAgIGlmICh0aGlzLl9jbGlja1N1YnNjcmlwdGlvbiAmJiAhdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgICAvLyAgICAgICAgIHRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICAgIC8vICAgICAgIH1cbiAgICAgIC8vICAgICB9XG4gICAgICAvLyAgIH0pXG4gICAgfVxuICB9XG5cbiAgZ2V0IHJvdXRlckxpbmsoKTogUm91dGVyTGluayB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLl9yTGluayB9XG4gIGdldCByb3V0ZXJMaW5rV2l0aEhyZWYoKTogUm91dGVyTGlua1dpdGhIcmVmIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMuX3JMaW5rV2l0aEhyZWYgfVxuXG4gIHNldCByb3V0ZXJMaW5rSW5wdXQoY29tbWFuZHM6IGFueVtdIHwgc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuX3JMaW5rKSB7XG4gICAgICB0aGlzLl9yTGluay5yb3V0ZXJMaW5rID0gY29tbWFuZHNcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3JMaW5rV2l0aEhyZWYpIHtcbiAgICAgIHRoaXMuX3JMaW5rV2l0aEhyZWYucm91dGVyTGluayA9IGNvbW1hbmRzXG4gICAgfVxuICB9XG5cbiAgc2V0IHF1ZXJ5UGFyYW1zKHZhbHVlOiB7IFtrOiBzdHJpbmddOiBhbnkgfSkge1xuICAgIGlmICh0aGlzLl9yTGluaykge1xuICAgICAgdGhpcy5fckxpbmsucXVlcnlQYXJhbXMgPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5xdWVyeVBhcmFtcyA9IHZhbHVlXG4gICAgfVxuICB9XG5cbiAgc2V0IGZyYWdtZW50KHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLmZyYWdtZW50ID0gdmFsdWVcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3JMaW5rV2l0aEhyZWYpIHtcbiAgICAgIHRoaXMuX3JMaW5rV2l0aEhyZWYuZnJhZ21lbnQgPSB2YWx1ZVxuICAgIH1cbiAgfVxuXG4gIHNldCBxdWVyeVBhcmFtc0hhbmRsaW5nKHZhbHVlOiBRdWVyeVBhcmFtc0hhbmRsaW5nKSB7XG4gICAgaWYgKHRoaXMuX3JMaW5rKSB7XG4gICAgICB0aGlzLl9yTGluay5xdWVyeVBhcmFtc0hhbmRsaW5nID0gdmFsdWVcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3JMaW5rV2l0aEhyZWYpIHtcbiAgICAgIHRoaXMuX3JMaW5rV2l0aEhyZWYucXVlcnlQYXJhbXNIYW5kbGluZyA9IHZhbHVlXG4gICAgfVxuICB9XG5cbiAgc2V0IHByZXNlcnZlRnJhZ21lbnQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnByZXNlcnZlRnJhZ21lbnQgPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5wcmVzZXJ2ZUZyYWdtZW50ID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgc2tpcExvY2F0aW9uQ2hhbmdlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuX3JMaW5rKSB7XG4gICAgICB0aGlzLl9yTGluay5za2lwTG9jYXRpb25DaGFuZ2UgPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5za2lwTG9jYXRpb25DaGFuZ2UgPSB2YWx1ZVxuICAgIH1cbiAgfVxuXG4gIHNldCByZXBsYWNlVXJsKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuX3JMaW5rKSB7XG4gICAgICB0aGlzLl9yTGluay5yZXBsYWNlVXJsID0gdmFsdWVcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3JMaW5rV2l0aEhyZWYpIHtcbiAgICAgIHRoaXMuX3JMaW5rV2l0aEhyZWYucmVwbGFjZVVybCA9IHZhbHVlXG4gICAgfVxuICB9XG5cbiAgc2V0IHN0YXRlKHZhbHVlOiB7IFtrOiBzdHJpbmddOiBhbnkgfSkge1xuICAgIGlmICh0aGlzLl9yTGluaykge1xuICAgICAgdGhpcy5fckxpbmsuc3RhdGUgPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5zdGF0ZSA9IHZhbHVlXG4gICAgfVxuICB9XG5cbiAgc2V0IHRhcmdldCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHRoaXMuX3JMaW5rV2l0aEhyZWYpIHtcbiAgICAgIHRoaXMuX3JMaW5rV2l0aEhyZWYudGFyZ2V0ID0gdmFsdWUgYXMgc3RyaW5nXG5cbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd0YXJnZXQnLCB2YWx1ZSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRvZ2dsZUF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd0YXJnZXQnLCBmYWxzZSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpIHtcbiAgICAvLyBpZiAodGhpcy5fY2xpY2tTdWJzY3JpcHRpb24gJiYgIXRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uLmNsb3NlZCkge1xuICAgIC8vICAgdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgIC8vIH1cbiAgICBpZiAodGhpcy5fckxpbmtDbGlja0V2ZW50TGlzdGVuZXIpIHtcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuX3JMaW5rQ2xpY2tFdmVudExpc3RlbmVyKVxuICAgICAgdGhpcy5fckxpbmtDbGlja0V2ZW50TGlzdGVuZXIgPSBudWxsXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3JMaW5rV2l0aEhyZWYgJiYgdGhpcy5fckxpbmtXaXRoSHJlZi5uZ09uRGVzdHJveSkge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5uZ09uRGVzdHJveSgpXG4gICAgfVxuICB9XG5cbn1cblxuLy8gVE9ETzogUmVmYWN0b3IgdGhpcyBkaXJlY3RpdmUuIEl0IGdvdCB3YXkgbW9yZSBjb21wbGV4IGluc3RlYWQgb2YgbW9yZVxuLy8gc2ltcGxpZmllZCBsaWtlIGl0IHdhcyBzdXBwb3NlZCB0byBiZS5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzZWFtRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtXScsXG4gIGV4cG9ydEFzOiAnc2VhbURhdGF0YWJsZUR5bmFtaWNBY3Rpb25NZW51SXRlbSdcbn0pXG5leHBvcnQgY2xhc3MgRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KClcbiAgLy8gZ2V0IHNlYW1EYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW0oKTogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQgeyByZXR1cm4gdGhpcy5fcmVjb3JkIH1cbiAgc2V0IHNlYW1EYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW0odmFsdWU6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkKSB7XG4gICAgdGhpcy5fcmVjb3JkLm5leHQodmFsdWUpXG4gIH1cbiAgcHJpdmF0ZSBfcmVjb3JkID0gbmV3IFJlcGxheVN1YmplY3Q8RHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQ+KDEpXG5cbiAgcHJpdmF0ZSBfY2xpY2tTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb25cbiAgcHJpdmF0ZSBfbWVudVJvdXRlckxpbms/OiBEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1Sb3V0ZXJMaW5rXG5cbiAgcHJpdmF0ZSBfcmVjb3JkU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIF92YWx1ZUhlbHBlcjogRHluYW1pY1ZhbHVlSGVscGVyU2VydmljZSxcbiAgICBwcml2YXRlIF9hY3Rpb25IZWxwZXI6IER5bmFtaWNBY3Rpb25IZWxwZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2Fzc2V0UmVhZGVySGVscGVyOiBBc3NldFJlYWRlckhlbHBlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBfcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgX2xvY2F0aW9uU3RyYXRlZ3k6IExvY2F0aW9uU3RyYXRlZ3lcbiAgKSB7XG4gICAgdGhpcy5fcmVjb3JkU3Vic2NyaXB0aW9uID0gdGhpcy5fcmVjb3JkLnBpcGUoXG4gICAgICAvLyB0YXAodiA9PiBjb25zb2xlLmxvZygncmVjb3JkJywgdikpLFxuICAgICAgc3dpdGNoTWFwKHJlY29yZCA9PiB0aGlzLl91cGRhdGUocmVjb3JkKSksXG4gICAgICB0YXAoKCkgPT4geyB0aGlzLl9zZXRJbnZhbGlkQWN0aW9uU3RhdGUoZmFsc2UpIH0pLFxuICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgIGlmIChpc0Rldk1vZGUoKSkgeyBjb25zb2xlLmVycm9yKGVycm9yKSB9XG4gICAgICAgIHRoaXMuX3NldEludmFsaWRBY3Rpb25TdGF0ZSh0cnVlKVxuICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxuICAgICAgfSksXG4gICAgICAvLyB0YXAodiA9PiBjb25zb2xlLmxvZygncmVjb3JkIERPTkUnLCB2KSlcbiAgICApLnN1YnNjcmliZSgpXG4gIH1cblxuICBuZ09uSW5pdCgpIHsgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3JlY29yZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gICAgdGhpcy5fdW5zdWJDbGljaygpXG4gICAgaWYgKHRoaXMuX21lbnVSb3V0ZXJMaW5rICYmIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnJvdXRlckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fbWVudVJvdXRlckxpbmsucm91dGVyTGlua1dpdGhIcmVmLm5nT25EZXN0cm95KClcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiB7fSkge1xuICAgIC8vIGNvbnNvbGUubG9nKCduZ09uQ2hhbmdlcycsIGNoYW5nZXMsIHRoaXMsIHRoaXMuX21lbnVSb3V0ZXJMaW5rKVxuICAgIGlmICh0aGlzLl9tZW51Um91dGVyTGluayAmJiB0aGlzLl9tZW51Um91dGVyTGluay5yb3V0ZXJMaW5rV2l0aEhyZWYpIHtcbiAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnJvdXRlckxpbmtXaXRoSHJlZi5uZ09uQ2hhbmdlcyh7fSlcbiAgICAgIGlmICh0aGlzLl9tZW51Um91dGVyTGluay5yb3V0ZXJMaW5rV2l0aEhyZWYuaHJlZikge1xuICAgICAgICBpZiAoZ2V0QXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2hyZWYnKSAhPT0gdGhpcy5fbWVudVJvdXRlckxpbmsucm91dGVyTGlua1dpdGhIcmVmLmhyZWYpIHtcbiAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaHJlZicsIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnJvdXRlckxpbmtXaXRoSHJlZi5ocmVmKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0b2dnbGVBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaHJlZicsIGZhbHNlKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBfdXBkYXRlKHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICB0aGlzLl91bnN1YkNsaWNrKClcblxuICAgIHJldHVybiBmcm9tKHRoaXMuX2dldFVpUHJvcHMocmVjb3JkKSkucGlwZShcbiAgICAgIHN3aXRjaE1hcCh1aVByb3BzID0+IHRoaXMuX2lzQW5jaG9yKClcbiAgICAgICAgPyB0aGlzLl91cGRhdGVBbmNob3JFbGVtZW50KHJlY29yZCwgdWlQcm9wcyBhcyBEeW5hbWljQWN0aW9uVWlBbmNob3JEZWYpXG4gICAgICAgIDogdGhpcy5fdXBkYXRlQnV0dG9uRWxlbWVudChyZWNvcmQsIHVpUHJvcHMgYXMgRHluYW1pY0FjdGlvblVpQnV0dG9uRGVmKVxuICAgICAgKVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUFuY2hvckVsZW1lbnQoXG4gICAgcmVjb3JkOiBEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZCxcbiAgICB1aVByb3BzOiBEeW5hbWljQWN0aW9uVWlBbmNob3JEZWZcbiAgKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgX3N0cmVhbTogT2JzZXJ2YWJsZTxhbnk+ID0gb2YodW5kZWZpbmVkKVxuXG4gICAgc3dpdGNoICh1aVByb3BzLnRyaWdnZXJUeXBlKSB7XG4gICAgICBjYXNlICdsaW5rJzoge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnSGFuZGxlIFwibGlua1wiIHRyaWdnZXJUeXBlLicsIHVpUHJvcHMpXG4gICAgICAgIC8vIHRoaXMuX3RyeUluaXRUYWJJbmRleCgpXG4gICAgICAgIHRoaXMuX3RyeUluaXRCbG9ja0NsaWNrKHJlY29yZCwgdWlQcm9wcylcbiAgICAgICAgdGhpcy5faW5pdE1lbnVJdGVtUm91dGVyTGluayhyZWNvcmQsIHVpUHJvcHMpXG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2xpbmstZXh0ZXJuYWwnOiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdIYW5kbGUgXCJsaW5rLWV4dGVybmFsXCIgdHJpZ2dlclR5cGUuJywgdWlQcm9wcylcbiAgICAgICAgLy8gdGhpcy5fdHJ5SW5pdFRhYkluZGV4KClcbiAgICAgICAgdGhpcy5fdHJ5SW5pdEJsb2NrQ2xpY2socmVjb3JkLCB1aVByb3BzKVxuICAgICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcywgJ2xpbmtVcmwnKSkge1xuICAgICAgICAgIHRoaXMuX3NldEF0dHIoJ2hyZWYnLCB1aVByb3BzLmxpbmtVcmwpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMsICdsaW5rRXh0cmFzJykpIHtcbiAgICAgICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAndGFyZ2V0JykpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldEF0dHIoJ3RhcmdldCcsIHVpUHJvcHMubGlua0V4dHJhcy50YXJnZXQpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIFRPRE86IENvbnNpZGVyIG1ha2luZyB0aGUgSXRlbVJvdXRlckxpbmsgd29yayB3aXRoIGV4dGVybmFsIHVybHMuXG4gICAgICAgIC8vIHRoaXMuX2luaXRNZW51SXRlbVJvdXRlckxpbmsocmVjb3JkLCB1aVByb3BzKVxuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICAvLyBUT0RPOiBVbmxlc3Mgd2UgZGVjaWRlIHRvIGFkZCBhIHJvdXRlIGZvciBvcGVubmluZyBhc3NldHMsIHRoaXMgd291bGRcbiAgICAgIC8vIGJlIGNvbmZ1c2luZyB0byBhIHVzZXIuXG4gICAgICAvLyBjYXNlICdsaW5rLWFzc2V0Jzoge1xuICAgICAgLy8gICBjb25zb2xlLmxvZygnSGFuZGxlIFwibGluay1hc3NldFwiIHRyaWdnZXJUeXBlLicsIHVpUHJvcHMpXG4gICAgICAvLyAgIC8vIHRoaXMuX3RyeUluaXRUYWJJbmRleCgpXG4gICAgICAvLyAgIHRoaXMuX3RyeUluaXRCbG9ja0NsaWNrKHJlY29yZCwgdWlQcm9wcylcbiAgICAgIC8vICAgYnJlYWtcbiAgICAgIC8vIH1cbiAgICAgIGRlZmF1bHQ6IHRocm93IEVycm9yKCdbRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtRGlyZWN0aXZlXSAnICtcbiAgICAgICAgYHRyaWdnZXJUeXBlICR7dWlQcm9wcy50cmlnZ2VyVHlwZX0gaXMgbm90IHZhbGlkIGZvciBfdXBkYXRlQW5jaG9yRWxlbWVudCgpLmApXG4gICAgfVxuXG4gICAgcmV0dXJuIF9zdHJlYW0vLyAucGlwZShtYXBUbyh1bmRlZmluZWQpKVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQnV0dG9uRWxlbWVudChcbiAgICByZWNvcmQ6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkLFxuICAgIHVpUHJvcHM6IER5bmFtaWNBY3Rpb25VaUFuY2hvckRlZiB8IER5bmFtaWNBY3Rpb25VaUJ1dHRvbkRlZlxuICApOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBsZXQgX3N0cmVhbTogT2JzZXJ2YWJsZTxhbnk+ID0gb2YodW5kZWZpbmVkKVxuICAgIC8vIHRoaXMuX3VwZGF0ZUNsaWNrRWxlbWVudChyZWNvcmQsIHVpUHJvcHMgYXMgRHluYW1pY0FjdGlvblVpQnV0dG9uRGVmKVxuICAgIHN3aXRjaCAodWlQcm9wcy50cmlnZ2VyVHlwZSkge1xuICAgICAgY2FzZSAnbGluay1hc3NldCc6IHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ0hhbmRsZSBcImxpbmstYXNzZXRcIiB0cmlnZ2VyVHlwZS4nLCB1aVByb3BzKVxuICAgICAgICAvLyB0aGlzLl90cnlJbml0VGFiSW5kZXgoKVxuICAgICAgICB0aGlzLl90cnlJbml0QmxvY2tDbGljayhyZWNvcmQsIHVpUHJvcHMpXG4gICAgICAgIF9zdHJlYW0gPSBfc3RyZWFtLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMuX3VwZGF0ZUFzc2V0RWxlbWVudChyZWNvcmQsIHVpUHJvcHMpKSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2NsaWNrJzoge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnSGFuZGxlIFwiY2xpY2tcIiB0cmlnZ2VyVHlwZS4nLCB1aVByb3BzKVxuICAgICAgICB0aGlzLl90cnlJbml0QmxvY2tDbGljayhyZWNvcmQsIHVpUHJvcHMpXG4gICAgICAgIF9zdHJlYW0gPSBfc3RyZWFtLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMuX3VwZGF0ZUNsaWNrRWxlbWVudChyZWNvcmQsIHVpUHJvcHMpKSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHRocm93IEVycm9yKCdbRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtRGlyZWN0aXZlXSAnICtcbiAgICAgICAgYHRyaWdnZXJUeXBlICR7dWlQcm9wcy50cmlnZ2VyVHlwZX0gaXMgbm90IHZhbGlkIGZvciBfdXBkYXRlQW5jaG9yRWxlbWVudCgpLmApXG4gICAgfVxuXG4gICAgcmV0dXJuIF9zdHJlYW0vLyAucGlwZShtYXBUbyh1bmRlZmluZWQpKVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQXNzZXRFbGVtZW50KFxuICAgIHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQsXG4gICAgdWlQcm9wczogRHluYW1pY0FjdGlvblVpQW5jaG9yRGVmIHwgRHluYW1pY0FjdGlvblVpQnV0dG9uRGVmXG4gICk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIC8vIGNvbnNvbGUubG9nKCdfdXBkYXRlQXNzZXRFbGVtZW50JylcbiAgICAvLyByZXR1cm4gb2YodW5kZWZpbmVkKVxuICAgIC8vIGNvbnNvbGUubG9nKCd0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQnLCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpXG4gICAgY29uc3QgdCA9IGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpLnBpcGUoXG4gICAgICB0YXAoZXZlbnQgPT4ge1xuICAgICAgICAvLyBjb25zdCBfY29udGV4dCA9IHRoaXMuX2dldENvbnRleHQocmVjb3JkLl9yb3csIHJlY29yZC5yb3dBY3Rpb24pXG4gICAgICAgIC8vIGNvbnN0IGNvbnRleHQgPSB7IC4uLl9jb250ZXh0LCBldmVudCwgdWlQcm9wcyB9XG4gICAgICAgIC8vIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWxTeW5jKHVpUHJvcHMuYmxvY2tDbGlja0V4cHIsIGNvbnRleHQpXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHJlY29yZCwgdWlQcm9wcylcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ191cGRhdGVDbGlja0VsZW1lbnQgY2xpY2snLCAoPGFueT5ldmVudCkuYnV0dG9uLCBldmVudClcbiAgICAgICAgaWYgKHRoaXMuX2Fzc2V0UmVhZGVySGVscGVyKSB7XG4gICAgICAgICAgaWYgKHVpUHJvcHMudHJpZ2dlclR5cGUgPT09ICdsaW5rLWFzc2V0JyAmJiBoYXNQcm9wZXJ0eSh1aVByb3BzLCAnbGlua1VybCcpKSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSB1aVByb3BzLmxpbmtVcmxcbiAgICAgICAgICAgIGxldCB0YXJnZXQ6IHN0cmluZyB8IHVuZGVmaW5lZFxuICAgICAgICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMsICdsaW5rRXh0cmFzJykgJiYgaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAndGFyZ2V0JykpIHtcbiAgICAgICAgICAgICAgdGFyZ2V0ID0gdWlQcm9wcy5saW5rRXh0cmFzLnRhcmdldFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fYXNzZXRSZWFkZXJIZWxwZXIub3BlbkxpbmsodXJsLCB0cnVlLCB0cnVlLCB0YXJnZXQpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGlmICghcmVzdWx0KSB7XG4gICAgICAgIC8vICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAvLyAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgIC8vIH1cbiAgICAgIH0pLFxuICAgICAgbWFwVG8odW5kZWZpbmVkKVxuICAgIClcblxuICAgIHJldHVybiBvZih1bmRlZmluZWQpLnBpcGUoXG4gICAgICAvLyB0YXAoKCkgPT4gY29uc29sZS5sb2coJ3N0YXJ0aW5nIF91cGRhdGVCdXR0b25FbGVtZW50JykpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHQpLFxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUNsaWNrRWxlbWVudChcbiAgICByZWNvcmQ6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkLFxuICAgIHVpUHJvcHM6IER5bmFtaWNBY3Rpb25VaUJ1dHRvbkRlZlxuICApOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAvLyBjb25zb2xlLmxvZygnX3VwZGF0ZUNsaWNrRWxlbWVudCcsIHJlY29yZCwgdWlQcm9wcylcbiAgICAvLyByZXR1cm4gb2YodW5kZWZpbmVkKVxuICAgIHJldHVybiBmcm9tRXZlbnQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGV2ZW50ID0+IHtcbiAgICAgICAgY29uc3QgX2NvbnRleHQgPSB0aGlzLl9nZXRDb250ZXh0KHJlY29yZC5fcm93LCByZWNvcmQucm93QWN0aW9uKVxuICAgICAgICBjb25zdCBjb250ZXh0ID0geyAuLi5fY29udGV4dCwgZXZlbnQsIHVpUHJvcHMgfVxuICAgICAgICAvLyBjb25zb2xlLmxvZygnY2xpY2snLCAoPGFueT5ldmVudCkuYnV0dG9uLCBldmVudClcbiAgICAgICAgLy8gaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgLy8gICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIC8vICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9hY3Rpb25IZWxwZXIuZXhlYyh1aVByb3BzLl9hY3Rpb25EZWYsIGNvbnRleHQpXG4gICAgICB9KSxcbiAgICAgIG1hcFRvKHVuZGVmaW5lZClcbiAgICApXG4gIH1cblxuICBwcml2YXRlIF91bnN1YkNsaWNrKCkge1xuICAgIGlmICh0aGlzLl9jbGlja1N1YnNjcmlwdGlvbiAmJiAhdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgICB0aGlzLl9jbGlja1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0QXR0cihhdHRyOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBhdHRyLCB2YWx1ZSlcbiAgfVxuXG4gIHByaXZhdGUgX3RyeUluaXRUYWJJbmRleCgpIHtcbiAgICBpZiAoZ2V0QXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RhYmluZGV4JykgPT09IG51bGwpIHtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0YWJpbmRleCcsICcwJylcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF90cnlJbml0QmxvY2tDbGljayhcbiAgICByZWNvcmQ6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkLFxuICAgIHVpUHJvcHM6IER5bmFtaWNBY3Rpb25VaURlZlxuICApIHtcbiAgICB0aGlzLl91bnN1YkNsaWNrKClcbiAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcywgJ2Jsb2NrQ2xpY2tFeHByJykpIHtcbiAgICAgIHRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uID0gdGhpcy5fYmxvY2tDbGlja0V4cHJPYnNlcnZhYmxlKHVpUHJvcHMsIHJlY29yZCkuc3Vic2NyaWJlKClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9ibG9ja0NsaWNrRXhwck9ic2VydmFibGUoXG4gICAgdWlQcm9wczogRHluYW1pY0FjdGlvblVpRGVmLFxuICAgIHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmRcbiAgKSB7XG4gICAgcmV0dXJuIGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpLnBpcGUoXG4gICAgICB0YXAoZXZlbnQgPT4ge1xuICAgICAgICBjb25zdCBfY29udGV4dCA9IHRoaXMuX2dldENvbnRleHQocmVjb3JkLl9yb3csIHJlY29yZC5yb3dBY3Rpb24pXG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB7IC4uLl9jb250ZXh0LCBldmVudCwgdWlQcm9wcyB9XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWxTeW5jKHVpUHJvcHMuYmxvY2tDbGlja0V4cHIsIGNvbnRleHQpXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdjbGljaycsIHJlc3VsdCwgKDxhbnk+ZXZlbnQpLmJ1dHRvbiwgZXZlbnQpXG4gICAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgbWFwVG8odW5kZWZpbmVkKVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRNZW51SXRlbVJvdXRlckxpbmsoXG4gICAgcmVjb3JkOiBEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZCxcbiAgICB1aVByb3BzOiBEeW5hbWljQWN0aW9uVWlBbmNob3JEZWZcbiAgKSB7XG4gICAgdGhpcy5fbWVudVJvdXRlckxpbmsgPSBuZXcgRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtUm91dGVyTGluayhcbiAgICAgIHRoaXMuX3JvdXRlcixcbiAgICAgIHRoaXMuX3JvdXRlLFxuICAgICAgZ2V0QXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RhYmluZGV4JyksXG4gICAgICB0aGlzLl9yZW5kZXJlcixcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYsXG4gICAgICB0aGlzLl9sb2NhdGlvblN0cmF0ZWd5XG4gICAgKVxuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuX21lbnVSb3V0ZXJMaW5rKVxuXG4gICAgdGhpcy5fbWVudVJvdXRlckxpbmsucm91dGVyTGlua0lucHV0ID0gdWlQcm9wcy5saW5rVXJsIGFzIHN0cmluZ1xuXG4gICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMsICdsaW5rRXh0cmFzJykpIHtcbiAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICd0YXJnZXQnKSkge1xuICAgICAgICB0aGlzLl9tZW51Um91dGVyTGluay50YXJnZXQgPSB1aVByb3BzLmxpbmtFeHRyYXMudGFyZ2V0XG4gICAgICB9XG4gICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAncXVlcnlQYXJhbXMnKSkge1xuICAgICAgICB0aGlzLl9tZW51Um91dGVyTGluay5xdWVyeVBhcmFtcyA9IHVpUHJvcHMubGlua0V4dHJhcy5xdWVyeVBhcmFtc1xuICAgICAgfVxuICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMubGlua0V4dHJhcywgJ2ZyYWdtZW50JykpIHtcbiAgICAgICAgdGhpcy5fbWVudVJvdXRlckxpbmsuZnJhZ21lbnQgPSB1aVByb3BzLmxpbmtFeHRyYXMuZnJhZ21lbnRcbiAgICAgIH1cbiAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICdxdWVyeVBhcmFtc0hhbmRsaW5nJykpIHtcbiAgICAgICAgdGhpcy5fbWVudVJvdXRlckxpbmsucXVlcnlQYXJhbXNIYW5kbGluZyA9IHVpUHJvcHMubGlua0V4dHJhcy5xdWVyeVBhcmFtc0hhbmRsaW5nXG4gICAgICB9XG4gICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAncHJlc2VydmVGcmFnbWVudCcpKSB7XG4gICAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnByZXNlcnZlRnJhZ21lbnQgPSB1aVByb3BzLmxpbmtFeHRyYXMucHJlc2VydmVGcmFnbWVudFxuICAgICAgfVxuICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMubGlua0V4dHJhcywgJ3NraXBMb2NhdGlvbkNoYW5nZScpKSB7XG4gICAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnNraXBMb2NhdGlvbkNoYW5nZSA9IHVpUHJvcHMubGlua0V4dHJhcy5za2lwTG9jYXRpb25DaGFuZ2VcbiAgICAgIH1cbiAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICdyZXBsYWNlVXJsJykpIHtcbiAgICAgICAgdGhpcy5fbWVudVJvdXRlckxpbmsucmVwbGFjZVVybCA9IHVpUHJvcHMubGlua0V4dHJhcy5yZXBsYWNlVXJsXG4gICAgICB9XG4gICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAnc3RhdGUnKSkge1xuICAgICAgICB0aGlzLl9tZW51Um91dGVyTGluay5zdGF0ZSA9IHVpUHJvcHMubGlua0V4dHJhcy5zdGF0ZVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubmdPbkNoYW5nZXMoe30pXG4gIH1cblxuICBwcml2YXRlIF9pc0FuY2hvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdhJ1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VWlQcm9wcyhyZWNvcmQ6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkKTogUHJvbWlzZTxEeW5hbWljQWN0aW9uVWlEZWY+IHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5fZ2V0Q29udGV4dChyZWNvcmQuX3JvdywgcmVjb3JkLnJvd0FjdGlvbilcbiAgICByZXR1cm4gdGhpcy5fYWN0aW9uSGVscGVyLmdldFVpUHJvcHMocmVjb3JkLnJvd0FjdGlvbi5hY3Rpb24sIGNvbnRleHQpXG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIF9nZXRDb250ZXh0KHJvdzogRHluYW1pY0RhdGF0YWJsZVJvdywgIHJvd0FjdGlvbkRlZjogRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbik6IER5bmFtaWNEYXRhdGFibGVSb3dBY3Rpb25Db250ZXh0IHtcbiAgICByZXR1cm4ge1xuICAgICAgcm93XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0SW52YWxpZEFjdGlvblN0YXRlKGludmFsaWQ6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICB0b2dnbGVBdHRyaWJ1dGUoZWxlbWVudCwgJ2Rpc2FibGVkJywgaW52YWxpZClcbiAgfVxuXG59XG4iXX0=
@@ -74,9 +74,9 @@ export class DynamicDatatableDefService {
74
74
  .filter(notNullOrUndefined);
75
75
  }
76
76
  }
77
- DynamicDatatableDefService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DynamicDatatableDefService, deps: [{ token: THESEAM_DATA_EXPORTER }, { token: THESEAM_DATA_FILTER_DEF }, { token: i1.DynamicValueHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
78
- DynamicDatatableDefService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DynamicDatatableDefService });
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DynamicDatatableDefService, decorators: [{
77
+ DynamicDatatableDefService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DynamicDatatableDefService, deps: [{ token: THESEAM_DATA_EXPORTER }, { token: THESEAM_DATA_FILTER_DEF }, { token: i1.DynamicValueHelperService }], target: i0.ɵɵFactoryTarget.Injectable });
78
+ DynamicDatatableDefService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DynamicDatatableDefService });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: DynamicDatatableDefService, decorators: [{
80
80
  type: Injectable
81
81
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
82
82
  type: Inject,