@elderbyte/ngx-starter 18.10.0 → 18.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (621) hide show
  1. package/_index.scss +38 -33
  2. package/esm2022/lib/common/arrays.mjs +1 -1
  3. package/esm2022/lib/common/async/public_api.mjs +1 -1
  4. package/esm2022/lib/common/async/refreshing-entity.mjs +5 -3
  5. package/esm2022/lib/common/csv/csv-serializer.mjs +5 -5
  6. package/esm2022/lib/common/csv/csv-spec.mjs +2 -2
  7. package/esm2022/lib/common/csv/public_api.mjs +1 -1
  8. package/esm2022/lib/common/data/continuable-listing.mjs +1 -1
  9. package/esm2022/lib/common/data/data-context/data-context-active-page.mjs +5 -4
  10. package/esm2022/lib/common/data/data-context/data-context-auto-starter.mjs +7 -5
  11. package/esm2022/lib/common/data/data-context/data-context-base.mjs +19 -12
  12. package/esm2022/lib/common/data/data-context/data-context-builder.mjs +5 -7
  13. package/esm2022/lib/common/data/data-context/data-context-continuable-base.mjs +5 -7
  14. package/esm2022/lib/common/data/data-context/data-context-continuable-paged.mjs +2 -2
  15. package/esm2022/lib/common/data/data-context/data-context-continuable-token.mjs +17 -7
  16. package/esm2022/lib/common/data/data-context/data-context-life-cycle-binding.mjs +2 -2
  17. package/esm2022/lib/common/data/data-context/data-context-simple.mjs +5 -4
  18. package/esm2022/lib/common/data/data-context/data-context-source-event-binding.mjs +2 -2
  19. package/esm2022/lib/common/data/data-context/data-context-status.mjs +1 -1
  20. package/esm2022/lib/common/data/data-context/data-context.mjs +5 -5
  21. package/esm2022/lib/common/data/data-context/indexed-entities.mjs +2 -2
  22. package/esm2022/lib/common/data/data-context/mat-table-data-context-binding.mjs +14 -8
  23. package/esm2022/lib/common/data/data-context/public_api.mjs +1 -1
  24. package/esm2022/lib/common/data/datasource/data-source-adapter.mjs +9 -5
  25. package/esm2022/lib/common/data/datasource/data-source-base.mjs +1 -1
  26. package/esm2022/lib/common/data/datasource/data-source-change-event.mjs +1 -1
  27. package/esm2022/lib/common/data/datasource/data-source-processor.mjs +14 -15
  28. package/esm2022/lib/common/data/datasource/data-source.mjs +4 -4
  29. package/esm2022/lib/common/data/datasource/entity-id-util.mjs +2 -2
  30. package/esm2022/lib/common/data/datasource/fetcher/delegate-data-source.mjs +2 -2
  31. package/esm2022/lib/common/data/datasource/local/local-list-data-source.mjs +9 -11
  32. package/esm2022/lib/common/data/datasource/local/local-paged-data-source.mjs +4 -2
  33. package/esm2022/lib/common/data/datasource/public_api.mjs +1 -1
  34. package/esm2022/lib/common/data/datasource/rest/public_api.mjs +1 -1
  35. package/esm2022/lib/common/data/datasource/rest/rest-client.mjs +44 -39
  36. package/esm2022/lib/common/data/entity-set-patch.mjs +6 -9
  37. package/esm2022/lib/common/data/field-comparator.mjs +2 -2
  38. package/esm2022/lib/common/data/filters/filter-commons.mjs +1 -1
  39. package/esm2022/lib/common/data/filters/filter-context.mjs +9 -9
  40. package/esm2022/lib/common/data/filters/filter-value.mjs +1 -1
  41. package/esm2022/lib/common/data/filters/filter.mjs +2 -2
  42. package/esm2022/lib/common/data/http-params-builder.mjs +5 -7
  43. package/esm2022/lib/common/data/page.mjs +1 -1
  44. package/esm2022/lib/common/data/public_api.mjs +1 -1
  45. package/esm2022/lib/common/data/required-filter-evaluator.mjs +7 -10
  46. package/esm2022/lib/common/data/sort-context.mjs +4 -6
  47. package/esm2022/lib/common/data/sort.mjs +1 -1
  48. package/esm2022/lib/common/data/token-chunk-request.mjs +1 -1
  49. package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +9 -9
  50. package/esm2022/lib/common/enums/public_api.mjs +1 -1
  51. package/esm2022/lib/common/errors/exception-detail.mjs +1 -1
  52. package/esm2022/lib/common/errors/public_api.mjs +1 -1
  53. package/esm2022/lib/common/errors/standard-error-detail.mjs +1 -1
  54. package/esm2022/lib/common/format/bytes-format.mjs +2 -9
  55. package/esm2022/lib/common/format/bytes-per-second-format.mjs +1 -1
  56. package/esm2022/lib/common/format/curency-format-util.mjs +1 -1
  57. package/esm2022/lib/common/format/duration-format-util.mjs +1 -1
  58. package/esm2022/lib/common/format/iso-interval-format-util.mjs +6 -4
  59. package/esm2022/lib/common/format/public_api.mjs +1 -1
  60. package/esm2022/lib/common/forms/elder-entity-value-accessor.mjs +7 -7
  61. package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +7 -7
  62. package/esm2022/lib/common/forms/elder-from-field-base.mjs +3 -3
  63. package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +1 -1
  64. package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +5 -5
  65. package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +7 -7
  66. package/esm2022/lib/common/forms/elder-multi-entity-value-accessor.mjs +7 -7
  67. package/esm2022/lib/common/forms/form-field-base.component.mjs +3 -4
  68. package/esm2022/lib/common/forms/multi-model-base.component.mjs +2 -2
  69. package/esm2022/lib/common/forms/public_api.mjs +1 -1
  70. package/esm2022/lib/common/forms/template-composite-control.mjs +17 -13
  71. package/esm2022/lib/common/forms/value-accessor-base.mjs +3 -3
  72. package/esm2022/lib/common/forms/view-providers.mjs +1 -1
  73. package/esm2022/lib/common/http/http-client-builder.service.mjs +2 -2
  74. package/esm2022/lib/common/http/http-client-pristine.mjs +2 -2
  75. package/esm2022/lib/common/http/public_api.mjs +1 -1
  76. package/esm2022/lib/common/http/transfer/data-transfer-base.mjs +2 -2
  77. package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +4 -4
  78. package/esm2022/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +6 -5
  79. package/esm2022/lib/common/http/transfer/data-transfer-progress.mjs +1 -1
  80. package/esm2022/lib/common/http/transfer/data-transfer-state.mjs +1 -1
  81. package/esm2022/lib/common/http/transfer/data-transfer-status.mjs +1 -1
  82. package/esm2022/lib/common/http/transfer/data-transfer.mjs +1 -1
  83. package/esm2022/lib/common/http/transfer/http-data-transfer.mjs +9 -9
  84. package/esm2022/lib/common/http/transfer/public_api.mjs +1 -1
  85. package/esm2022/lib/common/http/upload/file-upload-client.mjs +2 -2
  86. package/esm2022/lib/common/i18n/entity/impl/i18n-base.mjs +1 -1
  87. package/esm2022/lib/common/i18n/entity/impl/i18n-text.mjs +1 -1
  88. package/esm2022/lib/common/i18n/entity/impl/translated.mjs +1 -1
  89. package/esm2022/lib/common/i18n/entity/language-tag.mjs +1 -1
  90. package/esm2022/lib/common/i18n/entity/locale.mjs +1 -1
  91. package/esm2022/lib/common/i18n/entity/localisation-picker.mjs +4 -4
  92. package/esm2022/lib/common/i18n/entity/localized.mjs +1 -1
  93. package/esm2022/lib/common/i18n/entity/public_api.mjs +1 -1
  94. package/esm2022/lib/common/i18n/entity/translated-converter.mjs +4 -4
  95. package/esm2022/lib/common/i18n/entity/translated.mjs +1 -1
  96. package/esm2022/lib/common/i18n/public_api.mjs +1 -1
  97. package/esm2022/lib/common/json-map.mjs +3 -4
  98. package/esm2022/lib/common/objects.mjs +1 -1
  99. package/esm2022/lib/common/public_api.mjs +1 -1
  100. package/esm2022/lib/common/reactive-map.mjs +5 -5
  101. package/esm2022/lib/common/rxjs/operators/lazy-sample.mjs +2 -2
  102. package/esm2022/lib/common/rxjs/public_api.mjs +1 -1
  103. package/esm2022/lib/common/selection/public_api.mjs +1 -1
  104. package/esm2022/lib/common/selection/selection-model.mjs +8 -8
  105. package/esm2022/lib/common/sets.mjs +3 -2
  106. package/esm2022/lib/common/suggestion-provider.mjs +1 -1
  107. package/esm2022/lib/common/templates/template-slot-manager.mjs +2 -2
  108. package/esm2022/lib/common/theme-sizes.mjs +1 -1
  109. package/esm2022/lib/common/time/date-util.mjs +8 -10
  110. package/esm2022/lib/common/time/interval-coerce.mjs +3 -3
  111. package/esm2022/lib/common/time/interval.mjs +19 -16
  112. package/esm2022/lib/common/time/period-duration.mjs +1 -1
  113. package/esm2022/lib/common/time/public_api.mjs +1 -1
  114. package/esm2022/lib/common/time/temporal-plain-date-interval.mjs +1 -1
  115. package/esm2022/lib/common/time/temporal-util.mjs +1 -1
  116. package/esm2022/lib/common/time/time-util.mjs +3 -6
  117. package/esm2022/lib/common/url/elder-router.service.mjs +2 -2
  118. package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +4 -6
  119. package/esm2022/lib/common/url/public_api.mjs +1 -1
  120. package/esm2022/lib/common/url/url-query-params.mjs +2 -2
  121. package/esm2022/lib/common/utils/batcher.mjs +2 -2
  122. package/esm2022/lib/common/utils/collection-util.mjs +7 -5
  123. package/esm2022/lib/common/utils/filter-util.mjs +10 -8
  124. package/esm2022/lib/common/utils/focus-util.mjs +1 -1
  125. package/esm2022/lib/common/utils/input-utils.mjs +1 -1
  126. package/esm2022/lib/common/utils/next-number-util.mjs +4 -3
  127. package/esm2022/lib/common/utils/ng-zone-utils.mjs +2 -2
  128. package/esm2022/lib/common/utils/parse-util.mjs +1 -1
  129. package/esm2022/lib/common/utils/property-path-util.mjs +2 -2
  130. package/esm2022/lib/common/utils/public_api.mjs +1 -1
  131. package/esm2022/lib/common/utils/query-list-binding.mjs +5 -4
  132. package/esm2022/lib/common/utils/sort-util.mjs +2 -2
  133. package/esm2022/lib/common/utils/url-builder.mjs +1 -1
  134. package/esm2022/lib/common/utils/uuid-util.mjs +3 -4
  135. package/esm2022/lib/common/utils/value-wrapper.mjs +1 -1
  136. package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +4 -5
  137. package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +5 -15
  138. package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +16 -6
  139. package/esm2022/lib/components/auditing/elder-audit.module.mjs +4 -6
  140. package/esm2022/lib/components/auditing/i-audited-entity.mjs +1 -1
  141. package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +18 -12
  142. package/esm2022/lib/components/badge/elder-badge.directive.mjs +7 -7
  143. package/esm2022/lib/components/badge/elder-badge.module.mjs +4 -4
  144. package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +3 -5
  145. package/esm2022/lib/components/button-group/elder-button-group.module.mjs +5 -20
  146. package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +4 -5
  147. package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +2 -2
  148. package/esm2022/lib/components/card-organizer/card-organizer-data.mjs +7 -7
  149. package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +24 -12
  150. package/esm2022/lib/components/card-organizer/card-stack.mjs +3 -3
  151. package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +18 -7
  152. package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +3 -3
  153. package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +9 -9
  154. package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +16 -10
  155. package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +3 -3
  156. package/esm2022/lib/components/chips/elder-chips.module.mjs +3 -5
  157. package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +9 -8
  158. package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +10 -12
  159. package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +3 -3
  160. package/esm2022/lib/components/connectivity/public_api.mjs +1 -1
  161. package/esm2022/lib/components/containers/elder-containers.module.mjs +4 -10
  162. package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +4 -4
  163. package/esm2022/lib/components/containers/public_api.mjs +1 -1
  164. package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +6 -6
  165. package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.mjs +2 -4
  166. package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +2 -2
  167. package/esm2022/lib/components/csv/elder-csv-stream-exporter.mjs +12 -12
  168. package/esm2022/lib/components/csv/elder-csv.module.mjs +6 -19
  169. package/esm2022/lib/components/currency/elder-currency.module.mjs +6 -18
  170. package/esm2022/lib/components/currency/elder-currency.pipe.mjs +2 -2
  171. package/esm2022/lib/components/currency/model/currency-code.mjs +1 -1
  172. package/esm2022/lib/components/currency/model/currency-unit-registry.mjs +1 -1
  173. package/esm2022/lib/components/currency/model/currency-unit.mjs +1 -1
  174. package/esm2022/lib/components/currency/model/currency.mjs +1 -1
  175. package/esm2022/lib/components/currency/public_api.mjs +1 -1
  176. package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +28 -16
  177. package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +12 -10
  178. package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +23 -12
  179. package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +3 -3
  180. package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +13 -3
  181. package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +11 -3
  182. package/esm2022/lib/components/data-view/base/data-view-options-provider-binding.mjs +4 -2
  183. package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +4 -5
  184. package/esm2022/lib/components/data-view/base/elder-data-view-options-provider.mjs +1 -1
  185. package/esm2022/lib/components/data-view/base/elder-data-view-options.mjs +1 -1
  186. package/esm2022/lib/components/data-view/base/elder-data-view.mjs +1 -1
  187. package/esm2022/lib/components/data-view/base/public_api.mjs +1 -1
  188. package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-context.mjs +2 -2
  189. package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-dc.directive.mjs +5 -7
  190. package/esm2022/lib/components/data-view/common/composite-sort/composite-sort.mjs +4 -5
  191. package/esm2022/lib/components/data-view/common/composite-sort/elder-composite-sort/elder-composite-sort.component.mjs +6 -6
  192. package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +4 -5
  193. package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +38 -20
  194. package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +5 -13
  195. package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +16 -6
  196. package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +6 -4
  197. package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +4 -5
  198. package/esm2022/lib/components/data-view/common/selection/master-selection-state.mjs +1 -1
  199. package/esm2022/lib/components/data-view/elder-data-view-interaction-mode.mjs +1 -1
  200. package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +46 -26
  201. package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +30 -21
  202. package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +15 -9
  203. package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +5 -7
  204. package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +8 -6
  205. package/esm2022/lib/components/data-view/master-detail/elder-master-detail-provider.mjs +2 -2
  206. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +19 -25
  207. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +4 -4
  208. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +5 -4
  209. package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +2 -2
  210. package/esm2022/lib/components/data-view/master-detail/master-detail-activation-event.mjs +1 -1
  211. package/esm2022/lib/components/data-view/public_api.mjs +1 -1
  212. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +4 -5
  213. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +41 -16
  214. package/esm2022/lib/components/data-view/table/activation/activation-event-source.mjs +1 -1
  215. package/esm2022/lib/components/data-view/table/activation/elder-activation-context.mjs +1 -1
  216. package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +6 -6
  217. package/esm2022/lib/components/data-view/table/activation/elder-table-activation-options.mjs +1 -1
  218. package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +23 -15
  219. package/esm2022/lib/components/data-view/table/activation/item-activation-event.mjs +1 -1
  220. package/esm2022/lib/components/data-view/table/activation/item-activation-options.mjs +1 -1
  221. package/esm2022/lib/components/data-view/table/activation/public_api.mjs +1 -1
  222. package/esm2022/lib/components/data-view/table/elder-center-cell.directive.mjs +4 -5
  223. package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +3 -3
  224. package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +8 -7
  225. package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +2 -2
  226. package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +54 -38
  227. package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +2 -2
  228. package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +6 -11
  229. package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +4 -8
  230. package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +8 -6
  231. package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +2 -2
  232. package/esm2022/lib/components/data-view/table/elder-table.module.mjs +57 -25
  233. package/esm2022/lib/components/data-view/table/model/elder-column-layout.mjs +7 -7
  234. package/esm2022/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.mjs +15 -11
  235. package/esm2022/lib/components/data-view/table/model/elder-table-model-provider.mjs +4 -4
  236. package/esm2022/lib/components/data-view/table/model/elder-table-model-query-group.mjs +11 -9
  237. package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +7 -5
  238. package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +13 -3
  239. package/esm2022/lib/components/dialogs/elder-dialog-config.mjs +1 -1
  240. package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +34 -13
  241. package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +19 -22
  242. package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +17 -5
  243. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +4 -5
  244. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +5 -5
  245. package/esm2022/lib/components/errors/elder-error.module.mjs +4 -6
  246. package/esm2022/lib/components/errors/error-util.mjs +5 -5
  247. package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +17 -6
  248. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +3 -3
  249. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +15 -8
  250. package/esm2022/lib/components/files/blob-url.mjs +1 -1
  251. package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +16 -11
  252. package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +3 -3
  253. package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +4 -4
  254. package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +7 -7
  255. package/esm2022/lib/components/files/elder-file-select-input.mjs +3 -3
  256. package/esm2022/lib/components/files/elder-file-select.directive.mjs +14 -16
  257. package/esm2022/lib/components/files/elder-file.module.mjs +16 -10
  258. package/esm2022/lib/components/files/file-select/file-select.component.mjs +5 -6
  259. package/esm2022/lib/components/files/file-system-api.mjs +2 -2
  260. package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +16 -3
  261. package/esm2022/lib/components/files/listing/file-entry.mjs +3 -3
  262. package/esm2022/lib/components/files/listing/file-listing-rx.mjs +5 -5
  263. package/esm2022/lib/components/files/listing/file-listing-system-handle.mjs +3 -3
  264. package/esm2022/lib/components/files/listing/file-listing-webkit.mjs +10 -11
  265. package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +2 -2
  266. package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +1 -1
  267. package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +5 -3
  268. package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +2 -2
  269. package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +1 -1
  270. package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +2 -2
  271. package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +2 -2
  272. package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +2 -2
  273. package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +13 -6
  274. package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +5 -5
  275. package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +2 -2
  276. package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +2 -2
  277. package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +3 -3
  278. package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +6 -6
  279. package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +2 -2
  280. package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +13 -10
  281. package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +2 -2
  282. package/esm2022/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +4 -4
  283. package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +5 -3
  284. package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +2 -2
  285. package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +2 -2
  286. package/esm2022/lib/components/forms/directives/validation/strategies/fallback-validation-message-strategy.mjs +1 -1
  287. package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +4 -6
  288. package/esm2022/lib/components/forms/directives/validation/validation-message-strategy.mjs +1 -1
  289. package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +4 -9
  290. package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +4 -9
  291. package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +12 -11
  292. package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +4 -4
  293. package/esm2022/lib/components/forms/elder-forms.module.mjs +1 -1
  294. package/esm2022/lib/components/forms/public_api.mjs +1 -1
  295. package/esm2022/lib/components/forms/search/domain/context/search-context.mjs +7 -3
  296. package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +2 -2
  297. package/esm2022/lib/components/forms/search/domain/input/input-value.mjs +1 -1
  298. package/esm2022/lib/components/forms/search/domain/input/search-input-state.mjs +2 -2
  299. package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +1 -1
  300. package/esm2022/lib/components/forms/search/domain/input/simple-search-input.mjs +1 -1
  301. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.directive.mjs +14 -8
  302. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +15 -12
  303. package/esm2022/lib/components/forms/search/domain/url/search-query-params-parser.mjs +3 -3
  304. package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +30 -25
  305. package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +14 -19
  306. package/esm2022/lib/components/forms/search/elder-search.module.mjs +24 -13
  307. package/esm2022/lib/components/forms/search/filter/default-input-filter-converter.mjs +2 -4
  308. package/esm2022/lib/components/forms/search/filter/input-filter-converter.mjs +1 -1
  309. package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +27 -8
  310. package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +4 -4
  311. package/esm2022/lib/components/global-search/elder-global-search.component.mjs +19 -10
  312. package/esm2022/lib/components/global-search/elder-global-search.module.mjs +24 -6
  313. package/esm2022/lib/components/global-search/elder-global-search.service.mjs +8 -6
  314. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +6 -6
  315. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +4 -10
  316. package/esm2022/lib/components/graph/elder-progress-bar/sub-bar.mjs +1 -1
  317. package/esm2022/lib/components/graph/public_api.mjs +1 -1
  318. package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +3 -3
  319. package/esm2022/lib/components/headers/elder-header.module.mjs +12 -14
  320. package/esm2022/lib/components/http-support/elder-http-client.service.mjs +4 -9
  321. package/esm2022/lib/components/http-support/public_api.mjs +1 -1
  322. package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +3 -3
  323. package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +31 -20
  324. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +14 -5
  325. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +4 -4
  326. package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +42 -19
  327. package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +2 -2
  328. package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +4 -5
  329. package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +3 -3
  330. package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +2 -2
  331. package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +6 -6
  332. package/esm2022/lib/components/i18n/language/elder-language-config.mjs +1 -1
  333. package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +8 -7
  334. package/esm2022/lib/components/i18n/language/elder-language.module.mjs +11 -10
  335. package/esm2022/lib/components/i18n/language/elder-language.service.mjs +3 -4
  336. package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +17 -5
  337. package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +7 -7
  338. package/esm2022/lib/components/i18n/public_api.mjs +1 -1
  339. package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +13 -13
  340. package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +13 -11
  341. package/esm2022/lib/components/iframes/elder-iframe.module.mjs +4 -4
  342. package/esm2022/lib/components/iframes/iframe-close.directive.mjs +2 -3
  343. package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +3 -3
  344. package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +12 -4
  345. package/esm2022/lib/components/iframes/iframe-messages.mjs +1 -1
  346. package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +11 -9
  347. package/esm2022/lib/components/iframes/iframe.service.mjs +7 -5
  348. package/esm2022/lib/components/iframes/typed-event-message.mjs +1 -1
  349. package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +10 -6
  350. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +12 -7
  351. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +4 -10
  352. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +1 -1
  353. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +26 -17
  354. package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +11 -7
  355. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +8 -6
  356. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +9 -6
  357. package/esm2022/lib/components/input/autocomplete/many/word-position-finder.mjs +1 -1
  358. package/esm2022/lib/components/input/public_api.mjs +1 -1
  359. package/esm2022/lib/components/labels/elder-labels.module.mjs +26 -8
  360. package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +28 -11
  361. package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +22 -21
  362. package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +4 -4
  363. package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +2 -2
  364. package/esm2022/lib/components/measures/elder-measures.module.mjs +7 -19
  365. package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +2 -2
  366. package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +2 -2
  367. package/esm2022/lib/components/measures/elder-unit.service.mjs +4 -6
  368. package/esm2022/lib/components/measures/model/dimensions.mjs +1 -1
  369. package/esm2022/lib/components/measures/model/quantity.mjs +1 -1
  370. package/esm2022/lib/components/measures/model/unit-dimension.mjs +1 -1
  371. package/esm2022/lib/components/measures/model/unit-registry.mjs +1 -1
  372. package/esm2022/lib/components/measures/model/unit.mjs +1 -1
  373. package/esm2022/lib/components/measures/public_api.mjs +1 -1
  374. package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +13 -3
  375. package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +18 -16
  376. package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +4 -8
  377. package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +4 -8
  378. package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +15 -10
  379. package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +26 -6
  380. package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +12 -8
  381. package/esm2022/lib/components/navigation/bread-crumbs/path/path.mjs +1 -1
  382. package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +26 -20
  383. package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +15 -21
  384. package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +20 -7
  385. package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +3 -3
  386. package/esm2022/lib/components/navigation/public_api.mjs +1 -1
  387. package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +2 -2
  388. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +26 -20
  389. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +2 -2
  390. package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +12 -7
  391. package/esm2022/lib/components/navigation/toolbar/toolbar-column-position.mjs +1 -1
  392. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +4 -5
  393. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +5 -4
  394. package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +2 -2
  395. package/esm2022/lib/components/overlays/elder-overlay-ref.mjs +1 -1
  396. package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +3 -3
  397. package/esm2022/lib/components/overlays/elder-overlay.component.mjs +23 -14
  398. package/esm2022/lib/components/overlays/elder-overlay.module.mjs +4 -10
  399. package/esm2022/lib/components/page/exit-guard/page-exit-guard.module.mjs +5 -12
  400. package/esm2022/lib/components/page/exit-guard/page-exit-guard.service.mjs +6 -6
  401. package/esm2022/lib/components/page/exit-guard/page-exit-lock/page-exit-lock.component.mjs +3 -5
  402. package/esm2022/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.mjs +3 -8
  403. package/esm2022/lib/components/page/exit-guard/page-exit-lock-overview/page-exit-lock-overview.component.mjs +3 -7
  404. package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +3 -3
  405. package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +3 -3
  406. package/esm2022/lib/components/panels/elder-panel.module.mjs +10 -7
  407. package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +4 -4
  408. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +2 -2
  409. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +6 -6
  410. package/esm2022/lib/components/public_api.mjs +1 -1
  411. package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +2 -2
  412. package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +2 -2
  413. package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +5 -8
  414. package/esm2022/lib/components/select/auto/elder-auto-select-first.service.mjs +1 -1
  415. package/esm2022/lib/components/select/auto/elder-auto-select-suggest-first.directive.mjs +7 -9
  416. package/esm2022/lib/components/select/auto/elder-select-first-util.mjs +7 -4
  417. package/esm2022/lib/components/select/elder-select-base.mjs +12 -13
  418. package/esm2022/lib/components/select/elder-select-chip.directive.mjs +4 -4
  419. package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +10 -5
  420. package/esm2022/lib/components/select/elder-select-value.directive.mjs +2 -2
  421. package/esm2022/lib/components/select/elder-select.module.mjs +65 -29
  422. package/esm2022/lib/components/select/filter/elder-chip-filter-style-resolver.mjs +9 -9
  423. package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +19 -15
  424. package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +3 -3
  425. package/esm2022/lib/components/select/filter/include-exclude-model-filter-adapter.mjs +6 -8
  426. package/esm2022/lib/components/select/filter/include-exclude-selection-model.mjs +7 -11
  427. package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +2 -3
  428. package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +29 -27
  429. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +12 -10
  430. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +40 -29
  431. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/select-option-chip-spec.mjs +4 -4
  432. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +41 -21
  433. package/esm2022/lib/components/select/multi/elder-multi-select-chips/select-chip-spec.mjs +4 -4
  434. package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +2 -2
  435. package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +7 -8
  436. package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +8 -10
  437. package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +7 -5
  438. package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +13 -13
  439. package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +15 -5
  440. package/esm2022/lib/components/select/public_api.mjs +1 -1
  441. package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +5 -3
  442. package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +39 -29
  443. package/esm2022/lib/components/select/single/elder-select-form-field.mjs +1 -1
  444. package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +11 -12
  445. package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +3 -5
  446. package/esm2022/lib/components/shell/drawers/drawer-outlet-binding.mjs +8 -4
  447. package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +6 -4
  448. package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +7 -7
  449. package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +2 -2
  450. package/esm2022/lib/components/shell/elder-shell.module.mjs +10 -7
  451. package/esm2022/lib/components/shell/elder-shell.service.mjs +6 -9
  452. package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +6 -6
  453. package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +34 -14
  454. package/esm2022/lib/components/shell/shell-content-slot.mjs +1 -1
  455. package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +5 -5
  456. package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +2 -2
  457. package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +12 -12
  458. package/esm2022/lib/components/tabs/elder-tab.module.mjs +4 -14
  459. package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +5 -6
  460. package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +3 -4
  461. package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +6 -7
  462. package/esm2022/lib/components/theme/elder-theme.directive.mjs +5 -3
  463. package/esm2022/lib/components/theme/elder-theme.module.mjs +9 -15
  464. package/esm2022/lib/components/theme/elder-theme.service.mjs +7 -9
  465. package/esm2022/lib/components/theme/known-elder-themes.mjs +1 -1
  466. package/esm2022/lib/components/theme/public_api.mjs +1 -1
  467. package/esm2022/lib/components/theme/theme-spec.mjs +3 -7
  468. package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +1 -1
  469. package/esm2022/lib/components/time/date-formats/locale-date-formats.mjs +2 -2
  470. package/esm2022/lib/components/time/duration/duration-bucket.mjs +3 -2
  471. package/esm2022/lib/components/time/duration/duration-format.mjs +1 -1
  472. package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +6 -12
  473. package/esm2022/lib/components/time/duration/iso-duration-str.mjs +1 -1
  474. package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +13 -7
  475. package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +7 -13
  476. package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +27 -27
  477. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker-binding.directive.mjs +1 -1
  478. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component.mjs +7 -14
  479. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +5 -11
  480. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.service.mjs +4 -9
  481. package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +22 -13
  482. package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +7 -13
  483. package/esm2022/lib/components/time/elder-time.module.mjs +29 -21
  484. package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +6 -12
  485. package/esm2022/lib/components/time/period/period-bucket.mjs +1 -1
  486. package/esm2022/lib/components/time/period/period-format.mjs +1 -1
  487. package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +2 -2
  488. package/esm2022/lib/components/time/public_api.mjs +1 -1
  489. package/esm2022/lib/components/toasts/elder-toast.module.mjs +18 -4
  490. package/esm2022/lib/components/toasts/elder-toast.service.mjs +9 -10
  491. package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +21 -14
  492. package/esm2022/lib/components/toasts/toast-type.mjs +1 -1
  493. package/esm2022/lib/components/toasts/toast.mjs +1 -1
  494. package/esm2022/lib/components/url-fragment/elder-url-fragment.mjs +1 -1
  495. package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +3 -5
  496. package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +16 -5
  497. package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +3 -4
  498. package/esm2022/lib/components/viewers/elder-viewers.module.mjs +4 -10
  499. package/esm2022/lib/features/event-source/fetch/public_api.mjs +1 -1
  500. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.mjs +14 -14
  501. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +2 -2
  502. package/esm2022/lib/features/event-source/public_api.mjs +1 -1
  503. package/esm2022/lib/features/event-source/standard/elder-event-source.service.mjs +2 -2
  504. package/esm2022/lib/features/event-source/standard/public_api.mjs +1 -1
  505. package/esm2022/lib/features/event-source/standard/reactive-event-source.mjs +8 -7
  506. package/esm2022/lib/features/kafent/access-token-provider.mjs +1 -1
  507. package/esm2022/lib/features/kafent/kafent-config.mjs +1 -1
  508. package/esm2022/lib/features/kafent/kafent-event-stream.mjs +1 -1
  509. package/esm2022/lib/features/kafent/kafent-event.mjs +1 -1
  510. package/esm2022/lib/features/kafent/kafent-event.service.mjs +16 -8
  511. package/esm2022/lib/features/kafent/kafent-live-event-request.mjs +1 -1
  512. package/esm2022/lib/features/kafent/kafent.module.mjs +10 -13
  513. package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +12 -9
  514. package/esm2022/lib/features/kafent/sse/kafent-topic-sse.mjs +2 -3
  515. package/esm2022/lib/features/public_api.mjs +1 -1
  516. package/esm2022/lib/pipes/bytes.pipe.mjs +2 -2
  517. package/esm2022/lib/pipes/elder-pipes.module.mjs +52 -8
  518. package/esm2022/lib/pipes/elder-repeat.pipe.mjs +2 -2
  519. package/esm2022/lib/pipes/elder-round.pipe.mjs +2 -2
  520. package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +2 -2
  521. package/esm2022/lib/pipes/elder-truncate.pipe.mjs +3 -3
  522. package/esm2022/lib/pipes/iso-duration.pipe.mjs +2 -2
  523. package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +4 -5
  524. package/esm2022/lib/pipes/iso-interval.pipe.mjs +2 -2
  525. package/esm2022/lib/pipes/public_api.mjs +1 -1
  526. package/esm2022/lib/pipes/time-ago.pipe.mjs +12 -7
  527. package/esm2022/lib/pipes/time-duration.pipe.mjs +6 -4
  528. package/esm2022/lib/pipes/weight.pipe.mjs +4 -3
  529. package/esm2022/public_api.mjs +1 -1
  530. package/fesm2022/elderbyte-ngx-starter.mjs +2929 -2311
  531. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  532. package/lib/common/arrays.d.ts +1 -1
  533. package/lib/common/data/data-context/data-context-active-page.d.ts +1 -1
  534. package/lib/common/data/data-context/data-context-base.d.ts +1 -1
  535. package/lib/common/data/data-context/data-context-builder.d.ts +2 -2
  536. package/lib/common/data/data-context/data-context-continuable-base.d.ts +1 -1
  537. package/lib/common/data/data-context/data-context-continuable-paged.d.ts +1 -1
  538. package/lib/common/data/data-context/data-context-continuable-token.d.ts +1 -1
  539. package/lib/common/data/data-context/data-context-simple.d.ts +1 -1
  540. package/lib/common/data/datasource/local/local-list-data-source.d.ts +3 -3
  541. package/lib/common/data/datasource/local/local-paged-data-source.d.ts +1 -1
  542. package/lib/common/json-map.d.ts +1 -1
  543. package/lib/common/selection/selection-model.d.ts +2 -2
  544. package/lib/common/time/interval.d.ts +4 -4
  545. package/lib/common/utils/collection-util.d.ts +1 -1
  546. package/lib/components/card-organizer/card-organizer-data.d.ts +3 -3
  547. package/lib/components/card-organizer/card-stack.d.ts +2 -2
  548. package/lib/components/data-view/base/elder-data-view-options-provider.d.ts +1 -1
  549. package/lib/components/data-view/common/elder-data-common.module.d.ts +1 -1
  550. package/lib/components/data-view/elder-data-view-interaction-mode.d.ts +2 -2
  551. package/lib/components/data-view/grid/elder-grid.module.d.ts +1 -1
  552. package/lib/components/forms/search/elder-search-input.directive.d.ts +1 -1
  553. package/lib/components/navigation/toolbar/elder-toolbar.module.d.ts +1 -1
  554. package/lib/components/navigation/toolbar/toolbar-column-position.d.ts +3 -3
  555. package/lib/components/select/elder-select.module.d.ts +1 -1
  556. package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +4 -4
  557. package/package.json +3 -2
  558. package/src/assets/i18n/de.json +136 -0
  559. package/src/assets/i18n/en.json +122 -0
  560. package/src/lib/components/access-denied/elder-access-denied.component.scss +1 -5
  561. package/src/lib/components/auditing/audited-entity/elder-audited-entity.component.scss +0 -1
  562. package/src/lib/components/badge/elder-badge/elder-badge.component.scss +2 -7
  563. package/src/lib/components/card-organizer/card-organizer/elder-card-organizer.component.scss +0 -1
  564. package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.scss +4 -14
  565. package/src/lib/components/cards/elder-card/elder-card.component.scss +3 -9
  566. package/src/lib/components/chips/_elder-chip-theme.scss +5 -9
  567. package/src/lib/components/containers/elder-scroll-container/elder-scroll-container.component.scss +0 -1
  568. package/src/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.scss +0 -1
  569. package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.scss +0 -1
  570. package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.scss +4 -5
  571. package/src/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.scss +1 -1
  572. package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.scss +21 -13
  573. package/src/lib/components/data-view/table/elder-table/elder-table.component.scss +12 -21
  574. package/src/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.scss +2 -3
  575. package/src/lib/components/errors/exception-detail/elder-exception-detail.component.scss +2 -4
  576. package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.scss +0 -4
  577. package/src/lib/components/files/blob-viewer/elder-blob-viewer.component.scss +2 -4
  578. package/src/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.scss +2 -7
  579. package/src/lib/components/forms/search/search-box/elder-search-box.component.scss +0 -2
  580. package/src/lib/components/global-search/elder-global-search.component.scss +1 -2
  581. package/src/lib/components/graph/elder-progress-bar/elder-progress-bar.component.scss +0 -1
  582. package/src/lib/components/iframes/iframe-host/iframe-host.component.scss +0 -1
  583. package/src/lib/components/labels/labels-input/labels-input.component.scss +0 -2
  584. package/src/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.scss +0 -2
  585. package/src/lib/components/navigation/nav/_elder-nav-theme.scss +4 -8
  586. package/src/lib/components/navigation/nav/nav-group/elder-nav-group.component.scss +6 -6
  587. package/src/lib/components/navigation/nav/nav-list/elder-nav-list.component.scss +0 -1
  588. package/src/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.scss +1 -2
  589. package/src/lib/components/panels/card-panel/elder-card-panel.component.scss +0 -3
  590. package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.scss +0 -1
  591. package/src/lib/components/panels/flat/_elder-panel-theme.scss +0 -2
  592. package/src/lib/components/panels/flat/elder-panel.component.scss +1 -2
  593. package/src/lib/components/select/_elder-select-base.scss +0 -1
  594. package/src/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.scss +7 -7
  595. package/src/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.scss +3 -4
  596. package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.scss +7 -7
  597. package/src/lib/components/select/single/elder-select/elder-select.component.scss +1 -1
  598. package/src/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.scss +2 -3
  599. package/src/lib/components/shell/header/elder-app-header/elder-app-header.component.scss +1 -2
  600. package/src/lib/components/shell/shell/elder-shell.component.scss +0 -1
  601. package/src/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.scss +1 -2
  602. package/src/lib/components/time/_elder-time-input.theme.scss +2 -2
  603. package/src/lib/components/time/duration/elder-duration-input/elder-duration-input.component.scss +0 -4
  604. package/src/lib/components/time/elder-date-time-input/elder-date-time-input.component.scss +1 -3
  605. package/src/lib/components/time/elder-interval-input/elder-interval-input.component.scss +0 -1
  606. package/src/lib/components/time/elder-local-date-input/elder-local-date-input.component.scss +2 -5
  607. package/src/lib/components/time/period/elder-period-input/elder-period-input.component.scss +0 -4
  608. package/src/lib/components/toasts/standard-toast/standard-toast.component.scss +0 -1
  609. package/src/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.scss +0 -5
  610. package/src/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.scss +0 -1
  611. package/theming/_elder-common.scss +10 -11
  612. package/theming/_elder-defaults.scss +2 -4
  613. package/theming/_elder-flex-layout.scss +7 -8
  614. package/theming/_elder-mdc-support.scss +22 -19
  615. package/theming/_elder-palettes.scss +28 -25
  616. package/theming/_elder-scrollbar-theme.scss +0 -2
  617. package/theming/_elder-style-fixes.scss +10 -7
  618. package/theming/_elder-theme.scss +6 -1
  619. package/theming/_elder-toast-theme.scss +0 -2
  620. package/theming/_mat-icon-button-size.scss +3 -2
  621. package/theming/_mixins.scss +11 -9
@@ -268,4 +268,4 @@ export class DurationFormat {
268
268
  return +value.toFixed(precision);
269
269
  }
270
270
  }
271
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90aW1lL2R1cmF0aW9uL2R1cmF0aW9uLWZvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBRXBFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFFekI7Ozs7Z0ZBSTRFO2FBRXJELG1CQUFjLEdBQUcsU0FBUyxDQUFDO2FBRTNCLG9CQUFlLEdBQUcsVUFBVSxDQUFDO2FBQzdCLGlCQUFZLEdBQUcsT0FBTyxDQUFDO2FBRWhDLFlBQU8sR0FBRyxJQUFJLGNBQWMsQ0FDeEMsY0FBYyxDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQ3hFLENBQUM7YUFFWSxZQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQztJQUV4QyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQWM7UUFDaEMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUVYLElBQUksTUFBTSxLQUFLLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDN0MsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFDO1lBQ2hDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLElBQUksY0FBYyxDQUN2QixNQUFNLEVBQ04sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFDckIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFDckIsTUFBTSxD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QUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hDLE1BQU0sWUFBWSxHQUFHLFlBQVksR0FBRyxJQUFJLENBQUM7UUFFekMsSUFBSSxXQUFXLElBQUksR0FBRyxFQUFFLENBQUM7WUFDdkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDbkQsQ0FBQzthQUFNLElBQUksWUFBWSxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQy9CLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3BELENBQUM7YUFBTSxJQUFJLFlBQVksSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUMvQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUNwRCxDQUFDO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFhLEVBQUUsU0FBaUI7UUFDbkQsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RHVyYXRpb24sIFBlcmlvZH0gZnJvbSAnQGpzLWpvZGEvY29yZSc7XG5pbXBvcnQge0R1cmF0aW9uQnVja2V0fSBmcm9tICcuL2R1cmF0aW9uLWJ1Y2tldCc7XG5pbXBvcnQge1BlcmlvZER1cmF0aW9ufSBmcm9tICcuLi8uLi8uLi9jb21tb24vdGltZS9wZXJpb2QtZHVyYXRpb24nO1xuXG4vKipcbiAqIHl5eXk6TU06ZGQgaGg6bW06c3NcbiAqL1xuZXhwb3J0IGNsYXNzIER1cmF0aW9uRm9ybWF0IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogU3RhdGljIEJ1aWxkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEZPUk1BVF9EWU5BTUlDID0gJ2R5bmFtaWMnO1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRk9STUFUX0hIX01NX1NTID0gJ2hoOm1tOnNzJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBGT1JNQVRfSEhfTU0gPSAnaGg6bW0nO1xuXG4gIHB1YmxpYyBzdGF0aWMgRFlOQU1JQyA9IG5ldyBEdXJhdGlvbkZvcm1hdChcbiAgICBEdXJhdGlvbkZvcm1hdC5GT1JNQVRfRFlOQU1JQywgdHJ1ZSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZVxuICApO1xuXG4gIHB1YmxpYyBzdGF0aWMgREVGQVVMVCA9IER1cmF0aW9uRm9ybWF0LkRZTkFNSUM7XG5cbiAgcHVibGljIHN0YXRpYyBwYXJzZShmb3JtYXQ6IHN0cmluZyk6IER1cmF0aW9uRm9ybWF0IHtcbiAgICBpZiAoZm9ybWF0KSB7XG5cbiAgICAgIGlmIChmb3JtYXQgPT09IER1cmF0aW9uRm9ybWF0LkZPUk1BVF9EWU5BTUlDKSB7XG4gICAgICAgIHJldHVybiBEdXJhdGlvbkZvcm1hdC5EWU5BTUlDO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBEdXJhdGlvbkZvcm1hdChcbiAgICAgICAgICBmb3JtYXQsXG4gICAgICAgICAgZm9ybWF0LmluY2x1ZGVzKCdubicpLFxuICAgICAgICAgIGZvcm1hdC5pbmNsdWRlcygnc3MnKSxcbiAgICAgICAgICBmb3JtYXQuaW5jbHVkZXMoJ21tJyksXG4gICAgICAgICAgZm9ybWF0LmluY2x1ZGVzKCdoaCcpLFxuICAgICAgICAgIGZvcm1hdC5pbmNsdWRlcygnZGQnKSxcbiAgICAgICAgICBmb3JtYXQuaW5jbHVkZXMoJ01NJyksXG4gICAgICAgICAgZm9ybWF0LmluY2x1ZGVzKCd5eXl5JyksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBEdXJhdGlvbkZvcm1hdC5ERUZBVUxUO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBmb3JtYXRTdHI6IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgbmFub3M6IGJvb2xlYW4sXG4gICAgcHVibGljIHJlYWRvbmx5IHNlY29uZHM6IGJvb2xlYW4sXG4gICAgcHVibGljIHJlYWRvbmx5IG1pbnV0ZXM6IGJvb2xlYW4sXG4gICAgcHVibGljIHJlYWRvbmx5IGhvdXJzOiBib29sZWFuLFxuICAgIHB1YmxpYyByZWFkb25seSBkYXlzOiBib29sZWFuLFxuICAgIHB1YmxpYyByZWFkb25seSBtb250aHM6IGJvb2xlYW4sXG4gICAgcHVibGljIHJlYWRvbmx5IHllYXJzOiBib29sZWFuLFxuICApIHtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBidWNrZXQocGVyaW9kRHVyYXRpb246IFBlcmlvZER1cmF0aW9uKTogRHVyYXRpb25CdWNrZXQge1xuXG4gICAgaWYgKCFwZXJpb2REdXJhdGlvbikge1xuICAgICAgcGVyaW9kRHVyYXRpb24gPSBQZXJpb2REdXJhdGlvbi5vZkR1cmF0aW9uKER1cmF0aW9uLlpFUk8pO1xuICAgIH1cblxuICAgIGxldCBwZXJpb2QgPSBwZXJpb2REdXJhdGlvbi5wZXJpb2QgPz8gUGVyaW9kLlpFUk87XG4gICAgbGV0IGR1cmF0aW9uID0gcGVyaW9kRHVyYXRpb24uZHVyYXRpb24gPz8gRHVyYXRpb24uWkVSTztcblxuICAgIGxldCBhY3R1YWxZZWFyczogbnVtYmVyID0gbnVsbDtcbiAgICBsZXQgYWN0dWFsTW9udGhzOiBudW1iZXIgPSBudWxsO1xuICAgIGxldCBhY3R1YWxEYXlzOiBudW1iZXIgPSBudWxsO1xuICAgIGxldCBhY3R1YWxIb3VyczogbnVtYmVyID0gbnVsbDtcbiAgICBsZXQgYWN0dWFsTWludXRlczogbnVtYmVyID0gbnVsbDtcbiAgICBsZXQgYWN0dWFsU2Vjb25kczogbnVtYmVyID0gbnVsbDtcbiAgICBsZXQgYWN0dWFsTmFub3M6IG51bWJlciA9IG51bGw7XG5cbiAgICBpZiAodGhpcy55ZWFycykge1xuICAgICAgYWN0dWFsWWVhcnMgPSBwZXJpb2QueWVhcnMoKTtcbiAgICAgIHBlcmlvZCA9IHBlcmlvZC5taW51c1llYXJzKGFjdHVhbFllYXJzKTtcblxuICAgICAgaWYgKHRoaXMueWVhcnNJc0xhc3QoKSkge1xuICAgICAgICBhY3R1YWxZZWFycyArPSB0aGlzLnJlbWFpbmRlclRvWWVhcnMocGVyaW9kLCBkdXJhdGlvbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubW9udGhzKSB7XG4gICAgICBhY3R1YWxNb250aHMgPSBwZXJpb2QubW9udGhzKCk7XG4gICAgICBwZXJpb2QgPSBwZXJpb2QubWludXNNb250aHMoYWN0dWFsTW9udGhzKTtcblxuICAgICAgaWYgKHRoaXMubW9udGhzSXNMYXN0KCkpIHtcbiAgICAgICAgYWN0dWFsTW9udGhzICs9IHRoaXMucmVtYWluZGVyVG9Nb250aHMocGVyaW9kLCBkdXJhdGlvbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZGF5cykge1xuICAgICAgY29uc3QgcGRheXMgPSBwZXJpb2QuZGF5cygpO1xuICAgICAgY29uc3QgZERheXMgPSBkdXJhdGlvbi50b0RheXMoKTtcbiAgICAgIGFjdHVhbERheXMgPSBwZGF5cyArIGREYXlzO1xuICAgICAgZHVyYXRpb24gPSBkdXJhdGlvbi5taW51c0RheXMoZERheXMpO1xuXG4gICAgICBpZiAodGhpcy5kYXlzSXNMYXN0KCkpIHtcbiAgICAgICAgYWN0dWFsRGF5cyArPSB0aGlzLnJlbWFpbmRlclRvRGF5cyhkdXJhdGlvbik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGR1cmF0aW9uID0gZHVyYXRpb24ucGx1c0RheXMocGVyaW9kLmRheXMoKSk7IC8vIFRyYW5zZmVyIGZyb20gUGVyaW9kIHRvIGR1cmF0aW9uXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaG91cnMpIHtcbiAgICAgIGFjdHVhbEhvdXJzID0gZHVyYXRpb24udG9Ib3VycygpO1xuICAgICAgZHVyYXRpb24gPSBkdXJhdGlvbi5taW51c0hvdXJzKGFjdHVhbEhvdXJzKTtcblxuICAgICAgaWYgKHRoaXMuaG91cnNJc0xhc3QoKSkge1xuICAgICAgICBhY3R1YWxIb3VycyArPSB0aGlzLnJlbWFpbmRlclRvSG91cnMoZHVyYXRpb24pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLm1pbnV0ZXMpIHtcbiAgICAgIGFjdHVhbE1pbnV0ZXMgPSBkdXJhdGlvbi50b01pbnV0ZXMoKTtcbiAgICAgIGR1cmF0aW9uID0gZHVyYXRpb24ubWludXNNaW51dGVzKGFjdHVhbE1pbnV0ZXMpO1xuXG4gICAgICBpZiAodGhpcy5taW51dGVzSXNMYXN0KCkpIHtcbiAgICAgICAgYWN0dWFsTWludXRlcyArPSB0aGlzLnJlbWFpbmRlclRvTWludXRlcyhkdXJhdGlvbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2Vjb25kcykge1xuICAgICAgYWN0dWFsU2Vjb25kcyA9IGR1cmF0aW9uLnNlY29uZHMoKTtcbiAgICAgIGR1cmF0aW9uID0gZHVyYXRpb24ubWludXNTZWNvbmRzKGFjdHVhbFNlY29uZHMpO1xuXG4gICAgICBpZiAodGhpcy5zZWNvbmRzSXNMYXN0KCkpIHtcbiAgICAgICAgYWN0dWFsU2Vjb25kcyArPSB0aGlzLnJlbWFpbmRlclRvU2Vjb25kcyhkdXJhdGlvbik7XG4gICAgICAgIGR1cmF0aW9uID0gRHVyYXRpb24uWkVSTztcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIGlmICh0aGlzLm5hbm9zKSB7XG4gICAgICBhY3R1YWxOYW5vcyA9IGR1cmF0aW9uLnRvTmFub3MoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IER1cmF0aW9uQnVja2V0KFxuICAgICAgYWN0dWFsTmFub3MsXG4gICAgICBhY3R1YWxTZWNvbmRzLFxuICAgICAgYWN0dWFsTWludXRlcyxcbiAgICAgIGFjdHVhbEhvdXJzLFxuICAgICAgYWN0dWFsRGF5cyxcbiAgICAgIGFjdHVhbE1vbnRocyxcbiAgICAgIGFjdHVhbFllYXJzXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBmb3JtYXQoZHVyYXRpb246IFBlcmlvZER1cmF0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtYXREeW5hbWljKGR1cmF0aW9uKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgc2Vjb25kc0lzTGFzdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMubmFub3M7XG4gIH1cblxuICBwcml2YXRlIG1pbnV0ZXNJc0xhc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2Vjb25kc0lzTGFzdCgpICYmICF0aGlzLnNlY29uZHM7XG4gIH1cblxuICBwcml2YXRlIGhvdXJzSXNMYXN0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1pbnV0ZXNJc0xhc3QoKSAmJiAhdGhpcy5taW51dGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBkYXlzSXNMYXN0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhvdXJzSXNMYXN0KCkgJiYgIXRoaXMuaG91cnM7XG4gIH1cblxuICBwcml2YXRlIG1vbnRoc0lzTGFzdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kYXlzSXNMYXN0KCkgJiYgIXRoaXMuZGF5cztcbiAgfVxuXG4gIHByaXZhdGUgeWVhcnNJc0xhc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubW9udGhzSXNMYXN0KCkgJiYgIXRoaXMubW9udGhzO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1haW5kZXJUb1NlY29uZHMoZHVyYXRpb246IER1cmF0aW9uKTogbnVtYmVyIHtcbiAgICBsZXQgc2Vjb25kcyA9IDA7XG4gICAgY29uc3QgbmFub3MgPSBkdXJhdGlvbj8udG9OYW5vcygpO1xuICAgIGlmIChuYW5vcykge1xuICAgICAgc2Vjb25kcyArPSBuYW5vcyAvIDEwMDAwMDAwMDA7XG4gICAgfVxuICAgIHJldHVybiBzZWNvbmRzO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1haW5kZXJUb01pbnV0ZXMoZHVyYXRpb246IER1cmF0aW9uKTogbnVtYmVyIHtcbiAgICBsZXQgbWludXRlcyA9IDA7XG4gICAgY29uc3Qgc2Vjb25kcyA9IGR1cmF0aW9uPy5zZWNvbmRzKCk7XG4gICAgaWYgKHNlY29uZHMpIHtcbiAgICAgIG1pbnV0ZXMgKz0gc2Vjb25kcyAvIDYwO1xuICAgICAgZHVyYXRpb24gPSBkdXJhdGlvbi5taW51c1NlY29uZHMoc2Vjb25kcyk7XG4gICAgfVxuICAgIG1pbnV0ZXMgKz0gdGhpcy5yZW1haW5kZXJUb1NlY29uZHMoZHVyYXRpb24pIC8gNjA7XG4gICAgcmV0dXJuIG1pbnV0ZXM7XG4gIH1cblxuICBwcml2YXRlIHJlbWFpbmRlclRvSG91cnMoZHVyYXRpb246IER1cmF0aW9uKTogbnVtYmVyIHtcbiAgICBsZXQgaG91cnMgPSAwO1xuICAgIGNvbnN0IG1pbnV0ZXMgPSBkdXJhdGlvbj8udG9NaW51dGVzKCk7XG4gICAgaWYgKG1pbnV0ZXMpIHtcbiAgICAgIGhvdXJzICs9IG1pbnV0ZXMgLyA2MDtcbiAgICAgIGR1cmF0aW9uID0gZHVyYXRpb24ubWludXNNaW51dGVzKG1pbnV0ZXMpO1xuICAgIH1cbiAgICBob3VycyArPSB0aGlzLnJlbWFpbmRlclRvTWludXRlcyhkdXJhdGlvbikgLyA2MDtcbiAgICByZXR1cm4gaG91cnM7XG4gIH1cblxuICBwcml2YXRlIHJlbWFpbmRlclRvRGF5cyhkdXJhdGlvbjogRHVyYXRpb24pOiBudW1iZXIge1xuICAgIGxldCBkYXlzID0gMDtcbiAgICBjb25zdCBob3VycyA9IGR1cmF0aW9uPy50b01pbnV0ZXMoKTtcbiAgICBpZiAoaG91cnMpIHtcbiAgICAgIGRheXMgKz0gaG91cnMgLyAyNDtcbiAgICAgIGR1cmF0aW9uID0gZHVyYXRpb24ubWludXNIb3Vycyhob3Vycyk7XG4gICAgfVxuICAgIGRheXMgKz0gdGhpcy5yZW1haW5kZXJUb0hvdXJzKGR1cmF0aW9uKSAvIDI0O1xuICAgIHJldHVybiBkYXlzO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1haW5kZXJUb01vbnRocyhwZXJpb2Q6IFBlcmlvZCwgZHVyYXRpb246IER1cmF0aW9uKTogbnVtYmVyIHtcbiAgICBsZXQgbW9udGhzID0gMDtcbiAgICBjb25zdCBwRGF5cyA9IHBlcmlvZD8uZGF5cygpO1xuICAgIGlmIChwRGF5cykge1xuICAgICAgbW9udGhzICs9IHBEYXlzIC8gMzA7IC8vIEFwcHJveGltYXRpb25cbiAgICB9XG4gICAgY29uc3QgZERheXMgPSBkdXJhdGlvbj8udG9EYXlzKCk7XG4gICAgaWYgKGREYXlzKSB7XG4gICAgICBtb250aHMgKz0gZERheXMgLyAzMDsgLy8gQXBwcm94aW1hdGlvblxuICAgICAgZHVyYXRpb24gPSBkdXJhdGlvbi5taW51c0RheXMoZERheXMpO1xuICAgIH1cbiAgICBtb250aHMgKz0gdGhpcy5yZW1haW5kZXJUb0RheXMoZHVyYXRpb24pIC8gMzA7IC8vIEFwcHJveGltYXRpb25cbiAgICByZXR1cm4gbW9udGhzO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1haW5kZXJUb1llYXJzKHBlcmlvZDogUGVyaW9kLCBkdXJhdGlvbjogRHVyYXRpb24pOiBudW1iZXIge1xuICAgIGxldCB5ZWFycyA9IDA7XG4gICAgY29uc3QgbW9udGhzID0gcGVyaW9kPy5tb250aHMoKTtcbiAgICBpZiAobW9udGhzKSB7XG4gICAgICB5ZWFycyArPSBtb250aHMgLyAxMjtcbiAgICAgIHBlcmlvZCA9IHBlcmlvZC5taW51c01vbnRocyhtb250aHMpO1xuICAgIH1cbiAgICB5ZWFycyArPSB0aGlzLnJlbWFpbmRlclRvTW9udGhzKHBlcmlvZCwgZHVyYXRpb24pIC8gMTI7XG4gICAgcmV0dXJuIHllYXJzO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXREeW5hbWljKGR1cmF0aW9uOiBQZXJpb2REdXJhdGlvbik6IHN0cmluZyB7XG5cbiAgICBjb25zdCBidWNrZXQgPSB0aGlzLmJ1Y2tldChkdXJhdGlvbik7XG5cbiAgICBjb25zdCB0aW1lID0gdGhpcy5mb3JtYXRUaW1lKGJ1Y2tldCk7XG4gICAgY29uc3QgcGVyaW9kID0gdGhpcy5mb3JtYXRQZXJpb2QoYnVja2V0KTtcblxuICAgIGlmIChwZXJpb2QgJiYgdGltZSkge1xuICAgICAgcmV0dXJuIHBlcmlvZCArICcgYW5kICcgKyB0aW1lO1xuICAgIH0gZWxzZSBpZiAocGVyaW9kKSB7XG4gICAgICByZXR1cm4gcGVyaW9kO1xuICAgIH0gZWxzZSBpZiAodGltZSkge1xuICAgICAgcmV0dXJuIHRpbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnLSc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRQZXJpb2QoYnVja2V0OiBEdXJhdGlvbkJ1Y2tldCk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gW107XG5cblxuICAgIGlmIChidWNrZXQueWVhcnMpIHtcbiAgICAgIHBhcnRzLnB1c2godGhpcy5jZWlsQW5kRm9ybWF0TnVtYmVyKGJ1Y2tldC55ZWFycykgKyAneXInKTtcbiAgICB9XG5cbiAgICBpZiAoYnVja2V0Lm1vbnRocykge1xuICAgICAgcGFydHMucHVzaCh0aGlzLmNlaWxBbmRGb3JtYXROdW1iZXIoYnVja2V0Lm1vbnRocykgKyAnbW8nKTtcbiAgICB9XG5cbiAgICBpZiAoYnVja2V0LmRheXMpIHtcbiAgICAgIHBhcnRzLnB1c2godGhpcy5jZWlsQW5kRm9ybWF0TnVtYmVyKGJ1Y2tldC5kYXlzKSArICdkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcnRzLmpvaW4oJywgJyk7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdFRpbWUoYnVja2V0OiBEdXJhdGlvbkJ1Y2tldCk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gW107XG5cbiAgICBpZiAoYnVja2V0LmhvdXJzKSB7XG4gICAgICBwYXJ0cy5wdXNoKHRoaXMuY2VpbEFuZEZvcm1hdE51bWJlcihidWNrZXQuaG91cnMpICsgJ2gnKTtcbiAgICB9XG5cbiAgICBpZiAoYnVja2V0Lm1pbnV0ZXMpIHtcbiAgICAgIHBhcnRzLnB1c2godGhpcy5jZWlsQW5kRm9ybWF0TnVtYmVyKGJ1Y2tldC5taW51dGVzKSArICdtaW4nKTtcbiAgICB9XG5cbiAgICBpZiAoYnVja2V0LnNlY29uZHMpIHtcbiAgICAgIHBhcnRzLnB1c2godGhpcy5jZWlsQW5kRm9ybWF0TnVtYmVyKGJ1Y2tldC5zZWNvbmRzKSArICdzZWMnKTtcbiAgICB9XG5cbiAgICBpZiAoYnVja2V0Lm5hbm9zKSB7XG4gICAgICBwYXJ0cy5wdXNoKHRoaXMuZm9ybWF0TmFub3MoYnVja2V0Lm5hbm9zKSk7XG4gICAgfVxuICAgIHJldHVybiBwYXJ0cy5qb2luKCcgJyk7XG4gIH1cblxuICBwcml2YXRlIGNlaWxBbmRGb3JtYXROdW1iZXIobnVtYmVyOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLmNlaWwobnVtYmVyICogMTApIC8gMTA7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdE5hbm9zKG5hbm9zZWNvbmRzOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IG1pY3Jvc2Vjb25kcyA9IG5hbm9zZWNvbmRzIC8gMTAwMDtcbiAgICBjb25zdCBtaWxsaXNlY29uZHMgPSBtaWNyb3NlY29uZHMgLyAxMDAwO1xuXG4gICAgaWYgKG5hbm9zZWNvbmRzIDw9IDk5OSkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0TnVtYmVyKG5hbm9zZWNvbmRzLCAwKSArICcgbnMnO1xuICAgIH0gZWxzZSBpZiAobWljcm9zZWNvbmRzIDw9IDk5OSkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0TnVtYmVyKG1pY3Jvc2Vjb25kcywgMCkgKyAnIMK1cyc7XG4gICAgfSBlbHNlIGlmIChtaWxsaXNlY29uZHMgPD0gOTk5KSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXROdW1iZXIobWlsbGlzZWNvbmRzLCAwKSArICcgbXMnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0TnVtYmVyKHZhbHVlOiBudW1iZXIsIHByZWNpc2lvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gK3ZhbHVlLnRvRml4ZWQocHJlY2lzaW9uKTtcbiAgfVxuXG59XG4iXX0=
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90aW1lL2R1cmF0aW9uL2R1cmF0aW9uLWZvcm1hdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNDQUFzQyxDQUFBO0FBRXJFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFDekI7Ozs7Z0ZBSTRFO2FBRXJELG1CQUFjLEdBQUcsU0FBUyxDQUFBO2FBRTFCLG9CQUFlLEdBQUcsVUFBVSxDQUFBO2FBQzVCLGlCQUFZLEdBQUcsT0FBTyxDQUFBO2FBRS9CLFlBQU8sR0FBRyxJQUFJLGNBQWMsQ0FDeEMsY0FBYyxDQUFDLGNBQWMsRUFDN0IsSUFBSSxFQUNKLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxFQUNKLElBQUksRUFDSixJQUFJLEVBQ0osSUFBSSxDQUNMLENBQUE7YUFFYSxZQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQTtJQUV2QyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQWM7UUFDaEMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLElBQUksTUFBTSxLQUFLLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDN0MsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFBO1lBQy9CLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLElBQUksY0FBYyxDQUN2QixNQUFNLEVBQ04sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFDckIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFDckIsTUFBTSxD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R0FBRyxJQUFJLENBQUE7UUFDdkMsTUFBTSxZQUFZLEdBQUcsWUFBWSxHQUFHLElBQUksQ0FBQTtRQUV4QyxJQUFJLFdBQVcsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUN2QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQTtRQUNsRCxDQUFDO2FBQU0sSUFBSSxZQUFZLElBQUksR0FBRyxFQUFFLENBQUM7WUFDL0IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUE7UUFDbkQsQ0FBQzthQUFNLElBQUksWUFBWSxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQy9CLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFBO1FBQ25ELENBQUM7SUFDSCxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQWEsRUFBRSxTQUFpQjtRQUNuRCxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVyYXRpb24sIFBlcmlvZCB9IGZyb20gJ0Bqcy1qb2RhL2NvcmUnXG5pbXBvcnQgeyBEdXJhdGlvbkJ1Y2tldCB9IGZyb20gJy4vZHVyYXRpb24tYnVja2V0J1xuaW1wb3J0IHsgUGVyaW9kRHVyYXRpb24gfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdGltZS9wZXJpb2QtZHVyYXRpb24nXG5cbi8qKlxuICogeXl5eTpNTTpkZCBoaDptbTpzc1xuICovXG5leHBvcnQgY2xhc3MgRHVyYXRpb25Gb3JtYXQge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogU3RhdGljIEJ1aWxkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEZPUk1BVF9EWU5BTUlDID0gJ2R5bmFtaWMnXG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBGT1JNQVRfSEhfTU1fU1MgPSAnaGg6bW06c3MnXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRk9STUFUX0hIX01NID0gJ2hoOm1tJ1xuXG4gIHB1YmxpYyBzdGF0aWMgRFlOQU1JQyA9IG5ldyBEdXJhdGlvbkZvcm1hdChcbiAgICBEdXJhdGlvbkZvcm1hdC5GT1JNQVRfRFlOQU1JQyxcbiAgICB0cnVlLFxuICAgIHRydWUsXG4gICAgdHJ1ZSxcbiAgICB0cnVlLFxuICAgIHRydWUsXG4gICAgdHJ1ZSxcbiAgICB0cnVlXG4gIClcblxuICBwdWJsaWMgc3RhdGljIERFRkFVTFQgPSBEdXJhdGlvbkZvcm1hdC5EWU5BTUlDXG5cbiAgcHVibGljIHN0YXRpYyBwYXJzZShmb3JtYXQ6IHN0cmluZyk6IER1cmF0aW9uRm9ybWF0IHtcbiAgICBpZiAoZm9ybWF0KSB7XG4gICAgICBpZiAoZm9ybWF0ID09PSBEdXJhdGlvbkZvcm1hdC5GT1JNQVRfRFlOQU1JQykge1xuICAgICAgICByZXR1cm4gRHVyYXRpb25Gb3JtYXQuRFlOQU1JQ1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBEdXJhdGlvbkZvcm1hdChcbiAgICAgICAgICBmb3JtYXQsXG4gICAgICAgICAgZm9ybWF0LmluY2x1ZGVzKCdubicpLFxuICAgICAgICAgIGZvcm1hdC5pbmNsdWRlcygnc3MnKSxcbiAgICAgICAgICBmb3JtYXQuaW5jbHVkZXMoJ21tJyksXG4gICAgICAgICAgZm9ybWF0LmluY2x1ZGVzKCdoaCcpLFxuICAgICAgICAgIGZvcm1hdC5pbmNsdWRlcygnZGQnKSxcbiAgICAgICAgICBmb3JtYXQuaW5jbHVkZXMoJ01NJyksXG4gICAgICAgICAgZm9ybWF0LmluY2x1ZGVzKCd5eXl5JylcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gRHVyYXRpb25Gb3JtYXQuREVGQVVMVFxuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBmb3JtYXRTdHI6IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgbmFub3M6IGJvb2xlYW4sXG4gICAgcHVibGljIHJlYWRvbmx5IHNlY29uZHM6IGJvb2xlYW4sXG4gICAgcHVibGljIHJlYWRvbmx5IG1pbnV0ZXM6IGJvb2xlYW4sXG4gICAgcHVibGljIHJlYWRvbmx5IGhvdXJzOiBib29sZWFuLFxuICAgIHB1YmxpYyByZWFkb25seSBkYXlzOiBib29sZWFuLFxuICAgIHB1YmxpYyByZWFkb25seSBtb250aHM6IGJvb2xlYW4sXG4gICAgcHVibGljIHJlYWRvbmx5IHllYXJzOiBib29sZWFuXG4gICkge31cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgYnVja2V0KHBlcmlvZER1cmF0aW9uOiBQZXJpb2REdXJhdGlvbik6IER1cmF0aW9uQnVja2V0IHtcbiAgICBpZiAoIXBlcmlvZER1cmF0aW9uKSB7XG4gICAgICBwZXJpb2REdXJhdGlvbiA9IFBlcmlvZER1cmF0aW9uLm9mRHVyYXRpb24oRHVyYXRpb24uWkVSTylcbiAgICB9XG5cbiAgICBsZXQgcGVyaW9kID0gcGVyaW9kRHVyYXRpb24ucGVyaW9kID8/IFBlcmlvZC5aRVJPXG4gICAgbGV0IGR1cmF0aW9uID0gcGVyaW9kRHVyYXRpb24uZHVyYXRpb24gPz8gRHVyYXRpb24uWkVST1xuXG4gICAgbGV0IGFjdHVhbFllYXJzOiBudW1iZXIgPSBudWxsXG4gICAgbGV0IGFjdHVhbE1vbnRoczogbnVtYmVyID0gbnVsbFxuICAgIGxldCBhY3R1YWxEYXlzOiBudW1iZXIgPSBudWxsXG4gICAgbGV0IGFjdHVhbEhvdXJzOiBudW1iZXIgPSBudWxsXG4gICAgbGV0IGFjdHVhbE1pbnV0ZXM6IG51bWJlciA9IG51bGxcbiAgICBsZXQgYWN0dWFsU2Vjb25kczogbnVtYmVyID0gbnVsbFxuICAgIGxldCBhY3R1YWxOYW5vczogbnVtYmVyID0gbnVsbFxuXG4gICAgaWYgKHRoaXMueWVhcnMpIHtcbiAgICAgIGFjdHVhbFllYXJzID0gcGVyaW9kLnllYXJzKClcbiAgICAgIHBlcmlvZCA9IHBlcmlvZC5taW51c1llYXJzKGFjdHVhbFllYXJzKVxuXG4gICAgICBpZiAodGhpcy55ZWFyc0lzTGFzdCgpKSB7XG4gICAgICAgIGFjdHVhbFllYXJzICs9IHRoaXMucmVtYWluZGVyVG9ZZWFycyhwZXJpb2QsIGR1cmF0aW9uKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLm1vbnRocykge1xuICAgICAgYWN0dWFsTW9udGhzID0gcGVyaW9kLm1vbnRocygpXG4gICAgICBwZXJpb2QgPSBwZXJpb2QubWludXNNb250aHMoYWN0dWFsTW9udGhzKVxuXG4gICAgICBpZiAodGhpcy5tb250aHNJc0xhc3QoKSkge1xuICAgICAgICBhY3R1YWxNb250aHMgKz0gdGhpcy5yZW1haW5kZXJUb01vbnRocyhwZXJpb2QsIGR1cmF0aW9uKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmRheXMpIHtcbiAgICAgIGNvbnN0IHBkYXlzID0gcGVyaW9kLmRheXMoKVxuICAgICAgY29uc3QgZERheXMgPSBkdXJhdGlvbi50b0RheXMoKVxuICAgICAgYWN0dWFsRGF5cyA9IHBkYXlzICsgZERheXNcbiAgICAgIGR1cmF0aW9uID0gZHVyYXRpb24ubWludXNEYXlzKGREYXlzKVxuXG4gICAgICBpZiAodGhpcy5kYXlzSXNMYXN0KCkpIHtcbiAgICAgICAgYWN0dWFsRGF5cyArPSB0aGlzLnJlbWFpbmRlclRvRGF5cyhkdXJhdGlvbilcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZHVyYXRpb24gPSBkdXJhdGlvbi5wbHVzRGF5cyhwZXJpb2QuZGF5cygpKSAvLyBUcmFuc2ZlciBmcm9tIFBlcmlvZCB0byBkdXJhdGlvblxuICAgIH1cblxuICAgIGlmICh0aGlzLmhvdXJzKSB7XG4gICAgICBhY3R1YWxIb3VycyA9IGR1cmF0aW9uLnRvSG91cnMoKVxuICAgICAgZHVyYXRpb24gPSBkdXJhdGlvbi5taW51c0hvdXJzKGFjdHVhbEhvdXJzKVxuXG4gICAgICBpZiAodGhpcy5ob3Vyc0lzTGFzdCgpKSB7XG4gICAgICAgIGFjdHVhbEhvdXJzICs9IHRoaXMucmVtYWluZGVyVG9Ib3VycyhkdXJhdGlvbilcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5taW51dGVzKSB7XG4gICAgICBhY3R1YWxNaW51dGVzID0gZHVyYXRpb24udG9NaW51dGVzKClcbiAgICAgIGR1cmF0aW9uID0gZHVyYXRpb24ubWludXNNaW51dGVzKGFjdHVhbE1pbnV0ZXMpXG5cbiAgICAgIGlmICh0aGlzLm1pbnV0ZXNJc0xhc3QoKSkge1xuICAgICAgICBhY3R1YWxNaW51dGVzICs9IHRoaXMucmVtYWluZGVyVG9NaW51dGVzKGR1cmF0aW9uKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLnNlY29uZHMpIHtcbiAgICAgIGFjdHVhbFNlY29uZHMgPSBkdXJhdGlvbi5zZWNvbmRzKClcbiAgICAgIGR1cmF0aW9uID0gZHVyYXRpb24ubWludXNTZWNvbmRzKGFjdHVhbFNlY29uZHMpXG5cbiAgICAgIGlmICh0aGlzLnNlY29uZHNJc0xhc3QoKSkge1xuICAgICAgICBhY3R1YWxTZWNvbmRzICs9IHRoaXMucmVtYWluZGVyVG9TZWNvbmRzKGR1cmF0aW9uKVxuICAgICAgICBkdXJhdGlvbiA9IER1cmF0aW9uLlpFUk9cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5uYW5vcykge1xuICAgICAgYWN0dWFsTmFub3MgPSBkdXJhdGlvbi50b05hbm9zKClcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IER1cmF0aW9uQnVja2V0KFxuICAgICAgYWN0dWFsTmFub3MsXG4gICAgICBhY3R1YWxTZWNvbmRzLFxuICAgICAgYWN0dWFsTWludXRlcyxcbiAgICAgIGFjdHVhbEhvdXJzLFxuICAgICAgYWN0dWFsRGF5cyxcbiAgICAgIGFjdHVhbE1vbnRocyxcbiAgICAgIGFjdHVhbFllYXJzXG4gICAgKVxuICB9XG5cbiAgcHVibGljIGZvcm1hdChkdXJhdGlvbjogUGVyaW9kRHVyYXRpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZvcm1hdER5bmFtaWMoZHVyYXRpb24pXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHNlY29uZHNJc0xhc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLm5hbm9zXG4gIH1cblxuICBwcml2YXRlIG1pbnV0ZXNJc0xhc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2Vjb25kc0lzTGFzdCgpICYmICF0aGlzLnNlY29uZHNcbiAgfVxuXG4gIHByaXZhdGUgaG91cnNJc0xhc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWludXRlc0lzTGFzdCgpICYmICF0aGlzLm1pbnV0ZXNcbiAgfVxuXG4gIHByaXZhdGUgZGF5c0lzTGFzdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ob3Vyc0lzTGFzdCgpICYmICF0aGlzLmhvdXJzXG4gIH1cblxuICBwcml2YXRlIG1vbnRoc0lzTGFzdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kYXlzSXNMYXN0KCkgJiYgIXRoaXMuZGF5c1xuICB9XG5cbiAgcHJpdmF0ZSB5ZWFyc0lzTGFzdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tb250aHNJc0xhc3QoKSAmJiAhdGhpcy5tb250aHNcbiAgfVxuXG4gIHByaXZhdGUgcmVtYWluZGVyVG9TZWNvbmRzKGR1cmF0aW9uOiBEdXJhdGlvbik6IG51bWJlciB7XG4gICAgbGV0IHNlY29uZHMgPSAwXG4gICAgY29uc3QgbmFub3MgPSBkdXJhdGlvbj8udG9OYW5vcygpXG4gICAgaWYgKG5hbm9zKSB7XG4gICAgICBzZWNvbmRzICs9IG5hbm9zIC8gMTAwMDAwMDAwMFxuICAgIH1cbiAgICByZXR1cm4gc2Vjb25kc1xuICB9XG5cbiAgcHJpdmF0ZSByZW1haW5kZXJUb01pbnV0ZXMoZHVyYXRpb246IER1cmF0aW9uKTogbnVtYmVyIHtcbiAgICBsZXQgbWludXRlcyA9IDBcbiAgICBjb25zdCBzZWNvbmRzID0gZHVyYXRpb24/LnNlY29uZHMoKVxuICAgIGlmIChzZWNvbmRzKSB7XG4gICAgICBtaW51dGVzICs9IHNlY29uZHMgLyA2MFxuICAgICAgZHVyYXRpb24gPSBkdXJhdGlvbi5taW51c1NlY29uZHMoc2Vjb25kcylcbiAgICB9XG4gICAgbWludXRlcyArPSB0aGlzLnJlbWFpbmRlclRvU2Vjb25kcyhkdXJhdGlvbikgLyA2MFxuICAgIHJldHVybiBtaW51dGVzXG4gIH1cblxuICBwcml2YXRlIHJlbWFpbmRlclRvSG91cnMoZHVyYXRpb246IER1cmF0aW9uKTogbnVtYmVyIHtcbiAgICBsZXQgaG91cnMgPSAwXG4gICAgY29uc3QgbWludXRlcyA9IGR1cmF0aW9uPy50b01pbnV0ZXMoKVxuICAgIGlmIChtaW51dGVzKSB7XG4gICAgICBob3VycyArPSBtaW51dGVzIC8gNjBcbiAgICAgIGR1cmF0aW9uID0gZHVyYXRpb24ubWludXNNaW51dGVzKG1pbnV0ZXMpXG4gICAgfVxuICAgIGhvdXJzICs9IHRoaXMucmVtYWluZGVyVG9NaW51dGVzKGR1cmF0aW9uKSAvIDYwXG4gICAgcmV0dXJuIGhvdXJzXG4gIH1cblxuICBwcml2YXRlIHJlbWFpbmRlclRvRGF5cyhkdXJhdGlvbjogRHVyYXRpb24pOiBudW1iZXIge1xuICAgIGxldCBkYXlzID0gMFxuICAgIGNvbnN0IGhvdXJzID0gZHVyYXRpb24/LnRvTWludXRlcygpXG4gICAgaWYgKGhvdXJzKSB7XG4gICAgICBkYXlzICs9IGhvdXJzIC8gMjRcbiAgICAgIGR1cmF0aW9uID0gZHVyYXRpb24ubWludXNIb3Vycyhob3VycylcbiAgICB9XG4gICAgZGF5cyArPSB0aGlzLnJlbWFpbmRlclRvSG91cnMoZHVyYXRpb24pIC8gMjRcbiAgICByZXR1cm4gZGF5c1xuICB9XG5cbiAgcHJpdmF0ZSByZW1haW5kZXJUb01vbnRocyhwZXJpb2Q6IFBlcmlvZCwgZHVyYXRpb246IER1cmF0aW9uKTogbnVtYmVyIHtcbiAgICBsZXQgbW9udGhzID0gMFxuICAgIGNvbnN0IHBEYXlzID0gcGVyaW9kPy5kYXlzKClcbiAgICBpZiAocERheXMpIHtcbiAgICAgIG1vbnRocyArPSBwRGF5cyAvIDMwIC8vIEFwcHJveGltYXRpb25cbiAgICB9XG4gICAgY29uc3QgZERheXMgPSBkdXJhdGlvbj8udG9EYXlzKClcbiAgICBpZiAoZERheXMpIHtcbiAgICAgIG1vbnRocyArPSBkRGF5cyAvIDMwIC8vIEFwcHJveGltYXRpb25cbiAgICAgIGR1cmF0aW9uID0gZHVyYXRpb24ubWludXNEYXlzKGREYXlzKVxuICAgIH1cbiAgICBtb250aHMgKz0gdGhpcy5yZW1haW5kZXJUb0RheXMoZHVyYXRpb24pIC8gMzAgLy8gQXBwcm94aW1hdGlvblxuICAgIHJldHVybiBtb250aHNcbiAgfVxuXG4gIHByaXZhdGUgcmVtYWluZGVyVG9ZZWFycyhwZXJpb2Q6IFBlcmlvZCwgZHVyYXRpb246IER1cmF0aW9uKTogbnVtYmVyIHtcbiAgICBsZXQgeWVhcnMgPSAwXG4gICAgY29uc3QgbW9udGhzID0gcGVyaW9kPy5tb250aHMoKVxuICAgIGlmIChtb250aHMpIHtcbiAgICAgIHllYXJzICs9IG1vbnRocyAvIDEyXG4gICAgICBwZXJpb2QgPSBwZXJpb2QubWludXNNb250aHMobW9udGhzKVxuICAgIH1cbiAgICB5ZWFycyArPSB0aGlzLnJlbWFpbmRlclRvTW9udGhzKHBlcmlvZCwgZHVyYXRpb24pIC8gMTJcbiAgICByZXR1cm4geWVhcnNcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0RHluYW1pYyhkdXJhdGlvbjogUGVyaW9kRHVyYXRpb24pOiBzdHJpbmcge1xuICAgIGNvbnN0IGJ1Y2tldCA9IHRoaXMuYnVja2V0KGR1cmF0aW9uKVxuXG4gICAgY29uc3QgdGltZSA9IHRoaXMuZm9ybWF0VGltZShidWNrZXQpXG4gICAgY29uc3QgcGVyaW9kID0gdGhpcy5mb3JtYXRQZXJpb2QoYnVja2V0KVxuXG4gICAgaWYgKHBlcmlvZCAmJiB0aW1lKSB7XG4gICAgICByZXR1cm4gcGVyaW9kICsgJyBhbmQgJyArIHRpbWVcbiAgICB9IGVsc2UgaWYgKHBlcmlvZCkge1xuICAgICAgcmV0dXJuIHBlcmlvZFxuICAgIH0gZWxzZSBpZiAodGltZSkge1xuICAgICAgcmV0dXJuIHRpbWVcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICctJ1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0UGVyaW9kKGJ1Y2tldDogRHVyYXRpb25CdWNrZXQpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IFtdXG5cbiAgICBpZiAoYnVja2V0LnllYXJzKSB7XG4gICAgICBwYXJ0cy5wdXNoKHRoaXMuY2VpbEFuZEZvcm1hdE51bWJlcihidWNrZXQueWVhcnMpICsgJ3lyJylcbiAgICB9XG5cbiAgICBpZiAoYnVja2V0Lm1vbnRocykge1xuICAgICAgcGFydHMucHVzaCh0aGlzLmNlaWxBbmRGb3JtYXROdW1iZXIoYnVja2V0Lm1vbnRocykgKyAnbW8nKVxuICAgIH1cblxuICAgIGlmIChidWNrZXQuZGF5cykge1xuICAgICAgcGFydHMucHVzaCh0aGlzLmNlaWxBbmRGb3JtYXROdW1iZXIoYnVja2V0LmRheXMpICsgJ2QnKVxuICAgIH1cblxuICAgIHJldHVybiBwYXJ0cy5qb2luKCcsICcpXG4gIH1cblxuICBwcml2YXRlIGZvcm1hdFRpbWUoYnVja2V0OiBEdXJhdGlvbkJ1Y2tldCk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gW11cblxuICAgIGlmIChidWNrZXQuaG91cnMpIHtcbiAgICAgIHBhcnRzLnB1c2godGhpcy5jZWlsQW5kRm9ybWF0TnVtYmVyKGJ1Y2tldC5ob3VycykgKyAnaCcpXG4gICAgfVxuXG4gICAgaWYgKGJ1Y2tldC5taW51dGVzKSB7XG4gICAgICBwYXJ0cy5wdXNoKHRoaXMuY2VpbEFuZEZvcm1hdE51bWJlcihidWNrZXQubWludXRlcykgKyAnbWluJylcbiAgICB9XG5cbiAgICBpZiAoYnVja2V0LnNlY29uZHMpIHtcbiAgICAgIHBhcnRzLnB1c2godGhpcy5jZWlsQW5kRm9ybWF0TnVtYmVyKGJ1Y2tldC5zZWNvbmRzKSArICdzZWMnKVxuICAgIH1cblxuICAgIGlmIChidWNrZXQubmFub3MpIHtcbiAgICAgIHBhcnRzLnB1c2godGhpcy5mb3JtYXROYW5vcyhidWNrZXQubmFub3MpKVxuICAgIH1cbiAgICByZXR1cm4gcGFydHMuam9pbignICcpXG4gIH1cblxuICBwcml2YXRlIGNlaWxBbmRGb3JtYXROdW1iZXIobnVtYmVyOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLmNlaWwobnVtYmVyICogMTApIC8gMTBcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0TmFub3MobmFub3NlY29uZHM6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgbWljcm9zZWNvbmRzID0gbmFub3NlY29uZHMgLyAxMDAwXG4gICAgY29uc3QgbWlsbGlzZWNvbmRzID0gbWljcm9zZWNvbmRzIC8gMTAwMFxuXG4gICAgaWYgKG5hbm9zZWNvbmRzIDw9IDk5OSkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0TnVtYmVyKG5hbm9zZWNvbmRzLCAwKSArICcgbnMnXG4gICAgfSBlbHNlIGlmIChtaWNyb3NlY29uZHMgPD0gOTk5KSB7XG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXROdW1iZXIobWljcm9zZWNvbmRzLCAwKSArICcgwrVzJ1xuICAgIH0gZWxzZSBpZiAobWlsbGlzZWNvbmRzIDw9IDk5OSkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0TnVtYmVyKG1pbGxpc2Vjb25kcywgMCkgKyAnIG1zJ1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0TnVtYmVyKHZhbHVlOiBudW1iZXIsIHByZWNpc2lvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gK3ZhbHVlLnRvRml4ZWQocHJlY2lzaW9uKVxuICB9XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Component, ChangeDetectionStrategy, Input, Output, Optional, Self } from '@angular/core';
1
+ import { Component, ChangeDetectionStrategy, Input, Output, Optional, Self, } from '@angular/core';
2
2
  import { Duration, Period } from '@js-joda/core';
3
3
  import { LoggerFactory } from '@elderbyte/ts-logger';
4
4
  import { map } from 'rxjs/operators';
@@ -47,7 +47,7 @@ export class ElderDurationInputComponent extends ElderFormFieldControlBase {
47
47
  * *
48
48
  **************************************************************************/
49
49
  get isoValueChange() {
50
- return this.valueChange.pipe(map(duration => duration ? duration.toJSON() : null));
50
+ return this.valueChange.pipe(map((duration) => (duration ? duration.toJSON() : null)));
51
51
  }
52
52
  set isoValue(value) {
53
53
  if (value) {
@@ -93,20 +93,14 @@ export class ElderDurationInputComponent extends ElderFormFieldControlBase {
93
93
  this.value = bucket.toDuration();
94
94
  }
95
95
  valuesEquals(a, b) {
96
- return (a && b)
97
- ? a.equals(b)
98
- : a === b;
96
+ return a && b ? a.equals(b) : a === b;
99
97
  }
100
98
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderDurationInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
101
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: ElderDurationInputComponent, isStandalone: true, selector: "elder-duration-input", inputs: { isoValue: "isoValue", format: "format", durationFormat: "durationFormat" }, outputs: { isoValueChange: "isoValueChange" }, providers: [
102
- { provide: MatFormFieldControl, useExisting: ElderDurationInputComponent },
103
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-center flex-none\" *ngIf=\"durationContext$ | async as durationCtx\">\n\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.days\">\n <input matInput elderNoSpinner\n [name]=\"ngControl?.name + '-inner-days'\"\n type=\"number\" class=\"duration-input duration-input-days flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.days)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withDays($event))\">\n <span class=\"mat-caption suffix flex-none noselect\">d</span>\n </div>\n\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.hours\">\n <input matInput elderNoSpinner\n [name]=\"ngControl?.name + '-inner-hours'\"\n type=\"number\" class=\"duration-input duration-input-hours flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.hours)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withHours($event))\">\n <span class=\"mat-caption suffix flex-none noselect\">h</span>\n </div>\n\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.minutes\">\n <input matInput elderNoSpinner\n [name]=\"ngControl?.name + '-inner-minutes'\"\n type=\"number\" class=\"duration-input duration-input-minutes flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.minutes)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withMinutes($event))\">\n <span class=\"mat-caption suffix flex-none noselect\">min</span>\n </div>\n\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.seconds\">\n <input matInput elderNoSpinner\n [name]=\"ngControl?.name + '-inner-seconds'\"\n type=\"number\" class=\"duration-input duration-input-seconds flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.seconds)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withSeconds($event))\">\n <span class=\"mat-caption suffix flex-none noselect\">sec</span>\n </div>\n\n</div>\n", styles: [".suffix{opacity:.7}.duration-input{text-align:right}.duration-input-days{min-width:26px}.duration-input-hours{min-width:20px}.duration-input-minutes,.duration-input-seconds{min-width:26px}input.duration-input::-webkit-outer-spin-button,input.duration-input::-webkit-inner-spin-button{display:none}input.duration-input{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: 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: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "ngmodule", type: FormsModule }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
99
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: ElderDurationInputComponent, isStandalone: true, selector: "elder-duration-input", inputs: { isoValue: "isoValue", format: "format", durationFormat: "durationFormat" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderDurationInputComponent }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"layout-row place-start-center flex-none\"\n *ngIf=\"durationContext$ | async as durationCtx\"\n>\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.days\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-days'\"\n type=\"number\"\n class=\"duration-input duration-input-days flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.days)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withDays($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">d</span>\n </div>\n\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.hours\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-hours'\"\n type=\"number\"\n class=\"duration-input duration-input-hours flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.hours)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withHours($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">h</span>\n </div>\n\n <div\n class=\"layout-row place-start-baseline duration-field flex\"\n *ngIf=\"durationCtx.format.minutes\"\n >\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-minutes'\"\n type=\"number\"\n class=\"duration-input duration-input-minutes flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.minutes)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withMinutes($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">min</span>\n </div>\n\n <div\n class=\"layout-row place-start-baseline duration-field flex\"\n *ngIf=\"durationCtx.format.seconds\"\n >\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-seconds'\"\n type=\"number\"\n class=\"duration-input duration-input-seconds flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.seconds)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withSeconds($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">sec</span>\n </div>\n</div>\n", styles: [".suffix{opacity:.7}.duration-input{text-align:right}.duration-input-days{min-width:26px}.duration-input-hours{min-width:20px}.duration-input-minutes,.duration-input-seconds{min-width:26px}input.duration-input::-webkit-outer-spin-button,input.duration-input::-webkit-inner-spin-button{display:none}input.duration-input{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: 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: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "ngmodule", type: FormsModule }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
104
100
  }
105
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderDurationInputComponent, decorators: [{
106
102
  type: Component,
107
- args: [{ selector: 'elder-duration-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
108
- { provide: MatFormFieldControl, useExisting: ElderDurationInputComponent },
109
- ], standalone: true, imports: [NgIf, MatInput, ElderFormFieldNoSpinnerDirective, FormsModule, AsyncPipe], template: "<div class=\"layout-row place-start-center flex-none\" *ngIf=\"durationContext$ | async as durationCtx\">\n\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.days\">\n <input matInput elderNoSpinner\n [name]=\"ngControl?.name + '-inner-days'\"\n type=\"number\" class=\"duration-input duration-input-days flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.days)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withDays($event))\">\n <span class=\"mat-caption suffix flex-none noselect\">d</span>\n </div>\n\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.hours\">\n <input matInput elderNoSpinner\n [name]=\"ngControl?.name + '-inner-hours'\"\n type=\"number\" class=\"duration-input duration-input-hours flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.hours)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withHours($event))\">\n <span class=\"mat-caption suffix flex-none noselect\">h</span>\n </div>\n\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.minutes\">\n <input matInput elderNoSpinner\n [name]=\"ngControl?.name + '-inner-minutes'\"\n type=\"number\" class=\"duration-input duration-input-minutes flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.minutes)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withMinutes($event))\">\n <span class=\"mat-caption suffix flex-none noselect\">min</span>\n </div>\n\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.seconds\">\n <input matInput elderNoSpinner\n [name]=\"ngControl?.name + '-inner-seconds'\"\n type=\"number\" class=\"duration-input duration-input-seconds flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.seconds)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withSeconds($event))\">\n <span class=\"mat-caption suffix flex-none noselect\">sec</span>\n </div>\n\n</div>\n", styles: [".suffix{opacity:.7}.duration-input{text-align:right}.duration-input-days{min-width:26px}.duration-input-hours{min-width:20px}.duration-input-minutes,.duration-input-seconds{min-width:26px}input.duration-input::-webkit-outer-spin-button,input.duration-input::-webkit-inner-spin-button{display:none}input.duration-input{-moz-appearance:textfield}\n"] }]
103
+ args: [{ selector: 'elder-duration-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: ElderDurationInputComponent }], standalone: true, imports: [NgIf, MatInput, ElderFormFieldNoSpinnerDirective, FormsModule, AsyncPipe], template: "<div\n class=\"layout-row place-start-center flex-none\"\n *ngIf=\"durationContext$ | async as durationCtx\"\n>\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.days\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-days'\"\n type=\"number\"\n class=\"duration-input duration-input-days flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.days)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withDays($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">d</span>\n </div>\n\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.hours\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-hours'\"\n type=\"number\"\n class=\"duration-input duration-input-hours flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.hours)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withHours($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">h</span>\n </div>\n\n <div\n class=\"layout-row place-start-baseline duration-field flex\"\n *ngIf=\"durationCtx.format.minutes\"\n >\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-minutes'\"\n type=\"number\"\n class=\"duration-input duration-input-minutes flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.minutes)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withMinutes($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">min</span>\n </div>\n\n <div\n class=\"layout-row place-start-baseline duration-field flex\"\n *ngIf=\"durationCtx.format.seconds\"\n >\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-seconds'\"\n type=\"number\"\n class=\"duration-input duration-input-seconds flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.seconds)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withSeconds($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">sec</span>\n </div>\n</div>\n", styles: [".suffix{opacity:.7}.duration-input{text-align:right}.duration-input-days{min-width:26px}.duration-input-hours{min-width:20px}.duration-input-minutes,.duration-input-seconds{min-width:26px}input.duration-input::-webkit-outer-spin-button,input.duration-input::-webkit-inner-spin-button{display:none}input.duration-input{-moz-appearance:textfield}\n"] }]
110
104
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.FocusMonitor }, { type: i2.TranslateService }, { type: i3.NgControl, decorators: [{
111
105
  type: Optional
112
106
  }, {
@@ -120,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
120
114
  }], durationFormat: [{
121
115
  type: Input
122
116
  }] } });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZHVyYXRpb24taW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90aW1lL2R1cmF0aW9uL2VsZGVyLWR1cmF0aW9uLWlucHV0L2VsZGVyLWR1cmF0aW9uLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9kdXJhdGlvbi9lbGRlci1kdXJhdGlvbi1pbnB1dC9lbGRlci1kdXJhdGlvbi1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQXNCLFFBQVEsRUFBRSxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUVoRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBQzNHLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBR2pFLE9BQU8sRUFBWSxXQUFXLEVBQUMsTUFBTSxnQkFBZ0Is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QWlCSyxNQUFNO3NCQURoQixLQUFLO2dCQU1LLGNBQWM7c0JBRHhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0LCBPdXRwdXQsIEVsZW1lbnRSZWYsIE5nWm9uZSwgT3B0aW9uYWwsIFNlbGZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEdXJhdGlvbiwgUGVyaW9kfSBmcm9tICdAanMtam9kYS9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7RHVyYXRpb25CdWNrZXR9IGZyb20gJy4uL2R1cmF0aW9uLWJ1Y2tldCc7XG5pbXBvcnQge0R1cmF0aW9uRm9ybWF0fSBmcm9tICcuLi9kdXJhdGlvbi1mb3JtYXQnO1xuaW1wb3J0IHtQZXJpb2REdXJhdGlvbn0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL3RpbWUvcGVyaW9kLWR1cmF0aW9uJztcbmltcG9ydCB7RWxkZXJGb3JtRmllbGRDb250cm9sQmFzZX0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2Zvcm1zL2VsZGVyLWZvcm0tZmllbGQtY29udHJvbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge01hdEZvcm1GaWVsZENvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtGb2N1c01vbml0b3J9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbCwgRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RWxkZXJGb3JtRmllbGROb1NwaW5uZXJEaXJlY3RpdmV9IGZyb20gJy4uLy4uLy4uL2Zvcm1zL2RpcmVjdGl2ZXMvZWxkZXItZm9ybS1maWVsZC1uby1zcGlubmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge01hdElucHV0fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQge05nSWYsIEFzeW5jUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuY2xhc3MgRHVyYXRpb25JbnB1dENvbnRleHQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgYnVja2V0OiBEdXJhdGlvbkJ1Y2tldCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9ybWF0OiBEdXJhdGlvbkZvcm1hdCxcbiAgKSB7XG4gIH1cbn1cblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VsZGVyLWR1cmF0aW9uLWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWxkZXItZHVyYXRpb24taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2VsZGVyLWR1cmF0aW9uLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLCB1c2VFeGlzdGluZzogRWxkZXJEdXJhdGlvbklucHV0Q29tcG9uZW50fSxcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIE1hdElucHV0LCBFbGRlckZvcm1GaWVsZE5vU3Bpbm5lckRpcmVjdGl2ZSwgRm9ybXNNb2R1bGUsIEFzeW5jUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJEdXJhdGlvbklucHV0Q29tcG9uZW50IGV4dGVuZHMgRWxkZXJGb3JtRmllbGRDb250cm9sQmFzZTxEdXJhdGlvbj4ge1xuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHB1YmxpYyByZWFkb25seSBkdXJhdGlvbkZvcm1hdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PER1cmF0aW9uRm9ybWF0PihEdXJhdGlvbkZvcm1hdC5ERUZBVUxUKTtcbiAgcHVibGljIHJlYWRvbmx5IGR1cmF0aW9uQ29udGV4dCQ6IE9ic2VydmFibGU8RHVyYXRpb25JbnB1dENvbnRleHQ+O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGhvc3RSZWY6IEVsZW1lbnRSZWYsXG4gICAgem9uZTogTmdab25lLFxuICAgIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgaG9zdFJlZixcbiAgICAgICdkdXJhdGlvbi1pbnB1dCcsXG4gICAgICBmb2N1c01vbml0b3IsXG4gICAgICB0cmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgbmdDb250cm9sXG4gICAgKTtcbiAgICB0aGlzLmR1cmF0aW9uQ29udGV4dCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnZhbHVlJCwgdGhpcy5kdXJhdGlvbkZvcm1hdCRdKS5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAoW2R1cmF0aW9uLCBmb3JtYXRdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBEdXJhdGlvbklucHV0Q29udGV4dChcbiAgICAgICAgICAgIGZvcm1hdC5idWNrZXQoUGVyaW9kRHVyYXRpb24ub2ZEdXJhdGlvbihkdXJhdGlvbikpLFxuICAgICAgICAgICAgZm9ybWF0XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBpc29WYWx1ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUNoYW5nZS5waXBlKFxuICAgICAgbWFwKGR1cmF0aW9uID0+IGR1cmF0aW9uID8gZHVyYXRpb24udG9KU09OKCkgOiBudWxsKVxuICAgICk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzb1ZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBwZCA9IFBlcmlvZER1cmF0aW9uLnBhcnNlKHZhbHVlKTtcbiAgICAgIGNvbnN0IGR1cmF0aW9uID0gcGQuZHVyYXRpb24gPz8gRHVyYXRpb24uWkVSTztcbiAgICAgIGNvbnN0IHBlcmlvZCA9IHBkLnBlcmlvZCA/PyBQZXJpb2QuWkVSTztcbiAgICAgIHRoaXMudmFsdWUgPSBkdXJhdGlvbi5wbHVzRGF5cyhwZXJpb2QuZGF5cygpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHl5eXk6TU06ZGQgaGg6bW06c3NcbiAgICogQHBhcmFtIGR1cmF0aW9uRm9ybWF0XG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZvcm1hdChkdXJhdGlvbkZvcm1hdDogc3RyaW5nKSB7XG4gICAgdGhpcy5kdXJhdGlvbkZvcm1hdCA9IER1cmF0aW9uRm9ybWF0LnBhcnNlKGR1cmF0aW9uRm9ybWF0KTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZHVyYXRpb25Gb3JtYXQoZm9ybWF0OiBEdXJhdGlvbkZvcm1hdCkge1xuICAgIHRoaXMuZHVyYXRpb25Gb3JtYXQkLm5leHQoZm9ybWF0KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2hvdWxkTGFiZWxGbG9hdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbiAgcHVibGljIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLmxvZy53YXJuKCdmb2N1cygpIG5vdCB5ZXQgc3VwcG9ydGVkIScpXG4gICAgLy8gVE9ETyB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50Py5mb2N1cyhvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBibHVyKCk6IHZvaWQge1xuICAgIHRoaXMubG9nLndhcm4oJ2JsdXIoKSBub3QgeWV0IHN1cHBvcnRlZCEnKVxuICAgIC8vIFRPRE8gdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudD8uYmx1cigpO1xuICB9XG5cblxuICBwdWJsaWMgcm91bmQodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIG9uQnVja2V0Q2hhbmdlZChidWNrZXQ6IER1cmF0aW9uQnVja2V0KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IGJ1Y2tldC50b0R1cmF0aW9uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdmFsdWVzRXF1YWxzKGE6IER1cmF0aW9uLCBiOiBEdXJhdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoYSAmJiBiKVxuICAgICAgPyBhLmVxdWFscyhiKVxuICAgICAgOiBhID09PSBiO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWNlbnRlciBmbGV4LW5vbmVcIiAqbmdJZj1cImR1cmF0aW9uQ29udGV4dCQgfCBhc3luYyBhcyBkdXJhdGlvbkN0eFwiPlxuXG4gIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWJhc2VsaW5lIGR1cmF0aW9uLWZpZWxkIGZsZXhcIiAqbmdJZj1cImR1cmF0aW9uQ3R4LmZvcm1hdC5kYXlzXCI+XG4gICAgPGlucHV0IG1hdElucHV0IGVsZGVyTm9TcGlubmVyXG4gICAgICAgICAgIFtuYW1lXT1cIm5nQ29udHJvbD8ubmFtZSArICctaW5uZXItZGF5cydcIlxuICAgICAgICAgICB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJkdXJhdGlvbi1pbnB1dCBkdXJhdGlvbi1pbnB1dC1kYXlzIGZsZXgtYXV0b1wiXG4gICAgICAgICAgIFtyZXF1aXJlZF09XCIhIXJlcXVpcmVkXCJcbiAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICAgICAgICAgICBbbmdNb2RlbF09XCJyb3VuZChkdXJhdGlvbkN0eD8uYnVja2V0Py5kYXlzKVwiXG4gICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQnVja2V0Q2hhbmdlZChkdXJhdGlvbkN0eC5idWNrZXQud2l0aERheXMoJGV2ZW50KSlcIj5cbiAgICA8c3BhbiBjbGFzcz1cIm1hdC1jYXB0aW9uIHN1ZmZpeCBmbGV4LW5vbmUgbm9zZWxlY3RcIj5kPC9zcGFuPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1iYXNlbGluZSBkdXJhdGlvbi1maWVsZCBmbGV4XCIgKm5nSWY9XCJkdXJhdGlvbkN0eC5mb3JtYXQuaG91cnNcIj5cbiAgICA8aW5wdXQgbWF0SW5wdXQgZWxkZXJOb1NwaW5uZXJcbiAgICAgICAgICAgW25hbWVdPVwibmdDb250cm9sPy5uYW1lICsgJy1pbm5lci1ob3VycydcIlxuICAgICAgICAgICB0eXBlPVwibnVtYmVyXCIgY2xhc3M9XCJkdXJhdGlvbi1pbnB1dCBkdXJhdGlvbi1pbnB1dC1ob3VycyBmbGV4LWF1dG9cIlxuICAgICAgICAgICBbcmVxdWlyZWRdPVwiISFyZXF1aXJlZFwiXG4gICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkXCJcbiAgICAgICAgICAgW25nTW9kZWxdPVwicm91bmQoZHVyYXRpb25DdHg/LmJ1Y2tldD8uaG91cnMpXCJcbiAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25CdWNrZXRDaGFuZ2VkKGR1cmF0aW9uQ3R4LmJ1Y2tldC53aXRoSG91cnMoJGV2ZW50KSlcIj5cbiAgICA8c3BhbiBjbGFzcz1cIm1hdC1jYXB0aW9uIHN1ZmZpeCBmbGV4LW5vbmUgbm9zZWxlY3RcIj5oPC9zcGFuPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1iYXNlbGluZSBkdXJhdGlvbi1maWVsZCBmbGV4XCIgKm5nSWY9XCJkdXJhdGlvbkN0eC5mb3JtYXQubWludXRlc1wiPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBlbGRlck5vU3Bpbm5lclxuICAgICAgICAgICBbbmFtZV09XCJuZ0NvbnRyb2w/Lm5hbWUgKyAnLWlubmVyLW1pbnV0ZXMnXCJcbiAgICAgICAgICAgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiZHVyYXRpb24taW5wdXQgZHVyYXRpb24taW5wdXQtbWludXRlcyBmbGV4LWF1dG9cIlxuICAgICAgICAgICBbcmVxdWlyZWRdPVwiISFyZXF1aXJlZFwiXG4gICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkXCJcbiAgICAgICAgICAgW25nTW9kZWxdPVwicm91bmQoZHVyYXRpb25DdHg/LmJ1Y2tldD8ubWludXRlcylcIlxuICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkJ1Y2tldENoYW5nZWQoZHVyYXRpb25DdHguYnVja2V0LndpdGhNaW51dGVzKCRldmVudCkpXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJtYXQtY2FwdGlvbiBzdWZmaXggZmxleC1ub25lIG5vc2VsZWN0XCI+bWluPC9zcGFuPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1iYXNlbGluZSBkdXJhdGlvbi1maWVsZCBmbGV4XCIgKm5nSWY9XCJkdXJhdGlvbkN0eC5mb3JtYXQuc2Vjb25kc1wiPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBlbGRlck5vU3Bpbm5lclxuICAgICAgICAgICBbbmFtZV09XCJuZ0NvbnRyb2w/Lm5hbWUgKyAnLWlubmVyLXNlY29uZHMnXCJcbiAgICAgICAgICAgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiZHVyYXRpb24taW5wdXQgZHVyYXRpb24taW5wdXQtc2Vjb25kcyBmbGV4LWF1dG9cIlxuICAgICAgICAgICBbcmVxdWlyZWRdPVwiISFyZXF1aXJlZFwiXG4gICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkXCJcbiAgICAgICAgICAgW25nTW9kZWxdPVwicm91bmQoZHVyYXRpb25DdHg/LmJ1Y2tldD8uc2Vjb25kcylcIlxuICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkJ1Y2tldENoYW5nZWQoZHVyYXRpb25DdHguYnVja2V0LndpdGhTZWNvbmRzKCRldmVudCkpXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJtYXQtY2FwdGlvbiBzdWZmaXggZmxleC1ub25lIG5vc2VsZWN0XCI+c2VjPC9zcGFuPlxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZHVyYXRpb24taW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy90aW1lL2R1cmF0aW9uL2VsZGVyLWR1cmF0aW9uLWlucHV0L2VsZGVyLWR1cmF0aW9uLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9kdXJhdGlvbi9lbGRlci1kdXJhdGlvbi1pbnB1dC9lbGRlci1kdXJhdGlvbi1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsTUFBTSxFQUdOLFFBQVEsRUFDUixJQUFJLEdBQ0wsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQTtBQUVqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ3hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtFQUFrRSxDQUFBO0FBQzVHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBR2xFLE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0Is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QWlCSyxNQUFNO3NCQURoQixLQUFLO2dCQU1LLGNBQWM7c0JBRHhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFbGVtZW50UmVmLFxuICBOZ1pvbmUsXG4gIE9wdGlvbmFsLFxuICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgRHVyYXRpb24sIFBlcmlvZCB9IGZyb20gJ0Bqcy1qb2RhL2NvcmUnXG5pbXBvcnQgeyBMb2dnZXJGYWN0b3J5IH0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBEdXJhdGlvbkJ1Y2tldCB9IGZyb20gJy4uL2R1cmF0aW9uLWJ1Y2tldCdcbmltcG9ydCB7IER1cmF0aW9uRm9ybWF0IH0gZnJvbSAnLi4vZHVyYXRpb24tZm9ybWF0J1xuaW1wb3J0IHsgUGVyaW9kRHVyYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vdGltZS9wZXJpb2QtZHVyYXRpb24nXG5pbXBvcnQgeyBFbGRlckZvcm1GaWVsZENvbnRyb2xCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2Zvcm1zL2VsZGVyLWZvcm0tZmllbGQtY29udHJvbC1iYXNlLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE1hdEZvcm1GaWVsZENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xuaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE5nQ29udHJvbCwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IEVsZGVyRm9ybUZpZWxkTm9TcGlubmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZm9ybXMvZGlyZWN0aXZlcy9lbGRlci1mb3JtLWZpZWxkLW5vLXNwaW5uZXIuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgTWF0SW5wdXQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCdcbmltcG9ydCB7IE5nSWYsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcblxuY2xhc3MgRHVyYXRpb25JbnB1dENvbnRleHQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgYnVja2V0OiBEdXJhdGlvbkJ1Y2tldCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgZm9ybWF0OiBEdXJhdGlvbkZvcm1hdFxuICApIHt9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWR1cmF0aW9uLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWR1cmF0aW9uLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWxkZXItZHVyYXRpb24taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCwgdXNlRXhpc3Rpbmc6IEVsZGVyRHVyYXRpb25JbnB1dENvbXBvbmVudCB9XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nSWYsIE1hdElucHV0LCBFbGRlckZvcm1GaWVsZE5vU3Bpbm5lckRpcmVjdGl2ZSwgRm9ybXNNb2R1bGUsIEFzeW5jUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyRHVyYXRpb25JbnB1dENvbXBvbmVudCBleHRlbmRzIEVsZGVyRm9ybUZpZWxkQ29udHJvbEJhc2U8RHVyYXRpb24+IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpXG5cbiAgcHVibGljIHJlYWRvbmx5IGR1cmF0aW9uRm9ybWF0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RHVyYXRpb25Gb3JtYXQ+KER1cmF0aW9uRm9ybWF0LkRFRkFVTFQpXG4gIHB1YmxpYyByZWFkb25seSBkdXJhdGlvbkNvbnRleHQkOiBPYnNlcnZhYmxlPER1cmF0aW9uSW5wdXRDb250ZXh0PlxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGhvc3RSZWY6IEVsZW1lbnRSZWYsXG4gICAgem9uZTogTmdab25lLFxuICAgIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2xcbiAgKSB7XG4gICAgc3VwZXIoaG9zdFJlZiwgJ2R1cmF0aW9uLWlucHV0JywgZm9jdXNNb25pdG9yLCB0cmFuc2xhdGVTZXJ2aWNlLCBuZ0NvbnRyb2wpXG4gICAgdGhpcy5kdXJhdGlvbkNvbnRleHQkID0gY29tYmluZUxhdGVzdChbdGhpcy52YWx1ZSQsIHRoaXMuZHVyYXRpb25Gb3JtYXQkXSkucGlwZShcbiAgICAgIG1hcCgoW2R1cmF0aW9uLCBmb3JtYXRdKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgRHVyYXRpb25JbnB1dENvbnRleHQoZm9ybWF0LmJ1Y2tldChQZXJpb2REdXJhdGlvbi5vZkR1cmF0aW9uKGR1cmF0aW9uKSksIGZvcm1hdClcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgaXNvVmFsdWVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVDaGFuZ2UucGlwZShtYXAoKGR1cmF0aW9uKSA9PiAoZHVyYXRpb24gPyBkdXJhdGlvbi50b0pTT04oKSA6IG51bGwpKSlcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaXNvVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnN0IHBkID0gUGVyaW9kRHVyYXRpb24ucGFyc2UodmFsdWUpXG4gICAgICBjb25zdCBkdXJhdGlvbiA9IHBkLmR1cmF0aW9uID8/IER1cmF0aW9uLlpFUk9cbiAgICAgIGNvbnN0IHBlcmlvZCA9IHBkLnBlcmlvZCA/PyBQZXJpb2QuWkVST1xuICAgICAgdGhpcy52YWx1ZSA9IGR1cmF0aW9uLnBsdXNEYXlzKHBlcmlvZC5kYXlzKCkpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHl5eXk6TU06ZGQgaGg6bW06c3NcbiAgICogQHBhcmFtIGR1cmF0aW9uRm9ybWF0XG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZvcm1hdChkdXJhdGlvbkZvcm1hdDogc3RyaW5nKSB7XG4gICAgdGhpcy5kdXJhdGlvbkZvcm1hdCA9IER1cmF0aW9uRm9ybWF0LnBhcnNlKGR1cmF0aW9uRm9ybWF0KVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkdXJhdGlvbkZvcm1hdChmb3JtYXQ6IER1cmF0aW9uRm9ybWF0KSB7XG4gICAgdGhpcy5kdXJhdGlvbkZvcm1hdCQubmV4dChmb3JtYXQpXG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3VsZExhYmVsRmxvYXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBmb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5sb2cud2FybignZm9jdXMoKSBub3QgeWV0IHN1cHBvcnRlZCEnKVxuICAgIC8vIFRPRE8gdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudD8uZm9jdXMob3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgYmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLmxvZy53YXJuKCdibHVyKCkgbm90IHlldCBzdXBwb3J0ZWQhJylcbiAgICAvLyBUT0RPIHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmJsdXIoKTtcbiAgfVxuXG4gIHB1YmxpYyByb3VuZCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZCh2YWx1ZSlcbiAgfVxuXG4gIHB1YmxpYyBvbkJ1Y2tldENoYW5nZWQoYnVja2V0OiBEdXJhdGlvbkJ1Y2tldCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBidWNrZXQudG9EdXJhdGlvbigpXG4gIH1cblxuICBwcm90ZWN0ZWQgdmFsdWVzRXF1YWxzKGE6IER1cmF0aW9uLCBiOiBEdXJhdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBhICYmIGIgPyBhLmVxdWFscyhiKSA6IGEgPT09IGJcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtY2VudGVyIGZsZXgtbm9uZVwiXG4gICpuZ0lmPVwiZHVyYXRpb25Db250ZXh0JCB8IGFzeW5jIGFzIGR1cmF0aW9uQ3R4XCJcbj5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtYmFzZWxpbmUgZHVyYXRpb24tZmllbGQgZmxleFwiICpuZ0lmPVwiZHVyYXRpb25DdHguZm9ybWF0LmRheXNcIj5cbiAgICA8aW5wdXRcbiAgICAgIG1hdElucHV0XG4gICAgICBlbGRlck5vU3Bpbm5lclxuICAgICAgW25hbWVdPVwibmdDb250cm9sPy5uYW1lICsgJy1pbm5lci1kYXlzJ1wiXG4gICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgIGNsYXNzPVwiZHVyYXRpb24taW5wdXQgZHVyYXRpb24taW5wdXQtZGF5cyBmbGV4LWF1dG9cIlxuICAgICAgW3JlcXVpcmVkXT1cIiEhcmVxdWlyZWRcIlxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkXCJcbiAgICAgIFtuZ01vZGVsXT1cInJvdW5kKGR1cmF0aW9uQ3R4Py5idWNrZXQ/LmRheXMpXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQnVja2V0Q2hhbmdlZChkdXJhdGlvbkN0eC5idWNrZXQud2l0aERheXMoJGV2ZW50KSlcIlxuICAgIC8+XG4gICAgPHNwYW4gY2xhc3M9XCJtYXQtY2FwdGlvbiBzdWZmaXggZmxleC1ub25lIG5vc2VsZWN0XCI+ZDwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtYmFzZWxpbmUgZHVyYXRpb24tZmllbGQgZmxleFwiICpuZ0lmPVwiZHVyYXRpb25DdHguZm9ybWF0LmhvdXJzXCI+XG4gICAgPGlucHV0XG4gICAgICBtYXRJbnB1dFxuICAgICAgZWxkZXJOb1NwaW5uZXJcbiAgICAgIFtuYW1lXT1cIm5nQ29udHJvbD8ubmFtZSArICctaW5uZXItaG91cnMnXCJcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgY2xhc3M9XCJkdXJhdGlvbi1pbnB1dCBkdXJhdGlvbi1pbnB1dC1ob3VycyBmbGV4LWF1dG9cIlxuICAgICAgW3JlcXVpcmVkXT1cIiEhcmVxdWlyZWRcIlxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgIFtkaXNhYmxlZF09XCIhIWRpc2FibGVkXCJcbiAgICAgIFtuZ01vZGVsXT1cInJvdW5kKGR1cmF0aW9uQ3R4Py5idWNrZXQ/LmhvdXJzKVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkJ1Y2tldENoYW5nZWQoZHVyYXRpb25DdHguYnVja2V0LndpdGhIb3VycygkZXZlbnQpKVwiXG4gICAgLz5cbiAgICA8c3BhbiBjbGFzcz1cIm1hdC1jYXB0aW9uIHN1ZmZpeCBmbGV4LW5vbmUgbm9zZWxlY3RcIj5oPC9zcGFuPlxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLXN0YXJ0LWJhc2VsaW5lIGR1cmF0aW9uLWZpZWxkIGZsZXhcIlxuICAgICpuZ0lmPVwiZHVyYXRpb25DdHguZm9ybWF0Lm1pbnV0ZXNcIlxuICA+XG4gICAgPGlucHV0XG4gICAgICBtYXRJbnB1dFxuICAgICAgZWxkZXJOb1NwaW5uZXJcbiAgICAgIFtuYW1lXT1cIm5nQ29udHJvbD8ubmFtZSArICctaW5uZXItbWludXRlcydcIlxuICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICBjbGFzcz1cImR1cmF0aW9uLWlucHV0IGR1cmF0aW9uLWlucHV0LW1pbnV0ZXMgZmxleC1hdXRvXCJcbiAgICAgIFtyZXF1aXJlZF09XCIhIXJlcXVpcmVkXCJcbiAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICBbZGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXG4gICAgICBbbmdNb2RlbF09XCJyb3VuZChkdXJhdGlvbkN0eD8uYnVja2V0Py5taW51dGVzKVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkJ1Y2tldENoYW5nZWQoZHVyYXRpb25DdHguYnVja2V0LndpdGhNaW51dGVzKCRldmVudCkpXCJcbiAgICAvPlxuICAgIDxzcGFuIGNsYXNzPVwibWF0LWNhcHRpb24gc3VmZml4IGZsZXgtbm9uZSBub3NlbGVjdFwiPm1pbjwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwibGF5b3V0LXJvdyBwbGFjZS1zdGFydC1iYXNlbGluZSBkdXJhdGlvbi1maWVsZCBmbGV4XCJcbiAgICAqbmdJZj1cImR1cmF0aW9uQ3R4LmZvcm1hdC5zZWNvbmRzXCJcbiAgPlxuICAgIDxpbnB1dFxuICAgICAgbWF0SW5wdXRcbiAgICAgIGVsZGVyTm9TcGlubmVyXG4gICAgICBbbmFtZV09XCJuZ0NvbnRyb2w/Lm5hbWUgKyAnLWlubmVyLXNlY29uZHMnXCJcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgY2xhc3M9XCJkdXJhdGlvbi1pbnB1dCBkdXJhdGlvbi1pbnB1dC1zZWNvbmRzIGZsZXgtYXV0b1wiXG4gICAgICBbcmVxdWlyZWRdPVwiISFyZXF1aXJlZFwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICAgICAgW25nTW9kZWxdPVwicm91bmQoZHVyYXRpb25DdHg/LmJ1Y2tldD8uc2Vjb25kcylcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25CdWNrZXRDaGFuZ2VkKGR1cmF0aW9uQ3R4LmJ1Y2tldC53aXRoU2Vjb25kcygkZXZlbnQpKVwiXG4gICAgLz5cbiAgICA8c3BhbiBjbGFzcz1cIm1hdC1jYXB0aW9uIHN1ZmZpeCBmbGV4LW5vbmUgbm9zZWxlY3RcIj5zZWM8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvLWR1cmF0aW9uLXN0ci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9kdXJhdGlvbi9pc28tZHVyYXRpb24tc3RyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlcHJlc2VudHMgYSByYXcgSVNPIGR1cmF0aW9uIGZvcm1hdHRlZCBzdHJpbmcgc3VjaCBhcyAnUDIzRFQyM0gnXG4gKiBBIHBhcnNlZCBkdXJhdGlvbiBpcyByZXByZXNlbnRlZCBieSBhIGpvZGEgRHVyYXRpb24gY2xhc3MuXG4gKi9cbmV4cG9ydCB0eXBlIElzb0R1cmF0aW9uU3RyID0gc3RyaW5nO1xuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNvLWR1cmF0aW9uLXN0ci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9kdXJhdGlvbi9pc28tZHVyYXRpb24tc3RyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJlcHJlc2VudHMgYSByYXcgSVNPIGR1cmF0aW9uIGZvcm1hdHRlZCBzdHJpbmcgc3VjaCBhcyAnUDIzRFQyM0gnXG4gKiBBIHBhcnNlZCBkdXJhdGlvbiBpcyByZXByZXNlbnRlZCBieSBhIGpvZGEgRHVyYXRpb24gY2xhc3MuXG4gKi9cbmV4cG9ydCB0eXBlIElzb0R1cmF0aW9uU3RyID0gc3RyaW5nXG4iXX0=
@@ -51,7 +51,7 @@ export class ElderDateSwitcherComponent extends FormFieldBaseComponent {
51
51
  * @deprecated Migrate your code to use LocalDate
52
52
  */
53
53
  get dateChange() {
54
- return this.valueChange.pipe(map(localDate => localDate ? TimeUtil.localDateToDate(localDate) : null));
54
+ return this.valueChange.pipe(map((localDate) => (localDate ? TimeUtil.localDateToDate(localDate) : null)));
55
55
  }
56
56
  /**
57
57
  * @param date
@@ -66,16 +66,22 @@ export class ElderDateSwitcherComponent extends FormFieldBaseComponent {
66
66
  * *
67
67
  **************************************************************************/
68
68
  valuesEquals(a, b) {
69
- return (a && b)
70
- ? a.equals(b)
71
- : a === b;
69
+ return a && b ? a.equals(b) : a === b;
72
70
  }
73
71
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderDateSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
74
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: ElderDateSwitcherComponent, isStandalone: true, selector: "elder-date-switcher", inputs: { datePickerEnabled: "datePickerEnabled", datePickerTouchUi: "datePickerTouchUi", dense: "dense", date: "date" }, outputs: { dateChange: "dateChange" }, host: { classAttribute: "elder-form-field-host" }, providers: buildFormIntegrationProviders(ElderDateSwitcherComponent), usesInheritance: true, ngImport: i0, template: "<mat-form-field subscriptSizing=\"dynamic\" class=\"flex full\" [elderDense]=\"dense\">\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n <elder-local-date-input\n arrows today autoDatePicker datePickerTouchUi\n [datePickerEnabled]=\"false\"\n [datePickerTouchUi]=\"datePickerTouchUi\"\n [value]=\"value$ | async\"\n (valueUpdated)=\"updateValue($event)\"\n >\n </elder-local-date-input>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: ElderLocalDateInputComponent, selector: "elder-local-date-input", inputs: ["zone", "autoDatePicker", "arrows", "today", "center", "datePickerTouchUi", "allowNull", "datePickerEnabled", "isoValue", "dateValue", "isoDateValue"], outputs: ["blurred", "valueUpdatedBlur", "isoValueChange", "dateValueChange", "isoDateValueChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], viewProviders: [ViewProviders.ParentControlContainer], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
72
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: ElderDateSwitcherComponent, isStandalone: true, selector: "elder-date-switcher", inputs: { datePickerEnabled: "datePickerEnabled", datePickerTouchUi: "datePickerTouchUi", dense: "dense", date: "date" }, outputs: { dateChange: "dateChange" }, host: { classAttribute: "elder-form-field-host" }, providers: buildFormIntegrationProviders(ElderDateSwitcherComponent), usesInheritance: true, ngImport: i0, template: "<mat-form-field subscriptSizing=\"dynamic\" class=\"flex full\" [elderDense]=\"dense\">\n <mat-label *ngIf=\"label\">{{ label | translate }}</mat-label>\n <elder-local-date-input\n arrows\n today\n autoDatePicker\n datePickerTouchUi\n [datePickerEnabled]=\"false\"\n [datePickerTouchUi]=\"datePickerTouchUi\"\n [value]=\"value$ | async\"\n (valueUpdated)=\"updateValue($event)\"\n >\n </elder-local-date-input>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: ElderLocalDateInputComponent, selector: "elder-local-date-input", inputs: ["zone", "autoDatePicker", "arrows", "today", "center", "datePickerTouchUi", "allowNull", "datePickerEnabled", "isoValue", "dateValue", "isoDateValue"], outputs: ["blurred", "valueUpdatedBlur", "isoValueChange", "dateValueChange", "isoDateValueChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], viewProviders: [ViewProviders.ParentControlContainer], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
75
73
  }
76
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderDateSwitcherComponent, decorators: [{
77
75
  type: Component,
78
- args: [{ selector: 'elder-date-switcher', changeDetection: ChangeDetectionStrategy.OnPush, host: { 'class': 'elder-form-field-host' }, providers: buildFormIntegrationProviders(ElderDateSwitcherComponent), viewProviders: [ViewProviders.ParentControlContainer], standalone: true, imports: [MatFormField, ElderFormFieldDenseDirective, NgIf, MatLabel, ElderLocalDateInputComponent, AsyncPipe, TranslateModule], template: "<mat-form-field subscriptSizing=\"dynamic\" class=\"flex full\" [elderDense]=\"dense\">\n <mat-label *ngIf=\"label\">{{label | translate}}</mat-label>\n <elder-local-date-input\n arrows today autoDatePicker datePickerTouchUi\n [datePickerEnabled]=\"false\"\n [datePickerTouchUi]=\"datePickerTouchUi\"\n [value]=\"value$ | async\"\n (valueUpdated)=\"updateValue($event)\"\n >\n </elder-local-date-input>\n</mat-form-field>\n" }]
76
+ args: [{ selector: 'elder-date-switcher', changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'elder-form-field-host' }, providers: buildFormIntegrationProviders(ElderDateSwitcherComponent), viewProviders: [ViewProviders.ParentControlContainer], standalone: true, imports: [
77
+ MatFormField,
78
+ ElderFormFieldDenseDirective,
79
+ NgIf,
80
+ MatLabel,
81
+ ElderLocalDateInputComponent,
82
+ AsyncPipe,
83
+ TranslateModule,
84
+ ], template: "<mat-form-field subscriptSizing=\"dynamic\" class=\"flex full\" [elderDense]=\"dense\">\n <mat-label *ngIf=\"label\">{{ label | translate }}</mat-label>\n <elder-local-date-input\n arrows\n today\n autoDatePicker\n datePickerTouchUi\n [datePickerEnabled]=\"false\"\n [datePickerTouchUi]=\"datePickerTouchUi\"\n [value]=\"value$ | async\"\n (valueUpdated)=\"updateValue($event)\"\n >\n </elder-local-date-input>\n</mat-form-field>\n" }]
79
85
  }], ctorParameters: () => [], propDecorators: { datePickerEnabled: [{
80
86
  type: Input
81
87
  }], datePickerTouchUi: [{
@@ -87,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
87
93
  }], date: [{
88
94
  type: Input
89
95
  }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0ZS1zd2l0Y2hlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RpbWUvZWxkZXItZGF0ZS1zd2l0Y2hlci9lbGRlci1kYXRlLXN3aXRjaGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1kYXRlLXN3aXRjaGVyL2VsZGVyLWRhdGUtc3dpdGNoZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN2RixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUVuRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUN4RyxPQUFPLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxZQUFZLEVBQUUsUUFBUSxFQUFDLE1BQU0sOEJBQThCLENBQUM7OztBQWNwRSxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsc0JBQWlDO0lBc0IvRTs7OztnRkFJNEU7SUFFNUU7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQTNCVjs7OztvRkFJNEU7UUFFM0QsV0FBTSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6RSxxREFBcUQ7UUFFOUMsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBRWhDLCtEQUErRDtRQUV4RCxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFakMsd0RBQXdEO1FBRWpELFVBQUssR0FBRyxLQUFLLENBQUM7UUFVbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFFBQVEsS0FBVSxDQUFDO0lBRTFCOzs7O2dGQUk0RTtJQUU1RTs7O09BR0c7SUFDSCxJQUNXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDMUIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDekUsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNXLElBQUksQ0FBQyxJQUFVO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVsRSxZQUFZLENBQUMsQ0FBWSxFQUFFLENBQVk7UUFDL0MsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDYixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDYixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNkLENBQUM7OEdBN0VVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLHNSQUx4Qiw2QkFBNkIsQ0FBQywwQkFBMEIsQ0FBQyxpREN0QnhFLDRiQVdBLDBERGNjLFlBQVksNExBQUUsNEJBQTRCLGdJQUFFLElBQUksNkZBQUUsUUFBUSxzREFBRSw0QkFBNEIsb1VBQUUsU0FBUyw2Q0FBRSxlQUFlLGlGQUYvRyxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQzs7MkZBSTVDLDBCQUEwQjtrQkFadEMsU0FBUzsrQkFDSSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxRQUV6QyxFQUFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBQyxhQUM3Qiw2QkFBNkIsNEJBQTRCLGlCQUNyRCxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxjQUN6QyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsNEJBQTRCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSw0QkFBNEIsRUFBRSxTQUFTLEVBQUUsZUFBZSxDQUFDO3dEQWMxSCxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBS0MsaUJBQWlCO3NCQUR2QixLQUFLO2dCQUtDLEtBQUs7c0JBRFgsS0FBSztnQkFpQ0ssVUFBVTtzQkFEcEIsTUFBTTtnQkFZSSxJQUFJO3NCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7Rm9ybUZpZWxkQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL2Zvcm0tZmllbGQtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtMb2NhbERhdGV9IGZyb20gJ0Bqcy1qb2RhL2NvcmUnO1xuaW1wb3J0IHtidWlsZEZvcm1JbnRlZ3JhdGlvblByb3ZpZGVyc30gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL3RlbXBsYXRlLWNvbXBvc2l0ZS1jb250cm9sJztcbmltcG9ydCB7Vmlld1Byb3ZpZGVyc30gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL3ZpZXctcHJvdmlkZXJzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RpbWVVdGlsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdGltZS90aW1lLXV0aWwnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RWxkZXJMb2NhbERhdGVJbnB1dENvbXBvbmVudH0gZnJvbSAnLi4vZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC9lbGRlci1sb2NhbC1kYXRlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge05nSWYsIEFzeW5jUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7RWxkZXJGb3JtRmllbGREZW5zZURpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vZm9ybXMvZGlyZWN0aXZlcy9lbGRlci1mb3JtLWZpZWxkLWRlbnNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge01hdEZvcm1GaWVsZCwgTWF0TGFiZWx9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VsZGVyLWRhdGUtc3dpdGNoZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1kYXRlLXN3aXRjaGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lbGRlci1kYXRlLXN3aXRjaGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gICAgaG9zdDogeydjbGFzcyc6ICdlbGRlci1mb3JtLWZpZWxkLWhvc3QnfSxcbiAgICBwcm92aWRlcnM6IGJ1aWxkRm9ybUludGVncmF0aW9uUHJvdmlkZXJzKEVsZGVyRGF0ZVN3aXRjaGVyQ29tcG9uZW50KSxcbiAgICB2aWV3UHJvdmlkZXJzOiBbVmlld1Byb3ZpZGVycy5QYXJlbnRDb250cm9sQ29udGFpbmVyXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtNYXRGb3JtRmllbGQsIEVsZGVyRm9ybUZpZWxkRGVuc2VEaXJlY3RpdmUsIE5nSWYsIE1hdExhYmVsLCBFbGRlckxvY2FsRGF0ZUlucHV0Q29tcG9uZW50LCBBc3luY1BpcGUsIFRyYW5zbGF0ZU1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJEYXRlU3dpdGNoZXJDb21wb25lbnQgZXh0ZW5kcyBGb3JtRmllbGRCYXNlQ29tcG9uZW50PExvY2FsRGF0ZT4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICAvKiogSWYgdHJ1ZSwgZGF0ZSBwaWNrZXIgZnVuY3Rpb25hbGl0eSBpcyBlbmFibGVkLiAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0ZVBpY2tlckVuYWJsZWQgPSB0cnVlO1xuXG4gIC8qKiBJZiB0cnVlLCB0b3VjaCBvcHRpbWl6ZWQgbW9kZSBvZiBkYXRlIHBpY2tlciBpcyBlbmFibGVkLiAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0ZVBpY2tlclRvdWNoVWkgPSBmYWxzZTtcblxuICAvKiogSWYgdHJ1ZSwgZWxkZXJEZW5zZSBvbiBtYXQtZm9ybS1maWVsZCBpcyBlbmFibGVkLiAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGVuc2UgPSBmYWxzZTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMudXBkYXRlVmFsdWUoTG9jYWxEYXRlLm5vdygpKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIEVtaXRzIGRhdGUgdXBvbiBpbnRlcm5hbCBkYXRlIGNoYW5nZS5cbiAgICogQGRlcHJlY2F0ZWQgTWlncmF0ZSB5b3VyIGNvZGUgdG8gdXNlIExvY2FsRGF0ZVxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgZGF0ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPERhdGU+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUNoYW5nZS5waXBlKFxuICAgICAgbWFwKGxvY2FsRGF0ZSA9PiBsb2NhbERhdGUgPyBUaW1lVXRpbC5sb2NhbERhdGVUb0RhdGUobG9jYWxEYXRlKSA6IG51bGwpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gZGF0ZVxuICAgKiBAZGVwcmVjYXRlZCBNaWdyYXRlIHlvdXIgY29kZSB0byB1c2UgTG9jYWxEYXRlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRhdGUoZGF0ZTogRGF0ZSkge1xuICAgIHRoaXMudmFsdWUgPSBkYXRlID8gVGltZVV0aWwuZGF0ZVRvTG9jYWxEYXRlKGRhdGUpIDogbnVsbDtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIE1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCB2YWx1ZXNFcXVhbHMoYTogTG9jYWxEYXRlLCBiOiBMb2NhbERhdGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKGEgJiYgYilcbiAgICAgID8gYS5lcXVhbHMoYilcbiAgICAgIDogYSA9PT0gYjtcbiAgfVxuXG5cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgY2xhc3M9XCJmbGV4IGZ1bGxcIiBbZWxkZXJEZW5zZV09XCJkZW5zZVwiPlxuICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxcIj57e2xhYmVsIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgPGVsZGVyLWxvY2FsLWRhdGUtaW5wdXRcbiAgICBhcnJvd3MgdG9kYXkgYXV0b0RhdGVQaWNrZXIgZGF0ZVBpY2tlclRvdWNoVWlcbiAgICBbZGF0ZVBpY2tlckVuYWJsZWRdPVwiZmFsc2VcIlxuICAgIFtkYXRlUGlja2VyVG91Y2hVaV09XCJkYXRlUGlja2VyVG91Y2hVaVwiXG4gICAgW3ZhbHVlXT1cInZhbHVlJCB8IGFzeW5jXCJcbiAgICAodmFsdWVVcGRhdGVkKT1cInVwZGF0ZVZhbHVlKCRldmVudClcIlxuICA+XG4gIDwvZWxkZXItbG9jYWwtZGF0ZS1pbnB1dD5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0ZS1zd2l0Y2hlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RpbWUvZWxkZXItZGF0ZS1zd2l0Y2hlci9lbGRlci1kYXRlLXN3aXRjaGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1kYXRlLXN3aXRjaGVyL2VsZGVyLWRhdGUtc3dpdGNoZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQTtBQUN4RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGtEQUFrRCxDQUFBO0FBQ2hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTtBQUVwRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDekQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQTtBQUN6RyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ2pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFBO0FBQ3RHLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUE7OztBQXNCckUsTUFBTSxPQUFPLDBCQUNYLFNBQVEsc0JBQWlDO0lBdUJ6Qzs7OztnRkFJNEU7SUFFNUU7UUFDRSxLQUFLLEVBQUUsQ0FBQTtRQTNCVDs7OztvRkFJNEU7UUFFM0QsV0FBTSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUV4RSxxREFBcUQ7UUFFOUMsc0JBQWlCLEdBQUcsSUFBSSxDQUFBO1FBRS9CLCtEQUErRDtRQUV4RCxzQkFBaUIsR0FBRyxLQUFLLENBQUE7UUFFaEMsd0RBQXdEO1FBRWpELFVBQUssR0FBRyxLQUFLLENBQUE7UUFVbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQTtJQUNuQyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFFBQVEsS0FBVSxDQUFDO0lBRTFCOzs7O2dGQUk0RTtJQUU1RTs7O09BR0c7SUFDSCxJQUNXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDMUIsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDN0UsQ0FBQTtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNXLElBQUksQ0FBQyxJQUFVO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFDM0QsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVsRSxZQUFZLENBQUMsQ0FBWSxFQUFFLENBQVk7UUFDL0MsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7OEdBN0VVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLHNSQWIxQiw2QkFBNkIsQ0FBQywwQkFBMEIsQ0FBQyxpREN0QnRFLDZjQWNBLDBERFlJLFlBQVksNExBQ1osNEJBQTRCLGdJQUM1QixJQUFJLDZGQUNKLFFBQVEsc0RBQ1IsNEJBQTRCLG9VQUM1QixTQUFTLDZDQUNULGVBQWUsaUZBVEYsQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUM7OzJGQVkxQywwQkFBMEI7a0JBcEJ0QyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLFFBRXpDLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLGFBQzdCLDZCQUE2Qiw0QkFBNEIsaUJBQ3JELENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLGNBQ3pDLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLDRCQUE0Qjt3QkFDNUIsSUFBSTt3QkFDSixRQUFRO3dCQUNSLDRCQUE0Qjt3QkFDNUIsU0FBUzt3QkFDVCxlQUFlO3FCQUNoQjt3REFnQk0saUJBQWlCO3NCQUR2QixLQUFLO2dCQUtDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFLQyxLQUFLO3NCQURYLEtBQUs7Z0JBaUNLLFVBQVU7c0JBRHBCLE1BQU07Z0JBWUksSUFBSTtzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7IEZvcm1GaWVsZEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZm9ybXMvZm9ybS1maWVsZC1iYXNlLmNvbXBvbmVudCdcbmltcG9ydCB7IExvY2FsRGF0ZSB9IGZyb20gJ0Bqcy1qb2RhL2NvcmUnXG5pbXBvcnQgeyBidWlsZEZvcm1JbnRlZ3JhdGlvblByb3ZpZGVycyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9mb3Jtcy90ZW1wbGF0ZS1jb21wb3NpdGUtY29udHJvbCdcbmltcG9ydCB7IFZpZXdQcm92aWRlcnMgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZm9ybXMvdmlldy1wcm92aWRlcnMnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IFRpbWVVdGlsIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3RpbWUvdGltZS11dGlsJ1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgRWxkZXJMb2NhbERhdGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2VsZGVyLWxvY2FsLWRhdGUtaW5wdXQvZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC5jb21wb25lbnQnXG5pbXBvcnQgeyBOZ0lmLCBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBFbGRlckZvcm1GaWVsZERlbnNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZm9ybXMvZGlyZWN0aXZlcy9lbGRlci1mb3JtLWZpZWxkLWRlbnNlLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCwgTWF0TGFiZWwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1kYXRlLXN3aXRjaGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWRhdGUtc3dpdGNoZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1kYXRlLXN3aXRjaGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWhvc3QtbWV0YWRhdGEtcHJvcGVydHlcbiAgaG9zdDogeyBjbGFzczogJ2VsZGVyLWZvcm0tZmllbGQtaG9zdCcgfSxcbiAgcHJvdmlkZXJzOiBidWlsZEZvcm1JbnRlZ3JhdGlvblByb3ZpZGVycyhFbGRlckRhdGVTd2l0Y2hlckNvbXBvbmVudCksXG4gIHZpZXdQcm92aWRlcnM6IFtWaWV3UHJvdmlkZXJzLlBhcmVudENvbnRyb2xDb250YWluZXJdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0Rm9ybUZpZWxkLFxuICAgIEVsZGVyRm9ybUZpZWxkRGVuc2VEaXJlY3RpdmUsXG4gICAgTmdJZixcbiAgICBNYXRMYWJlbCxcbiAgICBFbGRlckxvY2FsRGF0ZUlucHV0Q29tcG9uZW50LFxuICAgIEFzeW5jUGlwZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyRGF0ZVN3aXRjaGVyQ29tcG9uZW50XG4gIGV4dGVuZHMgRm9ybUZpZWxkQmFzZUNvbXBvbmVudDxMb2NhbERhdGU+XG4gIGltcGxlbWVudHMgT25Jbml0XG57XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuXG4gIC8qKiBJZiB0cnVlLCBkYXRlIHBpY2tlciBmdW5jdGlvbmFsaXR5IGlzIGVuYWJsZWQuICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkYXRlUGlja2VyRW5hYmxlZCA9IHRydWVcblxuICAvKiogSWYgdHJ1ZSwgdG91Y2ggb3B0aW1pemVkIG1vZGUgb2YgZGF0ZSBwaWNrZXIgaXMgZW5hYmxlZC4gKi9cbiAgQElucHV0KClcbiAgcHVibGljIGRhdGVQaWNrZXJUb3VjaFVpID0gZmFsc2VcblxuICAvKiogSWYgdHJ1ZSwgZWxkZXJEZW5zZSBvbiBtYXQtZm9ybS1maWVsZCBpcyBlbmFibGVkLiAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGVuc2UgPSBmYWxzZVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKClcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKExvY2FsRGF0ZS5ub3coKSlcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIEVtaXRzIGRhdGUgdXBvbiBpbnRlcm5hbCBkYXRlIGNoYW5nZS5cbiAgICogQGRlcHJlY2F0ZWQgTWlncmF0ZSB5b3VyIGNvZGUgdG8gdXNlIExvY2FsRGF0ZVxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBnZXQgZGF0ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPERhdGU+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUNoYW5nZS5waXBlKFxuICAgICAgbWFwKChsb2NhbERhdGUpID0+IChsb2NhbERhdGUgPyBUaW1lVXRpbC5sb2NhbERhdGVUb0RhdGUobG9jYWxEYXRlKSA6IG51bGwpKVxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gZGF0ZVxuICAgKiBAZGVwcmVjYXRlZCBNaWdyYXRlIHlvdXIgY29kZSB0byB1c2UgTG9jYWxEYXRlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRhdGUoZGF0ZTogRGF0ZSkge1xuICAgIHRoaXMudmFsdWUgPSBkYXRlID8gVGltZVV0aWwuZGF0ZVRvTG9jYWxEYXRlKGRhdGUpIDogbnVsbFxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgTWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJvdGVjdGVkIHZhbHVlc0VxdWFscyhhOiBMb2NhbERhdGUsIGI6IExvY2FsRGF0ZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBhICYmIGIgPyBhLmVxdWFscyhiKSA6IGEgPT09IGJcbiAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIiBjbGFzcz1cImZsZXggZnVsbFwiIFtlbGRlckRlbnNlXT1cImRlbnNlXCI+XG4gIDxtYXQtbGFiZWwgKm5nSWY9XCJsYWJlbFwiPnt7IGxhYmVsIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gIDxlbGRlci1sb2NhbC1kYXRlLWlucHV0XG4gICAgYXJyb3dzXG4gICAgdG9kYXlcbiAgICBhdXRvRGF0ZVBpY2tlclxuICAgIGRhdGVQaWNrZXJUb3VjaFVpXG4gICAgW2RhdGVQaWNrZXJFbmFibGVkXT1cImZhbHNlXCJcbiAgICBbZGF0ZVBpY2tlclRvdWNoVWldPVwiZGF0ZVBpY2tlclRvdWNoVWlcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZSQgfCBhc3luY1wiXG4gICAgKHZhbHVlVXBkYXRlZCk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCJcbiAgPlxuICA8L2VsZGVyLWxvY2FsLWRhdGUtaW5wdXQ+XG48L21hdC1mb3JtLWZpZWxkPlxuIl19
@@ -1,4 +1,4 @@
1
- import { Component, ChangeDetectionStrategy, Input, Output, Optional, Self, ViewChild } from '@angular/core';
1
+ import { Component, ChangeDetectionStrategy, Input, Output, Optional, Self, ViewChild, } from '@angular/core';
2
2
  import { LoggerFactory } from '@elderbyte/ts-logger';
3
3
  import { Instant } from '@js-joda/core';
4
4
  import { TimeUtil } from '../../../common/time/time-util';
@@ -31,7 +31,7 @@ export class ElderDateTimeInputComponent extends ElderFormFieldControlBase {
31
31
  **************************************************************************/
32
32
  this.logger = LoggerFactory.getLogger(this.constructor.name);
33
33
  this._center = false;
34
- this.valueDate$ = this.value$.pipe(map(instant => instant ? DateUtil.instantToDate(instant) : null));
34
+ this.valueDate$ = this.value$.pipe(map((instant) => (instant ? DateUtil.instantToDate(instant) : null)));
35
35
  }
36
36
  /***************************************************************************
37
37
  * *
@@ -45,7 +45,7 @@ export class ElderDateTimeInputComponent extends ElderFormFieldControlBase {
45
45
  return this._center;
46
46
  }
47
47
  get isoValueChange() {
48
- return this.valueChange.pipe(map(instant => instant ? instant.toJSON() : null));
48
+ return this.valueChange.pipe(map((instant) => (instant ? instant.toJSON() : null)));
49
49
  }
50
50
  set isoValue(value) {
51
51
  this.value = value ? Instant.parse(value) : null;
@@ -79,20 +79,14 @@ export class ElderDateTimeInputComponent extends ElderFormFieldControlBase {
79
79
  * *
80
80
  **************************************************************************/
81
81
  valuesEquals(a, b) {
82
- return (a && b)
83
- ? a.equals(b)
84
- : a === b;
82
+ return a && b ? a.equals(b) : a === b;
85
83
  }
86
84
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderDateTimeInputComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.FocusMonitor }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
87
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: ElderDateTimeInputComponent, isStandalone: true, selector: "elder-date-time-input", inputs: { center: "center", isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [
88
- { provide: MatFormFieldControl, useExisting: ElderDateTimeInputComponent },
89
- ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"layout-row place-start-baseline elder-flex-control\"\n>\n <input matInput class=\"flex-grow elder-mdc-input-fix elder-datetime-local-input\" #input\n [name]=\"ngControl?.name + '-inner-input'\"\n type=\"datetime-local\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholder | translate\"\n [ngModel]=\"valueDate$ | async | date:'yyyy-MM-ddTHH:mm'\"\n (ngModelChange)=\"onDateTimeChanged($event)\"\n [class.center]=\"center\"\n >\n</div>\n", styles: [".elder-datetime-local-input.center{text-align:center}\n"], dependencies: [{ kind: "directive", type: 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: "ngmodule", type: FormsModule }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
85
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: ElderDateTimeInputComponent, isStandalone: true, selector: "elder-date-time-input", inputs: { center: "center", isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderDateTimeInputComponent }], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n matInput\n class=\"flex-grow elder-mdc-input-fix elder-datetime-local-input\"\n #input\n [name]=\"ngControl?.name + '-inner-input'\"\n type=\"datetime-local\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholder | translate\"\n [ngModel]=\"valueDate$ | async | date: 'yyyy-MM-ddTHH:mm'\"\n (ngModelChange)=\"onDateTimeChanged($event)\"\n [class.center]=\"center\"\n />\n</div>\n", styles: [".elder-datetime-local-input.center{text-align:center}\n"], dependencies: [{ kind: "directive", type: 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: "ngmodule", type: FormsModule }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
90
86
  }
91
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ElderDateTimeInputComponent, decorators: [{
92
88
  type: Component,
93
- args: [{ selector: 'elder-date-time-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
94
- { provide: MatFormFieldControl, useExisting: ElderDateTimeInputComponent },
95
- ], standalone: true, imports: [MatInput, FormsModule, AsyncPipe, DatePipe, TranslateModule], template: "<div\n class=\"layout-row place-start-baseline elder-flex-control\"\n>\n <input matInput class=\"flex-grow elder-mdc-input-fix elder-datetime-local-input\" #input\n [name]=\"ngControl?.name + '-inner-input'\"\n type=\"datetime-local\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholder | translate\"\n [ngModel]=\"valueDate$ | async | date:'yyyy-MM-ddTHH:mm'\"\n (ngModelChange)=\"onDateTimeChanged($event)\"\n [class.center]=\"center\"\n >\n</div>\n", styles: [".elder-datetime-local-input.center{text-align:center}\n"] }]
89
+ args: [{ selector: 'elder-date-time-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MatFormFieldControl, useExisting: ElderDateTimeInputComponent }], standalone: true, imports: [MatInput, FormsModule, AsyncPipe, DatePipe, TranslateModule], template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n matInput\n class=\"flex-grow elder-mdc-input-fix elder-datetime-local-input\"\n #input\n [name]=\"ngControl?.name + '-inner-input'\"\n type=\"datetime-local\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholder | translate\"\n [ngModel]=\"valueDate$ | async | date: 'yyyy-MM-ddTHH:mm'\"\n (ngModelChange)=\"onDateTimeChanged($event)\"\n [class.center]=\"center\"\n />\n</div>\n", styles: [".elder-datetime-local-input.center{text-align:center}\n"] }]
96
90
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.FocusMonitor }, { type: i2.TranslateService }, { type: i3.NgControl, decorators: [{
97
91
  type: Optional
98
92
  }, {
@@ -107,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
107
101
  }], isoValue: [{
108
102
  type: Input
109
103
  }] } });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0ZS10aW1lLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1kYXRlLXRpbWUtaW5wdXQvZWxkZXItZGF0ZS10aW1lLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1kYXRlLXRpbWUtaW5wdXQvZWxkZXItZGF0ZS10aW1lLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBc0IsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBRXhELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFFeEcsT0FBTyxFQUFtQixlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQVksV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFlLHFCQUFx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OEdBOUdVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLHVLQU56QjtZQUNQLEVBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSwyQkFBMkIsRUFBQztTQUMzRSxvSkN2QkwsNGtCQWVBLGlIRFVjLFFBQVEsZ1VBQUUsV0FBVyx1MEJBQUUsU0FBUyx5Q0FBRSxRQUFRLDRDQUFFLGVBQWU7OzJGQUU1RCwyQkFBMkI7a0JBWHZDLFNBQVM7K0JBQ0ksdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQLEVBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsNkJBQTZCLEVBQUM7cUJBQzNFLGNBQ1csSUFBSSxXQUNQLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLGVBQWUsQ0FBQzs7MEJBZ0NyRSxRQUFROzswQkFBSSxJQUFJO3lDQWhCWixRQUFRO3NCQURkLFNBQVM7dUJBQUMsT0FBTztnQkFzQ1AsTUFBTTtzQkFEaEIsS0FBSztnQkFVSyxjQUFjO3NCQUR4QixNQUFNO2dCQVFJLFFBQVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0LCBPdXRwdXQsIEVsZW1lbnRSZWYsIE5nWm9uZSwgT3B0aW9uYWwsIFNlbGYsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7SW5zdGFudH0gZnJvbSAnQGpzLWpvZGEvY29yZSc7XG5pbXBvcnQge1RpbWVVdGlsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdGltZS90aW1lLXV0aWwnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RhdGVVdGlsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdGltZS9kYXRlLXV0aWwnO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRDb250cm9sfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7RWxkZXJGb3JtRmllbGRDb250cm9sQmFzZX0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL2VsZGVyLWZvcm0tZmllbGQtY29udHJvbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0ZvY3VzTW9uaXRvcn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlLCBUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2wsIEZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0Jvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtBc3luY1BpcGUsIERhdGVQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtNYXRJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VsZGVyLWRhdGUtdGltZS1pbnB1dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWRhdGUtdGltZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZWxkZXItZGF0ZS10aW1lLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLCB1c2VFeGlzdGluZzogRWxkZXJEYXRlVGltZUlucHV0Q29tcG9uZW50fSxcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW01hdElucHV0LCBGb3Jtc01vZHVsZSwgQXN5bmNQaXBlLCBEYXRlUGlwZSwgVHJhbnNsYXRlTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckRhdGVUaW1lSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBFbGRlckZvcm1GaWVsZENvbnRyb2xCYXNlPEluc3RhbnQ+IHtcblxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdmFsdWVEYXRlJDogT2JzZXJ2YWJsZTxEYXRlPjtcblxuICBAVmlld0NoaWxkKCdpbnB1dCcpXG4gIHB1YmxpYyBpbnB1dFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBwcml2YXRlIF9jZW50ZXIgPSBmYWxzZTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcblxuICAgIGhvc3RSZWY6IEVsZW1lbnRSZWYsXG4gICAgem9uZTogTmdab25lLFxuICAgIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgaG9zdFJlZixcbiAgICAgICdkYXRlLXRpbWUtaW5wdXQnLFxuICAgICAgZm9jdXNNb25pdG9yLFxuICAgICAgdHJhbnNsYXRlU2VydmljZSxcbiAgICAgIG5nQ29udHJvbFxuICAgICk7XG4gICAgdGhpcy52YWx1ZURhdGUkID0gdGhpcy52YWx1ZSQucGlwZShcbiAgICAgIG1hcChpbnN0YW50ID0+IGluc3RhbnQgPyBEYXRlVXRpbC5pbnN0YW50VG9EYXRlKGluc3RhbnQpIDogbnVsbClcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjZW50ZXIoY2VudGVyOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9jZW50ZXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoY2VudGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2VudGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9jZW50ZXI7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBpc29WYWx1ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZUNoYW5nZS5waXBlKFxuICAgICAgbWFwKGluc3RhbnQgPT4gaW5zdGFudCA/IGluc3RhbnQudG9KU09OKCkgOiBudWxsKVxuICAgICk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzb1ZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlID8gSW5zdGFudC5wYXJzZSh2YWx1ZSkgOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldCBzaG91bGRMYWJlbEZsb2F0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGZvY3VzKG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50Py5mb2N1cyhvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBibHVyKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmJsdXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRhdGVUaW1lQ2hhbmdlZChldmVudERhdGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG5ld0RhdGUgPSBldmVudERhdGUgPyBuZXcgRGF0ZShldmVudERhdGUpIDogbnVsbDtcbiAgICBpZiAobmV3RGF0ZSkge1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgICAgVGltZVV0aWwuaW5zdGFudChuZXdEYXRlKVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvdGVjdGVkIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcm90ZWN0ZWQgdmFsdWVzRXF1YWxzKGE6IEluc3RhbnQsIGI6IEluc3RhbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKGEgJiYgYilcbiAgICAgID8gYS5lcXVhbHMoYilcbiAgICAgIDogYSA9PT0gYjtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtYmFzZWxpbmUgZWxkZXItZmxleC1jb250cm9sXCJcbj5cbiAgPGlucHV0IG1hdElucHV0IGNsYXNzPVwiZmxleC1ncm93IGVsZGVyLW1kYy1pbnB1dC1maXggZWxkZXItZGF0ZXRpbWUtbG9jYWwtaW5wdXRcIiAjaW5wdXRcbiAgICAgICAgIFtuYW1lXT1cIm5nQ29udHJvbD8ubmFtZSArICctaW5uZXItaW5wdXQnXCJcbiAgICAgICAgIHR5cGU9XCJkYXRldGltZS1sb2NhbFwiXG4gICAgICAgICBbcmVxdWlyZWRdPVwiISFyZXF1aXJlZFwiXG4gICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgIFtuZ01vZGVsXT1cInZhbHVlRGF0ZSQgfCBhc3luYyB8IGRhdGU6J3l5eXktTU0tZGRUSEg6bW0nXCJcbiAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRGF0ZVRpbWVDaGFuZ2VkKCRldmVudClcIlxuICAgICAgICAgW2NsYXNzLmNlbnRlcl09XCJjZW50ZXJcIlxuICA+XG48L2Rpdj5cbiJdfQ==
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZGF0ZS10aW1lLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1kYXRlLXRpbWUtaW5wdXQvZWxkZXItZGF0ZS10aW1lLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9lbGRlci1kYXRlLXRpbWUtaW5wdXQvZWxkZXItZGF0ZS10aW1lLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLEtBQUssRUFDTCxNQUFNLEVBR04sUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBRXpELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0RBQStELENBQUE7QUFFekcsT0FBTyxFQUFvQixlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN2RSxPQUFPLEVBQWEsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkQsT0FBTyxFQUFnQixxQkFB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QUMsQ0FBQTtJQUN2QyxDQUFDOzhHQS9GVSwyQkFBMkI7a0dBQTNCLDJCQUEyQix1S0FKM0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsMkJBQTJCLEVBQUUsQ0FBQyxvSkMvQnpGLDJpQkFnQkEsaUhEaUJZLFFBQVEsZ1VBQUUsV0FBVyx1MEJBQUUsU0FBUyx5Q0FBRSxRQUFRLDRDQUFFLGVBQWU7OzJGQUUxRCwyQkFBMkI7a0JBVHZDLFNBQVM7K0JBQ0UsdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyw2QkFBNkIsRUFBRSxDQUFDLGNBQzNFLElBQUksV0FDUCxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxlQUFlLENBQUM7OzBCQTZCbkUsUUFBUTs7MEJBQUksSUFBSTt5Q0FmWixRQUFRO3NCQURkLFNBQVM7dUJBQUMsT0FBTztnQkErQlAsTUFBTTtzQkFEaEIsS0FBSztnQkFVSyxjQUFjO3NCQUR4QixNQUFNO2dCQU1JLFFBQVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFbGVtZW50UmVmLFxuICBOZ1pvbmUsXG4gIE9wdGlvbmFsLFxuICBTZWxmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBMb2dnZXJGYWN0b3J5IH0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInXG5pbXBvcnQgeyBJbnN0YW50IH0gZnJvbSAnQGpzLWpvZGEvY29yZSdcbmltcG9ydCB7IFRpbWVVdGlsIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3RpbWUvdGltZS11dGlsJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IERhdGVVdGlsIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3RpbWUvZGF0ZS11dGlsJ1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnXG5pbXBvcnQgeyBFbGRlckZvcm1GaWVsZENvbnRyb2xCYXNlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Zvcm1zL2VsZGVyLWZvcm0tZmllbGQtY29udHJvbC1iYXNlLmRpcmVjdGl2ZSdcbmltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5J1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSwgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE5nQ29udHJvbCwgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJ1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWRhdGUtdGltZS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGRlci1kYXRlLXRpbWUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbGRlci1kYXRlLXRpbWUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCwgdXNlRXhpc3Rpbmc6IEVsZGVyRGF0ZVRpbWVJbnB1dENvbXBvbmVudCB9XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdElucHV0LCBGb3Jtc01vZHVsZSwgQXN5bmNQaXBlLCBEYXRlUGlwZSwgVHJhbnNsYXRlTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJEYXRlVGltZUlucHV0Q29tcG9uZW50IGV4dGVuZHMgRWxkZXJGb3JtRmllbGRDb250cm9sQmFzZTxJbnN0YW50PiB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuXG4gIHB1YmxpYyByZWFkb25seSB2YWx1ZURhdGUkOiBPYnNlcnZhYmxlPERhdGU+XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnKVxuICBwdWJsaWMgaW5wdXRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD5cblxuICBwcml2YXRlIF9jZW50ZXIgPSBmYWxzZVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGhvc3RSZWY6IEVsZW1lbnRSZWYsXG4gICAgem9uZTogTmdab25lLFxuICAgIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuICAgIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2xcbiAgKSB7XG4gICAgc3VwZXIoaG9zdFJlZiwgJ2RhdGUtdGltZS1pbnB1dCcsIGZvY3VzTW9uaXRvciwgdHJhbnNsYXRlU2VydmljZSwgbmdDb250cm9sKVxuICAgIHRoaXMudmFsdWVEYXRlJCA9IHRoaXMudmFsdWUkLnBpcGUoXG4gICAgICBtYXAoKGluc3RhbnQpID0+IChpbnN0YW50ID8gRGF0ZVV0aWwuaW5zdGFudFRvRGF0ZShpbnN0YW50KSA6IG51bGwpKVxuICAgIClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2VudGVyKGNlbnRlcjogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fY2VudGVyID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGNlbnRlcilcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2VudGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9jZW50ZXJcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IGlzb1ZhbHVlQ2hhbmdlKCk6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlQ2hhbmdlLnBpcGUobWFwKChpbnN0YW50KSA9PiAoaW5zdGFudCA/IGluc3RhbnQudG9KU09OKCkgOiBudWxsKSkpXG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzb1ZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlID8gSW5zdGFudC5wYXJzZSh2YWx1ZSkgOiBudWxsXG4gIH1cblxuICBwdWJsaWMgZ2V0IHNob3VsZExhYmVsRmxvYXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBmb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudD8uZm9jdXMob3B0aW9ucylcbiAgfVxuXG4gIHB1YmxpYyBibHVyKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmJsdXIoKVxuICB9XG5cbiAgcHVibGljIG9uRGF0ZVRpbWVDaGFuZ2VkKGV2ZW50RGF0ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgbmV3RGF0ZSA9IGV2ZW50RGF0ZSA/IG5ldyBEYXRlKGV2ZW50RGF0ZSkgOiBudWxsXG4gICAgaWYgKG5ld0RhdGUpIHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUoVGltZVV0aWwuaW5zdGFudChuZXdEYXRlKSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKVxuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm90ZWN0ZWQgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByb3RlY3RlZCB2YWx1ZXNFcXVhbHMoYTogSW5zdGFudCwgYjogSW5zdGFudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBhICYmIGIgPyBhLmVxdWFscyhiKSA6IGEgPT09IGJcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxheW91dC1yb3cgcGxhY2Utc3RhcnQtYmFzZWxpbmUgZWxkZXItZmxleC1jb250cm9sXCI+XG4gIDxpbnB1dFxuICAgIG1hdElucHV0XG4gICAgY2xhc3M9XCJmbGV4LWdyb3cgZWxkZXItbWRjLWlucHV0LWZpeCBlbGRlci1kYXRldGltZS1sb2NhbC1pbnB1dFwiXG4gICAgI2lucHV0XG4gICAgW25hbWVdPVwibmdDb250cm9sPy5uYW1lICsgJy1pbm5lci1pbnB1dCdcIlxuICAgIHR5cGU9XCJkYXRldGltZS1sb2NhbFwiXG4gICAgW3JlcXVpcmVkXT1cIiEhcmVxdWlyZWRcIlxuICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiXG4gICAgW25nTW9kZWxdPVwidmFsdWVEYXRlJCB8IGFzeW5jIHwgZGF0ZTogJ3l5eXktTU0tZGRUSEg6bW0nXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvbkRhdGVUaW1lQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICBbY2xhc3MuY2VudGVyXT1cImNlbnRlclwiXG4gIC8+XG48L2Rpdj5cbiJdfQ==