@elderbyte/ngx-starter 14.12.0-beta4 → 15.0.0-mdc

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 (467) hide show
  1. package/_index.scss +4 -3
  2. package/esm2020/lib/common/enums/elder-enum-translation.service.mjs +4 -4
  3. package/esm2020/lib/common/forms/elder-form-field-control-base.directive.mjs +4 -4
  4. package/esm2020/lib/common/forms/elder-from-field-base.mjs +4 -4
  5. package/esm2020/lib/common/forms/elder-from-field-customizable-base.mjs +52 -0
  6. package/esm2020/lib/common/forms/elder-from-field-entity-base.mjs +4 -4
  7. package/esm2020/lib/common/forms/elder-from-field-multi-entity-base.mjs +4 -4
  8. package/esm2020/lib/common/forms/form-field-base.component.mjs +10 -4
  9. package/esm2020/lib/common/forms/multi-model-base.component.mjs +4 -4
  10. package/esm2020/lib/common/forms/template-composite-control.mjs +4 -4
  11. package/esm2020/lib/common/forms/value-accessor-base.mjs +4 -4
  12. package/esm2020/lib/common/http/http-client-builder.service.mjs +4 -4
  13. package/esm2020/lib/common/http/http-client-pristine.mjs +4 -4
  14. package/esm2020/lib/common/http/transfer/data-transfer-factory.mjs +4 -4
  15. package/esm2020/lib/common/url/elder-router.service.mjs +4 -4
  16. package/esm2020/lib/common/url/elder-url-fragment-params.service.mjs +4 -4
  17. package/esm2020/lib/components/access-denied/elder-access-denied.component.mjs +5 -5
  18. package/esm2020/lib/components/access-denied/elder-access-denied.module.mjs +5 -5
  19. package/esm2020/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +6 -6
  20. package/esm2020/lib/components/auditing/elder-audit.module.mjs +5 -5
  21. package/esm2020/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +4 -4
  22. package/esm2020/lib/components/button-group/elder-button-group.module.mjs +5 -5
  23. package/esm2020/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +4 -4
  24. package/esm2020/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +5 -5
  25. package/esm2020/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +5 -5
  26. package/esm2020/lib/components/card-organizer/elder-card-organizer.module.mjs +5 -5
  27. package/esm2020/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +4 -4
  28. package/esm2020/lib/components/cards/elder-card/elder-card.component.mjs +40 -51
  29. package/esm2020/lib/components/cards/elder-card/elder-card.module.mjs +9 -8
  30. package/esm2020/lib/components/connectivity/elder-connectivity.module.mjs +5 -5
  31. package/esm2020/lib/components/connectivity/elder-connectivity.service.mjs +4 -4
  32. package/esm2020/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +4 -4
  33. package/esm2020/lib/components/containers/elder-containers.module.mjs +5 -5
  34. package/esm2020/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +4 -4
  35. package/esm2020/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +4 -4
  36. package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +4 -4
  37. package/esm2020/lib/components/csv/elder-csv.module.mjs +5 -5
  38. package/esm2020/lib/components/currency/elder-currency.module.mjs +5 -5
  39. package/esm2020/lib/components/currency/elder-currency.pipe.mjs +4 -4
  40. package/esm2020/lib/components/data-transfer/elder-data-transfer.module.mjs +5 -5
  41. package/esm2020/lib/components/data-transfer/elder-data-transfer.service.mjs +4 -4
  42. package/esm2020/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +5 -5
  43. package/esm2020/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +4 -4
  44. package/esm2020/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +4 -4
  45. package/esm2020/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +5 -5
  46. package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +17 -10
  47. package/esm2020/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +5 -5
  48. package/esm2020/lib/components/data-view/common/elder-data-common.module.mjs +5 -5
  49. package/esm2020/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +8 -8
  50. package/esm2020/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +5 -5
  51. package/esm2020/lib/components/data-view/common/selection/data-context-selection.directive.mjs +4 -4
  52. package/esm2020/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +5 -5
  53. package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +13 -12
  54. package/esm2020/lib/components/data-view/grid/elder-grid.module.mjs +9 -8
  55. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +4 -4
  56. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +5 -5
  57. package/esm2020/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +4 -4
  58. package/esm2020/lib/components/data-view/table/elder-number-cell.directive.mjs +4 -4
  59. package/esm2020/lib/components/data-view/table/elder-paginator-intl.mjs +4 -4
  60. package/esm2020/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +4 -4
  61. package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +9 -8
  62. package/esm2020/lib/components/data-view/table/elder-table-column.directive.mjs +4 -4
  63. package/esm2020/lib/components/data-view/table/elder-table-extension.directive.mjs +4 -4
  64. package/esm2020/lib/components/data-view/table/elder-table-root.directive.mjs +4 -4
  65. package/esm2020/lib/components/data-view/table/elder-table-row.directive.mjs +4 -4
  66. package/esm2020/lib/components/data-view/table/elder-table-sort.directive.mjs +4 -4
  67. package/esm2020/lib/components/data-view/table/elder-table.module.mjs +9 -8
  68. package/esm2020/lib/components/data-view/table/model/elder-table-model.mjs +4 -4
  69. package/esm2020/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +5 -5
  70. package/esm2020/lib/components/dialogs/elder-dialog.module.mjs +6 -26
  71. package/esm2020/lib/components/dialogs/elder-dialog.service.mjs +5 -5
  72. package/esm2020/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +7 -7
  73. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +4 -4
  74. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +4 -4
  75. package/esm2020/lib/components/errors/elder-error.module.mjs +5 -5
  76. package/esm2020/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +6 -6
  77. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +5 -5
  78. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +5 -5
  79. package/esm2020/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +4 -4
  80. package/esm2020/lib/components/files/elder-file-drop-zone.directive.mjs +4 -4
  81. package/esm2020/lib/components/files/elder-file-select.directive.mjs +4 -4
  82. package/esm2020/lib/components/files/elder-file.module.mjs +5 -5
  83. package/esm2020/lib/components/files/file-select/file-select.component.mjs +5 -5
  84. package/esm2020/lib/components/files/file-upload/file-upload.component.mjs +11 -12
  85. package/esm2020/lib/components/forms/clipboard/elder-clipboard.service.mjs +4 -4
  86. package/esm2020/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +4 -4
  87. package/esm2020/lib/components/forms/directives/elder-clipboard-put.directive.mjs +4 -4
  88. package/esm2020/lib/components/forms/directives/elder-delayed-focus.directive.mjs +4 -4
  89. package/esm2020/lib/components/forms/directives/elder-form-field-dense.directive.mjs +17 -6
  90. package/esm2020/lib/components/forms/directives/elder-form-field-label.directive.mjs +5 -4
  91. package/esm2020/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +11 -6
  92. package/esm2020/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +4 -4
  93. package/esm2020/lib/components/forms/directives/elder-forms-directives.module.mjs +44 -71
  94. package/esm2020/lib/components/forms/directives/elder-input-pattern.directive.mjs +4 -4
  95. package/esm2020/lib/components/forms/directives/elder-key-event.directive.mjs +4 -4
  96. package/esm2020/lib/components/forms/directives/elder-next-focusable.directive.mjs +4 -4
  97. package/esm2020/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +4 -4
  98. package/esm2020/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +4 -4
  99. package/esm2020/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +4 -4
  100. package/esm2020/lib/components/forms/directives/elder-touched.directive.mjs +4 -4
  101. package/esm2020/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +4 -4
  102. package/esm2020/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +85 -0
  103. package/esm2020/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +47 -0
  104. package/esm2020/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +48 -0
  105. package/esm2020/lib/components/forms/directives/validation/strategies/fallback-validation-message-strategy.mjs +6 -0
  106. package/esm2020/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +55 -0
  107. package/esm2020/lib/components/forms/directives/validation/validation-message-strategy.mjs +2 -0
  108. package/esm2020/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +40 -0
  109. package/esm2020/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +40 -0
  110. package/esm2020/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +96 -0
  111. package/esm2020/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +68 -0
  112. package/esm2020/lib/components/forms/elder-forms.module.mjs +5 -5
  113. package/esm2020/lib/components/forms/search/elder-search-context.directive.mjs +4 -4
  114. package/esm2020/lib/components/forms/search/elder-search-input.directive.mjs +4 -4
  115. package/esm2020/lib/components/forms/search/elder-search.module.mjs +5 -5
  116. package/esm2020/lib/components/forms/search/search-box/elder-search-box.component.mjs +9 -7
  117. package/esm2020/lib/components/forms/search/search-box/elder-search-panel.component.mjs +4 -4
  118. package/esm2020/lib/components/global-search/elder-global-search.component.mjs +7 -7
  119. package/esm2020/lib/components/global-search/elder-global-search.module.mjs +5 -5
  120. package/esm2020/lib/components/global-search/elder-global-search.service.mjs +4 -4
  121. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +7 -7
  122. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +5 -5
  123. package/esm2020/lib/components/headers/elder-header/elder-header.component.mjs +4 -4
  124. package/esm2020/lib/components/headers/elder-header.module.mjs +5 -5
  125. package/esm2020/lib/components/http-support/elder-http-client.service.mjs +4 -4
  126. package/esm2020/lib/components/i18n/entities/elder-i18n-entities.module.mjs +5 -5
  127. package/esm2020/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +6 -6
  128. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +4 -4
  129. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +4 -4
  130. package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +9 -8
  131. package/esm2020/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +4 -4
  132. package/esm2020/lib/components/i18n/entities/elder-localized-texts.directive.mjs +4 -4
  133. package/esm2020/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +4 -4
  134. package/esm2020/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +4 -4
  135. package/esm2020/lib/components/i18n/entities/picker/localisation-picker.service.mjs +4 -4
  136. package/esm2020/lib/components/i18n/language/elder-language-interceptor.mjs +4 -4
  137. package/esm2020/lib/components/i18n/language/elder-language.module.mjs +5 -5
  138. package/esm2020/lib/components/i18n/language/elder-language.service.mjs +4 -4
  139. package/esm2020/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +6 -6
  140. package/esm2020/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +5 -5
  141. package/esm2020/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +4 -4
  142. package/esm2020/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +4 -4
  143. package/esm2020/lib/components/iframes/elder-iframe.module.mjs +16 -8
  144. package/esm2020/lib/components/iframes/iframe-close.directive.mjs +4 -4
  145. package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +4 -4
  146. package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +8 -6
  147. package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +4 -4
  148. package/esm2020/lib/components/iframes/iframe.service.mjs +4 -4
  149. package/esm2020/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +4 -4
  150. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +4 -4
  151. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +8 -8
  152. package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +4 -4
  153. package/esm2020/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +4 -4
  154. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +4 -4
  155. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +5 -5
  156. package/esm2020/lib/components/labels/elder-labels.module.mjs +5 -5
  157. package/esm2020/lib/components/labels/labels-input/labels-input.component.mjs +8 -9
  158. package/esm2020/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +273 -0
  159. package/esm2020/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +91 -0
  160. package/esm2020/lib/components/measures/directives/elder-unit-select.directive.mjs +4 -4
  161. package/esm2020/lib/components/measures/elder-measures.module.mjs +44 -20
  162. package/esm2020/lib/components/measures/elder-quantity-transform.pipe.mjs +4 -4
  163. package/esm2020/lib/components/measures/elder-quantity.pipe.mjs +4 -4
  164. package/esm2020/lib/components/measures/elder-unit.service.mjs +4 -4
  165. package/esm2020/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +33 -0
  166. package/esm2020/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +176 -0
  167. package/esm2020/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +87 -0
  168. package/esm2020/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +76 -0
  169. package/esm2020/lib/components/measures/util/elder-quantity.service.mjs +4 -4
  170. package/esm2020/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +4 -4
  171. package/esm2020/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +5 -5
  172. package/esm2020/lib/components/navigation/nav/elder-nav.module.mjs +10 -8
  173. package/esm2020/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +52 -18
  174. package/esm2020/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +115 -32
  175. package/esm2020/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +64 -8
  176. package/esm2020/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +5 -5
  177. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.module.mjs +5 -5
  178. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.service.mjs +4 -4
  179. package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +5 -5
  180. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +5 -5
  181. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +4 -4
  182. package/esm2020/lib/components/overlays/elder-overlay-origin.directive.mjs +4 -4
  183. package/esm2020/lib/components/overlays/elder-overlay-trigger.directive.mjs +4 -4
  184. package/esm2020/lib/components/overlays/elder-overlay.component.mjs +4 -4
  185. package/esm2020/lib/components/overlays/elder-overlay.module.mjs +5 -5
  186. package/esm2020/lib/components/panels/card-panel/elder-card-panel.component.mjs +4 -4
  187. package/esm2020/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +4 -4
  188. package/esm2020/lib/components/panels/elder-panel.module.mjs +5 -5
  189. package/esm2020/lib/components/panels/flat/elder-panel.component.mjs +4 -4
  190. package/esm2020/lib/components/public_api.mjs +1 -2
  191. package/esm2020/lib/components/select/auto/elder-auto-select-first.directive.mjs +4 -4
  192. package/esm2020/lib/components/select/elder-select-base.mjs +4 -4
  193. package/esm2020/lib/components/select/elder-select-chip.directive.mjs +10 -10
  194. package/esm2020/lib/components/select/elder-select-on-tab.directive.mjs +4 -4
  195. package/esm2020/lib/components/select/elder-select-value.directive.mjs +4 -4
  196. package/esm2020/lib/components/select/elder-select.module.mjs +5 -5
  197. package/esm2020/lib/components/select/multi/elder-multi-select-base.mjs +4 -4
  198. package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +44 -21
  199. package/esm2020/lib/components/select/multi/elder-multi-select-form-field.mjs +37 -13
  200. package/esm2020/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +4 -4
  201. package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +4 -4
  202. package/esm2020/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +4 -4
  203. package/esm2020/lib/components/select/single/elder-clear-select.directive.mjs +4 -4
  204. package/esm2020/lib/components/select/single/elder-select/elder-select.component.mjs +9 -8
  205. package/esm2020/lib/components/select/single/elder-select-form-field.mjs +4 -4
  206. package/esm2020/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +10 -13
  207. package/esm2020/lib/components/select-chip-list/elder-chip-list-select.module.mjs +5 -5
  208. package/esm2020/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +4 -4
  209. package/esm2020/lib/components/shell/drawers/elder-router-outlet.service.mjs +4 -4
  210. package/esm2020/lib/components/shell/elder-shell-slot.directive.mjs +4 -4
  211. package/esm2020/lib/components/shell/elder-shell.module.mjs +5 -5
  212. package/esm2020/lib/components/shell/elder-shell.service.mjs +4 -4
  213. package/esm2020/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +4 -4
  214. package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +17 -17
  215. package/esm2020/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +4 -4
  216. package/esm2020/lib/components/tabs/elder-tab/elder-tab.directive.mjs +4 -4
  217. package/esm2020/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +4 -4
  218. package/esm2020/lib/components/tabs/elder-tab.module.mjs +5 -5
  219. package/esm2020/lib/components/theme/elder-theme-applier.directive.mjs +4 -4
  220. package/esm2020/lib/components/theme/elder-theme-preference.service.mjs +4 -4
  221. package/esm2020/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +4 -4
  222. package/esm2020/lib/components/theme/elder-theme.directive.mjs +4 -4
  223. package/esm2020/lib/components/theme/elder-theme.module.mjs +5 -5
  224. package/esm2020/lib/components/theme/elder-theme.service.mjs +4 -4
  225. package/esm2020/lib/components/time/date-adapters/custom-date-adapter.mjs +4 -4
  226. package/esm2020/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +6 -6
  227. package/esm2020/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +5 -5
  228. package/esm2020/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +6 -6
  229. package/esm2020/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +4 -4
  230. package/esm2020/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +6 -6
  231. package/esm2020/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +8 -8
  232. package/esm2020/lib/components/time/elder-time.module.mjs +9 -9
  233. package/esm2020/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +6 -6
  234. package/esm2020/lib/components/toasts/elder-toast.module.mjs +5 -5
  235. package/esm2020/lib/components/toasts/elder-toast.service.mjs +5 -31
  236. package/esm2020/lib/components/toasts/standard-toast/standard-toast.component.mjs +6 -6
  237. package/esm2020/lib/components/url-fragment/elder-url-fragment.module.mjs +5 -5
  238. package/esm2020/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +4 -4
  239. package/esm2020/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +4 -4
  240. package/esm2020/lib/components/viewers/elder-viewers.module.mjs +5 -5
  241. package/esm2020/lib/features/event-source/elder-event-source.service.mjs +4 -4
  242. package/esm2020/lib/features/kafent/access-token-provider.mjs +4 -4
  243. package/esm2020/lib/features/kafent/kafent-config.mjs +4 -4
  244. package/esm2020/lib/features/kafent/kafent-event-stream.mjs +4 -4
  245. package/esm2020/lib/features/kafent/kafent-event.service.mjs +4 -4
  246. package/esm2020/lib/features/kafent/kafent.module.mjs +5 -5
  247. package/esm2020/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +4 -4
  248. package/esm2020/lib/pipes/bytes.pipe.mjs +4 -4
  249. package/esm2020/lib/pipes/elder-pipes.module.mjs +11 -11
  250. package/esm2020/lib/pipes/elder-repeat.pipe.mjs +4 -4
  251. package/esm2020/lib/pipes/elder-round.pipe.mjs +4 -4
  252. package/esm2020/lib/pipes/elder-safe-url.pipe.mjs +4 -4
  253. package/esm2020/lib/pipes/elder-truncate.pipe.mjs +4 -4
  254. package/esm2020/lib/pipes/iso-duration.pipe.mjs +4 -4
  255. package/esm2020/lib/pipes/iso-interval-parse.pipe.mjs +4 -4
  256. package/esm2020/lib/pipes/iso-interval.pipe.mjs +4 -4
  257. package/esm2020/lib/pipes/time-ago.pipe.mjs +4 -4
  258. package/esm2020/lib/pipes/time-duration.pipe.mjs +4 -4
  259. package/esm2020/lib/pipes/weight.pipe.mjs +4 -4
  260. package/fesm2015/elderbyte-ngx-starter.mjs +2600 -2012
  261. package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
  262. package/fesm2020/elderbyte-ngx-starter.mjs +2604 -2024
  263. package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
  264. package/lib/common/forms/elder-form-field-control-base.directive.d.ts +1 -1
  265. package/lib/common/forms/elder-from-field-base.d.ts +1 -1
  266. package/lib/common/forms/elder-from-field-customizable-base.d.ts +36 -0
  267. package/lib/common/forms/elder-from-field-entity-base.d.ts +1 -1
  268. package/lib/common/forms/elder-from-field-multi-entity-base.d.ts +1 -1
  269. package/lib/common/forms/form-field-base.component.d.ts +7 -1
  270. package/lib/common/forms/multi-model-base.component.d.ts +1 -1
  271. package/lib/common/forms/template-composite-control.d.ts +1 -1
  272. package/lib/common/forms/value-accessor-base.d.ts +1 -1
  273. package/lib/components/access-denied/elder-access-denied.component.d.ts +1 -1
  274. package/lib/components/auditing/audited-entity/elder-audited-entity.component.d.ts +1 -1
  275. package/lib/components/button-group/elder-button-group/elder-button-group.component.d.ts +1 -1
  276. package/lib/components/card-organizer/card-organizer/elder-card-organizer.component.d.ts +1 -1
  277. package/lib/components/card-organizer/card-organizer/elder-stack-card.directive.d.ts +1 -1
  278. package/lib/components/card-organizer/card-stack/elder-card-stack.component.d.ts +1 -1
  279. package/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.d.ts +1 -1
  280. package/lib/components/cards/elder-card/elder-card.component.d.ts +18 -20
  281. package/lib/components/cards/elder-card/elder-card.module.d.ts +2 -1
  282. package/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.d.ts +1 -1
  283. package/lib/components/containers/elder-scroll-container/elder-scroll-container.component.d.ts +1 -1
  284. package/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.d.ts +1 -1
  285. package/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.d.ts +1 -1
  286. package/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.d.ts +1 -1
  287. package/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.d.ts +1 -1
  288. package/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.d.ts +1 -1
  289. package/lib/components/data-view/base/elder-data-view-base.d.ts +11 -6
  290. package/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.d.ts +1 -1
  291. package/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.d.ts +2 -2
  292. package/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.d.ts +1 -1
  293. package/lib/components/data-view/common/selection/data-context-selection.directive.d.ts +1 -1
  294. package/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.d.ts +1 -1
  295. package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +3 -3
  296. package/lib/components/data-view/grid/elder-grid.module.d.ts +2 -1
  297. package/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.d.ts +1 -1
  298. package/lib/components/data-view/table/activation/elder-table-activation.directive.d.ts +1 -1
  299. package/lib/components/data-view/table/elder-number-cell.directive.d.ts +1 -1
  300. package/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.d.ts +1 -1
  301. package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +1 -1
  302. package/lib/components/data-view/table/elder-table-column.directive.d.ts +1 -1
  303. package/lib/components/data-view/table/elder-table-extension.directive.d.ts +1 -1
  304. package/lib/components/data-view/table/elder-table-root.directive.d.ts +1 -1
  305. package/lib/components/data-view/table/elder-table-row.directive.d.ts +1 -1
  306. package/lib/components/data-view/table/elder-table-sort.directive.d.ts +1 -1
  307. package/lib/components/data-view/table/elder-table.module.d.ts +2 -1
  308. package/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.d.ts +1 -1
  309. package/lib/components/dialogs/elder-dialog.module.d.ts +0 -10
  310. package/lib/components/dialogs/question-dialog/elder-question-dialog.component.d.ts +1 -1
  311. package/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.d.ts +1 -1
  312. package/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.d.ts +1 -1
  313. package/lib/components/errors/exception-detail/elder-exception-detail.component.d.ts +1 -1
  314. package/lib/components/expand-toggle-button/elder-expand-toggle-button.component.d.ts +1 -1
  315. package/lib/components/files/blob-viewer/elder-blob-viewer.component.d.ts +1 -1
  316. package/lib/components/files/elder-file-drop-zone.directive.d.ts +1 -1
  317. package/lib/components/files/elder-file-select.directive.d.ts +1 -1
  318. package/lib/components/files/file-select/file-select.component.d.ts +1 -1
  319. package/lib/components/files/file-upload/file-upload.component.d.ts +1 -1
  320. package/lib/components/forms/directives/base/elder-class-hostbinding-base.d.ts +1 -1
  321. package/lib/components/forms/directives/elder-clipboard-put.directive.d.ts +1 -1
  322. package/lib/components/forms/directives/elder-delayed-focus.directive.d.ts +1 -1
  323. package/lib/components/forms/directives/elder-form-field-dense.directive.d.ts +12 -3
  324. package/lib/components/forms/directives/elder-form-field-label.directive.d.ts +1 -1
  325. package/lib/components/forms/directives/elder-form-field-no-hint.directive.d.ts +7 -3
  326. package/lib/components/forms/directives/elder-form-field-no-spinner.directive.d.ts +1 -1
  327. package/lib/components/forms/directives/elder-forms-directives.module.d.ts +13 -35
  328. package/lib/components/forms/directives/elder-input-pattern.directive.d.ts +1 -1
  329. package/lib/components/forms/directives/elder-key-event.directive.d.ts +1 -1
  330. package/lib/components/forms/directives/elder-next-focusable.directive.d.ts +1 -1
  331. package/lib/components/forms/directives/elder-plug-parent-form.directive.d.ts +1 -1
  332. package/lib/components/forms/directives/elder-stop-event-propagation.directive.d.ts +1 -1
  333. package/lib/components/forms/directives/elder-tab-focus-trap.directive.d.ts +1 -1
  334. package/lib/components/forms/directives/elder-touched.directive.d.ts +1 -1
  335. package/lib/components/forms/directives/elder-triple-state-checkbox.directive.d.ts +1 -1
  336. package/lib/components/forms/directives/validation/elder-validation-error.directive.d.ts +44 -0
  337. package/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.d.ts +26 -0
  338. package/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.d.ts +36 -0
  339. package/lib/components/forms/directives/validation/strategies/fallback-validation-message-strategy.d.ts +5 -0
  340. package/lib/components/forms/directives/validation/validation-message-renderer.service.d.ts +28 -0
  341. package/lib/components/forms/directives/validation/validation-message-strategy.d.ts +4 -0
  342. package/lib/components/forms/directives/validation/validators/elder-max.validator.d.ts +11 -0
  343. package/lib/components/forms/directives/validation/validators/elder-min.validator.d.ts +11 -0
  344. package/lib/components/forms/directives/validation/{elder-multiple-of.validator.d.ts → validators/elder-multiple-of.validator.d.ts} +17 -2
  345. package/lib/components/forms/directives/validation/{elder-required-ignore-zero.validator.d.ts → validators/elder-required-ignore-zero.validator.d.ts} +1 -1
  346. package/lib/components/forms/search/elder-search-context.directive.d.ts +1 -1
  347. package/lib/components/forms/search/elder-search-input.directive.d.ts +1 -1
  348. package/lib/components/forms/search/search-box/elder-search-box.component.d.ts +3 -1
  349. package/lib/components/forms/search/search-box/elder-search-panel.component.d.ts +1 -1
  350. package/lib/components/global-search/elder-global-search.component.d.ts +1 -1
  351. package/lib/components/graph/elder-progress-bar/elder-progress-bar.component.d.ts +1 -1
  352. package/lib/components/headers/elder-header/elder-header.component.d.ts +1 -1
  353. package/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.d.ts +1 -1
  354. package/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.d.ts +1 -1
  355. package/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.d.ts +1 -1
  356. package/lib/components/i18n/entities/elder-localized-text-column.directive.d.ts +1 -1
  357. package/lib/components/i18n/entities/elder-localized-texts.directive.d.ts +1 -1
  358. package/lib/components/i18n/language/language-switcher/elder-language-switcher.component.d.ts +1 -1
  359. package/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.d.ts +1 -1
  360. package/lib/components/iframes/data-view/data-view-iframe-adapter.directive.d.ts +1 -1
  361. package/lib/components/iframes/elder-iframe.module.d.ts +3 -1
  362. package/lib/components/iframes/iframe-close.directive.d.ts +1 -1
  363. package/lib/components/iframes/iframe-dialog/iframe-dialog.component.d.ts +1 -1
  364. package/lib/components/iframes/iframe-host/iframe-host.component.d.ts +1 -1
  365. package/lib/components/iframes/iframe-side-content/iframe-side-content.component.d.ts +1 -1
  366. package/lib/components/infinitescroll/elder-infinite-autocomplete.directive.d.ts +1 -1
  367. package/lib/components/infinitescroll/elder-infinite-scroll.directive.d.ts +1 -1
  368. package/lib/components/infinitescroll/elder-infinite-scroll.module.d.ts +1 -1
  369. package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.d.ts +1 -1
  370. package/lib/components/input/autocomplete/elder-autocomplete-many.directive.d.ts +1 -1
  371. package/lib/components/input/autocomplete/elder-autocomplete.directive.d.ts +1 -1
  372. package/lib/components/labels/labels-input/labels-input.component.d.ts +1 -2
  373. package/lib/components/measures/{dimensions-input → dimensions/dimensions-input}/elder-dimensions-input.component.d.ts +41 -30
  374. package/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.d.ts +37 -0
  375. package/lib/components/measures/directives/elder-unit-select.directive.d.ts +1 -1
  376. package/lib/components/measures/elder-measures.module.d.ts +20 -12
  377. package/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.d.ts +20 -0
  378. package/lib/components/measures/quantity-input/{elder-quantity-input.component.d.ts → quantity-input-control/elder-quantity-input-control.component.d.ts} +27 -42
  379. package/lib/components/{select-list/select-list/elder-select-list.component.d.ts → measures/quantity-input/validation/elder-quantity-range.validator.d.ts} +22 -32
  380. package/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.d.ts +36 -0
  381. package/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.d.ts +1 -1
  382. package/lib/components/navigation/nav/elder-nav.module.d.ts +3 -1
  383. package/lib/components/navigation/nav/nav-group/elder-nav-group.component.d.ts +23 -9
  384. package/lib/components/navigation/nav/nav-link/elder-nav-link.component.d.ts +69 -13
  385. package/lib/components/navigation/nav/nav-list/elder-nav-list.component.d.ts +43 -3
  386. package/lib/components/navigation/toolbar/elder-toolbar-column.directive.d.ts +1 -1
  387. package/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.d.ts +1 -1
  388. package/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.d.ts +1 -1
  389. package/lib/components/overlays/elder-overlay-origin.directive.d.ts +1 -1
  390. package/lib/components/overlays/elder-overlay-trigger.directive.d.ts +1 -1
  391. package/lib/components/overlays/elder-overlay.component.d.ts +1 -1
  392. package/lib/components/panels/card-panel/elder-card-panel.component.d.ts +1 -1
  393. package/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.d.ts +1 -1
  394. package/lib/components/panels/flat/elder-panel.component.d.ts +1 -1
  395. package/lib/components/public_api.d.ts +0 -1
  396. package/lib/components/select/auto/elder-auto-select-first.directive.d.ts +1 -1
  397. package/lib/components/select/elder-select-base.d.ts +1 -1
  398. package/lib/components/select/elder-select-chip.directive.d.ts +3 -3
  399. package/lib/components/select/elder-select-on-tab.directive.d.ts +1 -1
  400. package/lib/components/select/elder-select-value.directive.d.ts +1 -1
  401. package/lib/components/select/multi/elder-multi-select-base.d.ts +1 -1
  402. package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +13 -7
  403. package/lib/components/select/multi/elder-multi-select-form-field.d.ts +10 -5
  404. package/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.d.ts +1 -1
  405. package/lib/components/select/popup/selection-model-popup.directive.d.ts +1 -1
  406. package/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.d.ts +1 -1
  407. package/lib/components/select/single/elder-clear-select.directive.d.ts +1 -1
  408. package/lib/components/select/single/elder-select/elder-select.component.d.ts +3 -2
  409. package/lib/components/select/single/elder-select-form-field.d.ts +1 -1
  410. package/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.d.ts +5 -10
  411. package/lib/components/shell/elder-shell-slot.directive.d.ts +1 -1
  412. package/lib/components/shell/header/elder-app-header/elder-app-header.component.d.ts +1 -1
  413. package/lib/components/shell/shell/elder-shell.component.d.ts +4 -4
  414. package/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.d.ts +1 -1
  415. package/lib/components/tabs/elder-tab/elder-tab.directive.d.ts +1 -1
  416. package/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.d.ts +1 -1
  417. package/lib/components/theme/elder-theme-applier.directive.d.ts +1 -1
  418. package/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.d.ts +1 -1
  419. package/lib/components/theme/elder-theme.directive.d.ts +1 -1
  420. package/lib/components/time/duration/elder-duration-input/elder-duration-input.component.d.ts +1 -1
  421. package/lib/components/time/elder-date-switcher/elder-date-switcher.component.d.ts +1 -1
  422. package/lib/components/time/elder-date-time-input/elder-date-time-input.component.d.ts +1 -1
  423. package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +1 -1
  424. package/lib/components/time/elder-local-date-input/elder-local-date-input.component.d.ts +1 -1
  425. package/lib/components/time/elder-local-time-input/elder-local-time-input.component.d.ts +1 -1
  426. package/lib/components/time/period/elder-period-input/elder-period-input.component.d.ts +1 -1
  427. package/lib/components/toasts/elder-toast.service.d.ts +0 -14
  428. package/lib/components/toasts/standard-toast/standard-toast.component.d.ts +3 -2
  429. package/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.d.ts +1 -1
  430. package/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.d.ts +1 -1
  431. package/package.json +5 -5
  432. package/src/lib/components/cards/elder-card/elder-card.component.scss +1 -9
  433. package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.scss +1 -2
  434. package/src/lib/components/data-view/table/elder-table/elder-table.component.scss +9 -8
  435. package/src/lib/components/forms/search/search-box/elder-search-box.component.scss +7 -0
  436. package/src/lib/components/iframes/iframe-host/iframe-host.component.scss +7 -4
  437. package/src/lib/components/measures/{dimensions-input → dimensions/dimensions-input}/elder-dimensions-input.component.scss +0 -0
  438. package/src/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.scss +0 -0
  439. package/src/lib/components/measures/quantity-input/{elder-quantity-input.component.scss → quantity-input-control/elder-quantity-input-control.component.scss} +0 -3
  440. package/src/lib/components/navigation/nav/_elder-nav-theme.scss +68 -0
  441. package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.scss +12 -32
  442. package/src/lib/components/navigation/nav/nav-link/elder-nav-link.component.scss +12 -42
  443. package/src/lib/components/navigation/nav/nav-list/elder-nav-list.component.scss +1 -1
  444. package/src/lib/components/panels/flat/_elder-panel-theme.scss +3 -2
  445. package/src/lib/components/select/_elder-select-base.scss +15 -92
  446. package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.scss +0 -8
  447. package/theming/_elder-common.scss +114 -19
  448. package/theming/_elder-flex-layout.scss +1 -0
  449. package/theming/_elder-mdc-support.scss +147 -0
  450. package/theming/_elder-style-fixes.scss +35 -2
  451. package/theming/_elder-toast-theme.scss +2 -1
  452. package/theming/_mat-icon-button-size.scss +29 -0
  453. package/esm2020/lib/components/forms/directives/elder-max.directive.mjs +0 -39
  454. package/esm2020/lib/components/forms/directives/elder-min.directive.mjs +0 -39
  455. package/esm2020/lib/components/forms/directives/validation/elder-multiple-of.validator.mjs +0 -57
  456. package/esm2020/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.mjs +0 -68
  457. package/esm2020/lib/components/measures/dimensions-input/elder-dimensions-input.component.mjs +0 -229
  458. package/esm2020/lib/components/measures/quantity-input/elder-quantity-input.component.mjs +0 -189
  459. package/esm2020/lib/components/select-list/elder-select-list.module.mjs +0 -36
  460. package/esm2020/lib/components/select-list/select-list/elder-select-list.component.mjs +0 -75
  461. package/esm2020/lib/components/select-list/select-list-item/elder-select-list-item.component.mjs +0 -118
  462. package/lib/components/forms/directives/elder-max.directive.d.ts +0 -11
  463. package/lib/components/forms/directives/elder-min.directive.d.ts +0 -11
  464. package/lib/components/select-list/elder-select-list.module.d.ts +0 -15
  465. package/lib/components/select-list/select-list-item/elder-select-list-item.component.d.ts +0 -57
  466. package/src/lib/components/select-list/select-list/elder-select-list.component.scss +0 -19
  467. package/src/lib/components/select-list/select-list-item/elder-select-list-item.component.scss +0 -37
@@ -5,27 +5,39 @@ import { MatInputModule } from '@angular/material/input';
5
5
  import { FormsModule } from '@angular/forms';
6
6
  import { RouterModule } from '@angular/router';
7
7
  import { TranslateModule } from '@ngx-translate/core';
8
- import { ElderQuantityInputComponent } from './quantity-input/elder-quantity-input.component';
8
+ import { ElderQuantityFormFieldComponent } from './quantity-input/quantity-form-field/elder-quantity-form-field.component';
9
9
  import { ElderQuantityPipe } from './elder-quantity.pipe';
10
10
  import { ElderFormsDirectivesModule } from '../forms/directives/elder-forms-directives.module';
11
11
  import { ElderQuantityTransformPipe } from './elder-quantity-transform.pipe';
12
12
  import { ElderUnitSelectDirective } from './directives/elder-unit-select.directive';
13
- import { ElderDimensionsInputComponent } from './dimensions-input/elder-dimensions-input.component';
13
+ import { ElderDimensionsInputComponent } from './dimensions/dimensions-input/elder-dimensions-input.component';
14
+ import { ElderQuantityInputControlComponent } from './quantity-input/quantity-input-control/elder-quantity-input-control.component';
15
+ import { ElderRequiredQuantityValidator } from './quantity-input/validation/elder-required-quantity.validator';
16
+ import { ElderQuantityRangeValidator } from './quantity-input/validation/elder-quantity-range.validator';
17
+ import { ElderRequiredDimensionsValidator } from './dimensions/validation/elder-required-dimensions.validator';
14
18
  import * as i0 from "@angular/core";
15
19
  export * from './elder-quantity.pipe';
16
20
  export * from './elder-quantity-transform.pipe';
17
- export * from './quantity-input/elder-quantity-input.component';
21
+ export * from './quantity-input/quantity-form-field/elder-quantity-form-field.component';
22
+ export * from './quantity-input/quantity-input-control/elder-quantity-input-control.component';
23
+ export * from './quantity-input/validation/elder-required-quantity.validator';
24
+ export * from './quantity-input/validation/elder-quantity-range.validator';
18
25
  export * from './elder-unit.service';
19
26
  export * from './directives/elder-unit-select.directive';
20
- export * from './dimensions-input/elder-dimensions-input.component';
27
+ export * from './dimensions/dimensions-input/elder-dimensions-input.component';
28
+ export * from './dimensions/validation/elder-required-dimensions.validator';
21
29
  export class ElderMeasuresModule {
22
30
  }
23
- ElderMeasuresModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderMeasuresModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
- ElderMeasuresModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.10", ngImport: i0, type: ElderMeasuresModule, declarations: [ElderQuantityInputComponent,
31
+ ElderMeasuresModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderMeasuresModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
+ ElderMeasuresModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: ElderMeasuresModule, declarations: [ElderQuantityFormFieldComponent,
25
33
  ElderQuantityPipe,
26
34
  ElderQuantityTransformPipe,
27
35
  ElderUnitSelectDirective,
28
- ElderDimensionsInputComponent], imports: [
36
+ ElderDimensionsInputComponent,
37
+ ElderQuantityInputControlComponent,
38
+ ElderRequiredQuantityValidator,
39
+ ElderQuantityRangeValidator,
40
+ ElderRequiredDimensionsValidator], imports: [
29
41
  // Angular
30
42
  CommonModule,
31
43
  RouterModule,
@@ -36,12 +48,16 @@ ElderMeasuresModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ver
36
48
  MatIconModule,
37
49
  MatInputModule,
38
50
  // ElderByte
39
- ElderFormsDirectivesModule], exports: [ElderQuantityInputComponent,
51
+ ElderFormsDirectivesModule], exports: [ElderQuantityFormFieldComponent,
40
52
  ElderQuantityPipe,
41
53
  ElderQuantityTransformPipe,
42
54
  ElderUnitSelectDirective,
43
- ElderDimensionsInputComponent] });
44
- ElderMeasuresModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderMeasuresModule, providers: [
55
+ ElderDimensionsInputComponent,
56
+ ElderQuantityInputControlComponent,
57
+ ElderRequiredQuantityValidator,
58
+ ElderQuantityRangeValidator,
59
+ ElderRequiredDimensionsValidator] });
60
+ ElderMeasuresModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderMeasuresModule, providers: [
45
61
  DecimalPipe,
46
62
  ElderQuantityPipe,
47
63
  ElderQuantityTransformPipe
@@ -57,7 +73,7 @@ ElderMeasuresModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ver
57
73
  MatInputModule,
58
74
  // ElderByte
59
75
  ElderFormsDirectivesModule] });
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderMeasuresModule, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderMeasuresModule, decorators: [{
61
77
  type: NgModule,
62
78
  args: [{
63
79
  imports: [
@@ -74,18 +90,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
74
90
  ElderFormsDirectivesModule
75
91
  ],
76
92
  declarations: [
77
- ElderQuantityInputComponent,
93
+ ElderQuantityFormFieldComponent,
78
94
  ElderQuantityPipe,
79
95
  ElderQuantityTransformPipe,
80
96
  ElderUnitSelectDirective,
81
- ElderDimensionsInputComponent
97
+ ElderDimensionsInputComponent,
98
+ ElderQuantityInputControlComponent,
99
+ ElderRequiredQuantityValidator,
100
+ ElderQuantityRangeValidator,
101
+ ElderRequiredDimensionsValidator
82
102
  ],
83
103
  exports: [
84
- ElderQuantityInputComponent,
104
+ ElderQuantityFormFieldComponent,
85
105
  ElderQuantityPipe,
86
106
  ElderQuantityTransformPipe,
87
107
  ElderUnitSelectDirective,
88
- ElderDimensionsInputComponent
108
+ ElderDimensionsInputComponent,
109
+ ElderQuantityInputControlComponent,
110
+ ElderRequiredQuantityValidator,
111
+ ElderQuantityRangeValidator,
112
+ ElderRequiredDimensionsValidator
89
113
  ],
90
114
  providers: [
91
115
  DecimalPipe,
@@ -99,10 +123,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
99
123
  */
100
124
  export class ElderQuantityModule {
101
125
  }
102
- ElderQuantityModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderQuantityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
103
- ElderQuantityModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.10", ngImport: i0, type: ElderQuantityModule, imports: [ElderMeasuresModule], exports: [ElderMeasuresModule] });
104
- ElderQuantityModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderQuantityModule, imports: [ElderMeasuresModule, ElderMeasuresModule] });
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderQuantityModule, decorators: [{
126
+ ElderQuantityModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderQuantityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
127
+ ElderQuantityModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: ElderQuantityModule, imports: [ElderMeasuresModule], exports: [ElderMeasuresModule] });
128
+ ElderQuantityModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderQuantityModule, imports: [ElderMeasuresModule, ElderMeasuresModule] });
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderQuantityModule, decorators: [{
106
130
  type: NgModule,
107
131
  args: [{
108
132
  imports: [
@@ -113,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImpo
113
137
  ],
114
138
  }]
115
139
  }] });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbWVhc3VyZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9tZWFzdXJlcy9lbGRlci1tZWFzdXJlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0saURBQWlELENBQUM7QUFDNUYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDN0YsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scURBQXFELENBQUM7O0FBRXBHLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHFEQUFxRCxDQUFDO0FBeUNwRSxNQUFNLE9BQU8sbUJBQW1COztpSEFBbkIsbUJBQW1CO2tIQUFuQixtQkFBbUIsaUJBbkI1QiwyQkFBMkI7UUFDM0IsaUJBQWlCO1FBQ2pCLDBCQUEwQjtRQUMxQix3QkFBd0I7UUFDeEIsNkJBQTZCO1FBckI3QixVQUFVO1FBQ1YsWUFBWTtRQUNaLFlBQVk7UUFDWixXQUFXO1FBRVgsY0FBYztRQUNkLGVBQWU7UUFFZixtQkFBbUI7UUFDbkIsYUFBYTtRQUNiLGNBQWM7UUFFZCxZQUFZO1FBQ1osMEJBQTBCLGFBVzFCLDJCQUEyQjtRQUMzQixpQkFBaUI7UUFDakIsMEJBQTBCO1FBQzFCLHdCQUF3QjtRQUN4Qiw2QkFBNkI7a0hBUXBCLG1CQUFtQixhQU5uQjtRQUNULFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsMEJBQTBCO0tBQzNCO1FBbENDLFVBQVU7UUFDVixZQUFZO1FBQ1osWUFBWTtRQUNaLFdBQVc7UUFFWCxjQUFjO1FBQ2QsZUFBZTtRQUVmLG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IsY0FBYztRQUVkLFlBQVk7UUFDWiwwQkFBMEI7NEZBdUJqQixtQkFBbUI7a0JBdkMvQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFFUCxVQUFVO3dCQUNWLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixXQUFXO3dCQUVYLGNBQWM7d0JBQ2QsZUFBZTt3QkFFZixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsY0FBYzt3QkFFZCxZQUFZO3dCQUNaLDBCQUEwQjtxQkFFM0I7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLDJCQUEyQjt3QkFDM0IsaUJBQWlCO3dCQUNqQiwwQkFBMEI7d0JBQzFCLHdCQUF3Qjt3QkFDeEIsNkJBQTZCO3FCQUM5QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMkJBQTJCO3dCQUMzQixpQkFBaUI7d0JBQ2pCLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4Qiw2QkFBNkI7cUJBQzlCO29CQUNELFNBQVMsRUFBRTt3QkFDVCxXQUFXO3dCQUNYLGlCQUFpQjt3QkFDakIsMEJBQTBCO3FCQUMzQjtpQkFDRjs7QUFJRDs7R0FFRztBQVNILE1BQU0sT0FBTyxtQkFBbUI7O2lIQUFuQixtQkFBbUI7a0hBQW5CLG1CQUFtQixZQWRuQixtQkFBbUIsYUFBbkIsbUJBQW1CO2tIQWNuQixtQkFBbUIsWUFONUIsbUJBQW1CLEVBUlYsbUJBQW1COzRGQWNuQixtQkFBbUI7a0JBUi9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjtxQkFDcEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlLCBEZWNpbWFsUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RWxkZXJRdWFudGl0eUlucHV0Q29tcG9uZW50fSBmcm9tICcuL3F1YW50aXR5LWlucHV0L2VsZGVyLXF1YW50aXR5LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge0VsZGVyUXVhbnRpdHlQaXBlfSBmcm9tICcuL2VsZGVyLXF1YW50aXR5LnBpcGUnO1xuaW1wb3J0IHtFbGRlckZvcm1zRGlyZWN0aXZlc01vZHVsZX0gZnJvbSAnLi4vZm9ybXMvZGlyZWN0aXZlcy9lbGRlci1mb3Jtcy1kaXJlY3RpdmVzLm1vZHVsZSc7XG5pbXBvcnQge0VsZGVyUXVhbnRpdHlUcmFuc2Zvcm1QaXBlfSBmcm9tICcuL2VsZGVyLXF1YW50aXR5LXRyYW5zZm9ybS5waXBlJztcbmltcG9ydCB7RWxkZXJVbml0U2VsZWN0RGlyZWN0aXZlfSBmcm9tICcuL2RpcmVjdGl2ZXMvZWxkZXItdW5pdC1zZWxlY3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVsZGVyRGltZW5zaW9uc0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9kaW1lbnNpb25zLWlucHV0L2VsZGVyLWRpbWVuc2lvbnMtaW5wdXQuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9lbGRlci1xdWFudGl0eS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItcXVhbnRpdHktdHJhbnNmb3JtLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWFudGl0eS1pbnB1dC9lbGRlci1xdWFudGl0eS1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGRlci11bml0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2VsZGVyLXVuaXQtc2VsZWN0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpbWVuc2lvbnMtaW5wdXQvZWxkZXItZGltZW5zaW9ucy1pbnB1dC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG5cbiAgICAvLyBBbmd1bGFyXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcblxuICAgIC8vIFRoaXJkIFBhcnR5XG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuXG4gICAgLy8gQW5ndWxhciBNYXRlcmlhbFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG5cbiAgICAvLyBFbGRlckJ5dGVcbiAgICBFbGRlckZvcm1zRGlyZWN0aXZlc01vZHVsZVxuXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEVsZGVyUXVhbnRpdHlJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlclF1YW50aXR5UGlwZSxcbiAgICBFbGRlclF1YW50aXR5VHJhbnNmb3JtUGlwZSxcbiAgICBFbGRlclVuaXRTZWxlY3REaXJlY3RpdmUsXG4gICAgRWxkZXJEaW1lbnNpb25zSW5wdXRDb21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEVsZGVyUXVhbnRpdHlJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlclF1YW50aXR5UGlwZSxcbiAgICBFbGRlclF1YW50aXR5VHJhbnNmb3JtUGlwZSxcbiAgICBFbGRlclVuaXRTZWxlY3REaXJlY3RpdmUsXG4gICAgRWxkZXJEaW1lbnNpb25zSW5wdXRDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRGVjaW1hbFBpcGUsXG4gICAgRWxkZXJRdWFudGl0eVBpcGUsXG4gICAgRWxkZXJRdWFudGl0eVRyYW5zZm9ybVBpcGVcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJNZWFzdXJlc01vZHVsZSB7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgUGxlYXNlIHN3aXRjaCB0byB0aGUgRWxkZXJNZWFzdXJlc01vZHVsZVxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgRWxkZXJNZWFzdXJlc01vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRWxkZXJNZWFzdXJlc01vZHVsZVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclF1YW50aXR5TW9kdWxlIHtcbn1cbiJdfQ==
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbWVhc3VyZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9tZWFzdXJlcy9lbGRlci1tZWFzdXJlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sMEVBQTBFLENBQUM7QUFDekgsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDN0YsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDL0csT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0ZBQWdGLENBQUM7QUFDcEksT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDL0csT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDekcsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sNkRBQTZELENBQUM7O0FBRTdHLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsZ0ZBQWdGLENBQUM7QUFDL0YsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsNkRBQTZELENBQUM7QUFpRDVFLE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixpQkEzQjVCLCtCQUErQjtRQUMvQixpQkFBaUI7UUFDakIsMEJBQTBCO1FBQzFCLHdCQUF3QjtRQUN4Qiw2QkFBNkI7UUFDN0Isa0NBQWtDO1FBQ2xDLDhCQUE4QjtRQUM5QiwyQkFBMkI7UUFDM0IsZ0NBQWdDO1FBekJoQyxVQUFVO1FBQ1YsWUFBWTtRQUNaLFlBQVk7UUFDWixXQUFXO1FBRVgsY0FBYztRQUNkLGVBQWU7UUFFZixtQkFBbUI7UUFDbkIsYUFBYTtRQUNiLGNBQWM7UUFFZCxZQUFZO1FBQ1osMEJBQTBCLGFBZTFCLCtCQUErQjtRQUMvQixpQkFBaUI7UUFDakIsMEJBQTBCO1FBQzFCLHdCQUF3QjtRQUN4Qiw2QkFBNkI7UUFDN0Isa0NBQWtDO1FBQ2xDLDhCQUE4QjtRQUM5QiwyQkFBMkI7UUFDM0IsZ0NBQWdDO2lIQVF2QixtQkFBbUIsYUFObkI7UUFDVCxXQUFXO1FBQ1gsaUJBQWlCO1FBQ2pCLDBCQUEwQjtLQUMzQjtRQTFDQyxVQUFVO1FBQ1YsWUFBWTtRQUNaLFlBQVk7UUFDWixXQUFXO1FBRVgsY0FBYztRQUNkLGVBQWU7UUFFZixtQkFBbUI7UUFDbkIsYUFBYTtRQUNiLGNBQWM7UUFFZCxZQUFZO1FBQ1osMEJBQTBCOzJGQStCakIsbUJBQW1CO2tCQS9DL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBRVAsVUFBVTt3QkFDVixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osV0FBVzt3QkFFWCxjQUFjO3dCQUNkLGVBQWU7d0JBRWYsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLGNBQWM7d0JBRWQsWUFBWTt3QkFDWiwwQkFBMEI7cUJBRTNCO29CQUNELFlBQVksRUFBRTt3QkFDWiwrQkFBK0I7d0JBQy9CLGlCQUFpQjt3QkFDakIsMEJBQTBCO3dCQUMxQix3QkFBd0I7d0JBQ3hCLDZCQUE2Qjt3QkFDN0Isa0NBQWtDO3dCQUNsQyw4QkFBOEI7d0JBQzlCLDJCQUEyQjt3QkFDM0IsZ0NBQWdDO3FCQUNqQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsK0JBQStCO3dCQUMvQixpQkFBaUI7d0JBQ2pCLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4Qiw2QkFBNkI7d0JBQzdCLGtDQUFrQzt3QkFDbEMsOEJBQThCO3dCQUM5QiwyQkFBMkI7d0JBQzNCLGdDQUFnQztxQkFDakM7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQiwwQkFBMEI7cUJBQzNCO2lCQUNGOztBQUlEOztHQUVHO0FBU0gsTUFBTSxPQUFPLG1CQUFtQjs7Z0hBQW5CLG1CQUFtQjtpSEFBbkIsbUJBQW1CLFlBZG5CLG1CQUFtQixhQUFuQixtQkFBbUI7aUhBY25CLG1CQUFtQixZQU41QixtQkFBbUIsRUFSVixtQkFBbUI7MkZBY25CLG1CQUFtQjtrQkFSL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3FCQUNwQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGUsIERlY2ltYWxQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7TWF0SW5wdXRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtFbGRlclF1YW50aXR5Rm9ybUZpZWxkQ29tcG9uZW50fSBmcm9tICcuL3F1YW50aXR5LWlucHV0L3F1YW50aXR5LWZvcm0tZmllbGQvZWxkZXItcXVhbnRpdHktZm9ybS1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHtFbGRlclF1YW50aXR5UGlwZX0gZnJvbSAnLi9lbGRlci1xdWFudGl0eS5waXBlJztcbmltcG9ydCB7RWxkZXJGb3Jtc0RpcmVjdGl2ZXNNb2R1bGV9IGZyb20gJy4uL2Zvcm1zL2RpcmVjdGl2ZXMvZWxkZXItZm9ybXMtZGlyZWN0aXZlcy5tb2R1bGUnO1xuaW1wb3J0IHtFbGRlclF1YW50aXR5VHJhbnNmb3JtUGlwZX0gZnJvbSAnLi9lbGRlci1xdWFudGl0eS10cmFuc2Zvcm0ucGlwZSc7XG5pbXBvcnQge0VsZGVyVW5pdFNlbGVjdERpcmVjdGl2ZX0gZnJvbSAnLi9kaXJlY3RpdmVzL2VsZGVyLXVuaXQtc2VsZWN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFbGRlckRpbWVuc2lvbnNJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZGltZW5zaW9ucy9kaW1lbnNpb25zLWlucHV0L2VsZGVyLWRpbWVuc2lvbnMtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEVsZGVyUXVhbnRpdHlJbnB1dENvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL3F1YW50aXR5LWlucHV0L3F1YW50aXR5LWlucHV0LWNvbnRyb2wvZWxkZXItcXVhbnRpdHktaW5wdXQtY29udHJvbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWxkZXJSZXF1aXJlZFF1YW50aXR5VmFsaWRhdG9yIH0gZnJvbSAnLi9xdWFudGl0eS1pbnB1dC92YWxpZGF0aW9uL2VsZGVyLXJlcXVpcmVkLXF1YW50aXR5LnZhbGlkYXRvcic7XG5pbXBvcnQgeyBFbGRlclF1YW50aXR5UmFuZ2VWYWxpZGF0b3IgfSBmcm9tICcuL3F1YW50aXR5LWlucHV0L3ZhbGlkYXRpb24vZWxkZXItcXVhbnRpdHktcmFuZ2UudmFsaWRhdG9yJztcbmltcG9ydCB7RWxkZXJSZXF1aXJlZERpbWVuc2lvbnNWYWxpZGF0b3J9IGZyb20gJy4vZGltZW5zaW9ucy92YWxpZGF0aW9uL2VsZGVyLXJlcXVpcmVkLWRpbWVuc2lvbnMudmFsaWRhdG9yJztcblxuZXhwb3J0ICogZnJvbSAnLi9lbGRlci1xdWFudGl0eS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxkZXItcXVhbnRpdHktdHJhbnNmb3JtLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWFudGl0eS1pbnB1dC9xdWFudGl0eS1mb3JtLWZpZWxkL2VsZGVyLXF1YW50aXR5LWZvcm0tZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcXVhbnRpdHktaW5wdXQvcXVhbnRpdHktaW5wdXQtY29udHJvbC9lbGRlci1xdWFudGl0eS1pbnB1dC1jb250cm9sLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3F1YW50aXR5LWlucHV0L3ZhbGlkYXRpb24vZWxkZXItcmVxdWlyZWQtcXVhbnRpdHkudmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vcXVhbnRpdHktaW5wdXQvdmFsaWRhdGlvbi9lbGRlci1xdWFudGl0eS1yYW5nZS52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9lbGRlci11bml0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2VsZGVyLXVuaXQtc2VsZWN0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpbWVuc2lvbnMvZGltZW5zaW9ucy1pbnB1dC9lbGRlci1kaW1lbnNpb25zLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RpbWVuc2lvbnMvdmFsaWRhdGlvbi9lbGRlci1yZXF1aXJlZC1kaW1lbnNpb25zLnZhbGlkYXRvcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcblxuICAgIC8vIEFuZ3VsYXJcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuXG4gICAgLy8gVGhpcmQgUGFydHlcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG5cbiAgICAvLyBBbmd1bGFyIE1hdGVyaWFsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcblxuICAgIC8vIEVsZGVyQnl0ZVxuICAgIEVsZGVyRm9ybXNEaXJlY3RpdmVzTW9kdWxlXG5cbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRWxkZXJRdWFudGl0eUZvcm1GaWVsZENvbXBvbmVudCxcbiAgICBFbGRlclF1YW50aXR5UGlwZSxcbiAgICBFbGRlclF1YW50aXR5VHJhbnNmb3JtUGlwZSxcbiAgICBFbGRlclVuaXRTZWxlY3REaXJlY3RpdmUsXG4gICAgRWxkZXJEaW1lbnNpb25zSW5wdXRDb21wb25lbnQsXG4gICAgRWxkZXJRdWFudGl0eUlucHV0Q29udHJvbENvbXBvbmVudCxcbiAgICBFbGRlclJlcXVpcmVkUXVhbnRpdHlWYWxpZGF0b3IsXG4gICAgRWxkZXJRdWFudGl0eVJhbmdlVmFsaWRhdG9yLFxuICAgIEVsZGVyUmVxdWlyZWREaW1lbnNpb25zVmFsaWRhdG9yXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBFbGRlclF1YW50aXR5Rm9ybUZpZWxkQ29tcG9uZW50LFxuICAgIEVsZGVyUXVhbnRpdHlQaXBlLFxuICAgIEVsZGVyUXVhbnRpdHlUcmFuc2Zvcm1QaXBlLFxuICAgIEVsZGVyVW5pdFNlbGVjdERpcmVjdGl2ZSxcbiAgICBFbGRlckRpbWVuc2lvbnNJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlclF1YW50aXR5SW5wdXRDb250cm9sQ29tcG9uZW50LFxuICAgIEVsZGVyUmVxdWlyZWRRdWFudGl0eVZhbGlkYXRvcixcbiAgICBFbGRlclF1YW50aXR5UmFuZ2VWYWxpZGF0b3IsXG4gICAgRWxkZXJSZXF1aXJlZERpbWVuc2lvbnNWYWxpZGF0b3JcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRGVjaW1hbFBpcGUsXG4gICAgRWxkZXJRdWFudGl0eVBpcGUsXG4gICAgRWxkZXJRdWFudGl0eVRyYW5zZm9ybVBpcGVcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJNZWFzdXJlc01vZHVsZSB7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgUGxlYXNlIHN3aXRjaCB0byB0aGUgRWxkZXJNZWFzdXJlc01vZHVsZVxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgRWxkZXJNZWFzdXJlc01vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRWxkZXJNZWFzdXJlc01vZHVsZVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFbGRlclF1YW50aXR5TW9kdWxlIHtcbn1cbiJdfQ==
@@ -30,12 +30,12 @@ export class ElderQuantityTransformPipe {
30
30
  }
31
31
  }
32
32
  }
33
- ElderQuantityTransformPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderQuantityTransformPipe, deps: [{ token: i1.ElderQuantityService }], target: i0.ɵɵFactoryTarget.Pipe });
34
- ElderQuantityTransformPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.10", ngImport: i0, type: ElderQuantityTransformPipe, name: "elderQuantityTransform" });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderQuantityTransformPipe, decorators: [{
33
+ ElderQuantityTransformPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderQuantityTransformPipe, deps: [{ token: i1.ElderQuantityService }], target: i0.ɵɵFactoryTarget.Pipe });
34
+ ElderQuantityTransformPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: ElderQuantityTransformPipe, name: "elderQuantityTransform" });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderQuantityTransformPipe, decorators: [{
36
36
  type: Pipe,
37
37
  args: [{
38
38
  name: 'elderQuantityTransform'
39
39
  }]
40
40
  }], ctorParameters: function () { return [{ type: i1.ElderQuantityService }]; } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItcXVhbnRpdHktdHJhbnNmb3JtLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL21lYXN1cmVzL2VsZGVyLXF1YW50aXR5LXRyYW5zZm9ybS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOzs7QUFRbEQsTUFBTSxPQUFPLDBCQUEwQjtJQUdyQzs7OztnRkFJNEU7SUFFNUUsWUFDbUIsZUFBcUM7UUFBckMsb0JBQWUsR0FBZixlQUFlLENBQXNCO0lBRXhELENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsU0FBUyxDQUNkLFFBQWtCLEVBQ2xCLFlBQXFCLElBQUksRUFDekIsVUFBMEI7UUFFMUIsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLFNBQVMsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDakQ7YUFBTSxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUU7WUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQVEsVUFBVSxDQUFDLENBQUM7U0FDdkU7YUFBTTtZQUNMLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQzs7d0hBcENVLDBCQUEwQjtzSEFBMUIsMEJBQTBCOzRGQUExQiwwQkFBMEI7a0JBSHRDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLHdCQUF3QjtpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtRdWFudGl0eX0gZnJvbSAnLi9tb2RlbC9xdWFudGl0eSc7XG5pbXBvcnQge1VuaXR9IGZyb20gJy4vbW9kZWwvdW5pdCc7XG5pbXBvcnQge0VsZGVyUXVhbnRpdHlTZXJ2aWNlfSBmcm9tICcuL3V0aWwvZWxkZXItcXVhbnRpdHkuc2VydmljZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2VsZGVyUXVhbnRpdHlUcmFuc2Zvcm0nXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyUXVhbnRpdHlUcmFuc2Zvcm1QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHF1YW50aXR5U2VydmljZTogRWxkZXJRdWFudGl0eVNlcnZpY2VcbiAgKSB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgdHJhbnNmb3JtKFxuICAgIHF1YW50aXR5OiBRdWFudGl0eSxcbiAgICBub3JtYWxpemU6IGJvb2xlYW4gPSB0cnVlLFxuICAgIHRhcmdldFVuaXQ/OiBVbml0IHwgc3RyaW5nKTogUXVhbnRpdHkge1xuXG4gICAgaWYgKCFxdWFudGl0eSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKG5vcm1hbGl6ZSkge1xuICAgICAgcmV0dXJuIHRoaXMucXVhbnRpdHlTZXJ2aWNlLm5vcm1hbGl6ZShxdWFudGl0eSk7XG4gICAgfSBlbHNlIGlmICghIXRhcmdldFVuaXQpIHtcbiAgICAgIHJldHVybiB0aGlzLnF1YW50aXR5U2VydmljZS5jb252ZXJ0VG9Vbml0KHF1YW50aXR5LCA8VW5pdD50YXJnZXRVbml0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHF1YW50aXR5O1xuICAgIH1cbiAgfVxufVxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItcXVhbnRpdHktdHJhbnNmb3JtLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL21lYXN1cmVzL2VsZGVyLXF1YW50aXR5LXRyYW5zZm9ybS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOzs7QUFRbEQsTUFBTSxPQUFPLDBCQUEwQjtJQUdyQzs7OztnRkFJNEU7SUFFNUUsWUFDbUIsZUFBcUM7UUFBckMsb0JBQWUsR0FBZixlQUFlLENBQXNCO0lBRXhELENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsU0FBUyxDQUNkLFFBQWtCLEVBQ2xCLFlBQXFCLElBQUksRUFDekIsVUFBMEI7UUFFMUIsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLFNBQVMsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDakQ7YUFBTSxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUU7WUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQVEsVUFBVSxDQUFDLENBQUM7U0FDdkU7YUFBTTtZQUNMLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQzs7dUhBcENVLDBCQUEwQjtxSEFBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBSHRDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLHdCQUF3QjtpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtRdWFudGl0eX0gZnJvbSAnLi9tb2RlbC9xdWFudGl0eSc7XG5pbXBvcnQge1VuaXR9IGZyb20gJy4vbW9kZWwvdW5pdCc7XG5pbXBvcnQge0VsZGVyUXVhbnRpdHlTZXJ2aWNlfSBmcm9tICcuL3V0aWwvZWxkZXItcXVhbnRpdHkuc2VydmljZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2VsZGVyUXVhbnRpdHlUcmFuc2Zvcm0nXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyUXVhbnRpdHlUcmFuc2Zvcm1QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHF1YW50aXR5U2VydmljZTogRWxkZXJRdWFudGl0eVNlcnZpY2VcbiAgKSB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgdHJhbnNmb3JtKFxuICAgIHF1YW50aXR5OiBRdWFudGl0eSxcbiAgICBub3JtYWxpemU6IGJvb2xlYW4gPSB0cnVlLFxuICAgIHRhcmdldFVuaXQ/OiBVbml0IHwgc3RyaW5nKTogUXVhbnRpdHkge1xuXG4gICAgaWYgKCFxdWFudGl0eSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKG5vcm1hbGl6ZSkge1xuICAgICAgcmV0dXJuIHRoaXMucXVhbnRpdHlTZXJ2aWNlLm5vcm1hbGl6ZShxdWFudGl0eSk7XG4gICAgfSBlbHNlIGlmICghIXRhcmdldFVuaXQpIHtcbiAgICAgIHJldHVybiB0aGlzLnF1YW50aXR5U2VydmljZS5jb252ZXJ0VG9Vbml0KHF1YW50aXR5LCA8VW5pdD50YXJnZXRVbml0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHF1YW50aXR5O1xuICAgIH1cbiAgfVxufVxuIl19
@@ -62,12 +62,12 @@ export class ElderQuantityPipe {
62
62
  ElderQuantityPipe.EMPTY_STRING = '';
63
63
  ElderQuantityPipe.SPACE_STRING = ' ';
64
64
  ElderQuantityPipe.DEFAULT_DIGITS = '1.0-1';
65
- ElderQuantityPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderQuantityPipe, deps: [{ token: i1.ElderUnitService }, { token: i2.ElderQuantityTransformPipe }, { token: i3.DecimalPipe }], target: i0.ɵɵFactoryTarget.Pipe });
66
- ElderQuantityPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.10", ngImport: i0, type: ElderQuantityPipe, name: "elderQuantity" });
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderQuantityPipe, decorators: [{
65
+ ElderQuantityPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderQuantityPipe, deps: [{ token: i1.ElderUnitService }, { token: i2.ElderQuantityTransformPipe }, { token: i3.DecimalPipe }], target: i0.ɵɵFactoryTarget.Pipe });
66
+ ElderQuantityPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: ElderQuantityPipe, name: "elderQuantity" });
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderQuantityPipe, decorators: [{
68
68
  type: Pipe,
69
69
  args: [{
70
70
  name: 'elderQuantity'
71
71
  }]
72
72
  }], ctorParameters: function () { return [{ type: i1.ElderUnitService }, { type: i2.ElderQuantityTransformPipe }, { type: i3.DecimalPipe }]; } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItcXVhbnRpdHkucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvbWVhc3VyZXMvZWxkZXItcXVhbnRpdHkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFrQmxEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBYTVCOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixXQUE2QixFQUN0QywyQkFBdUQsRUFDdkQsWUFBeUI7UUFGaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQ3RDLGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBNEI7UUFDdkQsaUJBQVksR0FBWixZQUFZLENBQWE7SUFFbkMsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxTQUFTLENBQ1AsUUFBa0IsRUFDbEIsU0FBeUMsRUFDekMsVUFBMEIsRUFDMUIsYUFBcUIsaUJBQWlCLENBQUMsY0FBYztRQUdyRCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsT0FBTyxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7U0FDdkM7UUFFRCxNQUFNLFdBQVcsR0FBRyxDQUFDLFNBQVMsS0FBSyxTQUFTLElBQUksT0FBTyxTQUFTLEtBQUssU0FBUyxDQUFDO1lBQzdFLENBQUMsQ0FBdUI7Z0JBQ3RCLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixVQUFVLEVBQUUsVUFBVTtnQkFDdEIsVUFBVSxFQUFFLFVBQVU7YUFDdkI7WUFDSCxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRVosSUFBSSxXQUFXLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUU7WUFDbEUsV0FBVyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7U0FDOUI7UUFFRCxJQUFJLFdBQVcsQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFO1lBQ3hDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsaUJBQWlCLENBQUMsY0FBYyxDQUFDO1NBQzNEO1FBRUQsTUFBTSxpQkFBaUIsR0FBYSxJQUFJLENBQUMsMkJBQTJCO2FBQ2pFLFNBQVMsQ0FDUixRQUFRLEVBQ1IsV0FBVyxDQUFDLFNBQVMsRUFDckIsV0FBVyxDQUFDLFVBQVUsQ0FDdkIsQ0FBQztRQUVKLE1BQU0sTUFBTSxHQUFHLENBQUMsV0FBVyxDQUFDLFFBQVE7WUFDbEMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7WUFDekYsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVQLE9BQU8sSUFBSSxDQUFDLFlBQVk7YUFDbkIsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsVUFBVSxDQUFDO2NBQzNELE1BQU0sQ0FBQztJQUNiLENBQUM7O0FBdkVEOzs7OzRFQUk0RTtBQUVwRCw4QkFBWSxHQUFXLEVBQUcsQ0FBQTtBQUMxQiw4QkFBWSxHQUFXLEdBQUksQ0FBQTtBQUUzQixnQ0FBYyxHQUFXLE9BQVEsQ0FBQTsrR0FYOUMsaUJBQWlCOzZHQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFYN0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZUFBZTtpQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEZWNpbWFsUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7UXVhbnRpdHl9IGZyb20gJy4vbW9kZWwvcXVhbnRpdHknO1xuaW1wb3J0IHtVbml0fSBmcm9tICcuL21vZGVsL3VuaXQnO1xuaW1wb3J0IHtFbGRlclF1YW50aXR5VHJhbnNmb3JtUGlwZX0gZnJvbSAnLi9lbGRlci1xdWFudGl0eS10cmFuc2Zvcm0ucGlwZSc7XG5pbXBvcnQge0VsZGVyVW5pdFNlcnZpY2V9IGZyb20gJy4vZWxkZXItdW5pdC5zZXJ2aWNlJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIFF1YW50aXR5UGlwZU9wdGlvbnMge1xuICBub3JtYWxpemU/OiBib29sZWFuO1xuICB0YXJnZXRVbml0PzogVW5pdCB8IHN0cmluZztcbiAgZGlnaXRzSW5mbz86IHN0cmluZztcbiAgaGlkZVVuaXQ/OiBib29sZWFuO1xufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdlbGRlclF1YW50aXR5J1xufSlcbi8qKlxuICpcbiAqIFF1YW50aXR5IFRyYW5zZm9ybWF0aW9uIEV4YW1wbGVzOlxuICpcbiAqIDg1MDAga2cgLT4gOC41IHRcbiAqIDkwMDAwMDAgbW0gLT4gOSBrbVxuICogMTIxNSBtIC0+IDEuMiBrbVxuICovXG5leHBvcnQgY2xhc3MgRWxkZXJRdWFudGl0eVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBFTVBUWV9TVFJJTkc6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBTUEFDRV9TVFJJTkc6IHN0cmluZyA9ICcgJztcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0RJR0lUUzogc3RyaW5nID0gJzEuMC0xJztcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVuaXRTZXJ2aWNlOiBFbGRlclVuaXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2VsZGVyUXVhbnRpdHlUcmFuc2Zvcm1QaXBlOiBFbGRlclF1YW50aXR5VHJhbnNmb3JtUGlwZSxcbiAgICBwcml2YXRlIF9kZWNpbWFsUGlwZTogRGVjaW1hbFBpcGVcbiAgKSB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICB0cmFuc2Zvcm0oXG4gICAgcXVhbnRpdHk6IFF1YW50aXR5LFxuICAgIG5vcm1hbGl6ZT86IGJvb2xlYW4gfCBRdWFudGl0eVBpcGVPcHRpb25zLFxuICAgIHRhcmdldFVuaXQ/OiBVbml0IHwgc3RyaW5nLFxuICAgIGRpZ2l0c0luZm86IHN0cmluZyA9IEVsZGVyUXVhbnRpdHlQaXBlLkRFRkFVTFRfRElHSVRTLFxuICApOiBzdHJpbmcge1xuXG4gICAgaWYgKCFxdWFudGl0eSkge1xuICAgICAgcmV0dXJuIEVsZGVyUXVhbnRpdHlQaXBlLkVNUFRZX1NUUklORztcbiAgICB9XG5cbiAgICBjb25zdCB1c2VyT3B0aW9ucyA9IChub3JtYWxpemUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2Ygbm9ybWFsaXplID09PSAnYm9vbGVhbicpXG4gICAgICA/IDxRdWFudGl0eVBpcGVPcHRpb25zPiB7XG4gICAgICAgIG5vcm1hbGl6ZTogbm9ybWFsaXplLFxuICAgICAgICB0YXJnZXRVbml0OiB0YXJnZXRVbml0LFxuICAgICAgICBkaWdpdHNJbmZvOiBkaWdpdHNJbmZvXG4gICAgICB9XG4gICAgOiBub3JtYWxpemU7XG5cbiAgICBpZiAodXNlck9wdGlvbnMubm9ybWFsaXplID09PSB1bmRlZmluZWQgJiYgIXVzZXJPcHRpb25zLnRhcmdldFVuaXQpIHtcbiAgICAgIHVzZXJPcHRpb25zLm5vcm1hbGl6ZSA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHVzZXJPcHRpb25zLmRpZ2l0c0luZm8gPT09IHVuZGVmaW5lZCkge1xuICAgICAgdXNlck9wdGlvbnMuZGlnaXRzSW5mbyA9IEVsZGVyUXVhbnRpdHlQaXBlLkRFRkFVTFRfRElHSVRTO1xuICAgIH1cblxuICAgIGNvbnN0IHF1YW50aXR5VG9EaXNwbGF5OiBRdWFudGl0eSA9IHRoaXMuX2VsZGVyUXVhbnRpdHlUcmFuc2Zvcm1QaXBlXG4gICAgICAudHJhbnNmb3JtKFxuICAgICAgICBxdWFudGl0eSxcbiAgICAgICAgdXNlck9wdGlvbnMubm9ybWFsaXplLFxuICAgICAgICB1c2VyT3B0aW9ucy50YXJnZXRVbml0XG4gICAgICApO1xuXG4gICAgY29uc3Qgc3VmZml4ID0gIXVzZXJPcHRpb25zLmhpZGVVbml0XG4gICAgICA/IEVsZGVyUXVhbnRpdHlQaXBlLlNQQUNFX1NUUklORyArIHRoaXMudW5pdFNlcnZpY2UuZ2V0VW5pdFN5bWJvbChxdWFudGl0eVRvRGlzcGxheS51bml0KVxuICAgICAgOiAnJztcblxuICAgIHJldHVybiB0aGlzLl9kZWNpbWFsUGlwZVxuICAgICAgICAudHJhbnNmb3JtKHF1YW50aXR5VG9EaXNwbGF5LnZhbHVlLCB1c2VyT3B0aW9ucy5kaWdpdHNJbmZvKVxuICAgICAgKyBzdWZmaXg7XG4gIH1cbn1cblxuIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItcXVhbnRpdHkucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvbWVhc3VyZXMvZWxkZXItcXVhbnRpdHkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFrQmxEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBYTVCOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixXQUE2QixFQUN0QywyQkFBdUQsRUFDdkQsWUFBeUI7UUFGaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQ3RDLGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBNEI7UUFDdkQsaUJBQVksR0FBWixZQUFZLENBQWE7SUFFbkMsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxTQUFTLENBQ1AsUUFBa0IsRUFDbEIsU0FBeUMsRUFDekMsVUFBMEIsRUFDMUIsYUFBcUIsaUJBQWlCLENBQUMsY0FBYztRQUdyRCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsT0FBTyxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7U0FDdkM7UUFFRCxNQUFNLFdBQVcsR0FBRyxDQUFDLFNBQVMsS0FBSyxTQUFTLElBQUksT0FBTyxTQUFTLEtBQUssU0FBUyxDQUFDO1lBQzdFLENBQUMsQ0FBdUI7Z0JBQ3RCLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixVQUFVLEVBQUUsVUFBVTtnQkFDdEIsVUFBVSxFQUFFLFVBQVU7YUFDdkI7WUFDSCxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRVosSUFBSSxXQUFXLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUU7WUFDbEUsV0FBVyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7U0FDOUI7UUFFRCxJQUFJLFdBQVcsQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFO1lBQ3hDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsaUJBQWlCLENBQUMsY0FBYyxDQUFDO1NBQzNEO1FBRUQsTUFBTSxpQkFBaUIsR0FBYSxJQUFJLENBQUMsMkJBQTJCO2FBQ2pFLFNBQVMsQ0FDUixRQUFRLEVBQ1IsV0FBVyxDQUFDLFNBQVMsRUFDckIsV0FBVyxDQUFDLFVBQVUsQ0FDdkIsQ0FBQztRQUVKLE1BQU0sTUFBTSxHQUFHLENBQUMsV0FBVyxDQUFDLFFBQVE7WUFDbEMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7WUFDekYsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVQLE9BQU8sSUFBSSxDQUFDLFlBQVk7YUFDbkIsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsVUFBVSxDQUFDO2NBQzNELE1BQU0sQ0FBQztJQUNiLENBQUM7O0FBdkVEOzs7OzRFQUk0RTtBQUVwRCw4QkFBWSxHQUFXLEVBQUUsQ0FBQztBQUMxQiw4QkFBWSxHQUFXLEdBQUcsQ0FBQztBQUUzQixnQ0FBYyxHQUFXLE9BQU8sQ0FBQzs4R0FYOUMsaUJBQWlCOzRHQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFYN0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZUFBZTtpQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEZWNpbWFsUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7UXVhbnRpdHl9IGZyb20gJy4vbW9kZWwvcXVhbnRpdHknO1xuaW1wb3J0IHtVbml0fSBmcm9tICcuL21vZGVsL3VuaXQnO1xuaW1wb3J0IHtFbGRlclF1YW50aXR5VHJhbnNmb3JtUGlwZX0gZnJvbSAnLi9lbGRlci1xdWFudGl0eS10cmFuc2Zvcm0ucGlwZSc7XG5pbXBvcnQge0VsZGVyVW5pdFNlcnZpY2V9IGZyb20gJy4vZWxkZXItdW5pdC5zZXJ2aWNlJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIFF1YW50aXR5UGlwZU9wdGlvbnMge1xuICBub3JtYWxpemU/OiBib29sZWFuO1xuICB0YXJnZXRVbml0PzogVW5pdCB8IHN0cmluZztcbiAgZGlnaXRzSW5mbz86IHN0cmluZztcbiAgaGlkZVVuaXQ/OiBib29sZWFuO1xufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdlbGRlclF1YW50aXR5J1xufSlcbi8qKlxuICpcbiAqIFF1YW50aXR5IFRyYW5zZm9ybWF0aW9uIEV4YW1wbGVzOlxuICpcbiAqIDg1MDAga2cgLT4gOC41IHRcbiAqIDkwMDAwMDAgbW0gLT4gOSBrbVxuICogMTIxNSBtIC0+IDEuMiBrbVxuICovXG5leHBvcnQgY2xhc3MgRWxkZXJRdWFudGl0eVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBFTVBUWV9TVFJJTkc6IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBTUEFDRV9TVFJJTkc6IHN0cmluZyA9ICcgJztcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0RJR0lUUzogc3RyaW5nID0gJzEuMC0xJztcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVuaXRTZXJ2aWNlOiBFbGRlclVuaXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2VsZGVyUXVhbnRpdHlUcmFuc2Zvcm1QaXBlOiBFbGRlclF1YW50aXR5VHJhbnNmb3JtUGlwZSxcbiAgICBwcml2YXRlIF9kZWNpbWFsUGlwZTogRGVjaW1hbFBpcGVcbiAgKSB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICB0cmFuc2Zvcm0oXG4gICAgcXVhbnRpdHk6IFF1YW50aXR5LFxuICAgIG5vcm1hbGl6ZT86IGJvb2xlYW4gfCBRdWFudGl0eVBpcGVPcHRpb25zLFxuICAgIHRhcmdldFVuaXQ/OiBVbml0IHwgc3RyaW5nLFxuICAgIGRpZ2l0c0luZm86IHN0cmluZyA9IEVsZGVyUXVhbnRpdHlQaXBlLkRFRkFVTFRfRElHSVRTLFxuICApOiBzdHJpbmcge1xuXG4gICAgaWYgKCFxdWFudGl0eSkge1xuICAgICAgcmV0dXJuIEVsZGVyUXVhbnRpdHlQaXBlLkVNUFRZX1NUUklORztcbiAgICB9XG5cbiAgICBjb25zdCB1c2VyT3B0aW9ucyA9IChub3JtYWxpemUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2Ygbm9ybWFsaXplID09PSAnYm9vbGVhbicpXG4gICAgICA/IDxRdWFudGl0eVBpcGVPcHRpb25zPiB7XG4gICAgICAgIG5vcm1hbGl6ZTogbm9ybWFsaXplLFxuICAgICAgICB0YXJnZXRVbml0OiB0YXJnZXRVbml0LFxuICAgICAgICBkaWdpdHNJbmZvOiBkaWdpdHNJbmZvXG4gICAgICB9XG4gICAgOiBub3JtYWxpemU7XG5cbiAgICBpZiAodXNlck9wdGlvbnMubm9ybWFsaXplID09PSB1bmRlZmluZWQgJiYgIXVzZXJPcHRpb25zLnRhcmdldFVuaXQpIHtcbiAgICAgIHVzZXJPcHRpb25zLm5vcm1hbGl6ZSA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHVzZXJPcHRpb25zLmRpZ2l0c0luZm8gPT09IHVuZGVmaW5lZCkge1xuICAgICAgdXNlck9wdGlvbnMuZGlnaXRzSW5mbyA9IEVsZGVyUXVhbnRpdHlQaXBlLkRFRkFVTFRfRElHSVRTO1xuICAgIH1cblxuICAgIGNvbnN0IHF1YW50aXR5VG9EaXNwbGF5OiBRdWFudGl0eSA9IHRoaXMuX2VsZGVyUXVhbnRpdHlUcmFuc2Zvcm1QaXBlXG4gICAgICAudHJhbnNmb3JtKFxuICAgICAgICBxdWFudGl0eSxcbiAgICAgICAgdXNlck9wdGlvbnMubm9ybWFsaXplLFxuICAgICAgICB1c2VyT3B0aW9ucy50YXJnZXRVbml0XG4gICAgICApO1xuXG4gICAgY29uc3Qgc3VmZml4ID0gIXVzZXJPcHRpb25zLmhpZGVVbml0XG4gICAgICA/IEVsZGVyUXVhbnRpdHlQaXBlLlNQQUNFX1NUUklORyArIHRoaXMudW5pdFNlcnZpY2UuZ2V0VW5pdFN5bWJvbChxdWFudGl0eVRvRGlzcGxheS51bml0KVxuICAgICAgOiAnJztcblxuICAgIHJldHVybiB0aGlzLl9kZWNpbWFsUGlwZVxuICAgICAgICAudHJhbnNmb3JtKHF1YW50aXR5VG9EaXNwbGF5LnZhbHVlLCB1c2VyT3B0aW9ucy5kaWdpdHNJbmZvKVxuICAgICAgKyBzdWZmaXg7XG4gIH1cbn1cblxuIl19
@@ -104,12 +104,12 @@ export class ElderUnitService {
104
104
  return infos;
105
105
  }
106
106
  }
107
- ElderUnitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderUnitService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
108
- ElderUnitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderUnitService, providedIn: 'root' });
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: ElderUnitService, decorators: [{
107
+ ElderUnitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderUnitService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
108
+ ElderUnitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderUnitService, providedIn: 'root' });
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderUnitService, decorators: [{
110
110
  type: Injectable,
111
111
  args: [{
112
112
  providedIn: 'root'
113
113
  }]
114
114
  }], ctorParameters: function () { return []; } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdW5pdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9tZWFzdXJlcy9lbGRlci11bml0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2hGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7QUFLbkQsTUFBTSxPQUFPLGdCQUFnQjtJQVkzQjs7OztnRkFJNEU7SUFFNUU7UUFoQkE7Ozs7b0ZBSTRFO1FBRTNELFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEQsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFTN0MsSUFBSSxDQUFDLDJCQUEyQixFQUFFO2FBQy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUU1RCxJQUFJLENBQUMsYUFBYSxFQUFFO2FBQ2pCLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFl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RUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUM7WUFDekQsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztZQUN0RCxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDO1lBRTVELFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7WUFDdEQsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztZQUV2RCxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDO1lBQzNELFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7WUFDNUQsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN4RCxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBRXpELFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7WUFDMUQsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztZQUN6RCxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO1lBQ3hELFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFFcEQsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQztZQUU5RCxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDdkQsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDeEQsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQzdELFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDbEUsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdkUsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQzdFLENBQUM7UUFDRixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OzhHQTVIVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQixjQUZmLE1BQU07NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VuaXREaW1lbnNpb25JbmZvLCBVbml0SW5mbywgVW5pdFJlZ2lzdHJ5fSBmcm9tICcuL21vZGVsL3VuaXQtcmVnaXN0cnknO1xuaW1wb3J0IHtVbml0RGltZW5zaW9ufSBmcm9tICcuL21vZGVsL3VuaXQtZGltZW5zaW9uJztcbmltcG9ydCB7VW5pdH0gZnJvbSAnLi9tb2RlbC91bml0JztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBFbGRlclVuaXRTZXJ2aWNlIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZWdpc3RyeSA9IG5ldyBVbml0UmVnaXN0cnkoKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmJ1aWxkVW5pdERpbWVuc2lvbkluZm9JbmRleCgpXG4gICAgICAuZm9yRWFjaChkaW0gPT4gdGhpcy5yZWdpc3RyeS5yZWdpc3RlclVuaXREaW1lbnNpb24oZGltKSk7XG5cbiAgICB0aGlzLmJ1aWxkVW5pdEluZm8oKVxuICAgICAgLmZvckVhY2godW5pdEluZm8gPT4gdGhpcy5yZWdpc3RyeS5yZWdpc3RlclVuaXQodW5pdEluZm8pKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXRBbGxVbml0SW5mb3MoKTogVW5pdEluZm9bXSB7XG4gICAgcmV0dXJuIHRoaXMucmVnaXN0cnkuZ2V0QWxsVW5pdEluZm9zKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QmFzZVVuaXQodW5pdDogVW5pdCk6IFVuaXQge1xuICAgIHJldHVybiB0aGlzLnJlZ2lzdHJ5LmdldEJhc2VVbml0KHVuaXQpO1xuICB9XG5cbiAgcHVibGljIGdldFVuaXREaW1lbnNpb24odW5pdDogVW5pdCk6IFVuaXREaW1lbnNpb24ge1xuICAgIHJldHVybiB0aGlzLnJlZ2lzdHJ5LmdldFVuaXREaW1lbnNpb24odW5pdCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VG9CYXNlRmFjdG9yKHVuaXQ6IFVuaXQpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnJlZ2lzdHJ5LmdldFRvQmFzZUZhY3Rvcih1bml0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVbml0U3ltYm9sKHVuaXQ6IFVuaXQpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlZ2lzdHJ5LmdldFVuaXRTeW1ib2wodW5pdCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VW5pdEluZm9zQnlEaW1lbnNpb24oZGltZW5zaW9uOiBVbml0RGltZW5zaW9uKTogVW5pdEluZm9bXSB7XG4gICAgcmV0dXJuIHRoaXMucmVnaXN0cnkuZ2V0VW5pdEluZm9zQnlEaW1lbnNpb24oZGltZW5zaW9uKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgYnVpbGRVbml0RGltZW5zaW9uSW5mb0luZGV4KCk6IE1hcDxVbml0RGltZW5zaW9uLCBVbml0RGltZW5zaW9uSW5mbz4ge1xuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8VW5pdERpbWVuc2lvbiwgVW5pdERpbWVuc2lvbkluZm8+KCk7XG4gICAgbWFwLnNldChVbml0RGltZW5zaW9uLk90aGVyLCBuZXcgVW5pdERpbWVuc2lvbkluZm8oVW5pdERpbWVuc2lvbi5PdGhlciwgbnVsbCkpO1xuICAgIG1hcC5zZXQoVW5pdERpbWVuc2lvbi5JbnZlbnRvcnksIG5ldyBVbml0RGltZW5zaW9uSW5mbyhVbml0RGltZW5zaW9uLkludmVudG9yeSwgVW5pdC5wYykpO1xuICAgIG1hcC5zZXQoVW5pdERpbWVuc2lvbi5NYXNzLCBuZXcgVW5pdERpbWVuc2lvbkluZm8oVW5pdERpbWVuc2lvbi5NYXNzLCBVbml0LmcpKTtcbiAgICBtYXAuc2V0KFVuaXREaW1lbnNpb24uVGltZSwgbmV3IFVuaXREaW1lbnNpb25JbmZvKFVuaXREaW1lbnNpb24uVGltZSwgVW5pdC5zZWMpKTtcbiAgICBtYXAuc2V0KFVuaXREaW1lbnNpb24uTGVuZ3RoLCBuZXcgVW5pdERpbWVuc2lvbkluZm8oVW5pdERpbWVuc2lvbi5MZW5ndGgsIFVuaXQubSkpO1xuICAgIG1hcC5zZXQoVW5pdERpbWVuc2lvbi5Wb2x1bWUsIG5ldyBVbml0RGltZW5zaW9uSW5mbyhVbml0RGltZW5zaW9uLlZvbHVtZSwgVW5pdC5sKSk7XG4gICAgbWFwLnNldChVbml0RGltZW5zaW9uLkFyZWEsIG5ldyBVbml0RGltZW5zaW9uSW5mbyhVbml0RGltZW5zaW9uLkFyZWEsIFVuaXQubTIpKTtcbiAgICByZXR1cm4gbWFwO1xuICB9XG5cblxuICBwcml2YXRlIGJ1aWxkVW5pdEluZm8oKTogVW5pdEluZm9bXSB7XG4gICAgY29uc3QgaW5mb3M6IFVuaXRJbmZvW10gPSBbXG5cbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uSW52ZW50b3J5LCBVbml0LnBjLCAnc3RrJywgMS4wKSxcbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uSW52ZW50b3J5LCBVbml0LnRmbCwgJ3RmbCcsIDEuMCksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLkludmVudG9yeSwgVW5pdC5kb3osICdkb3onKSwgLy8gd2UgZG9udCB3YW50IGF1dG8gY29udmVyc2lvbnMgdG8gdGhpcyB1bml0XG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLkludmVudG9yeSwgVW5pdC5ncm9zcywgJ2dybycpLCAvLyB3ZSBkb250IHdhbnQgYXV0byBjb252ZXJzaW9ucyB0byB0aGlzIHVuaXRcblxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5NYXNzLCBVbml0Lm1nLCAnbWcnLCAwLjAwMSksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLk1hc3MsIFVuaXQuZywgJ2cnLCAxKSxcbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uTWFzcywgVW5pdC5rZywgJ2tnJywgMTAwMCksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLk1hc3MsIFVuaXQudCwgJ3QnLCAxMDAwICogMTAwMCksXG5cbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uTGVuZ3RoLCBVbml0Lm1tLCAnbW0nLCAwLjAwMSksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLkxlbmd0aCwgVW5pdC5jbSwgJ2NtJywgMC4wMSksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLkxlbmd0aCwgVW5pdC5kbSwgJ2RtJywgMC4xKSxcbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uTGVuZ3RoLCBVbml0Lm0sICdtJywgMS4wKSxcbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uTGVuZ3RoLCBVbml0LmttLCAna20nLCAxMDAwKSxcblxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5BcmVhLCBVbml0Lm1tMiwgJ21twrInLCAxZS02KSxcbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uQXJlYSwgVW5pdC5jbTIsICdjbcKyJywgMC4wMDAxKSxcbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uQXJlYSwgVW5pdC5kbTIsICdkbcKyJywgMC4wMSksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLkFyZWEsIFVuaXQubTIsICdtwrInLCAxLjApLFxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5BcmVhLCBVbml0LmttMiwgJ2ttwrInLCAxMDAwMDAwKSxcblxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5BcmVhLCBVbml0LmEsICdhJywgMTAwLjApLFxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5BcmVhLCBVbml0LmhhLCAnaGEnLCAxMDAwKSxcblxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5Wb2x1bWUsIFVuaXQubW0zLCAnbW3CsycsIDFlLTYpLFxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5Wb2x1bWUsIFVuaXQuY20zLCAnY23CsycsIDAuMDAxKSxcbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uVm9sdW1lLCBVbml0LmRtMywgJ2RtwrMnLCAxKSxcbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uVm9sdW1lLCBVbml0Lm0zLCAnbcKzJywgMTAwMCksXG5cbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uVm9sdW1lLCBVbml0Lm1sLCAnbWwnLCAwLjAwMSksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLlZvbHVtZSwgVW5pdC5jbCwgJ2NsJywgMC4wMSksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLlZvbHVtZSwgVW5pdC5kbCwgJ2RsJywgMC4xKSxcbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uVm9sdW1lLCBVbml0LmwsICdsJywgMSksXG5cbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uVm9sdW1lLCBVbml0LmdhbCwgJ2dhbCcsIDMuNzg1NDEpLFxuXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLlRpbWUsIFVuaXQuc2VjLCAnc2VjJywgMSksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLlRpbWUsIFVuaXQubWluLCAnbWluJywgNjApLFxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5UaW1lLCBVbml0LmgsICdoJywgNjAgKiA2MCksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLlRpbWUsIFVuaXQuZCwgJ2QnLCA2MCAqIDYwICogMjQpLFxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5UaW1lLCBVbml0LndrLCAnZCcsIDYwICogNjAgKiAyNCAqIDcpLFxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5UaW1lLCBVbml0Lm1vLCAnbW8nLCA2MCAqIDYwICogMjQgKiA3ICogNCksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLlRpbWUsIFVuaXQueXIsICd5cicsIDYwICogNjAgKiAyNCAqIDcgKiA0ICogMTIpLFxuICAgIF07XG4gICAgcmV0dXJuIGluZm9zO1xuICB9XG59XG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdW5pdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9tZWFzdXJlcy9lbGRlci11bml0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2hGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7QUFLbkQsTUFBTSxPQUFPLGdCQUFnQjtJQVkzQjs7OztnRkFJNEU7SUFFNUU7UUFoQkE7Ozs7b0ZBSTRFO1FBRTNELFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEQsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFTN0MsSUFBSSxDQUFDLDJCQUEyQixFQUFFO2FBQy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUU1RCxJQUFJLENBQUMsYUFBYSxFQUFFO2FBQ2pCLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFl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RUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUM7WUFDekQsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztZQUN0RCxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDO1lBRTVELFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7WUFDdEQsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztZQUV2RCxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDO1lBQzNELFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7WUFDNUQsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN4RCxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBRXpELFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7WUFDMUQsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztZQUN6RCxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO1lBQ3hELFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFFcEQsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQztZQUU5RCxRQUFRLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDdkQsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDeEQsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQzdELFFBQVEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDbEUsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdkUsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQzdFLENBQUM7UUFDRixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OzZHQTVIVSxnQkFBZ0I7aUhBQWhCLGdCQUFnQixjQUZmLE1BQU07MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VuaXREaW1lbnNpb25JbmZvLCBVbml0SW5mbywgVW5pdFJlZ2lzdHJ5fSBmcm9tICcuL21vZGVsL3VuaXQtcmVnaXN0cnknO1xuaW1wb3J0IHtVbml0RGltZW5zaW9ufSBmcm9tICcuL21vZGVsL3VuaXQtZGltZW5zaW9uJztcbmltcG9ydCB7VW5pdH0gZnJvbSAnLi9tb2RlbC91bml0JztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBFbGRlclVuaXRTZXJ2aWNlIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZWdpc3RyeSA9IG5ldyBVbml0UmVnaXN0cnkoKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmJ1aWxkVW5pdERpbWVuc2lvbkluZm9JbmRleCgpXG4gICAgICAuZm9yRWFjaChkaW0gPT4gdGhpcy5yZWdpc3RyeS5yZWdpc3RlclVuaXREaW1lbnNpb24oZGltKSk7XG5cbiAgICB0aGlzLmJ1aWxkVW5pdEluZm8oKVxuICAgICAgLmZvckVhY2godW5pdEluZm8gPT4gdGhpcy5yZWdpc3RyeS5yZWdpc3RlclVuaXQodW5pdEluZm8pKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXRBbGxVbml0SW5mb3MoKTogVW5pdEluZm9bXSB7XG4gICAgcmV0dXJuIHRoaXMucmVnaXN0cnkuZ2V0QWxsVW5pdEluZm9zKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QmFzZVVuaXQodW5pdDogVW5pdCk6IFVuaXQge1xuICAgIHJldHVybiB0aGlzLnJlZ2lzdHJ5LmdldEJhc2VVbml0KHVuaXQpO1xuICB9XG5cbiAgcHVibGljIGdldFVuaXREaW1lbnNpb24odW5pdDogVW5pdCk6IFVuaXREaW1lbnNpb24ge1xuICAgIHJldHVybiB0aGlzLnJlZ2lzdHJ5LmdldFVuaXREaW1lbnNpb24odW5pdCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VG9CYXNlRmFjdG9yKHVuaXQ6IFVuaXQpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnJlZ2lzdHJ5LmdldFRvQmFzZUZhY3Rvcih1bml0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVbml0U3ltYm9sKHVuaXQ6IFVuaXQpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlZ2lzdHJ5LmdldFVuaXRTeW1ib2wodW5pdCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VW5pdEluZm9zQnlEaW1lbnNpb24oZGltZW5zaW9uOiBVbml0RGltZW5zaW9uKTogVW5pdEluZm9bXSB7XG4gICAgcmV0dXJuIHRoaXMucmVnaXN0cnkuZ2V0VW5pdEluZm9zQnlEaW1lbnNpb24oZGltZW5zaW9uKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgYnVpbGRVbml0RGltZW5zaW9uSW5mb0luZGV4KCk6IE1hcDxVbml0RGltZW5zaW9uLCBVbml0RGltZW5zaW9uSW5mbz4ge1xuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8VW5pdERpbWVuc2lvbiwgVW5pdERpbWVuc2lvbkluZm8+KCk7XG4gICAgbWFwLnNldChVbml0RGltZW5zaW9uLk90aGVyLCBuZXcgVW5pdERpbWVuc2lvbkluZm8oVW5pdERpbWVuc2lvbi5PdGhlciwgbnVsbCkpO1xuICAgIG1hcC5zZXQoVW5pdERpbWVuc2lvbi5JbnZlbnRvcnksIG5ldyBVbml0RGltZW5zaW9uSW5mbyhVbml0RGltZW5zaW9uLkludmVudG9yeSwgVW5pdC5wYykpO1xuICAgIG1hcC5zZXQoVW5pdERpbWVuc2lvbi5NYXNzLCBuZXcgVW5pdERpbWVuc2lvbkluZm8oVW5pdERpbWVuc2lvbi5NYXNzLCBVbml0LmcpKTtcbiAgICBtYXAuc2V0KFVuaXREaW1lbnNpb24uVGltZSwgbmV3IFVuaXREaW1lbnNpb25JbmZvKFVuaXREaW1lbnNpb24uVGltZSwgVW5pdC5zZWMpKTtcbiAgICBtYXAuc2V0KFVuaXREaW1lbnNpb24uTGVuZ3RoLCBuZXcgVW5pdERpbWVuc2lvbkluZm8oVW5pdERpbWVuc2lvbi5MZW5ndGgsIFVuaXQubSkpO1xuICAgIG1hcC5zZXQoVW5pdERpbWVuc2lvbi5Wb2x1bWUsIG5ldyBVbml0RGltZW5zaW9uSW5mbyhVbml0RGltZW5zaW9uLlZvbHVtZSwgVW5pdC5sKSk7XG4gICAgbWFwLnNldChVbml0RGltZW5zaW9uLkFyZWEsIG5ldyBVbml0RGltZW5zaW9uSW5mbyhVbml0RGltZW5zaW9uLkFyZWEsIFVuaXQubTIpKTtcbiAgICByZXR1cm4gbWFwO1xuICB9XG5cblxuICBwcml2YXRlIGJ1aWxkVW5pdEluZm8oKTogVW5pdEluZm9bXSB7XG4gICAgY29uc3QgaW5mb3M6IFVuaXRJbmZvW10gPSBbXG5cbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uSW52ZW50b3J5LCBVbml0LnBjLCAnc3RrJywgMS4wKSxcbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uSW52ZW50b3J5LCBVbml0LnRmbCwgJ3RmbCcsIDEuMCksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLkludmVudG9yeSwgVW5pdC5kb3osICdkb3onKSwgLy8gd2UgZG9udCB3YW50IGF1dG8gY29udmVyc2lvbnMgdG8gdGhpcyB1bml0XG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLkludmVudG9yeSwgVW5pdC5ncm9zcywgJ2dybycpLCAvLyB3ZSBkb250IHdhbnQgYXV0byBjb252ZXJzaW9ucyB0byB0aGlzIHVuaXRcblxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5NYXNzLCBVbml0Lm1nLCAnbWcnLCAwLjAwMSksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLk1hc3MsIFVuaXQuZywgJ2cnLCAxKSxcbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uTWFzcywgVW5pdC5rZywgJ2tnJywgMTAwMCksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLk1hc3MsIFVuaXQudCwgJ3QnLCAxMDAwICogMTAwMCksXG5cbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uTGVuZ3RoLCBVbml0Lm1tLCAnbW0nLCAwLjAwMSksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLkxlbmd0aCwgVW5pdC5jbSwgJ2NtJywgMC4wMSksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLkxlbmd0aCwgVW5pdC5kbSwgJ2RtJywgMC4xKSxcbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uTGVuZ3RoLCBVbml0Lm0sICdtJywgMS4wKSxcbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uTGVuZ3RoLCBVbml0LmttLCAna20nLCAxMDAwKSxcblxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5BcmVhLCBVbml0Lm1tMiwgJ21twrInLCAxZS02KSxcbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uQXJlYSwgVW5pdC5jbTIsICdjbcKyJywgMC4wMDAxKSxcbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uQXJlYSwgVW5pdC5kbTIsICdkbcKyJywgMC4wMSksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLkFyZWEsIFVuaXQubTIsICdtwrInLCAxLjApLFxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5BcmVhLCBVbml0LmttMiwgJ2ttwrInLCAxMDAwMDAwKSxcblxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5BcmVhLCBVbml0LmEsICdhJywgMTAwLjApLFxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5BcmVhLCBVbml0LmhhLCAnaGEnLCAxMDAwKSxcblxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5Wb2x1bWUsIFVuaXQubW0zLCAnbW3CsycsIDFlLTYpLFxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5Wb2x1bWUsIFVuaXQuY20zLCAnY23CsycsIDAuMDAxKSxcbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uVm9sdW1lLCBVbml0LmRtMywgJ2RtwrMnLCAxKSxcbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uVm9sdW1lLCBVbml0Lm0zLCAnbcKzJywgMTAwMCksXG5cbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uVm9sdW1lLCBVbml0Lm1sLCAnbWwnLCAwLjAwMSksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLlZvbHVtZSwgVW5pdC5jbCwgJ2NsJywgMC4wMSksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLlZvbHVtZSwgVW5pdC5kbCwgJ2RsJywgMC4xKSxcbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uVm9sdW1lLCBVbml0LmwsICdsJywgMSksXG5cbiAgICAgIFVuaXRJbmZvLmluZm9TKFVuaXREaW1lbnNpb24uVm9sdW1lLCBVbml0LmdhbCwgJ2dhbCcsIDMuNzg1NDEpLFxuXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLlRpbWUsIFVuaXQuc2VjLCAnc2VjJywgMSksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLlRpbWUsIFVuaXQubWluLCAnbWluJywgNjApLFxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5UaW1lLCBVbml0LmgsICdoJywgNjAgKiA2MCksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLlRpbWUsIFVuaXQuZCwgJ2QnLCA2MCAqIDYwICogMjQpLFxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5UaW1lLCBVbml0LndrLCAnZCcsIDYwICogNjAgKiAyNCAqIDcpLFxuICAgICAgVW5pdEluZm8uaW5mb1MoVW5pdERpbWVuc2lvbi5UaW1lLCBVbml0Lm1vLCAnbW8nLCA2MCAqIDYwICogMjQgKiA3ICogNCksXG4gICAgICBVbml0SW5mby5pbmZvUyhVbml0RGltZW5zaW9uLlRpbWUsIFVuaXQueXIsICd5cicsIDYwICogNjAgKiAyNCAqIDcgKiA0ICogMTIpLFxuICAgIF07XG4gICAgcmV0dXJuIGluZm9zO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { LoggerFactory } from '@elderbyte/ts-logger';
3
+ import { ElderFromFieldCustomizableBase } from '../../../../common/forms/elder-from-field-customizable-base';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/material/icon";
7
+ import * as i3 from "@angular/material/form-field";
8
+ import * as i4 from "../../../forms/directives/validation/elder-validation-error.directive";
9
+ import * as i5 from "@ngx-translate/core";
10
+ export class ElderQuantityFormFieldComponent extends ElderFromFieldCustomizableBase {
11
+ /***************************************************************************
12
+ * *
13
+ * Constructor *
14
+ * *
15
+ **************************************************************************/
16
+ constructor() {
17
+ super();
18
+ /***************************************************************************
19
+ * *
20
+ * Fields *
21
+ * *
22
+ **************************************************************************/
23
+ this.log = LoggerFactory.getLogger(this.constructor.name);
24
+ this.floatLabel = 'auto';
25
+ }
26
+ }
27
+ ElderQuantityFormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderQuantityFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
+ ElderQuantityFormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ElderQuantityFormFieldComponent, selector: "elder-quantity-form-field", usesInheritance: true, ngImport: i0, template: "<mat-form-field [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n>\n\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <span matIconPrefix *ngIf=\"showIcon && icon\">\n <mat-icon [inline]=\"true\">{{icon}}</mat-icon>\n </span>\n\n <ng-content></ng-content>\n\n <mat-hint *ngIf=\"showHint\" align=\"end\">\n <span *ngIf=\"hint\">{{hint}}</span>\n </mat-hint>\n\n <mat-error elderValidationError></mat-error>\n\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.ElderValidationErrorDirective, selector: "mat-error[elderValidationError]" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderQuantityFormFieldComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'elder-quantity-form-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field [floatLabel]=\"floatLabel\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n>\n\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n\n <span matIconPrefix *ngIf=\"showIcon && icon\">\n <mat-icon [inline]=\"true\">{{icon}}</mat-icon>\n </span>\n\n <ng-content></ng-content>\n\n <mat-hint *ngIf=\"showHint\" align=\"end\">\n <span *ngIf=\"hint\">{{hint}}</span>\n </mat-hint>\n\n <mat-error elderValidationError></mat-error>\n\n</mat-form-field>\n" }]
32
+ }], ctorParameters: function () { return []; } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItcXVhbnRpdHktZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL21lYXN1cmVzL3F1YW50aXR5LWlucHV0L3F1YW50aXR5LWZvcm0tZmllbGQvZWxkZXItcXVhbnRpdHktZm9ybS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL21lYXN1cmVzL3F1YW50aXR5LWlucHV0L3F1YW50aXR5LWZvcm0tZmllbGQvZWxkZXItcXVhbnRpdHktZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSw2REFBNkQsQ0FBQzs7Ozs7OztBQVEzRyxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsOEJBQTRFO0lBVS9IOzs7O2dGQUk0RTtJQUU1RTtRQUVFLEtBQUssRUFBRSxDQUFDO1FBaEJWOzs7O29GQUk0RTtRQUUzRCxRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBV3BFLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO0lBQzNCLENBQUM7OzRIQXBCVSwrQkFBK0I7Z0hBQS9CLCtCQUErQix3RkNaNUMsMmdCQW9CQTsyRkRSYSwrQkFBK0I7a0JBTjNDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UXVhbnRpdHl9IGZyb20gJy4uLy4uL21vZGVsL3F1YW50aXR5JztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtFbGRlclF1YW50aXR5SW5wdXRDb250cm9sQ29tcG9uZW50fSBmcm9tICcuLi9xdWFudGl0eS1pbnB1dC1jb250cm9sL2VsZGVyLXF1YW50aXR5LWlucHV0LWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7RWxkZXJGcm9tRmllbGRDdXN0b21pemFibGVCYXNlfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZm9ybXMvZWxkZXItZnJvbS1maWVsZC1jdXN0b21pemFibGUtYmFzZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLXF1YW50aXR5LWZvcm0tZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItcXVhbnRpdHktZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLXF1YW50aXR5LWZvcm0tZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJRdWFudGl0eUZvcm1GaWVsZENvbXBvbmVudCBleHRlbmRzIEVsZGVyRnJvbUZpZWxkQ3VzdG9taXphYmxlQmFzZTxRdWFudGl0eSwgRWxkZXJRdWFudGl0eUlucHV0Q29udHJvbENvbXBvbmVudD4ge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmZsb2F0TGFiZWwgPSAnYXV0byc7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIlxuICAgICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4+XG5cbiAgPG1hdC1sYWJlbCAqbmdJZj1cImxhYmVsXCI+e3tsYWJlbCB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG5cbiAgPHNwYW4gbWF0SWNvblByZWZpeCAqbmdJZj1cInNob3dJY29uICYmIGljb25cIj5cbiAgICAgIDxtYXQtaWNvbiBbaW5saW5lXT1cInRydWVcIj57e2ljb259fTwvbWF0LWljb24+XG4gIDwvc3Bhbj5cblxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgPG1hdC1oaW50ICpuZ0lmPVwic2hvd0hpbnRcIiBhbGlnbj1cImVuZFwiPlxuICAgIDxzcGFuICpuZ0lmPVwiaGludFwiPnt7aGludH19PC9zcGFuPlxuICA8L21hdC1oaW50PlxuXG4gIDxtYXQtZXJyb3IgZWxkZXJWYWxpZGF0aW9uRXJyb3I+PC9tYXQtZXJyb3I+XG5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
@@ -0,0 +1,176 @@
1
+ import { ChangeDetectionStrategy, Component, Input, Optional, Output, Self, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { ElderFormFieldControlBase } from '../../../../common/forms/elder-form-field-control-base.directive';
3
+ import { Quantity } from '../../model/quantity';
4
+ import { LoggerFactory } from '@elderbyte/ts-logger';
5
+ import { MatFormFieldControl } from '@angular/material/form-field';
6
+ import { BehaviorSubject, combineLatest } from 'rxjs';
7
+ import { filter, map } from 'rxjs/operators';
8
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/cdk/a11y";
11
+ import * as i2 from "@ngx-translate/core";
12
+ import * as i3 from "@angular/forms";
13
+ import * as i4 from "../../elder-unit.service";
14
+ import * as i5 from "@angular/common";
15
+ import * as i6 from "@angular/material/input";
16
+ import * as i7 from "../../../forms/directives/elder-form-field-no-spinner.directive";
17
+ export class ElderQuantityInputControlComponent extends ElderFormFieldControlBase {
18
+ /***************************************************************************
19
+ * *
20
+ * Constructor *
21
+ * *
22
+ **************************************************************************/
23
+ constructor(hostRef, zone, focusMonitor, translateService, ngControl, unitService, decimalPipe) {
24
+ super(hostRef, 'quantity-input', focusMonitor, translateService, ngControl);
25
+ this.ngControl = ngControl;
26
+ this.unitService = unitService;
27
+ this.decimalPipe = decimalPipe;
28
+ /***************************************************************************
29
+ * *
30
+ * Fields *
31
+ * *
32
+ **************************************************************************/
33
+ this.log = LoggerFactory.getLogger(this.constructor.name);
34
+ this.quantityInput$ = new BehaviorSubject(null);
35
+ /**
36
+ * Display format for the quantity value:
37
+ * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}
38
+ */
39
+ this.displayFormat = null;
40
+ this.afterInit = false;
41
+ this._hideUnit = false;
42
+ this.unitSymbol$ = this.value$.pipe(map(v => v?.unit), map(unit => {
43
+ if (unit) {
44
+ return this.unitService.getUnitSymbol(unit);
45
+ }
46
+ else {
47
+ return '';
48
+ }
49
+ }));
50
+ this.formattedValue$ = combineLatest([
51
+ this.quantityInput$.pipe(filter(input => !!input)),
52
+ this.value$
53
+ ]).pipe(map(([input, quantity]) => {
54
+ const qtyValue = quantity?.value;
55
+ if (!input?.focused && this.displayFormat && qtyValue) {
56
+ return this.decimalPipe.transform(qtyValue, this.displayFormat, 'en')
57
+ .replace('\'', '')
58
+ .replace('’', '')
59
+ .replace(',', '');
60
+ }
61
+ else {
62
+ return qtyValue;
63
+ }
64
+ }));
65
+ }
66
+ /***************************************************************************
67
+ * *
68
+ * Life Cycle *
69
+ * *
70
+ **************************************************************************/
71
+ ngOnInit() {
72
+ this.value = Quantity.from(this.initialUnit, this.initialQtyValue);
73
+ this.afterInit = true;
74
+ }
75
+ /***************************************************************************
76
+ * *
77
+ * Properties *
78
+ * *
79
+ **************************************************************************/
80
+ set quantityInput(input) {
81
+ this.quantityInput$.next(input);
82
+ }
83
+ get quantityValueChange() {
84
+ return this.valueChange.pipe(map(q => q?.value));
85
+ }
86
+ get quantityValue() {
87
+ return this.value?.value;
88
+ }
89
+ set quantityValue(quantityValue) {
90
+ if (this.afterInit) {
91
+ this.value = Quantity.from(this.value?.unit, quantityValue);
92
+ }
93
+ else {
94
+ this.initialQtyValue = quantityValue;
95
+ }
96
+ }
97
+ set unit(unit) {
98
+ if (this.afterInit) {
99
+ this.value = Quantity.from(unit, this.value?.value);
100
+ }
101
+ else {
102
+ this.initialUnit = unit;
103
+ }
104
+ }
105
+ get unitChange() {
106
+ return this.valueChange.pipe(map(q => q?.unit));
107
+ }
108
+ get unit() {
109
+ return this.value?.unit;
110
+ }
111
+ set hideUnit(hide) {
112
+ this._hideUnit = coerceBooleanProperty(hide);
113
+ }
114
+ get hideUnit() {
115
+ return this._hideUnit;
116
+ }
117
+ /***************************************************************************
118
+ * *
119
+ * Public API *
120
+ * *
121
+ **************************************************************************/
122
+ onQuantityValueChanged(value) {
123
+ this.updateValue(Quantity.from(this.value?.unit, value));
124
+ }
125
+ blur() {
126
+ this.inputRef?.nativeElement?.blur();
127
+ }
128
+ focus(options) {
129
+ this.inputRef?.nativeElement?.focus(options);
130
+ }
131
+ /***************************************************************************
132
+ * *
133
+ * Internal methods *
134
+ * *
135
+ **************************************************************************/
136
+ valuesEquals(a, b) {
137
+ if (a === b) {
138
+ return true;
139
+ }
140
+ return a?.value === b?.value
141
+ && a?.unit === b?.unit;
142
+ }
143
+ }
144
+ ElderQuantityInputControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderQuantityInputControlComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }, { token: i4.ElderUnitService }, { token: i5.DecimalPipe }], target: i0.ɵɵFactoryTarget.Component });
145
+ ElderQuantityInputControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ElderQuantityInputControlComponent, selector: "elder-quantity-input", inputs: { displayFormat: "displayFormat", quantityValue: "quantityValue", unit: "unit", hideUnit: "hideUnit" }, outputs: { quantityValueChange: "quantityValueChange", unitChange: "unitChange" }, providers: [
146
+ { provide: MatFormFieldControl, useExisting: ElderQuantityInputControlComponent },
147
+ ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }, { propertyName: "quantityInput", first: true, predicate: ["quantityMatInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"layout-row place-start-baseline elder-flex-control\"\n>\n <input #input\n matInput type=\"number\" elderNoSpinner\n #quantityMatInput=\"matInput\"\n class=\"flex-grow elder-quantity-input mdc-text-field__input\"\n [disabled]=\"!!disabled\"\n [readonly]=\"readonly\"\n [name]=\"ngControl?.name + '-inner-input'\"\n [placeholder]=\"placeholder | translate\"\n [ngModel]=\"formattedValue$ | async\" [ngModelOptions]=\"{standalone: true, updateOn: 'change'}\"\n (ngModelChange)=\"onQuantityValueChanged($event)\"\n >\n <span *ngIf=\"!hideUnit\" class=\"mat-small\">{{unitSymbol$ | async}}</span>\n</div>\n", styles: [".elder-quantity-input{text-align:right}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i7.ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ElderQuantityInputControlComponent, decorators: [{
149
+ type: Component,
150
+ args: [{ selector: 'elder-quantity-input', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
151
+ { provide: MatFormFieldControl, useExisting: ElderQuantityInputControlComponent },
152
+ ], template: "<div\n class=\"layout-row place-start-baseline elder-flex-control\"\n>\n <input #input\n matInput type=\"number\" elderNoSpinner\n #quantityMatInput=\"matInput\"\n class=\"flex-grow elder-quantity-input mdc-text-field__input\"\n [disabled]=\"!!disabled\"\n [readonly]=\"readonly\"\n [name]=\"ngControl?.name + '-inner-input'\"\n [placeholder]=\"placeholder | translate\"\n [ngModel]=\"formattedValue$ | async\" [ngModelOptions]=\"{standalone: true, updateOn: 'change'}\"\n (ngModelChange)=\"onQuantityValueChanged($event)\"\n >\n <span *ngIf=\"!hideUnit\" class=\"mat-small\">{{unitSymbol$ | async}}</span>\n</div>\n", styles: [".elder-quantity-input{text-align:right}\n"] }]
153
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.FocusMonitor }, { type: i2.TranslateService }, { type: i3.NgControl, decorators: [{
154
+ type: Optional
155
+ }, {
156
+ type: Self
157
+ }] }, { type: i4.ElderUnitService }, { type: i5.DecimalPipe }]; }, propDecorators: { inputRef: [{
158
+ type: ViewChild,
159
+ args: ['input']
160
+ }], displayFormat: [{
161
+ type: Input
162
+ }], quantityInput: [{
163
+ type: ViewChild,
164
+ args: ['quantityMatInput']
165
+ }], quantityValueChange: [{
166
+ type: Output
167
+ }], quantityValue: [{
168
+ type: Input
169
+ }], unit: [{
170
+ type: Input
171
+ }], unitChange: [{
172
+ type: Output
173
+ }], hideUnit: [{
174
+ type: Input
175
+ }] } });
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItcXVhbnRpdHktaW5wdXQtY29udHJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL21lYXN1cmVzL3F1YW50aXR5LWlucHV0L3F1YW50aXR5LWlucHV0LWNvbnRyb2wvZWxkZXItcXVhbnRpdHktaW5wdXQtY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL21lYXN1cmVzL3F1YW50aXR5LWlucHV0L3F1YW50aXR5LWlucHV0LWNvbnRyb2wvZWxkZXItcXVhbnRpdHktaW5wdXQtY29udHJvbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0osU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUMzRyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBSW5ELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFLM0MsT0FBTyxFQUFlLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztBQVkxRSxNQUFNLE9BQU8sa0NBQW1DLFNBQVEseUJBQW1DO0lBK0J6Rjs7OztnRkFJNEU7SUFFNUUsWUFDRSxPQUFtQixFQUNuQixJQUFZLEVBQ1osWUFBMEIsRUFDMUIsZ0JBQWtDLEVBQ1AsU0FBb0IsRUFDOUIsV0FBNkIsRUFDN0IsV0FBd0I7UUFFekMsS0FBSyxDQUNILE9BQU8sRUFDUCxnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixTQUFTLENBQ1YsQ0FBQztRQVZ5QixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQTFDM0M7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFJckQsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBVyxJQUFJLENBQUMsQ0FBQztRQUV0RTs7O1dBR0c7UUFFSSxrQkFBYSxHQUFXLElBQUksQ0FBQztRQU01QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBSWxCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUF5QnhCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2pDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFDakIsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ1QsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM3QztpQkFBTTtnQkFDTCxPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLElBQUksQ0FBQyxlQUFlLEdBQUcsYUFBYSxDQUNsQztZQUNFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsTUFBTTtTQUNaLENBQ0YsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUN4QixNQUFNLFFBQVEsR0FBRyxRQUFRLEVBQUUsS0FBSyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksUUFBUSxFQUFFO2dCQUNyRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQztxQkFDbEUsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7cUJBQ2pCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO3FCQUNoQixPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ3JCO2lCQUFNO2dCQUNMLE9BQU8sUUFBUSxDQUFDO2FBQ2pCO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsUUFBUTtRQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFLElBQ1csYUFBYSxDQUFDLEtBQWU7UUFDdEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQ1csbUJBQW1CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQzFCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFDVyxhQUFhLENBQUMsYUFBcUI7UUFDNUMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztTQUM3RDthQUFNO1lBQ0wsSUFBSSxDQUFDLGVBQWUsR0FBRyxhQUFhLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRUQsSUFDVyxJQUFJLENBQUMsSUFBVTtRQUN4QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3JEO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxJQUNXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDMUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUNsQixDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQ1csUUFBUSxDQUFDLElBQWtCO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxzQkFBc0IsQ0FBQyxLQUFhO1FBQ3pDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFpQztRQUM1QyxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVsRSxZQUFZLENBQUMsQ0FBVyxFQUFFLENBQVc7UUFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsS0FBSztlQUN2QixDQUFDLEVBQUUsSUFBSSxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUM7SUFDM0IsQ0FBQzs7K0hBMUxVLGtDQUFrQzttSEFBbEMsa0NBQWtDLGtQQUpsQztRQUNULEVBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxrQ0FBa0MsRUFBQztLQUNoRix3UENuQ0gsc3JCQWdCQTsyRkRxQmEsa0NBQWtDO2tCQVY5QyxTQUFTOytCQUNFLHNCQUFzQixpQkFHakIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVCxFQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLG9DQUFvQyxFQUFDO3FCQUNoRjs7MEJBNENFLFFBQVE7OzBCQUFJLElBQUk7cUdBL0JaLFFBQVE7c0JBRGQsU0FBUzt1QkFBQyxPQUFPO2dCQVNYLGFBQWE7c0JBRG5CLEtBQUs7Z0JBcUZLLGFBQWE7c0JBRHZCLFNBQVM7dUJBQUMsa0JBQWtCO2dCQU1sQixtQkFBbUI7c0JBRDdCLE1BQU07Z0JBWUksYUFBYTtzQkFEdkIsS0FBSztnQkFVSyxJQUFJO3NCQURkLEtBQUs7Z0JBVUssVUFBVTtzQkFEcEIsTUFBTTtnQkFZSSxRQUFRO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE5nWm9uZSwgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBTZWxmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFbGRlckZvcm1GaWVsZENvbnRyb2xCYXNlfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZm9ybXMvZWxkZXItZm9ybS1maWVsZC1jb250cm9sLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7UXVhbnRpdHl9IGZyb20gJy4uLy4uL21vZGVsL3F1YW50aXR5JztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtGb2N1c01vbml0b3J9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRDb250cm9sfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7RWxkZXJVbml0U2VydmljZX0gZnJvbSAnLi4vLi4vZWxkZXItdW5pdC5zZXJ2aWNlJztcbmltcG9ydCB7RGVjaW1hbFBpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge01hdElucHV0fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge1VuaXR9IGZyb20gJy4uLy4uL21vZGVsL3VuaXQnO1xuaW1wb3J0IHtCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItcXVhbnRpdHktaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItcXVhbnRpdHktaW5wdXQtY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLXF1YW50aXR5LWlucHV0LWNvbnRyb2wuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLCB1c2VFeGlzdGluZzogRWxkZXJRdWFudGl0eUlucHV0Q29udHJvbENvbXBvbmVudH0sXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJRdWFudGl0eUlucHV0Q29udHJvbENvbXBvbmVudCBleHRlbmRzIEVsZGVyRm9ybUZpZWxkQ29udHJvbEJhc2U8UXVhbnRpdHk+IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnKVxuICBwdWJsaWMgaW5wdXRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIHByaXZhdGUgcmVhZG9ubHkgcXVhbnRpdHlJbnB1dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1hdElucHV0PihudWxsKTtcblxuICAvKipcbiAgICogRGlzcGxheSBmb3JtYXQgZm9yIHRoZSBxdWFudGl0eSB2YWx1ZTpcbiAgICoge21pbkludGVnZXJEaWdpdHN9LnttaW5GcmFjdGlvbkRpZ2l0c30te21heEZyYWN0aW9uRGlnaXRzfVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGRpc3BsYXlGb3JtYXQ6IHN0cmluZyA9IG51bGw7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZvcm1hdHRlZFZhbHVlJDogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudW1iZXI+O1xuXG4gIHB1YmxpYyByZWFkb25seSB1bml0U3ltYm9sJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIHByaXZhdGUgYWZ0ZXJJbml0ID0gZmFsc2U7XG4gIHByaXZhdGUgaW5pdGlhbFVuaXQ6IFVuaXQ7XG4gIHByaXZhdGUgaW5pdGlhbFF0eVZhbHVlOiBudW1iZXI7XG5cbiAgcHJpdmF0ZSBfaGlkZVVuaXQgPSBmYWxzZTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBob3N0UmVmOiBFbGVtZW50UmVmLFxuICAgIHpvbmU6IE5nWm9uZSxcbiAgICBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdW5pdFNlcnZpY2U6IEVsZGVyVW5pdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWNpbWFsUGlwZTogRGVjaW1hbFBpcGVcbiAgKSB7XG4gICAgc3VwZXIoXG4gICAgICBob3N0UmVmLFxuICAgICAgJ3F1YW50aXR5LWlucHV0JyxcbiAgICAgIGZvY3VzTW9uaXRvcixcbiAgICAgIHRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICBuZ0NvbnRyb2xcbiAgICApO1xuXG4gICAgdGhpcy51bml0U3ltYm9sJCA9IHRoaXMudmFsdWUkLnBpcGUoXG4gICAgICBtYXAodiA9PiB2Py51bml0KSxcbiAgICAgIG1hcCh1bml0ID0+IHtcbiAgICAgICAgaWYgKHVuaXQpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy51bml0U2VydmljZS5nZXRVbml0U3ltYm9sKHVuaXQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5mb3JtYXR0ZWRWYWx1ZSQgPSBjb21iaW5lTGF0ZXN0KFxuICAgICAgW1xuICAgICAgICB0aGlzLnF1YW50aXR5SW5wdXQkLnBpcGUoZmlsdGVyKGlucHV0ID0+ICEhaW5wdXQpKSxcbiAgICAgICAgdGhpcy52YWx1ZSRcbiAgICAgIF1cbiAgICApLnBpcGUoXG4gICAgICBtYXAoKFtpbnB1dCwgcXVhbnRpdHldKSA9PiB7XG4gICAgICAgIGNvbnN0IHF0eVZhbHVlID0gcXVhbnRpdHk/LnZhbHVlO1xuICAgICAgICBpZiAoIWlucHV0Py5mb2N1c2VkICYmIHRoaXMuZGlzcGxheUZvcm1hdCAmJiBxdHlWYWx1ZSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmRlY2ltYWxQaXBlLnRyYW5zZm9ybShxdHlWYWx1ZSwgdGhpcy5kaXNwbGF5Rm9ybWF0LCAnZW4nKVxuICAgICAgICAgICAgLnJlcGxhY2UoJ1xcJycsICcnKVxuICAgICAgICAgICAgLnJlcGxhY2UoJ+KAmScsICcnKVxuICAgICAgICAgICAgLnJlcGxhY2UoJywnLCAnJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHF0eVZhbHVlO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IFF1YW50aXR5LmZyb20odGhpcy5pbml0aWFsVW5pdCwgdGhpcy5pbml0aWFsUXR5VmFsdWUpO1xuICAgIHRoaXMuYWZ0ZXJJbml0ID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBWaWV3Q2hpbGQoJ3F1YW50aXR5TWF0SW5wdXQnKVxuICBwdWJsaWMgc2V0IHF1YW50aXR5SW5wdXQoaW5wdXQ6IE1hdElucHV0KSB7XG4gICAgdGhpcy5xdWFudGl0eUlucHV0JC5uZXh0KGlucHV0KTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IHF1YW50aXR5VmFsdWVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxudW1iZXIgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVDaGFuZ2UucGlwZShcbiAgICAgIG1hcChxID0+IHE/LnZhbHVlKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1YW50aXR5VmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZT8udmFsdWU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHF1YW50aXR5VmFsdWUocXVhbnRpdHlWYWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuYWZ0ZXJJbml0KSB7XG4gICAgICB0aGlzLnZhbHVlID0gUXVhbnRpdHkuZnJvbSh0aGlzLnZhbHVlPy51bml0LCBxdWFudGl0eVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbml0aWFsUXR5VmFsdWUgPSBxdWFudGl0eVZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdW5pdCh1bml0OiBVbml0KSB7XG4gICAgaWYgKHRoaXMuYWZ0ZXJJbml0KSB7XG4gICAgICB0aGlzLnZhbHVlID0gUXVhbnRpdHkuZnJvbSh1bml0LCB0aGlzLnZhbHVlPy52YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5pdGlhbFVuaXQgPSB1bml0O1xuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IHVuaXRDaGFuZ2UoKTogT2JzZXJ2YWJsZTxVbml0IHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlQ2hhbmdlLnBpcGUoXG4gICAgICBtYXAocSA9PiBxPy51bml0KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVuaXQoKTogVW5pdCB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/LnVuaXQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGhpZGVVbml0KGhpZGU6IEJvb2xlYW5JbnB1dCl7XG4gICAgdGhpcy5faGlkZVVuaXQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoaGlkZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhpZGVVbml0KCl7XG4gICAgcmV0dXJuIHRoaXMuX2hpZGVVbml0O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG9uUXVhbnRpdHlWYWx1ZUNoYW5nZWQodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVmFsdWUoUXVhbnRpdHkuZnJvbSh0aGlzLnZhbHVlPy51bml0LCB2YWx1ZSkpO1xuICB9XG5cbiAgcHVibGljIGJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudD8uYmx1cigpO1xuICB9XG5cbiAgcHVibGljIGZvY3VzKG9wdGlvbnM6IEZvY3VzT3B0aW9ucyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEludGVybmFsIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIHZhbHVlc0VxdWFscyhhOiBRdWFudGl0eSwgYjogUXVhbnRpdHkpOiBib29sZWFuIHtcbiAgICBpZiAoYSA9PT0gYikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBhPy52YWx1ZSA9PT0gYj8udmFsdWVcbiAgICAgICYmIGE/LnVuaXQgPT09IGI/LnVuaXQ7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWJhc2VsaW5lIGVsZGVyLWZsZXgtY29udHJvbFwiXG4+XG4gIDxpbnB1dCAjaW5wdXRcbiAgICAgICAgIG1hdElucHV0IHR5cGU9XCJudW1iZXJcIiBlbGRlck5vU3Bpbm5lclxuICAgICAgICAgI3F1YW50aXR5TWF0SW5wdXQ9XCJtYXRJbnB1dFwiXG4gICAgICAgICBjbGFzcz1cImZsZXgtZ3JvdyBlbGRlci1xdWFudGl0eS1pbnB1dCBtZGMtdGV4dC1maWVsZF9faW5wdXRcIlxuICAgICAgICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgIFtuYW1lXT1cIm5nQ29udHJvbD8ubmFtZSArICctaW5uZXItaW5wdXQnXCJcbiAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICBbbmdNb2RlbF09XCJmb3JtYXR0ZWRWYWx1ZSQgfCBhc3luY1wiIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZSwgdXBkYXRlT246ICdjaGFuZ2UnfVwiXG4gICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblF1YW50aXR5VmFsdWVDaGFuZ2VkKCRldmVudClcIlxuICA+XG4gIDxzcGFuICpuZ0lmPVwiIWhpZGVVbml0XCIgY2xhc3M9XCJtYXQtc21hbGxcIj57e3VuaXRTeW1ib2wkIHwgYXN5bmN9fTwvc3Bhbj5cbjwvZGl2PlxuIl19