ontimize-web-ngx 15.7.0 → 15.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (384) hide show
  1. package/esm2020/lib/components/app-header/o-app-header.component.mjs +4 -4
  2. package/esm2020/lib/components/app-header/o-app-header.module.mjs +5 -5
  3. package/esm2020/lib/components/app-sidenav/image/o-app-sidenav-image.component.mjs +4 -4
  4. package/esm2020/lib/components/app-sidenav/menu-group/o-app-sidenav-menu-group.component.mjs +4 -4
  5. package/esm2020/lib/components/app-sidenav/menu-item/o-app-sidenav-menu-item.component.mjs +4 -4
  6. package/esm2020/lib/components/app-sidenav/o-app-sidenav.component.mjs +4 -4
  7. package/esm2020/lib/components/app-sidenav/o-app-sidenav.module.mjs +5 -5
  8. package/esm2020/lib/components/bar-menu/locale-menu-item/o-locale-bar-menu-item.component.mjs +4 -4
  9. package/esm2020/lib/components/bar-menu/menu-group/o-bar-menu-group.component.mjs +4 -4
  10. package/esm2020/lib/components/bar-menu/menu-item/o-bar-menu-item.component.mjs +4 -4
  11. package/esm2020/lib/components/bar-menu/menu-nested/o-bar-menu-nested.component.mjs +4 -4
  12. package/esm2020/lib/components/bar-menu/menu-separator/o-bar-menu-separator.component.mjs +4 -4
  13. package/esm2020/lib/components/bar-menu/o-bar-menu-base.class.mjs +4 -4
  14. package/esm2020/lib/components/bar-menu/o-bar-menu.component.mjs +4 -4
  15. package/esm2020/lib/components/bar-menu/o-bar-menu.module.mjs +5 -5
  16. package/esm2020/lib/components/bar-menu/o-base-menu-item.class.mjs +4 -4
  17. package/esm2020/lib/components/breadcrumb/o-breadcrumb.component.mjs +4 -4
  18. package/esm2020/lib/components/breadcrumb/o-breadcrumb.module.mjs +5 -5
  19. package/esm2020/lib/components/button/o-button.component.mjs +4 -4
  20. package/esm2020/lib/components/button/o-button.module.mjs +5 -5
  21. package/esm2020/lib/components/button-toggle/o-button-toggle-group/o-button-toggle-group.component.mjs +4 -4
  22. package/esm2020/lib/components/button-toggle/o-button-toggle.component.mjs +4 -4
  23. package/esm2020/lib/components/button-toggle/o-button-toggle.module.mjs +5 -5
  24. package/esm2020/lib/components/card-menu-item/o-card-menu-item.component.mjs +4 -4
  25. package/esm2020/lib/components/card-menu-item/o-card-menu-item.module.mjs +5 -5
  26. package/esm2020/lib/components/container/column/o-column.component.mjs +4 -4
  27. package/esm2020/lib/components/container/column/o-column.module.mjs +5 -5
  28. package/esm2020/lib/components/container/column-collapsible/o-column-collapsible.component.mjs +4 -4
  29. package/esm2020/lib/components/container/column-collapsible/o-column-collapsible.module.mjs +5 -5
  30. package/esm2020/lib/components/container/o-container-collapsible-component.class.mjs +4 -4
  31. package/esm2020/lib/components/container/o-container-component.class.mjs +4 -4
  32. package/esm2020/lib/components/container/row/o-row.component.mjs +4 -4
  33. package/esm2020/lib/components/container/row/o-row.module.mjs +5 -5
  34. package/esm2020/lib/components/container/row-collapsible/o-row-collapsible.component.mjs +4 -4
  35. package/esm2020/lib/components/container/row-collapsible/o-row-collapsible.module.mjs +5 -5
  36. package/esm2020/lib/components/contextmenu/context-menu/o-context-menu-content.component.mjs +4 -4
  37. package/esm2020/lib/components/contextmenu/context-menu/o-wrapper-content-menu/o-wrapper-content-menu.component.mjs +4 -4
  38. package/esm2020/lib/components/contextmenu/context-menu-group/o-context-menu-group.component.mjs +4 -4
  39. package/esm2020/lib/components/contextmenu/context-menu-item/o-context-menu-item.component.mjs +4 -4
  40. package/esm2020/lib/components/contextmenu/context-menu-separator/o-context-menu-separator.component.mjs +4 -4
  41. package/esm2020/lib/components/contextmenu/o-content-menu-base-item.class.mjs +4 -4
  42. package/esm2020/lib/components/contextmenu/o-context-menu-overlay.service.mjs +4 -4
  43. package/esm2020/lib/components/contextmenu/o-context-menu.component.mjs +4 -4
  44. package/esm2020/lib/components/contextmenu/o-context-menu.directive.mjs +4 -4
  45. package/esm2020/lib/components/contextmenu/o-context-menu.module.mjs +5 -5
  46. package/esm2020/lib/components/contextmenu/o-context-menu.service.mjs +4 -4
  47. package/esm2020/lib/components/dual-list-selector/dual-list-selector-item/date/o-dual-list-selector-date-item.component.mjs +4 -4
  48. package/esm2020/lib/components/dual-list-selector/o-dual-list-selector.component.mjs +4 -4
  49. package/esm2020/lib/components/dual-list-selector/o-dual-list-selector.module.mjs +5 -5
  50. package/esm2020/lib/components/expandable-container/o-expandable-container.component.mjs +4 -4
  51. package/esm2020/lib/components/expandable-container/o-expandable-container.module.mjs +5 -5
  52. package/esm2020/lib/components/filter-builder/filter-builder-menu/filter-builder-menu.component.mjs +4 -4
  53. package/esm2020/lib/components/filter-builder/o-filter-builder-clear.directive.mjs +4 -4
  54. package/esm2020/lib/components/filter-builder/o-filter-builder-query.directive.mjs +4 -4
  55. package/esm2020/lib/components/filter-builder/o-filter-builder.component.mjs +4 -4
  56. package/esm2020/lib/components/filter-builder/o-filter-builder.module.mjs +5 -5
  57. package/esm2020/lib/components/form/guards/o-form-can-deactivate.guard.mjs +4 -4
  58. package/esm2020/lib/components/form/navigation/o-form-confirm-exit.service.mjs +4 -4
  59. package/esm2020/lib/components/form/navigation/o-form-navigation.component.mjs +4 -4
  60. package/esm2020/lib/components/form/o-form.component.mjs +4 -4
  61. package/esm2020/lib/components/form/o-form.module.mjs +5 -5
  62. package/esm2020/lib/components/form/services/o-form-message.service.mjs +4 -4
  63. package/esm2020/lib/components/form/toolbar/o-form-toolbar.component.mjs +4 -4
  64. package/esm2020/lib/components/form/toolbar/o-form-toolbar.module.mjs +5 -5
  65. package/esm2020/lib/components/form-container/o-form-container.component.mjs +4 -4
  66. package/esm2020/lib/components/form-container/o-form-container.module.mjs +5 -5
  67. package/esm2020/lib/components/grid/grid-item/o-grid-item.component.mjs +4 -4
  68. package/esm2020/lib/components/grid/grid-item/o-grid-item.directive.mjs +4 -4
  69. package/esm2020/lib/components/grid/o-grid.component.mjs +4 -4
  70. package/esm2020/lib/components/grid/o-grid.module.mjs +5 -5
  71. package/esm2020/lib/components/grid/skeketon/o-grid-skeleton.component.mjs +4 -4
  72. package/esm2020/lib/components/image/fullscreen/fullscreen-dialog.component.mjs +4 -4
  73. package/esm2020/lib/components/image/o-image.component.mjs +4 -4
  74. package/esm2020/lib/components/image/o-image.module.mjs +5 -5
  75. package/esm2020/lib/components/input/checkbox/o-checkbox.component.mjs +4 -4
  76. package/esm2020/lib/components/input/checkbox/o-checkbox.module.mjs +5 -5
  77. package/esm2020/lib/components/input/combo/combo-renderer/boolean/o-combo-renderer-boolean.component.mjs +4 -4
  78. package/esm2020/lib/components/input/combo/combo-renderer/currency/o-combo-renderer-currency.component.mjs +4 -4
  79. package/esm2020/lib/components/input/combo/combo-renderer/date/o-combo-renderer-date.component.mjs +4 -4
  80. package/esm2020/lib/components/input/combo/combo-renderer/icon/o-combo-renderer-icon.component.mjs +4 -4
  81. package/esm2020/lib/components/input/combo/combo-renderer/integer/o-combo-renderer-integer.component.mjs +4 -4
  82. package/esm2020/lib/components/input/combo/combo-renderer/o-combo-renderer.class.mjs +4 -4
  83. package/esm2020/lib/components/input/combo/combo-renderer/percentage/o-combo-renderer-percentage.component.mjs +4 -4
  84. package/esm2020/lib/components/input/combo/combo-renderer/real/o-combo-renderer-real.component.mjs +4 -4
  85. package/esm2020/lib/components/input/combo/combo-search/o-combo-search.component.mjs +4 -4
  86. package/esm2020/lib/components/input/combo/o-combo.component.mjs +4 -4
  87. package/esm2020/lib/components/input/combo/o-combo.module.mjs +5 -5
  88. package/esm2020/lib/components/input/currency-input/o-currency-input.component.mjs +4 -4
  89. package/esm2020/lib/components/input/currency-input/o-currency-input.module.mjs +5 -5
  90. package/esm2020/lib/components/input/date-input/o-date-input.component.mjs +4 -4
  91. package/esm2020/lib/components/input/date-input/o-date-input.module.mjs +5 -5
  92. package/esm2020/lib/components/input/date-range/o-daterange-input.component.mjs +4 -4
  93. package/esm2020/lib/components/input/date-range/o-daterange-input.module.mjs +5 -5
  94. package/esm2020/lib/components/input/date-range-legacy/o-daterange-input.component.mjs +4 -4
  95. package/esm2020/lib/components/input/date-range-legacy/o-daterange-input.directive.mjs +4 -4
  96. package/esm2020/lib/components/input/date-range-legacy/o-daterange-input.module.mjs +5 -5
  97. package/esm2020/lib/components/input/date-range-legacy/o-daterange-picker.component.mjs +4 -4
  98. package/esm2020/lib/components/input/email-input/o-email-input.component.mjs +4 -4
  99. package/esm2020/lib/components/input/email-input/o-email-input.module.mjs +5 -5
  100. package/esm2020/lib/components/input/file-input/o-file-input.component.mjs +4 -4
  101. package/esm2020/lib/components/input/file-input/o-file-input.module.mjs +5 -5
  102. package/esm2020/lib/components/input/hour-input/index.mjs +4 -0
  103. package/esm2020/lib/components/input/hour-input/o-hour-input.component.mjs +38 -9
  104. package/esm2020/lib/components/input/hour-input/o-hour-input.directive.mjs +46 -0
  105. package/esm2020/lib/components/input/hour-input/o-hour-input.module.mjs +8 -7
  106. package/esm2020/lib/components/input/html-input/o-html-input.component.mjs +4 -4
  107. package/esm2020/lib/components/input/html-input/o-html-input.module.mjs +5 -5
  108. package/esm2020/lib/components/input/index.mjs +2 -3
  109. package/esm2020/lib/components/input/integer-input/o-integer-input.component.mjs +4 -4
  110. package/esm2020/lib/components/input/integer-input/o-integer-input.module.mjs +5 -5
  111. package/esm2020/lib/components/input/listpicker/listpicker-renderer/currency/o-list-picker-renderer-currency.component.mjs +4 -4
  112. package/esm2020/lib/components/input/listpicker/listpicker-renderer/date/o-list-picker-renderer-date.component.mjs +4 -4
  113. package/esm2020/lib/components/input/listpicker/listpicker-renderer/integer/o-list-picker-renderer-integer.component.mjs +4 -4
  114. package/esm2020/lib/components/input/listpicker/listpicker-renderer/o-list-picker-renderer.class.mjs +4 -4
  115. package/esm2020/lib/components/input/listpicker/listpicker-renderer/percentage/o-list-picker-renderer-percentage.component.mjs +4 -4
  116. package/esm2020/lib/components/input/listpicker/listpicker-renderer/real/o-list-picker-renderer-real.component.mjs +4 -4
  117. package/esm2020/lib/components/input/listpicker/o-list-picker-dialog.component.mjs +4 -4
  118. package/esm2020/lib/components/input/listpicker/o-list-picker.component.mjs +4 -4
  119. package/esm2020/lib/components/input/listpicker/o-list-picker.module.mjs +5 -5
  120. package/esm2020/lib/components/input/nif-input/o-nif-input.component.mjs +4 -4
  121. package/esm2020/lib/components/input/nif-input/o-nif-input.module.mjs +5 -5
  122. package/esm2020/lib/components/input/o-boolean-form-data-component.class.mjs +4 -4
  123. package/esm2020/lib/components/input/o-form-service-component.class.mjs +4 -4
  124. package/esm2020/lib/components/input/password-input/o-password-input.component.mjs +4 -4
  125. package/esm2020/lib/components/input/password-input/o-password-input.module.mjs +5 -5
  126. package/esm2020/lib/components/input/percent-input/o-percent-input.component.mjs +4 -4
  127. package/esm2020/lib/components/input/percent-input/o-percent-input.module.mjs +5 -5
  128. package/esm2020/lib/components/input/phone-input/data/country-code.mjs +4 -4
  129. package/esm2020/lib/components/input/phone-input/o-phone-input.component.mjs +4 -4
  130. package/esm2020/lib/components/input/phone-input/o-phone-input.module.mjs +5 -5
  131. package/esm2020/lib/components/input/radio/o-radio.component.mjs +4 -4
  132. package/esm2020/lib/components/input/radio/o-radio.module.mjs +5 -5
  133. package/esm2020/lib/components/input/real-input/o-real-input.component.mjs +4 -4
  134. package/esm2020/lib/components/input/real-input/o-real-input.module.mjs +5 -5
  135. package/esm2020/lib/components/input/search-input/o-search-input.component.mjs +4 -4
  136. package/esm2020/lib/components/input/search-input/o-search-input.module.mjs +5 -5
  137. package/esm2020/lib/components/input/slide-toggle/o-slide-toggle.component.mjs +4 -4
  138. package/esm2020/lib/components/input/slide-toggle/o-slide-toggle.module.mjs +5 -5
  139. package/esm2020/lib/components/input/slider/o-slider.component.mjs +4 -4
  140. package/esm2020/lib/components/input/slider/o-slider.module.mjs +5 -5
  141. package/esm2020/lib/components/input/text-input/o-text-input.component.mjs +4 -4
  142. package/esm2020/lib/components/input/text-input/o-text-input.module.mjs +5 -5
  143. package/esm2020/lib/components/input/textarea-input/o-textarea-input.component.mjs +4 -4
  144. package/esm2020/lib/components/input/textarea-input/o-textarea-input.module.mjs +5 -5
  145. package/esm2020/lib/components/input/time-input/o-time-input.component.mjs +4 -4
  146. package/esm2020/lib/components/input/time-input/o-time-input.module.mjs +5 -5
  147. package/esm2020/lib/components/language-selector/o-language-selector.component.mjs +4 -4
  148. package/esm2020/lib/components/language-selector/o-language-selector.module.mjs +5 -5
  149. package/esm2020/lib/components/list/list-item/o-list-item.component.mjs +4 -4
  150. package/esm2020/lib/components/list/list-item/o-list-item.directive.mjs +4 -4
  151. package/esm2020/lib/components/list/o-list.component.mjs +4 -4
  152. package/esm2020/lib/components/list/o-list.module.mjs +5 -5
  153. package/esm2020/lib/components/list/renderers/avatar/o-list-item-avatar.component.mjs +4 -4
  154. package/esm2020/lib/components/list/renderers/card/o-list-item-card.component.mjs +4 -4
  155. package/esm2020/lib/components/list/renderers/card-image/o-list-item-card-image.component.mjs +4 -4
  156. package/esm2020/lib/components/list/renderers/o-list-item-card-renderer.class.mjs +4 -4
  157. package/esm2020/lib/components/list/renderers/o-list-item-text-renderer.class.mjs +4 -4
  158. package/esm2020/lib/components/list/renderers/text/o-list-item-text.component.mjs +4 -4
  159. package/esm2020/lib/components/list/skeleton/o-list-skeleton.component.mjs +4 -4
  160. package/esm2020/lib/components/material/ckeditor/ck-editor.component.mjs +4 -4
  161. package/esm2020/lib/components/material/ckeditor/ck-editor.module.mjs +5 -5
  162. package/esm2020/lib/components/o-data-toolbar/o-data-toolbar.component.mjs +4 -4
  163. package/esm2020/lib/components/o-data-toolbar/o-data-toolbar.module.mjs +5 -5
  164. package/esm2020/lib/components/o-form-data-component.class.mjs +4 -4
  165. package/esm2020/lib/components/o-repeatable-skeleton.component.mjs +4 -4
  166. package/esm2020/lib/components/o-service-base-component.class.mjs +15 -10
  167. package/esm2020/lib/components/o-service-component.class.mjs +7 -7
  168. package/esm2020/lib/components/o-skeleton.component.mjs +4 -4
  169. package/esm2020/lib/components/table/column/calculated/o-table-column-calculated.component.mjs +4 -4
  170. package/esm2020/lib/components/table/column/cell-editor/boolean/o-table-cell-editor-boolean.component.mjs +4 -4
  171. package/esm2020/lib/components/table/column/cell-editor/date/o-table-cell-editor-date.component.mjs +4 -4
  172. package/esm2020/lib/components/table/column/cell-editor/email/o-table-cell-editor-email.component.mjs +4 -4
  173. package/esm2020/lib/components/table/column/cell-editor/integer/o-table-cell-editor-integer.component.mjs +4 -4
  174. package/esm2020/lib/components/table/column/cell-editor/o-base-table-cell-editor.class.mjs +10 -4
  175. package/esm2020/lib/components/table/column/cell-editor/real/o-table-cell-editor-real.component.mjs +4 -4
  176. package/esm2020/lib/components/table/column/cell-editor/text/o-table-cell-editor-text.component.mjs +4 -4
  177. package/esm2020/lib/components/table/column/cell-editor/time/o-table-cell-editor-time.component.mjs +26 -12
  178. package/esm2020/lib/components/table/column/cell-renderer/action/o-table-cell-renderer-action.component.mjs +4 -4
  179. package/esm2020/lib/components/table/column/cell-renderer/boolean/o-table-cell-renderer-boolean.component.mjs +4 -4
  180. package/esm2020/lib/components/table/column/cell-renderer/currency/o-table-cell-renderer-currency.component.mjs +4 -4
  181. package/esm2020/lib/components/table/column/cell-renderer/date/o-table-cell-renderer-date.component.mjs +4 -4
  182. package/esm2020/lib/components/table/column/cell-renderer/image/o-table-cell-renderer-image.component.mjs +4 -4
  183. package/esm2020/lib/components/table/column/cell-renderer/integer/o-table-cell-renderer-integer.component.mjs +4 -4
  184. package/esm2020/lib/components/table/column/cell-renderer/o-base-table-cell-renderer.class.mjs +4 -4
  185. package/esm2020/lib/components/table/column/cell-renderer/percentage/o-table-cell-renderer-percentage.component.mjs +4 -4
  186. package/esm2020/lib/components/table/column/cell-renderer/real/o-table-cell-renderer-real.component.mjs +4 -4
  187. package/esm2020/lib/components/table/column/cell-renderer/service/o-table-cell-renderer-service.component.mjs +4 -4
  188. package/esm2020/lib/components/table/column/cell-renderer/time/o-table-cell-renderer-time.component.mjs +4 -4
  189. package/esm2020/lib/components/table/column/cell-renderer/translate/o-table-cell-renderer-translate.component.mjs +4 -4
  190. package/esm2020/lib/components/table/column/o-table-column.component.mjs +4 -4
  191. package/esm2020/lib/components/table/extensions/contextmenu/o-table-context-menu.component.mjs +4 -4
  192. package/esm2020/lib/components/table/extensions/default-o-table.datasource.mjs +137 -66
  193. package/esm2020/lib/components/table/extensions/dialog/apply-configuration/o-table-apply-configuration-dialog.component.mjs +4 -4
  194. package/esm2020/lib/components/table/extensions/dialog/export/o-table-export-dialog.component.mjs +4 -4
  195. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.mjs +4 -4
  196. package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column.service.mjs +4 -4
  197. package/esm2020/lib/components/table/extensions/dialog/group-by-columns/o-table-group-by-columns-dialog.component.mjs +4 -4
  198. package/esm2020/lib/components/table/extensions/dialog/o-table-base-dialog.class.mjs +4 -4
  199. package/esm2020/lib/components/table/extensions/dialog/store-configuration/o-table-store-configuration-dialog.component.mjs +4 -4
  200. package/esm2020/lib/components/table/extensions/dialog/visible-columns/o-table-visible-columns-dialog.component.mjs +4 -4
  201. package/esm2020/lib/components/table/extensions/export-button/o-table-export-button.component.mjs +4 -4
  202. package/esm2020/lib/components/table/extensions/export-button/o-table-export-button.service.mjs +4 -4
  203. package/esm2020/lib/components/table/extensions/footer/aggregate/o-table-column-aggregate.component.mjs +6 -6
  204. package/esm2020/lib/components/table/extensions/footer/expanded/o-table-expanded-footer.directive.mjs +11 -14
  205. package/esm2020/lib/components/table/extensions/footer/paginator/o-table-mat-paginator-intl.mjs +4 -4
  206. package/esm2020/lib/components/table/extensions/footer/paginator/o-table-paginator.component.mjs +4 -4
  207. package/esm2020/lib/components/table/extensions/header/table-button/o-table-button.component.mjs +4 -4
  208. package/esm2020/lib/components/table/extensions/header/table-buttons/o-table-buttons.component.mjs +4 -4
  209. package/esm2020/lib/components/table/extensions/header/table-column-resizer/o-table-column-resizer.component.mjs +4 -4
  210. package/esm2020/lib/components/table/extensions/header/table-column-select-all/o-table-column-select-all.directive.mjs +4 -4
  211. package/esm2020/lib/components/table/extensions/header/table-columns-filter/columns/o-table-columns-filter-column.component.mjs +4 -4
  212. package/esm2020/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.mjs +4 -4
  213. package/esm2020/lib/components/table/extensions/header/table-columns-grouping/columns/o-table-columns-grouping-column.component.mjs +4 -4
  214. package/esm2020/lib/components/table/extensions/header/table-columns-grouping/o-table-columns-grouping.component.mjs +4 -4
  215. package/esm2020/lib/components/table/extensions/header/table-header/o-table-header.component.mjs +4 -4
  216. package/esm2020/lib/components/table/extensions/header/table-header-column-filter-icon/o-table-header-column-filter-icon.component.mjs +5 -5
  217. package/esm2020/lib/components/table/extensions/header/table-header-select-all/o-table-header-select-all.component.mjs +4 -4
  218. package/esm2020/lib/components/table/extensions/header/table-insertable-row/o-table-insertable-row.component.mjs +4 -4
  219. package/esm2020/lib/components/table/extensions/header/table-menu/o-table-menu.component.mjs +4 -4
  220. package/esm2020/lib/components/table/extensions/header/table-option/o-table-option.component.mjs +4 -4
  221. package/esm2020/lib/components/table/extensions/header/table-quickfilter/o-table-quickfilter.component.mjs +4 -4
  222. package/esm2020/lib/components/table/extensions/o-table-datasource.service.mjs +4 -4
  223. package/esm2020/lib/components/table/extensions/o-table-strategy.service.mjs +10 -4
  224. package/esm2020/lib/components/table/extensions/pipes/o-table-row-class.pipe.mjs +4 -4
  225. package/esm2020/lib/components/table/extensions/row/o-table-row.directive.mjs +4 -4
  226. package/esm2020/lib/components/table/extensions/row/table-row-expandable/o-table-row-expandable.component.mjs +4 -4
  227. package/esm2020/lib/components/table/extensions/skeleton/o-table-skeleton.component.mjs +19 -19
  228. package/esm2020/lib/components/table/extensions/sort/o-mat-sort-header.mjs +14 -7
  229. package/esm2020/lib/components/table/extensions/sort/o-mat-sort-module.mjs +5 -5
  230. package/esm2020/lib/components/table/extensions/sort/o-mat-sort.mjs +4 -4
  231. package/esm2020/lib/components/table/index.mjs +2 -1
  232. package/esm2020/lib/components/table/o-table-base.class.mjs +1 -1
  233. package/esm2020/lib/components/table/o-table-loading.service.mjs +113 -0
  234. package/esm2020/lib/components/table/o-table.component.mjs +66 -61
  235. package/esm2020/lib/components/table/o-table.module.mjs +12 -8
  236. package/esm2020/lib/components/tree/header/tree-menu/o-tree-menu.component.mjs +4 -4
  237. package/esm2020/lib/components/tree/o-tree-dao.service.mjs +4 -4
  238. package/esm2020/lib/components/tree/o-tree.component.mjs +4 -4
  239. package/esm2020/lib/components/tree/o-tree.module.mjs +5 -5
  240. package/esm2020/lib/components/tree/tree-node/tree-node.component.mjs +4 -4
  241. package/esm2020/lib/components/user-info/o-user-info.component.mjs +4 -4
  242. package/esm2020/lib/components/user-info/o-user-info.module.mjs +5 -5
  243. package/esm2020/lib/components/user-info/user-info-configuration/o-user-info-configuration.directive.mjs +4 -4
  244. package/esm2020/lib/components/user-info/user-info-configuration-item/o-user-info-configuration-item.directive.mjs +4 -4
  245. package/esm2020/lib/config/o-modules.mjs +5 -5
  246. package/esm2020/lib/directives/input-regulate.directive.mjs +4 -4
  247. package/esm2020/lib/directives/keyboard-listener.directive.mjs +4 -4
  248. package/esm2020/lib/directives/locker.directive.mjs +4 -4
  249. package/esm2020/lib/directives/o-file-drag-and-drop.directive.mjs +4 -4
  250. package/esm2020/lib/directives/o-hidden.directive.mjs +4 -4
  251. package/esm2020/lib/directives/o-mat-error.directive.mjs +4 -4
  252. package/esm2020/lib/directives/o-mat-prefix.directive.mjs +4 -4
  253. package/esm2020/lib/directives/o-mat-suffix.directive.mjs +4 -4
  254. package/esm2020/lib/directives/o-tab-group.directive.mjs +4 -4
  255. package/esm2020/lib/layouts/app-layout/app-layout-header/o-app-layout-header.component.mjs +4 -4
  256. package/esm2020/lib/layouts/app-layout/app-layout-sidenav/o-app-layout-sidenav.component.mjs +4 -4
  257. package/esm2020/lib/layouts/app-layout/o-app-layout.component.mjs +4 -4
  258. package/esm2020/lib/layouts/app-layout/o-app-layout.module.mjs +5 -5
  259. package/esm2020/lib/layouts/card-menu-layout/o-card-menu-layout.component.mjs +4 -4
  260. package/esm2020/lib/layouts/card-menu-layout/o-card-menu-layout.module.mjs +5 -5
  261. package/esm2020/lib/layouts/form-layout/dialog/o-form-layout-dialog.component.mjs +4 -4
  262. package/esm2020/lib/layouts/form-layout/dialog/options/o-form-layout-dialog-options.directive.mjs +4 -4
  263. package/esm2020/lib/layouts/form-layout/directives/o-form-layout-manager-content.directive.mjs +4 -4
  264. package/esm2020/lib/layouts/form-layout/guards/o-form-layout-can-activate-child.guard.mjs +4 -4
  265. package/esm2020/lib/layouts/form-layout/o-form-layout-manager.component.mjs +4 -4
  266. package/esm2020/lib/layouts/form-layout/o-form-layout-manager.module.mjs +5 -5
  267. package/esm2020/lib/layouts/form-layout/split-pane/o-form-layout-split-pane.component.mjs +4 -4
  268. package/esm2020/lib/layouts/form-layout/split-pane/options/o-form-layout-split-pane-options.directive.mjs +4 -4
  269. package/esm2020/lib/layouts/form-layout/tabgroup/o-form-layout-tabgroup.component.mjs +4 -4
  270. package/esm2020/lib/layouts/form-layout/tabgroup/options/o-form-layout-tabgroup-options.directive.mjs +4 -4
  271. package/esm2020/lib/ontimize-web-ngx.module.mjs +5 -5
  272. package/esm2020/lib/pipes/columns-filter.pipe.mjs +4 -4
  273. package/esm2020/lib/pipes/is-empty-value.pipe.mjs +4 -4
  274. package/esm2020/lib/pipes/o-currency.pipe.mjs +4 -4
  275. package/esm2020/lib/pipes/o-icon.pipe.mjs +4 -4
  276. package/esm2020/lib/pipes/o-integer.pipe.mjs +4 -4
  277. package/esm2020/lib/pipes/o-moment.pipe.mjs +4 -4
  278. package/esm2020/lib/pipes/o-percentage.pipe.mjs +4 -4
  279. package/esm2020/lib/pipes/o-real.pipe.mjs +4 -4
  280. package/esm2020/lib/pipes/o-safe.pipe.mjs +4 -4
  281. package/esm2020/lib/pipes/o-translate.pipe.mjs +8 -8
  282. package/esm2020/lib/pipes/order-by.pipe.mjs +4 -4
  283. package/esm2020/lib/services/app-menu.service.mjs +4 -4
  284. package/esm2020/lib/services/appearance.service.mjs +4 -4
  285. package/esm2020/lib/services/auth-guard.service.mjs +4 -4
  286. package/esm2020/lib/services/auth.service.mjs +4 -4
  287. package/esm2020/lib/services/base-service-response.adapter.mjs +4 -4
  288. package/esm2020/lib/services/base-service.class.mjs +4 -4
  289. package/esm2020/lib/services/currency.service.mjs +4 -4
  290. package/esm2020/lib/services/dialog.service.mjs +4 -4
  291. package/esm2020/lib/services/icon.service.mjs +4 -4
  292. package/esm2020/lib/services/jsonapi/jsonapi-preferences.service.mjs +4 -4
  293. package/esm2020/lib/services/jsonapi/jsonapi-service-response.adapter.mjs +4 -4
  294. package/esm2020/lib/services/jsonapi/jsonapi.service.mjs +4 -4
  295. package/esm2020/lib/services/local-storage.service.mjs +4 -4
  296. package/esm2020/lib/services/login-storage.service.mjs +4 -4
  297. package/esm2020/lib/services/moment.service.mjs +4 -4
  298. package/esm2020/lib/services/navigation.service.mjs +4 -4
  299. package/esm2020/lib/services/number.service.mjs +4 -4
  300. package/esm2020/lib/services/o-auth.service.mjs +4 -4
  301. package/esm2020/lib/services/o-breadcrumb.service.mjs +4 -4
  302. package/esm2020/lib/services/o-error-dialog-manager.service.mjs +4 -4
  303. package/esm2020/lib/services/o-form-layout-manager.service.mjs +4 -4
  304. package/esm2020/lib/services/o-modules-info.service.mjs +4 -4
  305. package/esm2020/lib/services/o-user-info.service.mjs +4 -4
  306. package/esm2020/lib/services/ontimize/o-preference-response.adapter.mjs +4 -4
  307. package/esm2020/lib/services/ontimize/ontimize-base-service.class.mjs +4 -4
  308. package/esm2020/lib/services/ontimize/ontimize-ee.service.mjs +4 -4
  309. package/esm2020/lib/services/ontimize/ontimize-export-3xx.service.mjs +4 -4
  310. package/esm2020/lib/services/ontimize/ontimize-export.service.mjs +4 -4
  311. package/esm2020/lib/services/ontimize/ontimize-file.service.mjs +4 -4
  312. package/esm2020/lib/services/ontimize/ontimize-preferences.service.mjs +4 -4
  313. package/esm2020/lib/services/ontimize/ontimize-service-response.adapter.mjs +4 -4
  314. package/esm2020/lib/services/ontimize/ontimize.service.mjs +4 -4
  315. package/esm2020/lib/services/ontimize-export-data-base-provider.service.mjs +4 -4
  316. package/esm2020/lib/services/ontimize-export-data-provider-3x.service.mjs +4 -4
  317. package/esm2020/lib/services/ontimize-export-data-provider.service.mjs +4 -4
  318. package/esm2020/lib/services/ontimize-icon-registry.service.mjs +4 -4
  319. package/esm2020/lib/services/pagination-context.service.mjs +4 -4
  320. package/esm2020/lib/services/parser/o-service-response.parser.mjs +4 -4
  321. package/esm2020/lib/services/permissions/o-permissions.module.mjs +5 -5
  322. package/esm2020/lib/services/permissions/ontimize-ee-permissions.service.mjs +4 -4
  323. package/esm2020/lib/services/permissions/ontimize-permissions.service.mjs +4 -4
  324. package/esm2020/lib/services/permissions/permissions-can-activate.guard.mjs +4 -4
  325. package/esm2020/lib/services/permissions/permissions.service.mjs +4 -4
  326. package/esm2020/lib/services/remote-config.service.mjs +5 -5
  327. package/esm2020/lib/services/request-adapter/jsonapi-request-arguments.adapter.mjs +4 -4
  328. package/esm2020/lib/services/request-adapter/ontimize-request-arguments.adapter.mjs +4 -4
  329. package/esm2020/lib/services/share-can-activate-child.service.mjs +4 -4
  330. package/esm2020/lib/services/snackbar.service.mjs +4 -4
  331. package/esm2020/lib/services/state/o-app-menu-component-state.service.mjs +4 -4
  332. package/esm2020/lib/services/state/o-component-state.service.mjs +10 -10
  333. package/esm2020/lib/services/state/o-filter-builder-component-state.service.mjs +4 -4
  334. package/esm2020/lib/services/state/o-form-layout-manager-component-state.service.mjs +4 -4
  335. package/esm2020/lib/services/state/o-grid-component-state.service.mjs +4 -4
  336. package/esm2020/lib/services/state/o-list-component-state.service.mjs +4 -4
  337. package/esm2020/lib/services/state/o-table-component-state.class.mjs +1 -1
  338. package/esm2020/lib/services/state/o-table-component-state.service.mjs +4 -4
  339. package/esm2020/lib/services/state/o-tree-component-state.service.mjs +4 -4
  340. package/esm2020/lib/services/translate/o-translate.parser.mjs +4 -4
  341. package/esm2020/lib/services/translate/o-translate.service.mjs +4 -4
  342. package/esm2020/lib/shared/components/dialog/o-dialog-internal.component.mjs +4 -4
  343. package/esm2020/lib/shared/components/dialog/o-dialog.component.mjs +4 -4
  344. package/esm2020/lib/shared/components/error403/o-error-403.component.mjs +4 -4
  345. package/esm2020/lib/shared/components/filter/load-filter/o-load-filter-dialog.component.mjs +4 -4
  346. package/esm2020/lib/shared/components/filter/store-filter/o-store-filter-dialog.component.mjs +4 -4
  347. package/esm2020/lib/shared/components/snackbar/o-snackbar-base.class.mjs +4 -4
  348. package/esm2020/lib/shared/components/snackbar/o-snackbar.component.mjs +4 -4
  349. package/esm2020/lib/shared/components/validation/o-error.component.mjs +4 -4
  350. package/esm2020/lib/shared/components/validation/o-validator.component.mjs +4 -4
  351. package/esm2020/lib/shared/material/custom.material.module.mjs +5 -5
  352. package/esm2020/lib/shared/material/date/ontimize-moment-date-adapter.mjs +4 -4
  353. package/esm2020/lib/shared/shared.module.mjs +5 -5
  354. package/esm2020/lib/types/aggregate-function.type.mjs +1 -1
  355. package/esm2020/lib/types/table/o-table-global-config.type.mjs +1 -1
  356. package/fesm2015/ontimize-web-ngx.mjs +1582 -1283
  357. package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
  358. package/fesm2020/ontimize-web-ngx.mjs +1567 -1280
  359. package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
  360. package/lib/components/dual-list-selector/o-dual-list-selector.component.d.ts +1 -1
  361. package/lib/components/input/hour-input/index.d.ts +3 -0
  362. package/lib/components/input/hour-input/o-hour-input.component.d.ts +6 -2
  363. package/lib/components/input/hour-input/o-hour-input.directive.d.ts +8 -0
  364. package/lib/components/input/hour-input/o-hour-input.module.d.ts +5 -4
  365. package/lib/components/input/index.d.ts +1 -2
  366. package/lib/components/o-service-base-component.class.d.ts +1 -0
  367. package/lib/components/table/column/cell-editor/o-base-table-cell-editor.class.d.ts +5 -3
  368. package/lib/components/table/column/cell-editor/time/o-table-cell-editor-time.component.d.ts +2 -2
  369. package/lib/components/table/extensions/default-o-table.datasource.d.ts +6 -1
  370. package/lib/components/table/extensions/dialog/group-by-columns/o-table-group-by-columns-dialog.component.d.ts +1 -1
  371. package/lib/components/table/extensions/footer/aggregate/o-table-column-aggregate.component.d.ts +1 -1
  372. package/lib/components/table/extensions/footer/expanded/o-table-expanded-footer.directive.d.ts +1 -2
  373. package/lib/components/table/extensions/o-table-strategy.service.d.ts +2 -1
  374. package/lib/components/table/extensions/skeleton/o-table-skeleton.component.d.ts +1 -0
  375. package/lib/components/table/extensions/sort/o-mat-sort-header.d.ts +5 -3
  376. package/lib/components/table/index.d.ts +1 -0
  377. package/lib/components/table/o-table-base.class.d.ts +3 -1
  378. package/lib/components/table/o-table-loading.service.d.ts +28 -0
  379. package/lib/components/table/o-table.component.d.ts +3 -1
  380. package/lib/components/table/o-table.module.d.ts +2 -1
  381. package/lib/services/state/o-table-component-state.class.d.ts +1 -1
  382. package/lib/types/aggregate-function.type.d.ts +2 -1
  383. package/lib/types/table/o-table-global-config.type.d.ts +4 -0
  384. package/package.json +2 -2
@@ -1,3 +1,3 @@
1
1
  export class OTableBase {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1iYXNlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvby10YWJsZS1iYXNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRCQSxNQUFNLE9BQWdCLFVBQVU7Q0ErRy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzL2ludGVybmFsL0JlaGF2aW9yU3ViamVjdCc7XG5cbmltcG9ydCB0eXBlIHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9zbmFja2Jhci5zZXJ2aWNlJztcblxuaW1wb3J0IHR5cGUgeyBRdWlja0ZpbHRlckZ1bmN0aW9uIH0gZnJvbSBcIi4uLy4uL3R5cGVzL3F1aWNrLWZpbHRlci1mdW5jdGlvbi50eXBlXCI7XG5pbXBvcnQgdHlwZSB7IE9Db2x1bW4gfSBmcm9tIFwiLi9jb2x1bW4vby1jb2x1bW4uY2xhc3NcIjtcbmltcG9ydCB0eXBlIHsgT1Blcm1pc3Npb25zIH0gZnJvbSBcIi4uLy4uL3R5cGVzL28tcGVybWlzc2lvbnMudHlwZVwiO1xuaW1wb3J0IHR5cGUgeyBPVGFibGVCdXR0b25zIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvby10YWJsZS1idXR0b25zLmludGVyZmFjZVwiO1xuaW1wb3J0IHR5cGUgeyBPVGFibGVRdWlja2ZpbHRlciB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL28tdGFibGUtcXVpY2tmaWx0ZXIuaW50ZXJmYWNlXCI7XG5pbXBvcnQgdHlwZSB7IE9UYWJsZU1lbnUgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9vLXRhYmxlLW1lbnUuaW50ZXJmYWNlXCI7XG5pbXBvcnQgdHlwZSB7IE9Db2x1bW5WYWx1ZUZpbHRlciB9IGZyb20gXCIuLi8uLi90eXBlcy90YWJsZS9vLWNvbHVtbi12YWx1ZS1maWx0ZXIudHlwZVwiO1xuaW1wb3J0IHR5cGUgeyBPQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tIFwiLi4vY29udGV4dG1lbnUvby1jb250ZXh0LW1lbnUuY29tcG9uZW50XCI7XG5pbXBvcnQgdHlwZSB7IEV4cHJlc3Npb24sIE9GaWx0ZXJEZWZpbml0aW9uLCBPR3JvdXBlZENvbHVtblR5cGVzLCBPVGFibGVNZW51UGVybWlzc2lvbnMsIFNRTE9yZGVyIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IE9UYWJsZUNvbXBvbmVudFN0YXRlQ2xhc3MgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc3RhdGUvby10YWJsZS1jb21wb25lbnQtc3RhdGUuY2xhc3NcIjtcbmltcG9ydCB0eXBlIHsgT1RhYmxlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vZXh0ZW5zaW9ucy9oZWFkZXIvdGFibGUtaGVhZGVyL28tdGFibGUtaGVhZGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBNYXRQYWdpbmF0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yXCI7XG5pbXBvcnQgdHlwZSB7IE9UYWJsZUNvbHVtblNlbGVjdEFsbERpcmVjdGl2ZSB9IGZyb20gXCIuL2V4dGVuc2lvbnMvaGVhZGVyL3RhYmxlLWNvbHVtbi1zZWxlY3QtYWxsL28tdGFibGUtY29sdW1uLXNlbGVjdC1hbGwuZGlyZWN0aXZlXCI7XG5pbXBvcnQgdHlwZSB7IE9GaWx0ZXJCdWlsZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ZpbHRlci1idWlsZGVyL28tZmlsdGVyLWJ1aWxkZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBPVGFibGVDb2x1bW5zRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9leHRlbnNpb25zL2hlYWRlci90YWJsZS1jb2x1bW5zLWZpbHRlci9vLXRhYmxlLWNvbHVtbnMtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPRmlsdGVyQ29sdW1uIH0gZnJvbSAnLi9leHRlbnNpb25zL2hlYWRlci90YWJsZS1jb2x1bW5zLWZpbHRlci9jb2x1bW5zL28tdGFibGUtY29sdW1ucy1maWx0ZXItY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Jhc2Utc2VydmljZS5jbGFzcyc7XG5pbXBvcnQgeyBTZXJ2aWNlUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NlcnZpY2UtcmVzcG9uc2UuaW50ZXJmYWNlJztcblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgT1RhYmxlQmFzZSB7XG4gIGFic3RyYWN0IGdldE1lbnVQZXJtaXNzaW9ucygpOiBPVGFibGVNZW51UGVybWlzc2lvbnM7XG4gIGFic3RyYWN0IHJvd0hlaWdodE9ic2VydmFibGU6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgYWJzdHJhY3QgaW5pdGlhbGl6ZUNoZWNrYm94Q29sdW1uKCk7XG4gIG9UYWJsZUNvbHVtbnNGaWx0ZXJDb21wb25lbnQ6IE9UYWJsZUNvbHVtbnNGaWx0ZXJDb21wb25lbnQ7XG4gIHZpc2libGVFeHBvcnREaWFsb2dCdXR0b25zOiBzdHJpbmc7XG4gIHNlcnZpY2U6IHN0cmluZztcbiAgc2VydmljZVR5cGU6IHN0cmluZztcbiAgZXhwb3J0U2VydmljZVR5cGU6IHN0cmluZztcbiAgZXhwb3J0T3B0c1RlbXBsYXRlOiBhbnk7XG4gIHZpc2libGVDb2xBcnJheTogc3RyaW5nW107XG4gIHF1ZXJ5TWV0aG9kOiBzdHJpbmc7XG4gIHNob3dOb3RpZmljYXRpb25PZlJlYWRPbmx5OiBib29sZWFuO1xuICBhYnN0cmFjdCByZWluaXRpYWxpemVTb3J0Q29sdW1ucyhzb3J0Q29sdW1ucz86IFNRTE9yZGVyW10pO1xuICBhYnN0cmFjdCBzZXRHcm91cENvbHVtbnModmFsdWU6IGFueVtdKTtcbiAgYWJzdHJhY3QgY2xlYXJDb2x1bW5GaWx0ZXJzKHRyaWdnZXJEYXRhc291cmNlVXBkYXRlPzogYm9vbGVhbiwgY29sdW1uc0F0dHI/OiBzdHJpbmdbXSk6IHZvaWRcbiAgYWJzdHJhY3QgcmVmcmVzaENvbHVtbnNXaWR0aEZyb21Mb2NhbFN0b3JhZ2UoKTtcbiAgYWJzdHJhY3Qgcm93SGVpZ2h0OiBzdHJpbmc7XG4gIGFic3RyYWN0IGdyb3VwZWRDb2x1bW5UeXBlczogT0dyb3VwZWRDb2x1bW5UeXBlc1tdO1xuICBhYnN0cmFjdCBzZXRHcm91cGVkQ29sdW1uVHlwZXModmFsdWU6IE9Hcm91cGVkQ29sdW1uVHlwZXNbXSlcbiAgYWJzdHJhY3Qgc3RhdGU6IE9UYWJsZUNvbXBvbmVudFN0YXRlQ2xhc3M7XG4gIGFic3RyYWN0IHN0b3JlRmlsdGVySW5TdGF0ZShhcmc6IE9GaWx0ZXJEZWZpbml0aW9uKTtcbiAgYWJzdHJhY3Qgc2V0RmlsdGVyc0NvbmZpZ3VyYXRpb24oKTtcbiAgYWJzdHJhY3QgcmVsb2FkUGFnaW5hdGVkRGF0YUZyb21TdGFydChjbGVhclNlbGVjdGVkSXRlbXM/OiBib29sZWFuKTtcbiAgYWJzdHJhY3QgY2xlYXJGaWx0ZXJzKCk6IHZvaWQ7XG4gIGFic3RyYWN0IHJlc2V0Q29sdW1uc1dpZHRoKCk7XG4gIGFic3RyYWN0IGNvbXBvbmVudFN0YXRlU2VydmljZTogYW55O1xuICBhYnN0cmFjdCBhcHBseURlZmF1bHRDb25maWd1cmF0aW9uKCk7XG4gIGFic3RyYWN0IGFwcGx5Q29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uTmFtZTogc3RyaW5nKTtcblxuICBhYnN0cmFjdCBnZXRDb2x1bW5zTm90SW5jbHVkZWQoKTogc3RyaW5nW11cbiAgYWJzdHJhY3QgZ2V0Q29tcG9uZW50RmlsdGVyKGV4aXN0aW5nRmlsdGVyPzogYW55KTogYW55O1xuICBhYnN0cmFjdCBlbnRpdHk6IHN0cmluZztcbiAgYWJzdHJhY3QgZ2V0U3FsVHlwZXMoKTtcbiAgYWJzdHJhY3QgZ2V0Q29sdW1uTmFtZXMoY29sdW1uczogc3RyaW5nW10pOiB7IFtjb2x1bW5JZDogc3RyaW5nXTogc3RyaW5nOyB9O1xuICBhYnN0cmFjdCBzaG93Q2FzZVNlbnNpdGl2ZUNoZWNrYm94KCk6IGJvb2xlYW47XG4gIGFic3RyYWN0IHBhZ2VhYmxlOiBib29sZWFuO1xuICBhYnN0cmFjdCBkYXRhU291cmNlOiBhbnk7XG4gIGFic3RyYWN0IHF1aWNrRmlsdGVyQ2FsbGJhY2s6IFF1aWNrRmlsdGVyRnVuY3Rpb247XG4gIGFic3RyYWN0IGFib3J0UXVlcnk6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgYWJzdHJhY3Qgb1RhYmxlT3B0aW9uczogYW55O1xuICBhYnN0cmFjdCByZWdpc3RlclF1aWNrRmlsdGVyKGFyZzogYW55KTogdm9pZDtcbiAgYWJzdHJhY3QgZ2V0T0NvbHVtbkZyb21UaCh0aDogYW55KTogT0NvbHVtbjtcbiAgYWJzdHJhY3QgY2Q6IENoYW5nZURldGVjdG9yUmVmO1xuICBhYnN0cmFjdCBnZXRDbGllbnRXaWR0aENvbHVtbihjb2w6IE9Db2x1bW4pOiBudW1iZXI7XG4gIGFic3RyYWN0IGhvcml6b250YWxTY3JvbGw6IGJvb2xlYW47XG4gIGFic3RyYWN0IGdldEFjdGlvbnNQZXJtaXNzaW9ucygpOiBPUGVybWlzc2lvbnNbXTtcbiAgYWJzdHJhY3Qgc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxFbGVtZW50PjtcbiAgYWJzdHJhY3QgcmVnaXN0ZXJPVGFibGVCdXR0b25zKGFyZzogT1RhYmxlQnV0dG9ucyk7XG4gIGFic3RyYWN0IGFkZCgpO1xuICBhYnN0cmFjdCByZWxvYWREYXRhKCk7XG4gIGFic3RyYWN0IHJlbW92ZSgpO1xuICBhYnN0cmFjdCBvblVwZGF0ZVNjcm9sbGVkU3RhdGU6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICBhYnN0cmFjdCByb3dXaWR0aDtcbiAgYWJzdHJhY3Qgb25Db250ZW50Q2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgYWJzdHJhY3Qgc3RhdGljRGF0YTogQXJyYXk8YW55PjtcbiAgYWJzdHJhY3Qgb1RhYmxlUXVpY2tGaWx0ZXJDb21wb25lbnQ6IE9UYWJsZVF1aWNrZmlsdGVyO1xuICBhYnN0cmFjdCBxdWlja0ZpbHRlcjogYm9vbGVhbjtcbiAgYWJzdHJhY3QgZ3JvdXBlZENvbHVtbnNBcnJheTogc3RyaW5nW107XG4gIGFic3RyYWN0IGlzQ29sdW1uRmlsdGVyYWJsZShjb2x1bW46IE9Db2x1bW4pOiBib29sZWFuO1xuICBhYnN0cmFjdCBvcGVuQ29sdW1uRmlsdGVyRGlhbG9nKGNvbHVtbjogT0NvbHVtbiwgZXZlbnQ6IEV2ZW50KTtcbiAgYWJzdHJhY3QgaXNDb2x1bW5GaWx0ZXJzQWN0aXZlOiBib29sZWFuO1xuICBhYnN0cmFjdCBvVGFibGVNZW51OiBPVGFibGVNZW51O1xuICBhYnN0cmFjdCBnZXRPQ29sdW1uKGF0dHI6IHN0cmluZyk6IE9Db2x1bW47XG4gIGFic3RyYWN0IGdyb3VwQnlDb2x1bW4oY29sdW1uOiBPQ29sdW1uLCB0eXBlPzogc3RyaW5nKTtcbiAgYWJzdHJhY3QgdW5Hcm91cEJ5Q29sdW1uKGNvbHVtbjogT0NvbHVtbik7XG4gIGFic3RyYWN0IHVuR3JvdXBCeUFsbENvbHVtbnMoKTtcbiAgYWJzdHJhY3QgZmlsdGVyQnlDb2x1bW4oY29sdW1uVmFsdWVGaWx0ZXI6IE9Db2x1bW5WYWx1ZUZpbHRlcik7XG4gIGFic3RyYWN0IHJlZnJlc2goKTtcbiAgYWJzdHJhY3QgY29weVNlbGVjdGlvbigpO1xuICBhYnN0cmFjdCBjb3B5QWxsKCk7XG4gIGFic3RyYWN0IHNob3dBbmRTZWxlY3RBbGxDaGVja2JveCgpO1xuICBhYnN0cmFjdCBkb0hhbmRsZUNsaWNrKHJvdzogYW55LCBjb2x1bW46IHN0cmluZywgcm93SW5kZXg6IG51bWJlciwgJGV2ZW50OiBNb3VzZUV2ZW50KTtcbiAgYWJzdHJhY3Qgdmlld0RldGFpbChpdGVtOiBhbnkpOiB2b2lkO1xuICBhYnN0cmFjdCBjbGVhclNlbGVjdGlvbigpOiB2b2lkO1xuICBhYnN0cmFjdCBpc1NlbGVjdGlvbk1vZGVNdWx0aXBsZSgpOiBib29sZWFuO1xuICBhYnN0cmFjdCByZWdpc3RlckNvbnRleHRNZW51KHZhbHVlOiBPQ29udGV4dE1lbnVDb21wb25lbnQpOiB2b2lkO1xuICBhYnN0cmFjdCBncm91cGFibGU6IGJvb2xlYW47XG4gIGFic3RyYWN0IHNlbGVjdEFsbENoZWNrYm94OiBib29sZWFuO1xuICBhYnN0cmFjdCBpc1NlbGVjdGlvbk1vZGVOb25lKCk6IGJvb2xlYW47XG4gIGFic3RyYWN0IGlzQWxsU2VsZWN0ZWQoKTogYm9vbGVhblxuXG4gIGFic3RyYWN0IG5vbkhpZGFibGVDb2x1bW5zOiBzdHJpbmc7XG4gIGFic3RyYWN0IHZpc2libGVDb2x1bW5zOiBzdHJpbmc7XG4gIGFic3RyYWN0IHNvcnRDb2xBcnJheTogU1FMT3JkZXJbXTtcbiAgYWJzdHJhY3QgY3VycmVudFBhZ2U6IG51bWJlcjtcbiAgYWJzdHJhY3QgcXVlcnlSb3dzOiBudW1iZXI7XG4gIGFic3RyYWN0IHJlc2l6YWJsZTogYm9vbGVhblxuICBhYnN0cmFjdCByZWdpc3RlclRhYmxlSGVhZGVycyh0YWJsZUhlYWRlcjogT1RhYmxlSGVhZGVyQ29tcG9uZW50KTtcbiAgYWJzdHJhY3Qgc2hvd0J1dHRvbnNUZXh0OiBib29sZWFuO1xuICBhYnN0cmFjdCBtYXRwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcbiAgYWJzdHJhY3QgaXNJbmRldGVybWluYXRlKCk6IGJvb2xlYW47XG4gIGFic3RyYWN0IG9uRmlsdGVyQnlDb2x1bW5DaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICBhYnN0cmFjdCBtYXN0ZXJUb2dnbGUoZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlKTogdm9pZDtcbiAgYWJzdHJhY3QgdGFibGVDb2x1bW5TZWxlY3RBbGxDb250ZW50Q2hpbGQ6IE9UYWJsZUNvbHVtblNlbGVjdEFsbERpcmVjdGl2ZTtcblxuICBhYnN0cmFjdCBnZXRDb2x1bW5GaWx0ZXJzRXhwcmVzc2lvbigpOiBFeHByZXNzaW9uO1xuICBhYnN0cmFjdCBjb2x1bW5zOiBzdHJpbmc7XG4gIGFic3RyYWN0IGdldFBhcmVudEtleXNWYWx1ZXMoKTtcbiAgYWJzdHJhY3QgZmlsdGVyQnVpbGRlcjogT0ZpbHRlckJ1aWxkZXJDb21wb25lbnQ7XG4gIGFic3RyYWN0IHJlYWRPbmx5RnVuY3Rpb246IChjb25maWd1cmF0aW9uOiBhbnkpID0+IGJvb2xlYW47XG4gIGFic3RyYWN0IGlzQ29tcG9uZW50UmVhZE9ubHkoc2VsZWN0b3I6IHN0cmluZywgYXR0cjogc3RyaW5nKTogYm9vbGVhbjtcbiAgYWJzdHJhY3QgZ2V0U25hY2tTZXJ2aWNlKCk6IFNuYWNrQmFyU2VydmljZTtcbiAgYWJzdHJhY3Qgc2V0U2VsZWN0ZWRCeUtleXMoa2V5VmFsdWVzOiBBcnJheTxhbnk+KTogdm9pZDtcbiAgYWJzdHJhY3Qgc2V0U2VsZWN0ZWRCeU11bHRpcGxlS2V5cyhrZXlWYWx1ZXM6IEFycmF5PE9iamVjdD4pOiB2b2lkO1xuICBhYnN0cmFjdCBzZXRTZWxlY3RlZEJ5Um93SWRzKHJvd0lkczogQXJyYXk8bnVtYmVyPik6IHZvaWQ7XG4gIGFic3RyYWN0IGdldEZpbHRlckNvbHVtbkJ5QXR0cihhdHRyOiBzdHJpbmcpOiBPRmlsdGVyQ29sdW1uO1xuICBhYnN0cmFjdCBnZXRWYWx1ZSgpOiBhbnlbXTtcbiAgYWJzdHJhY3Qgc2V0T1RhYmxlQ29sdW1uc0ZpbHRlcih0YWJsZUNvbHVtbnNGaWx0ZXI6IE9UYWJsZUNvbHVtbnNGaWx0ZXJDb21wb25lbnQpO1xuICBhYnN0cmFjdCBnZXRBbGxWYWx1ZXMoKTogYW55W107XG4gIGFic3RyYWN0IGdldERhdGFTZXJ2aWNlKCk6IEJhc2VTZXJ2aWNlPFNlcnZpY2VSZXNwb25zZT47XG59XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1iYXNlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvdGFibGUvby10YWJsZS1iYXNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZCQSxNQUFNLE9BQWdCLFVBQVU7Q0FnSC9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzL2ludGVybmFsL0JlaGF2aW9yU3ViamVjdCc7XG5cbmltcG9ydCB0eXBlIHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9zbmFja2Jhci5zZXJ2aWNlJztcblxuaW1wb3J0IHR5cGUgeyBRdWlja0ZpbHRlckZ1bmN0aW9uIH0gZnJvbSBcIi4uLy4uL3R5cGVzL3F1aWNrLWZpbHRlci1mdW5jdGlvbi50eXBlXCI7XG5pbXBvcnQgdHlwZSB7IE9Db2x1bW4gfSBmcm9tIFwiLi9jb2x1bW4vby1jb2x1bW4uY2xhc3NcIjtcbmltcG9ydCB0eXBlIHsgT1Blcm1pc3Npb25zIH0gZnJvbSBcIi4uLy4uL3R5cGVzL28tcGVybWlzc2lvbnMudHlwZVwiO1xuaW1wb3J0IHR5cGUgeyBPVGFibGVCdXR0b25zIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvby10YWJsZS1idXR0b25zLmludGVyZmFjZVwiO1xuaW1wb3J0IHR5cGUgeyBPVGFibGVRdWlja2ZpbHRlciB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL28tdGFibGUtcXVpY2tmaWx0ZXIuaW50ZXJmYWNlXCI7XG5pbXBvcnQgdHlwZSB7IE9UYWJsZU1lbnUgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9vLXRhYmxlLW1lbnUuaW50ZXJmYWNlXCI7XG5pbXBvcnQgdHlwZSB7IE9Db2x1bW5WYWx1ZUZpbHRlciB9IGZyb20gXCIuLi8uLi90eXBlcy90YWJsZS9vLWNvbHVtbi12YWx1ZS1maWx0ZXIudHlwZVwiO1xuaW1wb3J0IHR5cGUgeyBPQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tIFwiLi4vY29udGV4dG1lbnUvby1jb250ZXh0LW1lbnUuY29tcG9uZW50XCI7XG5pbXBvcnQgdHlwZSB7IEV4cHJlc3Npb24sIE9GaWx0ZXJEZWZpbml0aW9uLCBPR3JvdXBlZENvbHVtblR5cGVzLCBPVGFibGVNZW51UGVybWlzc2lvbnMsIFNRTE9yZGVyIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IE9UYWJsZUNvbXBvbmVudFN0YXRlQ2xhc3MgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc3RhdGUvby10YWJsZS1jb21wb25lbnQtc3RhdGUuY2xhc3NcIjtcbmltcG9ydCB0eXBlIHsgT1RhYmxlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4vZXh0ZW5zaW9ucy9oZWFkZXIvdGFibGUtaGVhZGVyL28tdGFibGUtaGVhZGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBNYXRQYWdpbmF0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yXCI7XG5pbXBvcnQgdHlwZSB7IE9UYWJsZUNvbHVtblNlbGVjdEFsbERpcmVjdGl2ZSB9IGZyb20gXCIuL2V4dGVuc2lvbnMvaGVhZGVyL3RhYmxlLWNvbHVtbi1zZWxlY3QtYWxsL28tdGFibGUtY29sdW1uLXNlbGVjdC1hbGwuZGlyZWN0aXZlXCI7XG5pbXBvcnQgdHlwZSB7IE9GaWx0ZXJCdWlsZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ZpbHRlci1idWlsZGVyL28tZmlsdGVyLWJ1aWxkZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBPVGFibGVDb2x1bW5zRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9leHRlbnNpb25zL2hlYWRlci90YWJsZS1jb2x1bW5zLWZpbHRlci9vLXRhYmxlLWNvbHVtbnMtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPRmlsdGVyQ29sdW1uIH0gZnJvbSAnLi9leHRlbnNpb25zL2hlYWRlci90YWJsZS1jb2x1bW5zLWZpbHRlci9jb2x1bW5zL28tdGFibGUtY29sdW1ucy1maWx0ZXItY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Jhc2Utc2VydmljZS5jbGFzcyc7XG5pbXBvcnQgeyBTZXJ2aWNlUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NlcnZpY2UtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IE9UYWJsZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL28tdGFibGUtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPVGFibGVCYXNlIHtcbiAgYWJzdHJhY3QgZ2V0TWVudVBlcm1pc3Npb25zKCk6IE9UYWJsZU1lbnVQZXJtaXNzaW9ucztcbiAgYWJzdHJhY3Qgcm93SGVpZ2h0T2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBhYnN0cmFjdCBpbml0aWFsaXplQ2hlY2tib3hDb2x1bW4oKTtcbiAgb1RhYmxlQ29sdW1uc0ZpbHRlckNvbXBvbmVudDogT1RhYmxlQ29sdW1uc0ZpbHRlckNvbXBvbmVudDtcbiAgdmlzaWJsZUV4cG9ydERpYWxvZ0J1dHRvbnM6IHN0cmluZztcbiAgc2VydmljZTogc3RyaW5nO1xuICBzZXJ2aWNlVHlwZTogc3RyaW5nO1xuICBleHBvcnRTZXJ2aWNlVHlwZTogc3RyaW5nO1xuICBleHBvcnRPcHRzVGVtcGxhdGU6IGFueTtcbiAgdmlzaWJsZUNvbEFycmF5OiBzdHJpbmdbXTtcbiAgcXVlcnlNZXRob2Q6IHN0cmluZztcbiAgc2hvd05vdGlmaWNhdGlvbk9mUmVhZE9ubHk6IGJvb2xlYW47XG4gIHNob3dMb2FkaW5nOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBhYnN0cmFjdCByZWluaXRpYWxpemVTb3J0Q29sdW1ucyhzb3J0Q29sdW1ucz86IFNRTE9yZGVyW10pO1xuICBhYnN0cmFjdCBzZXRHcm91cENvbHVtbnModmFsdWU6IGFueVtdKTtcbiAgYWJzdHJhY3QgY2xlYXJDb2x1bW5GaWx0ZXJzKHRyaWdnZXJEYXRhc291cmNlVXBkYXRlPzogYm9vbGVhbiwgY29sdW1uc0F0dHI/OiBzdHJpbmdbXSk6IHZvaWRcbiAgYWJzdHJhY3QgcmVmcmVzaENvbHVtbnNXaWR0aEZyb21Mb2NhbFN0b3JhZ2UoKTtcbiAgYWJzdHJhY3Qgcm93SGVpZ2h0OiBzdHJpbmc7XG4gIGFic3RyYWN0IGdyb3VwZWRDb2x1bW5UeXBlczogT0dyb3VwZWRDb2x1bW5UeXBlc1tdO1xuICBhYnN0cmFjdCBzZXRHcm91cGVkQ29sdW1uVHlwZXModmFsdWU6IE9Hcm91cGVkQ29sdW1uVHlwZXNbXSlcbiAgYWJzdHJhY3Qgc3RhdGU6IE9UYWJsZUNvbXBvbmVudFN0YXRlQ2xhc3M7XG4gIGFic3RyYWN0IHN0b3JlRmlsdGVySW5TdGF0ZShhcmc6IE9GaWx0ZXJEZWZpbml0aW9uKTtcbiAgYWJzdHJhY3Qgc2V0RmlsdGVyc0NvbmZpZ3VyYXRpb24oKTtcbiAgYWJzdHJhY3QgcmVsb2FkUGFnaW5hdGVkRGF0YUZyb21TdGFydChjbGVhclNlbGVjdGVkSXRlbXM/OiBib29sZWFuKTtcbiAgYWJzdHJhY3QgY2xlYXJGaWx0ZXJzKCk6IHZvaWQ7XG4gIGFic3RyYWN0IHJlc2V0Q29sdW1uc1dpZHRoKCk7XG4gIGFic3RyYWN0IGNvbXBvbmVudFN0YXRlU2VydmljZTogYW55O1xuICBhYnN0cmFjdCBhcHBseURlZmF1bHRDb25maWd1cmF0aW9uKCk7XG4gIGFic3RyYWN0IGFwcGx5Q29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uTmFtZTogc3RyaW5nKTtcblxuICBhYnN0cmFjdCBnZXRDb2x1bW5zTm90SW5jbHVkZWQoKTogc3RyaW5nW11cbiAgYWJzdHJhY3QgZ2V0Q29tcG9uZW50RmlsdGVyKGV4aXN0aW5nRmlsdGVyPzogYW55KTogYW55O1xuICBhYnN0cmFjdCBlbnRpdHk6IHN0cmluZztcbiAgYWJzdHJhY3QgZ2V0U3FsVHlwZXMoKTtcbiAgYWJzdHJhY3QgZ2V0Q29sdW1uTmFtZXMoY29sdW1uczogc3RyaW5nW10pOiB7IFtjb2x1bW5JZDogc3RyaW5nXTogc3RyaW5nOyB9O1xuICBhYnN0cmFjdCBzaG93Q2FzZVNlbnNpdGl2ZUNoZWNrYm94KCk6IGJvb2xlYW47XG4gIGFic3RyYWN0IHBhZ2VhYmxlOiBib29sZWFuO1xuICBhYnN0cmFjdCBkYXRhU291cmNlOiBPVGFibGVEYXRhU291cmNlIHwgbnVsbDtcbiAgYWJzdHJhY3QgcXVpY2tGaWx0ZXJDYWxsYmFjazogUXVpY2tGaWx0ZXJGdW5jdGlvbjtcbiAgYWJzdHJhY3QgYWJvcnRRdWVyeTogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICBhYnN0cmFjdCBvVGFibGVPcHRpb25zOiBhbnk7XG4gIGFic3RyYWN0IHJlZ2lzdGVyUXVpY2tGaWx0ZXIoYXJnOiBhbnkpOiB2b2lkO1xuICBhYnN0cmFjdCBnZXRPQ29sdW1uRnJvbVRoKHRoOiBhbnkpOiBPQ29sdW1uO1xuICBhYnN0cmFjdCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gIGFic3RyYWN0IGdldENsaWVudFdpZHRoQ29sdW1uKGNvbDogT0NvbHVtbik6IG51bWJlcjtcbiAgYWJzdHJhY3QgaG9yaXpvbnRhbFNjcm9sbDogYm9vbGVhbjtcbiAgYWJzdHJhY3QgZ2V0QWN0aW9uc1Blcm1pc3Npb25zKCk6IE9QZXJtaXNzaW9uc1tdO1xuICBhYnN0cmFjdCBzZWxlY3Rpb246IFNlbGVjdGlvbk1vZGVsPEVsZW1lbnQ+O1xuICBhYnN0cmFjdCByZWdpc3Rlck9UYWJsZUJ1dHRvbnMoYXJnOiBPVGFibGVCdXR0b25zKTtcbiAgYWJzdHJhY3QgYWRkKCk7XG4gIGFic3RyYWN0IHJlbG9hZERhdGEoKTtcbiAgYWJzdHJhY3QgcmVtb3ZlKCk7XG4gIGFic3RyYWN0IG9uVXBkYXRlU2Nyb2xsZWRTdGF0ZTogRXZlbnRFbWl0dGVyPGFueT47XG4gIGFic3RyYWN0IHJvd1dpZHRoO1xuICBhYnN0cmFjdCBvbkNvbnRlbnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+O1xuICBhYnN0cmFjdCBzdGF0aWNEYXRhOiBBcnJheTxhbnk+O1xuICBhYnN0cmFjdCBvVGFibGVRdWlja0ZpbHRlckNvbXBvbmVudDogT1RhYmxlUXVpY2tmaWx0ZXI7XG4gIGFic3RyYWN0IHF1aWNrRmlsdGVyOiBib29sZWFuO1xuICBhYnN0cmFjdCBncm91cGVkQ29sdW1uc0FycmF5OiBzdHJpbmdbXTtcbiAgYWJzdHJhY3QgaXNDb2x1bW5GaWx0ZXJhYmxlKGNvbHVtbjogT0NvbHVtbik6IGJvb2xlYW47XG4gIGFic3RyYWN0IG9wZW5Db2x1bW5GaWx0ZXJEaWFsb2coY29sdW1uOiBPQ29sdW1uLCBldmVudDogRXZlbnQpO1xuICBhYnN0cmFjdCBpc0NvbHVtbkZpbHRlcnNBY3RpdmU6IGJvb2xlYW47XG4gIGFic3RyYWN0IG9UYWJsZU1lbnU6IE9UYWJsZU1lbnU7XG4gIGFic3RyYWN0IGdldE9Db2x1bW4oYXR0cjogc3RyaW5nKTogT0NvbHVtbjtcbiAgYWJzdHJhY3QgZ3JvdXBCeUNvbHVtbihjb2x1bW46IE9Db2x1bW4sIHR5cGU/OiBzdHJpbmcpO1xuICBhYnN0cmFjdCB1bkdyb3VwQnlDb2x1bW4oY29sdW1uOiBPQ29sdW1uKTtcbiAgYWJzdHJhY3QgdW5Hcm91cEJ5QWxsQ29sdW1ucygpO1xuICBhYnN0cmFjdCBmaWx0ZXJCeUNvbHVtbihjb2x1bW5WYWx1ZUZpbHRlcjogT0NvbHVtblZhbHVlRmlsdGVyKTtcbiAgYWJzdHJhY3QgcmVmcmVzaCgpO1xuICBhYnN0cmFjdCBjb3B5U2VsZWN0aW9uKCk7XG4gIGFic3RyYWN0IGNvcHlBbGwoKTtcbiAgYWJzdHJhY3Qgc2hvd0FuZFNlbGVjdEFsbENoZWNrYm94KCk7XG4gIGFic3RyYWN0IGRvSGFuZGxlQ2xpY2socm93OiBhbnksIGNvbHVtbjogc3RyaW5nLCByb3dJbmRleDogbnVtYmVyLCAkZXZlbnQ6IE1vdXNlRXZlbnQpO1xuICBhYnN0cmFjdCB2aWV3RGV0YWlsKGl0ZW06IGFueSk6IHZvaWQ7XG4gIGFic3RyYWN0IGNsZWFyU2VsZWN0aW9uKCk6IHZvaWQ7XG4gIGFic3RyYWN0IGlzU2VsZWN0aW9uTW9kZU11bHRpcGxlKCk6IGJvb2xlYW47XG4gIGFic3RyYWN0IHJlZ2lzdGVyQ29udGV4dE1lbnUodmFsdWU6IE9Db250ZXh0TWVudUNvbXBvbmVudCk6IHZvaWQ7XG4gIGFic3RyYWN0IGdyb3VwYWJsZTogYm9vbGVhbjtcbiAgYWJzdHJhY3Qgc2VsZWN0QWxsQ2hlY2tib3g6IGJvb2xlYW47XG4gIGFic3RyYWN0IGlzU2VsZWN0aW9uTW9kZU5vbmUoKTogYm9vbGVhbjtcbiAgYWJzdHJhY3QgaXNBbGxTZWxlY3RlZCgpOiBib29sZWFuXG5cbiAgYWJzdHJhY3Qgbm9uSGlkYWJsZUNvbHVtbnM6IHN0cmluZztcbiAgYWJzdHJhY3QgdmlzaWJsZUNvbHVtbnM6IHN0cmluZztcbiAgYWJzdHJhY3Qgc29ydENvbEFycmF5OiBTUUxPcmRlcltdO1xuICBhYnN0cmFjdCBjdXJyZW50UGFnZTogbnVtYmVyO1xuICBhYnN0cmFjdCBxdWVyeVJvd3M6IG51bWJlcjtcbiAgYWJzdHJhY3QgcmVzaXphYmxlOiBib29sZWFuXG4gIGFic3RyYWN0IHJlZ2lzdGVyVGFibGVIZWFkZXJzKHRhYmxlSGVhZGVyOiBPVGFibGVIZWFkZXJDb21wb25lbnQpO1xuICBhYnN0cmFjdCBzaG93QnV0dG9uc1RleHQ6IGJvb2xlYW47XG4gIGFic3RyYWN0IG1hdHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xuICBhYnN0cmFjdCBpc0luZGV0ZXJtaW5hdGUoKTogYm9vbGVhbjtcbiAgYWJzdHJhY3Qgb25GaWx0ZXJCeUNvbHVtbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT47XG4gIGFic3RyYWN0IG1hc3RlclRvZ2dsZShldmVudDogTWF0Q2hlY2tib3hDaGFuZ2UpOiB2b2lkO1xuICBhYnN0cmFjdCB0YWJsZUNvbHVtblNlbGVjdEFsbENvbnRlbnRDaGlsZDogT1RhYmxlQ29sdW1uU2VsZWN0QWxsRGlyZWN0aXZlO1xuXG4gIGFic3RyYWN0IGdldENvbHVtbkZpbHRlcnNFeHByZXNzaW9uKCk6IEV4cHJlc3Npb247XG4gIGFic3RyYWN0IGNvbHVtbnM6IHN0cmluZztcbiAgYWJzdHJhY3QgZ2V0UGFyZW50S2V5c1ZhbHVlcygpO1xuICBhYnN0cmFjdCBmaWx0ZXJCdWlsZGVyOiBPRmlsdGVyQnVpbGRlckNvbXBvbmVudDtcbiAgYWJzdHJhY3QgcmVhZE9ubHlGdW5jdGlvbjogKGNvbmZpZ3VyYXRpb246IGFueSkgPT4gYm9vbGVhbjtcbiAgYWJzdHJhY3QgaXNDb21wb25lbnRSZWFkT25seShzZWxlY3Rvcjogc3RyaW5nLCBhdHRyOiBzdHJpbmcpOiBib29sZWFuO1xuICBhYnN0cmFjdCBnZXRTbmFja1NlcnZpY2UoKTogU25hY2tCYXJTZXJ2aWNlO1xuICBhYnN0cmFjdCBzZXRTZWxlY3RlZEJ5S2V5cyhrZXlWYWx1ZXM6IEFycmF5PGFueT4pOiB2b2lkO1xuICBhYnN0cmFjdCBzZXRTZWxlY3RlZEJ5TXVsdGlwbGVLZXlzKGtleVZhbHVlczogQXJyYXk8T2JqZWN0Pik6IHZvaWQ7XG4gIGFic3RyYWN0IHNldFNlbGVjdGVkQnlSb3dJZHMocm93SWRzOiBBcnJheTxudW1iZXI+KTogdm9pZDtcbiAgYWJzdHJhY3QgZ2V0RmlsdGVyQ29sdW1uQnlBdHRyKGF0dHI6IHN0cmluZyk6IE9GaWx0ZXJDb2x1bW47XG4gIGFic3RyYWN0IGdldFZhbHVlKCk6IGFueVtdO1xuICBhYnN0cmFjdCBzZXRPVGFibGVDb2x1bW5zRmlsdGVyKHRhYmxlQ29sdW1uc0ZpbHRlcjogT1RhYmxlQ29sdW1uc0ZpbHRlckNvbXBvbmVudCk7XG4gIGFic3RyYWN0IGdldEFsbFZhbHVlcygpOiBhbnlbXTtcbiAgYWJzdHJhY3QgZ2V0RGF0YVNlcnZpY2UoKTogQmFzZVNlcnZpY2U8U2VydmljZVJlc3BvbnNlPjtcbn1cbiJdfQ==
@@ -0,0 +1,113 @@
1
+ import { Inject, Injectable, Optional } from "@angular/core";
2
+ import { BehaviorSubject, timer, tap, shareReplay, distinctUntilChanged, filter, map, merge, Subject, takeUntil } from "rxjs";
3
+ import { O_TABLE_GLOBAL_CONFIG } from "./utils/o-table.tokens";
4
+ import * as i0 from "@angular/core";
5
+ export class OTableLoadingService {
6
+ constructor(config) {
7
+ this.config = config;
8
+ this.loading$ = new BehaviorSubject(true);
9
+ this.THRESHOLD = 300;
10
+ this.MIN_VISIBLE = 300;
11
+ this.visibleSince = null;
12
+ this.showSkeleton$ = new BehaviorSubject(false);
13
+ this.processingBlocked$ = new BehaviorSubject(false);
14
+ this.destroy$ = new Subject();
15
+ this.isInitialLoad$ = new BehaviorSubject(true);
16
+ this.isLoading$ = this.loading$.pipe(distinctUntilChanged(), map(loading => ({ loading, shouldShow: loading })), shareReplay(1));
17
+ this.handleProcessingBlock$ = this.isLoading$.pipe(tap(state => {
18
+ const shouldBlock = state.shouldShow;
19
+ if (this.processingBlocked$.value !== shouldBlock) {
20
+ this.processingBlocked$.next(shouldBlock);
21
+ }
22
+ }));
23
+ this.isProcessing$ = this.processingBlocked$.pipe(distinctUntilChanged(), shareReplay(1));
24
+ this.handleShow$ = this.isLoading$.pipe(filter(state => state.shouldShow), tap(() => {
25
+ const threshold = this.isInitialLoad$.value ? 0 : this.THRESHOLD;
26
+ timer(threshold).subscribe(() => {
27
+ if (this.loading$.value) {
28
+ this.visibleSince = performance.now();
29
+ this.showSkeleton$.next(true);
30
+ }
31
+ });
32
+ }));
33
+ this.handleHide$ = this.isLoading$.pipe(filter(state => !state.shouldShow), tap(() => {
34
+ const now = performance.now();
35
+ if (this.isInitialLoad$.value) {
36
+ this.isInitialLoad$.next(false);
37
+ }
38
+ if (this.visibleSince !== null) {
39
+ const elapsed = now - this.visibleSince;
40
+ if (elapsed < this.MIN_VISIBLE) {
41
+ const remaining = this.MIN_VISIBLE - elapsed;
42
+ timer(remaining).subscribe(() => {
43
+ this.visibleSince = null;
44
+ this.showSkeleton$.next(false);
45
+ });
46
+ }
47
+ else {
48
+ this.visibleSince = null;
49
+ this.showSkeleton$.next(false);
50
+ }
51
+ }
52
+ }));
53
+ this.showLoading$ = merge(this.handleShow$, this.handleHide$).pipe(map(() => this.showSkeleton$.value), distinctUntilChanged(), shareReplay(1));
54
+ this.THRESHOLD = config?.loading?.threshold ?? this.THRESHOLD;
55
+ this.MIN_VISIBLE = config?.loading?.minVisible ?? this.MIN_VISIBLE;
56
+ this.handleProcessingBlock$
57
+ .pipe(takeUntil(this.destroy$))
58
+ .subscribe();
59
+ this.handleShow$
60
+ .pipe(takeUntil(this.destroy$))
61
+ .subscribe();
62
+ this.handleHide$
63
+ .pipe(takeUntil(this.destroy$))
64
+ .subscribe();
65
+ this.showLoading$ = this.showSkeleton$.pipe(takeUntil(this.destroy$), distinctUntilChanged(), shareReplay(1));
66
+ }
67
+ setLoading(value) {
68
+ if (value && this.isBlocked()) {
69
+ return;
70
+ }
71
+ if (this.loading$.value !== value) {
72
+ this.loading$.next(value);
73
+ }
74
+ }
75
+ isBlocked() {
76
+ return this.processingBlocked$.value;
77
+ }
78
+ setProcessingBlock(value) {
79
+ if (this.processingBlocked$.value !== value) {
80
+ this.processingBlocked$.next(value);
81
+ }
82
+ }
83
+ handleProtected(event) {
84
+ if (this.isBlocked()) {
85
+ if (event) {
86
+ event.preventDefault();
87
+ event.stopPropagation();
88
+ }
89
+ return false;
90
+ }
91
+ this.setLoading(true);
92
+ return true;
93
+ }
94
+ ngOnDestroy() {
95
+ this.destroy$.next();
96
+ this.destroy$.complete();
97
+ this.loading$.complete();
98
+ this.showSkeleton$.complete();
99
+ this.processingBlocked$.complete();
100
+ this.isInitialLoad$.complete();
101
+ }
102
+ }
103
+ OTableLoadingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableLoadingService, deps: [{ token: O_TABLE_GLOBAL_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
104
+ OTableLoadingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableLoadingService });
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTableLoadingService, decorators: [{
106
+ type: Injectable
107
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
108
+ type: Optional
109
+ }, {
110
+ type: Inject,
111
+ args: [O_TABLE_GLOBAL_CONFIG]
112
+ }] }]; } });
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10YWJsZS1sb2FkaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9vLXRhYmxlLWxvYWRpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUkvRCxNQUFNLE9BQU8sb0JBQW9CO0lBNEMvQixZQUM4RCxNQUEwQjtRQUExQixXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQXRDdkUsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBTXJDLGNBQVMsR0FBVyxHQUFHLENBQUM7UUFNeEIsZ0JBQVcsR0FBVyxHQUFHLENBQUM7UUFNbkMsaUJBQVksR0FBa0IsSUFBSSxDQUFDO1FBSzFCLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFLcEQsdUJBQWtCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFLekQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFL0IsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQWdDcEQsZUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUM5QyxvQkFBb0IsRUFBRSxFQUN0QixHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUs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QUFDO0lBT0Qsa0JBQWtCLENBQUMsS0FBYztRQUMvQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQzNDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBZUQsZUFBZSxDQUFDLEtBQWtCO1FBQ2hDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3BCLElBQUksS0FBSyxFQUFFO2dCQUNULEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO2FBQ3pCO1lBQ0QsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBVUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUV6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQzs7a0hBcFBVLG9CQUFvQixrQkE2Q1QscUJBQXFCO3NIQTdDaEMsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVU7OzBCQThDTixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIHRpbWVyLCB0YXAsIHNoYXJlUmVwbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIG1lcmdlLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xuXG5pbXBvcnQgeyBPX1RBQkxFX0dMT0JBTF9DT05GSUcgfSBmcm9tIFwiLi91dGlscy9vLXRhYmxlLnRva2Vuc1wiO1xuaW1wb3J0IHsgT1RhYmxlR2xvYmFsQ29uZmlnIH0gZnJvbSBcIi4uLy4uL3R5cGVzL3RhYmxlL28tdGFibGUtZ2xvYmFsLWNvbmZpZy50eXBlXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPVGFibGVMb2FkaW5nU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSAge1xuXG4gIC8qKlxuICAgICAqIFRyYWNrcyB0aGUgcmF3IGxvYWRpbmcgc3RhdGUuXG4gICAgICogLSBgdHJ1ZWA6IGFuIGFzeW5jIG9wZXJhdGlvbiBpcyBpbiBwcm9ncmVzcy5cbiAgICAgKiAtIGBmYWxzZWA6IG5vIGxvYWRpbmcgaXMgb2NjdXJyaW5nLlxuICAgICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcblxuICAvKipcbiAgICogTWluaW11bSBkZWxheSAobXMpIHJlcXVpcmVkIGJlZm9yZSB0aGUgc2tlbGV0b24gY2FuIGJlIGRpc3BsYXllZC5cbiAgICogUHJldmVudHMgZmxpY2tlcmluZyB3aGVuIG9wZXJhdGlvbnMgcmVzb2x2ZSBxdWlja2x5LlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBUSFJFU0hPTEQ6IG51bWJlciA9IDMwMDtcblxuICAvKipcbiAgICogTWluaW11bSBhbW91bnQgb2YgdGltZSAobXMpIHRoZSBza2VsZXRvbiBtdXN0IHJlbWFpbiB2aXNpYmxlIG9uY2Ugc2hvd24uXG4gICAqIEVuc3VyZXMgY29uc2lzdGVudCBVWCB3aGVuIG9wZXJhdGlvbnMgZmluaXNoIHF1aWNrbHkuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IE1JTl9WSVNJQkxFOiBudW1iZXIgPSAzMDA7XG5cbiAgLyoqXG4gICAqIFRpbWVzdGFtcCBpbmRpY2F0aW5nIHdoZW4gdGhlIHNrZWxldG9uIHdhcyBtYWRlIHZpc2libGUuXG4gICAqIFVzZWQgdG8gZW5mb3JjZSB0aGUgbWluaW11bSB2aXNpYmxlIGR1cmF0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSB2aXNpYmxlU2luY2U6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUcmFja3MgdGhlIGFjdHVhbCBza2VsZXRvbiB2aXNpYmlsaXR5IHN0YXRlLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBzaG93U2tlbGV0b24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIFVJIGludGVyYWN0aW9uIGlzIGJsb2NrZWQgZHVyaW5nIHByb2Nlc3NpbmcuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHByb2Nlc3NpbmdCbG9ja2VkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSBzZXJ2aWNlIGlzIGRlc3Ryb3llZCwgdXNlZCB0byBjbGVhbiB1cCBzdWJzY3JpcHRpb25zLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpc0luaXRpYWxMb2FkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChPX1RBQkxFX0dMT0JBTF9DT05GSUcpIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBPVGFibGVHbG9iYWxDb25maWdcbiAgKSB7XG5cbiAgICAvLyBMb2FkIGNvbmZpZ3VyYWJsZSBkZWZhdWx0cyBpZiBwcm92aWRlZFxuICAgIHRoaXMuVEhSRVNIT0xEID0gY29uZmlnPy5sb2FkaW5nPy50aHJlc2hvbGQgPz8gdGhpcy5USFJFU0hPTEQ7XG4gICAgdGhpcy5NSU5fVklTSUJMRSA9IGNvbmZpZz8ubG9hZGluZz8ubWluVmlzaWJsZSA/PyB0aGlzLk1JTl9WSVNJQkxFO1xuXG4gICAgdGhpcy5oYW5kbGVQcm9jZXNzaW5nQmxvY2skXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLmhhbmRsZVNob3ckXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLmhhbmRsZUhpZGUkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICAvKipcbiAgICAqIFB1YmxpYyBvYnNlcnZhYmxlIGV4cG9zaW5nIHdoZXRoZXIgdGhlIHNrZWxldG9uIHNob3VsZCBiZSB2aXNpYmxlLlxuICAgICovXG4gICAgdGhpcy5zaG93TG9hZGluZyQgPSB0aGlzLnNob3dTa2VsZXRvbiQucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGlzTG9hZGluZyQgPSB0aGlzLmxvYWRpbmckLnBpcGUoXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBtYXAobG9hZGluZyA9PiAoeyBsb2FkaW5nLCBzaG91bGRTaG93OiBsb2FkaW5nIH0pKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG5cbiAgLyoqXG4gICogSW50ZXJuYWwgc3RyZWFtIHRoYXQgaGFuZGxlcyBpbW1lZGlhdGUgVUkgYmxvY2tpbmcgd2hlbmV2ZXIgbG9hZGluZyBzdGFydHMuXG4gICovXG4gIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlUHJvY2Vzc2luZ0Jsb2NrJCA9IHRoaXMuaXNMb2FkaW5nJC5waXBlKFxuICAgIHRhcChzdGF0ZSA9PiB7XG4gICAgICBjb25zdCBzaG91bGRCbG9jayA9IHN0YXRlLnNob3VsZFNob3c7XG5cbiAgICAgIGlmICh0aGlzLnByb2Nlc3NpbmdCbG9ja2VkJC52YWx1ZSAhPT0gc2hvdWxkQmxvY2spIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzaW5nQmxvY2tlZCQubmV4dChzaG91bGRCbG9jayk7XG4gICAgICB9XG4gICAgfSlcbiAgKTtcblxuICAvKipcbiAqIFB1YmxpYyBvYnNlcnZhYmxlIGluZGljYXRpbmcgd2hldGhlciB0aGUgVUkgaXMgY3VycmVudGx5IGJsb2NrZWQuXG4gKiBQcmV2ZW50cyB1c2VycyBmcm9tIGludGVyYWN0aW5nIGR1cmluZyBwcm90ZWN0ZWQgb3BlcmF0aW9ucy5cbiAqL1xuICByZWFkb25seSBpc1Byb2Nlc3NpbmckID0gdGhpcy5wcm9jZXNzaW5nQmxvY2tlZCQucGlwZShcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLyoqXG4gICAgICogSW50ZXJuYWwgc3RyZWFtIHRoYXQgbWFuYWdlcyBkaXNwbGF5aW5nIHRoZSBza2VsZXRvbiB1c2luZ1xuICAgICAqIGEgbm9uLWNhbmNlbGFibGUgdGhyZXNob2xkIHRpbWVyLlxuICAgICAqXG4gICAgICogSWYgbG9hZGluZyBpcyBzdGlsbCBhY3RpdmUgb25jZSB0aGUgdGhyZXNob2xkIGV4cGlyZXMsXG4gICAgICogdGhlIHNrZWxldG9uIGJlY29tZXMgdmlzaWJsZS5cbiAgICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBoYW5kbGVTaG93JCA9IHRoaXMuaXNMb2FkaW5nJC5waXBlKFxuICAgIGZpbHRlcihzdGF0ZSA9PiBzdGF0ZS5zaG91bGRTaG93KSxcbiAgICB0YXAoKCkgPT4ge1xuICAgICAgY29uc3QgdGhyZXNob2xkID0gdGhpcy5pc0luaXRpYWxMb2FkJC52YWx1ZSA/IDAgOiB0aGlzLlRIUkVTSE9MRDtcblxuICAgICAgdGltZXIodGhyZXNob2xkKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5sb2FkaW5nJC52YWx1ZSkge1xuICAgICAgICAgIHRoaXMudmlzaWJsZVNpbmNlID0gcGVyZm9ybWFuY2Uubm93KCk7XG4gICAgICAgICAgdGhpcy5zaG93U2tlbGV0b24kLm5leHQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pXG4gICk7XG4gIC8qKlxuICAgICAqIEludGVybmFsIHN0cmVhbSB0aGF0IG1hbmFnZXMgaGlkaW5nIHRoZSBza2VsZXRvbiB3aGlsZSBlbmZvcmNpbmdcbiAgICAgKiB0aGUgbWluaW11bSB2aXNpYmxlIGR1cmF0aW9uLlxuICAgICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGhhbmRsZUhpZGUkID0gdGhpcy5pc0xvYWRpbmckLnBpcGUoXG4gICAgZmlsdGVyKHN0YXRlID0+ICFzdGF0ZS5zaG91bGRTaG93KSxcbiAgICB0YXAoKCkgPT4ge1xuICAgICAgY29uc3Qgbm93ID0gcGVyZm9ybWFuY2Uubm93KCk7XG5cbiAgICAgIGlmICh0aGlzLmlzSW5pdGlhbExvYWQkLnZhbHVlKSB7XG4gICAgICAgIHRoaXMuaXNJbml0aWFsTG9hZCQubmV4dChmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9ubHkgZW5mb3JjZSBkZWxheSBpZiB0aGUgc2tlbGV0b24gd2FzIGFjdHVhbGx5IHNob3duXG4gICAgICBpZiAodGhpcy52aXNpYmxlU2luY2UgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgZWxhcHNlZCA9IG5vdyAtIHRoaXMudmlzaWJsZVNpbmNlO1xuICAgICAgICBpZiAoZWxhcHNlZCA8IHRoaXMuTUlOX1ZJU0lCTEUpIHtcbiAgICAgICAgICBjb25zdCByZW1haW5pbmcgPSB0aGlzLk1JTl9WSVNJQkxFIC0gZWxhcHNlZDtcbiAgICAgICAgICB0aW1lcihyZW1haW5pbmcpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnZpc2libGVTaW5jZSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnNob3dTa2VsZXRvbiQubmV4dChmYWxzZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy52aXNpYmxlU2luY2UgPSBudWxsO1xuICAgICAgICAgIHRoaXMuc2hvd1NrZWxldG9uJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gICk7XG4gIC8qKlxuICAgICogQ29tYmluZWQgb2JzZXJ2YWJsZSBmb3IgYWN0aXZhdGluZyByZWFjdGl2ZSBmbG93cy5cbiAgICAqIFRoZSAqYWN0dWFsKiBza2VsZXRvbiBzdGF0ZSBpcyBjb250cm9sbGVkIGJ5IGBzaG93U2tlbGV0b24kYC5cbiAgICAqL1xuICByZWFkb25seSBzaG93TG9hZGluZyQgPSBtZXJnZShcbiAgICB0aGlzLmhhbmRsZVNob3ckLFxuICAgIHRoaXMuaGFuZGxlSGlkZSRcbiAgKS5waXBlKFxuICAgIG1hcCgoKSA9PiB0aGlzLnNob3dTa2VsZXRvbiQudmFsdWUpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gUFVCTElDIEFQSSBNRVRIT0RTXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBpbnRlcm5hbCBsb2FkaW5nIHN0YXRlLlxuICAgKiBQcmV2ZW50cyBlbmFibGluZyBsb2FkaW5nIHdoaWxlIGEgcHJvY2Vzc2luZyBibG9jayBpcyBhY3RpdmUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBXaGV0aGVyIGxvYWRpbmcgaXMgYWN0aXZlLlxuICAgKi9cbiAgc2V0TG9hZGluZyh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh2YWx1ZSAmJiB0aGlzLmlzQmxvY2tlZCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmxvYWRpbmckLnZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBVSSBpcyBjdXJyZW50bHkgYmxvY2tlZC5cbiAgICovXG4gIGlzQmxvY2tlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wcm9jZXNzaW5nQmxvY2tlZCQudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogTWFudWFsbHkgdG9nZ2xlcyB0aGUgVUkgcHJvY2Vzc2luZy1ibG9jayBzdGF0ZS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIFdoZXRoZXIgdGhlIFVJIHNob3VsZCBiZSBibG9ja2VkLlxuICAgKi9cbiAgc2V0UHJvY2Vzc2luZ0Jsb2NrKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvY2Vzc2luZ0Jsb2NrZWQkLnZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5wcm9jZXNzaW5nQmxvY2tlZCQubmV4dCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gQ0xJQ0sgUFJPVEVDVElPTlxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvKipcbiAgICogUHJvdGVjdHMgdXNlciBpbnRlcmFjdGlvbnMgKGNsaWNrcykgZnJvbSBmaXJpbmcgd2hpbGUgYSBwcm90ZWN0ZWRcbiAgICogb3BlcmF0aW9uIGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MuXG4gICAqXG4gICAqIEBwYXJhbSBldmVudCBPcHRpb25hbCBtb3VzZSBldmVudCB0byBzdG9wIHByb3BhZ2F0aW9uLlxuICAgKiBAcGFyYW0gb3BlcmF0aW9uIE9wdGlvbmFsIG5hbWUgb2YgdGhlIG9wZXJhdGlvbiBmb3IgZGVidWdnaW5nL2xvZ3MuXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgY2xpY2sgc2hvdWxkIGJlIHByb2Nlc3NlZCwgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAqL1xuICBoYW5kbGVQcm90ZWN0ZWQoZXZlbnQ/OiBNb3VzZUV2ZW50KTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuaXNCbG9ja2VkKCkpIHtcbiAgICAgIGlmIChldmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLnNldExvYWRpbmcodHJ1ZSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBMSUZFQ1lDTEVcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLyoqXG4gICAqIENsZWFucyB1cCBhbGwgaW50ZXJuYWwgc3Vic2NyaXB0aW9ucyBhbmQgY29tcGxldGVzIHN0cmVhbXMuXG4gICAqL1xuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLmxvYWRpbmckLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5zaG93U2tlbGV0b24kLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5wcm9jZXNzaW5nQmxvY2tlZCQuY29tcGxldGUoKTtcbiAgICB0aGlzLmlzSW5pdGlhbExvYWQkLmNvbXBsZXRlKCk7XG4gIH1cblxufSJdfQ==