@alauda-fe/common 1.3.0 → 1.4.0

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 (539) hide show
  1. package/api/helpers.d.ts +8 -16
  2. package/array-form-table/form/component.d.ts +2 -2
  3. package/authorization/interceptor.service.d.ts +0 -1
  4. package/authorization/state.service.d.ts +13 -13
  5. package/business/resource-select/internals/namespace-list/component.d.ts +3 -1
  6. package/business/resource-select/module.d.ts +2 -1
  7. package/core/abstract/base-nested-form-control.d.ts +1 -1
  8. package/core/components/tree/toggle.d.ts +3 -3
  9. package/core/constants/constants.d.ts +4 -1
  10. package/core/constants/patterns.d.ts +12 -0
  11. package/core/constants/status-icons.d.ts +2 -1
  12. package/core/directives/scroll-to-first-invalid.directive.d.ts +1 -1
  13. package/core/module.d.ts +21 -21
  14. package/core/pipes/time.pipe.d.ts +1 -1
  15. package/core/services/context.service.d.ts +3 -4
  16. package/core/services/encode-url-param.interceptor.d.ts +12 -0
  17. package/core/services/feature-gate.service.d.ts +1 -1
  18. package/core/services/public-api.d.ts +1 -0
  19. package/core/services/time.service.d.ts +1 -0
  20. package/core/services/workspace-helper.service.d.ts +3 -1
  21. package/core/types/k8s/crd.d.ts +11 -5
  22. package/core/types/k8s/raw.d.ts +25 -38
  23. package/core/types/resource-definitions.d.ts +57 -71
  24. package/core/utils/common.d.ts +5 -13
  25. package/core/utils/disabled-state.d.ts +20 -0
  26. package/core/utils/public-api.d.ts +3 -0
  27. package/core/utils/router.d.ts +3 -0
  28. package/core/utils/version.d.ts +1 -1
  29. package/core/utils/workload.d.ts +66 -0
  30. package/editable/editable.component.d.ts +23 -0
  31. package/editable/editable.directive.d.ts +9 -0
  32. package/editable/editable.type.d.ts +5 -0
  33. package/editable/public-api.d.ts +2 -0
  34. package/esm2022/abnormal-page/abnormal-page.component.mjs +5 -4
  35. package/esm2022/abnormal-page/abnormal-page.module.mjs +2 -2
  36. package/esm2022/api/acp-common-api.service.mjs +3 -3
  37. package/esm2022/api/api-compatible.interceptor.mjs +1 -1
  38. package/esm2022/api/api-gateway.interceptor.mjs +3 -3
  39. package/esm2022/api/api-gateway.service.mjs +2 -2
  40. package/esm2022/api/cluster-version.service.mjs +3 -3
  41. package/esm2022/api/crypto.interceptor.mjs +4 -4
  42. package/esm2022/api/helpers.mjs +1 -1
  43. package/esm2022/api/k8s-api-resource.service.mjs +4 -4
  44. package/esm2022/api/k8s-api.service.mjs +6 -6
  45. package/esm2022/api/page-visibility.service.mjs +2 -2
  46. package/esm2022/api/platform-ui.service.mjs +2 -2
  47. package/esm2022/api/product.service.mjs +3 -3
  48. package/esm2022/api/project-api.service.mjs +3 -3
  49. package/esm2022/api/resource-update.service.mjs +3 -3
  50. package/esm2022/array-form-table/base-string-map-form.component.mjs +3 -3
  51. package/esm2022/array-form-table/form/component.mjs +104 -111
  52. package/esm2022/array-form-table/form/module.mjs +2 -2
  53. package/esm2022/array-form-table/key-value-form/component.mjs +53 -58
  54. package/esm2022/array-form-table/key-value-table/component.mjs +7 -7
  55. package/esm2022/array-form-table/string-array-form/component.mjs +48 -52
  56. package/esm2022/async-data/async-data-loader.mjs +1 -1
  57. package/esm2022/async-data/async-data.module.mjs +2 -2
  58. package/esm2022/async-data/error-page/component.mjs +21 -22
  59. package/esm2022/async-data/page-state/component.mjs +16 -15
  60. package/esm2022/authorization/app-init-url.mjs +1 -1
  61. package/esm2022/authorization/guard.service.mjs +5 -5
  62. package/esm2022/authorization/interceptor.service.mjs +10 -25
  63. package/esm2022/authorization/session-manage.service.mjs +5 -5
  64. package/esm2022/authorization/state.service.mjs +59 -93
  65. package/esm2022/authorization/storage-token.mjs +2 -2
  66. package/esm2022/business/module-info/api.service.mjs +3 -3
  67. package/esm2022/business/notification-disabled-container/component.mjs +14 -14
  68. package/esm2022/business/resource-select/base-list.mjs +3 -3
  69. package/esm2022/business/resource-select/context.service.mjs +3 -3
  70. package/esm2022/business/resource-select/exports/cluster-selector/component.mjs +22 -20
  71. package/esm2022/business/resource-select/exports/mesh-group-selector/component.mjs +22 -20
  72. package/esm2022/business/resource-select/exports/namespace-page/component.mjs +6 -5
  73. package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +37 -35
  74. package/esm2022/business/resource-select/exports/project-page/component.mjs +6 -5
  75. package/esm2022/business/resource-select/exports/project-selector/component.mjs +23 -22
  76. package/esm2022/business/resource-select/helpers.directive.mjs +2 -2
  77. package/esm2022/business/resource-select/internals/cluster-list/component.mjs +7 -6
  78. package/esm2022/business/resource-select/internals/data-grid/component.mjs +173 -176
  79. package/esm2022/business/resource-select/internals/icon/component.mjs +3 -2
  80. package/esm2022/business/resource-select/internals/meshgroup-list/component.mjs +5 -4
  81. package/esm2022/business/resource-select/internals/namespace-list/component.mjs +145 -100
  82. package/esm2022/business/resource-select/internals/no-data/component.mjs +12 -14
  83. package/esm2022/business/resource-select/internals/project-list/component.mjs +5 -4
  84. package/esm2022/business/resource-select/internals/resource-dashboard/component.mjs +7 -6
  85. package/esm2022/business/resource-select/internals/selector-popup/component.mjs +6 -5
  86. package/esm2022/business/resource-select/internals/selector-popup/ref.mjs +1 -1
  87. package/esm2022/business/resource-select/internals/selector-popup/service.mjs +3 -3
  88. package/esm2022/business/resource-select/module.mjs +17 -14
  89. package/esm2022/business/resource-select/project.service.mjs +3 -3
  90. package/esm2022/business/resource-select/utils.mjs +1 -1
  91. package/esm2022/chart/chart.module.mjs +2 -2
  92. package/esm2022/chart/chart.service.mjs +4 -4
  93. package/esm2022/chart/common/axis/axis-label.component.mjs +4 -3
  94. package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +27 -27
  95. package/esm2022/chart/common/axis/x-axis.component.mjs +6 -5
  96. package/esm2022/chart/common/axis/x-plot-lines.component.mjs +7 -6
  97. package/esm2022/chart/common/axis/y-axis-ticks.component.mjs +35 -35
  98. package/esm2022/chart/common/axis/y-axis.component.mjs +9 -8
  99. package/esm2022/chart/common/axis/y-plot-lines.component.mjs +6 -5
  100. package/esm2022/chart/common/chart/chart.component.mjs +41 -43
  101. package/esm2022/chart/common/legend/legend.component.mjs +62 -65
  102. package/esm2022/chart/common/range-area/range-area.component.mjs +13 -11
  103. package/esm2022/chart/common/reference-area/reference-area.component.mjs +4 -3
  104. package/esm2022/chart/common/series/area-series.component.mjs +15 -14
  105. package/esm2022/chart/common/series/bar-path.component.mjs +20 -21
  106. package/esm2022/chart/common/series/bar-series.component.mjs +8 -7
  107. package/esm2022/chart/common/series/line-series.component.mjs +7 -6
  108. package/esm2022/chart/common/series/series.component.mjs +3 -3
  109. package/esm2022/chart/common/tooltip/tooltip.component.mjs +73 -81
  110. package/esm2022/chart/custom-template/dropdown-legend.mjs +23 -25
  111. package/esm2022/chart/utils.mjs +1 -1
  112. package/esm2022/code/code-display-dialog/component.mjs +9 -8
  113. package/esm2022/code/code-editor-configs.mjs +2 -2
  114. package/esm2022/code/code.module.mjs +2 -2
  115. package/esm2022/code/k8s-yaml-display-dialog/component.mjs +9 -8
  116. package/esm2022/code/resource-yaml-display/component.mjs +21 -22
  117. package/esm2022/core/abstract/base-form-container.mjs +3 -3
  118. package/esm2022/core/abstract/base-nested-form-control.mjs +5 -5
  119. package/esm2022/core/components/tree/module.mjs +2 -2
  120. package/esm2022/core/components/tree/node/component.mjs +7 -6
  121. package/esm2022/core/components/tree/outlet.mjs +4 -4
  122. package/esm2022/core/components/tree/padding.mjs +6 -6
  123. package/esm2022/core/components/tree/toggle.mjs +9 -9
  124. package/esm2022/core/components/tree/tree/component.mjs +4 -3
  125. package/esm2022/core/constants/constants.mjs +4 -1
  126. package/esm2022/core/constants/patterns.mjs +15 -4
  127. package/esm2022/core/constants/status-icons.mjs +2 -1
  128. package/esm2022/core/constants/tokens.mjs +1 -1
  129. package/esm2022/core/directives/aui-code-editor.directive.mjs +3 -3
  130. package/esm2022/core/directives/click-outside.directive.mjs +4 -4
  131. package/esm2022/core/directives/declare.directive.mjs +2 -2
  132. package/esm2022/core/directives/disabled.directive.mjs +4 -4
  133. package/esm2022/core/directives/feature-gate.directive.mjs +4 -4
  134. package/esm2022/core/directives/intercept-deactivate.directive.mjs +4 -4
  135. package/esm2022/core/directives/last-form-item.directive.mjs +3 -3
  136. package/esm2022/core/directives/page-header-content.directive.mjs +3 -3
  137. package/esm2022/core/directives/readonly-field.directive.mjs +8 -7
  138. package/esm2022/core/directives/resize.directive.mjs +3 -3
  139. package/esm2022/core/directives/scroll-border-observer.directive.mjs +4 -4
  140. package/esm2022/core/directives/scroll-to-first-invalid.directive.mjs +5 -5
  141. package/esm2022/core/guards/feature.guard.mjs +4 -4
  142. package/esm2022/core/guards/intercept-deactivate.guard.mjs +3 -3
  143. package/esm2022/core/guards/leave-edit-page.guard.mjs +3 -3
  144. package/esm2022/core/guards/project-namespace.guard.mjs +5 -5
  145. package/esm2022/core/module.mjs +8 -13
  146. package/esm2022/core/pipes/calc.pipe.mjs +2 -2
  147. package/esm2022/core/pipes/cron-human-readable.pipe.mjs +2 -2
  148. package/esm2022/core/pipes/crontab-next.pipe.mjs +3 -3
  149. package/esm2022/core/pipes/duration.pipe.mjs +3 -3
  150. package/esm2022/core/pipes/field-not-available.pipe.mjs +2 -2
  151. package/esm2022/core/pipes/img-header.pipe.mjs +2 -2
  152. package/esm2022/core/pipes/img-theme.pipe.mjs +3 -3
  153. package/esm2022/core/pipes/k8s-util.pipe.mjs +24 -24
  154. package/esm2022/core/pipes/k8s-util.pipe.module.mjs +2 -2
  155. package/esm2022/core/pipes/keyvalue.pipe.mjs +3 -3
  156. package/esm2022/core/pipes/marked.pipe.mjs +2 -2
  157. package/esm2022/core/pipes/minimum-format.pipe.mjs +3 -3
  158. package/esm2022/core/pipes/page-env.pipe.mjs +5 -5
  159. package/esm2022/core/pipes/parse-json-translate.pipe.mjs +3 -3
  160. package/esm2022/core/pipes/parse-json.pipe.mjs +2 -2
  161. package/esm2022/core/pipes/pure.pipe.mjs +2 -2
  162. package/esm2022/core/pipes/pure.pipe.module.mjs +2 -2
  163. package/esm2022/core/pipes/safe.pipe.mjs +3 -3
  164. package/esm2022/core/pipes/sanitize.pipe.mjs +3 -3
  165. package/esm2022/core/pipes/time.pipe.mjs +11 -11
  166. package/esm2022/core/pipes/timezone-display.pipe.mjs +2 -2
  167. package/esm2022/core/services/aui-paginator-intl.service.mjs +3 -3
  168. package/esm2022/core/services/aui-tooltip-copy-intl.service.mjs +3 -3
  169. package/esm2022/core/services/context.service.mjs +10 -13
  170. package/esm2022/core/services/custom-code-editor-intl.service.mjs +3 -3
  171. package/esm2022/core/services/encode-url-param.interceptor.mjs +32 -0
  172. package/esm2022/core/services/feature-gate.service.mjs +3 -3
  173. package/esm2022/core/services/form-row-duplicate/form-row-duplicate.service.mjs +3 -3
  174. package/esm2022/core/services/intercept-deactivate.service.mjs +3 -3
  175. package/esm2022/core/services/k8s-util.service.mjs +3 -3
  176. package/esm2022/core/services/on-resize.service.mjs +5 -5
  177. package/esm2022/core/services/public-api.mjs +2 -1
  178. package/esm2022/core/services/silently-navigate.service.mjs +3 -3
  179. package/esm2022/core/services/time.service.mjs +4 -3
  180. package/esm2022/core/services/ui-state.service.mjs +2 -2
  181. package/esm2022/core/services/workspace-helper.service.mjs +8 -2
  182. package/esm2022/core/services/yaml-util.service.mjs +4 -4
  183. package/esm2022/core/types/k8s/crd.mjs +1 -1
  184. package/esm2022/core/types/k8s/raw.mjs +1 -1
  185. package/esm2022/core/types/resource-definitions.mjs +42 -65
  186. package/esm2022/core/utils/cache-store.mjs +1 -1
  187. package/esm2022/core/utils/common.mjs +3 -12
  188. package/esm2022/core/utils/create-recursive-filter.mjs +1 -1
  189. package/esm2022/core/utils/cron-util.mjs +1 -1
  190. package/esm2022/core/utils/decorators.mjs +1 -1
  191. package/esm2022/core/utils/disabled-state.mjs +47 -0
  192. package/esm2022/core/utils/format-number.mjs +1 -1
  193. package/esm2022/core/utils/k8s-util.mjs +1 -1
  194. package/esm2022/core/utils/observable.mjs +1 -1
  195. package/esm2022/core/utils/operators.mjs +1 -1
  196. package/esm2022/core/utils/public-api.mjs +4 -1
  197. package/esm2022/core/utils/request-pool.mjs +1 -1
  198. package/esm2022/core/utils/resources.mjs +1 -1
  199. package/esm2022/core/utils/router.mjs +20 -0
  200. package/esm2022/core/utils/sort-fn.mjs +1 -1
  201. package/esm2022/core/utils/tree.mjs +1 -1
  202. package/esm2022/core/utils/unit.mjs +1 -1
  203. package/esm2022/core/utils/version.mjs +1 -1
  204. package/esm2022/core/utils/workload.mjs +183 -0
  205. package/esm2022/core/utils/workspace.mjs +1 -1
  206. package/esm2022/core/utils/yaml.mjs +1 -1
  207. package/esm2022/custom-columns-setting/component.mjs +30 -23
  208. package/esm2022/disabled-container/disabled-container.component.mjs +4 -3
  209. package/esm2022/disabled-container/disabled-container.module.mjs +2 -2
  210. package/esm2022/editable/editable.component.mjs +136 -0
  211. package/esm2022/editable/editable.directive.mjs +25 -0
  212. package/esm2022/editable/editable.type.mjs +6 -0
  213. package/esm2022/editable/public-api.mjs +3 -0
  214. package/esm2022/editable-text/component.mjs +14 -12
  215. package/esm2022/editable-text/module.mjs +2 -2
  216. package/esm2022/effect-directive/coerce-number.directive.mjs +4 -4
  217. package/esm2022/effect-directive/e2e-attribute-binding.directive.mjs +3 -3
  218. package/esm2022/effect-directive/event.directive.mjs +3 -3
  219. package/esm2022/effect-directive/min-max.directive.mjs +3 -3
  220. package/esm2022/effect-directive/module.mjs +2 -2
  221. package/esm2022/effect-directive/trim.directive.mjs +3 -3
  222. package/esm2022/effect-directive/validators.directive.mjs +3 -3
  223. package/esm2022/exec/module.mjs +2 -2
  224. package/esm2022/exec/placeholder/component.mjs +4 -3
  225. package/esm2022/exec/service.mjs +3 -3
  226. package/esm2022/exec/terminal/component.mjs +87 -86
  227. package/esm2022/exec/terminal-group/component.mjs +42 -44
  228. package/esm2022/feature-gate-forbidden/component/component.mjs +9 -8
  229. package/esm2022/feature-gate-forbidden/module.mjs +2 -2
  230. package/esm2022/form/directives/value-trace.directive.mjs +4 -4
  231. package/esm2022/form/errors-mapper/base-errors-mapper.mjs +3 -3
  232. package/esm2022/form/errors-mapper/default-errors-mapper.service.mjs +3 -3
  233. package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +6 -5
  234. package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +7 -6
  235. package/esm2022/form/errors-mapper/errors-mapper.module.mjs +2 -2
  236. package/esm2022/form/labels-editor/component.mjs +36 -36
  237. package/esm2022/form/taints-editor/component.mjs +42 -42
  238. package/esm2022/form/upload-file/component.mjs +9 -7
  239. package/esm2022/form/utils.mjs +1 -1
  240. package/esm2022/form/validators/async-function-validator.directive.mjs +4 -3
  241. package/esm2022/form/validators/dns1123-subdomain.mjs +1 -1
  242. package/esm2022/form/validators/function-validator.directive.mjs +4 -3
  243. package/esm2022/form/validators/maxlength-minlength-validator.directive.mjs +9 -7
  244. package/esm2022/form/validators/module.mjs +7 -8
  245. package/esm2022/form/validators/not-be-validator.directive.mjs +4 -3
  246. package/esm2022/form/validators/one-of-validator.directive.mjs +4 -3
  247. package/esm2022/form/validators/resource-limit.mjs +1 -1
  248. package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +30 -28
  249. package/esm2022/form/validators/strong-password/strong-password-validator.directive.mjs +3 -3
  250. package/esm2022/form/validators/strong-password/strong-password-validator.module.mjs +6 -7
  251. package/esm2022/form/validators/utils.mjs +1 -1
  252. package/esm2022/graph-canvas/components/graph-actions.component.mjs +3 -2
  253. package/esm2022/graph-canvas/components/graph-canvas.component.mjs +25 -23
  254. package/esm2022/graph-canvas/components/graph-link.component.mjs +12 -13
  255. package/esm2022/graph-canvas/components/graph-links.component.mjs +3 -2
  256. package/esm2022/graph-canvas/components/graph-node.directive.mjs +4 -4
  257. package/esm2022/graph-canvas/graph-canvas.module.mjs +2 -2
  258. package/esm2022/graph-canvas/graph-store.service.mjs +2 -2
  259. package/esm2022/grid-layout/components/grid/component.mjs +5 -4
  260. package/esm2022/grid-layout/components/grid-items/component.mjs +8 -7
  261. package/esm2022/grid-layout/directives/drag-handler.directive.mjs +3 -3
  262. package/esm2022/grid-layout/directives/placeholder.directive.mjs +3 -3
  263. package/esm2022/grid-layout/directives/remove-handler.directive.mjs +3 -3
  264. package/esm2022/grid-layout/directives/resize-handler.directive.mjs +3 -3
  265. package/esm2022/grid-layout/grid-layout.service.mjs +2 -2
  266. package/esm2022/grid-layout/grid-placeholder.service.mjs +3 -3
  267. package/esm2022/grid-layout/module.mjs +2 -2
  268. package/esm2022/grid-layout/utils/grid.utils.mjs +1 -1
  269. package/esm2022/grid-layout/utils/react-grid-layout.utils.mjs +1 -1
  270. package/esm2022/grid-layout/utils/scroll.utils.mjs +1 -1
  271. package/esm2022/help-document/component.mjs +18 -16
  272. package/esm2022/help-document/directive.mjs +4 -4
  273. package/esm2022/help-document/module.mjs +2 -2
  274. package/esm2022/help-document/service.mjs +4 -4
  275. package/esm2022/iframe-config/config.service.mjs +3 -3
  276. package/esm2022/k8s-resource-list/footer/component.mjs +103 -65
  277. package/esm2022/k8s-resource-list/k8s-resource-list.mjs +3 -6
  278. package/esm2022/k8s-resource-list/k8s-resource-list.module.mjs +19 -7
  279. package/esm2022/k8s-resource-list/k8s-resource-paged-list.mjs +1 -1
  280. package/esm2022/k8s-resource-list/utils.mjs +7 -3
  281. package/esm2022/k8s-shared/constants.mjs +53 -0
  282. package/esm2022/k8s-shared/k8s-resource-translate-key.pipe.mjs +30 -0
  283. package/esm2022/k8s-shared/k8s-shared-util.service.mjs +3 -3
  284. package/esm2022/k8s-shared/public-api.mjs +2 -1
  285. package/esm2022/k8s-shared/update-description-dialog/component.mjs +10 -9
  286. package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +22 -20
  287. package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +13 -11
  288. package/esm2022/lazy-component/lazy-load-component.mjs +25 -26
  289. package/esm2022/lazy-component/visibility.service.mjs +2 -2
  290. package/esm2022/license/license-api.mjs +3 -3
  291. package/esm2022/license/license-error/component.mjs +25 -25
  292. package/esm2022/license/license-error/module.mjs +2 -2
  293. package/esm2022/license/license.guard.mjs +4 -4
  294. package/esm2022/license/license.service.mjs +4 -4
  295. package/esm2022/list-display/component.mjs +39 -40
  296. package/esm2022/metric-chart/common-chart.service.mjs +3 -3
  297. package/esm2022/metric-chart/helpers.mjs +1 -1
  298. package/esm2022/metric-chart/metric-chart.component.mjs +6 -5
  299. package/esm2022/metric-chart/metric-chart.module.mjs +2 -2
  300. package/esm2022/metric-chart/metric-time-pick.mjs +20 -17
  301. package/esm2022/metric-chart/utils.mjs +1 -1
  302. package/esm2022/multi-search/action-input/component.mjs +180 -181
  303. package/esm2022/multi-search/form/component.mjs +26 -22
  304. package/esm2022/multi-search/multi-search-tags/component.mjs +33 -31
  305. package/esm2022/mutable/element.mjs +1 -1
  306. package/esm2022/mutable/mosaic/mosaic.component.mjs +6 -5
  307. package/esm2022/mutable/mosaic/mosaic.directive.mjs +3 -3
  308. package/esm2022/mutable/mutable.directive.mjs +4 -4
  309. package/esm2022/mutable/mutable.module.mjs +2 -2
  310. package/esm2022/notification/feedback-notification/component.mjs +22 -23
  311. package/esm2022/notification/notification-util.service.mjs +3 -3
  312. package/esm2022/notification/resource-error.interceptor.mjs +3 -3
  313. package/esm2022/overview-banner/overview-banner.component.mjs +3 -2
  314. package/esm2022/overview-banner/overview-banner.module.mjs +2 -2
  315. package/esm2022/page-guard/component/component.mjs +70 -78
  316. package/esm2022/page-guard/component/helper-directives.mjs +5 -5
  317. package/esm2022/page-guard/module.mjs +2 -2
  318. package/esm2022/page-scaffold/module.mjs +2 -2
  319. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.mjs +3 -3
  320. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +182 -91
  321. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.service.mjs +2 -2
  322. package/esm2022/page-scaffold/navigation/breadcrumb/module.mjs +2 -2
  323. package/esm2022/page-scaffold/navigation/lottie-icons/animation-data.mjs +1 -3
  324. package/esm2022/page-scaffold/navigation/lottie-icons/lottie-icon.directive.mjs +3 -3
  325. package/esm2022/page-scaffold/navigation/lottie-icons/module.mjs +2 -2
  326. package/esm2022/page-scaffold/navigation/lottie-icons/replace-lottie-colors.mjs +11 -11
  327. package/esm2022/page-scaffold/navigation/module.mjs +2 -2
  328. package/esm2022/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.mjs +128 -99
  329. package/esm2022/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.mjs +30 -32
  330. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +21 -19
  331. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.module.mjs +4 -4
  332. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.types.mjs +1 -1
  333. package/esm2022/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.mjs +9 -8
  334. package/esm2022/page-scaffold/page/context.service.mjs +2 -2
  335. package/esm2022/page-scaffold/page/helper-directives.mjs +10 -10
  336. package/esm2022/page-scaffold/page/notices/maintenance.component.mjs +11 -11
  337. package/esm2022/page-scaffold/page/notices/notice.component.mjs +15 -15
  338. package/esm2022/page-scaffold/page/page.component.mjs +20 -20
  339. package/esm2022/page-scaffold/page/page.module.mjs +2 -2
  340. package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +40 -39
  341. package/esm2022/page-scaffold/page-header/account-menu/module.mjs +2 -2
  342. package/esm2022/page-scaffold/page-header/common-layout/common-layout.module.mjs +2 -2
  343. package/esm2022/page-scaffold/page-header/common-layout/context.service.mjs +4 -4
  344. package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +58 -59
  345. package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +68 -73
  346. package/esm2022/page-scaffold/page-header/common-layout/product-select/service.mjs +2 -2
  347. package/esm2022/page-scaffold/page-header/common-layout/project-select/base-selection.mjs +3 -3
  348. package/esm2022/page-scaffold/page-header/common-layout/store.service.mjs +3 -3
  349. package/esm2022/page-scaffold/page-header/component.mjs +24 -25
  350. package/esm2022/page-scaffold/page-header/enterprise-support-status/component.mjs +15 -14
  351. package/esm2022/page-scaffold/page-header/header-notify/component/header-notify.component.mjs +27 -27
  352. package/esm2022/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.mjs +22 -21
  353. package/esm2022/page-scaffold/page-header/header-notify/header-notify.module.mjs +2 -2
  354. package/esm2022/page-scaffold/page-header/header-notify/notify.service.mjs +5 -5
  355. package/esm2022/page-scaffold/page-header/help-menu/component/component.mjs +59 -62
  356. package/esm2022/page-scaffold/page-header/help-menu/module.mjs +2 -2
  357. package/esm2022/page-scaffold/page-header/module.mjs +2 -2
  358. package/esm2022/permission/helpers.mjs +1 -1
  359. package/esm2022/permission/k8s-permission.service.mjs +3 -3
  360. package/esm2022/permission/permission.guard.mjs +3 -3
  361. package/esm2022/pie-derivative-chart/donut-status/component.mjs +29 -28
  362. package/esm2022/pie-derivative-chart/indicator-color.directive.mjs +3 -3
  363. package/esm2022/pie-derivative-chart/numerical-limit.pipe.mjs +3 -3
  364. package/esm2022/pie-derivative-chart/pie-derivative-chart.module.mjs +7 -7
  365. package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +84 -78
  366. package/esm2022/pie-derivative-chart/units.mjs +14 -0
  367. package/esm2022/pod-status/component.mjs +167 -0
  368. package/esm2022/pod-status/public-api.mjs +4 -0
  369. package/esm2022/pod-status/status.mjs +84 -0
  370. package/esm2022/pod-status/typings.mjs +19 -0
  371. package/esm2022/public-api.mjs +4 -1
  372. package/esm2022/searchable-selector/component.mjs +73 -75
  373. package/esm2022/searchable-selector/module.mjs +2 -2
  374. package/esm2022/skeleton/item/component.mjs +4 -3
  375. package/esm2022/skeleton/module.mjs +2 -2
  376. package/esm2022/skeleton/nav-skeleton/component.mjs +8 -7
  377. package/esm2022/table/component.mjs +275 -276
  378. package/esm2022/table/helper.mjs +1 -1
  379. package/esm2022/table/helpers.directive.mjs +3 -3
  380. package/esm2022/table/module.mjs +40 -31
  381. package/esm2022/table/util.service.mjs +4 -4
  382. package/esm2022/translate/helpers.mjs +1 -1
  383. package/esm2022/translate/i18n-config.mjs +3 -8
  384. package/esm2022/translate/translate.directive.mjs +9 -9
  385. package/esm2022/translate/translate.module.mjs +2 -2
  386. package/esm2022/translate/translate.pipe.mjs +3 -3
  387. package/esm2022/translate/translate.service.mjs +4 -4
  388. package/esm2022/view-chart/custom-template/dropdown-legend.mjs +24 -26
  389. package/esm2022/view-chart/legend/legend.component.mjs +66 -70
  390. package/esm2022/view-chart/view-chart.component.mjs +94 -105
  391. package/esm2022/view-chart/view-chart.module.mjs +2 -2
  392. package/esm2022/view-zchart/custom-template/dropdown-legend.mjs +24 -26
  393. package/esm2022/view-zchart/legend/legend.component.mjs +77 -82
  394. package/esm2022/view-zchart/units.mjs +1 -1
  395. package/esm2022/view-zchart/view-zchart.component.mjs +111 -120
  396. package/esm2022/view-zchart/view-zchart.module.mjs +2 -2
  397. package/esm2022/widget/card-section/card-section.component.mjs +13 -12
  398. package/esm2022/widget/confirm-delete/confirm-delete.component.mjs +45 -46
  399. package/esm2022/widget/current-time/component.mjs +4 -3
  400. package/esm2022/widget/date-range-picker/component.mjs +42 -40
  401. package/esm2022/widget/field-set/column/component.mjs +5 -3
  402. package/esm2022/widget/field-set/group/component.mjs +3 -2
  403. package/esm2022/widget/field-set/item/component.mjs +8 -7
  404. package/esm2022/widget/foldable-block/component.mjs +25 -24
  405. package/esm2022/widget/foldable-item-in-table/component.mjs +41 -42
  406. package/esm2022/widget/loading-mask/loading-mask.component.mjs +9 -9
  407. package/esm2022/widget/password-input/component.mjs +72 -71
  408. package/esm2022/widget/public-api.mjs +2 -1
  409. package/esm2022/widget/relative-time/component.mjs +4 -3
  410. package/esm2022/widget/resource-label/component.mjs +131 -0
  411. package/esm2022/widget/resource-multi-select/component.mjs +20 -19
  412. package/esm2022/widget/resource-multi-select/util.mjs +1 -1
  413. package/esm2022/widget/search-panel/component.mjs +3 -2
  414. package/esm2022/widget/search-panel/helper.directive.mjs +2 -2
  415. package/esm2022/widget/search-panel/search-item/component.mjs +3 -2
  416. package/esm2022/widget/select-prefix-label/directive.mjs +4 -4
  417. package/esm2022/widget/status-icon/status-icon.component.mjs +16 -15
  418. package/esm2022/widget/tags-label/component.mjs +61 -62
  419. package/esm2022/widget/terminating-tag/component.mjs +4 -3
  420. package/esm2022/widget/text-ellipsis/component.mjs +11 -11
  421. package/esm2022/widget/text-tooltip/directive.mjs +3 -3
  422. package/esm2022/widget/text-with-url/component.mjs +8 -8
  423. package/esm2022/widget/widget.module.mjs +2 -2
  424. package/esm2022/widget/zero-state/zero-state.component.mjs +45 -30
  425. package/esm2022/window-channel/base-window-channel.mjs +1 -1
  426. package/esm2022/window-channel/directives/host-link.directive.mjs +2 -2
  427. package/esm2022/window-channel/host-window-channel.service.mjs +3 -3
  428. package/esm2022/window-channel/plugin-window-channel.service.mjs +3 -3
  429. package/esm2022/workload-status-icon/component.mjs +72 -0
  430. package/esm2022/workload-status-icon/public-api.mjs +2 -0
  431. package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +68 -71
  432. package/esm2022/xterm/xterm-terminal/xterm-terminal.directive.mjs +3 -3
  433. package/esm2022/xterm/xterm.component.mjs +5 -4
  434. package/exec/terminal/component.d.ts +1 -4
  435. package/form/validators/async-function-validator.directive.d.ts +1 -1
  436. package/form/validators/function-validator.directive.d.ts +1 -1
  437. package/form/validators/maxlength-minlength-validator.directive.d.ts +2 -2
  438. package/form/validators/module.d.ts +8 -8
  439. package/form/validators/not-be-validator.directive.d.ts +1 -1
  440. package/form/validators/one-of-validator.directive.d.ts +1 -1
  441. package/form/validators/resource-limit.d.ts +1 -1
  442. package/form/validators/strong-password/strong-password-validator.module.d.ts +2 -2
  443. package/graph-canvas/components/graph-canvas.component.d.ts +2 -2
  444. package/k8s-resource-list/footer/component.d.ts +9 -1
  445. package/k8s-resource-list/k8s-resource-list.module.d.ts +1 -1
  446. package/k8s-resource-list/k8s-resource-paged-list.d.ts +2 -2
  447. package/k8s-shared/constants.d.ts +7 -0
  448. package/k8s-shared/k8s-resource-translate-key.pipe.d.ts +9 -0
  449. package/k8s-shared/public-api.d.ts +1 -0
  450. package/license/license-api.d.ts +1 -1
  451. package/license/license-error/component.d.ts +1 -1
  452. package/metric-chart/helpers.d.ts +1 -1
  453. package/package.json +2 -1
  454. package/page-guard/component/component.d.ts +1 -1
  455. package/page-scaffold/navigation/breadcrumb/breadcrumb.component.d.ts +2 -0
  456. package/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.d.ts +1 -0
  457. package/page-scaffold/navigation/nav-menu/nav-menu.types.d.ts +8 -1
  458. package/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.d.ts +2 -1
  459. package/page-scaffold/page-header/common-layout/product-select/component.d.ts +1 -3
  460. package/page-scaffold/page-header/header-notify/utils.d.ts +3 -3
  461. package/pie-derivative-chart/radial-bar/radial-bar-chart.component.d.ts +4 -0
  462. package/pie-derivative-chart/units.d.ts +2 -0
  463. package/pod-status/component.d.ts +27 -0
  464. package/pod-status/public-api.d.ts +3 -0
  465. package/pod-status/status.d.ts +4 -0
  466. package/pod-status/typings.d.ts +16 -0
  467. package/public-api.d.ts +3 -0
  468. package/styles/ansi-color.scss +131 -0
  469. package/styles/global.scss +4 -1
  470. package/styles/tailwind-preset.scss +1 -1
  471. package/table/component.d.ts +6 -4
  472. package/table/helper.d.ts +1 -1
  473. package/table/module.d.ts +23 -7
  474. package/widget/public-api.d.ts +1 -0
  475. package/widget/resource-label/component.d.ts +25 -0
  476. package/widget/zero-state/zero-state.component.d.ts +5 -2
  477. package/workload-status-icon/component.d.ts +36 -0
  478. package/workload-status-icon/public-api.d.ts +1 -0
  479. package/a-chart/a-chart.module.d.ts +0 -16
  480. package/a-chart/base-chart.d.ts +0 -24
  481. package/a-chart/chart-status.component.d.ts +0 -15
  482. package/a-chart/chart.component.d.ts +0 -56
  483. package/a-chart/components/base-component.d.ts +0 -12
  484. package/a-chart/components/legend/base-legend.component.d.ts +0 -31
  485. package/a-chart/components/legend/dropdown-legend.d.ts +0 -17
  486. package/a-chart/components/legend/legend.component.d.ts +0 -17
  487. package/a-chart/components/legend/public-api.d.ts +0 -3
  488. package/a-chart/components/public-api.d.ts +0 -3
  489. package/a-chart/components/title.component.d.ts +0 -17
  490. package/a-chart/constant.d.ts +0 -6
  491. package/a-chart/public-api.d.ts +0 -12
  492. package/a-chart/types.d.ts +0 -38
  493. package/a-chart/utils.d.ts +0 -13
  494. package/a-metric-chart/a-metric-chart.component.d.ts +0 -154
  495. package/a-metric-chart/a-metric-chart.module.d.ts +0 -16
  496. package/a-metric-chart/bar-gauge/bar-gauge.component.d.ts +0 -25
  497. package/a-metric-chart/base-chart.component.d.ts +0 -14
  498. package/a-metric-chart/metric-chart-refresh.service.d.ts +0 -8
  499. package/a-metric-chart/public-api.d.ts +0 -14
  500. package/a-metric-chart/stat-chart/stat-chart.component.d.ts +0 -11
  501. package/a-metric-chart/table-chart/table-chart.component.d.ts +0 -29
  502. package/a-metric-chart/types.d.ts +0 -130
  503. package/a-metric-chart/utils/public-api.d.ts +0 -3
  504. package/a-metric-chart/utils/range.d.ts +0 -1
  505. package/a-metric-chart/utils/unit.d.ts +0 -48
  506. package/a-metric-chart/utils/util.d.ts +0 -45
  507. package/api/monitor-api.service.d.ts +0 -104
  508. package/esm2022/a-chart/a-chart.module.mjs +0 -76
  509. package/esm2022/a-chart/base-chart.mjs +0 -98
  510. package/esm2022/a-chart/chart-status.component.mjs +0 -195
  511. package/esm2022/a-chart/chart.component.mjs +0 -307
  512. package/esm2022/a-chart/components/base-component.mjs +0 -23
  513. package/esm2022/a-chart/components/legend/base-legend.component.mjs +0 -111
  514. package/esm2022/a-chart/components/legend/dropdown-legend.mjs +0 -199
  515. package/esm2022/a-chart/components/legend/legend.component.mjs +0 -102
  516. package/esm2022/a-chart/components/legend/public-api.mjs +0 -4
  517. package/esm2022/a-chart/components/public-api.mjs +0 -4
  518. package/esm2022/a-chart/components/title.component.mjs +0 -99
  519. package/esm2022/a-chart/constant.mjs +0 -24
  520. package/esm2022/a-chart/public-api.mjs +0 -13
  521. package/esm2022/a-chart/types.mjs +0 -7
  522. package/esm2022/a-chart/utils.mjs +0 -37
  523. package/esm2022/a-metric-chart/a-metric-chart.component.mjs +0 -937
  524. package/esm2022/a-metric-chart/a-metric-chart.module.mjs +0 -74
  525. package/esm2022/a-metric-chart/bar-gauge/bar-gauge.component.mjs +0 -166
  526. package/esm2022/a-metric-chart/base-chart.component.mjs +0 -30
  527. package/esm2022/a-metric-chart/metric-chart-refresh.service.mjs +0 -18
  528. package/esm2022/a-metric-chart/public-api.mjs +0 -15
  529. package/esm2022/a-metric-chart/stat-chart/stat-chart.component.mjs +0 -122
  530. package/esm2022/a-metric-chart/table-chart/table-chart.component.mjs +0 -201
  531. package/esm2022/a-metric-chart/types.mjs +0 -26
  532. package/esm2022/a-metric-chart/utils/public-api.mjs +0 -4
  533. package/esm2022/a-metric-chart/utils/range.mjs +0 -35
  534. package/esm2022/a-metric-chart/utils/unit.mjs +0 -83
  535. package/esm2022/a-metric-chart/utils/util.mjs +0 -243
  536. package/esm2022/api/monitor-api.service.mjs +0 -158
  537. package/esm2022/notification/notification-util.module.mjs +0 -32
  538. package/esm2022/page-scaffold/navigation/lottie-icons/animations/dashboard.json +0 -1
  539. package/notification/notification-util.module.d.ts +0 -10
@@ -52,4 +52,4 @@ export class CacheStore {
52
52
  return this.store.has(id);
53
53
  }
54
54
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS91dGlscy9jYWNoZS1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFDTCxlQUFlLEVBQ2YsVUFBVSxFQUNWLE1BQU0sRUFDTixHQUFHLEVBR0gsRUFBRSxFQUNGLFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakQsTUFBTSxPQUFPLFVBQVU7SUFNckIsWUFBWSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUE4QjtRQUZ0RCxVQUFLLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFrRW5ELFVBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFDLFlBQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLFlBQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLFdBQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBckUxQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsSUFBSSxDQUFDLENBQUMsQ0FBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBTSxDQUFD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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjYXRjaEVycm9yLFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgc3RhcnRXaXRoLFxuICBzd2l0Y2hNYXAsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBwdWJsaXNoUmVmIH0gZnJvbSAnLi4vdXRpbHMvcHVibGljLWFwaSc7XG5cbmV4cG9ydCBjbGFzcyBDYWNoZVN0b3JlPFYsIFAsIEsgZXh0ZW5kcyBrZXlvZiBhbnkgPSBzdHJpbmc+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBmZXRjaGVyOiAocGFyYW1zOiBQKSA9PiBPYnNlcnZhYmxlPFY+O1xuICBwcml2YXRlIHJlYWRvbmx5IGlkR2VuZXJhdG9yOiAocGFyYW1zOiBQKSA9PiBLO1xuICBwcml2YXRlIHJlYWRvbmx5IHNoYXJlOiA8VD4oKSA9PiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD47XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RvcmUgPSBuZXcgTWFwPEssIENhY2hlPFAsIFY+PigpO1xuXG4gIGNvbnN0cnVjdG9yKHsgaWRHZW5lcmF0b3IsIGZldGNoZXIsIHNoYXJlIH06IENhY2hlU3RvcmVPcHRpb25zPFYsIFAsIEs+KSB7XG4gICAgdGhpcy5mZXRjaGVyID0gZmV0Y2hlcjtcbiAgICB0aGlzLmlkR2VuZXJhdG9yID0gaWRHZW5lcmF0b3IgPz8gKCh2OiBQKSA9PiBKU09OLnN0cmluZ2lmeSh2KSBhcyBLKTtcbiAgICB0aGlzLnNoYXJlID0gc2hhcmUgPz8gcHVibGlzaFJlZjtcbiAgfVxuXG4gIGZldGNoU3RhdGUocGFyYW1zOiBQKSB7XG4gICAgY29uc3QgaWQgPSB0aGlzLmlkR2VuZXJhdG9yKHBhcmFtcyk7XG4gICAgaWYgKCF0aGlzLnN0b3JlLmhhcyhpZCkpIHtcbiAgICAgIGlmICh0eXBlb2YgaWQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLnN0b3JlLnZhbHVlcygpKSB7XG4gICAgICAgICAgaWYgKGlzRXF1YWwoaXRlbS5wYXJhbXMsIGlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0ubG9hZFN0YXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgcmVmZXRjaCQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPihudWxsKTtcbiAgICAgIHRoaXMuc3RvcmUuc2V0KGlkLCB7XG4gICAgICAgIHBhcmFtcyxcbiAgICAgICAgcmVmZXRjaDogKCkgPT4gcmVmZXRjaCQkLm5leHQoKSxcbiAgICAgICAgbG9hZFN0YXRlOiByZWZldGNoJCQucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgIHRoaXMuZmV0Y2hlcihwYXJhbXMpLnBpcGUoXG4gICAgICAgICAgICAgIG1hcChyZXN1bHQgPT4gKHsgc3RhdGU6ICdsb2FkZWQnIGFzIGNvbnN0LCByZXN1bHQgfSkpLFxuICAgICAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IG9mKHsgc3RhdGU6ICdsb2FkRmFpbGVkJyBhcyBjb25zdCwgZXJyb3IgfSkpLFxuICAgICAgICAgICAgICBzdGFydFdpdGgoeyBzdGF0ZTogJ2xvYWRpbmcnIGFzIGNvbnN0IH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApLFxuICAgICAgICAgIHRoaXMuc2hhcmUoKSxcbiAgICAgICAgKSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnN0b3JlLmdldChpZCkubG9hZFN0YXRlO1xuICB9XG5cbiAgZmV0Y2gocGFyYW1zOiBQKSB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hTdGF0ZShwYXJhbXMpLnBpcGUoXG4gICAgICBmaWx0ZXIobG9hZFN0YXRlID0+IGxvYWRTdGF0ZS5zdGF0ZSA9PT0gJ2xvYWRlZCcpLFxuICAgICAgbWFwKGxvYWRTdGF0ZSA9PiBsb2FkU3RhdGUucmVzdWx0KSxcbiAgICApO1xuICB9XG5cbiAgcmVmZXRjaChwYXJhbXM6IFApIHtcbiAgICBjb25zdCBpZCA9IHRoaXMuaWRHZW5lcmF0b3IocGFyYW1zKTtcbiAgICB0aGlzLnN0b3JlLmdldChpZCk/LnJlZmV0Y2g/LigpO1xuICB9XG5cbiAgcmVmZXRjaEFsbCgpIHtcbiAgICB0aGlzLmZvckVhY2goY2FjaGUgPT4ge1xuICAgICAgY2FjaGUucmVmZXRjaCgpO1xuICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlKHBhcmFtczogUCkge1xuICAgIGNvbnN0IGlkID0gdGhpcy5pZEdlbmVyYXRvcihwYXJhbXMpO1xuICAgIHRoaXMuc3RvcmUuZGVsZXRlKGlkKTtcbiAgfVxuXG4gIGhhcyhwYXJhbXM6IFApIHtcbiAgICBjb25zdCBpZCA9IHRoaXMuaWRHZW5lcmF0b3IocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5oYXMoaWQpO1xuICB9XG5cbiAgY2xlYXIgPSB0aGlzLnN0b3JlLmNsZWFyLmJpbmQodGhpcy5zdG9yZSk7XG5cbiAgZm9yRWFjaCA9IHRoaXMuc3RvcmUuZm9yRWFjaC5iaW5kKHRoaXMuc3RvcmUpO1xuXG4gIGVudHJpZXMgPSB0aGlzLnN0b3JlLmVudHJpZXMuYmluZCh0aGlzLnN0b3JlKTtcblxuICB2YWx1ZXMgPSB0aGlzLnN0b3JlLnZhbHVlcy5iaW5kKHRoaXMuc3RvcmUpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhY2hlU3RvcmVPcHRpb25zPFYsIFAsIEs+IHtcbiAgZmV0Y2hlcjogKHBhcmFtczogUCkgPT4gT2JzZXJ2YWJsZTxWPjtcbiAgaWRHZW5lcmF0b3I/OiAocGFyYW1zOiBQKSA9PiBLO1xuICBzaGFyZT86IDxUPigpID0+IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYWNoZUxvYWRTdGF0ZTxWPiB7XG4gIHN0YXRlOiAnbG9hZGluZycgfCAnbG9hZGVkJyB8ICdsb2FkRmFpbGVkJztcbiAgcmVzdWx0PzogVjtcbiAgZXJyb3I/OiB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhY2hlPFAsIFY+IHtcbiAgcGFyYW1zOiBQO1xuICByZWZldGNoOiAoKSA9PiB2b2lkO1xuICBsb2FkU3RhdGU6IE9ic2VydmFibGU8Q2FjaGVMb2FkU3RhdGU8Vj4+O1xufVxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS91dGlscy9jYWNoZS1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFDTCxlQUFlLEVBQ2YsVUFBVSxFQUNWLE1BQU0sRUFDTixHQUFHLEVBR0gsRUFBRSxFQUNGLFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakQsTUFBTSxPQUFPLFVBQVU7SUFNckIsWUFBWSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUE4QjtRQUZ0RCxVQUFLLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFrRW5ELFVBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFDLFlBQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLFlBQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLFdBQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBckUxQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsSUFBSSxDQUFDLENBQUMsQ0FBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBTSxDQUFD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Q0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QixDQUFDO0NBU0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0VxdWFsIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY2F0Y2hFcnJvcixcbiAgZmlsdGVyLFxuICBtYXAsXG4gIE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbixcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgcHVibGlzaFJlZiB9IGZyb20gJy4uL3V0aWxzL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgY2xhc3MgQ2FjaGVTdG9yZTxWLCBQLCBLIGV4dGVuZHMga2V5b2YgYW55ID0gc3RyaW5nPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmV0Y2hlcjogKHBhcmFtczogUCkgPT4gT2JzZXJ2YWJsZTxWPjtcbiAgcHJpdmF0ZSByZWFkb25seSBpZEdlbmVyYXRvcjogKHBhcmFtczogUCkgPT4gSztcbiAgcHJpdmF0ZSByZWFkb25seSBzaGFyZTogPFQ+KCkgPT4gTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+O1xuICBwcml2YXRlIHJlYWRvbmx5IHN0b3JlID0gbmV3IE1hcDxLLCBDYWNoZTxQLCBWPj4oKTtcblxuICBjb25zdHJ1Y3Rvcih7IGlkR2VuZXJhdG9yLCBmZXRjaGVyLCBzaGFyZSB9OiBDYWNoZVN0b3JlT3B0aW9uczxWLCBQLCBLPikge1xuICAgIHRoaXMuZmV0Y2hlciA9IGZldGNoZXI7XG4gICAgdGhpcy5pZEdlbmVyYXRvciA9IGlkR2VuZXJhdG9yID8/ICgodjogUCkgPT4gSlNPTi5zdHJpbmdpZnkodikgYXMgSyk7XG4gICAgdGhpcy5zaGFyZSA9IHNoYXJlID8/IHB1Ymxpc2hSZWY7XG4gIH1cblxuICBmZXRjaFN0YXRlKHBhcmFtczogUCkge1xuICAgIGNvbnN0IGlkID0gdGhpcy5pZEdlbmVyYXRvcihwYXJhbXMpO1xuICAgIGlmICghdGhpcy5zdG9yZS5oYXMoaWQpKSB7XG4gICAgICBpZiAodHlwZW9mIGlkID09PSAnb2JqZWN0Jykge1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5zdG9yZS52YWx1ZXMoKSkge1xuICAgICAgICAgIGlmIChpc0VxdWFsKGl0ZW0ucGFyYW1zLCBpZCkpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtLmxvYWRTdGF0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlZmV0Y2gkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dm9pZD4obnVsbCk7XG4gICAgICB0aGlzLnN0b3JlLnNldChpZCwge1xuICAgICAgICBwYXJhbXMsXG4gICAgICAgIHJlZmV0Y2g6ICgpID0+IHJlZmV0Y2gkJC5uZXh0KCksXG4gICAgICAgIGxvYWRTdGF0ZTogcmVmZXRjaCQkLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgICB0aGlzLmZldGNoZXIocGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+ICh7IHN0YXRlOiAnbG9hZGVkJyBhcyBjb25zdCwgcmVzdWx0IH0pKSxcbiAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiBvZih7IHN0YXRlOiAnbG9hZEZhaWxlZCcgYXMgY29uc3QsIGVycm9yIH0pKSxcbiAgICAgICAgICAgICAgc3RhcnRXaXRoKHsgc3RhdGU6ICdsb2FkaW5nJyBhcyBjb25zdCB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKSxcbiAgICAgICAgICB0aGlzLnNoYXJlKCksXG4gICAgICAgICksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXQoaWQpLmxvYWRTdGF0ZTtcbiAgfVxuXG4gIGZldGNoKHBhcmFtczogUCkge1xuICAgIHJldHVybiB0aGlzLmZldGNoU3RhdGUocGFyYW1zKS5waXBlKFxuICAgICAgZmlsdGVyKGxvYWRTdGF0ZSA9PiBsb2FkU3RhdGUuc3RhdGUgPT09ICdsb2FkZWQnKSxcbiAgICAgIG1hcChsb2FkU3RhdGUgPT4gbG9hZFN0YXRlLnJlc3VsdCksXG4gICAgKTtcbiAgfVxuXG4gIHJlZmV0Y2gocGFyYW1zOiBQKSB7XG4gICAgY29uc3QgaWQgPSB0aGlzLmlkR2VuZXJhdG9yKHBhcmFtcyk7XG4gICAgdGhpcy5zdG9yZS5nZXQoaWQpPy5yZWZldGNoPy4oKTtcbiAgfVxuXG4gIHJlZmV0Y2hBbGwoKSB7XG4gICAgdGhpcy5mb3JFYWNoKGNhY2hlID0+IHtcbiAgICAgIGNhY2hlLnJlZmV0Y2goKTtcbiAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShwYXJhbXM6IFApIHtcbiAgICBjb25zdCBpZCA9IHRoaXMuaWRHZW5lcmF0b3IocGFyYW1zKTtcbiAgICB0aGlzLnN0b3JlLmRlbGV0ZShpZCk7XG4gIH1cblxuICBoYXMocGFyYW1zOiBQKSB7XG4gICAgY29uc3QgaWQgPSB0aGlzLmlkR2VuZXJhdG9yKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuaGFzKGlkKTtcbiAgfVxuXG4gIGNsZWFyID0gdGhpcy5zdG9yZS5jbGVhci5iaW5kKHRoaXMuc3RvcmUpO1xuXG4gIGZvckVhY2ggPSB0aGlzLnN0b3JlLmZvckVhY2guYmluZCh0aGlzLnN0b3JlKTtcblxuICBlbnRyaWVzID0gdGhpcy5zdG9yZS5lbnRyaWVzLmJpbmQodGhpcy5zdG9yZSk7XG5cbiAgdmFsdWVzID0gdGhpcy5zdG9yZS52YWx1ZXMuYmluZCh0aGlzLnN0b3JlKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYWNoZVN0b3JlT3B0aW9uczxWLCBQLCBLPiB7XG4gIGZldGNoZXI6IChwYXJhbXM6IFApID0+IE9ic2VydmFibGU8Vj47XG4gIGlkR2VuZXJhdG9yPzogKHBhcmFtczogUCkgPT4gSztcbiAgc2hhcmU/OiA8VD4oKSA9PiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FjaGVMb2FkU3RhdGU8Vj4ge1xuICBzdGF0ZTogJ2xvYWRpbmcnIHwgJ2xvYWRlZCcgfCAnbG9hZEZhaWxlZCc7XG4gIHJlc3VsdD86IFY7XG4gIGVycm9yPzogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYWNoZTxQLCBWPiB7XG4gIHBhcmFtczogUDtcbiAgcmVmZXRjaDogKCkgPT4gdm9pZDtcbiAgbG9hZFN0YXRlOiBPYnNlcnZhYmxlPENhY2hlTG9hZFN0YXRlPFY+Pjtcbn1cbiJdfQ==
@@ -2,8 +2,9 @@
2
2
  * @packageDocumentation
3
3
  * @module utils
4
4
  */
5
+ import { last,
5
6
  // eslint-disable-next-line no-restricted-imports
6
- import { last, isEqual as _isEqual, pick, mapValues } from 'lodash-es';
7
+ isEqual as _isEqual, pick, mapValues, } from 'lodash-es';
7
8
  import { Bracket } from '../constants/constants';
8
9
  export const numToStr = (num) => {
9
10
  if (num === 0) {
@@ -308,14 +309,4 @@ export const setWindowsXtermTools = (xterm) => {
308
309
  export const clearWindowsXtermTools = () => {
309
310
  delete window.__XTERM_TOOLS__;
310
311
  };
311
- export function getParamFromParent(key, snapshot) {
312
- const value = snapshot.paramMap.get(key);
313
- if (value) {
314
- return value;
315
- }
316
- if (snapshot.parent) {
317
- return getParamFromParent(key, snapshot.parent);
318
- }
319
- return '';
320
- }
321
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdXRpbHMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUlILGlEQUFpRDtBQUNqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sSUFBSSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUl2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFVakQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBWSxFQUFFLEVBQUU7SUFDdkMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFO1FBQ2IsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUVELElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDUixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsT0FBTyxHQUFHO1NBQ1AsY0FBYyxDQUFDLFVBQVUsRUFBRTtRQUMxQixxQkFBcUIsRUFBRSxDQUFDO1FBQ3hCLFdBQVcsRUFBRSxLQUFLO0tBQ25CLENBQUM7U0FDRCxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQXFCLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxFQUFFO0lBQzVELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO1FBQzNCLEdBQUcsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDbEI7SUFDRCxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLEdBQUcsRUFBRTtRQUM1QixPQUFPLEdBQUcsQ0FBQztLQUNaO0lBQ0QsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNSLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFDRCxPQUFPLFFBQVEsQ0FBQyxDQUFD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TUFBTSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUM7S0FDdEI7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRztJQUNsQixjQUFjO0lBQ2QsY0FBYztJQUNkLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsUUFBUTtJQUNSLFdBQVc7SUFDWCxhQUFhO0NBQ0wsQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUU7SUFDckQsTUFBYyxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQ3pDLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEVBQ3hCLENBQUMsR0FBeUQsRUFBRSxFQUFFLENBQzVELEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQ2xCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLEVBQUU7SUFDekMsT0FBUSxNQUFjLENBQUMsZUFBZSxDQUFDO0FBQ3pDLENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsR0FBVyxFQUNYLFFBQWdDO0lBRWhDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLElBQUksS0FBSyxFQUFFO1FBQ1QsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRTtRQUNuQixPQUFPLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDakQ7SUFDRCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSB1dGlsc1xuICovXG5cbmltcG9ydCB7IFNvcnQgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtaW1wb3J0c1xuaW1wb3J0IHsgbGFzdCwgaXNFcXVhbCBhcyBfaXNFcXVhbCwgcGljaywgbWFwVmFsdWVzIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFVuaW9uVG9JbnRlcnNlY3Rpb24sIFZhbHVlT2YgfSBmcm9tICd0cy1lc3NlbnRpYWxzJztcbmltcG9ydCB7IFRlcm1pbmFsIH0gZnJvbSAneHRlcm0nO1xuXG5pbXBvcnQgeyBCcmFja2V0IH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBDYWxsYmFjayxcbiAgS2V5cyxcbiAgS3ViZXJuZXRlc1Jlc291cmNlLFxuICBOdWxsYWJsZSxcbiAgUmVhZG9ubHlhYmxlLFxuICBTdHJpbmdNYXAsXG59IGZyb20gJy4uL3R5cGVzL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgY29uc3QgbnVtVG9TdHIgPSAobnVtPzogbnVtYmVyKSA9PiB7XG4gIGlmIChudW0gPT09IDApIHtcbiAgICByZXR1cm4gJzAnO1xuICB9XG5cbiAgaWYgKCFudW0pIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gbnVtXG4gICAgLnRvTG9jYWxlU3RyaW5nKCdmdWxsd2lkZScsIHtcbiAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMyxcbiAgICAgIHVzZUdyb3VwaW5nOiBmYWxzZSxcbiAgICB9KVxuICAgIC5yZXBsYWNlKC8oW14uXSlcXC4/MCskLywgJyQxJyk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvcnROdW0gPSAobnVtPzogbnVtYmVyIHwgc3RyaW5nLCBkaWdpdHMgPSAyKSA9PiB7XG4gIGlmICh0eXBlb2YgbnVtID09PSAnc3RyaW5nJykge1xuICAgIG51bSA9IG51bS50cmltKCk7XG4gIH1cbiAgaWYgKG51bSA9PT0gMCB8fCBudW0gPT09ICcwJykge1xuICAgIHJldHVybiAnMCc7XG4gIH1cbiAgaWYgKCFudW0pIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgcmV0dXJuIG51bVRvU3RyKCsoK251bSkudG9GaXhlZChkaWdpdHMpIHx8IE1hdGgucG93KDEwLCAtZGlnaXRzKSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNCbGFuayA9IChzdHI/OiB1bmtub3duKSA9PlxuICBzdHIgPT0gbnVsbCB8fCBOdW1iZXIuaXNOYU4oc3RyIGFzIG51bWJlcikgfHwgIXN0ci50b1N0cmluZygpLnRyaW0oKTtcblxuZXhwb3J0IGNvbnN0IGdldEJhc2VIcmVmID0gKCkgPT4ge1xuICAvLyBUaGUgbGFzdCBiYXNlIGVsZW1lbnQgaGFzIGhpZ2hlc3QgcHJpdmlsZWdlXG4gIGNvbnN0IGJhc2UgPSBsYXN0KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2Jhc2UnKSk7XG4gIC8vIHVzZSBgZ2V0QXR0cmlidXRlYCBpbnN0ZWFkIG9mIGBiYXNlLmhyZWZgIGJlY2F1c2UgdGhlIGF0dHJpYnV0ZSBjb3VsZCBiZSB2b2lkIGJ1dCByZXN1bHRzIGN1cnJlbnQgd2hvbGUgbG9jYXRpb24gdXJsXG4gIHJldHVybiBiYXNlPy5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSB8fCAnLyc7XG59O1xuXG5leHBvcnQgY29uc3QgaWZFeGlzdCA9IDxUPihcbiAgdG9DaGVjazogYm9vbGVhbiB8IE51bGxhYmxlPFQ+LFxuICB0cnV0aHlWYWx1ZTogVCxcbiAgZmFsbGJhY2s/OiBULFxuKSA9PiAodG9DaGVjayA/IHRydXRoeVZhbHVlIDogKChmYWxsYmFjayB8fCAnJykgYXMgVCkpO1xuXG5leHBvcnQgY29uc3QgaXNBYnNvbHV0ZVVybCA9ICh1cmw6IHN0cmluZykgPT4gL14oaHR0cHM/OlxcLyk/XFwvLy50ZXN0KHVybCk7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbmV4cG9ydCBjb25zdCBub29wOiBDYWxsYmFjayA9ICgpID0+IHt9O1xuXG5leHBvcnQgY29uc3QgdG9LZXlzID0gPFQgZXh0ZW5kcyBvYmplY3Q+KHNvdXJjZTogVCk6IEtleXM8VD4gPT5cbiAgT2JqZWN0LmtleXMoc291cmNlKS5yZWR1Y2UoKGFjYywgaykgPT4ge1xuICAgIGNvbnN0IGtleSA9IGsgYXMga2V5b2YgVDtcbiAgICBhY2Nba2V5XSA9IGtleTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBLZXlzPFQ+KTtcblxuZXhwb3J0IGNvbnN0IHdyYXBUZXh0ID0gKFxuICB0ZXh0Pzogc3RyaW5nLFxuICB3cmFwcGVyOiBSZWFkb25seWFibGU8W3N0cmluZywgc3RyaW5nXT4gPSBCcmFja2V0LlBBUkVOVEhFU0VTLFxuICBmYWxsYmFjaz86IHN0cmluZyxcbikgPT4gKHRleHQgPyB3cmFwcGVyLmpvaW4odGV4dCkgOiBmYWxsYmFjayB8fCAnJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUpTT05TdHJlYW08VD4odGV4dDogc3RyaW5nKTogVFtdIHtcbiAgcmV0dXJuIHRleHRcbiAgICAuc3BsaXQoJ1xcbicpXG4gICAgLm1hcCh2ID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKHYpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH0pXG4gICAgLmZpbHRlcih2ID0+ICEhdik7XG59XG5cbmV4cG9ydCBjb25zdCB0cmFja0J5VWlkID0gPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICBfOiBudW1iZXIsXG4gIHJlc291cmNlOiBULFxuKSA9PiByZXNvdXJjZS5tZXRhZGF0YS51aWQ7XG5cbmV4cG9ydCBjb25zdCBpc0s4c1Jlc291cmNlID0gPFxuICBUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlID0gS3ViZXJuZXRlc1Jlc291cmNlLFxuPihcbiAgdmFsdWU6IG9iamVjdCxcbik6IHZhbHVlIGlzIFQgPT5cbiAgdmFsdWUgJiZcbiAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAnYXBpVmVyc2lvbicgaW4gdmFsdWUgJiZcbiAgdHlwZW9mIHZhbHVlLmFwaVZlcnNpb24gPT09ICdzdHJpbmcnICYmXG4gICdraW5kJyBpbiB2YWx1ZSAmJlxuICB0eXBlb2YgdmFsdWUua2luZCA9PT0gJ3N0cmluZycgJiZcbiAgJ21ldGFkYXRhJyBpbiB2YWx1ZSAmJlxuICB2YWx1ZS5tZXRhZGF0YSAmJlxuICB0eXBlb2YgdmFsdWUubWV0YWRhdGEgPT09ICdvYmplY3QnO1xuXG5leHBvcnQgY29uc3QgYXJyYXlpZnkgPSA8XG4gIFQsXG4gIFIgPSBUIGV4dGVuZHMgQXJyYXk8aW5mZXIgUz4gPyBOb25OdWxsYWJsZTxTPiA6IE5vbk51bGxhYmxlPFQ+LFxuPihcbiAgLi4uYXJnczogQXJyYXk8UiB8IFJbXT5cbikgPT5cbiAgYXJncy5yZWR1Y2U8UltdPigoYXJyLCBjdXJyKSA9PiB7XG4gICAgYXJyLnB1c2goLi4uKEFycmF5LmlzQXJyYXkoY3VycikgPyBjdXJyIDogY3VyciA9PSBudWxsID8gW10gOiBbY3Vycl0pKTtcbiAgICByZXR1cm4gYXJyO1xuICB9LCBbXSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBzbGVlcChtcyA9IDApIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpO1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IGRlbGF5ID0gc2xlZXA7XG5cbmV4cG9ydCBmdW5jdGlvbiBzY3JvbGxJbnRvVmlldyhjb250YWluZXI6IEhUTUxFbGVtZW50LCBzZWxlY3RlZDogSFRNTEVsZW1lbnQpIHtcbiAgaWYgKCFzZWxlY3RlZCkge1xuICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSAwO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHRvcCA9IHNlbGVjdGVkLm9mZnNldFRvcDtcbiAgY29uc3QgYm90dG9tID0gc2VsZWN0ZWQub2Zmc2V0VG9wICsgc2VsZWN0ZWQub2Zmc2V0SGVpZ2h0O1xuICBjb25zdCB2aWV3UmVjdFRvcCA9IGNvbnRhaW5lci5zY3JvbGxUb3A7XG4gIGNvbnN0IHZpZXdSZWN0Qm90dG9tID0gdmlld1JlY3RUb3AgKyBjb250YWluZXIuY2xpZW50SGVpZ2h0O1xuXG4gIGlmICh2aWV3UmVjdFRvcCA+IHRvcCkge1xuICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSB0b3A7XG4gIH0gZWxzZSBpZiAodmlld1JlY3RCb3R0b20gPCBib3R0b20pIHtcbiAgICBjb250YWluZXIuc2Nyb2xsVG9wID0gYm90dG9tIC0gY29udGFpbmVyLmNsaWVudEhlaWdodDtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgaXNFcXVhbDogPFQsIFYgPSBUPihhOiBULCBiOiBWKSA9PiBib29sZWFuID0gX2lzRXF1YWw7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUpzb24gPSA8VD4oc3RyOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCA9IG51bGwpID0+IHtcbiAgaWYgKHN0ciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgfVxuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHN0cik7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0pzb25PYmplY3RTdHJpbmcoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHN0cik7XG4gICAgcmV0dXJuIHR5cGVvZiBwYXJzZWQgPT09ICdvYmplY3QnICYmIHBhcnNlZCAhPT0gbnVsbDtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBwYXJzZVZhbGlkSW1hZ2VOYW1lID0gKGltYWdlOiBzdHJpbmcpID0+XG4gIGltYWdlPy5yZXBsYWNlKC8oW146XSlcXC9cXC8vZywgJyQxLycpIHx8IGltYWdlO1xuXG5leHBvcnQgY29uc3QgYXRvYldpdGhGYWxsYmFjayA9IChzdHI6IHN0cmluZywgZmFsbGJhY2tWYWx1ZTogc3RyaW5nID0gbnVsbCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiB3aW5kb3cuYXRvYihzdHIpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsbGJhY2tWYWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGludGVyZmFjZSBTYWZlQXNzaWduT3B0aW9ucyB7XG4gIG5vdGljZTogKGR1cGxpY2F0ZXM6IHN0cmluZ1tdKSA9PiBhbnk7XG59XG4vKipcbiAqIOW4pumHjeWkjeajgOafpeeahGFzc2lnbu+8jOWPquWBmuS4gOe6p2tleeeahOmHjeWkjeajgOafpVxuICog5aaC5p6c5pyJ6YeN5aSN6aG56buY6K6k5LyadGhyb3cgZXJyb3LvvIzlpoLmnpzkvaDmmI7noa7ov5nkuI3mmK/kuIDkuKrlhbPplK7mgKfplJnor6/vvIzliJnlj6/ku6XpgJrov4fmjIflrppub3RpY2Xlh73mlbDkv67mlLnor6Xpu5jorqTooYzkuLpcbiAqIEBwYXJhbSBzb3VyY2VzXG4gKiBAcGFyYW0gb3B0aW9uc09yTm90aWNlXG4gKiBAcmV0dXJuIG9iamVjdCDkuIDkuKrlhajmlrDnmoTlr7nosaFcbiAqL1xuZXhwb3J0IGNvbnN0IHNhZmVBc3NpZ24gPSA8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+KFxuICBzb3VyY2VzOiBUW10sXG4gIG9wdGlvbnNPck5vdGljZT86IFNhZmVBc3NpZ25PcHRpb25zWydub3RpY2UnXSB8IFNhZmVBc3NpZ25PcHRpb25zLFxuKTogVW5pb25Ub0ludGVyc2VjdGlvbjxUPiA9PiB7XG4gIGlmIChzb3VyY2VzLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiBzb3VyY2VzWzBdIGFzIFVuaW9uVG9JbnRlcnNlY3Rpb248VD47XG4gIH1cblxuICBjb25zdCBvcHRpb246IFNhZmVBc3NpZ25PcHRpb25zID0ge1xuICAgIG5vdGljZTogKGR1cGxpY2F0ZXM6IHN0cmluZ1tdKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBUaGVyZSBhcmUgZHVwbGljYXRlIGRlZmluaXRpb25zOiAke2R1cGxpY2F0ZXMuam9pbignLCcpfWAsXG4gICAgICApO1xuICAgIH0sXG4gIH07XG4gIGlmICh0eXBlb2Ygb3B0aW9uc09yTm90aWNlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgb3B0aW9uLm5vdGljZSA9IG9wdGlvbnNPck5vdGljZTtcbiAgfVxuICBpZiAodHlwZW9mIG9wdGlvbnNPck5vdGljZSA9PT0gJ29iamVjdCcpIHtcbiAgICBPYmplY3QuYXNzaWduKG9wdGlvbiwgb3B0aW9uc09yTm90aWNlKTtcbiAgfVxuXG4gIGNvbnN0IGR1cGxpY2F0ZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgY29uc3QgYWxsS2V5ID0gbmV3IFNldChPYmplY3Qua2V5cyhzb3VyY2VzWzBdKSk7XG4gIHNvdXJjZXMuc2xpY2UoMSkuZm9yRWFjaChvYmogPT4ge1xuICAgIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKGFsbEtleS5oYXMoa2V5KSkge1xuICAgICAgICBkdXBsaWNhdGVzLmFkZChrZXkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWxsS2V5LmFkZChrZXkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbiAgaWYgKGR1cGxpY2F0ZXMuc2l6ZSkge1xuICAgIG9wdGlvbi5ub3RpY2UoWy4uLmR1cGxpY2F0ZXNdKTtcbiAgfVxuICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgLi4uc291cmNlcyk7XG59O1xuXG5leHBvcnQgY29uc3QgdG9Mb3dlckZpcnN0TGV0dGVyID0gKHRleHQ6IHN0cmluZykgPT5cbiAgdHlwZW9mIHRleHQgPT09ICdzdHJpbmcnICYmIHRleHQubGVuZ3RoID4gMFxuICAgID8gdGV4dC5yZXBsYWNlKHRleHRbMF0sIHRleHRbMF0udG9Mb2NhbGVMb3dlckNhc2UoKSlcbiAgICA6IHRleHQ7XG5cbmV4cG9ydCBjb25zdCBsb2FkRW52ID0gKGVudlRleHQ6IHN0cmluZyk6IEFycmF5PFtzdHJpbmcsIHN0cmluZ10+ID0+IHtcbiAgaWYgKCFlbnZUZXh0KSByZXR1cm4gW107XG4gIHJldHVybiBlbnZUZXh0XG4gICAgLnNwbGl0KCdcXG4nKVxuICAgIC5maWx0ZXIocyA9PiAhIXMudHJpbSgpKVxuICAgIC5tYXAocyA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IHMudHJpbSgpLmluY2x1ZGVzKCc9JylcbiAgICAgICAgPyBzLnRyaW0oKS5pbmRleE9mKCc9JylcbiAgICAgICAgOiBzLnRyaW0oKS5sZW5ndGg7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBzLnRyaW0oKS5zbGljZSgwLCBpbmRleCkudHJpbSgpLFxuICAgICAgICBzXG4gICAgICAgICAgLnRyaW0oKVxuICAgICAgICAgIC5zbGljZShpbmRleCArIDEpXG4gICAgICAgICAgLnRyaW0oKSxcbiAgICAgIF07XG4gICAgfSk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyRW1wdHlWYWx1ZTxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KFxuICBvYmo6IFQsXG4pOiBQYXJ0aWFsPFQ+IHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iaikucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICBhY2Nba2V5IGFzIGtleW9mIFRdID0gdmFsdWUgYXMgVFtrZXlvZiBUXTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30gYXMgUGFydGlhbDxUPik7XG59XG5cbmNvbnN0IElNQUdFX1RZUEVfTUFQUEVSOiBTdHJpbmdNYXAgPSB7XG4gICcvJzogJ2pwZycsXG4gIGk6ICdwbmcnLFxuICBQOiAnc3ZnK3htbCcsXG4gIFI6ICdnaWYnLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQmFzZTY0VHlwZShiYXNlNjRTdHI6IHN0cmluZykge1xuICBjb25zdCBmaXJzdENoYXIgPSBiYXNlNjRTdHIuY2hhckF0KDApO1xuICByZXR1cm4gSU1BR0VfVFlQRV9NQVBQRVJbZmlyc3RDaGFyXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZEltYWdlSGVhZGVyKHZhbHVlOiBzdHJpbmcsIHByZWZpeD86IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghdmFsdWUgfHwgdmFsdWUuc3RhcnRzV2l0aCgnZGF0YTppbWFnZS8nKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICBjb25zdCBoZWFkZXIgPVxuICAgIHByZWZpeCB8fCBgZGF0YTppbWFnZS8ke3BhcnNlQmFzZTY0VHlwZSh2YWx1ZSkgfHwgJ2pwZyd9O2Jhc2U2NCxgO1xuICByZXR1cm4gYCR7aGVhZGVyfSR7dmFsdWV9YDtcbn1cblxuZXhwb3J0IGNvbnN0IGdldFJlbGF0aXZlUGF0aCA9IChmcm9tOiBzdHJpbmcsIHRvOiBzdHJpbmcpID0+IHtcbiAgaWYgKHRvID09PSBudWxsIHx8IHRvID09PSB1bmRlZmluZWQgfHwgIWZyb20pIHtcbiAgICByZXR1cm4gdG87XG4gIH1cbiAgY29uc3QgZnJvbVBhcnRzID0gKGZyb20gPz8gJycpLnNwbGl0KCcvJykuZmlsdGVyKHAgPT4gcCAhPT0gJycpO1xuICBjb25zdCB0b1BhcnRzID0gKHRvID8/ICcnKS5zcGxpdCgnLycpLmZpbHRlcihwID0+IHAgIT09ICcnKTtcblxuICBsZXQgcmVsYXRpdmVQYXRoID0gJyc7XG4gIHdoaWxlIChcbiAgICBmcm9tUGFydHMubGVuZ3RoID4gMCAmJlxuICAgIHRvUGFydHMubGVuZ3RoID4gMCAmJlxuICAgIGZyb21QYXJ0c1swXSA9PT0gdG9QYXJ0c1swXVxuICApIHtcbiAgICBmcm9tUGFydHMuc2hpZnQoKTtcbiAgICB0b1BhcnRzLnNoaWZ0KCk7XG4gIH1cblxuICByZWxhdGl2ZVBhdGggPSAnLi4vJy5yZXBlYXQoZnJvbVBhcnRzLmxlbmd0aCk7XG5cbiAgcmVsYXRpdmVQYXRoICs9IHRvUGFydHMuam9pbignLycpO1xuXG4gIHJldHVybiByZWxhdGl2ZVBhdGg7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VG9QYXRoID0gKGZyb206IHN0cmluZywgcmVsYXRpdmU6IHN0cmluZykgPT4ge1xuICBpZiAocmVsYXRpdmUgPT09IG51bGwgfHwgcmVsYXRpdmUgPT09IHVuZGVmaW5lZCB8fCAhZnJvbSkge1xuICAgIHJldHVybiByZWxhdGl2ZTtcbiAgfVxuXG4gIGNvbnN0IGZyb21QYXJ0cyA9IGZyb20uc3BsaXQoJy8nKS5maWx0ZXIocCA9PiBwICE9PSAnJyk7XG4gIGNvbnN0IHJlbGF0aXZlUGFydHMgPSByZWxhdGl2ZS5zcGxpdCgnLycpLmZpbHRlcihwID0+IHAgIT09ICcnKTtcblxuICBjb25zdCBkb3REb3RDb3VudCA9ICtyZWxhdGl2ZVBhcnRzLmZpbHRlcihwID0+IHAgPT09ICcuLicpPy5sZW5ndGg7XG5cbiAgY29uc3QgcyA9IGZyb21QYXJ0cy5zcGxpY2UoMCwgZnJvbVBhcnRzLmxlbmd0aCAtIGRvdERvdENvdW50KTtcblxuICByZXR1cm4gcy5jb25jYXQocmVsYXRpdmVQYXJ0cy5zcGxpY2UoZG90RG90Q291bnQpKS5qb2luKCcvJyk7XG59O1xuXG5leHBvcnQgY29uc3QgdHJhY2tCeU5hbWUgPSA8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gIF86IG51bWJlcixcbiAgcmVzb3VyY2U6IFQsXG4pID0+IHJlc291cmNlLm1ldGFkYXRhLm5hbWU7XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWJsZVNvcnQ8VD4oXG4gIGxpc3Q6IFRbXSxcbiAgc29ydDogU29ydCxcbiAgc29ydEFjdGl2ZVZhbHVlRm46IChpdGVtOiBULCBuYW1lOiBzdHJpbmcpID0+IHN0cmluZyB8IG51bWJlcixcbik6IFRbXSB7XG4gIHJldHVybiBsaXN0LnNsaWNlKCkuc29ydCgoYSwgYikgPT4ge1xuICAgIGNvbnN0IGtleSA9IHNvcnQuYWN0aXZlO1xuICAgIGNvbnN0IGtleUEgPSBzb3J0QWN0aXZlVmFsdWVGbihhLCBrZXkpO1xuICAgIGNvbnN0IGtleUIgPSBzb3J0QWN0aXZlVmFsdWVGbihiLCBrZXkpO1xuICAgIGlmIChrZXlBID09PSBrZXlCKSByZXR1cm4gMDtcbiAgICByZXR1cm4gc29ydC5kaXJlY3Rpb24gPT09ICdhc2MnXG4gICAgICA/IGtleUEgPiBrZXlCXG4gICAgICAgID8gMVxuICAgICAgICA6IC0xXG4gICAgICA6IGtleUIgPiBrZXlBXG4gICAgICA/IDFcbiAgICAgIDogLTE7XG4gIH0pO1xufVxuXG4vLyDmlK/mjIHkuK3mlofmjpLluo/vvIzmjqjojZDkvb/nlKhcbmV4cG9ydCBmdW5jdGlvbiB0YWJsZVNvcnRBZHZhbmNlPFQ+KFxuICBsaXN0OiBUW10sXG4gIHNvcnQ6IFNvcnQsXG4gIHNvcnRBY3RpdmVWYWx1ZUZuOiAoaXRlbTogVCwgbmFtZTogc3RyaW5nKSA9PiBzdHJpbmcgfCBudW1iZXIsXG4pOiBUW10ge1xuICByZXR1cm4gbGlzdC5zbGljZSgpLnNvcnQoKGEsIGIpID0+IHtcbiAgICBjb25zdCBrZXkgPSBzb3J0LmFjdGl2ZTtcbiAgICBjb25zdCBrZXlBID0gc29ydEFjdGl2ZVZhbHVlRm4oYSwga2V5KS50b1N0cmluZygpO1xuICAgIGNvbnN0IGtleUIgPSBzb3J0QWN0aXZlVmFsdWVGbihiLCBrZXkpLnRvU3RyaW5nKCk7XG4gICAgaWYgKGtleUEgPT09IGtleUIpIHJldHVybiAwO1xuICAgIHJldHVybiBzb3J0LmRpcmVjdGlvbiA9PT0gJ2FzYydcbiAgICAgID8ga2V5QS5sb2NhbGVDb21wYXJlKGtleUIpXG4gICAgICA6IGtleUIubG9jYWxlQ29tcGFyZShrZXlBKTtcbiAgfSk7XG59XG5cbi8vIOagueaNriB0YWdPckRpZ2VzdCDnlJ/miJDplZzlg4/lnLDlnYBcbmV4cG9ydCBjb25zdCBidWlsZEltYWdlQWRkcmVzcyA9ICh1cmw6IHN0cmluZywgdGFnT3JEaWdlc3Q6IHN0cmluZykgPT4ge1xuICByZXR1cm4gYCR7dXJsfSR7dGFnT3JEaWdlc3Quc3RhcnRzV2l0aCgnc2hhMjU2OicpID8gJ0AnIDogJzonfSR7dGFnT3JEaWdlc3R9YDtcbn07XG5cbi8vIOino+aekOmVnOWDj+WcsOWdgFxuZXhwb3J0IGNvbnN0IHBhcnNlSW1hZ2VBZGRyZXNzID0gKGFkZHI6IHN0cmluZykgPT4ge1xuICBjb25zdCByZXN1bHQ6IHtcbiAgICBkaWdlc3Q/OiBzdHJpbmc7XG4gICAgdGFnPzogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xuICB9ID0ge1xuICAgIHVybDogJycsXG4gIH07XG5cbiAgY29uc3QgW3VybFBhcnQsIGRpZ2VzdFBhcnRdID0gYWRkci5zcGxpdCgnQHNoYTI1NicpO1xuICBpZiAoZGlnZXN0UGFydCkge1xuICAgIHJlc3VsdC5kaWdlc3QgPSBgc2hhMjU2JHtkaWdlc3RQYXJ0fWA7XG4gIH1cblxuICBjb25zdCB0YWdJbmRleCA9IHVybFBhcnQubGFzdEluZGV4T2YoJzonKTtcbiAgaWYgKHRhZ0luZGV4ID4gMCAmJiB0YWdJbmRleCA+IHVybFBhcnQubGFzdEluZGV4T2YoJy8nKSkge1xuICAgIHJlc3VsdC50YWcgPSB1cmxQYXJ0LnNsaWNlKHRhZ0luZGV4ICsgMSk7XG4gICAgcmVzdWx0LnVybCA9IHVybFBhcnQuc2xpY2UoMCwgdGFnSW5kZXgpO1xuICB9IGVsc2Uge1xuICAgIHJlc3VsdC51cmwgPSB1cmxQYXJ0O1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmNvbnN0IGFsbG93ZWRBcGlzID0gW1xuICAnaGFzU2VsZWN0aW9uJyxcbiAgJ2dldFNlbGVjdGlvbicsXG4gICdnZXRTZWxlY3Rpb25Qb3NpdGlvbicsXG4gICdjbGVhclNlbGVjdGlvbicsXG4gICdzZWxlY3QnLFxuICAnc2VsZWN0QWxsJyxcbiAgJ3NlbGVjdExpbmVzJyxcbl0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBzZXRXaW5kb3dzWHRlcm1Ub29scyA9ICh4dGVybTogVGVybWluYWwpID0+IHtcbiAgKHdpbmRvdyBhcyBhbnkpLl9fWFRFUk1fVE9PTFNfXyA9IG1hcFZhbHVlcyhcbiAgICBwaWNrKHh0ZXJtLCBhbGxvd2VkQXBpcyksXG4gICAgKGZ1bjogVmFsdWVPZjxQaWNrPFRlcm1pbmFsLCBWYWx1ZU9mPHR5cGVvZiBhbGxvd2VkQXBpcz4+PikgPT5cbiAgICAgIGZ1bi5iaW5kKHh0ZXJtKSxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjbGVhcldpbmRvd3NYdGVybVRvb2xzID0gKCkgPT4ge1xuICBkZWxldGUgKHdpbmRvdyBhcyBhbnkpLl9fWFRFUk1fVE9PTFNfXztcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXJhbUZyb21QYXJlbnQoXG4gIGtleTogc3RyaW5nLFxuICBzbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbik6IHN0cmluZyB7XG4gIGNvbnN0IHZhbHVlID0gc25hcHNob3QucGFyYW1NYXAuZ2V0KGtleSk7XG4gIGlmICh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICBpZiAoc25hcHNob3QucGFyZW50KSB7XG4gICAgcmV0dXJuIGdldFBhcmFtRnJvbVBhcmVudChrZXksIHNuYXBzaG90LnBhcmVudCk7XG4gIH1cbiAgcmV0dXJuICcnO1xufVxuIl19
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdXRpbHMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUdILE9BQU8sRUFDTCxJQUFJO0FBQ0osaURBQWlEO0FBQ2pELE9BQU8sSUFBSSxRQUFRLEVBQ25CLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxXQUFXLENBQUM7QUFJbkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBVWpELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVksRUFBRSxFQUFFO0lBQ3ZDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsT0FBTyxHQUFHO1NBQ1AsY0FBYyxDQUFDLFVBQVUsRUFBRTtRQUMxQixxQkFBcUIsRUFBRSxDQUFDO1FBQ3hCLFdBQVcsRUFBRSxLQUFLO0tBQ25CLENBQUM7U0FDRCxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQXFCLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxFQUFFO0lBQzVELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUM3QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFDRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFD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QztJQUVELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxJQUFJLFFBQVEsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDeEQsTUFBTSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUM7SUFDdkIsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFHO0lBQ2xCLGNBQWM7SUFDZCxjQUFjO0lBQ2Qsc0JBQXNCO0lBQ3RCLGdCQUFnQjtJQUNoQixRQUFRO0lBQ1IsV0FBVztJQUNYLGFBQWE7Q0FDTCxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtJQUNyRCxNQUFjLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FDekMsSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsRUFDeEIsQ0FBQyxHQUF5RCxFQUFFLEVBQUUsQ0FDNUQsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FDbEIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsRUFBRTtJQUN6QyxPQUFRLE1BQWMsQ0FBQyxlQUFlLENBQUM7QUFDekMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdXRpbHNcbiAqL1xuXG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBsYXN0LFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1pbXBvcnRzXG4gIGlzRXF1YWwgYXMgX2lzRXF1YWwsXG4gIHBpY2ssXG4gIG1hcFZhbHVlcyxcbn0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFVuaW9uVG9JbnRlcnNlY3Rpb24sIFZhbHVlT2YgfSBmcm9tICd0cy1lc3NlbnRpYWxzJztcbmltcG9ydCB7IFRlcm1pbmFsIH0gZnJvbSAneHRlcm0nO1xuXG5pbXBvcnQgeyBCcmFja2V0IH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBDYWxsYmFjayxcbiAgS2V5cyxcbiAgS3ViZXJuZXRlc1Jlc291cmNlLFxuICBOdWxsYWJsZSxcbiAgUmVhZG9ubHlhYmxlLFxuICBTdHJpbmdNYXAsXG59IGZyb20gJy4uL3R5cGVzL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgY29uc3QgbnVtVG9TdHIgPSAobnVtPzogbnVtYmVyKSA9PiB7XG4gIGlmIChudW0gPT09IDApIHtcbiAgICByZXR1cm4gJzAnO1xuICB9XG5cbiAgaWYgKCFudW0pIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gbnVtXG4gICAgLnRvTG9jYWxlU3RyaW5nKCdmdWxsd2lkZScsIHtcbiAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMyxcbiAgICAgIHVzZUdyb3VwaW5nOiBmYWxzZSxcbiAgICB9KVxuICAgIC5yZXBsYWNlKC8oW14uXSlcXC4/MCskLywgJyQxJyk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvcnROdW0gPSAobnVtPzogbnVtYmVyIHwgc3RyaW5nLCBkaWdpdHMgPSAyKSA9PiB7XG4gIGlmICh0eXBlb2YgbnVtID09PSAnc3RyaW5nJykge1xuICAgIG51bSA9IG51bS50cmltKCk7XG4gIH1cbiAgaWYgKG51bSA9PT0gMCB8fCBudW0gPT09ICcwJykge1xuICAgIHJldHVybiAnMCc7XG4gIH1cbiAgaWYgKCFudW0pIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgcmV0dXJuIG51bVRvU3RyKCsoK251bSkudG9GaXhlZChkaWdpdHMpIHx8IE1hdGgucG93KDEwLCAtZGlnaXRzKSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNCbGFuayA9IChzdHI/OiB1bmtub3duKSA9PlxuICBzdHIgPT0gbnVsbCB8fCBOdW1iZXIuaXNOYU4oc3RyIGFzIG51bWJlcikgfHwgIXN0ci50b1N0cmluZygpLnRyaW0oKTtcblxuZXhwb3J0IGNvbnN0IGdldEJhc2VIcmVmID0gKCkgPT4ge1xuICAvLyBUaGUgbGFzdCBiYXNlIGVsZW1lbnQgaGFzIGhpZ2hlc3QgcHJpdmlsZWdlXG4gIGNvbnN0IGJhc2UgPSBsYXN0KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2Jhc2UnKSk7XG4gIC8vIHVzZSBgZ2V0QXR0cmlidXRlYCBpbnN0ZWFkIG9mIGBiYXNlLmhyZWZgIGJlY2F1c2UgdGhlIGF0dHJpYnV0ZSBjb3VsZCBiZSB2b2lkIGJ1dCByZXN1bHRzIGN1cnJlbnQgd2hvbGUgbG9jYXRpb24gdXJsXG4gIHJldHVybiBiYXNlPy5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSB8fCAnLyc7XG59O1xuXG5leHBvcnQgY29uc3QgaWZFeGlzdCA9IDxUPihcbiAgdG9DaGVjazogYm9vbGVhbiB8IE51bGxhYmxlPFQ+LFxuICB0cnV0aHlWYWx1ZTogVCxcbiAgZmFsbGJhY2s/OiBULFxuKSA9PiAodG9DaGVjayA/IHRydXRoeVZhbHVlIDogKChmYWxsYmFjayB8fCAnJykgYXMgVCkpO1xuXG5leHBvcnQgY29uc3QgaXNBYnNvbHV0ZVVybCA9ICh1cmw6IHN0cmluZykgPT4gL14oaHR0cHM/OlxcLyk/XFwvLy50ZXN0KHVybCk7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbmV4cG9ydCBjb25zdCBub29wOiBDYWxsYmFjayA9ICgpID0+IHt9O1xuXG5leHBvcnQgY29uc3QgdG9LZXlzID0gPFQgZXh0ZW5kcyBvYmplY3Q+KHNvdXJjZTogVCk6IEtleXM8VD4gPT5cbiAgT2JqZWN0LmtleXMoc291cmNlKS5yZWR1Y2UoKGFjYywgaykgPT4ge1xuICAgIGNvbnN0IGtleSA9IGsgYXMga2V5b2YgVDtcbiAgICBhY2Nba2V5XSA9IGtleTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBLZXlzPFQ+KTtcblxuZXhwb3J0IGNvbnN0IHdyYXBUZXh0ID0gKFxuICB0ZXh0Pzogc3RyaW5nLFxuICB3cmFwcGVyOiBSZWFkb25seWFibGU8W3N0cmluZywgc3RyaW5nXT4gPSBCcmFja2V0LlBBUkVOVEhFU0VTLFxuICBmYWxsYmFjaz86IHN0cmluZyxcbikgPT4gKHRleHQgPyB3cmFwcGVyLmpvaW4odGV4dCkgOiBmYWxsYmFjayB8fCAnJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUpTT05TdHJlYW08VD4odGV4dDogc3RyaW5nKTogVFtdIHtcbiAgcmV0dXJuIHRleHRcbiAgICAuc3BsaXQoJ1xcbicpXG4gICAgLm1hcCh2ID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKHYpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH0pXG4gICAgLmZpbHRlcih2ID0+ICEhdik7XG59XG5cbmV4cG9ydCBjb25zdCB0cmFja0J5VWlkID0gPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICBfOiBudW1iZXIsXG4gIHJlc291cmNlOiBULFxuKSA9PiByZXNvdXJjZS5tZXRhZGF0YS51aWQ7XG5cbmV4cG9ydCBjb25zdCBpc0s4c1Jlc291cmNlID0gPFxuICBUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlID0gS3ViZXJuZXRlc1Jlc291cmNlLFxuPihcbiAgdmFsdWU6IG9iamVjdCxcbik6IHZhbHVlIGlzIFQgPT5cbiAgdmFsdWUgJiZcbiAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAnYXBpVmVyc2lvbicgaW4gdmFsdWUgJiZcbiAgdHlwZW9mIHZhbHVlLmFwaVZlcnNpb24gPT09ICdzdHJpbmcnICYmXG4gICdraW5kJyBpbiB2YWx1ZSAmJlxuICB0eXBlb2YgdmFsdWUua2luZCA9PT0gJ3N0cmluZycgJiZcbiAgJ21ldGFkYXRhJyBpbiB2YWx1ZSAmJlxuICB2YWx1ZS5tZXRhZGF0YSAmJlxuICB0eXBlb2YgdmFsdWUubWV0YWRhdGEgPT09ICdvYmplY3QnO1xuXG5leHBvcnQgY29uc3QgYXJyYXlpZnkgPSA8XG4gIFQsXG4gIFIgPSBUIGV4dGVuZHMgQXJyYXk8aW5mZXIgUz4gPyBOb25OdWxsYWJsZTxTPiA6IE5vbk51bGxhYmxlPFQ+LFxuPihcbiAgLi4uYXJnczogQXJyYXk8UiB8IFJbXT5cbikgPT5cbiAgYXJncy5yZWR1Y2U8UltdPigoYXJyLCBjdXJyKSA9PiB7XG4gICAgYXJyLnB1c2goLi4uKEFycmF5LmlzQXJyYXkoY3VycikgPyBjdXJyIDogY3VyciA9PSBudWxsID8gW10gOiBbY3Vycl0pKTtcbiAgICByZXR1cm4gYXJyO1xuICB9LCBbXSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBzbGVlcChtcyA9IDApIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpO1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IGRlbGF5ID0gc2xlZXA7XG5cbmV4cG9ydCBmdW5jdGlvbiBzY3JvbGxJbnRvVmlldyhjb250YWluZXI6IEhUTUxFbGVtZW50LCBzZWxlY3RlZDogSFRNTEVsZW1lbnQpIHtcbiAgaWYgKCFzZWxlY3RlZCkge1xuICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSAwO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHRvcCA9IHNlbGVjdGVkLm9mZnNldFRvcDtcbiAgY29uc3QgYm90dG9tID0gc2VsZWN0ZWQub2Zmc2V0VG9wICsgc2VsZWN0ZWQub2Zmc2V0SGVpZ2h0O1xuICBjb25zdCB2aWV3UmVjdFRvcCA9IGNvbnRhaW5lci5zY3JvbGxUb3A7XG4gIGNvbnN0IHZpZXdSZWN0Qm90dG9tID0gdmlld1JlY3RUb3AgKyBjb250YWluZXIuY2xpZW50SGVpZ2h0O1xuXG4gIGlmICh2aWV3UmVjdFRvcCA+IHRvcCkge1xuICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSB0b3A7XG4gIH0gZWxzZSBpZiAodmlld1JlY3RCb3R0b20gPCBib3R0b20pIHtcbiAgICBjb250YWluZXIuc2Nyb2xsVG9wID0gYm90dG9tIC0gY29udGFpbmVyLmNsaWVudEhlaWdodDtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgaXNFcXVhbDogPFQsIFYgPSBUPihhOiBULCBiOiBWKSA9PiBib29sZWFuID0gX2lzRXF1YWw7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUpzb24gPSA8VD4oc3RyOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCA9IG51bGwpID0+IHtcbiAgaWYgKHN0ciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgfVxuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHN0cik7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0pzb25PYmplY3RTdHJpbmcoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHN0cik7XG4gICAgcmV0dXJuIHR5cGVvZiBwYXJzZWQgPT09ICdvYmplY3QnICYmIHBhcnNlZCAhPT0gbnVsbDtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBwYXJzZVZhbGlkSW1hZ2VOYW1lID0gKGltYWdlOiBzdHJpbmcpID0+XG4gIGltYWdlPy5yZXBsYWNlKC8oW146XSlcXC9cXC8vZywgJyQxLycpIHx8IGltYWdlO1xuXG5leHBvcnQgY29uc3QgYXRvYldpdGhGYWxsYmFjayA9IChzdHI6IHN0cmluZywgZmFsbGJhY2tWYWx1ZTogc3RyaW5nID0gbnVsbCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiB3aW5kb3cuYXRvYihzdHIpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsbGJhY2tWYWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGludGVyZmFjZSBTYWZlQXNzaWduT3B0aW9ucyB7XG4gIG5vdGljZTogKGR1cGxpY2F0ZXM6IHN0cmluZ1tdKSA9PiBhbnk7XG59XG4vKipcbiAqIOW4pumHjeWkjeajgOafpeeahGFzc2lnbu+8jOWPquWBmuS4gOe6p2tleeeahOmHjeWkjeajgOafpVxuICog5aaC5p6c5pyJ6YeN5aSN6aG56buY6K6k5LyadGhyb3cgZXJyb3LvvIzlpoLmnpzkvaDmmI7noa7ov5nkuI3mmK/kuIDkuKrlhbPplK7mgKfplJnor6/vvIzliJnlj6/ku6XpgJrov4fmjIflrppub3RpY2Xlh73mlbDkv67mlLnor6Xpu5jorqTooYzkuLpcbiAqIEBwYXJhbSBzb3VyY2VzXG4gKiBAcGFyYW0gb3B0aW9uc09yTm90aWNlXG4gKiBAcmV0dXJuIG9iamVjdCDkuIDkuKrlhajmlrDnmoTlr7nosaFcbiAqL1xuZXhwb3J0IGNvbnN0IHNhZmVBc3NpZ24gPSA8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+KFxuICBzb3VyY2VzOiBUW10sXG4gIG9wdGlvbnNPck5vdGljZT86IFNhZmVBc3NpZ25PcHRpb25zWydub3RpY2UnXSB8IFNhZmVBc3NpZ25PcHRpb25zLFxuKTogVW5pb25Ub0ludGVyc2VjdGlvbjxUPiA9PiB7XG4gIGlmIChzb3VyY2VzLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiBzb3VyY2VzWzBdIGFzIFVuaW9uVG9JbnRlcnNlY3Rpb248VD47XG4gIH1cblxuICBjb25zdCBvcHRpb246IFNhZmVBc3NpZ25PcHRpb25zID0ge1xuICAgIG5vdGljZTogKGR1cGxpY2F0ZXM6IHN0cmluZ1tdKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBUaGVyZSBhcmUgZHVwbGljYXRlIGRlZmluaXRpb25zOiAke2R1cGxpY2F0ZXMuam9pbignLCcpfWAsXG4gICAgICApO1xuICAgIH0sXG4gIH07XG4gIGlmICh0eXBlb2Ygb3B0aW9uc09yTm90aWNlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgb3B0aW9uLm5vdGljZSA9IG9wdGlvbnNPck5vdGljZTtcbiAgfVxuICBpZiAodHlwZW9mIG9wdGlvbnNPck5vdGljZSA9PT0gJ29iamVjdCcpIHtcbiAgICBPYmplY3QuYXNzaWduKG9wdGlvbiwgb3B0aW9uc09yTm90aWNlKTtcbiAgfVxuXG4gIGNvbnN0IGR1cGxpY2F0ZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgY29uc3QgYWxsS2V5ID0gbmV3IFNldChPYmplY3Qua2V5cyhzb3VyY2VzWzBdKSk7XG4gIHNvdXJjZXMuc2xpY2UoMSkuZm9yRWFjaChvYmogPT4ge1xuICAgIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKGFsbEtleS5oYXMoa2V5KSkge1xuICAgICAgICBkdXBsaWNhdGVzLmFkZChrZXkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWxsS2V5LmFkZChrZXkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbiAgaWYgKGR1cGxpY2F0ZXMuc2l6ZSkge1xuICAgIG9wdGlvbi5ub3RpY2UoWy4uLmR1cGxpY2F0ZXNdKTtcbiAgfVxuICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgLi4uc291cmNlcyk7XG59O1xuXG5leHBvcnQgY29uc3QgdG9Mb3dlckZpcnN0TGV0dGVyID0gKHRleHQ6IHN0cmluZykgPT5cbiAgdHlwZW9mIHRleHQgPT09ICdzdHJpbmcnICYmIHRleHQubGVuZ3RoID4gMFxuICAgID8gdGV4dC5yZXBsYWNlKHRleHRbMF0sIHRleHRbMF0udG9Mb2NhbGVMb3dlckNhc2UoKSlcbiAgICA6IHRleHQ7XG5cbmV4cG9ydCBjb25zdCBsb2FkRW52ID0gKGVudlRleHQ6IHN0cmluZyk6IEFycmF5PFtzdHJpbmcsIHN0cmluZ10+ID0+IHtcbiAgaWYgKCFlbnZUZXh0KSByZXR1cm4gW107XG4gIHJldHVybiBlbnZUZXh0XG4gICAgLnNwbGl0KCdcXG4nKVxuICAgIC5maWx0ZXIocyA9PiAhIXMudHJpbSgpKVxuICAgIC5tYXAocyA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IHMudHJpbSgpLmluY2x1ZGVzKCc9JylcbiAgICAgICAgPyBzLnRyaW0oKS5pbmRleE9mKCc9JylcbiAgICAgICAgOiBzLnRyaW0oKS5sZW5ndGg7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBzLnRyaW0oKS5zbGljZSgwLCBpbmRleCkudHJpbSgpLFxuICAgICAgICBzXG4gICAgICAgICAgLnRyaW0oKVxuICAgICAgICAgIC5zbGljZShpbmRleCArIDEpXG4gICAgICAgICAgLnRyaW0oKSxcbiAgICAgIF07XG4gICAgfSk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyRW1wdHlWYWx1ZTxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KFxuICBvYmo6IFQsXG4pOiBQYXJ0aWFsPFQ+IHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iaikucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICBhY2Nba2V5IGFzIGtleW9mIFRdID0gdmFsdWUgYXMgVFtrZXlvZiBUXTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30gYXMgUGFydGlhbDxUPik7XG59XG5cbmNvbnN0IElNQUdFX1RZUEVfTUFQUEVSOiBTdHJpbmdNYXAgPSB7XG4gICcvJzogJ2pwZycsXG4gIGk6ICdwbmcnLFxuICBQOiAnc3ZnK3htbCcsXG4gIFI6ICdnaWYnLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQmFzZTY0VHlwZShiYXNlNjRTdHI6IHN0cmluZykge1xuICBjb25zdCBmaXJzdENoYXIgPSBiYXNlNjRTdHIuY2hhckF0KDApO1xuICByZXR1cm4gSU1BR0VfVFlQRV9NQVBQRVJbZmlyc3RDaGFyXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZEltYWdlSGVhZGVyKHZhbHVlOiBzdHJpbmcsIHByZWZpeD86IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghdmFsdWUgfHwgdmFsdWUuc3RhcnRzV2l0aCgnZGF0YTppbWFnZS8nKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICBjb25zdCBoZWFkZXIgPVxuICAgIHByZWZpeCB8fCBgZGF0YTppbWFnZS8ke3BhcnNlQmFzZTY0VHlwZSh2YWx1ZSkgfHwgJ2pwZyd9O2Jhc2U2NCxgO1xuICByZXR1cm4gYCR7aGVhZGVyfSR7dmFsdWV9YDtcbn1cblxuZXhwb3J0IGNvbnN0IGdldFJlbGF0aXZlUGF0aCA9IChmcm9tOiBzdHJpbmcsIHRvOiBzdHJpbmcpID0+IHtcbiAgaWYgKHRvID09PSBudWxsIHx8IHRvID09PSB1bmRlZmluZWQgfHwgIWZyb20pIHtcbiAgICByZXR1cm4gdG87XG4gIH1cbiAgY29uc3QgZnJvbVBhcnRzID0gKGZyb20gPz8gJycpLnNwbGl0KCcvJykuZmlsdGVyKHAgPT4gcCAhPT0gJycpO1xuICBjb25zdCB0b1BhcnRzID0gKHRvID8/ICcnKS5zcGxpdCgnLycpLmZpbHRlcihwID0+IHAgIT09ICcnKTtcblxuICBsZXQgcmVsYXRpdmVQYXRoID0gJyc7XG4gIHdoaWxlIChcbiAgICBmcm9tUGFydHMubGVuZ3RoID4gMCAmJlxuICAgIHRvUGFydHMubGVuZ3RoID4gMCAmJlxuICAgIGZyb21QYXJ0c1swXSA9PT0gdG9QYXJ0c1swXVxuICApIHtcbiAgICBmcm9tUGFydHMuc2hpZnQoKTtcbiAgICB0b1BhcnRzLnNoaWZ0KCk7XG4gIH1cblxuICByZWxhdGl2ZVBhdGggPSAnLi4vJy5yZXBlYXQoZnJvbVBhcnRzLmxlbmd0aCk7XG5cbiAgcmVsYXRpdmVQYXRoICs9IHRvUGFydHMuam9pbignLycpO1xuXG4gIHJldHVybiByZWxhdGl2ZVBhdGg7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VG9QYXRoID0gKGZyb206IHN0cmluZywgcmVsYXRpdmU6IHN0cmluZykgPT4ge1xuICBpZiAocmVsYXRpdmUgPT09IG51bGwgfHwgcmVsYXRpdmUgPT09IHVuZGVmaW5lZCB8fCAhZnJvbSkge1xuICAgIHJldHVybiByZWxhdGl2ZTtcbiAgfVxuXG4gIGNvbnN0IGZyb21QYXJ0cyA9IGZyb20uc3BsaXQoJy8nKS5maWx0ZXIocCA9PiBwICE9PSAnJyk7XG4gIGNvbnN0IHJlbGF0aXZlUGFydHMgPSByZWxhdGl2ZS5zcGxpdCgnLycpLmZpbHRlcihwID0+IHAgIT09ICcnKTtcblxuICBjb25zdCBkb3REb3RDb3VudCA9ICtyZWxhdGl2ZVBhcnRzLmZpbHRlcihwID0+IHAgPT09ICcuLicpPy5sZW5ndGg7XG5cbiAgY29uc3QgcyA9IGZyb21QYXJ0cy5zcGxpY2UoMCwgZnJvbVBhcnRzLmxlbmd0aCAtIGRvdERvdENvdW50KTtcblxuICByZXR1cm4gcy5jb25jYXQocmVsYXRpdmVQYXJ0cy5zcGxpY2UoZG90RG90Q291bnQpKS5qb2luKCcvJyk7XG59O1xuXG5leHBvcnQgY29uc3QgdHJhY2tCeU5hbWUgPSA8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gIF86IG51bWJlcixcbiAgcmVzb3VyY2U6IFQsXG4pID0+IHJlc291cmNlLm1ldGFkYXRhLm5hbWU7XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWJsZVNvcnQ8VD4oXG4gIGxpc3Q6IFRbXSxcbiAgc29ydDogU29ydCxcbiAgc29ydEFjdGl2ZVZhbHVlRm46IChpdGVtOiBULCBuYW1lOiBzdHJpbmcpID0+IHN0cmluZyB8IG51bWJlcixcbik6IFRbXSB7XG4gIHJldHVybiBsaXN0LnNsaWNlKCkuc29ydCgoYSwgYikgPT4ge1xuICAgIGNvbnN0IGtleSA9IHNvcnQuYWN0aXZlO1xuICAgIGNvbnN0IGtleUEgPSBzb3J0QWN0aXZlVmFsdWVGbihhLCBrZXkpO1xuICAgIGNvbnN0IGtleUIgPSBzb3J0QWN0aXZlVmFsdWVGbihiLCBrZXkpO1xuICAgIGlmIChrZXlBID09PSBrZXlCKSByZXR1cm4gMDtcbiAgICByZXR1cm4gc29ydC5kaXJlY3Rpb24gPT09ICdhc2MnXG4gICAgICA/IGtleUEgPiBrZXlCXG4gICAgICAgID8gMVxuICAgICAgICA6IC0xXG4gICAgICA6IGtleUIgPiBrZXlBXG4gICAgICAgID8gMVxuICAgICAgICA6IC0xO1xuICB9KTtcbn1cblxuLy8g5pSv5oyB5Lit5paH5o6S5bqP77yM5o6o6I2Q5L2/55SoXG5leHBvcnQgZnVuY3Rpb24gdGFibGVTb3J0QWR2YW5jZTxUPihcbiAgbGlzdDogVFtdLFxuICBzb3J0OiBTb3J0LFxuICBzb3J0QWN0aXZlVmFsdWVGbjogKGl0ZW06IFQsIG5hbWU6IHN0cmluZykgPT4gc3RyaW5nIHwgbnVtYmVyLFxuKTogVFtdIHtcbiAgcmV0dXJuIGxpc3Quc2xpY2UoKS5zb3J0KChhLCBiKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gc29ydC5hY3RpdmU7XG4gICAgY29uc3Qga2V5QSA9IHNvcnRBY3RpdmVWYWx1ZUZuKGEsIGtleSkudG9TdHJpbmcoKTtcbiAgICBjb25zdCBrZXlCID0gc29ydEFjdGl2ZVZhbHVlRm4oYiwga2V5KS50b1N0cmluZygpO1xuICAgIGlmIChrZXlBID09PSBrZXlCKSByZXR1cm4gMDtcbiAgICByZXR1cm4gc29ydC5kaXJlY3Rpb24gPT09ICdhc2MnXG4gICAgICA/IGtleUEubG9jYWxlQ29tcGFyZShrZXlCKVxuICAgICAgOiBrZXlCLmxvY2FsZUNvbXBhcmUoa2V5QSk7XG4gIH0pO1xufVxuXG4vLyDmoLnmja4gdGFnT3JEaWdlc3Qg55Sf5oiQ6ZWc5YOP5Zyw5Z2AXG5leHBvcnQgY29uc3QgYnVpbGRJbWFnZUFkZHJlc3MgPSAodXJsOiBzdHJpbmcsIHRhZ09yRGlnZXN0OiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIGAke3VybH0ke3RhZ09yRGlnZXN0LnN0YXJ0c1dpdGgoJ3NoYTI1NjonKSA/ICdAJyA6ICc6J30ke3RhZ09yRGlnZXN0fWA7XG59O1xuXG4vLyDop6PmnpDplZzlg4/lnLDlnYBcbmV4cG9ydCBjb25zdCBwYXJzZUltYWdlQWRkcmVzcyA9IChhZGRyOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcmVzdWx0OiB7XG4gICAgZGlnZXN0Pzogc3RyaW5nO1xuICAgIHRhZz86IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgfSA9IHtcbiAgICB1cmw6ICcnLFxuICB9O1xuXG4gIGNvbnN0IFt1cmxQYXJ0LCBkaWdlc3RQYXJ0XSA9IGFkZHIuc3BsaXQoJ0BzaGEyNTYnKTtcbiAgaWYgKGRpZ2VzdFBhcnQpIHtcbiAgICByZXN1bHQuZGlnZXN0ID0gYHNoYTI1NiR7ZGlnZXN0UGFydH1gO1xuICB9XG5cbiAgY29uc3QgdGFnSW5kZXggPSB1cmxQYXJ0Lmxhc3RJbmRleE9mKCc6Jyk7XG4gIGlmICh0YWdJbmRleCA+IDAgJiYgdGFnSW5kZXggPiB1cmxQYXJ0Lmxhc3RJbmRleE9mKCcvJykpIHtcbiAgICByZXN1bHQudGFnID0gdXJsUGFydC5zbGljZSh0YWdJbmRleCArIDEpO1xuICAgIHJlc3VsdC51cmwgPSB1cmxQYXJ0LnNsaWNlKDAsIHRhZ0luZGV4KTtcbiAgfSBlbHNlIHtcbiAgICByZXN1bHQudXJsID0gdXJsUGFydDtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5jb25zdCBhbGxvd2VkQXBpcyA9IFtcbiAgJ2hhc1NlbGVjdGlvbicsXG4gICdnZXRTZWxlY3Rpb24nLFxuICAnZ2V0U2VsZWN0aW9uUG9zaXRpb24nLFxuICAnY2xlYXJTZWxlY3Rpb24nLFxuICAnc2VsZWN0JyxcbiAgJ3NlbGVjdEFsbCcsXG4gICdzZWxlY3RMaW5lcycsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3Qgc2V0V2luZG93c1h0ZXJtVG9vbHMgPSAoeHRlcm06IFRlcm1pbmFsKSA9PiB7XG4gICh3aW5kb3cgYXMgYW55KS5fX1hURVJNX1RPT0xTX18gPSBtYXBWYWx1ZXMoXG4gICAgcGljayh4dGVybSwgYWxsb3dlZEFwaXMpLFxuICAgIChmdW46IFZhbHVlT2Y8UGljazxUZXJtaW5hbCwgVmFsdWVPZjx0eXBlb2YgYWxsb3dlZEFwaXM+Pj4pID0+XG4gICAgICBmdW4uYmluZCh4dGVybSksXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJXaW5kb3dzWHRlcm1Ub29scyA9ICgpID0+IHtcbiAgZGVsZXRlICh3aW5kb3cgYXMgYW55KS5fX1hURVJNX1RPT0xTX187XG59O1xuIl19
@@ -54,4 +54,4 @@ export const createRecursiveFilter = (pickChildren = null, mergeChildren = null)
54
54
  return mergeChildren(item, filter(children, condition));
55
55
  });
56
56
  };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXJlY3Vyc2l2ZS1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS91dGlscy9jcmVhdGUtcmVjdXJzaXZlLWZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQ0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FDaEMsQ0FDRSxlQUFpQyxJQUFJLEVBQ3JDLGdCQUErQyxJQUFJLEVBQ25ELEVBQUUsQ0FDSixDQUFDLEtBQVUsRUFBRSxTQUErQixFQUFPLEVBQUU7SUFDbkQsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFFRCxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsYUFBYSxFQUFFO1FBQ25DLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUNoQztJQUVELE1BQU0sTUFBTSxHQUFHLHFCQUFxQixDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQztJQUVsRSxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDakQsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdEMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSB1dGlsc1xuICovXG5cbi8qKiBSZWN1cnNpdmUgZmlsdGVyIHdpdGhvdXQgcHJlc3VtZSBkYXRhIHN0cnVjdHVyZVxuICpcbiAqIEBleGFtcGxlIDEuIE5lc3RlZCBUcmVlXG4gKlxuICogYGBgXG4gKiBpbnRlcmZhY2UgTm9kZSB7XG4gKiAgIC4uLixcbiAqICAgY2hpbGRyZW46IE5vZGVbXVxuICogfVxuICpcbiAqIGNvbnN0IGZpbHRlciA9IGNyZWF0ZVJlY3Vyc2l2ZUZpbHRlcihcbiAqICAgKG5vZGU6IE5vZGUpID0+IG5vZGUuY2hpbGRyZW4sXG4gKiAgIChub2RlOiBOb2RlLCBjaGlsZHJlbjogTm9kZVtdKSA9PiAoeyAuLi5ub2RlLCBjaGlsZHJlbiB9KSxcbiAqICApO1xuICogYGBgXG4gKlxuICogQGV4YW1wbGUgMi4gTm9ybWFsaXplZCBUcmVlXG4gKlxuICogYGBgXG4gKiBpbnRlcmZhY2UgTm9kZSB7XG4gKiAgIGlkOiBzdHJpbmc7XG4gKiAgIGNoaWxkcmVuOiBzdHJpbmdbXTtcbiAqIH1cbiAqXG4gKiBpbnRlcmZhY2UgTm9kZUVudGl0aWVzIHtcbiAqICAgW2lkOiBzdHJpbmddOiBOb2RlO1xuICogfVxuICpcbiAqIGNvbnN0IG5vZGVzOiBOb2RlRW50aXRpZXM7XG4gKlxuICogY29uc3QgZmlsdGVyID0gY3JlYXRlUmVjdXJzaXZlRmlsdGVyKFxuICogICAobm9kZTogTm9kZSkgPT4gbm9kZS5jaGlsZHJlbi5tYXAoaWQgPT4gbm9kZXNbaWRdKSxcbiAqICAgKG5vZGU6IE5vZGUsIGNoaWxkcmVuOiBOb2RlW10pID0+ICh7IC4uLm5vZGUsIGNoaWxkcmVuOiBjaGlsZHJlbi5tYXAoY2hpbGQgPT4gY2hpbGQuaWQpIH0pLFxuICogKTtcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgY3JlYXRlUmVjdXJzaXZlRmlsdGVyID1cbiAgPFQ+KFxuICAgIHBpY2tDaGlsZHJlbjogKGl0ZW06IFQpID0+IFRbXSA9IG51bGwsXG4gICAgbWVyZ2VDaGlsZHJlbjogKGl0ZW06IFQsIGNoaWxkcmVuOiBUW10pID0+IFQgPSBudWxsLFxuICApID0+XG4gIChpdGVtczogVFtdLCBjb25kaXRpb246IChpdGVtOiBUKSA9PiBib29sZWFuKTogVFtdID0+IHtcbiAgICBpZiAoIWl0ZW1zKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgaWYgKCFwaWNrQ2hpbGRyZW4gfHwgIW1lcmdlQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiBpdGVtcy5maWx0ZXIoY29uZGl0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWx0ZXIgPSBjcmVhdGVSZWN1cnNpdmVGaWx0ZXIocGlja0NoaWxkcmVuLCBtZXJnZUNoaWxkcmVuKTtcblxuICAgIHJldHVybiAoaXRlbXM/LmZpbHRlcihjb25kaXRpb24pID8/IFtdKS5tYXAoaXRlbSA9PiB7XG4gICAgICBjb25zdCBjaGlsZHJlbiA9IHBpY2tDaGlsZHJlbihpdGVtKTtcblxuICAgICAgaWYgKCFjaGlsZHJlbiB8fCBjaGlsZHJlbi5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBtZXJnZUNoaWxkcmVuKGl0ZW0sIGZpbHRlcihjaGlsZHJlbiwgY29uZGl0aW9uKSk7XG4gICAgfSk7XG4gIH07XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXJlY3Vyc2l2ZS1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS91dGlscy9jcmVhdGUtcmVjdXJzaXZlLWZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQ0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FDaEMsQ0FDRSxlQUFpQyxJQUFJLEVBQ3JDLGdCQUErQyxJQUFJLEVBQ25ELEVBQUUsQ0FDSixDQUFDLEtBQVUsRUFBRSxTQUErQixFQUFPLEVBQUU7SUFDbkQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcscUJBQXFCLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRWxFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNqRCxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEMsSUFBSSxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE9BQU8sYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSB1dGlsc1xuICovXG5cbi8qKiBSZWN1cnNpdmUgZmlsdGVyIHdpdGhvdXQgcHJlc3VtZSBkYXRhIHN0cnVjdHVyZVxuICpcbiAqIEBleGFtcGxlIDEuIE5lc3RlZCBUcmVlXG4gKlxuICogYGBgXG4gKiBpbnRlcmZhY2UgTm9kZSB7XG4gKiAgIC4uLixcbiAqICAgY2hpbGRyZW46IE5vZGVbXVxuICogfVxuICpcbiAqIGNvbnN0IGZpbHRlciA9IGNyZWF0ZVJlY3Vyc2l2ZUZpbHRlcihcbiAqICAgKG5vZGU6IE5vZGUpID0+IG5vZGUuY2hpbGRyZW4sXG4gKiAgIChub2RlOiBOb2RlLCBjaGlsZHJlbjogTm9kZVtdKSA9PiAoeyAuLi5ub2RlLCBjaGlsZHJlbiB9KSxcbiAqICApO1xuICogYGBgXG4gKlxuICogQGV4YW1wbGUgMi4gTm9ybWFsaXplZCBUcmVlXG4gKlxuICogYGBgXG4gKiBpbnRlcmZhY2UgTm9kZSB7XG4gKiAgIGlkOiBzdHJpbmc7XG4gKiAgIGNoaWxkcmVuOiBzdHJpbmdbXTtcbiAqIH1cbiAqXG4gKiBpbnRlcmZhY2UgTm9kZUVudGl0aWVzIHtcbiAqICAgW2lkOiBzdHJpbmddOiBOb2RlO1xuICogfVxuICpcbiAqIGNvbnN0IG5vZGVzOiBOb2RlRW50aXRpZXM7XG4gKlxuICogY29uc3QgZmlsdGVyID0gY3JlYXRlUmVjdXJzaXZlRmlsdGVyKFxuICogICAobm9kZTogTm9kZSkgPT4gbm9kZS5jaGlsZHJlbi5tYXAoaWQgPT4gbm9kZXNbaWRdKSxcbiAqICAgKG5vZGU6IE5vZGUsIGNoaWxkcmVuOiBOb2RlW10pID0+ICh7IC4uLm5vZGUsIGNoaWxkcmVuOiBjaGlsZHJlbi5tYXAoY2hpbGQgPT4gY2hpbGQuaWQpIH0pLFxuICogKTtcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgY3JlYXRlUmVjdXJzaXZlRmlsdGVyID1cbiAgPFQ+KFxuICAgIHBpY2tDaGlsZHJlbjogKGl0ZW06IFQpID0+IFRbXSA9IG51bGwsXG4gICAgbWVyZ2VDaGlsZHJlbjogKGl0ZW06IFQsIGNoaWxkcmVuOiBUW10pID0+IFQgPSBudWxsLFxuICApID0+XG4gIChpdGVtczogVFtdLCBjb25kaXRpb246IChpdGVtOiBUKSA9PiBib29sZWFuKTogVFtdID0+IHtcbiAgICBpZiAoIWl0ZW1zKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgaWYgKCFwaWNrQ2hpbGRyZW4gfHwgIW1lcmdlQ2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiBpdGVtcy5maWx0ZXIoY29uZGl0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWx0ZXIgPSBjcmVhdGVSZWN1cnNpdmVGaWx0ZXIocGlja0NoaWxkcmVuLCBtZXJnZUNoaWxkcmVuKTtcblxuICAgIHJldHVybiAoaXRlbXM/LmZpbHRlcihjb25kaXRpb24pID8/IFtdKS5tYXAoaXRlbSA9PiB7XG4gICAgICBjb25zdCBjaGlsZHJlbiA9IHBpY2tDaGlsZHJlbihpdGVtKTtcblxuICAgICAgaWYgKCFjaGlsZHJlbiB8fCBjaGlsZHJlbi5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBtZXJnZUNoaWxkcmVuKGl0ZW0sIGZpbHRlcihjaGlsZHJlbiwgY29uZGl0aW9uKSk7XG4gICAgfSk7XG4gIH07XG4iXX0=
@@ -41,4 +41,4 @@ export function isCronFieldCountCorrect(exp) {
41
41
  const fieldCount = exp.split(' ').filter(Boolean).length;
42
42
  return spaceCount === 4 && fieldCount === 5;
43
43
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdXRpbHMvY3Jvbi11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLEtBQUssQ0FBQztBQUk5QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWtCO0lBQ3pDLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7Q0FDTixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRXJFLFNBQVMsbUJBQW1CLENBQUMsSUFBYztJQUN6QyxPQUFPLElBQUk7U0FDUixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN4RSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxRQUFnQjtJQUNwRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUM1Qiw2SkFBNkosQ0FDOUosQ0FBQztJQUNGLElBQUksT0FBTyxFQUFFO1FBQ1gsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hFLE9BQU8sbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDbEM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsUUFBZ0I7SUFDbkQsTUFBTSxVQUFVLEdBQUcscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkQsT0FBTyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzlFLENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsSUFBYztJQUNyRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3JCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUM7SUFDbEMsbUNBQW1DO0lBQ25DLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUM5RCxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQ2pDLENBQUM7SUFFRixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQ25CLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUNuQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUN6RCxJQUFJLENBQ0wsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsR0FBVztJQUNqRCxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDbkUsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3pELE9BQU8sVUFBVSxLQUFLLENBQUMsSUFBSSxVQUFVLEtBQUssQ0FBQyxDQUFDO0FBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQ1JPTl9FTkFCTEVfN19GT1JfU1VOREFZID0gZmFsc2U7XG5cbmV4cG9ydCB0eXBlIENyb25XZWVrRGF5ID0gJ21vbicgfCAndHVlJyB8ICd3ZWQnIHwgJ3RodScgfCAnZnJpJyB8ICdzYXQnIHwgJ3N1bic7XG5cbmV4cG9ydCBjb25zdCBDcm9uV2Vla0RheXM6IENyb25XZWVrRGF5W10gPSBbXG4gICdzdW4nLFxuICAnbW9uJyxcbiAgJ3R1ZScsXG4gICd3ZWQnLFxuICAndGh1JyxcbiAgJ2ZyaScsXG4gICdzYXQnLFxuXTtcblxuZXhwb3J0IGNvbnN0IFdFRUtfREFZUyA9IFsuLi5Dcm9uV2Vla0RheXMuc2xpY2UoMSksIENyb25XZWVrRGF5c1swXV07XG5cbmZ1bmN0aW9uIGZvcm1hdFdlZWtEYXlzVmFsdWUoZGF5czogc3RyaW5nW10pIHtcbiAgcmV0dXJuIGRheXNcbiAgICAubWFwKHYgPT4gKHYubGVuZ3RoID09PSAzID8gQ3JvbldlZWtEYXlzLmluZGV4T2YodiBhcyBDcm9uV2Vla0RheSkgOiArdikpXG4gICAgLnNvcnQoKGEsIGIpID0+IGEgLSBiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENyb25XZWVrRGF5TnVtYmVycyhzY2hlZHVsZTogc3RyaW5nKTogbnVtYmVyW10ge1xuICBjb25zdCBtYXRjaGVzID0gc2NoZWR1bGUubWF0Y2goXG4gICAgLyg/OiAoKD86XFxkfG1vbnx0dWV8d2VkfHRodXxmcml8c2F0fHN1bikoPzosKD86XFxkfG1vbnx0dWV8d2VkfHRodXxmcml8c2F0fHN1bikpKil8ICgoPzpcXGR8bW9ufHR1ZXx3ZWR8dGh1fGZyaXxzYXR8c3VuKS0oPzpcXGR8bW9ufHR1ZXx3ZWR8dGh1fGZyaXxzYXR8c3VuKSkpJC8sXG4gICk7XG4gIGlmIChtYXRjaGVzKSB7XG4gICAgY29uc3QgZGF5cyA9IG1hdGNoZXNbMV0gPyBtYXRjaGVzWzFdLnNwbGl0KCcsJykgOiBtYXRjaGVzWzJdLnNwbGl0KCctJyk7XG4gICAgcmV0dXJuIGZvcm1hdFdlZWtEYXlzVmFsdWUoZGF5cyk7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ3JvbldlZWtEYXlDb3JyZWN0KHNjaGVkdWxlOiBzdHJpbmcpIHtcbiAgY29uc3QgZGF5TnVtYmVycyA9IGdldENyb25XZWVrRGF5TnVtYmVycyhzY2hlZHVsZSk7XG4gIHJldHVybiAhKCFDUk9OX0VOQUJMRV83X0ZPUl9TVU5EQVkgJiYgZGF5TnVtYmVycyAmJiBkYXlOdW1iZXJzLnBvcCgpID09PSA3KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ3JvbldlZWtEYXlzQ29udGludW91cyhkYXlzOiBudW1iZXJbXSkge1xuICBpZiAoZGF5cy5sZW5ndGggPT09IDcpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBjb25zdCBzb3J0ZWQgPSBkYXlzLnNvcnQoKGEsIGIpID0+IGEgLSBiKTtcbiAgY29uc3QgW2ZpcnN0LCAuLi5vdGhlcnNdID0gc29ydGVkO1xuICAvLyBJZiBzdW5kYXkgZXhpc3RzLCBtb3ZlIGl0IHRvIGVuZFxuICBjb25zdCBoYW5kbGVkID0gKGZpcnN0ID09PSAwID8gWy4uLm90aGVycywgN10gOiBbLi4uc29ydGVkXSkubWFwKFxuICAgIGl0ZW0gPT4gaXRlbSAtICg3IC0gZGF5cy5sZW5ndGgpLFxuICApO1xuXG4gIHJldHVybiBoYW5kbGVkLnJlZHVjZShcbiAgICAocHJldiwgY3VyLCBpbmRleCkgPT5cbiAgICAgIHByZXYgJiYgKGluZGV4ID09PSAwIHx8IGhhbmRsZWRbaW5kZXggLSAxXSArIDEgPT09IGN1ciksXG4gICAgdHJ1ZSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ3JvbkZpZWxkQ291bnRDb3JyZWN0KGV4cDogc3RyaW5nKSB7XG4gIGNvbnN0IHNwYWNlQ291bnQgPSBleHAuc3BsaXQoJycpLmZpbHRlcih2YWwgPT4gdmFsID09PSAnICcpLmxlbmd0aDtcbiAgY29uc3QgZmllbGRDb3VudCA9IGV4cC5zcGxpdCgnICcpLmZpbHRlcihCb29sZWFuKS5sZW5ndGg7XG4gIHJldHVybiBzcGFjZUNvdW50ID09PSA0ICYmIGZpZWxkQ291bnQgPT09IDU7XG59XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdXRpbHMvY3Jvbi11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLEtBQUssQ0FBQztBQUk5QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWtCO0lBQ3pDLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7Q0FDTixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRXJFLFNBQVMsbUJBQW1CLENBQUMsSUFBYztJQUN6QyxPQUFPLElBQUk7U0FDUixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN4RSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxRQUFnQjtJQUNwRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUM1Qiw2SkFBNkosQ0FDOUosQ0FBQztJQUNGLElBQUksT0FBTyxFQUFFLENBQUM7UUFDWixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEUsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFFBQWdCO0lBQ25ELE1BQU0sVUFBVSxHQUFHLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELE9BQU8sQ0FBQyxDQUFDLENBQUMsd0JBQXdCLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM5RSxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUFDLElBQWM7SUFDckQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDMUMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQztJQUNsQyxtQ0FBbUM7SUFDbkMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQzlELElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FDakMsQ0FBQztJQUVGLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FDbkIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQ25CLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQ3pELElBQUksQ0FDTCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxHQUFXO0lBQ2pELE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNuRSxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDekQsT0FBTyxVQUFVLEtBQUssQ0FBQyxJQUFJLFVBQVUsS0FBSyxDQUFDLENBQUM7QUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBDUk9OX0VOQUJMRV83X0ZPUl9TVU5EQVkgPSBmYWxzZTtcblxuZXhwb3J0IHR5cGUgQ3JvbldlZWtEYXkgPSAnbW9uJyB8ICd0dWUnIHwgJ3dlZCcgfCAndGh1JyB8ICdmcmknIHwgJ3NhdCcgfCAnc3VuJztcblxuZXhwb3J0IGNvbnN0IENyb25XZWVrRGF5czogQ3JvbldlZWtEYXlbXSA9IFtcbiAgJ3N1bicsXG4gICdtb24nLFxuICAndHVlJyxcbiAgJ3dlZCcsXG4gICd0aHUnLFxuICAnZnJpJyxcbiAgJ3NhdCcsXG5dO1xuXG5leHBvcnQgY29uc3QgV0VFS19EQVlTID0gWy4uLkNyb25XZWVrRGF5cy5zbGljZSgxKSwgQ3JvbldlZWtEYXlzWzBdXTtcblxuZnVuY3Rpb24gZm9ybWF0V2Vla0RheXNWYWx1ZShkYXlzOiBzdHJpbmdbXSkge1xuICByZXR1cm4gZGF5c1xuICAgIC5tYXAodiA9PiAodi5sZW5ndGggPT09IDMgPyBDcm9uV2Vla0RheXMuaW5kZXhPZih2IGFzIENyb25XZWVrRGF5KSA6ICt2KSlcbiAgICAuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q3JvbldlZWtEYXlOdW1iZXJzKHNjaGVkdWxlOiBzdHJpbmcpOiBudW1iZXJbXSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBzY2hlZHVsZS5tYXRjaChcbiAgICAvKD86ICgoPzpcXGR8bW9ufHR1ZXx3ZWR8dGh1fGZyaXxzYXR8c3VuKSg/OiwoPzpcXGR8bW9ufHR1ZXx3ZWR8dGh1fGZyaXxzYXR8c3VuKSkqKXwgKCg/OlxcZHxtb258dHVlfHdlZHx0aHV8ZnJpfHNhdHxzdW4pLSg/OlxcZHxtb258dHVlfHdlZHx0aHV8ZnJpfHNhdHxzdW4pKSkkLyxcbiAgKTtcbiAgaWYgKG1hdGNoZXMpIHtcbiAgICBjb25zdCBkYXlzID0gbWF0Y2hlc1sxXSA/IG1hdGNoZXNbMV0uc3BsaXQoJywnKSA6IG1hdGNoZXNbMl0uc3BsaXQoJy0nKTtcbiAgICByZXR1cm4gZm9ybWF0V2Vla0RheXNWYWx1ZShkYXlzKTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDcm9uV2Vla0RheUNvcnJlY3Qoc2NoZWR1bGU6IHN0cmluZykge1xuICBjb25zdCBkYXlOdW1iZXJzID0gZ2V0Q3JvbldlZWtEYXlOdW1iZXJzKHNjaGVkdWxlKTtcbiAgcmV0dXJuICEoIUNST05fRU5BQkxFXzdfRk9SX1NVTkRBWSAmJiBkYXlOdW1iZXJzICYmIGRheU51bWJlcnMucG9wKCkgPT09IDcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDcm9uV2Vla0RheXNDb250aW51b3VzKGRheXM6IG51bWJlcltdKSB7XG4gIGlmIChkYXlzLmxlbmd0aCA9PT0gNykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGNvbnN0IHNvcnRlZCA9IGRheXMuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xuICBjb25zdCBbZmlyc3QsIC4uLm90aGVyc10gPSBzb3J0ZWQ7XG4gIC8vIElmIHN1bmRheSBleGlzdHMsIG1vdmUgaXQgdG8gZW5kXG4gIGNvbnN0IGhhbmRsZWQgPSAoZmlyc3QgPT09IDAgPyBbLi4ub3RoZXJzLCA3XSA6IFsuLi5zb3J0ZWRdKS5tYXAoXG4gICAgaXRlbSA9PiBpdGVtIC0gKDcgLSBkYXlzLmxlbmd0aCksXG4gICk7XG5cbiAgcmV0dXJuIGhhbmRsZWQucmVkdWNlKFxuICAgIChwcmV2LCBjdXIsIGluZGV4KSA9PlxuICAgICAgcHJldiAmJiAoaW5kZXggPT09IDAgfHwgaGFuZGxlZFtpbmRleCAtIDFdICsgMSA9PT0gY3VyKSxcbiAgICB0cnVlLFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDcm9uRmllbGRDb3VudENvcnJlY3QoZXhwOiBzdHJpbmcpIHtcbiAgY29uc3Qgc3BhY2VDb3VudCA9IGV4cC5zcGxpdCgnJykuZmlsdGVyKHZhbCA9PiB2YWwgPT09ICcgJykubGVuZ3RoO1xuICBjb25zdCBmaWVsZENvdW50ID0gZXhwLnNwbGl0KCcgJykuZmlsdGVyKEJvb2xlYW4pLmxlbmd0aDtcbiAgcmV0dXJuIHNwYWNlQ291bnQgPT09IDQgJiYgZmllbGRDb3VudCA9PT0gNTtcbn1cbiJdfQ==
@@ -134,4 +134,4 @@ export function debounceFn(delay = 200, options) {
134
134
  };
135
135
  };
136
136
  }
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3V0aWxzL2RlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFtQyxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl2QyxNQUFNLGVBQWUsR0FBRyxDQUF1QixNQUFTLEVBQUUsV0FBYyxFQUFFLEVBQUU7SUFDMUUsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUV6RSxJQUFJLFdBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUU7UUFDNUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxZQUFZLE1BQU0sQ0FBQyxXQUFXLENBQUMsc0JBQXNCLENBQUMsQ0FBQztLQUM1RTtJQUVELE9BQU87UUFDTCxPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUc7UUFDekIsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHO1FBQ3pCLFdBQVc7S0FDWixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxxQkFBcUIsR0FBRyxDQUM1QixNQUFTLEVBQ1QsV0FBYyxFQUNkLEVBQUU7SUFDRixNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxlQUFlLENBQ3ZELE1BQU0sRUFDTixXQUFXLENBQ1osQ0FBQztJQUVGLElBQUksT0FBTyxJQUFJLE9BQU8sRUFBRTtRQUN0QixNQUFNLElBQUksU0FBUyxDQUNqQixZQUFZLE1BQU0sQ0FBQyxXQUFXLENBQUMscUNBQXFDLENBQ3JFLENBQUM7S0FDSDtJQUVELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSxTQUFTLENBQ3ZCLE1BQWtE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SUFFMUIsT0FBTyxVQUNMLE9BQWUsRUFDZixXQUFtQixFQUNuQixVQUFzQztRQUV0QyxJQUFJLE9BQU8sVUFBVSxDQUFDLEtBQUssS0FBSyxVQUFVLEVBQUU7WUFDMUMsTUFBTSxJQUFJLFNBQVMsQ0FDakIsOENBQThDLFdBQVcsb0JBQW9CLENBQzlFLENBQUM7U0FDSDtRQUVELE9BQU87WUFDTCxZQUFZLEVBQUUsSUFBSTtZQUNsQixHQUFHO2dCQUNELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDekQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO29CQUN2QyxLQUFLLEVBQUUsS0FBSztvQkFDWixZQUFZLEVBQUUsSUFBSTtvQkFDbEIsUUFBUSxFQUFFLElBQUk7aUJBQ2YsQ0FBQyxDQUFDO2dCQUNILE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdXRpbHNcbiAqL1xuXG5pbXBvcnQgeyBEZWJvdW5jZVNldHRpbmdzLCBEZWJvdW5jZWRGdW5jLCBkZWJvdW5jZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZVR5cGUgfSBmcm9tICcuLi90eXBlcy9wdWJsaWMtYXBpJztcblxuY29uc3QgY2hlY2tEZXNjcmlwdG9yID0gPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPih0YXJnZXQ6IFQsIHByb3BlcnR5S2V5OiBLKSA9PiB7XG4gIGNvbnN0IG9EZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIHByb3BlcnR5S2V5KTtcblxuICBpZiAob0Rlc2NyaXB0b3IgJiYgIW9EZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYHByb3BlcnR5ICR7U3RyaW5nKHByb3BlcnR5S2V5KX0gaXMgbm90IGNvbmZpZ3VyYWJsZWApO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBvR2V0dGVyOiBvRGVzY3JpcHRvcj8uZ2V0LFxuICAgIG9TZXR0ZXI6IG9EZXNjcmlwdG9yPy5zZXQsXG4gICAgb0Rlc2NyaXB0b3IsXG4gIH07XG59O1xuXG5jb25zdCBzdHJpY3RDaGVja0Rlc2NyaXB0b3IgPSA8VCwgSyBleHRlbmRzIGtleW9mIFQ+KFxuICB0YXJnZXQ6IFQsXG4gIHByb3BlcnR5S2V5OiBLLFxuKSA9PiB7XG4gIGNvbnN0IHsgb0dldHRlciwgb1NldHRlciwgb0Rlc2NyaXB0b3IgfSA9IGNoZWNrRGVzY3JpcHRvcihcbiAgICB0YXJnZXQsXG4gICAgcHJvcGVydHlLZXksXG4gICk7XG5cbiAgaWYgKG9HZXR0ZXIgfHwgb1NldHRlcikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICBgcHJvcGVydHkgJHtTdHJpbmcocHJvcGVydHlLZXkpfSBzaG91bGQgbm90IGRlZmluZSBnZXR0ZXIgb3Igc2V0dGVyYCxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIG9EZXNjcmlwdG9yO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIFZhbHVlSG9vazxUID0gYW55LCBLIGV4dGVuZHMga2V5b2YgVCA9IGFueT4oXG4gIHNldHRlcj86ICh0aGlzOiBULCB2YWx1ZT86IFRbS10pID0+IGJvb2xlYW4gfCB2b2lkLFxuICBnZXR0ZXI/OiAodGhpczogVCwgdmFsdWU/OiBUW0tdKSA9PiBUW0tdLFxuICBhZnRlclNldHRlcj86ICh0aGlzOiBULCB2YWx1ZT86IFRbS10pID0+IHZvaWQsXG4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IFQsIHByb3BlcnR5S2V5OiBLKSA9PiB7XG4gICAgY29uc3QgeyBvR2V0dGVyLCBvU2V0dGVyIH0gPSBjaGVja0Rlc2NyaXB0b3IodGFyZ2V0LCBwcm9wZXJ0eUtleSk7XG5cbiAgICBjb25zdCBzeW1ib2wgPSBTeW1ib2wocHJvcGVydHlLZXkgYXMgc3RyaW5nKTtcblxuICAgIHR5cGUgTWl4ZWQgPSBUICYge1xuICAgICAgW3N5bWJvbF06IFRbS107XG4gICAgfTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5LCB7XG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0KHRoaXM6IE1peGVkKSB7XG4gICAgICAgIHJldHVybiBnZXR0ZXJcbiAgICAgICAgICA/IGdldHRlci5jYWxsKHRoaXMsIHRoaXNbc3ltYm9sXSlcbiAgICAgICAgICA6IG9HZXR0ZXJcbiAgICAgICAgICA/IG9HZXR0ZXIuY2FsbCh0aGlzKVxuICAgICAgICAgIDogdGhpc1tzeW1ib2xdO1xuICAgICAgfSxcbiAgICAgIHNldCh0aGlzOiBNaXhlZCwgdmFsdWU6IFRbS10pIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHZhbHVlID09PSB0aGlzW3Byb3BlcnR5S2V5XSB8fFxuICAgICAgICAgIHNldHRlcj8uY2FsbCh0aGlzLCB2YWx1ZSkgPT09IGZhbHNlXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAob1NldHRlcikge1xuICAgICAgICAgIG9TZXR0ZXIuY2FsbCh0aGlzLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpc1tzeW1ib2xdID0gdmFsdWU7XG4gICAgICAgIGFmdGVyU2V0dGVyPy5jYWxsKHRoaXMsIHZhbHVlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIE9ic2VydmFibGVJbnB1dFByb3BlcnR5S2V5PFQ+ID0gVCBleHRlbmRzIGAke2luZmVyIFJ9JGBcbiAgPyBPYnNlcnZhYmxlSW5wdXRQcm9wZXJ0eUtleTxSPlxuICA6IFQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBPYnNlcnZhYmxlSW5wdXQ8XG4gIFQgPSBhbnksXG4gIE9LIGV4dGVuZHMga2V5b2YgVCA9IGFueSxcbiAgSyBleHRlbmRzIGtleW9mIFQgPSBPYnNlcnZhYmxlSW5wdXRQcm9wZXJ0eUtleTxPSz4gJiBrZXlvZiBULFxuPihwcm9wZXJ0eUtleTogSyB8IGJvb2xlYW4gPSB0cnVlLCBpbml0aWFsVmFsdWU/OiBPYnNlcnZhYmxlVHlwZTxUW09LXT4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IFQsIG9Qcm9wZXJ0eUtleTogT0spID0+IHtcbiAgICBpZiAoIShvUHJvcGVydHlLZXkgYXMgc3RyaW5nKS5lbmRzV2l0aCgnJCcpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICBgcHJvcGVydHkgJHtcbiAgICAgICAgICBvUHJvcGVydHlLZXkgYXMgc3RyaW5nXG4gICAgICAgIH0gc2hvdWxkIGJlIGFuIE9ic2VydmFibGUgYW5kIGl0cyBuYW1lIHNob3VsZCBlbmQgd2l0aCAkYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgc3RyaWN0Q2hlY2tEZXNjcmlwdG9yKHRhcmdldCwgb1Byb3BlcnR5S2V5KTtcblxuICAgIGNvbnN0IHN5bWJvbCA9IFN5bWJvbChvUHJvcGVydHlLZXkgYXMgc3RyaW5nKTtcblxuICAgIHR5cGUgT1QgPSBPYnNlcnZhYmxlVHlwZTxUW09LXT47XG5cbiAgICB0eXBlIE1peGVkID0gVCAmIHtcbiAgICAgIFtzeW1ib2xdOiBCZWhhdmlvclN1YmplY3Q8T1Q+O1xuICAgIH0gJiBSZWNvcmQ8T0ssIEJlaGF2aW9yU3ViamVjdDxPVD4+O1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGxldCBvUHJvcGVydHlWYWx1ZTogT1Q7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBvUHJvcGVydHlLZXksIHtcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICBnZXQodGhpczogTWl4ZWQpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICB0aGlzW3N5bWJvbF0gfHxcbiAgICAgICAgICAodGhpc1tzeW1ib2xdID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICAgICAgICAgIC8vIHdoZW4gbm8gaW5pdGlhbFZhbHVlIHBhc3NlZCBpbiwgdXNlIHRoZSBvcmlnaW5hbCBwcm9wZXJ0eSB2YWxcbiAgICAgICAgICAgIGluaXRpYWxWYWx1ZSA9PT0gdW5kZWZpbmVkID8gb1Byb3BlcnR5VmFsdWUgOiBpbml0aWFsVmFsdWUsXG4gICAgICAgICAgKSlcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICBzZXQodGhpczogTWl4ZWQsIHZhbHVlOiBPVCkge1xuICAgICAgICB0aGlzW29Qcm9wZXJ0eUtleV0ubmV4dCh2YWx1ZSk7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKCFwcm9wZXJ0eUtleSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wZXJ0eUtleSA9PT0gdHJ1ZSkge1xuICAgICAgcHJvcGVydHlLZXkgPSAob1Byb3BlcnR5S2V5IGFzIHN0cmluZykucmVwbGFjZSgvXFwkKyQvLCAnJykgYXMgSztcbiAgICB9XG5cbiAgICBjb25zdCBvRGVzY3JpcHRvciA9IHN0cmljdENoZWNrRGVzY3JpcHRvcih0YXJnZXQsIHByb3BlcnR5S2V5KTtcbiAgICBvUHJvcGVydHlWYWx1ZSA9IG9EZXNjcmlwdG9yID8gb0Rlc2NyaXB0b3IudmFsdWUgOiB0YXJnZXRbcHJvcGVydHlLZXldO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHlLZXksIHtcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICBnZXQodGhpczogTWl4ZWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbb1Byb3BlcnR5S2V5XS5nZXRWYWx1ZSgpO1xuICAgICAgfSxcbiAgICAgIHNldCh0aGlzOiBNaXhlZCwgdmFsdWU6IE9UKSB7XG4gICAgICAgIHRoaXNbb1Byb3BlcnR5S2V5XS5uZXh0KHZhbHVlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG59XG5cbi8qKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vTm9Ib21leS9iaW5kLWRlY29yYXRvclxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlcyAtLSBpbnRlbmRlZFxuZXhwb3J0IGZ1bmN0aW9uIGJpbmQ8VCBleHRlbmRzIEZ1bmN0aW9uPihcbiAgX3RhcmdldDogb2JqZWN0LFxuICBwcm9wZXJ0eUtleTogc3RyaW5nLFxuICBkZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxUPixcbik6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPFQ+IHwgdm9pZCB7XG4gIGlmICh0eXBlb2YgZGVzY3JpcHRvci52YWx1ZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICBgT25seSBtZXRob2RzIGNhbiBiZSBkZWNvcmF0ZWQgd2l0aCBAYmluZC4gPCR7cHJvcGVydHlLZXl9PiBpcyBub3QgYSBtZXRob2QhYCxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgZ2V0KHRoaXM6IFQpOiBUIHtcbiAgICAgIGNvbnN0IGJvdW5kOiBUID0gZGVzY3JpcHRvci52YWx1ZS5iaW5kKHRoaXMpO1xuICAgICAgLy8gQ3JlZGl0cyB0byBodHRwczovL2dpdGh1Yi5jb20vYW5kcmV5cG9wcC9hdXRvYmluZC1kZWNvcmF0b3IgZm9yIG1lbW9pemluZyB0aGUgcmVzdWx0IG9mIGJpbmQgYWdhaW5zdCBhIHN5bWJvbCBvbiB0aGUgaW5zdGFuY2UuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgcHJvcGVydHlLZXksIHtcbiAgICAgICAgdmFsdWU6IGJvdW5kLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gYm91bmQ7XG4gICAgfSxcbiAgfTtcbn1cblxuLy8gbG9kYXNoIOeahCBkZWJvdW5jZSDnsbvlnovnuqbmnZ/opoHmsYIgKC4uLmFyZ3M6IGFueSkgPT4gYW55XG5leHBvcnQgZnVuY3Rpb24gZGVib3VuY2VGbjxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueSkgPT4gYW55PihcbiAgZGVsYXkgPSAyMDAsXG4gIG9wdGlvbnM/OiBEZWJvdW5jZVNldHRpbmdzLFxuKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoXG4gICAgX3RhcmdldDogb2JqZWN0LFxuICAgIHByb3BlcnR5S2V5OiBzdHJpbmcsXG4gICAgZGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VD4sXG4gICk6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPERlYm91bmNlZEZ1bmM8VD4+IHwgdm9pZCB7XG4gICAgaWYgKHR5cGVvZiBkZXNjcmlwdG9yLnZhbHVlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICBgT25seSBtZXRob2RzIGNhbiBiZSBkZWNvcmF0ZWQgd2l0aCBAYmluZC4gPCR7cHJvcGVydHlLZXl9PiBpcyBub3QgYSBtZXRob2QhYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIGdldCh0aGlzOiBUKTogRGVib3VuY2VkRnVuYzxUPiB7XG4gICAgICAgIGNvbnN0IGJvdW5kID0gZGVib3VuY2UoZGVzY3JpcHRvci52YWx1ZSwgZGVsYXksIG9wdGlvbnMpO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgcHJvcGVydHlLZXksIHtcbiAgICAgICAgICB2YWx1ZTogYm91bmQsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGJvdW5kO1xuICAgICAgfSxcbiAgICB9O1xuICB9O1xufVxuIl19
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3V0aWxzL2RlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFtQyxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl2QyxNQUFNLGVBQWUsR0FBRyxDQUF1QixNQUFTLEVBQUUsV0FBYyxFQUFFLEVBQUU7SUFDMUUsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUV6RSxJQUFJLFdBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QyxNQUFNLElBQUksU0FBUyxDQUFDLFlBQVksTUFBTSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHO1FBQ3pCLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRztRQUN6QixXQUFXO0tBQ1osQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0scUJBQXFCLEdBQUcsQ0FDNUIsTUFBUyxFQUNULFdBQWMsRUFDZCxFQUFFO0lBQ0YsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUcsZUFBZSxDQUN2RCxNQUFNLEVBQ04sV0FBVyxDQUNaLENBQUM7SUFFRixJQUFJLE9BQU8sSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksU0FBUyxDQUNqQixZQUFZLE1BQU0sQ0FBQyxXQUFXLENBQUMscUNBQXFDLENBQ3JFLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxV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Q0FBQztBQUNKLENBQUM7QUFFRCxpREFBaUQ7QUFDakQsTUFBTSxVQUFVLFVBQVUsQ0FDeEIsS0FBSyxHQUFHLEdBQUcsRUFDWCxPQUEwQjtJQUUxQixPQUFPLFVBQ0wsT0FBZSxFQUNmLFdBQW1CLEVBQ25CLFVBQXNDO1FBRXRDLElBQUksT0FBTyxVQUFVLENBQUMsS0FBSyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzNDLE1BQU0sSUFBSSxTQUFTLENBQ2pCLDhDQUE4QyxXQUFXLG9CQUFvQixDQUM5RSxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU87WUFDTCxZQUFZLEVBQUUsSUFBSTtZQUNsQixHQUFHO2dCQUNELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDekQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO29CQUN2QyxLQUFLLEVBQUUsS0FBSztvQkFDWixZQUFZLEVBQUUsSUFBSTtvQkFDbEIsUUFBUSxFQUFFLElBQUk7aUJBQ2YsQ0FBQyxDQUFDO2dCQUNILE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdXRpbHNcbiAqL1xuXG5pbXBvcnQgeyBEZWJvdW5jZVNldHRpbmdzLCBEZWJvdW5jZWRGdW5jLCBkZWJvdW5jZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZVR5cGUgfSBmcm9tICcuLi90eXBlcy9wdWJsaWMtYXBpJztcblxuY29uc3QgY2hlY2tEZXNjcmlwdG9yID0gPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPih0YXJnZXQ6IFQsIHByb3BlcnR5S2V5OiBLKSA9PiB7XG4gIGNvbnN0IG9EZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIHByb3BlcnR5S2V5KTtcblxuICBpZiAob0Rlc2NyaXB0b3IgJiYgIW9EZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYHByb3BlcnR5ICR7U3RyaW5nKHByb3BlcnR5S2V5KX0gaXMgbm90IGNvbmZpZ3VyYWJsZWApO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBvR2V0dGVyOiBvRGVzY3JpcHRvcj8uZ2V0LFxuICAgIG9TZXR0ZXI6IG9EZXNjcmlwdG9yPy5zZXQsXG4gICAgb0Rlc2NyaXB0b3IsXG4gIH07XG59O1xuXG5jb25zdCBzdHJpY3RDaGVja0Rlc2NyaXB0b3IgPSA8VCwgSyBleHRlbmRzIGtleW9mIFQ+KFxuICB0YXJnZXQ6IFQsXG4gIHByb3BlcnR5S2V5OiBLLFxuKSA9PiB7XG4gIGNvbnN0IHsgb0dldHRlciwgb1NldHRlciwgb0Rlc2NyaXB0b3IgfSA9IGNoZWNrRGVzY3JpcHRvcihcbiAgICB0YXJnZXQsXG4gICAgcHJvcGVydHlLZXksXG4gICk7XG5cbiAgaWYgKG9HZXR0ZXIgfHwgb1NldHRlcikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICBgcHJvcGVydHkgJHtTdHJpbmcocHJvcGVydHlLZXkpfSBzaG91bGQgbm90IGRlZmluZSBnZXR0ZXIgb3Igc2V0dGVyYCxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIG9EZXNjcmlwdG9yO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIFZhbHVlSG9vazxUID0gYW55LCBLIGV4dGVuZHMga2V5b2YgVCA9IGFueT4oXG4gIHNldHRlcj86ICh0aGlzOiBULCB2YWx1ZT86IFRbS10pID0+IGJvb2xlYW4gfCB2b2lkLFxuICBnZXR0ZXI/OiAodGhpczogVCwgdmFsdWU/OiBUW0tdKSA9PiBUW0tdLFxuICBhZnRlclNldHRlcj86ICh0aGlzOiBULCB2YWx1ZT86IFRbS10pID0+IHZvaWQsXG4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IFQsIHByb3BlcnR5S2V5OiBLKSA9PiB7XG4gICAgY29uc3QgeyBvR2V0dGVyLCBvU2V0dGVyIH0gPSBjaGVja0Rlc2NyaXB0b3IodGFyZ2V0LCBwcm9wZXJ0eUtleSk7XG5cbiAgICBjb25zdCBzeW1ib2wgPSBTeW1ib2wocHJvcGVydHlLZXkgYXMgc3RyaW5nKTtcblxuICAgIHR5cGUgTWl4ZWQgPSBUICYge1xuICAgICAgW3N5bWJvbF06IFRbS107XG4gICAgfTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5LCB7XG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0KHRoaXM6IE1peGVkKSB7XG4gICAgICAgIHJldHVybiBnZXR0ZXJcbiAgICAgICAgICA/IGdldHRlci5jYWxsKHRoaXMsIHRoaXNbc3ltYm9sXSlcbiAgICAgICAgICA6IG9HZXR0ZXJcbiAgICAgICAgICA/IG9HZXR0ZXIuY2FsbCh0aGlzKVxuICAgICAgICAgIDogdGhpc1tzeW1ib2xdO1xuICAgICAgfSxcbiAgICAgIHNldCh0aGlzOiBNaXhlZCwgdmFsdWU6IFRbS10pIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHZhbHVlID09PSB0aGlzW3Byb3BlcnR5S2V5XSB8fFxuICAgICAgICAgIHNldHRlcj8uY2FsbCh0aGlzLCB2YWx1ZSkgPT09IGZhbHNlXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAob1NldHRlcikge1xuICAgICAgICAgIG9TZXR0ZXIuY2FsbCh0aGlzLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpc1tzeW1ib2xdID0gdmFsdWU7XG4gICAgICAgIGFmdGVyU2V0dGVyPy5jYWxsKHRoaXMsIHZhbHVlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIE9ic2VydmFibGVJbnB1dFByb3BlcnR5S2V5PFQ+ID0gVCBleHRlbmRzIGAke2luZmVyIFJ9JGBcbiAgPyBPYnNlcnZhYmxlSW5wdXRQcm9wZXJ0eUtleTxSPlxuICA6IFQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBPYnNlcnZhYmxlSW5wdXQ8XG4gIFQgPSBhbnksXG4gIE9LIGV4dGVuZHMga2V5b2YgVCA9IGFueSxcbiAgSyBleHRlbmRzIGtleW9mIFQgPSBPYnNlcnZhYmxlSW5wdXRQcm9wZXJ0eUtleTxPSz4gJiBrZXlvZiBULFxuPihwcm9wZXJ0eUtleTogSyB8IGJvb2xlYW4gPSB0cnVlLCBpbml0aWFsVmFsdWU/OiBPYnNlcnZhYmxlVHlwZTxUW09LXT4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IFQsIG9Qcm9wZXJ0eUtleTogT0spID0+IHtcbiAgICBpZiAoIShvUHJvcGVydHlLZXkgYXMgc3RyaW5nKS5lbmRzV2l0aCgnJCcpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICBgcHJvcGVydHkgJHtcbiAgICAgICAgICBvUHJvcGVydHlLZXkgYXMgc3RyaW5nXG4gICAgICAgIH0gc2hvdWxkIGJlIGFuIE9ic2VydmFibGUgYW5kIGl0cyBuYW1lIHNob3VsZCBlbmQgd2l0aCAkYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgc3RyaWN0Q2hlY2tEZXNjcmlwdG9yKHRhcmdldCwgb1Byb3BlcnR5S2V5KTtcblxuICAgIGNvbnN0IHN5bWJvbCA9IFN5bWJvbChvUHJvcGVydHlLZXkgYXMgc3RyaW5nKTtcblxuICAgIHR5cGUgT1QgPSBPYnNlcnZhYmxlVHlwZTxUW09LXT47XG5cbiAgICB0eXBlIE1peGVkID0gVCAmIHtcbiAgICAgIFtzeW1ib2xdOiBCZWhhdmlvclN1YmplY3Q8T1Q+O1xuICAgIH0gJiBSZWNvcmQ8T0ssIEJlaGF2aW9yU3ViamVjdDxPVD4+O1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGxldCBvUHJvcGVydHlWYWx1ZTogT1Q7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBvUHJvcGVydHlLZXksIHtcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICBnZXQodGhpczogTWl4ZWQpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICB0aGlzW3N5bWJvbF0gfHxcbiAgICAgICAgICAodGhpc1tzeW1ib2xdID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICAgICAgICAgIC8vIHdoZW4gbm8gaW5pdGlhbFZhbHVlIHBhc3NlZCBpbiwgdXNlIHRoZSBvcmlnaW5hbCBwcm9wZXJ0eSB2YWxcbiAgICAgICAgICAgIGluaXRpYWxWYWx1ZSA9PT0gdW5kZWZpbmVkID8gb1Byb3BlcnR5VmFsdWUgOiBpbml0aWFsVmFsdWUsXG4gICAgICAgICAgKSlcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICBzZXQodGhpczogTWl4ZWQsIHZhbHVlOiBPVCkge1xuICAgICAgICB0aGlzW29Qcm9wZXJ0eUtleV0ubmV4dCh2YWx1ZSk7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKCFwcm9wZXJ0eUtleSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wZXJ0eUtleSA9PT0gdHJ1ZSkge1xuICAgICAgcHJvcGVydHlLZXkgPSAob1Byb3BlcnR5S2V5IGFzIHN0cmluZykucmVwbGFjZSgvXFwkKyQvLCAnJykgYXMgSztcbiAgICB9XG5cbiAgICBjb25zdCBvRGVzY3JpcHRvciA9IHN0cmljdENoZWNrRGVzY3JpcHRvcih0YXJnZXQsIHByb3BlcnR5S2V5KTtcbiAgICBvUHJvcGVydHlWYWx1ZSA9IG9EZXNjcmlwdG9yID8gb0Rlc2NyaXB0b3IudmFsdWUgOiB0YXJnZXRbcHJvcGVydHlLZXldO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgcHJvcGVydHlLZXksIHtcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICBnZXQodGhpczogTWl4ZWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbb1Byb3BlcnR5S2V5XS5nZXRWYWx1ZSgpO1xuICAgICAgfSxcbiAgICAgIHNldCh0aGlzOiBNaXhlZCwgdmFsdWU6IE9UKSB7XG4gICAgICAgIHRoaXNbb1Byb3BlcnR5S2V5XS5uZXh0KHZhbHVlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG59XG5cbi8qKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vTm9Ib21leS9iaW5kLWRlY29yYXRvclxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlcyAtLSBpbnRlbmRlZFxuZXhwb3J0IGZ1bmN0aW9uIGJpbmQ8VCBleHRlbmRzIEZ1bmN0aW9uPihcbiAgX3RhcmdldDogb2JqZWN0LFxuICBwcm9wZXJ0eUtleTogc3RyaW5nLFxuICBkZXNjcmlwdG9yOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxUPixcbik6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPFQ+IHwgdm9pZCB7XG4gIGlmICh0eXBlb2YgZGVzY3JpcHRvci52YWx1ZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICBgT25seSBtZXRob2RzIGNhbiBiZSBkZWNvcmF0ZWQgd2l0aCBAYmluZC4gPCR7cHJvcGVydHlLZXl9PiBpcyBub3QgYSBtZXRob2QhYCxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgZ2V0KHRoaXM6IFQpOiBUIHtcbiAgICAgIGNvbnN0IGJvdW5kOiBUID0gZGVzY3JpcHRvci52YWx1ZS5iaW5kKHRoaXMpO1xuICAgICAgLy8gQ3JlZGl0cyB0byBodHRwczovL2dpdGh1Yi5jb20vYW5kcmV5cG9wcC9hdXRvYmluZC1kZWNvcmF0b3IgZm9yIG1lbW9pemluZyB0aGUgcmVzdWx0IG9mIGJpbmQgYWdhaW5zdCBhIHN5bWJvbCBvbiB0aGUgaW5zdGFuY2UuXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgcHJvcGVydHlLZXksIHtcbiAgICAgICAgdmFsdWU6IGJvdW5kLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gYm91bmQ7XG4gICAgfSxcbiAgfTtcbn1cblxuLy8gbG9kYXNoIOeahCBkZWJvdW5jZSDnsbvlnovnuqbmnZ/opoHmsYIgKC4uLmFyZ3M6IGFueSkgPT4gYW55XG5leHBvcnQgZnVuY3Rpb24gZGVib3VuY2VGbjxUIGV4dGVuZHMgKC4uLmFyZ3M6IGFueSkgPT4gYW55PihcbiAgZGVsYXkgPSAyMDAsXG4gIG9wdGlvbnM/OiBEZWJvdW5jZVNldHRpbmdzLFxuKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoXG4gICAgX3RhcmdldDogb2JqZWN0LFxuICAgIHByb3BlcnR5S2V5OiBzdHJpbmcsXG4gICAgZGVzY3JpcHRvcjogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VD4sXG4gICk6IFR5cGVkUHJvcGVydHlEZXNjcmlwdG9yPERlYm91bmNlZEZ1bmM8VD4+IHwgdm9pZCB7XG4gICAgaWYgKHR5cGVvZiBkZXNjcmlwdG9yLnZhbHVlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICBgT25seSBtZXRob2RzIGNhbiBiZSBkZWNvcmF0ZWQgd2l0aCBAYmluZC4gPCR7cHJvcGVydHlLZXl9PiBpcyBub3QgYSBtZXRob2QhYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgIGdldCh0aGlzOiBUKTogRGVib3VuY2VkRnVuYzxUPiB7XG4gICAgICAgIGNvbnN0IGJvdW5kID0gZGVib3VuY2UoZGVzY3JpcHRvci52YWx1ZSwgZGVsYXksIG9wdGlvbnMpO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgcHJvcGVydHlLZXksIHtcbiAgICAgICAgICB2YWx1ZTogYm91bmQsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGJvdW5kO1xuICAgICAgfSxcbiAgICB9O1xuICB9O1xufVxuIl19
@@ -0,0 +1,47 @@
1
+ import { isBoolean } from 'lodash-es';
2
+ import { isObservable, of, switchMap } from 'rxjs';
3
+ import { publishRef } from './operators';
4
+ // 同步 Chain
5
+ function buildDisabledQueryChain(judgeFns, index) {
6
+ if (!judgeFns[index]) {
7
+ return null;
8
+ }
9
+ let result = judgeFns[index]();
10
+ if (isBoolean(result)) {
11
+ result = { disabled: result };
12
+ }
13
+ if (result?.disabled) {
14
+ return result;
15
+ }
16
+ return buildDisabledQueryChain(judgeFns, index + 1);
17
+ }
18
+ // 异步 Chain
19
+ function buildDisabledQueryChain$(judgeFns, index) {
20
+ if (!judgeFns[index]) {
21
+ return of(null);
22
+ }
23
+ let result$ = judgeFns[index]();
24
+ result$ = isObservable(result$) ? result$ : of(result$);
25
+ return result$.pipe(switchMap(result => {
26
+ if (isBoolean(result)) {
27
+ result = { disabled: result };
28
+ }
29
+ if (result?.disabled) {
30
+ return of(result);
31
+ }
32
+ return buildDisabledQueryChain$(judgeFns, index + 1);
33
+ }));
34
+ }
35
+ /**
36
+ * @description 获取同步状态
37
+ */
38
+ export function getDisabledState(...judgeFns) {
39
+ return buildDisabledQueryChain(judgeFns, 0);
40
+ }
41
+ /**
42
+ * @description 获取异步状态
43
+ */
44
+ export function getDisabledState$(...judgeFns) {
45
+ return buildDisabledQueryChain$(judgeFns, 0).pipe(publishRef());
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZWQtc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS91dGlscy9kaXNhYmxlZC1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBYyxZQUFZLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBYXpDLFdBQVc7QUFDWCxTQUFTLHVCQUF1QixDQUM5QixRQUE2QixFQUM3QixLQUFhO0lBRWIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQUksTUFBTSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBb0IsQ0FBQztJQUVqRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDckIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sdUJBQXVCLENBQUMsUUFBUSxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQsV0FBVztBQUNYLFNBQVMsd0JBQXdCLENBQy9CLFFBQTZCLEVBQzdCLEtBQWE7SUFFYixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDckIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUNELElBQUksT0FBTyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQ2hDLE9BQU8sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FDakIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ2pCLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDdEIsTUFBTSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ2hDLENBQUM7UUFDRCxJQUFJLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUNyQixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQixDQUFDO1FBQ0QsT0FBTyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsR0FBRyxRQUE2QjtJQUMvRCxPQUFPLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsR0FBRyxRQUE2QjtJQUNoRSxPQUFPLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztBQUNsRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNCb29sZWFuIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGlzT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBwdWJsaXNoUmVmIH0gZnJvbSAnLi9vcGVyYXRvcnMnO1xuXG5leHBvcnQgdHlwZSBEaXNhYmxlZFJlc3VsdCA9XG4gIHwge1xuICAgICAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgICB0b29sdGlwPzogc3RyaW5nO1xuICAgIH1cbiAgfCBib29sZWFuO1xuXG5leHBvcnQgdHlwZSBRdWVyeURpc2FibGVkRnVuYyA9ICgpID0+XG4gIHwgRGlzYWJsZWRSZXN1bHRcbiAgfCBPYnNlcnZhYmxlPERpc2FibGVkUmVzdWx0PjtcblxuLy8g5ZCM5q2lIENoYWluXG5mdW5jdGlvbiBidWlsZERpc2FibGVkUXVlcnlDaGFpbihcbiAganVkZ2VGbnM6IFF1ZXJ5RGlzYWJsZWRGdW5jW10sXG4gIGluZGV4OiBudW1iZXIsXG4pOiBFeGNsdWRlPERpc2FibGVkUmVzdWx0LCBib29sZWFuPiB7XG4gIGlmICghanVkZ2VGbnNbaW5kZXhdKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgbGV0IHJlc3VsdCA9IGp1ZGdlRm5zW2luZGV4XSgpIGFzIERpc2FibGVkUmVzdWx0O1xuXG4gIGlmIChpc0Jvb2xlYW4ocmVzdWx0KSkge1xuICAgIHJlc3VsdCA9IHsgZGlzYWJsZWQ6IHJlc3VsdCB9O1xuICB9XG5cbiAgaWYgKHJlc3VsdD8uZGlzYWJsZWQpIHtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcmV0dXJuIGJ1aWxkRGlzYWJsZWRRdWVyeUNoYWluKGp1ZGdlRm5zLCBpbmRleCArIDEpO1xufVxuXG4vLyDlvILmraUgQ2hhaW5cbmZ1bmN0aW9uIGJ1aWxkRGlzYWJsZWRRdWVyeUNoYWluJChcbiAganVkZ2VGbnM6IFF1ZXJ5RGlzYWJsZWRGdW5jW10sXG4gIGluZGV4OiBudW1iZXIsXG4pOiBPYnNlcnZhYmxlPEV4Y2x1ZGU8RGlzYWJsZWRSZXN1bHQsIGJvb2xlYW4+PiB7XG4gIGlmICghanVkZ2VGbnNbaW5kZXhdKSB7XG4gICAgcmV0dXJuIG9mKG51bGwpO1xuICB9XG4gIGxldCByZXN1bHQkID0ganVkZ2VGbnNbaW5kZXhdKCk7XG4gIHJlc3VsdCQgPSBpc09ic2VydmFibGUocmVzdWx0JCkgPyByZXN1bHQkIDogb2YocmVzdWx0JCk7XG4gIHJldHVybiByZXN1bHQkLnBpcGUoXG4gICAgc3dpdGNoTWFwKHJlc3VsdCA9PiB7XG4gICAgICBpZiAoaXNCb29sZWFuKHJlc3VsdCkpIHtcbiAgICAgICAgcmVzdWx0ID0geyBkaXNhYmxlZDogcmVzdWx0IH07XG4gICAgICB9XG4gICAgICBpZiAocmVzdWx0Py5kaXNhYmxlZCkge1xuICAgICAgICByZXR1cm4gb2YocmVzdWx0KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBidWlsZERpc2FibGVkUXVlcnlDaGFpbiQoanVkZ2VGbnMsIGluZGV4ICsgMSk7XG4gICAgfSksXG4gICk7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIOiOt+WPluWQjOatpeeKtuaAgVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGlzYWJsZWRTdGF0ZSguLi5qdWRnZUZuczogUXVlcnlEaXNhYmxlZEZ1bmNbXSkge1xuICByZXR1cm4gYnVpbGREaXNhYmxlZFF1ZXJ5Q2hhaW4oanVkZ2VGbnMsIDApO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiDojrflj5blvILmraXnirbmgIFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERpc2FibGVkU3RhdGUkKC4uLmp1ZGdlRm5zOiBRdWVyeURpc2FibGVkRnVuY1tdKSB7XG4gIHJldHVybiBidWlsZERpc2FibGVkUXVlcnlDaGFpbiQoanVkZ2VGbnMsIDApLnBpcGUocHVibGlzaFJlZigpKTtcbn1cbiJdfQ==
@@ -226,4 +226,4 @@ function roundNumber(parsedNumber, minFrac, maxFrac) {
226
226
  parsedNumber.integerLen++;
227
227
  }
228
228
  }
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LW51bWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3V0aWxzL2Zvcm1hdC1udW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQztBQUN4QixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUM7QUFDdEIsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDO0FBQzNCLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQztBQUMxQixNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7QUFDdkIsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUM7QUFDOUIsTUFBTSxtQkFBbUIsR0FBRztJQUMxQixLQUFLLEVBQUUsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLENBQUM7SUFDVixPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxDQUFDO0lBQ1QsTUFBTSxFQUFFLEdBQUc7SUFDWCxNQUFNLEVBQUUsRUFBRTtJQUNWLE1BQU0sRUFBRSxFQUFFO0lBQ1YsTUFBTSxFQUFFLEVBQUU7Q0FDWCxDQUFDO0FBRUY7O0dBRUc7QUFDSCx3REFBd0Q7QUFDeEQsU0FBUywwQkFBMEIsQ0FDakMsS0FBYSxFQUNiLE9BQTJCLEVBQzNCLFVBQXFCO0lBRXJCLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUN2QixJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFFbkIsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDbkIsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FB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LEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUMvQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxTQUFTO1FBQ3RDLElBQUksaUJBQWlCLEVBQUU7WUFDckIsOEVBQThFO1lBQzlFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxFQUFFO2dCQUM5QixFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDVjtpQkFBTTtnQkFDTCxpQkFBaUIsR0FBRyxLQUFLLENBQUM7YUFDM0I7U0FDRjtRQUNELE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ04sSUFBSSxLQUFLLEVBQUU7UUFDVCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztLQUMzQjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBNQVhfRElHSVRTID0gMjI7XG5jb25zdCBERUNJTUFMX1NFUCA9ICcuJztcbmNvbnN0IFpFUk9fQ0hBUiA9ICcwJztcbmNvbnN0IFN5bWJvbEluZmluaXR5ID0gJ+KInic7XG5jb25zdCBTeW1ib2xEZWNpbWFsID0gJy4nO1xuY29uc3QgU3ltYm9sR3JvdXAgPSAnJztcbmNvbnN0IFN5bWJvbEV4cG9uZW50aWFsID0gJ0UnO1xuY29uc3QgU3ltYm9sTnVtYmVyUGF0dGVybiA9IHtcbiAgZ1NpemU6IDMsXG4gIGxnU2l6ZTogMyxcbiAgbWF4RnJhYzogMyxcbiAgbWluRnJhYzogMCxcbiAgbWluSW50OiAxLFxuICBuZWdQcmU6ICctJyxcbiAgbmVnU3VmOiAnJyxcbiAgcG9zUHJlOiAnJyxcbiAgcG9zU3VmOiAnJyxcbn07XG5cbi8qKlxuICogVHJhbnNmb3JtcyBhIG51bWJlciB0byBhIGxvY2FsZSBzdHJpbmcgYmFzZWQgb24gYSBzdHlsZSBhbmQgYSBmb3JtYXRcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvY29nbml0aXZlLWNvbXBsZXhpdHlcbmZ1bmN0aW9uIGZvcm1hdE51bWJlclRvTG9jYWxlU3RyaW5nKFxuICB2YWx1ZTogbnVtYmVyLFxuICBwYXR0ZXJuOiBQYXJzZWROdW1iZXJGb3JtYXQsXG4gIGRpZ2l0c0luZm8/OiBudW1iZXJbXSxcbik6IHN0cmluZyB7XG4gIGxldCBmb3JtYXR0ZWRUZXh0ID0gJyc7XG4gIGxldCBpc1plcm8gPSBmYWxzZTtcblxuICBpZiAoaXNGaW5pdGUodmFsdWUpKSB7XG4gICAgY29uc3QgcGFyc2VkTnVtYmVyID0gcGFyc2VOdW1iZXIodmFsdWUpO1xuXG4gICAgY29uc3QgbWluSW50ID0gZGlnaXRzSW5mb1swXSB8fCAwO1xuICAgIGNvbnN0IG1pbkZyYWN0aW9uID0gZGlnaXRzSW5mb1sxXSB8fCAwO1xuICAgIGNvbnN0IG1heEZyYWN0aW9uID0gZGlnaXRzSW5mb1syXSB8fCAwO1xuXG4gICAgcm91bmROdW1iZXIocGFyc2VkTnVtYmVyLCBtaW5GcmFjdGlvbiwgbWF4RnJhY3Rpb24pO1xuXG4gICAgbGV0IGRpZ2l0cyA9IHBhcnNlZE51bWJlci5kaWdpdHM7XG4gICAgbGV0IGludGVnZXJMZW4gPSBwYXJzZWROdW1iZXIuaW50ZWdlckxlbjtcbiAgICBjb25zdCBleHBvbmVudCA9IHBhcnNlZE51bWJlci5leHBvbmVudDtcbiAgICBsZXQgZGVjaW1hbHMgPSBbXTtcbiAgICBpc1plcm8gPSBkaWdpdHMuZXZlcnkoZCA9PiAhZCk7XG5cbiAgICAvLyBwYWQgemVyb3MgZm9yIHNtYWxsIG51bWJlcnNcbiAgICBmb3IgKDsgaW50ZWdlckxlbiA8IG1pbkludDsgaW50ZWdlckxlbisrKSB7XG4gICAgICBkaWdpdHMudW5zaGlmdCgwKTtcbiAgICB9XG5cbiAgICAvLyBwYWQgemVyb3MgZm9yIHNtYWxsIG51bWJlcnNcbiAgICBmb3IgKDsgaW50ZWdlckxlbiA8IDA7IGludGVnZXJMZW4rKykge1xuICAgICAgZGlnaXRzLnVuc2hpZnQoMCk7XG4gICAgfVxuXG4gICAgLy8gZXh0cmFjdCBkZWNpbWFscyBkaWdpdHNcbiAgICBpZiAoaW50ZWdlckxlbiA+IDApIHtcbiAgICAgIGRlY2ltYWxzID0gZGlnaXRzLnNwbGljZShpbnRlZ2VyTGVuLCBkaWdpdHMubGVuZ3RoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVjaW1hbHMgPSBkaWdpdHM7XG4gICAgICBkaWdpdHMgPSBbMF07XG4gICAgfVxuXG4gICAgLy8gZm9ybWF0IHRoZSBpbnRlZ2VyIGRpZ2l0cyB3aXRoIGdyb3VwaW5nIHNlcGFyYXRvcnNcbiAgICBjb25zdCBncm91cHMgPSBbXTtcbiAgICBpZiAoZGlnaXRzLmxlbmd0aCA+PSBwYXR0ZXJuLmxnU2l6ZSkge1xuICAgICAgZ3JvdXBzLnVuc2hpZnQoZGlnaXRzLnNwbGljZSgtcGF0dGVybi5sZ1NpemUsIGRpZ2l0cy5sZW5ndGgpLmpvaW4oJycpKTtcbiAgICB9XG5cbiAgICB3aGlsZSAoZGlnaXRzLmxlbmd0aCA+IHBhdHRlcm4uZ1NpemUpIHtcbiAgICAgIGdyb3Vwcy51bnNoaWZ0KGRpZ2l0cy5zcGxpY2UoLXBhdHRlcm4uZ1NpemUsIGRpZ2l0cy5sZW5ndGgpLmpvaW4oJycpKTtcbiAgICB9XG5cbiAgICBpZiAoZGlnaXRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGdyb3Vwcy51bnNoaWZ0KGRpZ2l0cy5qb2luKCcnKSk7XG4gICAgfVxuXG4gICAgZm9ybWF0dGVkVGV4dCA9IGdyb3Vwcy5qb2luKFN5bWJvbEdyb3VwKTtcblxuICAgIC8vIGFwcGVuZCB0aGUgZGVjaW1hbCBkaWdpdHNcbiAgICBpZiAoZGVjaW1hbHMubGVuZ3RoID4gMCkge1xuICAgICAgZm9ybWF0dGVkVGV4dCArPSBTeW1ib2xEZWNpbWFsICsgZGVjaW1hbHMuam9pbignJyk7XG4gICAgfVxuXG4gICAgaWYgKGV4cG9uZW50KSB7XG4gICAgICBmb3JtYXR0ZWRUZXh0ICs9IFN5bWJvbEV4cG9uZW50aWFsICsgJysnICsgZXhwb25lbnQ7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGZvcm1hdHRlZFRleHQgPSBTeW1ib2xJbmZpbml0eTtcbiAgfVxuXG4gIGZvcm1hdHRlZFRleHQgPVxuICAgIHZhbHVlIDwgMCAmJiAhaXNaZXJvXG4gICAgICA/IHBhdHRlcm4ubmVnUHJlICsgZm9ybWF0dGVkVGV4dCArIHBhdHRlcm4ubmVnU3VmXG4gICAgICA6IHBhdHRlcm4ucG9zUHJlICsgZm9ybWF0dGVkVGV4dCArIHBhdHRlcm4ucG9zU3VmO1xuXG4gIHJldHVybiBmb3JtYXR0ZWRUZXh0O1xufVxuXG4vKipcbiAqIEBuZ01vZHVsZSBDb21tb25Nb2R1bGVcbiAqXG4gKiBGb3JtYXRzIGEgbnVtYmVyIGFzIHRleHQuIEdyb3VwIHNpemluZyBhbmQgc2VwYXJhdG9yIGFuZCBvdGhlciBsb2NhbGUtc3BlY2lmaWNcbiAqIGNvbmZpZ3VyYXRpb25zIGFyZSBiYXNlZCBvbiB0aGUgbG9jYWxlLlxuICpcbiAqIFdoZXJlOlxuICogLSBgdmFsdWVgIGlzIGEgbnVtYmVyLlxuICogLSBgZGlnaXRJbmZvYCBTZWUge0BsaW5rIERlY2ltYWxQaXBlfSBmb3IgbW9yZSBkZXRhaWxzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0TnVtYmVyKHZhbHVlOiBudW1iZXIsIGRpZ2l0c0luZm8/OiBudW1iZXJbXSk6IHN0cmluZyB7XG4gIHJldHVybiBmb3JtYXROdW1iZXJUb0xvY2FsZVN0cmluZyh2YWx1ZSwgU3ltYm9sTnVtYmVyUGF0dGVybiwgZGlnaXRzSW5mbyk7XG59XG5cbmludGVyZmFjZSBQYXJzZWROdW1iZXJGb3JtYXQge1xuICBtaW5JbnQ6IG51bWJlcjtcbiAgLy8gdGhlIG1pbmltdW0gbnVtYmVyIG9mIGRpZ2l0cyByZXF1aXJlZCBpbiB0aGUgZnJhY3Rpb24gcGFydCBvZiB0aGUgbnVtYmVyXG4gIG1pbkZyYWM6IG51bWJlcjtcbiAgLy8gdGhlIG1heGltdW0gbnVtYmVyIG9mIGRpZ2l0cyByZXF1aXJlZCBpbiB0aGUgZnJhY3Rpb24gcGFydCBvZiB0aGUgbnVtYmVyXG4gIG1heEZyYWM6IG51bWJlcjtcbiAgLy8gdGhlIHByZWZpeCBmb3IgYSBwb3NpdGl2ZSBudW1iZXJcbiAgcG9zUHJlOiBzdHJpbmc7XG4gIC8vIHRoZSBzdWZmaXggZm9yIGEgcG9zaXRpdmUgbnVtYmVyXG4gIHBvc1N1Zjogc3RyaW5nO1xuICAvLyB0aGUgcHJlZml4IGZvciBhIG5lZ2F0aXZlIG51bWJlciAoZS5nLiBgLWAgb3IgYChgKSlcbiAgbmVnUHJlOiBzdHJpbmc7XG4gIC8vIHRoZSBzdWZmaXggZm9yIGEgbmVnYXRpdmUgbnVtYmVyIChlLmcuIGApYClcbiAgbmVnU3VmOiBzdHJpbmc7XG4gIC8vIG51bWJlciBvZiBkaWdpdHMgaW4gZWFjaCBncm91cCBvZiBzZXBhcmF0ZWQgZGlnaXRzXG4gIGdTaXplOiBudW1iZXI7XG4gIC8vIG51bWJlciBvZiBkaWdpdHMgaW4gdGhlIGxhc3QgZ3JvdXAgb2YgZGlnaXRzIGJlZm9yZSB0aGUgZGVjaW1hbCBzZXBhcmF0b3JcbiAgbGdTaXplOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBQYXJzZWROdW1iZXIge1xuICAvLyBhbiBhcnJheSBvZiBkaWdpdHMgY29udGFpbmluZyBsZWFkaW5nIHplcm9zIGFzIG5lY2Vzc2FyeVxuICBkaWdpdHM6IG51bWJlcltdO1xuICAvLyB0aGUgZXhwb25lbnQgZm9yIG51bWJlcnMgdGhhdCB3b3VsZCBuZWVkIG1vcmUgdGhhbiBgTUFYX0RJR0lUU2AgZGlnaXRzIGluIGBkYFxuICBleHBvbmVudDogbnVtYmVyO1xuICAvLyB0aGUgbnVtYmVyIG9mIHRoZSBkaWdpdHMgaW4gYGRgIHRoYXQgYXJlIHRvIHRoZSBsZWZ0IG9mIHRoZSBkZWNpbWFsIHBvaW50XG4gIGludGVnZXJMZW46IG51bWJlcjtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYSBudW1iZXIuXG4gKiBTaWduaWZpY2FudCBiaXRzIG9mIHRoaXMgcGFyc2UgYWxnb3JpdGhtIGNhbWUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vTWlrZU1jbC9iaWcuanMvXG4gKi9cbmZ1bmN0aW9uIHBhcnNlTnVtYmVyKG51bTogbnVtYmVyKTogUGFyc2VkTnVtYmVyIHtcbiAgbGV0IG51bVN0ciA9IE1hdGguYWJzKG51bSkgKyAnJztcbiAgbGV0IGV4cG9uZW50ID0gMDtcbiAgbGV0IGRpZ2l0czogbnVtYmVyW107XG4gIGxldCBpbnRlZ2VyTGVuOiBudW1iZXI7XG4gIGxldCBpOiBudW1iZXI7XG4gIGxldCBqOiBudW1iZXI7XG4gIGxldCB6ZXJvczogbnVtYmVyO1xuXG4gIC8vIERlY2ltYWwgcG9pbnQ/XG4gIGlmICgoaW50ZWdlckxlbiA9IG51bVN0ci5pbmRleE9mKERFQ0lNQUxfU0VQKSkgPiAtMSkge1xuICAgIG51bVN0ciA9IG51bVN0ci5yZXBsYWNlKERFQ0lNQUxfU0VQLCAnJyk7XG4gIH1cblxuICAvLyBFeHBvbmVudGlhbCBmb3JtP1xuICBpZiAoKGkgPSBudW1TdHIuc2VhcmNoKC9lL2kpKSA+IDApIHtcbiAgICAvLyBXb3JrIG91dCB0aGUgZXhwb25lbnQuXG4gICAgaWYgKGludGVnZXJMZW4gPCAwKSB7XG4gICAgICBpbnRlZ2VyTGVuID0gaTtcbiAgICB9XG4gICAgaW50ZWdlckxlbiArPSArbnVtU3RyLnNsaWNlKGkgKyAxKTtcbiAgICBudW1TdHIgPSBudW1TdHIuc2xpY2UoMCwgTWF0aC5tYXgoMCwgaSkpO1xuICB9IGVsc2UgaWYgKGludGVnZXJMZW4gPCAwKSB7XG4gICAgLy8gVGhlcmUgd2FzIG5vIGRlY2ltYWwgcG9pbnQgb3IgZXhwb25lbnQgc28gaXQgaXMgYW4gaW50ZWdlci5cbiAgICBpbnRlZ2VyTGVuID0gbnVtU3RyLmxlbmd0aDtcbiAgfVxuXG4gIC8vIENvdW50IHRoZSBudW1iZXIgb2YgbGVhZGluZyB6ZXJvcy5cbiAgZm9yIChpID0gMDsgbnVtU3RyLmNoYXJBdChpKSA9PT0gWkVST19DSEFSOyBpKyspIHtcbiAgICAvKiBlbXB0eSAqL1xuICB9XG5cbiAgaWYgKGkgPT09ICh6ZXJvcyA9IG51bVN0ci5sZW5ndGgpKSB7XG4gICAgLy8gVGhlIGRpZ2l0cyBhcmUgYWxsIHplcm8uXG4gICAgZGlnaXRzID0gWzBdO1xuICAgIGludGVnZXJMZW4gPSAxO1xuICB9IGVsc2Uge1xuICAgIC8vIENvdW50IHRoZSBudW1iZXIgb2YgdHJhaWxpbmcgemVyb3NcbiAgICB6ZXJvcy0tO1xuICAgIHdoaWxlIChudW1TdHIuY2hhckF0KHplcm9zKSA9PT0gWkVST19DSEFSKSB7XG4gICAgICB6ZXJvcy0tO1xuICAgIH1cblxuICAgIC8vIFRyYWlsaW5nIHplcm9zIGFyZSBpbnNpZ25pZmljYW50IHNvIGlnbm9yZSB0aGVtXG4gICAgaW50ZWdlckxlbiAtPSBpO1xuICAgIGRpZ2l0cyA9IFtdO1xuICAgIC8vIENvbnZlcnQgc3RyaW5nIHRvIGFycmF5IG9mIGRpZ2l0cyB3aXRob3V0IGxlYWRpbmcvdHJhaWxpbmcgemVyb3MuXG4gICAgZm9yIChqID0gMDsgaSA8PSB6ZXJvczsgaSsrLCBqKyspIHtcbiAgICAgIGRpZ2l0c1tqXSA9IE51bWJlcihudW1TdHIuY2hhckF0KGkpKTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0aGUgbnVtYmVyIG92ZXJmbG93cyB0aGUgbWF4aW11bSBhbGxvd2VkIGRpZ2l0cyB0aGVuIHVzZSBhbiBleHBvbmVudC5cbiAgaWYgKGludGVnZXJMZW4gPiBNQVhfRElHSVRTKSB7XG4gICAgZGlnaXRzID0gZGlnaXRzLnNwbGljZSgwLCBNQVhfRElHSVRTIC0gMSk7XG4gICAgZXhwb25lbnQgPSBpbnRlZ2VyTGVuIC0gMTtcbiAgICBpbnRlZ2VyTGVuID0gMTtcbiAgfVxuXG4gIHJldHVybiB7IGRpZ2l0cywgZXhwb25lbnQsIGludGVnZXJMZW4gfTtcbn1cblxuLyoqXG4gKiBSb3VuZCB0aGUgcGFyc2VkIG51bWJlciB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBkZWNpbWFsIHBsYWNlc1xuICogVGhpcyBmdW5jdGlvbiBjaGFuZ2VzIHRoZSBwYXJzZWROdW1iZXIgaW4tcGxhY2VcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvY29nbml0aXZlLWNvbXBsZXhpdHlcbmZ1bmN0aW9uIHJvdW5kTnVtYmVyKFxuICBwYXJzZWROdW1iZXI6IFBhcnNlZE51bWJlcixcbiAgbWluRnJhYzogbnVtYmVyLFxuICBtYXhGcmFjOiBudW1iZXIsXG4pIHtcbiAgaWYgKG1pbkZyYWMgPiBtYXhGcmFjKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFRoZSBtaW5pbXVtIG51bWJlciBvZiBkaWdpdHMgYWZ0ZXIgZnJhY3Rpb24gKCR7bWluRnJhY30pIGlzIGhpZ2hlciB0aGFuIHRoZSBtYXhpbXVtICgke21heEZyYWN9KS5gLFxuICAgICk7XG4gIH1cblxuICBjb25zdCBkaWdpdHMgPSBwYXJzZWROdW1iZXIuZGlnaXRzO1xuICBsZXQgZnJhY3Rpb25MZW4gPSBkaWdpdHMubGVuZ3RoIC0gcGFyc2VkTnVtYmVyLmludGVnZXJMZW47XG4gIGNvbnN0IGZyYWN0aW9uU2l6ZSA9IE1hdGgubWluKE1hdGgubWF4KG1pbkZyYWMsIGZyYWN0aW9uTGVuKSwgbWF4RnJhYyk7XG5cbiAgLy8gVGhlIGluZGV4IG9mIHRoZSBkaWdpdCB0byB3aGVyZSByb3VuZGluZyBpcyB0byBvY2N1clxuICBsZXQgcm91bmRBdCA9IGZyYWN0aW9uU2l6ZSArIHBhcnNlZE51bWJlci5pbnRlZ2VyTGVuO1xuICBjb25zdCBkaWdpdCA9IGRpZ2l0c1tyb3VuZEF0XTtcblxuICBpZiAocm91bmRBdCA+IDApIHtcbiAgICAvLyBEcm9wIGZyYWN0aW9uYWwgZGlnaXRzIGJleW9uZCBgcm91bmRBdGBcbiAgICBkaWdpdHMuc3BsaWNlKE1hdGgubWF4KHBhcnNlZE51bWJlci5pbnRlZ2VyTGVuLCByb3VuZEF0KSk7XG5cbiAgICAvLyBTZXQgbm9uLWZyYWN0aW9uYWwgZGlnaXRzIGJleW9uZCBgcm91bmRBdGAgdG8gMFxuICAgIGZvciAobGV0IGogPSByb3VuZEF0OyBqIDwgZGlnaXRzLmxlbmd0aDsgaisrKSB7XG4gICAgICBkaWdpdHNbal0gPSAwO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBXZSByb3VuZGVkIHRvIHplcm8gc28gcmVzZXQgdGhlIHBhcnNlZE51bWJlclxuICAgIGZyYWN0aW9uTGVuID0gTWF0aC5tYXgoMCwgZnJhY3Rpb25MZW4pO1xuICAgIHBhcnNlZE51bWJlci5pbnRlZ2VyTGVuID0gMTtcbiAgICBkaWdpdHMubGVuZ3RoID0gTWF0aC5tYXgoMSwgKHJvdW5kQXQgPSBmcmFjdGlvblNpemUgKyAxKSk7XG4gICAgZGlnaXRzWzBdID0gMDtcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IHJvdW5kQXQ7IGkrKykge1xuICAgICAgZGlnaXRzW2ldID0gMDtcbiAgICB9XG4gIH1cblxuICBpZiAoZGlnaXQgPj0gNSkge1xuICAgIGlmIChyb3VuZEF0IC0gMSA8IDApIHtcbiAgICAgIGZvciAobGV0IGsgPSAwOyBrID4gcm91bmRBdDsgay0tKSB7XG4gICAgICAgIGRpZ2l0cy51bnNoaWZ0KDApO1xuICAgICAgICBwYXJzZWROdW1iZXIuaW50ZWdlckxlbisrO1xuICAgICAgfVxuICAgICAgZGlnaXRzLnVuc2hpZnQoMSk7XG4gICAgICBwYXJzZWROdW1iZXIuaW50ZWdlckxlbisrO1xuICAgIH0gZWxzZSB7XG4gICAgICBkaWdpdHNbcm91bmRBdCAtIDFdKys7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFkIG91dCB3aXRoIHplcm9zIHRvIGdldCB0aGUgcmVxdWlyZWQgZnJhY3Rpb24gbGVuZ3RoXG4gIGZvciAoOyBmcmFjdGlvbkxlbiA8IE1hdGgubWF4KDAsIGZyYWN0aW9uU2l6ZSk7IGZyYWN0aW9uTGVuKyspIHtcbiAgICBkaWdpdHMucHVzaCgwKTtcbiAgfVxuXG4gIGxldCBkcm9wVHJhaWxpbmdaZXJvcyA9IGZyYWN0aW9uU2l6ZSAhPT0gMDtcbiAgLy8gTWluaW1hbCBsZW5ndGggPSBuYiBvZiBkZWNpbWFscyByZXF1aXJlZCArIGN1cnJlbnQgbmIgb2YgaW50ZWdlcnNcbiAgLy8gQW55IG51bWJlciBiZXNpZGVzIHRoYXQgaXMgb3B0aW9uYWwgYW5kIGNhbiBiZSByZW1vdmVkIGlmIGl0J3MgYSB0cmFpbGluZyAwXG4gIGNvbnN0IG1pbkxlbiA9IG1pbkZyYWMgKyBwYXJzZWROdW1iZXIuaW50ZWdlckxlbjtcbiAgLy8gRG8gYW55IGNhcnJ5aW5nLCBlLmcuIGEgZGlnaXQgd2FzIHJvdW5kZWQgdXAgdG8gMTBcbiAgY29uc3QgY2FycnkgPSBkaWdpdHMucmVkdWNlUmlnaHQoKGMsIGQsIGksIGRzKSA9PiB7XG4gICAgZCA9IGQgKyBjO1xuICAgIGRzW2ldID0gZCA8IDEwID8gZCA6IGQgLSAxMDsgLy8gZCAlIDEwXG4gICAgaWYgKGRyb3BUcmFpbGluZ1plcm9zKSB7XG4gICAgICAvLyBEbyBub3Qga2VlcCBtZWFuaW5nbGVzcyBmcmFjdGlvbmFsIHRyYWlsaW5nIHplcm9zIChlLmcuIDE1LjUyMDAwIC0tPiAxNS41MilcbiAgICAgIGlmIChkc1tpXSA9PT0gMCAmJiBpID49IG1pbkxlbikge1xuICAgICAgICBkcy5wb3AoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRyb3BUcmFpbGluZ1plcm9zID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkID49IDEwID8gMSA6IDA7XG4gIH0sIDApO1xuICBpZiAoY2FycnkpIHtcbiAgICBkaWdpdHMudW5zaGlmdChjYXJyeSk7XG4gICAgcGFyc2VkTnVtYmVyLmludGVnZXJMZW4rKztcbiAgfVxufVxuIl19
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LW51bWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3V0aWxzL2Zvcm1hdC1udW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQztBQUN4QixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUM7QUFDdEIsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFDO0FBQzNCLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQztBQUMxQixNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7QUFDdkIsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUM7QUFDOUIsTUFBTSxtQkFBbUIsR0FBRztJQUMxQixLQUFLLEVBQUUsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLENBQUM7SUFDVixPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxDQUFDO0lBQ1QsTUFBTSxFQUFFLEdBQUc7SUFDWCxNQUFNLEVBQUUsRUFBRTtJQUNWLE1BQU0sRUFBRSxFQUFFO0lBQ1YsTUFBTSxFQUFFLEVBQUU7Q0FDWCxDQUFDO0FBRUY7O0dBRUc7QUFDSCx3REFBd0Q7QUFDeEQsU0FBUywwQkFBMEIsQ0FDakMsS0FBYSxFQUNiLE9BQTJCLEVBQzNCLFVBQXFCO0lBRXJCLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUN2QixJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFFbkIsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNwQixNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFeEMsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsQ0FB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LEVBQUUsQ0FBQztJQUM1QixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IE1BWF9ESUdJVFMgPSAyMjtcbmNvbnN0IERFQ0lNQUxfU0VQID0gJy4nO1xuY29uc3QgWkVST19DSEFSID0gJzAnO1xuY29uc3QgU3ltYm9sSW5maW5pdHkgPSAn4oieJztcbmNvbnN0IFN5bWJvbERlY2ltYWwgPSAnLic7XG5jb25zdCBTeW1ib2xHcm91cCA9ICcnO1xuY29uc3QgU3ltYm9sRXhwb25lbnRpYWwgPSAnRSc7XG5jb25zdCBTeW1ib2xOdW1iZXJQYXR0ZXJuID0ge1xuICBnU2l6ZTogMyxcbiAgbGdTaXplOiAzLFxuICBtYXhGcmFjOiAzLFxuICBtaW5GcmFjOiAwLFxuICBtaW5JbnQ6IDEsXG4gIG5lZ1ByZTogJy0nLFxuICBuZWdTdWY6ICcnLFxuICBwb3NQcmU6ICcnLFxuICBwb3NTdWY6ICcnLFxufTtcblxuLyoqXG4gKiBUcmFuc2Zvcm1zIGEgbnVtYmVyIHRvIGEgbG9jYWxlIHN0cmluZyBiYXNlZCBvbiBhIHN0eWxlIGFuZCBhIGZvcm1hdFxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXJqcy9jb2duaXRpdmUtY29tcGxleGl0eVxuZnVuY3Rpb24gZm9ybWF0TnVtYmVyVG9Mb2NhbGVTdHJpbmcoXG4gIHZhbHVlOiBudW1iZXIsXG4gIHBhdHRlcm46IFBhcnNlZE51bWJlckZvcm1hdCxcbiAgZGlnaXRzSW5mbz86IG51bWJlcltdLFxuKTogc3RyaW5nIHtcbiAgbGV0IGZvcm1hdHRlZFRleHQgPSAnJztcbiAgbGV0IGlzWmVybyA9IGZhbHNlO1xuXG4gIGlmIChpc0Zpbml0ZSh2YWx1ZSkpIHtcbiAgICBjb25zdCBwYXJzZWROdW1iZXIgPSBwYXJzZU51bWJlcih2YWx1ZSk7XG5cbiAgICBjb25zdCBtaW5JbnQgPSBkaWdpdHNJbmZvWzBdIHx8IDA7XG4gICAgY29uc3QgbWluRnJhY3Rpb24gPSBkaWdpdHNJbmZvWzFdIHx8IDA7XG4gICAgY29uc3QgbWF4RnJhY3Rpb24gPSBkaWdpdHNJbmZvWzJdIHx8IDA7XG5cbiAgICByb3VuZE51bWJlcihwYXJzZWROdW1iZXIsIG1pbkZyYWN0aW9uLCBtYXhGcmFjdGlvbik7XG5cbiAgICBsZXQgZGlnaXRzID0gcGFyc2VkTnVtYmVyLmRpZ2l0cztcbiAgICBsZXQgaW50ZWdlckxlbiA9IHBhcnNlZE51bWJlci5pbnRlZ2VyTGVuO1xuICAgIGNvbnN0IGV4cG9uZW50ID0gcGFyc2VkTnVtYmVyLmV4cG9uZW50O1xuICAgIGxldCBkZWNpbWFscyA9IFtdO1xuICAgIGlzWmVybyA9IGRpZ2l0cy5ldmVyeShkID0+ICFkKTtcblxuICAgIC8vIHBhZCB6ZXJvcyBmb3Igc21hbGwgbnVtYmVyc1xuICAgIGZvciAoOyBpbnRlZ2VyTGVuIDwgbWluSW50OyBpbnRlZ2VyTGVuKyspIHtcbiAgICAgIGRpZ2l0cy51bnNoaWZ0KDApO1xuICAgIH1cblxuICAgIC8vIHBhZCB6ZXJvcyBmb3Igc21hbGwgbnVtYmVyc1xuICAgIGZvciAoOyBpbnRlZ2VyTGVuIDwgMDsgaW50ZWdlckxlbisrKSB7XG4gICAgICBkaWdpdHMudW5zaGlmdCgwKTtcbiAgICB9XG5cbiAgICAvLyBleHRyYWN0IGRlY2ltYWxzIGRpZ2l0c1xuICAgIGlmIChpbnRlZ2VyTGVuID4gMCkge1xuICAgICAgZGVjaW1hbHMgPSBkaWdpdHMuc3BsaWNlKGludGVnZXJMZW4sIGRpZ2l0cy5sZW5ndGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWNpbWFscyA9IGRpZ2l0cztcbiAgICAgIGRpZ2l0cyA9IFswXTtcbiAgICB9XG5cbiAgICAvLyBmb3JtYXQgdGhlIGludGVnZXIgZGlnaXRzIHdpdGggZ3JvdXBpbmcgc2VwYXJhdG9yc1xuICAgIGNvbnN0IGdyb3VwcyA9IFtdO1xuICAgIGlmIChkaWdpdHMubGVuZ3RoID49IHBhdHRlcm4ubGdTaXplKSB7XG4gICAgICBncm91cHMudW5zaGlmdChkaWdpdHMuc3BsaWNlKC1wYXR0ZXJuLmxnU2l6ZSwgZGlnaXRzLmxlbmd0aCkuam9pbignJykpO1xuICAgIH1cblxuICAgIHdoaWxlIChkaWdpdHMubGVuZ3RoID4gcGF0dGVybi5nU2l6ZSkge1xuICAgICAgZ3JvdXBzLnVuc2hpZnQoZGlnaXRzLnNwbGljZSgtcGF0dGVybi5nU2l6ZSwgZGlnaXRzLmxlbmd0aCkuam9pbignJykpO1xuICAgIH1cblxuICAgIGlmIChkaWdpdHMubGVuZ3RoID4gMCkge1xuICAgICAgZ3JvdXBzLnVuc2hpZnQoZGlnaXRzLmpvaW4oJycpKTtcbiAgICB9XG5cbiAgICBmb3JtYXR0ZWRUZXh0ID0gZ3JvdXBzLmpvaW4oU3ltYm9sR3JvdXApO1xuXG4gICAgLy8gYXBwZW5kIHRoZSBkZWNpbWFsIGRpZ2l0c1xuICAgIGlmIChkZWNpbWFscy5sZW5ndGggPiAwKSB7XG4gICAgICBmb3JtYXR0ZWRUZXh0ICs9IFN5bWJvbERlY2ltYWwgKyBkZWNpbWFscy5qb2luKCcnKTtcbiAgICB9XG5cbiAgICBpZiAoZXhwb25lbnQpIHtcbiAgICAgIGZvcm1hdHRlZFRleHQgKz0gU3ltYm9sRXhwb25lbnRpYWwgKyAnKycgKyBleHBvbmVudDtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgZm9ybWF0dGVkVGV4dCA9IFN5bWJvbEluZmluaXR5O1xuICB9XG5cbiAgZm9ybWF0dGVkVGV4dCA9XG4gICAgdmFsdWUgPCAwICYmICFpc1plcm9cbiAgICAgID8gcGF0dGVybi5uZWdQcmUgKyBmb3JtYXR0ZWRUZXh0ICsgcGF0dGVybi5uZWdTdWZcbiAgICAgIDogcGF0dGVybi5wb3NQcmUgKyBmb3JtYXR0ZWRUZXh0ICsgcGF0dGVybi5wb3NTdWY7XG5cbiAgcmV0dXJuIGZvcm1hdHRlZFRleHQ7XG59XG5cbi8qKlxuICogQG5nTW9kdWxlIENvbW1vbk1vZHVsZVxuICpcbiAqIEZvcm1hdHMgYSBudW1iZXIgYXMgdGV4dC4gR3JvdXAgc2l6aW5nIGFuZCBzZXBhcmF0b3IgYW5kIG90aGVyIGxvY2FsZS1zcGVjaWZpY1xuICogY29uZmlndXJhdGlvbnMgYXJlIGJhc2VkIG9uIHRoZSBsb2NhbGUuXG4gKlxuICogV2hlcmU6XG4gKiAtIGB2YWx1ZWAgaXMgYSBudW1iZXIuXG4gKiAtIGBkaWdpdEluZm9gIFNlZSB7QGxpbmsgRGVjaW1hbFBpcGV9IGZvciBtb3JlIGRldGFpbHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXROdW1iZXIodmFsdWU6IG51bWJlciwgZGlnaXRzSW5mbz86IG51bWJlcltdKTogc3RyaW5nIHtcbiAgcmV0dXJuIGZvcm1hdE51bWJlclRvTG9jYWxlU3RyaW5nKHZhbHVlLCBTeW1ib2xOdW1iZXJQYXR0ZXJuLCBkaWdpdHNJbmZvKTtcbn1cblxuaW50ZXJmYWNlIFBhcnNlZE51bWJlckZvcm1hdCB7XG4gIG1pbkludDogbnVtYmVyO1xuICAvLyB0aGUgbWluaW11bSBudW1iZXIgb2YgZGlnaXRzIHJlcXVpcmVkIGluIHRoZSBmcmFjdGlvbiBwYXJ0IG9mIHRoZSBudW1iZXJcbiAgbWluRnJhYzogbnVtYmVyO1xuICAvLyB0aGUgbWF4aW11bSBudW1iZXIgb2YgZGlnaXRzIHJlcXVpcmVkIGluIHRoZSBmcmFjdGlvbiBwYXJ0IG9mIHRoZSBudW1iZXJcbiAgbWF4RnJhYzogbnVtYmVyO1xuICAvLyB0aGUgcHJlZml4IGZvciBhIHBvc2l0aXZlIG51bWJlclxuICBwb3NQcmU6IHN0cmluZztcbiAgLy8gdGhlIHN1ZmZpeCBmb3IgYSBwb3NpdGl2ZSBudW1iZXJcbiAgcG9zU3VmOiBzdHJpbmc7XG4gIC8vIHRoZSBwcmVmaXggZm9yIGEgbmVnYXRpdmUgbnVtYmVyIChlLmcuIGAtYCBvciBgKGApKVxuICBuZWdQcmU6IHN0cmluZztcbiAgLy8gdGhlIHN1ZmZpeCBmb3IgYSBuZWdhdGl2ZSBudW1iZXIgKGUuZy4gYClgKVxuICBuZWdTdWY6IHN0cmluZztcbiAgLy8gbnVtYmVyIG9mIGRpZ2l0cyBpbiBlYWNoIGdyb3VwIG9mIHNlcGFyYXRlZCBkaWdpdHNcbiAgZ1NpemU6IG51bWJlcjtcbiAgLy8gbnVtYmVyIG9mIGRpZ2l0cyBpbiB0aGUgbGFzdCBncm91cCBvZiBkaWdpdHMgYmVmb3JlIHRoZSBkZWNpbWFsIHNlcGFyYXRvclxuICBsZ1NpemU6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIFBhcnNlZE51bWJlciB7XG4gIC8vIGFuIGFycmF5IG9mIGRpZ2l0cyBjb250YWluaW5nIGxlYWRpbmcgemVyb3MgYXMgbmVjZXNzYXJ5XG4gIGRpZ2l0czogbnVtYmVyW107XG4gIC8vIHRoZSBleHBvbmVudCBmb3IgbnVtYmVycyB0aGF0IHdvdWxkIG5lZWQgbW9yZSB0aGFuIGBNQVhfRElHSVRTYCBkaWdpdHMgaW4gYGRgXG4gIGV4cG9uZW50OiBudW1iZXI7XG4gIC8vIHRoZSBudW1iZXIgb2YgdGhlIGRpZ2l0cyBpbiBgZGAgdGhhdCBhcmUgdG8gdGhlIGxlZnQgb2YgdGhlIGRlY2ltYWwgcG9pbnRcbiAgaW50ZWdlckxlbjogbnVtYmVyO1xufVxuXG4vKipcbiAqIFBhcnNlcyBhIG51bWJlci5cbiAqIFNpZ25pZmljYW50IGJpdHMgb2YgdGhpcyBwYXJzZSBhbGdvcml0aG0gY2FtZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWtlTWNsL2JpZy5qcy9cbiAqL1xuZnVuY3Rpb24gcGFyc2VOdW1iZXIobnVtOiBudW1iZXIpOiBQYXJzZWROdW1iZXIge1xuICBsZXQgbnVtU3RyID0gTWF0aC5hYnMobnVtKSArICcnO1xuICBsZXQgZXhwb25lbnQgPSAwO1xuICBsZXQgZGlnaXRzOiBudW1iZXJbXTtcbiAgbGV0IGludGVnZXJMZW46IG51bWJlcjtcbiAgbGV0IGk6IG51bWJlcjtcbiAgbGV0IGo6IG51bWJlcjtcbiAgbGV0IHplcm9zOiBudW1iZXI7XG5cbiAgLy8gRGVjaW1hbCBwb2ludD9cbiAgaWYgKChpbnRlZ2VyTGVuID0gbnVtU3RyLmluZGV4T2YoREVDSU1BTF9TRVApKSA+IC0xKSB7XG4gICAgbnVtU3RyID0gbnVtU3RyLnJlcGxhY2UoREVDSU1BTF9TRVAsICcnKTtcbiAgfVxuXG4gIC8vIEV4cG9uZW50aWFsIGZvcm0/XG4gIGlmICgoaSA9IG51bVN0ci5zZWFyY2goL2UvaSkpID4gMCkge1xuICAgIC8vIFdvcmsgb3V0IHRoZSBleHBvbmVudC5cbiAgICBpZiAoaW50ZWdlckxlbiA8IDApIHtcbiAgICAgIGludGVnZXJMZW4gPSBpO1xuICAgIH1cbiAgICBpbnRlZ2VyTGVuICs9ICtudW1TdHIuc2xpY2UoaSArIDEpO1xuICAgIG51bVN0ciA9IG51bVN0ci5zbGljZSgwLCBNYXRoLm1heCgwLCBpKSk7XG4gIH0gZWxzZSBpZiAoaW50ZWdlckxlbiA8IDApIHtcbiAgICAvLyBUaGVyZSB3YXMgbm8gZGVjaW1hbCBwb2ludCBvciBleHBvbmVudCBzbyBpdCBpcyBhbiBpbnRlZ2VyLlxuICAgIGludGVnZXJMZW4gPSBudW1TdHIubGVuZ3RoO1xuICB9XG5cbiAgLy8gQ291bnQgdGhlIG51bWJlciBvZiBsZWFkaW5nIHplcm9zLlxuICBmb3IgKGkgPSAwOyBudW1TdHIuY2hhckF0KGkpID09PSBaRVJPX0NIQVI7IGkrKykge1xuICAgIC8qIGVtcHR5ICovXG4gIH1cblxuICBpZiAoaSA9PT0gKHplcm9zID0gbnVtU3RyLmxlbmd0aCkpIHtcbiAgICAvLyBUaGUgZGlnaXRzIGFyZSBhbGwgemVyby5cbiAgICBkaWdpdHMgPSBbMF07XG4gICAgaW50ZWdlckxlbiA9IDE7XG4gIH0gZWxzZSB7XG4gICAgLy8gQ291bnQgdGhlIG51bWJlciBvZiB0cmFpbGluZyB6ZXJvc1xuICAgIHplcm9zLS07XG4gICAgd2hpbGUgKG51bVN0ci5jaGFyQXQoemVyb3MpID09PSBaRVJPX0NIQVIpIHtcbiAgICAgIHplcm9zLS07XG4gICAgfVxuXG4gICAgLy8gVHJhaWxpbmcgemVyb3MgYXJlIGluc2lnbmlmaWNhbnQgc28gaWdub3JlIHRoZW1cbiAgICBpbnRlZ2VyTGVuIC09IGk7XG4gICAgZGlnaXRzID0gW107XG4gICAgLy8gQ29udmVydCBzdHJpbmcgdG8gYXJyYXkgb2YgZGlnaXRzIHdpdGhvdXQgbGVhZGluZy90cmFpbGluZyB6ZXJvcy5cbiAgICBmb3IgKGogPSAwOyBpIDw9IHplcm9zOyBpKyssIGorKykge1xuICAgICAgZGlnaXRzW2pdID0gTnVtYmVyKG51bVN0ci5jaGFyQXQoaSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRoZSBudW1iZXIgb3ZlcmZsb3dzIHRoZSBtYXhpbXVtIGFsbG93ZWQgZGlnaXRzIHRoZW4gdXNlIGFuIGV4cG9uZW50LlxuICBpZiAoaW50ZWdlckxlbiA+IE1BWF9ESUdJVFMpIHtcbiAgICBkaWdpdHMgPSBkaWdpdHMuc3BsaWNlKDAsIE1BWF9ESUdJVFMgLSAxKTtcbiAgICBleHBvbmVudCA9IGludGVnZXJMZW4gLSAxO1xuICAgIGludGVnZXJMZW4gPSAxO1xuICB9XG5cbiAgcmV0dXJuIHsgZGlnaXRzLCBleHBvbmVudCwgaW50ZWdlckxlbiB9O1xufVxuXG4vKipcbiAqIFJvdW5kIHRoZSBwYXJzZWQgbnVtYmVyIHRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzXG4gKiBUaGlzIGZ1bmN0aW9uIGNoYW5nZXMgdGhlIHBhcnNlZE51bWJlciBpbi1wbGFjZVxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXJqcy9jb2duaXRpdmUtY29tcGxleGl0eVxuZnVuY3Rpb24gcm91bmROdW1iZXIoXG4gIHBhcnNlZE51bWJlcjogUGFyc2VkTnVtYmVyLFxuICBtaW5GcmFjOiBudW1iZXIsXG4gIG1heEZyYWM6IG51bWJlcixcbikge1xuICBpZiAobWluRnJhYyA+IG1heEZyYWMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVGhlIG1pbmltdW0gbnVtYmVyIG9mIGRpZ2l0cyBhZnRlciBmcmFjdGlvbiAoJHttaW5GcmFjfSkgaXMgaGlnaGVyIHRoYW4gdGhlIG1heGltdW0gKCR7bWF4RnJhY30pLmAsXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGRpZ2l0cyA9IHBhcnNlZE51bWJlci5kaWdpdHM7XG4gIGxldCBmcmFjdGlvbkxlbiA9IGRpZ2l0cy5sZW5ndGggLSBwYXJzZWROdW1iZXIuaW50ZWdlckxlbjtcbiAgY29uc3QgZnJhY3Rpb25TaXplID0gTWF0aC5taW4oTWF0aC5tYXgobWluRnJhYywgZnJhY3Rpb25MZW4pLCBtYXhGcmFjKTtcblxuICAvLyBUaGUgaW5kZXggb2YgdGhlIGRpZ2l0IHRvIHdoZXJlIHJvdW5kaW5nIGlzIHRvIG9jY3VyXG4gIGxldCByb3VuZEF0ID0gZnJhY3Rpb25TaXplICsgcGFyc2VkTnVtYmVyLmludGVnZXJMZW47XG4gIGNvbnN0IGRpZ2l0ID0gZGlnaXRzW3JvdW5kQXRdO1xuXG4gIGlmIChyb3VuZEF0ID4gMCkge1xuICAgIC8vIERyb3AgZnJhY3Rpb25hbCBkaWdpdHMgYmV5b25kIGByb3VuZEF0YFxuICAgIGRpZ2l0cy5zcGxpY2UoTWF0aC5tYXgocGFyc2VkTnVtYmVyLmludGVnZXJMZW4sIHJvdW5kQXQpKTtcblxuICAgIC8vIFNldCBub24tZnJhY3Rpb25hbCBkaWdpdHMgYmV5b25kIGByb3VuZEF0YCB0byAwXG4gICAgZm9yIChsZXQgaiA9IHJvdW5kQXQ7IGogPCBkaWdpdHMubGVuZ3RoOyBqKyspIHtcbiAgICAgIGRpZ2l0c1tqXSA9IDA7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIFdlIHJvdW5kZWQgdG8gemVybyBzbyByZXNldCB0aGUgcGFyc2VkTnVtYmVyXG4gICAgZnJhY3Rpb25MZW4gPSBNYXRoLm1heCgwLCBmcmFjdGlvbkxlbik7XG4gICAgcGFyc2VkTnVtYmVyLmludGVnZXJMZW4gPSAxO1xuICAgIGRpZ2l0cy5sZW5ndGggPSBNYXRoLm1heCgxLCAocm91bmRBdCA9IGZyYWN0aW9uU2l6ZSArIDEpKTtcbiAgICBkaWdpdHNbMF0gPSAwO1xuICAgIGZvciAobGV0IGkgPSAxOyBpIDwgcm91bmRBdDsgaSsrKSB7XG4gICAgICBkaWdpdHNbaV0gPSAwO1xuICAgIH1cbiAgfVxuXG4gIGlmIChkaWdpdCA+PSA1KSB7XG4gICAgaWYgKHJvdW5kQXQgLSAxIDwgMCkge1xuICAgICAgZm9yIChsZXQgayA9IDA7IGsgPiByb3VuZEF0OyBrLS0pIHtcbiAgICAgICAgZGlnaXRzLnVuc2hpZnQoMCk7XG4gICAgICAgIHBhcnNlZE51bWJlci5pbnRlZ2VyTGVuKys7XG4gICAgICB9XG4gICAgICBkaWdpdHMudW5zaGlmdCgxKTtcbiAgICAgIHBhcnNlZE51bWJlci5pbnRlZ2VyTGVuKys7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpZ2l0c1tyb3VuZEF0IC0gMV0rKztcbiAgICB9XG4gIH1cblxuICAvLyBQYWQgb3V0IHdpdGggemVyb3MgdG8gZ2V0IHRoZSByZXF1aXJlZCBmcmFjdGlvbiBsZW5ndGhcbiAgZm9yICg7IGZyYWN0aW9uTGVuIDwgTWF0aC5tYXgoMCwgZnJhY3Rpb25TaXplKTsgZnJhY3Rpb25MZW4rKykge1xuICAgIGRpZ2l0cy5wdXNoKDApO1xuICB9XG5cbiAgbGV0IGRyb3BUcmFpbGluZ1plcm9zID0gZnJhY3Rpb25TaXplICE9PSAwO1xuICAvLyBNaW5pbWFsIGxlbmd0aCA9IG5iIG9mIGRlY2ltYWxzIHJlcXVpcmVkICsgY3VycmVudCBuYiBvZiBpbnRlZ2Vyc1xuICAvLyBBbnkgbnVtYmVyIGJlc2lkZXMgdGhhdCBpcyBvcHRpb25hbCBhbmQgY2FuIGJlIHJlbW92ZWQgaWYgaXQncyBhIHRyYWlsaW5nIDBcbiAgY29uc3QgbWluTGVuID0gbWluRnJhYyArIHBhcnNlZE51bWJlci5pbnRlZ2VyTGVuO1xuICAvLyBEbyBhbnkgY2FycnlpbmcsIGUuZy4gYSBkaWdpdCB3YXMgcm91bmRlZCB1cCB0byAxMFxuICBjb25zdCBjYXJyeSA9IGRpZ2l0cy5yZWR1Y2VSaWdodCgoYywgZCwgaSwgZHMpID0+IHtcbiAgICBkID0gZCArIGM7XG4gICAgZHNbaV0gPSBkIDwgMTAgPyBkIDogZCAtIDEwOyAvLyBkICUgMTBcbiAgICBpZiAoZHJvcFRyYWlsaW5nWmVyb3MpIHtcbiAgICAgIC8vIERvIG5vdCBrZWVwIG1lYW5pbmdsZXNzIGZyYWN0aW9uYWwgdHJhaWxpbmcgemVyb3MgKGUuZy4gMTUuNTIwMDAgLS0+IDE1LjUyKVxuICAgICAgaWYgKGRzW2ldID09PSAwICYmIGkgPj0gbWluTGVuKSB7XG4gICAgICAgIGRzLnBvcCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZHJvcFRyYWlsaW5nWmVyb3MgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGQgPj0gMTAgPyAxIDogMDtcbiAgfSwgMCk7XG4gIGlmIChjYXJyeSkge1xuICAgIGRpZ2l0cy51bnNoaWZ0KGNhcnJ5KTtcbiAgICBwYXJzZWROdW1iZXIuaW50ZWdlckxlbisrO1xuICB9XG59XG4iXX0=
@@ -96,4 +96,4 @@ function unitCompensate(unit) {
96
96
  }
97
97
  throw new Error(`Unknown unit ${unit}`);
98
98
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS91dGlscy9rOHMtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3ZFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLFNBQWlCLEVBQUUsTUFBYyxFQUFFLElBQVksRUFBRSxFQUFFLENBQzFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztBQUVyRSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsU0FBaUIsRUFBRSxJQUFZLEVBQVUsRUFBRSxDQUMzRSxRQUFRLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FDM0MsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxDQUFDLFNBQWlCLEVBQUUsSUFBWSxFQUFVLEVBQUUsQ0FDOUUsUUFBUSxDQUFDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUN0RSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUU5QyxNQUFNLENB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bmltcG9ydCB7IGdldEdsb2JhbEVudmlyb25tZW50cywgR0xPQkFMX0NMVVNURVIgfSBmcm9tICcuLi9jb25zdGFudHMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBBTk5PVEFUSU9OUywgTEFCRUxTLCBNRVRBREFUQSB9IGZyb20gJy4uL3NlcnZpY2VzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgS3ViZXJuZXRlc1Jlc291cmNlLCBPd25lclJlZmVyZW5jZSB9IGZyb20gJy4uL3R5cGVzL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgY29uc3QgYXNzZW1ibGUgPSAoc3ViZG9tYWluOiBzdHJpbmcsIGRvbWFpbjogc3RyaW5nLCB0eXBlOiBzdHJpbmcpID0+XG4gIHN1YmRvbWFpbiA/IGAke3N1YmRvbWFpbn0uJHtkb21haW59LyR7dHlwZX1gIDogYCR7ZG9tYWlufS8ke3R5cGV9YDtcblxuZXhwb3J0IGNvbnN0IGs4c1N1Ykdyb3VwID0gY3VycnkoKHN1YmRvbWFpbjogc3RyaW5nLCB0eXBlOiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgYXNzZW1ibGUoc3ViZG9tYWluLCAna3ViZXJuZXRlcy5pbycsIHR5cGUpLFxuKTtcblxuZXhwb3J0IGNvbnN0IGs4c0dyb3VwID0gazhzU3ViR3JvdXAoJycpO1xuXG5leHBvcnQgY29uc3Qgc3ViZG9tYWluR3JvdXAgPSBjdXJyeSgoc3ViZG9tYWluOiBzdHJpbmcsIHR5cGU6IHN0cmluZyk6IHN0cmluZyA9PlxuICBhc3NlbWJsZShzdWJkb21haW4sIGdldEdsb2JhbEVudmlyb25tZW50cygnTEFCRUxfQkFTRV9ET01BSU4nKSwgdHlwZSksXG4pO1xuXG5leHBvcnQgY29uc3QgZG9tYWluR3JvdXAgPSBzdWJkb21haW5Hcm91cCgnJyk7XG5cbmV4cG9ydCBjb25zdCBnZXRTdWJkb21haW5MYWJlbCA9IGN1cnJ5KFxuICAoc3ViZG9tYWluOiBzdHJpbmcsIHR5cGU6IHN0cmluZywgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSk6IHN0cmluZyA9PlxuICAgIHBhdGgoW01FVEFEQVRBLCBMQUJFTFMsIHN1YmRvbWFpbkdyb3VwKHN1YmRvbWFpbiwgdHlwZSldLCByZXNvdXJjZSksXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0RG9tYWluTGFiZWwgPSBjdXJyeShcbiAgKHR5cGU6IHN0cmluZywgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSk6IHN0cmluZyA9PlxuICAgIHBhdGgoW01FVEFEQVRBLCBMQUJFTFMsIHN1YmRvbWFpbkdyb3VwKCcnLCB0eXBlKV0sIHJlc291cmNlKSxcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRMYWJlbCA9IGN1cnJ5KFxuICAoa2V5OiBzdHJpbmcsIHJlc291cmNlOiBLdWJlcm5ldGVzUmVzb3VyY2UpOiBzdHJpbmcgPT5cbiAgICBwYXRoKFtNRVRBREFUQSwgTEFCRUxTLCBrZXldLCByZXNvdXJjZSksXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0U3ViZG9tYWluQW5ub3RhdGlvbiA9IGN1cnJ5KFxuICAoc3ViZG9tYWluOiBzdHJpbmcsIHR5cGU6IHN0cmluZywgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSk6IHN0cmluZyA9PlxuICAgIHBhdGgoW01FVEFEQVRBLCBBTk5PVEFUSU9OUywgc3ViZG9tYWluR3JvdXAoc3ViZG9tYWluLCB0eXBlKV0sIHJlc291cmNlKSxcbik7XG5cbmV4cG9ydCBjb25zdCBnZXREb21haW5Bbm5vdGF0aW9uID0gY3VycnkoXG4gICh0eXBlOiBzdHJpbmcsIHJlc291cmNlOiBLdWJlcm5ldGVzUmVzb3VyY2UpOiBzdHJpbmcgPT5cbiAgICBwYXRoKFtNRVRBREFUQSwgQU5OT1RBVElPTlMsIHN1YmRvbWFpbkdyb3VwKCcnLCB0eXBlKV0sIHJlc291cmNlKSxcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRBbm5vdGF0aW9uID0gY3VycnkoXG4gIChrZXk6IHN0cmluZywgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSk6IHN0cmluZyA9PlxuICAgIHBhdGgoW01FVEFEQVRBLCBBTk5PVEFUSU9OUywga2V5XSwgcmVzb3VyY2UpLFxuKTtcblxuY29uc3QgYXNzaWduTWV0YWRhdGEgPVxuICAoZ3JvdXA6IHN0cmluZykgPT5cbiAgPFY+KHZhbHVlOiBSZWNvcmQ8c3RyaW5nLCBWPikgPT5cbiAgPFIgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KHJlc291cmNlOiBSKTogUiA9PlxuICAgIE9iamVjdC5lbnRyaWVzKHZhbHVlKS5yZWR1Y2UoXG4gICAgICAoYWNjLCBba2V5LCB2YWx1ZV0pID0+IGFzc29jUGF0aChbTUVUQURBVEEsIGdyb3VwLCBrZXldLCB2YWx1ZSwgYWNjKSxcbiAgICAgIHJlc291cmNlLFxuICAgICk7XG5cbmV4cG9ydCBjb25zdCBhc3NpZ25MYWJlbHMgPSBhc3NpZ25NZXRhZGF0YShMQUJFTFMpPHN0cmluZz47XG5cbmV4cG9ydCBjb25zdCBhc3NpZ25Bbm5vdGF0aW9ucyA9IGFzc2lnbk1ldGFkYXRhKEFOTk9UQVRJT05TKTxzdHJpbmc+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0R2xvYmFsTnMoKSB7XG4gIHJldHVybiBnZXRHbG9iYWxFbnZpcm9ubWVudHMoJ0dMT0JBTF9OQU1FU1BBQ0UnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU93bmVyUmVmZXJlbmNlKFxuICBvd25lcjogS3ViZXJuZXRlc1Jlc291cmNlLFxuICB7XG4gICAgYmxvY2tPd25lckRlbGV0aW9uID0gdHJ1ZSxcbiAgICBjb250cm9sbGVyID0gdHJ1ZSxcbiAgfTogUGFydGlhbDx7XG4gICAgYmxvY2tPd25lckRlbGV0aW9uOiBib29sZWFuO1xuICAgIGNvbnRyb2xsZXI6IGJvb2xlYW47XG4gIH0+ID0ge30sXG4pOiBPd25lclJlZmVyZW5jZSB7XG4gIHJldHVybiB7XG4gICAgYXBpVmVyc2lvbjogb3duZXIuYXBpVmVyc2lvbixcbiAgICBraW5kOiBvd25lci5raW5kLFxuICAgIG5hbWU6IG93bmVyLm1ldGFkYXRhLm5hbWUsXG4gICAgdWlkOiBvd25lci5tZXRhZGF0YS51aWQsXG4gICAgYmxvY2tPd25lckRlbGV0aW9uLFxuICAgIGNvbnRyb2xsZXIsXG4gIH07XG59XG5cbi8vIGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3JlZmVyZW5jZS9rdWJlcm5ldGVzLWFwaS9jb21tb24tZGVmaW5pdGlvbnMvcXVhbnRpdHkvXG4vLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9NZXRyaWNfcHJlZml4XG4vLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CaW5hcnlfcHJlZml4XG5leHBvcnQgY29uc3QgSzhTX0JJTkFSWV9VTklUUyA9IFtcbiAgJ0tpJyxcbiAgJ01pJyxcbiAgJ0dpJyxcbiAgJ1RpJyxcbiAgJ1BpJyxcbiAgJ0VpJyxcbiAgJ1ppJyxcbiAgJ1lpJyxcbl0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBLOFNfREVDSU1BTF9VTklUUyA9IFtcbiAgJ20nLFxuICAnJyxcbiAgJ2snLFxuICAnTScsXG4gICdHJyxcbiAgJ1QnLFxuICAnUCcsXG4gICdFJyxcbiAgJ1onLFxuICAnWScsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VRdWFudGl0eSh2YWx1ZTogc3RyaW5nKTogUXVhbnRpdHkge1xuICBjb25zdCByZWcgPSAvXihcXGQrfFxcZCtcXC5cXGQrKShbQS1aYS16XSopJC87XG4gIGNvbnN0IHJlcyA9IHJlZy5leGVjKHZhbHVlKTtcbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogcmVzPy5bMV0gPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHBhcnNlRmxvYXQocmVzWzFdKSxcbiAgICB1bml0OiByZXM/LlsyXSBhcyBRdWFudGl0eVVuaXQsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0UXVhbnRpdHlVbml0KFxuICB0YXJnZXRVbml0OiBRdWFudGl0eVVuaXQsXG4pOiAoc291cmNlOiBRdWFudGl0eSkgPT4gUXVhbnRpdHk7XG5leHBvcnQgZnVuY3Rpb24gY29udmVydFF1YW50aXR5VW5pdChcbiAgdGFyZ2V0VW5pdDogUXVhbnRpdHlVbml0LFxuICBzb3VyY2U6IFF1YW50aXR5LFxuKTogUXVhbnRpdHk7XG5leHBvcnQgZnVuY3Rpb24gY29udmVydFF1YW50aXR5VW5pdChcbiAgdGFyZ2V0VW5pdDogUXVhbnRpdHlVbml0LFxuICBzb3VyY2U/OiBRdWFudGl0eSxcbik6ICgoc291cmNlOiBRdWFudGl0eSkgPT4gUXVhbnRpdHkpIHwgUXVhbnRpdHkge1xuICBjb25zdCBmbiA9IChzb3VyY2U6IFF1YW50aXR5KSA9PiB7XG4gICAgaWYgKHNvdXJjZS52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHNvdXJjZS51bml0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBzb3VyY2U7XG4gICAgfVxuXG4gICAgaWYgKHNvdXJjZS51bml0ID09PSB0YXJnZXRVbml0KSB7XG4gICAgICByZXR1cm4gc291cmNlO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZTpcbiAgICAgICAgTWF0aC5yb3VuZChcbiAgICAgICAgICAoKHNvdXJjZS52YWx1ZSAqIHVuaXRDb21wZW5zYXRlKHNvdXJjZS51bml0KSkgL1xuICAgICAgICAgICAgdW5pdENvbXBlbnNhdGUodGFyZ2V0VW5pdCkpICpcbiAgICAgICAgICAgIDEwMDAsXG4gICAgICAgICkgLyAxMDAwLFxuICAgICAgdW5pdDogdGFyZ2V0VW5pdCxcbiAgICB9O1xuICB9O1xuXG4gIHJldHVybiBzb3VyY2UgPyBmbihzb3VyY2UpIDogZm47XG59XG5cbi8vIEdMT0JBTCDpm4bnvqTnmoTpobnnm67lkIzlkI0gTlMg5ZCN56ew5LiN5Lya5YW35pyJIElOTkVSX1BST0pFQ1RfTlNfUFJFRklYIOWJjee8gFxuZXhwb3J0IGZ1bmN0aW9uIGdldFByb2plY3ROcyhwcm9qZWN0OiBzdHJpbmcsIGNsdXN0ZXI6IHN0cmluZykge1xuICByZXR1cm4gYCR7XG4gICAgY2x1c3RlciA9PT0gR0xPQkFMX0NMVVNURVJcbiAgICAgID8gJydcbiAgICAgIDogZ2V0R2xvYmFsRW52aXJvbm1lbnRzKCdJTk5FUl9QUk9KRUNUX05TX1BSRUZJWCcpIHx8ICcnXG4gIH0ke3Byb2plY3R9YDtcbn1cblxuZnVuY3Rpb24gdW5pdENvbXBlbnNhdGUodW5pdDogUXVhbnRpdHlVbml0KTogbnVtYmVyIHtcbiAgaWYgKEs4U19CSU5BUllfVU5JVFMuaW5jbHVkZXModW5pdCBhcyAodHlwZW9mIEs4U19CSU5BUllfVU5JVFMpW251bWJlcl0pKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDEwMjQgKipcbiAgICAgIChLOFNfQklOQVJZX1VOSVRTLmluZGV4T2YodW5pdCBhcyAodHlwZW9mIEs4U19CSU5BUllfVU5JVFMpW251bWJlcl0pICsgMSlcbiAgICApO1xuICB9XG4gIGlmIChLOFNfREVDSU1BTF9VTklUUy5pbmNsdWRlcyh1bml0IGFzICh0eXBlb2YgSzhTX0RFQ0lNQUxfVU5JVFMpW251bWJlcl0pKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDEwMDAgKipcbiAgICAgIChLOFNfREVDSU1BTF9VTklUUy5pbmRleE9mKHVuaXQgYXMgKHR5cGVvZiBLOFNfREVDSU1BTF9VTklUUylbbnVtYmVyXSkgLVxuICAgICAgICAxKVxuICAgICk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHVuaXQgJHt1bml0fWApO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1YW50aXR5IHtcbiAgdmFsdWU6IG51bWJlcjtcbiAgdW5pdDogUXVhbnRpdHlVbml0O1xufVxuXG5leHBvcnQgdHlwZSBRdWFudGl0eVVuaXQgPVxuICB8ICh0eXBlb2YgSzhTX0JJTkFSWV9VTklUUylbbnVtYmVyXVxuICB8ICh0eXBlb2YgSzhTX0RFQ0lNQUxfVU5JVFMpW251bWJlcl07XG4iXX0=
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS91dGlscy9rOHMtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3ZFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLFNBQWlCLEVBQUUsTUFBYyxFQUFFLElBQVksRUFBRSxFQUFFLENBQzFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztBQUVyRSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsU0FBaUIsRUFBRSxJQUFZLEVBQVUsRUFBRSxDQUMzRSxRQUFRLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FDM0MsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxDQUFDLFNBQWlCLEVBQUUsSUFBWSxFQUFVLEVBQUUsQ0FDOUUsUUFBUSxDQUFDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUN0RSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUU5QyxNQUFNLENB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IGFzc29jUGF0aCwgY3VycnksIHBhdGggfSBmcm9tICdyYW1kYSc7XG5cbmltcG9ydCB7IGdldEdsb2JhbEVudmlyb25tZW50cywgR0xPQkFMX0NMVVNURVIgfSBmcm9tICcuLi9jb25zdGFudHMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBBTk5PVEFUSU9OUywgTEFCRUxTLCBNRVRBREFUQSB9IGZyb20gJy4uL3NlcnZpY2VzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgS3ViZXJuZXRlc1Jlc291cmNlLCBPd25lclJlZmVyZW5jZSB9IGZyb20gJy4uL3R5cGVzL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgY29uc3QgYXNzZW1ibGUgPSAoc3ViZG9tYWluOiBzdHJpbmcsIGRvbWFpbjogc3RyaW5nLCB0eXBlOiBzdHJpbmcpID0+XG4gIHN1YmRvbWFpbiA/IGAke3N1YmRvbWFpbn0uJHtkb21haW59LyR7dHlwZX1gIDogYCR7ZG9tYWlufS8ke3R5cGV9YDtcblxuZXhwb3J0IGNvbnN0IGs4c1N1Ykdyb3VwID0gY3VycnkoKHN1YmRvbWFpbjogc3RyaW5nLCB0eXBlOiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgYXNzZW1ibGUoc3ViZG9tYWluLCAna3ViZXJuZXRlcy5pbycsIHR5cGUpLFxuKTtcblxuZXhwb3J0IGNvbnN0IGs4c0dyb3VwID0gazhzU3ViR3JvdXAoJycpO1xuXG5leHBvcnQgY29uc3Qgc3ViZG9tYWluR3JvdXAgPSBjdXJyeSgoc3ViZG9tYWluOiBzdHJpbmcsIHR5cGU6IHN0cmluZyk6IHN0cmluZyA9PlxuICBhc3NlbWJsZShzdWJkb21haW4sIGdldEdsb2JhbEVudmlyb25tZW50cygnTEFCRUxfQkFTRV9ET01BSU4nKSwgdHlwZSksXG4pO1xuXG5leHBvcnQgY29uc3QgZG9tYWluR3JvdXAgPSBzdWJkb21haW5Hcm91cCgnJyk7XG5cbmV4cG9ydCBjb25zdCBnZXRTdWJkb21haW5MYWJlbCA9IGN1cnJ5KFxuICAoc3ViZG9tYWluOiBzdHJpbmcsIHR5cGU6IHN0cmluZywgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSk6IHN0cmluZyA9PlxuICAgIHBhdGgoW01FVEFEQVRBLCBMQUJFTFMsIHN1YmRvbWFpbkdyb3VwKHN1YmRvbWFpbiwgdHlwZSldLCByZXNvdXJjZSksXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0RG9tYWluTGFiZWwgPSBjdXJyeShcbiAgKHR5cGU6IHN0cmluZywgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSk6IHN0cmluZyA9PlxuICAgIHBhdGgoW01FVEFEQVRBLCBMQUJFTFMsIHN1YmRvbWFpbkdyb3VwKCcnLCB0eXBlKV0sIHJlc291cmNlKSxcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRMYWJlbCA9IGN1cnJ5KFxuICAoa2V5OiBzdHJpbmcsIHJlc291cmNlOiBLdWJlcm5ldGVzUmVzb3VyY2UpOiBzdHJpbmcgPT5cbiAgICBwYXRoKFtNRVRBREFUQSwgTEFCRUxTLCBrZXldLCByZXNvdXJjZSksXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0U3ViZG9tYWluQW5ub3RhdGlvbiA9IGN1cnJ5KFxuICAoc3ViZG9tYWluOiBzdHJpbmcsIHR5cGU6IHN0cmluZywgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSk6IHN0cmluZyA9PlxuICAgIHBhdGgoW01FVEFEQVRBLCBBTk5PVEFUSU9OUywgc3ViZG9tYWluR3JvdXAoc3ViZG9tYWluLCB0eXBlKV0sIHJlc291cmNlKSxcbik7XG5cbmV4cG9ydCBjb25zdCBnZXREb21haW5Bbm5vdGF0aW9uID0gY3VycnkoXG4gICh0eXBlOiBzdHJpbmcsIHJlc291cmNlOiBLdWJlcm5ldGVzUmVzb3VyY2UpOiBzdHJpbmcgPT5cbiAgICBwYXRoKFtNRVRBREFUQSwgQU5OT1RBVElPTlMsIHN1YmRvbWFpbkdyb3VwKCcnLCB0eXBlKV0sIHJlc291cmNlKSxcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRBbm5vdGF0aW9uID0gY3VycnkoXG4gIChrZXk6IHN0cmluZywgcmVzb3VyY2U6IEt1YmVybmV0ZXNSZXNvdXJjZSk6IHN0cmluZyA9PlxuICAgIHBhdGgoW01FVEFEQVRBLCBBTk5PVEFUSU9OUywga2V5XSwgcmVzb3VyY2UpLFxuKTtcblxuY29uc3QgYXNzaWduTWV0YWRhdGEgPVxuICAoZ3JvdXA6IHN0cmluZykgPT5cbiAgPFY+KHZhbHVlOiBSZWNvcmQ8c3RyaW5nLCBWPikgPT5cbiAgPFIgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KHJlc291cmNlOiBSKTogUiA9PlxuICAgIE9iamVjdC5lbnRyaWVzKHZhbHVlKS5yZWR1Y2UoXG4gICAgICAoYWNjLCBba2V5LCB2YWx1ZV0pID0+IGFzc29jUGF0aChbTUVUQURBVEEsIGdyb3VwLCBrZXldLCB2YWx1ZSwgYWNjKSxcbiAgICAgIHJlc291cmNlLFxuICAgICk7XG5cbmV4cG9ydCBjb25zdCBhc3NpZ25MYWJlbHMgPSBhc3NpZ25NZXRhZGF0YShMQUJFTFMpPHN0cmluZz47XG5cbmV4cG9ydCBjb25zdCBhc3NpZ25Bbm5vdGF0aW9ucyA9IGFzc2lnbk1ldGFkYXRhKEFOTk9UQVRJT05TKTxzdHJpbmc+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0R2xvYmFsTnMoKSB7XG4gIHJldHVybiBnZXRHbG9iYWxFbnZpcm9ubWVudHMoJ0dMT0JBTF9OQU1FU1BBQ0UnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU93bmVyUmVmZXJlbmNlKFxuICBvd25lcjogS3ViZXJuZXRlc1Jlc291cmNlLFxuICB7XG4gICAgYmxvY2tPd25lckRlbGV0aW9uID0gdHJ1ZSxcbiAgICBjb250cm9sbGVyID0gdHJ1ZSxcbiAgfTogUGFydGlhbDx7XG4gICAgYmxvY2tPd25lckRlbGV0aW9uOiBib29sZWFuO1xuICAgIGNvbnRyb2xsZXI6IGJvb2xlYW47XG4gIH0+ID0ge30sXG4pOiBPd25lclJlZmVyZW5jZSB7XG4gIHJldHVybiB7XG4gICAgYXBpVmVyc2lvbjogb3duZXIuYXBpVmVyc2lvbixcbiAgICBraW5kOiBvd25lci5raW5kLFxuICAgIG5hbWU6IG93bmVyLm1ldGFkYXRhLm5hbWUsXG4gICAgdWlkOiBvd25lci5tZXRhZGF0YS51aWQsXG4gICAgYmxvY2tPd25lckRlbGV0aW9uLFxuICAgIGNvbnRyb2xsZXIsXG4gIH07XG59XG5cbi8vIGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3JlZmVyZW5jZS9rdWJlcm5ldGVzLWFwaS9jb21tb24tZGVmaW5pdGlvbnMvcXVhbnRpdHkvXG4vLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9NZXRyaWNfcHJlZml4XG4vLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CaW5hcnlfcHJlZml4XG5leHBvcnQgY29uc3QgSzhTX0JJTkFSWV9VTklUUyA9IFtcbiAgJ0tpJyxcbiAgJ01pJyxcbiAgJ0dpJyxcbiAgJ1RpJyxcbiAgJ1BpJyxcbiAgJ0VpJyxcbiAgJ1ppJyxcbiAgJ1lpJyxcbl0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBLOFNfREVDSU1BTF9VTklUUyA9IFtcbiAgJ20nLFxuICAnJyxcbiAgJ2snLFxuICAnTScsXG4gICdHJyxcbiAgJ1QnLFxuICAnUCcsXG4gICdFJyxcbiAgJ1onLFxuICAnWScsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VRdWFudGl0eSh2YWx1ZTogc3RyaW5nKTogUXVhbnRpdHkge1xuICBjb25zdCByZWcgPSAvXihcXGQrfFxcZCtcXC5cXGQrKShbQS1aYS16XSopJC87XG4gIGNvbnN0IHJlcyA9IHJlZy5leGVjKHZhbHVlKTtcbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogcmVzPy5bMV0gPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHBhcnNlRmxvYXQocmVzWzFdKSxcbiAgICB1bml0OiByZXM/LlsyXSBhcyBRdWFudGl0eVVuaXQsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0UXVhbnRpdHlVbml0KFxuICB0YXJnZXRVbml0OiBRdWFudGl0eVVuaXQsXG4pOiAoc291cmNlOiBRdWFudGl0eSkgPT4gUXVhbnRpdHk7XG5leHBvcnQgZnVuY3Rpb24gY29udmVydFF1YW50aXR5VW5pdChcbiAgdGFyZ2V0VW5pdDogUXVhbnRpdHlVbml0LFxuICBzb3VyY2U6IFF1YW50aXR5LFxuKTogUXVhbnRpdHk7XG5leHBvcnQgZnVuY3Rpb24gY29udmVydFF1YW50aXR5VW5pdChcbiAgdGFyZ2V0VW5pdDogUXVhbnRpdHlVbml0LFxuICBzb3VyY2U/OiBRdWFudGl0eSxcbik6ICgoc291cmNlOiBRdWFudGl0eSkgPT4gUXVhbnRpdHkpIHwgUXVhbnRpdHkge1xuICBjb25zdCBmbiA9IChzb3VyY2U6IFF1YW50aXR5KSA9PiB7XG4gICAgaWYgKHNvdXJjZS52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHNvdXJjZS51bml0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBzb3VyY2U7XG4gICAgfVxuXG4gICAgaWYgKHNvdXJjZS51bml0ID09PSB0YXJnZXRVbml0KSB7XG4gICAgICByZXR1cm4gc291cmNlO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZTpcbiAgICAgICAgTWF0aC5yb3VuZChcbiAgICAgICAgICAoKHNvdXJjZS52YWx1ZSAqIHVuaXRDb21wZW5zYXRlKHNvdXJjZS51bml0KSkgL1xuICAgICAgICAgICAgdW5pdENvbXBlbnNhdGUodGFyZ2V0VW5pdCkpICpcbiAgICAgICAgICAgIDEwMDAsXG4gICAgICAgICkgLyAxMDAwLFxuICAgICAgdW5pdDogdGFyZ2V0VW5pdCxcbiAgICB9O1xuICB9O1xuXG4gIHJldHVybiBzb3VyY2UgPyBmbihzb3VyY2UpIDogZm47XG59XG5cbi8vIEdMT0JBTCDpm4bnvqTnmoTpobnnm67lkIzlkI0gTlMg5ZCN56ew5LiN5Lya5YW35pyJIElOTkVSX1BST0pFQ1RfTlNfUFJFRklYIOWJjee8gFxuZXhwb3J0IGZ1bmN0aW9uIGdldFByb2plY3ROcyhwcm9qZWN0OiBzdHJpbmcsIGNsdXN0ZXI6IHN0cmluZykge1xuICByZXR1cm4gYCR7XG4gICAgY2x1c3RlciA9PT0gR0xPQkFMX0NMVVNURVJcbiAgICAgID8gJydcbiAgICAgIDogZ2V0R2xvYmFsRW52aXJvbm1lbnRzKCdJTk5FUl9QUk9KRUNUX05TX1BSRUZJWCcpIHx8ICcnXG4gIH0ke3Byb2plY3R9YDtcbn1cblxuZnVuY3Rpb24gdW5pdENvbXBlbnNhdGUodW5pdDogUXVhbnRpdHlVbml0KTogbnVtYmVyIHtcbiAgaWYgKEs4U19CSU5BUllfVU5JVFMuaW5jbHVkZXModW5pdCBhcyAodHlwZW9mIEs4U19CSU5BUllfVU5JVFMpW251bWJlcl0pKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDEwMjQgKipcbiAgICAgIChLOFNfQklOQVJZX1VOSVRTLmluZGV4T2YodW5pdCBhcyAodHlwZW9mIEs4U19CSU5BUllfVU5JVFMpW251bWJlcl0pICsgMSlcbiAgICApO1xuICB9XG4gIGlmIChLOFNfREVDSU1BTF9VTklUUy5pbmNsdWRlcyh1bml0IGFzICh0eXBlb2YgSzhTX0RFQ0lNQUxfVU5JVFMpW251bWJlcl0pKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDEwMDAgKipcbiAgICAgIChLOFNfREVDSU1BTF9VTklUUy5pbmRleE9mKHVuaXQgYXMgKHR5cGVvZiBLOFNfREVDSU1BTF9VTklUUylbbnVtYmVyXSkgLVxuICAgICAgICAxKVxuICAgICk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHVuaXQgJHt1bml0fWApO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1YW50aXR5IHtcbiAgdmFsdWU6IG51bWJlcjtcbiAgdW5pdDogUXVhbnRpdHlVbml0O1xufVxuXG5leHBvcnQgdHlwZSBRdWFudGl0eVVuaXQgPVxuICB8ICh0eXBlb2YgSzhTX0JJTkFSWV9VTklUUylbbnVtYmVyXVxuICB8ICh0eXBlb2YgSzhTX0RFQ0lNQUxfVU5JVFMpW251bWJlcl07XG4iXX0=
@@ -29,4 +29,4 @@ export const tapSkip = (nEmissions, callback) => (source$) => defer(() => {
29
29
  counter++;
30
30
  }));
31
31
  });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3V0aWxzL29ic2VydmFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEVBQ1AsRUFBRSxFQUNGLFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEVBQ0gsS0FBSyxHQUNOLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV6QyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUNsQyxNQUEyQixFQUMzQixNQUFtQyxFQUNkLEVBQUU7SUFDdkIsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDO0lBQ2hDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFcEMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLEVBQUUsQ0FDakMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUMzQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQy9ELENBQUM7SUFFSixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQ2pCLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFDckIsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ2hCLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FDMUQsRUFDRCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDbEUsR0FBRyxDQUFDLEdBQUcsRUFBRTtRQUNQLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQixDQUFDLENBQUMsRUFDRixVQUFVLEVBQUUsQ0FDYixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsOElBQThJO0FBQzlJLE1BQU0sVUFBVSxTQUFTLENBQUMsVUFBdUI7SUFDL0MsSUFBSSxDQUFDLFVBQVUsRUFBRTtRQUNmLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDakM7SUFFRCxPQUFPLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQy9CLE9BQU8sVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FDbEIsQ0FBSSxVQUFrQixFQUFFLFFBQTJCLEVBQUUsRUFBRSxDQUN2RCxDQUFDLE9BQXNCLEVBQWlCLEVBQUUsQ0FDeEMsS0FBSyxDQUFDLEdBQUcsRUFBRTtJQUNULElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNoQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQ2pCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNULElBQUksT0FBTyxJQUFJLFVBQVUsRUFBRTtZQUN6QixRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEI7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc051bWJlciB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1xuICBFTVBUWSxcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgb2YsXG4gIGNhdGNoRXJyb3IsXG4gIGRlbGF5LFxuICBzdGFydFdpdGgsXG4gIHN3aXRjaE1hcCxcbiAgdGFwLFxuICBkZWZlcixcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHB1Ymxpc2hSZWYgfSBmcm9tICcuL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQb2xsT2JzZXJ2YWJsZSA9IDxUUmVzdWx0PihcbiAgZmV0Y2gkOiBPYnNlcnZhYmxlPFRSZXN1bHQ+LFxuICBwb2xsSW46IG51bWJlciB8IE9ic2VydmFibGU8bnVtYmVyPixcbik6IE9ic2VydmFibGU8VFJlc3VsdD4gPT4ge1xuICBjb25zdCBJTklUX1ZBTFVFID0gJ0luaXRpYWxpemUnO1xuICBjb25zdCBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdCBjcmVhdGVEZWxheU9ic2VydmFibGUgPSAoKSA9PlxuICAgIChpc051bWJlcihwb2xsSW4pID8gb2YocG9sbEluKSA6IHBvbGxJbikucGlwZShcbiAgICAgIHN3aXRjaE1hcChwaSA9PiAocGkgPT09IDAgPyBFTVBUWSA6IG9mKG51bGwpLnBpcGUoZGVsYXkocGkpKSkpLFxuICAgICk7XG5cbiAgcmV0dXJuIHN1YmplY3QucGlwZShcbiAgICBzdGFydFdpdGgoSU5JVF9WQUxVRSksXG4gICAgc3dpdGNoTWFwKHZhbHVlID0+XG4gICAgICB2YWx1ZSA9PT0gSU5JVF9WQUxVRSA/IG9mKG51bGwpIDogY3JlYXRlRGVsYXlPYnNlcnZhYmxlKCksXG4gICAgKSxcbiAgICBzd2l0Y2hNYXAoKCkgPT4gZmV0Y2gkLnBpcGUoY2F0Y2hFcnJvcigoXzogdW5rbm93bikgPT4gb2YobnVsbCkpKSksXG4gICAgdGFwKCgpID0+IHtcbiAgICAgIHN1YmplY3QubmV4dCgpO1xuICAgIH0pLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcbn07XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi82ZmVmYmU4ZmNhNmU5NjU0OTQxNmEyN2MxNGUwMjk1N2RhMTI5MWU3L3BhY2thZ2VzL2NvcmUvcnhqcy1pbnRlcm9wL3NyYy90YWtlX3VudGlsX2Rlc3Ryb3llZC50cyNMMjNcbmV4cG9ydCBmdW5jdGlvbiBvbkRlc3Ryb3koZGVzdHJveVJlZj86IERlc3Ryb3lSZWYpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgaWYgKCFkZXN0cm95UmVmKSB7XG4gICAgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0KG9uRGVzdHJveSk7XG4gICAgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgcmV0dXJuIGRlc3Ryb3lSZWYub25EZXN0cm95KG9ic2VydmVyLm5leHQuYmluZChvYnNlcnZlcikpO1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IHRhcFNraXAgPVxuICA8VD4obkVtaXNzaW9uczogbnVtYmVyLCBjYWxsYmFjazogKGFyZ3M6IFQpID0+IHZvaWQpID0+XG4gIChzb3VyY2UkOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiA9PlxuICAgIGRlZmVyKCgpID0+IHtcbiAgICAgIGxldCBjb3VudGVyID0gMDtcbiAgICAgIHJldHVybiBzb3VyY2UkLnBpcGUoXG4gICAgICAgIHRhcChpdGVtID0+IHtcbiAgICAgICAgICBpZiAoY291bnRlciA+PSBuRW1pc3Npb25zKSB7XG4gICAgICAgICAgICBjYWxsYmFjayhpdGVtKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY291bnRlcisrO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfSk7XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3V0aWxzL29ic2VydmFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEVBQ1AsRUFBRSxFQUNGLFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEVBQ0gsS0FBSyxHQUNOLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV6QyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUNsQyxNQUEyQixFQUMzQixNQUFtQyxFQUNkLEVBQUU7SUFDdkIsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDO0lBQ2hDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFcEMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLEVBQUUsQ0FDakMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUMzQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQy9ELENBQUM7SUFFSixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQ2pCLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFDckIsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ2hCLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FDMUQsRUFDRCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDbEUsR0FBRyxDQUFDLEdBQUcsRUFBRTtRQUNQLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQixDQUFDLENBQUMsRUFDRixVQUFVLEVBQUUsQ0FDYixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsOElBQThJO0FBQzlJLE1BQU0sVUFBVSxTQUFTLENBQUMsVUFBdUI7SUFDL0MsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hCLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDL0IsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUNsQixDQUFJLFVBQWtCLEVBQUUsUUFBMkIsRUFBRSxFQUFFLENBQ3ZELENBQUMsT0FBc0IsRUFBaUIsRUFBRSxDQUN4QyxLQUFLLENBQUMsR0FBRyxFQUFFO0lBQ1QsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FDakIsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ1QsSUFBSSxPQUFPLElBQUksVUFBVSxFQUFFLENBQUM7WUFDMUIsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc051bWJlciB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1xuICBFTVBUWSxcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgb2YsXG4gIGNhdGNoRXJyb3IsXG4gIGRlbGF5LFxuICBzdGFydFdpdGgsXG4gIHN3aXRjaE1hcCxcbiAgdGFwLFxuICBkZWZlcixcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHB1Ymxpc2hSZWYgfSBmcm9tICcuL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQb2xsT2JzZXJ2YWJsZSA9IDxUUmVzdWx0PihcbiAgZmV0Y2gkOiBPYnNlcnZhYmxlPFRSZXN1bHQ+LFxuICBwb2xsSW46IG51bWJlciB8IE9ic2VydmFibGU8bnVtYmVyPixcbik6IE9ic2VydmFibGU8VFJlc3VsdD4gPT4ge1xuICBjb25zdCBJTklUX1ZBTFVFID0gJ0luaXRpYWxpemUnO1xuICBjb25zdCBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdCBjcmVhdGVEZWxheU9ic2VydmFibGUgPSAoKSA9PlxuICAgIChpc051bWJlcihwb2xsSW4pID8gb2YocG9sbEluKSA6IHBvbGxJbikucGlwZShcbiAgICAgIHN3aXRjaE1hcChwaSA9PiAocGkgPT09IDAgPyBFTVBUWSA6IG9mKG51bGwpLnBpcGUoZGVsYXkocGkpKSkpLFxuICAgICk7XG5cbiAgcmV0dXJuIHN1YmplY3QucGlwZShcbiAgICBzdGFydFdpdGgoSU5JVF9WQUxVRSksXG4gICAgc3dpdGNoTWFwKHZhbHVlID0+XG4gICAgICB2YWx1ZSA9PT0gSU5JVF9WQUxVRSA/IG9mKG51bGwpIDogY3JlYXRlRGVsYXlPYnNlcnZhYmxlKCksXG4gICAgKSxcbiAgICBzd2l0Y2hNYXAoKCkgPT4gZmV0Y2gkLnBpcGUoY2F0Y2hFcnJvcigoXzogdW5rbm93bikgPT4gb2YobnVsbCkpKSksXG4gICAgdGFwKCgpID0+IHtcbiAgICAgIHN1YmplY3QubmV4dCgpO1xuICAgIH0pLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcbn07XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi82ZmVmYmU4ZmNhNmU5NjU0OTQxNmEyN2MxNGUwMjk1N2RhMTI5MWU3L3BhY2thZ2VzL2NvcmUvcnhqcy1pbnRlcm9wL3NyYy90YWtlX3VudGlsX2Rlc3Ryb3llZC50cyNMMjNcbmV4cG9ydCBmdW5jdGlvbiBvbkRlc3Ryb3koZGVzdHJveVJlZj86IERlc3Ryb3lSZWYpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgaWYgKCFkZXN0cm95UmVmKSB7XG4gICAgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0KG9uRGVzdHJveSk7XG4gICAgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgcmV0dXJuIGRlc3Ryb3lSZWYub25EZXN0cm95KG9ic2VydmVyLm5leHQuYmluZChvYnNlcnZlcikpO1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IHRhcFNraXAgPVxuICA8VD4obkVtaXNzaW9uczogbnVtYmVyLCBjYWxsYmFjazogKGFyZ3M6IFQpID0+IHZvaWQpID0+XG4gIChzb3VyY2UkOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiA9PlxuICAgIGRlZmVyKCgpID0+IHtcbiAgICAgIGxldCBjb3VudGVyID0gMDtcbiAgICAgIHJldHVybiBzb3VyY2UkLnBpcGUoXG4gICAgICAgIHRhcChpdGVtID0+IHtcbiAgICAgICAgICBpZiAoY291bnRlciA+PSBuRW1pc3Npb25zKSB7XG4gICAgICAgICAgICBjYWxsYmFjayhpdGVtKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY291bnRlcisrO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfSk7XG4iXX0=