@ngxs/store 3.8.2-dev.master-0fd1fe5 → 3.8.2

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 (273) hide show
  1. package/bundles/ngxs-store-internals-testing.umd.js +684 -0
  2. package/bundles/ngxs-store-internals-testing.umd.js.map +1 -0
  3. package/bundles/ngxs-store-internals.umd.js +141 -0
  4. package/bundles/ngxs-store-internals.umd.js.map +1 -0
  5. package/bundles/ngxs-store-operators.umd.js +224 -0
  6. package/bundles/ngxs-store-operators.umd.js.map +1 -0
  7. package/bundles/ngxs-store.umd.js +3076 -0
  8. package/bundles/ngxs-store.umd.js.map +1 -0
  9. package/esm2015/internals/index.js +5 -0
  10. package/esm2015/internals/initial-state.js +17 -0
  11. package/esm2015/internals/internal-tokens.js +5 -0
  12. package/{esm2020/internals/ngxs-bootstrapper.mjs → esm2015/internals/ngxs-bootstrapper.js} +4 -4
  13. package/esm2015/internals/src/symbols.js +2 -0
  14. package/esm2015/internals/symbols.js +2 -0
  15. package/esm2015/internals/testing/fresh-platform.js +70 -0
  16. package/{esm2020/internals/testing/helpers/ngxs-test.component.mjs → esm2015/internals/testing/helpers/ngxs-test.component.js} +4 -4
  17. package/esm2015/internals/testing/helpers/ngxs-test.module.js +21 -0
  18. package/{esm2020/internals/testing/ngxs.setup.mjs → esm2015/internals/testing/ngxs.setup.js} +2 -4
  19. package/esm2015/internals/testing/symbol.js +2 -0
  20. package/esm2015/operators/patch.js +21 -0
  21. package/{esm2020/src/actions-stream.mjs → esm2015/src/actions-stream.js} +7 -7
  22. package/esm2015/src/configs/messages.config.js +36 -0
  23. package/{esm2020/src/decorators/select/select-factory.mjs → esm2015/src/decorators/select/select-factory.js} +4 -4
  24. package/esm2015/src/decorators/selector/selector.js +32 -0
  25. package/esm2015/src/decorators/state.js +36 -0
  26. package/{esm2020/src/dev-features/ngxs-development.module.mjs → esm2015/src/dev-features/ngxs-development.module.js} +5 -5
  27. package/{esm2020/src/dev-features/ngxs-unhandled-actions-logger.mjs → esm2015/src/dev-features/ngxs-unhandled-actions-logger.js} +4 -4
  28. package/{esm2020/src/execution/dispatch-outside-zone-ngxs-execution-strategy.mjs → esm2015/src/execution/dispatch-outside-zone-ngxs-execution-strategy.js} +4 -4
  29. package/{esm2020/src/execution/internal-ngxs-execution-strategy.mjs → esm2015/src/execution/internal-ngxs-execution-strategy.js} +4 -4
  30. package/{esm2020/src/execution/noop-ngxs-execution-strategy.mjs → esm2015/src/execution/noop-ngxs-execution-strategy.js} +4 -4
  31. package/esm2015/src/execution/symbols.js +23 -0
  32. package/{esm2020/src/internal/dispatcher.mjs → esm2015/src/internal/dispatcher.js} +11 -11
  33. package/{esm2020/src/internal/error-handler.mjs → esm2015/src/internal/error-handler.js} +5 -5
  34. package/esm2015/src/internal/internals.js +248 -0
  35. package/esm2015/src/internal/lifecycle-state-manager.js +79 -0
  36. package/{esm2020/src/internal/state-context-factory.mjs → esm2015/src/internal/state-context-factory.js} +4 -4
  37. package/esm2015/src/internal/state-factory.js +288 -0
  38. package/{esm2020/src/internal/state-operations.mjs → esm2015/src/internal/state-operations.js} +5 -5
  39. package/esm2015/src/internal/state-operators.js +20 -0
  40. package/esm2015/src/internal/state-stream.js +25 -0
  41. package/{esm2020/src/ivy/ivy-enabled-in-dev-mode.mjs → esm2015/src/ivy/ivy-enabled-in-dev-mode.js} +2 -2
  42. package/esm2015/src/module.js +88 -0
  43. package/esm2015/src/modules/ngxs-feature.module.js +45 -0
  44. package/esm2015/src/modules/ngxs-root.module.js +41 -0
  45. package/{esm2020/src/operators/of-action.mjs → esm2015/src/operators/of-action.js} +10 -10
  46. package/{esm2020/src/plugin-manager.mjs → esm2015/src/plugin-manager.js} +4 -4
  47. package/esm2015/src/public_api.js +27 -0
  48. package/esm2015/src/selectors/create-property-selectors.js +20 -0
  49. package/esm2015/src/selectors/selector-metadata.js +30 -0
  50. package/esm2015/src/selectors/selector-types.util.js +2 -0
  51. package/{esm2020/src/store.mjs → esm2015/src/store.js} +5 -6
  52. package/esm2015/src/symbols.js +58 -0
  53. package/esm2015/src/utils/utils.js +92 -0
  54. package/fesm2015/{ngxs-store-internals-testing.mjs → ngxs-store-internals-testing.js} +13 -19
  55. package/fesm2015/ngxs-store-internals-testing.js.map +1 -0
  56. package/{fesm2020/ngxs-store-internals.mjs → fesm2015/ngxs-store-internals.js} +8 -21
  57. package/fesm2015/ngxs-store-internals.js.map +1 -0
  58. package/fesm2015/{ngxs-store-operators.mjs → ngxs-store-operators.js} +1 -1
  59. package/fesm2015/ngxs-store-operators.js.map +1 -0
  60. package/{fesm2020/ngxs-store.mjs → fesm2015/ngxs-store.js} +1029 -1192
  61. package/fesm2015/ngxs-store.js.map +1 -0
  62. package/internals/index.d.ts +1 -1
  63. package/internals/initial-state.d.ts +1 -1
  64. package/internals/ngxs-store-internals.d.ts +5 -0
  65. package/internals/package.json +10 -0
  66. package/internals/src/symbols.d.ts +1 -4
  67. package/internals/symbols.d.ts +1 -4
  68. package/internals/testing/helpers/ngxs-test.component.d.ts +1 -1
  69. package/internals/testing/ngxs-store-internals-testing.d.ts +5 -0
  70. package/internals/testing/package.json +10 -0
  71. package/internals/testing/symbol.d.ts +2 -2
  72. package/ngxs-store.d.ts +5 -0
  73. package/operators/ngxs-store-operators.d.ts +5 -0
  74. package/operators/package.json +10 -0
  75. package/package.json +11 -48
  76. package/src/configs/messages.config.d.ts +0 -2
  77. package/src/decorators/state.d.ts +2 -2
  78. package/src/execution/symbols.d.ts +2 -8
  79. package/src/internal/internals.d.ts +5 -5
  80. package/src/internal/lifecycle-state-manager.d.ts +1 -3
  81. package/src/module.d.ts +14 -3
  82. package/src/modules/ngxs-feature.module.d.ts +9 -2
  83. package/src/modules/ngxs-root.module.d.ts +9 -2
  84. package/src/public_api.d.ts +4 -5
  85. package/src/selectors/selector-types.util.d.ts +3 -3
  86. package/src/symbols.d.ts +8 -5
  87. package/esm2020/internals/index.mjs +0 -6
  88. package/esm2020/internals/initial-state.mjs +0 -18
  89. package/esm2020/internals/internal-tokens.mjs +0 -6
  90. package/esm2020/internals/src/symbols.mjs +0 -11
  91. package/esm2020/internals/symbols.mjs +0 -11
  92. package/esm2020/internals/testing/fresh-platform.mjs +0 -72
  93. package/esm2020/internals/testing/helpers/ngxs-test.module.mjs +0 -20
  94. package/esm2020/internals/testing/symbol.mjs +0 -2
  95. package/esm2020/operators/patch.mjs +0 -21
  96. package/esm2020/src/configs/messages.config.mjs +0 -48
  97. package/esm2020/src/decorators/selector/selector.mjs +0 -32
  98. package/esm2020/src/decorators/state.mjs +0 -36
  99. package/esm2020/src/execution/symbols.mjs +0 -27
  100. package/esm2020/src/internal/internals.mjs +0 -248
  101. package/esm2020/src/internal/lifecycle-state-manager.mjs +0 -97
  102. package/esm2020/src/internal/state-factory.mjs +0 -292
  103. package/esm2020/src/internal/state-operators.mjs +0 -20
  104. package/esm2020/src/internal/state-stream.mjs +0 -27
  105. package/esm2020/src/module.mjs +0 -27
  106. package/esm2020/src/modules/ngxs-feature.module.mjs +0 -18
  107. package/esm2020/src/modules/ngxs-root.module.mjs +0 -18
  108. package/esm2020/src/public_api.mjs +0 -28
  109. package/esm2020/src/selectors/create-property-selectors.mjs +0 -20
  110. package/esm2020/src/selectors/selector-metadata.mjs +0 -35
  111. package/esm2020/src/selectors/selector-types.util.mjs +0 -2
  112. package/esm2020/src/standalone-features/feature-providers.mjs +0 -20
  113. package/esm2020/src/standalone-features/index.mjs +0 -4
  114. package/esm2020/src/standalone-features/initializers.mjs +0 -86
  115. package/esm2020/src/standalone-features/plugin.mjs +0 -20
  116. package/esm2020/src/standalone-features/provide-states.mjs +0 -26
  117. package/esm2020/src/standalone-features/provide-store.mjs +0 -26
  118. package/esm2020/src/standalone-features/root-providers.mjs +0 -47
  119. package/esm2020/src/symbols.mjs +0 -65
  120. package/esm2020/src/utils/utils.mjs +0 -92
  121. package/fesm2015/ngxs-store-internals-testing.mjs.map +0 -1
  122. package/fesm2015/ngxs-store-internals.mjs +0 -114
  123. package/fesm2015/ngxs-store-internals.mjs.map +0 -1
  124. package/fesm2015/ngxs-store-operators.mjs.map +0 -1
  125. package/fesm2015/ngxs-store.mjs +0 -2454
  126. package/fesm2015/ngxs-store.mjs.map +0 -1
  127. package/fesm2020/ngxs-store-internals-testing.mjs +0 -180
  128. package/fesm2020/ngxs-store-internals-testing.mjs.map +0 -1
  129. package/fesm2020/ngxs-store-internals.mjs.map +0 -1
  130. package/fesm2020/ngxs-store-operators.mjs +0 -202
  131. package/fesm2020/ngxs-store-operators.mjs.map +0 -1
  132. package/fesm2020/ngxs-store.mjs.map +0 -1
  133. package/schematics/collection.json +0 -36
  134. package/schematics/src/actions/actions.factory.d.ts +0 -3
  135. package/schematics/src/actions/actions.factory.js +0 -22
  136. package/schematics/src/actions/actions.factory.js.map +0 -1
  137. package/schematics/src/actions/files/__name__.actions.ts__template__ +0 -4
  138. package/schematics/src/actions/schema.json +0 -28
  139. package/schematics/src/ng-add/add-declaration.d.ts +0 -4
  140. package/schematics/src/ng-add/add-declaration.js +0 -109
  141. package/schematics/src/ng-add/add-declaration.js.map +0 -1
  142. package/schematics/src/ng-add/ng-add.factory.d.ts +0 -9
  143. package/schematics/src/ng-add/ng-add.factory.js +0 -86
  144. package/schematics/src/ng-add/ng-add.factory.js.map +0 -1
  145. package/schematics/src/ng-add/schema.json +0 -72
  146. package/schematics/src/starter-kit/files/store/auth/auth.actions.ts__template__ +0 -7
  147. package/schematics/src/starter-kit/files/store/auth/auth.state.spec.ts__template__ +0 -46
  148. package/schematics/src/starter-kit/files/store/auth/auth.state.ts__template__ +0 -45
  149. package/schematics/src/starter-kit/files/store/dashboard/index.ts__template__ +0 -11
  150. package/schematics/src/starter-kit/files/store/dashboard/states/dictionary/dictionary.actions.ts__template__ +0 -13
  151. package/schematics/src/starter-kit/files/store/dashboard/states/dictionary/dictionary.state.spec.ts__template__ +0 -77
  152. package/schematics/src/starter-kit/files/store/dashboard/states/dictionary/dictionary.state.ts__template__ +0 -60
  153. package/schematics/src/starter-kit/files/store/dashboard/states/user/user.actions.ts__template__ +0 -6
  154. package/schematics/src/starter-kit/files/store/dashboard/states/user/user.state.spec.ts__template__ +0 -54
  155. package/schematics/src/starter-kit/files/store/dashboard/states/user/user.state.ts__template__ +0 -40
  156. package/schematics/src/starter-kit/files/store/store.config.ts__template__ +0 -38
  157. package/schematics/src/starter-kit/files/store/store.module.ts__template__ +0 -22
  158. package/schematics/src/starter-kit/schema.json +0 -18
  159. package/schematics/src/starter-kit/starter-kit.factory.d.ts +0 -3
  160. package/schematics/src/starter-kit/starter-kit.factory.js +0 -12
  161. package/schematics/src/starter-kit/starter-kit.factory.js.map +0 -1
  162. package/schematics/src/state/files/__name__.state.spec.ts__template__ +0 -22
  163. package/schematics/src/state/files/__name__.state.ts__template__ +0 -20
  164. package/schematics/src/state/schema.json +0 -33
  165. package/schematics/src/state/state.factory.d.ts +0 -3
  166. package/schematics/src/state/state.factory.js +0 -20
  167. package/schematics/src/state/state.factory.js.map +0 -1
  168. package/schematics/src/store/files/__name__.actions.ts__template__ +0 -4
  169. package/schematics/src/store/files/__name__.state.spec.ts__template__ +0 -24
  170. package/schematics/src/store/files/__name__.state.ts__template__ +0 -27
  171. package/schematics/src/store/schema.json +0 -33
  172. package/schematics/src/store/store.factory.d.ts +0 -3
  173. package/schematics/src/store/store.factory.js +0 -20
  174. package/schematics/src/store/store.factory.js.map +0 -1
  175. package/schematics/src/utils/common/lib.config.d.ts +0 -10
  176. package/schematics/src/utils/common/lib.config.js +0 -15
  177. package/schematics/src/utils/common/lib.config.js.map +0 -1
  178. package/schematics/src/utils/common/project-files.config.d.ts +0 -3
  179. package/schematics/src/utils/common/project-files.config.js +0 -7
  180. package/schematics/src/utils/common/project-files.config.js.map +0 -1
  181. package/schematics/src/utils/common/properties.d.ts +0 -1
  182. package/schematics/src/utils/common/properties.js +0 -8
  183. package/schematics/src/utils/common/properties.js.map +0 -1
  184. package/schematics/src/utils/config.d.ts +0 -119
  185. package/schematics/src/utils/config.js +0 -21
  186. package/schematics/src/utils/config.js.map +0 -1
  187. package/schematics/src/utils/generate-utils.d.ts +0 -4
  188. package/schematics/src/utils/generate-utils.js +0 -14
  189. package/schematics/src/utils/generate-utils.js.map +0 -1
  190. package/schematics/src/utils/interfaces/package.interface.d.ts +0 -7
  191. package/schematics/src/utils/interfaces/package.interface.js +0 -3
  192. package/schematics/src/utils/interfaces/package.interface.js.map +0 -1
  193. package/schematics/src/utils/ng-utils/README.md +0 -1
  194. package/schematics/src/utils/ng-utils/ast-utils.d.ts +0 -99
  195. package/schematics/src/utils/ng-utils/ast-utils.js +0 -517
  196. package/schematics/src/utils/ng-utils/ast-utils.js.map +0 -1
  197. package/schematics/src/utils/ng-utils/ng-ast-utils.d.ts +0 -5
  198. package/schematics/src/utils/ng-utils/ng-ast-utils.js +0 -67
  199. package/schematics/src/utils/ng-utils/ng-ast-utils.js.map +0 -1
  200. package/schematics/src/utils/ng-utils/project.d.ts +0 -2
  201. package/schematics/src/utils/ng-utils/project.js +0 -21
  202. package/schematics/src/utils/ng-utils/project.js.map +0 -1
  203. package/schematics/src/utils/ng-utils/standalone/app_config.d.ts +0 -16
  204. package/schematics/src/utils/ng-utils/standalone/app_config.js +0 -84
  205. package/schematics/src/utils/ng-utils/standalone/app_config.js.map +0 -1
  206. package/schematics/src/utils/ng-utils/standalone/code_block.d.ts +0 -46
  207. package/schematics/src/utils/ng-utils/standalone/code_block.js +0 -73
  208. package/schematics/src/utils/ng-utils/standalone/code_block.js.map +0 -1
  209. package/schematics/src/utils/ng-utils/standalone/index.d.ts +0 -1
  210. package/schematics/src/utils/ng-utils/standalone/index.js +0 -7
  211. package/schematics/src/utils/ng-utils/standalone/index.js.map +0 -1
  212. package/schematics/src/utils/ng-utils/standalone/rules.d.ts +0 -38
  213. package/schematics/src/utils/ng-utils/standalone/rules.js +0 -195
  214. package/schematics/src/utils/ng-utils/standalone/rules.js.map +0 -1
  215. package/schematics/src/utils/ng-utils/standalone/util.d.ts +0 -28
  216. package/schematics/src/utils/ng-utils/standalone/util.js +0 -138
  217. package/schematics/src/utils/ng-utils/standalone/util.js.map +0 -1
  218. package/schematics/src/utils/normalize-options.d.ts +0 -9
  219. package/schematics/src/utils/normalize-options.js +0 -24
  220. package/schematics/src/utils/normalize-options.js.map +0 -1
  221. package/schematics/src/utils/project.d.ts +0 -16
  222. package/schematics/src/utils/project.js +0 -40
  223. package/schematics/src/utils/project.js.map +0 -1
  224. package/schematics/src/utils/versions.json +0 -3
  225. package/src/standalone-features/feature-providers.d.ts +0 -7
  226. package/src/standalone-features/index.d.ts +0 -3
  227. package/src/standalone-features/initializers.d.ts +0 -29
  228. package/src/standalone-features/plugin.d.ts +0 -17
  229. package/src/standalone-features/provide-states.d.ts +0 -18
  230. package/src/standalone-features/provide-store.d.ts +0 -22
  231. package/src/standalone-features/root-providers.d.ts +0 -8
  232. /package/{esm2020/index.mjs → esm2015/index.js} +0 -0
  233. /package/{esm2020/internals/memoize.mjs → esm2015/internals/memoize.js} +0 -0
  234. /package/{esm2020/internals/ngxs-store-internals.mjs → esm2015/internals/ngxs-store-internals.js} +0 -0
  235. /package/{esm2020/internals/testing/index.mjs → esm2015/internals/testing/index.js} +0 -0
  236. /package/{esm2020/internals/testing/ngxs-store-internals-testing.mjs → esm2015/internals/testing/ngxs-store-internals-testing.js} +0 -0
  237. /package/{esm2020/internals/testing/skip-console-logging.mjs → esm2015/internals/testing/skip-console-logging.js} +0 -0
  238. /package/{esm2020/ngxs-store.mjs → esm2015/ngxs-store.js} +0 -0
  239. /package/{esm2020/operators/append.mjs → esm2015/operators/append.js} +0 -0
  240. /package/{esm2020/operators/compose.mjs → esm2015/operators/compose.js} +0 -0
  241. /package/{esm2020/operators/iif.mjs → esm2015/operators/iif.js} +0 -0
  242. /package/{esm2020/operators/index.mjs → esm2015/operators/index.js} +0 -0
  243. /package/{esm2020/operators/insert-item.mjs → esm2015/operators/insert-item.js} +0 -0
  244. /package/{esm2020/operators/ngxs-store-operators.mjs → esm2015/operators/ngxs-store-operators.js} +0 -0
  245. /package/{esm2020/operators/remove-item.mjs → esm2015/operators/remove-item.js} +0 -0
  246. /package/{esm2020/operators/types.mjs → esm2015/operators/types.js} +0 -0
  247. /package/{esm2020/operators/update-item.mjs → esm2015/operators/update-item.js} +0 -0
  248. /package/{esm2020/operators/utils.mjs → esm2015/operators/utils.js} +0 -0
  249. /package/{esm2020/src/actions/actions.mjs → esm2015/src/actions/actions.js} +0 -0
  250. /package/{esm2020/src/actions/symbols.mjs → esm2015/src/actions/symbols.js} +0 -0
  251. /package/{esm2020/src/decorators/action.mjs → esm2015/src/decorators/action.js} +0 -0
  252. /package/{esm2020/src/decorators/select/select.mjs → esm2015/src/decorators/select/select.js} +0 -0
  253. /package/{esm2020/src/decorators/select/symbols.mjs → esm2015/src/decorators/select/symbols.js} +0 -0
  254. /package/{esm2020/src/decorators/selector/symbols.mjs → esm2015/src/decorators/selector/symbols.js} +0 -0
  255. /package/{esm2020/src/decorators/selector-options.mjs → esm2015/src/decorators/selector-options.js} +0 -0
  256. /package/{esm2020/src/dev-features/symbols.mjs → esm2015/src/dev-features/symbols.js} +0 -0
  257. /package/{esm2020/src/internal/custom-rxjs-subjects.mjs → esm2015/src/internal/custom-rxjs-subjects.js} +0 -0
  258. /package/{esm2020/src/operators/leave-ngxs.mjs → esm2015/src/operators/leave-ngxs.js} +0 -0
  259. /package/{esm2020/src/plugin_api.mjs → esm2015/src/plugin_api.js} +0 -0
  260. /package/{esm2020/src/private_api.mjs → esm2015/src/private_api.js} +0 -0
  261. /package/{esm2020/src/public_to_deprecate.mjs → esm2015/src/public_to_deprecate.js} +0 -0
  262. /package/{esm2020/src/selectors/create-model-selector.mjs → esm2015/src/selectors/create-model-selector.js} +0 -0
  263. /package/{esm2020/src/selectors/create-pick-selector.mjs → esm2015/src/selectors/create-pick-selector.js} +0 -0
  264. /package/{esm2020/src/selectors/create-selector.mjs → esm2015/src/selectors/create-selector.js} +0 -0
  265. /package/{esm2020/src/selectors/index.mjs → esm2015/src/selectors/index.js} +0 -0
  266. /package/{esm2020/src/selectors/selector-checks.util.mjs → esm2015/src/selectors/selector-checks.util.js} +0 -0
  267. /package/{esm2020/src/selectors/selector-models.mjs → esm2015/src/selectors/selector-models.js} +0 -0
  268. /package/{esm2020/src/selectors/selector-utils.mjs → esm2015/src/selectors/selector-utils.js} +0 -0
  269. /package/{esm2020/src/state-token/state-token.mjs → esm2015/src/state-token/state-token.js} +0 -0
  270. /package/{esm2020/src/state-token/symbols.mjs → esm2015/src/state-token/symbols.js} +0 -0
  271. /package/{esm2020/src/utils/compose.mjs → esm2015/src/utils/compose.js} +0 -0
  272. /package/{esm2020/src/utils/freeze.mjs → esm2015/src/utils/freeze.js} +0 -0
  273. /package/{esm2020/src/utils/store-validators.mjs → esm2015/src/utils/store-validators.js} +0 -0
@@ -0,0 +1,23 @@
1
+ import { InjectionToken, inject, INJECTOR, ɵglobal } from '@angular/core';
2
+ import { NoopNgxsExecutionStrategy } from './noop-ngxs-execution-strategy';
3
+ import { DispatchOutsideZoneNgxsExecutionStrategy } from './dispatch-outside-zone-ngxs-execution-strategy';
4
+ /**
5
+ * The strategy that might be provided by users through `options.executionStrategy`.
6
+ */
7
+ export const USER_PROVIDED_NGXS_EXECUTION_STRATEGY = new InjectionToken('USER_PROVIDED_NGXS_EXECUTION_STRATEGY');
8
+ /*
9
+ * Internal execution strategy injection token
10
+ */
11
+ export const NGXS_EXECUTION_STRATEGY = new InjectionToken('NGXS_EXECUTION_STRATEGY', {
12
+ providedIn: 'root',
13
+ factory: () => {
14
+ const injector = inject(INJECTOR);
15
+ const executionStrategy = injector.get(USER_PROVIDED_NGXS_EXECUTION_STRATEGY);
16
+ return executionStrategy
17
+ ? injector.get(executionStrategy)
18
+ : injector.get(typeof ɵglobal.Zone !== 'undefined'
19
+ ? DispatchOutsideZoneNgxsExecutionStrategy
20
+ : NoopNgxsExecutionStrategy);
21
+ }
22
+ });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9leGVjdXRpb24vc3ltYm9scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQVEsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRTNHOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsSUFBSSxjQUFjLENBRXJFLHVDQUF1QyxDQUFDLENBQUM7QUFFM0M7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FDdkQseUJBQXlCLEVBQ3pCO0lBQ0UsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNaLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsQyxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUM5RSxPQUFPLGlCQUFpQjtZQUN0QixDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQztZQUNqQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FDVixPQUFPLE9BQU8sQ0FBQyxJQUFJLEtBQUssV0FBVztnQkFDakMsQ0FBQyxDQUFDLHdDQUF3QztnQkFDMUMsQ0FBQyxDQUFDLHlCQUF5QixDQUM5QixDQUFDO0lBQ1IsQ0FBQztDQUNGLENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBpbmplY3QsIElOSkVDVE9SLCBUeXBlLCDJtWdsb2JhbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOb29wTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi9ub29wLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5JztcbmltcG9ydCB7IERpc3BhdGNoT3V0c2lkZVpvbmVOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL2Rpc3BhdGNoLW91dHNpZGUtem9uZS1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XG5cbi8qKlxuICogVGhlIHN0cmF0ZWd5IHRoYXQgbWlnaHQgYmUgcHJvdmlkZWQgYnkgdXNlcnMgdGhyb3VnaCBgb3B0aW9ucy5leGVjdXRpb25TdHJhdGVneWAuXG4gKi9cbmV4cG9ydCBjb25zdCBVU0VSX1BST1ZJREVEX05HWFNfRVhFQ1VUSU9OX1NUUkFURUdZID0gbmV3IEluamVjdGlvblRva2VuPFxuICBUeXBlPE5neHNFeGVjdXRpb25TdHJhdGVneT4gfCB1bmRlZmluZWRcbj4oJ1VTRVJfUFJPVklERURfTkdYU19FWEVDVVRJT05fU1RSQVRFR1knKTtcblxuLypcbiAqIEludGVybmFsIGV4ZWN1dGlvbiBzdHJhdGVneSBpbmplY3Rpb24gdG9rZW5cbiAqL1xuZXhwb3J0IGNvbnN0IE5HWFNfRVhFQ1VUSU9OX1NUUkFURUdZID0gbmV3IEluamVjdGlvblRva2VuPE5neHNFeGVjdXRpb25TdHJhdGVneT4oXG4gICdOR1hTX0VYRUNVVElPTl9TVFJBVEVHWScsXG4gIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogKCkgPT4ge1xuICAgICAgY29uc3QgaW5qZWN0b3IgPSBpbmplY3QoSU5KRUNUT1IpO1xuICAgICAgY29uc3QgZXhlY3V0aW9uU3RyYXRlZ3kgPSBpbmplY3Rvci5nZXQoVVNFUl9QUk9WSURFRF9OR1hTX0VYRUNVVElPTl9TVFJBVEVHWSk7XG4gICAgICByZXR1cm4gZXhlY3V0aW9uU3RyYXRlZ3lcbiAgICAgICAgPyBpbmplY3Rvci5nZXQoZXhlY3V0aW9uU3RyYXRlZ3kpXG4gICAgICAgIDogaW5qZWN0b3IuZ2V0KFxuICAgICAgICAgICAgdHlwZW9mIMm1Z2xvYmFsLlpvbmUgIT09ICd1bmRlZmluZWQnXG4gICAgICAgICAgICAgID8gRGlzcGF0Y2hPdXRzaWRlWm9uZU5neHNFeGVjdXRpb25TdHJhdGVneVxuICAgICAgICAgICAgICA6IE5vb3BOZ3hzRXhlY3V0aW9uU3RyYXRlZ3lcbiAgICAgICAgICApO1xuICAgIH1cbiAgfVxuKTtcblxuLypcbiAqIEV4ZWN1dGlvbiBzdHJhdGVneSBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kge1xuICBlbnRlcjxUPihmdW5jOiAoKSA9PiBUKTogVDtcbiAgbGVhdmU8VD4oZnVuYzogKCkgPT4gVCk6IFQ7XG59XG4iXX0=
@@ -22,9 +22,9 @@ import * as i5 from "./error-handler";
22
22
  */
23
23
  export class InternalDispatchedActionResults extends Subject {
24
24
  }
25
- /** @nocollapse */ InternalDispatchedActionResults.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalDispatchedActionResults, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
26
- /** @nocollapse */ InternalDispatchedActionResults.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalDispatchedActionResults, providedIn: 'root' });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalDispatchedActionResults, decorators: [{
25
+ /** @nocollapse */ InternalDispatchedActionResults.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InternalDispatchedActionResults, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
26
+ /** @nocollapse */ InternalDispatchedActionResults.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InternalDispatchedActionResults, providedIn: 'root' });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InternalDispatchedActionResults, decorators: [{
28
28
  type: Injectable,
29
29
  args: [{ providedIn: 'root' }]
30
30
  }] });
@@ -72,21 +72,21 @@ export class InternalDispatcher {
72
72
  }
73
73
  const actionResult$ = this.getActionResultStream(nextAction);
74
74
  actionResult$.subscribe(ctx => this._actions.next(ctx));
75
- this._actions.next({ action: nextAction, status: "DISPATCHED" /* ActionStatus.Dispatched */ });
75
+ this._actions.next({ action: nextAction, status: "DISPATCHED" /* Dispatched */ });
76
76
  return this.createDispatchObservable(actionResult$);
77
77
  }
78
78
  ])(prevState, action).pipe(shareReplay());
79
79
  }
80
80
  getActionResultStream(action) {
81
- return this._actionResults.pipe(filter((ctx) => ctx.action === action && ctx.status !== "DISPATCHED" /* ActionStatus.Dispatched */), take(1), shareReplay());
81
+ return this._actionResults.pipe(filter((ctx) => ctx.action === action && ctx.status !== "DISPATCHED" /* Dispatched */), take(1), shareReplay());
82
82
  }
83
83
  createDispatchObservable(actionResult$) {
84
84
  return actionResult$
85
85
  .pipe(exhaustMap((ctx) => {
86
86
  switch (ctx.status) {
87
- case "SUCCESSFUL" /* ActionStatus.Successful */:
87
+ case "SUCCESSFUL" /* Successful */:
88
88
  return of(this._stateStream.getValue());
89
- case "ERRORED" /* ActionStatus.Errored */:
89
+ case "ERRORED" /* Errored */:
90
90
  return throwError(ctx.error);
91
91
  default:
92
92
  return EMPTY;
@@ -95,10 +95,10 @@ export class InternalDispatcher {
95
95
  .pipe(shareReplay());
96
96
  }
97
97
  }
98
- /** @nocollapse */ InternalDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalDispatcher, deps: [{ token: i1.InternalActions }, { token: InternalDispatchedActionResults }, { token: i2.PluginManager }, { token: i3.StateStream }, { token: i4.InternalNgxsExecutionStrategy }, { token: i5.InternalErrorReporter }], target: i0.ɵɵFactoryTarget.Injectable });
99
- /** @nocollapse */ InternalDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalDispatcher, providedIn: 'root' });
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalDispatcher, decorators: [{
98
+ /** @nocollapse */ InternalDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InternalDispatcher, deps: [{ token: i1.InternalActions }, { token: InternalDispatchedActionResults }, { token: i2.PluginManager }, { token: i3.StateStream }, { token: i4.InternalNgxsExecutionStrategy }, { token: i5.InternalErrorReporter }], target: i0.ɵɵFactoryTarget.Injectable });
99
+ /** @nocollapse */ InternalDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InternalDispatcher, providedIn: 'root' });
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InternalDispatcher, decorators: [{
101
101
  type: Injectable,
102
102
  args: [{ providedIn: 'root' }]
103
103
  }], ctorParameters: function () { return [{ type: i1.InternalActions }, { type: InternalDispatchedActionResults }, { type: i2.PluginManager }, { type: i3.StateStream }, { type: i4.InternalNgxsExecutionStrategy }, { type: i5.InternalErrorReporter }]; } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9pbnRlcm5hbC9kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQStCLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDOUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFFM0Q7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsT0FBc0I7OytJQUE5RCwrQkFBK0I7bUpBQS9CLCtCQUErQixjQURsQixNQUFNOzJGQUNuQiwrQkFBK0I7a0JBRDNDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQUlsQyxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1UsUUFBeUIsRUFDekIsY0FBK0MsRUFDL0MsY0FBNkIsRUFDN0IsWUFBeUIsRUFDekIsc0JBQXFE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R0FBa0IsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sK0NBQTRCLENBQ3hGLEVBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFdBQVcsRUFBRSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRU8sd0JBQXdCLENBQUMsYUFBd0M7UUFDdkUsT0FBTyxhQUFhO2FBQ2pCLElBQUksQ0FDSCxVQUFVLENBQUMsQ0FBQyxHQUFrQixFQUFFLEVBQUU7WUFDaEMsUUFBUSxHQUFHLENBQUMsTUFBTSxFQUFFO2dCQUNsQjtvQkFDRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQzFDO29CQUNFLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0I7b0JBQ0UsT0FBTyxLQUFLLENBQUM7YUFDaEI7UUFDSCxDQUFDLENBQUMsQ0FDSDthQUNBLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7O2tJQXZGVSxrQkFBa0I7c0lBQWxCLGtCQUFrQixjQURMLE1BQU07MkZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFTVBUWSwgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBleGhhdXN0TWFwLCBmaWx0ZXIsIHNoYXJlUmVwbGF5LCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBjb21wb3NlIH0gZnJvbSAnLi4vdXRpbHMvY29tcG9zZSc7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yUmVwb3J0ZXIsIG5neHNFcnJvckhhbmRsZXIgfSBmcm9tICcuL2Vycm9yLWhhbmRsZXInO1xuaW1wb3J0IHsgQWN0aW9uQ29udGV4dCwgQWN0aW9uU3RhdHVzLCBJbnRlcm5hbEFjdGlvbnMgfSBmcm9tICcuLi9hY3Rpb25zLXN0cmVhbSc7XG5pbXBvcnQgeyBTdGF0ZVN0cmVhbSB9IGZyb20gJy4vc3RhdGUtc3RyZWFtJztcbmltcG9ydCB7IFBsdWdpbk1hbmFnZXIgfSBmcm9tICcuLi9wbHVnaW4tbWFuYWdlcic7XG5pbXBvcnQgeyBJbnRlcm5hbE5neHNFeGVjdXRpb25TdHJhdGVneSB9IGZyb20gJy4uL2V4ZWN1dGlvbi9pbnRlcm5hbC1uZ3hzLWV4ZWN1dGlvbi1zdHJhdGVneSc7XG5pbXBvcnQgeyBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlIH0gZnJvbSAnLi4vdXRpbHMvdXRpbHMnO1xuXG4vKipcbiAqIEludGVybmFsIEFjdGlvbiByZXN1bHQgc3RyZWFtIHRoYXQgaXMgZW1pdHRlZCB3aGVuIGFuIGFjdGlvbiBpcyBjb21wbGV0ZWQuXG4gKiBUaGlzIGlzIHVzZWQgYXMgYSBtZXRob2Qgb2YgcmV0dXJuaW5nIHRoZSBhY3Rpb24gcmVzdWx0IHRvIHRoZSBkaXNwYXRjaGVyXG4gKiBmb3IgdGhlIG9ic2VydmFibGUgcmV0dXJuZWQgYnkgdGhlIGRpc3BhdGNoKC4uLikgY2FsbC5cbiAqIFRoZSBkaXNwYXRjaGVyIHRoZW4gYXN5bmNocm9ub3VzbHkgcHVzaGVzIHRoZSByZXN1bHQgZnJvbSB0aGlzIHN0cmVhbSBvbnRvIHRoZSBtYWluIGFjdGlvbiBzdHJlYW0gYXMgYSByZXN1bHQuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxEaXNwYXRjaGVkQWN0aW9uUmVzdWx0cyBleHRlbmRzIFN1YmplY3Q8QWN0aW9uQ29udGV4dD4ge31cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbERpc3BhdGNoZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9hY3Rpb25zOiBJbnRlcm5hbEFjdGlvbnMsXG4gICAgcHJpdmF0ZSBfYWN0aW9uUmVzdWx0czogSW50ZXJuYWxEaXNwYXRjaGVkQWN0aW9uUmVzdWx0cyxcbiAgICBwcml2YXRlIF9wbHVnaW5NYW5hZ2VyOiBQbHVnaW5NYW5hZ2VyLFxuICAgIHByaXZhdGUgX3N0YXRlU3RyZWFtOiBTdGF0ZVN0cmVhbSxcbiAgICBwcml2YXRlIF9uZ3hzRXhlY3V0aW9uU3RyYXRlZ3k6IEludGVybmFsTmd4c0V4ZWN1dGlvblN0cmF0ZWd5LFxuICAgIHByaXZhdGUgX2ludGVybmFsRXJyb3JSZXBvcnRlcjogSW50ZXJuYWxFcnJvclJlcG9ydGVyXG4gICkge31cblxuICAvKipcbiAgICogRGlzcGF0Y2hlcyBldmVudChzKS5cbiAgICovXG4gIGRpc3BhdGNoKGFjdGlvbk9yQWN0aW9uczogYW55IHwgYW55W10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX25neHNFeGVjdXRpb25TdHJhdGVneS5lbnRlcigoKSA9PlxuICAgICAgdGhpcy5kaXNwYXRjaEJ5RXZlbnRzKGFjdGlvbk9yQWN0aW9ucylcbiAgICApO1xuXG4gICAgcmV0dXJuIHJlc3VsdC5waXBlKFxuICAgICAgbmd4c0Vycm9ySGFuZGxlcih0aGlzLl9pbnRlcm5hbEVycm9yUmVwb3J0ZXIsIHRoaXMuX25neHNFeGVjdXRpb25TdHJhdGVneSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwYXRjaEJ5RXZlbnRzKGFjdGlvbk9yQWN0aW9uczogYW55IHwgYW55W10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGFjdGlvbk9yQWN0aW9ucykpIHtcbiAgICAgIGlmIChhY3Rpb25PckFjdGlvbnMubGVuZ3RoID09PSAwKSByZXR1cm4gb2YodGhpcy5fc3RhdGVTdHJlYW0uZ2V0VmFsdWUoKSk7XG4gICAgICByZXR1cm4gZm9ya0pvaW4oYWN0aW9uT3JBY3Rpb25zLm1hcChhY3Rpb24gPT4gdGhpcy5kaXNwYXRjaFNpbmdsZShhY3Rpb24pKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmRpc3BhdGNoU2luZ2xlKGFjdGlvbk9yQWN0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkaXNwYXRjaFNpbmdsZShhY3Rpb246IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkge1xuICAgICAgY29uc3QgdHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gZ2V0QWN0aW9uVHlwZUZyb21JbnN0YW5jZShhY3Rpb24pO1xuICAgICAgaWYgKCF0eXBlKSB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKFxuICAgICAgICAgIGBUaGlzIGFjdGlvbiBkb2Vzbid0IGhhdmUgYSB0eXBlIHByb3BlcnR5OiAke2FjdGlvbi5jb25zdHJ1Y3Rvci5uYW1lfWBcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHByZXZTdGF0ZSA9IHRoaXMuX3N0YXRlU3RyZWFtLmdldFZhbHVlKCk7XG4gICAgY29uc3QgcGx1Z2lucyA9IHRoaXMuX3BsdWdpbk1hbmFnZXIucGx1Z2lucztcblxuICAgIHJldHVybiAoXG4gICAgICBjb21wb3NlKFtcbiAgICAgICAgLi4ucGx1Z2lucyxcbiAgICAgICAgKG5leHRTdGF0ZTogYW55LCBuZXh0QWN0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAobmV4dFN0YXRlICE9PSBwcmV2U3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3N0YXRlU3RyZWFtLm5leHQobmV4dFN0YXRlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgYWN0aW9uUmVzdWx0JCA9IHRoaXMuZ2V0QWN0aW9uUmVzdWx0U3RyZWFtKG5leHRBY3Rpb24pO1xuICAgICAgICAgIGFjdGlvblJlc3VsdCQuc3Vic2NyaWJlKGN0eCA9PiB0aGlzLl9hY3Rpb25zLm5leHQoY3R4KSk7XG4gICAgICAgICAgdGhpcy5fYWN0aW9ucy5uZXh0KHsgYWN0aW9uOiBuZXh0QWN0aW9uLCBzdGF0dXM6IEFjdGlvblN0YXR1cy5EaXNwYXRjaGVkIH0pO1xuICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZURpc3BhdGNoT2JzZXJ2YWJsZShhY3Rpb25SZXN1bHQkKTtcbiAgICAgICAgfVxuICAgICAgXSkocHJldlN0YXRlLCBhY3Rpb24pIGFzIE9ic2VydmFibGU8YW55PlxuICAgICkucGlwZShzaGFyZVJlcGxheSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWN0aW9uUmVzdWx0U3RyZWFtKGFjdGlvbjogYW55KTogT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvblJlc3VsdHMucGlwZShcbiAgICAgIGZpbHRlcihcbiAgICAgICAgKGN0eDogQWN0aW9uQ29udGV4dCkgPT4gY3R4LmFjdGlvbiA9PT0gYWN0aW9uICYmIGN0eC5zdGF0dXMgIT09IEFjdGlvblN0YXR1cy5EaXNwYXRjaGVkXG4gICAgICApLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHNoYXJlUmVwbGF5KClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEaXNwYXRjaE9ic2VydmFibGUoYWN0aW9uUmVzdWx0JDogT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0Pik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIGFjdGlvblJlc3VsdCRcbiAgICAgIC5waXBlKFxuICAgICAgICBleGhhdXN0TWFwKChjdHg6IEFjdGlvbkNvbnRleHQpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGN0eC5zdGF0dXMpIHtcbiAgICAgICAgICAgIGNhc2UgQWN0aW9uU3RhdHVzLlN1Y2Nlc3NmdWw6XG4gICAgICAgICAgICAgIHJldHVybiBvZih0aGlzLl9zdGF0ZVN0cmVhbS5nZXRWYWx1ZSgpKTtcbiAgICAgICAgICAgIGNhc2UgQWN0aW9uU3RhdHVzLkVycm9yZWQ6XG4gICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGN0eC5lcnJvcik7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnBpcGUoc2hhcmVSZXBsYXkoKSk7XG4gIH1cbn1cbiJdfQ==
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9pbnRlcm5hbC9kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQStCLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDOUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFFM0Q7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsT0FBc0I7O2dKQUE5RCwrQkFBK0I7b0pBQS9CLCtCQUErQixjQURsQixNQUFNOzRGQUNuQiwrQkFBK0I7a0JBRDNDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQUlsQyxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1UsUUFBeUIsRUFDekIsY0FBK0MsRUFDL0MsY0FBNkIsRUFDN0IsWUFBeUIsRUFDekIsc0JBQXFE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R0FBa0IsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sa0NBQTRCLENBQ3hGLEVBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFdBQVcsRUFBRSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRU8sd0JBQXdCLENBQUMsYUFBd0M7UUFDdkUsT0FBTyxhQUFhO2FBQ2pCLElBQUksQ0FDSCxVQUFVLENBQUMsQ0FBQyxHQUFrQixFQUFFLEVBQUU7WUFDaEMsUUFBUSxHQUFHLENBQUMsTUFBTSxFQUFFO2dCQUNsQjtvQkFDRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQzFDO29CQUNFLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0I7b0JBQ0UsT0FBTyxLQUFLLENBQUM7YUFDaEI7UUFDSCxDQUFDLENBQUMsQ0FDSDthQUNBLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7O21JQXZGVSxrQkFBa0IsaURBR0gsK0JBQStCO3VJQUg5QyxrQkFBa0IsY0FETCxNQUFNOzRGQUNuQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFO3dGQUlOLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVNUFRZLCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGV4aGF1c3RNYXAsIGZpbHRlciwgc2hhcmVSZXBsYXksIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGNvbXBvc2UgfSBmcm9tICcuLi91dGlscy9jb21wb3NlJztcbmltcG9ydCB7IEludGVybmFsRXJyb3JSZXBvcnRlciwgbmd4c0Vycm9ySGFuZGxlciB9IGZyb20gJy4vZXJyb3ItaGFuZGxlcic7XG5pbXBvcnQgeyBBY3Rpb25Db250ZXh0LCBBY3Rpb25TdGF0dXMsIEludGVybmFsQWN0aW9ucyB9IGZyb20gJy4uL2FjdGlvbnMtc3RyZWFtJztcbmltcG9ydCB7IFN0YXRlU3RyZWFtIH0gZnJvbSAnLi9zdGF0ZS1zdHJlYW0nO1xuaW1wb3J0IHsgUGx1Z2luTWFuYWdlciB9IGZyb20gJy4uL3BsdWdpbi1tYW5hZ2VyJztcbmltcG9ydCB7IEludGVybmFsTmd4c0V4ZWN1dGlvblN0cmF0ZWd5IH0gZnJvbSAnLi4vZXhlY3V0aW9uL2ludGVybmFsLW5neHMtZXhlY3V0aW9uLXN0cmF0ZWd5JztcbmltcG9ydCB7IGdldEFjdGlvblR5cGVGcm9tSW5zdGFuY2UgfSBmcm9tICcuLi91dGlscy91dGlscyc7XG5cbi8qKlxuICogSW50ZXJuYWwgQWN0aW9uIHJlc3VsdCBzdHJlYW0gdGhhdCBpcyBlbWl0dGVkIHdoZW4gYW4gYWN0aW9uIGlzIGNvbXBsZXRlZC5cbiAqIFRoaXMgaXMgdXNlZCBhcyBhIG1ldGhvZCBvZiByZXR1cm5pbmcgdGhlIGFjdGlvbiByZXN1bHQgdG8gdGhlIGRpc3BhdGNoZXJcbiAqIGZvciB0aGUgb2JzZXJ2YWJsZSByZXR1cm5lZCBieSB0aGUgZGlzcGF0Y2goLi4uKSBjYWxsLlxuICogVGhlIGRpc3BhdGNoZXIgdGhlbiBhc3luY2hyb25vdXNseSBwdXNoZXMgdGhlIHJlc3VsdCBmcm9tIHRoaXMgc3RyZWFtIG9udG8gdGhlIG1haW4gYWN0aW9uIHN0cmVhbSBhcyBhIHJlc3VsdC5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbERpc3BhdGNoZWRBY3Rpb25SZXN1bHRzIGV4dGVuZHMgU3ViamVjdDxBY3Rpb25Db250ZXh0PiB7fVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEludGVybmFsRGlzcGF0Y2hlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2FjdGlvbnM6IEludGVybmFsQWN0aW9ucyxcbiAgICBwcml2YXRlIF9hY3Rpb25SZXN1bHRzOiBJbnRlcm5hbERpc3BhdGNoZWRBY3Rpb25SZXN1bHRzLFxuICAgIHByaXZhdGUgX3BsdWdpbk1hbmFnZXI6IFBsdWdpbk1hbmFnZXIsXG4gICAgcHJpdmF0ZSBfc3RhdGVTdHJlYW06IFN0YXRlU3RyZWFtLFxuICAgIHByaXZhdGUgX25neHNFeGVjdXRpb25TdHJhdGVneTogSW50ZXJuYWxOZ3hzRXhlY3V0aW9uU3RyYXRlZ3ksXG4gICAgcHJpdmF0ZSBfaW50ZXJuYWxFcnJvclJlcG9ydGVyOiBJbnRlcm5hbEVycm9yUmVwb3J0ZXJcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBEaXNwYXRjaGVzIGV2ZW50KHMpLlxuICAgKi9cbiAgZGlzcGF0Y2goYWN0aW9uT3JBY3Rpb25zOiBhbnkgfCBhbnlbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fbmd4c0V4ZWN1dGlvblN0cmF0ZWd5LmVudGVyKCgpID0+XG4gICAgICB0aGlzLmRpc3BhdGNoQnlFdmVudHMoYWN0aW9uT3JBY3Rpb25zKVxuICAgICk7XG5cbiAgICByZXR1cm4gcmVzdWx0LnBpcGUoXG4gICAgICBuZ3hzRXJyb3JIYW5kbGVyKHRoaXMuX2ludGVybmFsRXJyb3JSZXBvcnRlciwgdGhpcy5fbmd4c0V4ZWN1dGlvblN0cmF0ZWd5KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGRpc3BhdGNoQnlFdmVudHMoYWN0aW9uT3JBY3Rpb25zOiBhbnkgfCBhbnlbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoYWN0aW9uT3JBY3Rpb25zKSkge1xuICAgICAgaWYgKGFjdGlvbk9yQWN0aW9ucy5sZW5ndGggPT09IDApIHJldHVybiBvZih0aGlzLl9zdGF0ZVN0cmVhbS5nZXRWYWx1ZSgpKTtcbiAgICAgIHJldHVybiBmb3JrSm9pbihhY3Rpb25PckFjdGlvbnMubWFwKGFjdGlvbiA9PiB0aGlzLmRpc3BhdGNoU2luZ2xlKGFjdGlvbikpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2hTaW5nbGUoYWN0aW9uT3JBY3Rpb25zKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRpc3BhdGNoU2luZ2xlKGFjdGlvbjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSB7XG4gICAgICBjb25zdCB0eXBlOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBnZXRBY3Rpb25UeXBlRnJvbUluc3RhbmNlKGFjdGlvbik7XG4gICAgICBpZiAoIXR5cGUpIHtcbiAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoXG4gICAgICAgICAgYFRoaXMgYWN0aW9uIGRvZXNuJ3QgaGF2ZSBhIHR5cGUgcHJvcGVydHk6ICR7YWN0aW9uLmNvbnN0cnVjdG9yLm5hbWV9YFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcHJldlN0YXRlID0gdGhpcy5fc3RhdGVTdHJlYW0uZ2V0VmFsdWUoKTtcbiAgICBjb25zdCBwbHVnaW5zID0gdGhpcy5fcGx1Z2luTWFuYWdlci5wbHVnaW5zO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIGNvbXBvc2UoW1xuICAgICAgICAuLi5wbHVnaW5zLFxuICAgICAgICAobmV4dFN0YXRlOiBhbnksIG5leHRBY3Rpb246IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChuZXh0U3RhdGUgIT09IHByZXZTdGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5fc3RhdGVTdHJlYW0ubmV4dChuZXh0U3RhdGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBhY3Rpb25SZXN1bHQkID0gdGhpcy5nZXRBY3Rpb25SZXN1bHRTdHJlYW0obmV4dEFjdGlvbik7XG4gICAgICAgICAgYWN0aW9uUmVzdWx0JC5zdWJzY3JpYmUoY3R4ID0+IHRoaXMuX2FjdGlvbnMubmV4dChjdHgpKTtcbiAgICAgICAgICB0aGlzLl9hY3Rpb25zLm5leHQoeyBhY3Rpb246IG5leHRBY3Rpb24sIHN0YXR1czogQWN0aW9uU3RhdHVzLkRpc3BhdGNoZWQgfSk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRGlzcGF0Y2hPYnNlcnZhYmxlKGFjdGlvblJlc3VsdCQpO1xuICAgICAgICB9XG4gICAgICBdKShwcmV2U3RhdGUsIGFjdGlvbikgYXMgT2JzZXJ2YWJsZTxhbnk+XG4gICAgKS5waXBlKHNoYXJlUmVwbGF5KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBY3Rpb25SZXN1bHRTdHJlYW0oYWN0aW9uOiBhbnkpOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHQ+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aW9uUmVzdWx0cy5waXBlKFxuICAgICAgZmlsdGVyKFxuICAgICAgICAoY3R4OiBBY3Rpb25Db250ZXh0KSA9PiBjdHguYWN0aW9uID09PSBhY3Rpb24gJiYgY3R4LnN0YXR1cyAhPT0gQWN0aW9uU3RhdHVzLkRpc3BhdGNoZWRcbiAgICAgICksXG4gICAgICB0YWtlKDEpLFxuICAgICAgc2hhcmVSZXBsYXkoKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURpc3BhdGNoT2JzZXJ2YWJsZShhY3Rpb25SZXN1bHQkOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHQ+KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gYWN0aW9uUmVzdWx0JFxuICAgICAgLnBpcGUoXG4gICAgICAgIGV4aGF1c3RNYXAoKGN0eDogQWN0aW9uQ29udGV4dCkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoY3R4LnN0YXR1cykge1xuICAgICAgICAgICAgY2FzZSBBY3Rpb25TdGF0dXMuU3VjY2Vzc2Z1bDpcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMuX3N0YXRlU3RyZWFtLmdldFZhbHVlKCkpO1xuICAgICAgICAgICAgY2FzZSBBY3Rpb25TdGF0dXMuRXJyb3JlZDpcbiAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoY3R4LmVycm9yKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAucGlwZShzaGFyZVJlcGxheSgpKTtcbiAgfVxufVxuIl19
@@ -52,13 +52,13 @@ export class InternalErrorReporter {
52
52
  try {
53
53
  this._errorHandler.handleError(error);
54
54
  }
55
- catch { }
55
+ catch (_a) { }
56
56
  }
57
57
  }
58
- /** @nocollapse */ InternalErrorReporter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalErrorReporter, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
59
- /** @nocollapse */ InternalErrorReporter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalErrorReporter, providedIn: 'root' });
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: InternalErrorReporter, decorators: [{
58
+ /** @nocollapse */ InternalErrorReporter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InternalErrorReporter, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
59
+ /** @nocollapse */ InternalErrorReporter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InternalErrorReporter, providedIn: 'root' });
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: InternalErrorReporter, decorators: [{
61
61
  type: Injectable,
62
62
  args: [{ providedIn: 'root' }]
63
63
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9pbnRlcm5hbC9lcnJvci1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFHcEQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLHFCQUE0QyxFQUM1QyxxQkFBNEM7SUFFNUMsT0FBTyxDQUFDLE1BQXFCLEVBQUUsRUFBRTtRQUMvQixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFFdkIsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUNmLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDYixpRkFBaUY7Z0JBQ2pGLGtGQUFrRjtnQkFDbEYsMkJBQTJCO2dCQUMzQixxQkFBcUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQy9CLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO29CQUMxQixJQUFJLENBQUMsVUFBVSxFQUFFO3dCQUNmLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FDL0IscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQy9DLENBQUM7cUJBQ0g7Z0JBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUM7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2pDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDbEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUdELE1BQU0sT0FBTyxxQkFBcUI7SUFJaEMsWUFBb0IsU0FBbUI7UUFBbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUh2QyxvREFBb0Q7UUFDNUMsa0JBQWEsR0FBaUIsSUFBSyxDQUFDO0lBRUYsQ0FBQztJQUUzQyxpQkFBaUIsQ0FBQyxLQUFVO1FBQzFCLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN2RDtRQUNELDZFQUE2RTtRQUM3RSwrRUFBK0U7UUFDL0UsZ0ZBQWdGO1FBQ2hGLHNEQUFzRDtRQUN0RCxJQUFJO1lBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkM7UUFBQyxNQUFNLEdBQUU7SUFDWixDQUFDOztxSUFqQlUscUJBQXFCO3lJQUFyQixxQkFBcUIsY0FEUixNQUFNOzJGQUNuQixxQkFBcUI7a0JBRGpDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBsZWF2ZU5neHMgfSBmcm9tICcuLi9vcGVyYXRvcnMvbGVhdmUtbmd4cyc7XG5pbXBvcnQgeyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuLi9leGVjdXRpb24vc3ltYm9scyc7XG5cbi8qKlxuICogVGhpcyBvcGVyYXRvciBpcyB1c2VkIGZvciBwaXBpbmcgdGhlIG9ic2VydmFibGUgcmVzdWx0XG4gKiBmcm9tIHRoZSBgZGlzcGF0Y2goKWAuIEl0IGhhcyBhIFwic21hcnRcIiBlcnJvciBoYW5kbGluZ1xuICogc3RyYXRlZ3kgdGhhdCBhbGxvd3MgdXMgdG8gZGVjaWRlIHdoZXRoZXIgd2UgcHJvcGFnYXRlXG4gKiBlcnJvcnMgdG8gQW5ndWxhcidzIGBFcnJvckhhbmRsZXJgIG9yIGVuYWJsZSB1c2VycyB0b1xuICogaGFuZGxlIHRoZW0gbWFudWFsbHkuIFdlIGNvbnNpZGVyIGZvbGxvd2luZyBjYXNlczpcbiAqIDEpIGBzdG9yZS5kaXNwYXRjaCgpYCAobm8gc3Vic2NyaWJlKSAtPiBjYWxsIGBoYW5kbGVFcnJvcigpYFxuICogMikgYHN0b3JlLmRpc3BhdGNoKCkuc3Vic2NyaWJlKClgIChubyBlcnJvciBjYWxsYmFjaykgLT4gY2FsbCBgaGFuZGxlRXJyb3IoKWBcbiAqIDMpIGBzdG9yZS5kaXNwYXRjaCgpLnN1YnNjcmliZSh7IGVycm9yOiAuLi4gfSlgIC0+IGRvbid0IGNhbGwgYGhhbmRsZUVycm9yKClgXG4gKiA0KSBgdG9Qcm9taXNlKClgIHdpdGhvdXQgYGNhdGNoYCAtPiBkbyBgaGFuZGxlRXJyb3IoKWBcbiAqIDUpIGB0b1Byb21pc2UoKWAgd2l0aCBgY2F0Y2hgIC0+IGRvbid0IGBoYW5kbGVFcnJvcigpYFxuICovXG5leHBvcnQgZnVuY3Rpb24gbmd4c0Vycm9ySGFuZGxlcjxUPihcbiAgaW50ZXJuYWxFcnJvclJlcG9ydGVyOiBJbnRlcm5hbEVycm9yUmVwb3J0ZXIsXG4gIG5neHNFeGVjdXRpb25TdHJhdGVneTogTmd4c0V4ZWN1dGlvblN0cmF0ZWd5XG4pIHtcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IHtcbiAgICBsZXQgc3Vic2NyaWJlZCA9IGZhbHNlO1xuXG4gICAgc291cmNlLnN1YnNjcmliZSh7XG4gICAgICBlcnJvcjogZXJyb3IgPT4ge1xuICAgICAgICAvLyBEbyBub3QgdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uIGZvciBhIG1pY3JvdGFzay4gVGhpcyBkZXBlbmRzIG9uIHRoZSBleGVjdXRpb25cbiAgICAgICAgLy8gc3RyYXRlZ3kgYmVpbmcgdXNlZCwgYnV0IHRoZSBkZWZhdWx0IGBEaXNwYXRjaE91dHNpZGVab25lTmd4c0V4ZWN1dGlvblN0cmF0ZWd5YFxuICAgICAgICAvLyBsZWF2ZXMgdGhlIEFuZ3VsYXIgem9uZS5cbiAgICAgICAgbmd4c0V4ZWN1dGlvblN0cmF0ZWd5LmVudGVyKCgpID0+XG4gICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXN1YnNjcmliZWQpIHtcbiAgICAgICAgICAgICAgbmd4c0V4ZWN1dGlvblN0cmF0ZWd5LmxlYXZlKCgpID0+XG4gICAgICAgICAgICAgICAgaW50ZXJuYWxFcnJvclJlcG9ydGVyLnJlcG9ydEVycm9yU2FmZWx5KGVycm9yKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoc3Vic2NyaWJlciA9PiB7XG4gICAgICBzdWJzY3JpYmVkID0gdHJ1ZTtcbiAgICAgIHJldHVybiBzb3VyY2UucGlwZShsZWF2ZU5neHMobmd4c0V4ZWN1dGlvblN0cmF0ZWd5KSkuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgIH0pO1xuICB9O1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEludGVybmFsRXJyb3JSZXBvcnRlciB7XG4gIC8qKiBXaWxsIGJlIHNldCBsYXppbHkgdG8gYmUgYmFja3dhcmQgY29tcGF0aWJsZS4gKi9cbiAgcHJpdmF0ZSBfZXJyb3JIYW5kbGVyOiBFcnJvckhhbmRsZXIgPSBudWxsITtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgcmVwb3J0RXJyb3JTYWZlbHkoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9lcnJvckhhbmRsZXIgPT09IG51bGwpIHtcbiAgICAgIHRoaXMuX2Vycm9ySGFuZGxlciA9IHRoaXMuX2luamVjdG9yLmdldChFcnJvckhhbmRsZXIpO1xuICAgIH1cbiAgICAvLyBUaGUgYHRyeS1jYXRjaGAgaXMgdXNlZCB0byBhdm9pZCBoYW5kbGluZyB0aGUgZXJyb3IgdHdpY2UuIFN1cHBvc2Ugd2UgY2FsbFxuICAgIC8vIGBoYW5kbGVFcnJvcmAgd2hpY2ggcmUtdGhyb3dzIHRoZSBlcnJvciBpbnRlcm5hbGx5LiBUaGUgcmUtdGhyb3duIGVycm9yIHdpbGxcbiAgICAvLyBiZSBjYXVnaHQgYnkgem9uZS5qcyB3aGljaCB3aWxsIHRoZW4gZ2V0IHRvIHRoZSBgem9uZS5vbkVycm9yLmVtaXQoKWAgYW5kIHRoZVxuICAgIC8vIGBvbkVycm9yYCBzdWJzY3JpYmVyIHdpbGwgY2FsbCBgaGFuZGxlRXJyb3JgIGFnYWluLlxuICAgIHRyeSB7XG4gICAgICB0aGlzLl9lcnJvckhhbmRsZXIuaGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgIH0gY2F0Y2gge31cbiAgfVxufVxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL3NyYy9pbnRlcm5hbC9lcnJvci1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFHcEQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLHFCQUE0QyxFQUM1QyxxQkFBNEM7SUFFNUMsT0FBTyxDQUFDLE1BQXFCLEVBQUUsRUFBRTtRQUMvQixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFFdkIsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUNmLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDYixpRkFBaUY7Z0JBQ2pGLGtGQUFrRjtnQkFDbEYsMkJBQTJCO2dCQUMzQixxQkFBcUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQy9CLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO29CQUMxQixJQUFJLENBQUMsVUFBVSxFQUFFO3dCQUNmLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FDL0IscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQy9DLENBQUM7cUJBQ0g7Z0JBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUM7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2pDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDbEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUdELE1BQU0sT0FBTyxxQkFBcUI7SUFJaEMsWUFBb0IsU0FBbUI7UUFBbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUh2QyxvREFBb0Q7UUFDNUMsa0JBQWEsR0FBaUIsSUFBSyxDQUFDO0lBRUYsQ0FBQztJQUUzQyxpQkFBaUIsQ0FBQyxLQUFVO1FBQzFCLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN2RDtRQUNELDZFQUE2RTtRQUM3RSwrRUFBK0U7UUFDL0UsZ0ZBQWdGO1FBQ2hGLHNEQUFzRDtRQUN0RCxJQUFJO1lBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkM7UUFBQyxXQUFNLEdBQUU7SUFDWixDQUFDOztzSUFqQlUscUJBQXFCOzBJQUFyQixxQkFBcUIsY0FEUixNQUFNOzRGQUNuQixxQkFBcUI7a0JBRGpDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBsZWF2ZU5neHMgfSBmcm9tICcuLi9vcGVyYXRvcnMvbGVhdmUtbmd4cyc7XG5pbXBvcnQgeyBOZ3hzRXhlY3V0aW9uU3RyYXRlZ3kgfSBmcm9tICcuLi9leGVjdXRpb24vc3ltYm9scyc7XG5cbi8qKlxuICogVGhpcyBvcGVyYXRvciBpcyB1c2VkIGZvciBwaXBpbmcgdGhlIG9ic2VydmFibGUgcmVzdWx0XG4gKiBmcm9tIHRoZSBgZGlzcGF0Y2goKWAuIEl0IGhhcyBhIFwic21hcnRcIiBlcnJvciBoYW5kbGluZ1xuICogc3RyYXRlZ3kgdGhhdCBhbGxvd3MgdXMgdG8gZGVjaWRlIHdoZXRoZXIgd2UgcHJvcGFnYXRlXG4gKiBlcnJvcnMgdG8gQW5ndWxhcidzIGBFcnJvckhhbmRsZXJgIG9yIGVuYWJsZSB1c2VycyB0b1xuICogaGFuZGxlIHRoZW0gbWFudWFsbHkuIFdlIGNvbnNpZGVyIGZvbGxvd2luZyBjYXNlczpcbiAqIDEpIGBzdG9yZS5kaXNwYXRjaCgpYCAobm8gc3Vic2NyaWJlKSAtPiBjYWxsIGBoYW5kbGVFcnJvcigpYFxuICogMikgYHN0b3JlLmRpc3BhdGNoKCkuc3Vic2NyaWJlKClgIChubyBlcnJvciBjYWxsYmFjaykgLT4gY2FsbCBgaGFuZGxlRXJyb3IoKWBcbiAqIDMpIGBzdG9yZS5kaXNwYXRjaCgpLnN1YnNjcmliZSh7IGVycm9yOiAuLi4gfSlgIC0+IGRvbid0IGNhbGwgYGhhbmRsZUVycm9yKClgXG4gKiA0KSBgdG9Qcm9taXNlKClgIHdpdGhvdXQgYGNhdGNoYCAtPiBkbyBgaGFuZGxlRXJyb3IoKWBcbiAqIDUpIGB0b1Byb21pc2UoKWAgd2l0aCBgY2F0Y2hgIC0+IGRvbid0IGBoYW5kbGVFcnJvcigpYFxuICovXG5leHBvcnQgZnVuY3Rpb24gbmd4c0Vycm9ySGFuZGxlcjxUPihcbiAgaW50ZXJuYWxFcnJvclJlcG9ydGVyOiBJbnRlcm5hbEVycm9yUmVwb3J0ZXIsXG4gIG5neHNFeGVjdXRpb25TdHJhdGVneTogTmd4c0V4ZWN1dGlvblN0cmF0ZWd5XG4pIHtcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IHtcbiAgICBsZXQgc3Vic2NyaWJlZCA9IGZhbHNlO1xuXG4gICAgc291cmNlLnN1YnNjcmliZSh7XG4gICAgICBlcnJvcjogZXJyb3IgPT4ge1xuICAgICAgICAvLyBEbyBub3QgdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uIGZvciBhIG1pY3JvdGFzay4gVGhpcyBkZXBlbmRzIG9uIHRoZSBleGVjdXRpb25cbiAgICAgICAgLy8gc3RyYXRlZ3kgYmVpbmcgdXNlZCwgYnV0IHRoZSBkZWZhdWx0IGBEaXNwYXRjaE91dHNpZGVab25lTmd4c0V4ZWN1dGlvblN0cmF0ZWd5YFxuICAgICAgICAvLyBsZWF2ZXMgdGhlIEFuZ3VsYXIgem9uZS5cbiAgICAgICAgbmd4c0V4ZWN1dGlvblN0cmF0ZWd5LmVudGVyKCgpID0+XG4gICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXN1YnNjcmliZWQpIHtcbiAgICAgICAgICAgICAgbmd4c0V4ZWN1dGlvblN0cmF0ZWd5LmxlYXZlKCgpID0+XG4gICAgICAgICAgICAgICAgaW50ZXJuYWxFcnJvclJlcG9ydGVyLnJlcG9ydEVycm9yU2FmZWx5KGVycm9yKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoc3Vic2NyaWJlciA9PiB7XG4gICAgICBzdWJzY3JpYmVkID0gdHJ1ZTtcbiAgICAgIHJldHVybiBzb3VyY2UucGlwZShsZWF2ZU5neHMobmd4c0V4ZWN1dGlvblN0cmF0ZWd5KSkuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgIH0pO1xuICB9O1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEludGVybmFsRXJyb3JSZXBvcnRlciB7XG4gIC8qKiBXaWxsIGJlIHNldCBsYXppbHkgdG8gYmUgYmFja3dhcmQgY29tcGF0aWJsZS4gKi9cbiAgcHJpdmF0ZSBfZXJyb3JIYW5kbGVyOiBFcnJvckhhbmRsZXIgPSBudWxsITtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgcmVwb3J0RXJyb3JTYWZlbHkoZXJyb3I6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9lcnJvckhhbmRsZXIgPT09IG51bGwpIHtcbiAgICAgIHRoaXMuX2Vycm9ySGFuZGxlciA9IHRoaXMuX2luamVjdG9yLmdldChFcnJvckhhbmRsZXIpO1xuICAgIH1cbiAgICAvLyBUaGUgYHRyeS1jYXRjaGAgaXMgdXNlZCB0byBhdm9pZCBoYW5kbGluZyB0aGUgZXJyb3IgdHdpY2UuIFN1cHBvc2Ugd2UgY2FsbFxuICAgIC8vIGBoYW5kbGVFcnJvcmAgd2hpY2ggcmUtdGhyb3dzIHRoZSBlcnJvciBpbnRlcm5hbGx5LiBUaGUgcmUtdGhyb3duIGVycm9yIHdpbGxcbiAgICAvLyBiZSBjYXVnaHQgYnkgem9uZS5qcyB3aGljaCB3aWxsIHRoZW4gZ2V0IHRvIHRoZSBgem9uZS5vbkVycm9yLmVtaXQoKWAgYW5kIHRoZVxuICAgIC8vIGBvbkVycm9yYCBzdWJzY3JpYmVyIHdpbGwgY2FsbCBgaGFuZGxlRXJyb3JgIGFnYWluLlxuICAgIHRyeSB7XG4gICAgICB0aGlzLl9lcnJvckhhbmRsZXIuaGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgIH0gY2F0Y2gge31cbiAgfVxufVxuIl19
@@ -0,0 +1,248 @@
1
+ import { META_KEY, META_OPTIONS_KEY, SELECTOR_META_KEY } from '../symbols';
2
+ /**
3
+ * Ensures metadata is attached to the class and returns it.
4
+ *
5
+ * @ignore
6
+ */
7
+ export function ensureStoreMetadata(target) {
8
+ if (!target.hasOwnProperty(META_KEY)) {
9
+ const defaultMetadata = {
10
+ name: null,
11
+ actions: {},
12
+ defaults: {},
13
+ path: null,
14
+ makeRootSelector(context) {
15
+ return context.getStateGetter(defaultMetadata.name);
16
+ },
17
+ children: []
18
+ };
19
+ Object.defineProperty(target, META_KEY, { value: defaultMetadata });
20
+ }
21
+ return getStoreMetadata(target);
22
+ }
23
+ /**
24
+ * Get the metadata attached to the state class if it exists.
25
+ *
26
+ * @ignore
27
+ */
28
+ export function getStoreMetadata(target) {
29
+ return target[META_KEY];
30
+ }
31
+ /**
32
+ * Ensures metadata is attached to the selector and returns it.
33
+ *
34
+ * @ignore
35
+ */
36
+ export function ensureSelectorMetadata(target) {
37
+ if (!target.hasOwnProperty(SELECTOR_META_KEY)) {
38
+ const defaultMetadata = {
39
+ makeRootSelector: null,
40
+ originalFn: null,
41
+ containerClass: null,
42
+ selectorName: null,
43
+ getSelectorOptions: () => ({})
44
+ };
45
+ Object.defineProperty(target, SELECTOR_META_KEY, { value: defaultMetadata });
46
+ }
47
+ return getSelectorMetadata(target);
48
+ }
49
+ /**
50
+ * Get the metadata attached to the selector if it exists.
51
+ *
52
+ * @ignore
53
+ */
54
+ export function getSelectorMetadata(target) {
55
+ return target[SELECTOR_META_KEY];
56
+ }
57
+ /**
58
+ * Get a deeply nested value. Example:
59
+ *
60
+ * getValue({ foo: bar: [] }, 'foo.bar') //=> []
61
+ *
62
+ * Note: This is not as fast as the `fastPropGetter` but is strict Content Security Policy compliant.
63
+ * See perf hit: https://jsperf.com/fast-value-getter-given-path/1
64
+ *
65
+ * @ignore
66
+ */
67
+ function compliantPropGetter(paths) {
68
+ const copyOfPaths = paths.slice();
69
+ return obj => copyOfPaths.reduce((acc, part) => acc && acc[part], obj);
70
+ }
71
+ /**
72
+ * The generated function is faster than:
73
+ * - pluck (Observable operator)
74
+ * - memoize
75
+ *
76
+ * @ignore
77
+ */
78
+ function fastPropGetter(paths) {
79
+ const segments = paths;
80
+ let seg = 'store.' + segments[0];
81
+ let i = 0;
82
+ const l = segments.length;
83
+ let expr = seg;
84
+ while (++i < l) {
85
+ expr = expr + ' && ' + (seg = seg + '.' + segments[i]);
86
+ }
87
+ const fn = new Function('store', 'return ' + expr + ';');
88
+ return fn;
89
+ }
90
+ /**
91
+ * Get a deeply nested value. Example:
92
+ *
93
+ * getValue({ foo: bar: [] }, 'foo.bar') //=> []
94
+ *
95
+ * @ignore
96
+ */
97
+ export function propGetter(paths, config) {
98
+ if (config && config.compatibility && config.compatibility.strictContentSecurityPolicy) {
99
+ return compliantPropGetter(paths);
100
+ }
101
+ else {
102
+ return fastPropGetter(paths);
103
+ }
104
+ }
105
+ /**
106
+ * Given an array of states, it will return a object graph. Example:
107
+ * const states = [
108
+ * Cart,
109
+ * CartSaved,
110
+ * CartSavedItems
111
+ * ]
112
+ *
113
+ * would return:
114
+ *
115
+ * const graph = {
116
+ * cart: ['saved'],
117
+ * saved: ['items'],
118
+ * items: []
119
+ * };
120
+ *
121
+ * @ignore
122
+ */
123
+ export function buildGraph(stateClasses) {
124
+ const findName = (stateClass) => {
125
+ const meta = stateClasses.find(g => g === stateClass);
126
+ // Caretaker note: we have still left the `typeof` condition in order to avoid
127
+ // creating a breaking change for projects that still use the View Engine.
128
+ if ((typeof ngDevMode === 'undefined' || ngDevMode) && !meta) {
129
+ throw new Error(`Child state not found: ${stateClass}. \r\nYou may have forgotten to add states to module`);
130
+ }
131
+ return meta[META_KEY].name;
132
+ };
133
+ return stateClasses.reduce((result, stateClass) => {
134
+ const { name, children } = stateClass[META_KEY];
135
+ result[name] = (children || []).map(findName);
136
+ return result;
137
+ }, {});
138
+ }
139
+ /**
140
+ * Given a states array, returns object graph
141
+ * returning the name and state metadata. Example:
142
+ *
143
+ * const graph = {
144
+ * cart: { metadata }
145
+ * };
146
+ *
147
+ * @ignore
148
+ */
149
+ export function nameToState(states) {
150
+ return states.reduce((result, stateClass) => {
151
+ const meta = stateClass[META_KEY];
152
+ result[meta.name] = stateClass;
153
+ return result;
154
+ }, {});
155
+ }
156
+ /**
157
+ * Given a object relationship graph will return the full path
158
+ * for the child items. Example:
159
+ *
160
+ * const graph = {
161
+ * cart: ['saved'],
162
+ * saved: ['items'],
163
+ * items: []
164
+ * };
165
+ *
166
+ * would return:
167
+ *
168
+ * const r = {
169
+ * cart: 'cart',
170
+ * saved: 'cart.saved',
171
+ * items: 'cart.saved.items'
172
+ * };
173
+ *
174
+ * @ignore
175
+ */
176
+ export function findFullParentPath(obj, newObj = {}) {
177
+ const visit = (child, keyToFind) => {
178
+ for (const key in child) {
179
+ if (child.hasOwnProperty(key) && child[key].indexOf(keyToFind) >= 0) {
180
+ const parent = visit(child, key);
181
+ return parent !== null ? `${parent}.${key}` : key;
182
+ }
183
+ }
184
+ return null;
185
+ };
186
+ for (const key in obj) {
187
+ if (obj.hasOwnProperty(key)) {
188
+ const parent = visit(obj, key);
189
+ newObj[key] = parent ? `${parent}.${key}` : key;
190
+ }
191
+ }
192
+ return newObj;
193
+ }
194
+ /**
195
+ * Given a object graph, it will return the items topologically sorted Example:
196
+ *
197
+ * const graph = {
198
+ * cart: ['saved'],
199
+ * saved: ['items'],
200
+ * items: []
201
+ * };
202
+ *
203
+ * would return:
204
+ *
205
+ * const results = [
206
+ * 'items',
207
+ * 'saved',
208
+ * 'cart'
209
+ * ];
210
+ *
211
+ * @ignore
212
+ */
213
+ export function topologicalSort(graph) {
214
+ const sorted = [];
215
+ const visited = {};
216
+ const visit = (name, ancestors = []) => {
217
+ if (!Array.isArray(ancestors)) {
218
+ ancestors = [];
219
+ }
220
+ ancestors.push(name);
221
+ visited[name] = true;
222
+ graph[name].forEach((dep) => {
223
+ // Caretaker note: we have still left the `typeof` condition in order to avoid
224
+ // creating a breaking change for projects that still use the View Engine.
225
+ if ((typeof ngDevMode === 'undefined' || ngDevMode) && ancestors.indexOf(dep) >= 0) {
226
+ throw new Error(`Circular dependency '${dep}' is required by '${name}': ${ancestors.join(' -> ')}`);
227
+ }
228
+ if (visited[dep]) {
229
+ return;
230
+ }
231
+ visit(dep, ancestors.slice(0));
232
+ });
233
+ if (sorted.indexOf(name) < 0) {
234
+ sorted.push(name);
235
+ }
236
+ };
237
+ Object.keys(graph).forEach(k => visit(k));
238
+ return sorted.reverse();
239
+ }
240
+ /**
241
+ * Returns if the parameter is a object or not.
242
+ *
243
+ * @ignore
244
+ */
245
+ export function isObject(obj) {
246
+ return (typeof obj === 'object' && obj !== null) || typeof obj === 'function';
247
+ }
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL2ludGVybmFsL2ludGVybmFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQ0wsUUFBUSxFQUNSLGdCQUFnQixFQUVoQixpQkFBaUIsRUFFbEIsTUFBTSxZQUFZLENBQUM7QUFnRXBCOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsTUFBMEI7SUFDNUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDcEMsTUFBTSxlQUFlLEdBQWtCO1lBQ3JDLElBQUksRUFBRSxJQUFJO1lBQ1YsT0FBTyxFQUFFLEVBQUU7WUFDWCxRQUFRLEVBQUUsRUFBRTtZQUNaLElBQUksRUFBRSxJQUFJO1lBQ1YsZ0JBQWdCLENBQUMsT0FBK0I7Z0JBQzlDLE9BQU8sT0FBTyxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEQsQ0FBQztZQUNELFFBQVEsRUFBRSxFQUFFO1NBQ2IsQ0FBQztRQUVGLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0tBQ3JFO0lBQ0QsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUEwQjtJQUN6RCxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUUsQ0FBQztBQUMzQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxNQUFnQjtJQUNyRCxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1FBQzdDLE1BQU0sZUFBZSxHQUEwQjtZQUM3QyxnQkFBZ0IsRUFBRSxJ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QVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FDbkYsQ0FBQzthQUNIO1lBRUQsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2hCLE9BQU87YUFDUjtZQUVELEtBQUssQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM1QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25CO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUxQyxPQUFPLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUMxQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUMsR0FBUTtJQUMvQixPQUFPLENBQUMsT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsSUFBSSxPQUFPLEdBQUcsS0FBSyxVQUFVLENBQUM7QUFDaEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWluT2JqZWN0T2YsIFN0YXRlQ2xhc3MgfSBmcm9tICdAbmd4cy9zdG9yZS9pbnRlcm5hbHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBNRVRBX0tFWSxcbiAgTUVUQV9PUFRJT05TX0tFWSxcbiAgTmd4c0NvbmZpZyxcbiAgU0VMRUNUT1JfTUVUQV9LRVksXG4gIFN0b3JlT3B0aW9uc1xufSBmcm9tICcuLi9zeW1ib2xzJztcbmltcG9ydCB7IEFjdGlvbkhhbmRsZXJNZXRhRGF0YSB9IGZyb20gJy4uL2FjdGlvbnMvc3ltYm9scyc7XG5cbi8vIGluc3BpcmVkIGZyb20gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzQzNjc0Mzg5XG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlQ2xhc3NJbnRlcm5hbDxUID0gYW55LCBVID0gYW55PiBleHRlbmRzIFN0YXRlQ2xhc3M8VD4ge1xuICBbTUVUQV9LRVldPzogTWV0YURhdGFNb2RlbDtcbiAgW01FVEFfT1BUSU9OU19LRVldPzogU3RvcmVPcHRpb25zPFU+O1xufVxuXG5leHBvcnQgdHlwZSBTdGF0ZUtleUdyYXBoID0gUGxhaW5PYmplY3RPZjxzdHJpbmdbXT47XG5leHBvcnQgdHlwZSBTdGF0ZXNCeU5hbWUgPSBQbGFpbk9iamVjdE9mPFN0YXRlQ2xhc3NJbnRlcm5hbD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGVPcGVyYXRpb25zPFQ+IHtcbiAgZ2V0U3RhdGUoKTogVDtcblxuICBzZXRTdGF0ZSh2YWw6IFQpOiBUO1xuXG4gIGRpc3BhdGNoKGFjdGlvbk9yQWN0aW9uczogYW55IHwgYW55W10pOiBPYnNlcnZhYmxlPHZvaWQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFEYXRhTW9kZWwge1xuICBuYW1lOiBzdHJpbmcgfCBudWxsO1xuICBhY3Rpb25zOiBQbGFpbk9iamVjdE9mPEFjdGlvbkhhbmRsZXJNZXRhRGF0YVtdPjtcbiAgZGVmYXVsdHM6IGFueTtcbiAgcGF0aDogc3RyaW5nIHwgbnVsbDtcbiAgbWFrZVJvb3RTZWxlY3RvcjogU2VsZWN0b3JGYWN0b3J5IHwgbnVsbDtcbiAgY2hpbGRyZW4/OiBTdGF0ZUNsYXNzSW50ZXJuYWxbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSdW50aW1lU2VsZWN0b3JDb250ZXh0IHtcbiAgZ2V0U3RhdGVHZXR0ZXIoa2V5OiBhbnkpOiAoc3RhdGU6IGFueSkgPT4gYW55O1xuICBnZXRTZWxlY3Rvck9wdGlvbnMobG9jYWxPcHRpb25zPzogU2hhcmVkU2VsZWN0b3JPcHRpb25zKTogU2hhcmVkU2VsZWN0b3JPcHRpb25zO1xufVxuXG5leHBvcnQgdHlwZSBTZWxlY3RGcm9tUm9vdFN0YXRlID0gKHJvb3RTdGF0ZTogYW55KSA9PiBhbnk7XG5leHBvcnQgdHlwZSBTZWxlY3RvckZhY3RvcnkgPSAocnVudGltZUNvbnRleHQ6IFJ1bnRpbWVTZWxlY3RvckNvbnRleHQpID0+IFNlbGVjdEZyb21Sb290U3RhdGU7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVkU2VsZWN0b3JPcHRpb25zIHtcbiAgaW5qZWN0Q29udGFpbmVyU3RhdGU/OiBib29sZWFuO1xuICBzdXBwcmVzc0Vycm9ycz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0b3JNZXRhRGF0YU1vZGVsIHtcbiAgbWFrZVJvb3RTZWxlY3RvcjogU2VsZWN0b3JGYWN0b3J5IHwgbnVsbDtcbiAgb3JpZ2luYWxGbjogRnVuY3Rpb24gfCBudWxsO1xuICBjb250YWluZXJDbGFzczogYW55O1xuICBzZWxlY3Rvck5hbWU6IHN0cmluZyB8IG51bGw7XG4gIGdldFNlbGVjdG9yT3B0aW9uczogKCkgPT4gU2hhcmVkU2VsZWN0b3JPcHRpb25zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcHBlZFN0b3JlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBpc0luaXRpYWxpc2VkOiBib29sZWFuO1xuICBhY3Rpb25zOiBQbGFpbk9iamVjdE9mPEFjdGlvbkhhbmRsZXJNZXRhRGF0YVtdPjtcbiAgZGVmYXVsdHM6IGFueTtcbiAgaW5zdGFuY2U6IGFueTtcbiAgcGF0aDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlc0FuZERlZmF1bHRzIHtcbiAgZGVmYXVsdHM6IGFueTtcbiAgc3RhdGVzOiBNYXBwZWRTdG9yZVtdO1xufVxuXG4vKipcbiAqIEVuc3VyZXMgbWV0YWRhdGEgaXMgYXR0YWNoZWQgdG8gdGhlIGNsYXNzIGFuZCByZXR1cm5zIGl0LlxuICpcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZVN0b3JlTWV0YWRhdGEodGFyZ2V0OiBTdGF0ZUNsYXNzSW50ZXJuYWwpOiBNZXRhRGF0YU1vZGVsIHtcbiAgaWYgKCF0YXJnZXQuaGFzT3duUHJvcGVydHkoTUVUQV9LRVkpKSB7XG4gICAgY29uc3QgZGVmYXVsdE1ldGFkYXRhOiBNZXRhRGF0YU1vZGVsID0ge1xuICAgICAgbmFtZTogbnVsbCxcbiAgICAgIGFjdGlvbnM6IHt9LFxuICAgICAgZGVmYXVsdHM6IHt9LFxuICAgICAgcGF0aDogbnVsbCxcbiAgICAgIG1ha2VSb290U2VsZWN0b3IoY29udGV4dDogUnVudGltZVNlbGVjdG9yQ29udGV4dCkge1xuICAgICAgICByZXR1cm4gY29udGV4dC5nZXRTdGF0ZUdldHRlcihkZWZhdWx0TWV0YWRhdGEubmFtZSk7XG4gICAgICB9LFxuICAgICAgY2hpbGRyZW46IFtdXG4gICAgfTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIE1FVEFfS0VZLCB7IHZhbHVlOiBkZWZhdWx0TWV0YWRhdGEgfSk7XG4gIH1cbiAgcmV0dXJuIGdldFN0b3JlTWV0YWRhdGEodGFyZ2V0KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIG1ldGFkYXRhIGF0dGFjaGVkIHRvIHRoZSBzdGF0ZSBjbGFzcyBpZiBpdCBleGlzdHMuXG4gKlxuICogQGlnbm9yZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RvcmVNZXRhZGF0YSh0YXJnZXQ6IFN0YXRlQ2xhc3NJbnRlcm5hbCk6IE1ldGFEYXRhTW9kZWwge1xuICByZXR1cm4gdGFyZ2V0W01FVEFfS0VZXSE7XG59XG5cbi8qKlxuICogRW5zdXJlcyBtZXRhZGF0YSBpcyBhdHRhY2hlZCB0byB0aGUgc2VsZWN0b3IgYW5kIHJldHVybnMgaXQuXG4gKlxuICogQGlnbm9yZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlU2VsZWN0b3JNZXRhZGF0YSh0YXJnZXQ6IEZ1bmN0aW9uKTogU2VsZWN0b3JNZXRhRGF0YU1vZGVsIHtcbiAgaWYgKCF0YXJnZXQuaGFzT3duUHJvcGVydHkoU0VMRUNUT1JfTUVUQV9LRVkpKSB7XG4gICAgY29uc3QgZGVmYXVsdE1ldGFkYXRhOiBTZWxlY3Rvck1ldGFEYXRhTW9kZWwgPSB7XG4gICAgICBtYWtlUm9vdFNlbGVjdG9yOiBudWxsLFxuICAgICAgb3JpZ2luYWxGbjogbnVsbCxcbiAgICAgIGNvbnRhaW5lckNsYXNzOiBudWxsLFxuICAgICAgc2VsZWN0b3JOYW1lOiBudWxsLFxuICAgICAgZ2V0U2VsZWN0b3JPcHRpb25zOiAoKSA9PiAoe30pXG4gICAgfTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIFNFTEVDVE9SX01FVEFfS0VZLCB7IHZhbHVlOiBkZWZhdWx0TWV0YWRhdGEgfSk7XG4gIH1cblxuICByZXR1cm4gZ2V0U2VsZWN0b3JNZXRhZGF0YSh0YXJnZXQpO1xufVxuXG4vKipcbiAqIEdldCB0aGUgbWV0YWRhdGEgYXR0YWNoZWQgdG8gdGhlIHNlbGVjdG9yIGlmIGl0IGV4aXN0cy5cbiAqXG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWxlY3Rvck1ldGFkYXRhKHRhcmdldDogYW55KTogU2VsZWN0b3JNZXRhRGF0YU1vZGVsIHtcbiAgcmV0dXJuIHRhcmdldFtTRUxFQ1RPUl9NRVRBX0tFWV07XG59XG5cbi8qKlxuICogR2V0IGEgZGVlcGx5IG5lc3RlZCB2YWx1ZS4gRXhhbXBsZTpcbiAqXG4gKiAgICBnZXRWYWx1ZSh7IGZvbzogYmFyOiBbXSB9LCAnZm9vLmJhcicpIC8vPT4gW11cbiAqXG4gKiBOb3RlOiBUaGlzIGlzIG5vdCBhcyBmYXN0IGFzIHRoZSBgZmFzdFByb3BHZXR0ZXJgIGJ1dCBpcyBzdHJpY3QgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgY29tcGxpYW50LlxuICogU2VlIHBlcmYgaGl0OiBodHRwczovL2pzcGVyZi5jb20vZmFzdC12YWx1ZS1nZXR0ZXItZ2l2ZW4tcGF0aC8xXG4gKlxuICogQGlnbm9yZVxuICovXG5mdW5jdGlvbiBjb21wbGlhbnRQcm9wR2V0dGVyKHBhdGhzOiBzdHJpbmdbXSk6ICh4OiBhbnkpID0+IGFueSB7XG4gIGNvbnN0IGNvcHlPZlBhdGhzID0gcGF0aHMuc2xpY2UoKTtcbiAgcmV0dXJuIG9iaiA9PiBjb3B5T2ZQYXRocy5yZWR1Y2UoKGFjYzogYW55LCBwYXJ0OiBzdHJpbmcpID0+IGFjYyAmJiBhY2NbcGFydF0sIG9iaik7XG59XG5cbi8qKlxuICogVGhlIGdlbmVyYXRlZCBmdW5jdGlvbiBpcyBmYXN0ZXIgdGhhbjpcbiAqIC0gcGx1Y2sgKE9ic2VydmFibGUgb3BlcmF0b3IpXG4gKiAtIG1lbW9pemVcbiAqXG4gKiBAaWdub3JlXG4gKi9cbmZ1bmN0aW9uIGZhc3RQcm9wR2V0dGVyKHBhdGhzOiBzdHJpbmdbXSk6ICh4OiBhbnkpID0+IGFueSB7XG4gIGNvbnN0IHNlZ21lbnRzID0gcGF0aHM7XG4gIGxldCBzZWcgPSAnc3RvcmUuJyArIHNlZ21lbnRzWzBdO1xuICBsZXQgaSA9IDA7XG4gIGNvbnN0IGwgPSBzZWdtZW50cy5sZW5ndGg7XG5cbiAgbGV0IGV4cHIgPSBzZWc7XG4gIHdoaWxlICgrK2kgPCBsKSB7XG4gICAgZXhwciA9IGV4cHIgKyAnICYmICcgKyAoc2VnID0gc2VnICsgJy4nICsgc2VnbWVudHNbaV0pO1xuICB9XG5cbiAgY29uc3QgZm4gPSBuZXcgRnVuY3Rpb24oJ3N0b3JlJywgJ3JldHVybiAnICsgZXhwciArICc7Jyk7XG5cbiAgcmV0dXJuIDwoeDogYW55KSA9PiBhbnk+Zm47XG59XG5cbi8qKlxuICogR2V0IGEgZGVlcGx5IG5lc3RlZCB2YWx1ZS4gRXhhbXBsZTpcbiAqXG4gKiAgICBnZXRWYWx1ZSh7IGZvbzogYmFyOiBbXSB9LCAnZm9vLmJhcicpIC8vPT4gW11cbiAqXG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm9wR2V0dGVyKHBhdGhzOiBzdHJpbmdbXSwgY29uZmlnOiBOZ3hzQ29uZmlnKSB7XG4gIGlmIChjb25maWcgJiYgY29uZmlnLmNvbXBhdGliaWxpdHkgJiYgY29uZmlnLmNvbXBhdGliaWxpdHkuc3RyaWN0Q29udGVudFNlY3VyaXR5UG9saWN5KSB7XG4gICAgcmV0dXJuIGNvbXBsaWFudFByb3BHZXR0ZXIocGF0aHMpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYXN0UHJvcEdldHRlcihwYXRocyk7XG4gIH1cbn1cblxuLyoqXG4gKiBHaXZlbiBhbiBhcnJheSBvZiBzdGF0ZXMsIGl0IHdpbGwgcmV0dXJuIGEgb2JqZWN0IGdyYXBoLiBFeGFtcGxlOlxuICogICAgY29uc3Qgc3RhdGVzID0gW1xuICogICAgICBDYXJ0LFxuICogICAgICBDYXJ0U2F2ZWQsXG4gKiAgICAgIENhcnRTYXZlZEl0ZW1zXG4gKiAgICBdXG4gKlxuICogd291bGQgcmV0dXJuOlxuICpcbiAqICBjb25zdCBncmFwaCA9IHtcbiAqICAgIGNhcnQ6IFsnc2F2ZWQnXSxcbiAqICAgIHNhdmVkOiBbJ2l0ZW1zJ10sXG4gKiAgICBpdGVtczogW11cbiAqICB9O1xuICpcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkR3JhcGgoc3RhdGVDbGFzc2VzOiBTdGF0ZUNsYXNzSW50ZXJuYWxbXSk6IFN0YXRlS2V5R3JhcGgge1xuICBjb25zdCBmaW5kTmFtZSA9IChzdGF0ZUNsYXNzOiBTdGF0ZUNsYXNzSW50ZXJuYWwpID0+IHtcbiAgICBjb25zdCBtZXRhID0gc3RhdGVDbGFzc2VzLmZpbmQoZyA9PiBnID09PSBzdGF0ZUNsYXNzKTtcblxuICAgIC8vIENhcmV0YWtlciBub3RlOiB3ZSBoYXZlIHN0aWxsIGxlZnQgdGhlIGB0eXBlb2ZgIGNvbmRpdGlvbiBpbiBvcmRlciB0byBhdm9pZFxuICAgIC8vIGNyZWF0aW5nIGEgYnJlYWtpbmcgY2hhbmdlIGZvciBwcm9qZWN0cyB0aGF0IHN0aWxsIHVzZSB0aGUgVmlldyBFbmdpbmUuXG4gICAgaWYgKCh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpICYmICFtZXRhKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBDaGlsZCBzdGF0ZSBub3QgZm91bmQ6ICR7c3RhdGVDbGFzc30uIFxcclxcbllvdSBtYXkgaGF2ZSBmb3Jnb3R0ZW4gdG8gYWRkIHN0YXRlcyB0byBtb2R1bGVgXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBtZXRhIVtNRVRBX0tFWV0hLm5hbWUhO1xuICB9O1xuXG4gIHJldHVybiBzdGF0ZUNsYXNzZXMucmVkdWNlPFN0YXRlS2V5R3JhcGg+KFxuICAgIChyZXN1bHQ6IFN0YXRlS2V5R3JhcGgsIHN0YXRlQ2xhc3M6IFN0YXRlQ2xhc3NJbnRlcm5hbCkgPT4ge1xuICAgICAgY29uc3QgeyBuYW1lLCBjaGlsZHJlbiB9ID0gc3RhdGVDbGFzc1tNRVRBX0tFWV0hO1xuICAgICAgcmVzdWx0W25hbWUhXSA9IChjaGlsZHJlbiB8fCBbXSkubWFwKGZpbmROYW1lKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSxcbiAgICB7fVxuICApO1xufVxuXG4vKipcbiAqIEdpdmVuIGEgc3RhdGVzIGFycmF5LCByZXR1cm5zIG9iamVjdCBncmFwaFxuICogcmV0dXJuaW5nIHRoZSBuYW1lIGFuZCBzdGF0ZSBtZXRhZGF0YS4gRXhhbXBsZTpcbiAqXG4gKiAgY29uc3QgZ3JhcGggPSB7XG4gKiAgICBjYXJ0OiB7IG1ldGFkYXRhIH1cbiAqICB9O1xuICpcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5hbWVUb1N0YXRlKHN0YXRlczogU3RhdGVDbGFzc0ludGVybmFsW10pOiBQbGFpbk9iamVjdE9mPFN0YXRlQ2xhc3NJbnRlcm5hbD4ge1xuICByZXR1cm4gc3RhdGVzLnJlZHVjZTxQbGFpbk9iamVjdE9mPFN0YXRlQ2xhc3NJbnRlcm5hbD4+KFxuICAgIChyZXN1bHQ6IFBsYWluT2JqZWN0T2Y8U3RhdGVDbGFzc0ludGVybmFsPiwgc3RhdGVDbGFzczogU3RhdGVDbGFzc0ludGVybmFsKSA9PiB7XG4gICAgICBjb25zdCBtZXRhID0gc3RhdGVDbGFzc1tNRVRBX0tFWV0hO1xuICAgICAgcmVzdWx0W21ldGEubmFtZSFdID0gc3RhdGVDbGFzcztcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSxcbiAgICB7fVxuICApO1xufVxuXG4vKipcbiAqIEdpdmVuIGEgb2JqZWN0IHJlbGF0aW9uc2hpcCBncmFwaCB3aWxsIHJldHVybiB0aGUgZnVsbCBwYXRoXG4gKiBmb3IgdGhlIGNoaWxkIGl0ZW1zLiBFeGFtcGxlOlxuICpcbiAqICBjb25zdCBncmFwaCA9IHtcbiAqICAgIGNhcnQ6IFsnc2F2ZWQnXSxcbiAqICAgIHNhdmVkOiBbJ2l0ZW1zJ10sXG4gKiAgICBpdGVtczogW11cbiAqICB9O1xuICpcbiAqIHdvdWxkIHJldHVybjpcbiAqXG4gKiAgY29uc3QgciA9IHtcbiAqICAgIGNhcnQ6ICdjYXJ0JyxcbiAqICAgIHNhdmVkOiAnY2FydC5zYXZlZCcsXG4gKiAgICBpdGVtczogJ2NhcnQuc2F2ZWQuaXRlbXMnXG4gKiAgfTtcbiAqXG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kRnVsbFBhcmVudFBhdGgoXG4gIG9iajogU3RhdGVLZXlHcmFwaCxcbiAgbmV3T2JqOiBQbGFpbk9iamVjdE9mPHN0cmluZz4gPSB7fVxuKTogUGxhaW5PYmplY3RPZjxzdHJpbmc+IHtcbiAgY29uc3QgdmlzaXQgPSAoY2hpbGQ6IFN0YXRlS2V5R3JhcGgsIGtleVRvRmluZDogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gY2hpbGQpIHtcbiAgICAgIGlmIChjaGlsZC5oYXNPd25Qcm9wZXJ0eShrZXkpICYmIGNoaWxkW2tleV0uaW5kZXhPZihrZXlUb0ZpbmQpID49IDApIHtcbiAgICAgICAgY29uc3QgcGFyZW50ID0gdmlzaXQoY2hpbGQsIGtleSk7XG4gICAgICAgIHJldHVybiBwYXJlbnQgIT09IG51bGwgPyBgJHtwYXJlbnR9LiR7a2V5fWAgOiBrZXk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xuICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgY29uc3QgcGFyZW50ID0gdmlzaXQob2JqLCBrZXkpO1xuICAgICAgbmV3T2JqW2tleV0gPSBwYXJlbnQgPyBgJHtwYXJlbnR9LiR7a2V5fWAgOiBrZXk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5ld09iajtcbn1cblxuLyoqXG4gKiBHaXZlbiBhIG9iamVjdCBncmFwaCwgaXQgd2lsbCByZXR1cm4gdGhlIGl0ZW1zIHRvcG9sb2dpY2FsbHkgc29ydGVkIEV4YW1wbGU6XG4gKlxuICogIGNvbnN0IGdyYXBoID0ge1xuICogICAgY2FydDogWydzYXZlZCddLFxuICogICAgc2F2ZWQ6IFsnaXRlbXMnXSxcbiAqICAgIGl0ZW1zOiBbXVxuICogIH07XG4gKlxuICogd291bGQgcmV0dXJuOlxuICpcbiAqICBjb25zdCByZXN1bHRzID0gW1xuICogICAgJ2l0ZW1zJyxcbiAqICAgICdzYXZlZCcsXG4gKiAgICAnY2FydCdcbiAqICBdO1xuICpcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvcG9sb2dpY2FsU29ydChncmFwaDogU3RhdGVLZXlHcmFwaCk6IHN0cmluZ1tdIHtcbiAgY29uc3Qgc29ydGVkOiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdCB2aXNpdGVkOiBQbGFpbk9iamVjdE9mPGJvb2xlYW4+ID0ge307XG5cbiAgY29uc3QgdmlzaXQgPSAobmFtZTogc3RyaW5nLCBhbmNlc3RvcnM6IHN0cmluZ1tdID0gW10pID0+IHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYW5jZXN0b3JzKSkge1xuICAgICAgYW5jZXN0b3JzID0gW107XG4gICAgfVxuXG4gICAgYW5jZXN0b3JzLnB1c2gobmFtZSk7XG4gICAgdmlzaXRlZFtuYW1lXSA9IHRydWU7XG5cbiAgICBncmFwaFtuYW1lXS5mb3JFYWNoKChkZXA6IHN0cmluZykgPT4ge1xuICAgICAgLy8gQ2FyZXRha2VyIG5vdGU6IHdlIGhhdmUgc3RpbGwgbGVmdCB0aGUgYHR5cGVvZmAgY29uZGl0aW9uIGluIG9yZGVyIHRvIGF2b2lkXG4gICAgICAvLyBjcmVhdGluZyBhIGJyZWFraW5nIGNoYW5nZSBmb3IgcHJvamVjdHMgdGhhdCBzdGlsbCB1c2UgdGhlIFZpZXcgRW5naW5lLlxuICAgICAgaWYgKCh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpICYmIGFuY2VzdG9ycy5pbmRleE9mKGRlcCkgPj0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYENpcmN1bGFyIGRlcGVuZGVuY3kgJyR7ZGVwfScgaXMgcmVxdWlyZWQgYnkgJyR7bmFtZX0nOiAke2FuY2VzdG9ycy5qb2luKCcgLT4gJyl9YFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAodmlzaXRlZFtkZXBdKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmlzaXQoZGVwLCBhbmNlc3RvcnMuc2xpY2UoMCkpO1xuICAgIH0pO1xuXG4gICAgaWYgKHNvcnRlZC5pbmRleE9mKG5hbWUpIDwgMCkge1xuICAgICAgc29ydGVkLnB1c2gobmFtZSk7XG4gICAgfVxuICB9O1xuXG4gIE9iamVjdC5rZXlzKGdyYXBoKS5mb3JFYWNoKGsgPT4gdmlzaXQoaykpO1xuXG4gIHJldHVybiBzb3J0ZWQucmV2ZXJzZSgpO1xufVxuXG4vKipcbiAqIFJldHVybnMgaWYgdGhlIHBhcmFtZXRlciBpcyBhIG9iamVjdCBvciBub3QuXG4gKlxuICogQGlnbm9yZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNPYmplY3Qob2JqOiBhbnkpIHtcbiAgcmV0dXJuICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyAmJiBvYmogIT09IG51bGwpIHx8IHR5cGVvZiBvYmogPT09ICdmdW5jdGlvbic7XG59XG4iXX0=
@@ -0,0 +1,79 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { NgxsBootstrapper } from '@ngxs/store/internals';
3
+ import { EMPTY, Subject } from 'rxjs';
4
+ import { catchError, filter, mergeMap, pairwise, startWith, takeUntil, tap } from 'rxjs/operators';
5
+ import { Store } from '../store';
6
+ import { getValue } from '../utils/utils';
7
+ import { InternalErrorReporter } from './error-handler';
8
+ import { StateContextFactory } from './state-context-factory';
9
+ import { InternalStateOperations } from './state-operations';
10
+ import { NgxsSimpleChange } from '../symbols';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "../store";
13
+ import * as i2 from "./error-handler";
14
+ import * as i3 from "./state-operations";
15
+ import * as i4 from "./state-context-factory";
16
+ import * as i5 from "@ngxs/store/internals";
17
+ export class LifecycleStateManager {
18
+ constructor(_store, _internalErrorReporter, _internalStateOperations, _stateContextFactory, _bootstrapper) {
19
+ this._store = _store;
20
+ this._internalErrorReporter = _internalErrorReporter;
21
+ this._internalStateOperations = _internalStateOperations;
22
+ this._stateContextFactory = _stateContextFactory;
23
+ this._bootstrapper = _bootstrapper;
24
+ this._destroy$ = new Subject();
25
+ }
26
+ ngOnDestroy() {
27
+ this._destroy$.next();
28
+ }
29
+ ngxsBootstrap(action, results) {
30
+ this._internalStateOperations
31
+ .getRootStateOperations()
32
+ .dispatch(action)
33
+ .pipe(filter(() => !!results), tap(() => this._invokeInitOnStates(results.states)), mergeMap(() => this._bootstrapper.appBootstrapped$), filter(appBootstrapped => !!appBootstrapped), catchError(error => {
34
+ // The `SafeSubscriber` (which is used by most RxJS operators) re-throws
35
+ // errors asynchronously (`setTimeout(() => { throw error })`). This might
36
+ // break existing user's code or unit tests. We catch the error manually to
37
+ // be backward compatible with the old behavior.
38
+ this._internalErrorReporter.reportErrorSafely(error);
39
+ return EMPTY;
40
+ }), takeUntil(this._destroy$))
41
+ .subscribe(() => this._invokeBootstrapOnStates(results.states));
42
+ }
43
+ _invokeInitOnStates(mappedStores) {
44
+ for (const mappedStore of mappedStores) {
45
+ const instance = mappedStore.instance;
46
+ if (instance.ngxsOnChanges) {
47
+ this._store
48
+ .select(state => getValue(state, mappedStore.path))
49
+ .pipe(startWith(undefined), pairwise(), takeUntil(this._destroy$))
50
+ .subscribe(([previousValue, currentValue]) => {
51
+ const change = new NgxsSimpleChange(previousValue, currentValue, !mappedStore.isInitialised);
52
+ instance.ngxsOnChanges(change);
53
+ });
54
+ }
55
+ if (instance.ngxsOnInit) {
56
+ instance.ngxsOnInit(this._getStateContext(mappedStore));
57
+ }
58
+ mappedStore.isInitialised = true;
59
+ }
60
+ }
61
+ _invokeBootstrapOnStates(mappedStores) {
62
+ for (const mappedStore of mappedStores) {
63
+ const instance = mappedStore.instance;
64
+ if (instance.ngxsAfterBootstrap) {
65
+ instance.ngxsAfterBootstrap(this._getStateContext(mappedStore));
66
+ }
67
+ }
68
+ }
69
+ _getStateContext(mappedStore) {
70
+ return this._stateContextFactory.createStateContext(mappedStore);
71
+ }
72
+ }
73
+ /** @nocollapse */ LifecycleStateManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LifecycleStateManager, deps: [{ token: i1.Store }, { token: i2.InternalErrorReporter }, { token: i3.InternalStateOperations }, { token: i4.StateContextFactory }, { token: i5.NgxsBootstrapper }], target: i0.ɵɵFactoryTarget.Injectable });
74
+ /** @nocollapse */ LifecycleStateManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LifecycleStateManager, providedIn: 'root' });
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: LifecycleStateManager, decorators: [{
76
+ type: Injectable,
77
+ args: [{ providedIn: 'root' }]
78
+ }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.InternalErrorReporter }, { type: i3.InternalStateOperations }, { type: i4.StateContextFactory }, { type: i5.NgxsBootstrapper }]; } });
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlmZWN5Y2xlLXN0YXRlLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9zcmMvaW50ZXJuYWwvbGlmZWN5Y2xlLXN0YXRlLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQ0wsVUFBVSxFQUNWLE1BQU0sRUFDTixRQUFRLEVBQ1IsUUFBUSxFQUNSLFNBQVMsRUFDVCxTQUFTLEVBQ1QsR0FBRyxFQUNKLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNqQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0QsT0FBTyxFQUFpQixnQkFBZ0IsRUFBZ0IsTUFBTSxZQUFZLENBQUM7Ozs7Ozs7QUFHM0UsTUFBTSxPQUFPLHFCQUFxQjtJQUdoQyxZQUNVLE1BQWEsRUFDYixzQkFBNkMsRUFDN0Msd0JBQWlELEVBQ2pELG9CQUF5QyxFQUN6QyxhQUErQjtRQUovQixXQUFNLEdBQU4sTUFBTSxDQUFPO1FBQ2IsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF1QjtRQUM3Qyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQXlCO1FBQ2pELHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDekMsa0JB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QUNuRSxDQUFDOztzSUExRVUscUJBQXFCOzBJQUFyQixxQkFBcUIsY0FEUixNQUFNOzRGQUNuQixxQkFBcUI7a0JBRGpDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3hzQm9vdHN0cmFwcGVyIH0gZnJvbSAnQG5neHMvc3RvcmUvaW50ZXJuYWxzJztcbmltcG9ydCB7IEVNUFRZLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBjYXRjaEVycm9yLFxuICBmaWx0ZXIsXG4gIG1lcmdlTWFwLFxuICBwYWlyd2lzZSxcbiAgc3RhcnRXaXRoLFxuICB0YWtlVW50aWwsXG4gIHRhcFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnLi4vc3RvcmUnO1xuaW1wb3J0IHsgZ2V0VmFsdWUgfSBmcm9tICcuLi91dGlscy91dGlscyc7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yUmVwb3J0ZXIgfSBmcm9tICcuL2Vycm9yLWhhbmRsZXInO1xuaW1wb3J0IHsgU3RhdGVDb250ZXh0RmFjdG9yeSB9IGZyb20gJy4vc3RhdGUtY29udGV4dC1mYWN0b3J5JztcbmltcG9ydCB7IEludGVybmFsU3RhdGVPcGVyYXRpb25zIH0gZnJvbSAnLi9zdGF0ZS1vcGVyYXRpb25zJztcbmltcG9ydCB7IE1hcHBlZFN0b3JlLCBTdGF0ZXNBbmREZWZhdWx0cyB9IGZyb20gJy4vaW50ZXJuYWxzJztcbmltcG9ydCB7IE5neHNMaWZlQ3ljbGUsIE5neHNTaW1wbGVDaGFuZ2UsIFN0YXRlQ29udGV4dCB9IGZyb20gJy4uL3N5bWJvbHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIExpZmVjeWNsZVN0YXRlTWFuYWdlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9zdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBfaW50ZXJuYWxFcnJvclJlcG9ydGVyOiBJbnRlcm5hbEVycm9yUmVwb3J0ZXIsXG4gICAgcHJpdmF0ZSBfaW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnM6IEludGVybmFsU3RhdGVPcGVyYXRpb25zLFxuICAgIHByaXZhdGUgX3N0YXRlQ29udGV4dEZhY3Rvcnk6IFN0YXRlQ29udGV4dEZhY3RvcnksXG4gICAgcHJpdmF0ZSBfYm9vdHN0cmFwcGVyOiBOZ3hzQm9vdHN0cmFwcGVyXG4gICkge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gIH1cblxuICBuZ3hzQm9vdHN0cmFwPFQ+KGFjdGlvbjogVCwgcmVzdWx0czogU3RhdGVzQW5kRGVmYXVsdHMgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICB0aGlzLl9pbnRlcm5hbFN0YXRlT3BlcmF0aW9uc1xuICAgICAgLmdldFJvb3RTdGF0ZU9wZXJhdGlvbnMoKVxuICAgICAgLmRpc3BhdGNoKGFjdGlvbilcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKCkgPT4gISFyZXN1bHRzKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX2ludm9rZUluaXRPblN0YXRlcyhyZXN1bHRzIS5zdGF0ZXMpKSxcbiAgICAgICAgbWVyZ2VNYXAoKCkgPT4gdGhpcy5fYm9vdHN0cmFwcGVyLmFwcEJvb3RzdHJhcHBlZCQpLFxuICAgICAgICBmaWx0ZXIoYXBwQm9vdHN0cmFwcGVkID0+ICEhYXBwQm9vdHN0cmFwcGVkKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgLy8gVGhlIGBTYWZlU3Vic2NyaWJlcmAgKHdoaWNoIGlzIHVzZWQgYnkgbW9zdCBSeEpTIG9wZXJhdG9ycykgcmUtdGhyb3dzXG4gICAgICAgICAgLy8gZXJyb3JzIGFzeW5jaHJvbm91c2x5IChgc2V0VGltZW91dCgoKSA9PiB7IHRocm93IGVycm9yIH0pYCkuIFRoaXMgbWlnaHRcbiAgICAgICAgICAvLyBicmVhayBleGlzdGluZyB1c2VyJ3MgY29kZSBvciB1bml0IHRlc3RzLiBXZSBjYXRjaCB0aGUgZXJyb3IgbWFudWFsbHkgdG9cbiAgICAgICAgICAvLyBiZSBiYWNrd2FyZCBjb21wYXRpYmxlIHdpdGggdGhlIG9sZCBiZWhhdmlvci5cbiAgICAgICAgICB0aGlzLl9pbnRlcm5hbEVycm9yUmVwb3J0ZXIucmVwb3J0RXJyb3JTYWZlbHkoZXJyb3IpO1xuICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5faW52b2tlQm9vdHN0cmFwT25TdGF0ZXMocmVzdWx0cyEuc3RhdGVzKSk7XG4gIH1cblxuICBwcml2YXRlIF9pbnZva2VJbml0T25TdGF0ZXMobWFwcGVkU3RvcmVzOiBNYXBwZWRTdG9yZVtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBtYXBwZWRTdG9yZSBvZiBtYXBwZWRTdG9yZXMpIHtcbiAgICAgIGNvbnN0IGluc3RhbmNlOiBOZ3hzTGlmZUN5Y2xlID0gbWFwcGVkU3RvcmUuaW5zdGFuY2U7XG5cbiAgICAgIGlmIChpbnN0YW5jZS5uZ3hzT25DaGFuZ2VzKSB7XG4gICAgICAgIHRoaXMuX3N0b3JlXG4gICAgICAgICAgLnNlbGVjdChzdGF0ZSA9PiBnZXRWYWx1ZShzdGF0ZSwgbWFwcGVkU3RvcmUucGF0aCkpXG4gICAgICAgICAgLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCksIHBhaXJ3aXNlKCksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAgICAgLnN1YnNjcmliZSgoW3ByZXZpb3VzVmFsdWUsIGN1cnJlbnRWYWx1ZV0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNoYW5nZSA9IG5ldyBOZ3hzU2ltcGxlQ2hhbmdlKFxuICAgICAgICAgICAgICBwcmV2aW91c1ZhbHVlLFxuICAgICAgICAgICAgICBjdXJyZW50VmFsdWUsXG4gICAgICAgICAgICAgICFtYXBwZWRTdG9yZS5pc0luaXRpYWxpc2VkXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaW5zdGFuY2Uubmd4c09uQ2hhbmdlcyEoY2hhbmdlKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGluc3RhbmNlLm5neHNPbkluaXQpIHtcbiAgICAgICAgaW5zdGFuY2Uubmd4c09uSW5pdCh0aGlzLl9nZXRTdGF0ZUNvbnRleHQobWFwcGVkU3RvcmUpKTtcbiAgICAgIH1cblxuICAgICAgbWFwcGVkU3RvcmUuaXNJbml0aWFsaXNlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaW52b2tlQm9vdHN0cmFwT25TdGF0ZXMobWFwcGVkU3RvcmVzOiBNYXBwZWRTdG9yZVtdKSB7XG4gICAgZm9yIChjb25zdCBtYXBwZWRTdG9yZSBvZiBtYXBwZWRTdG9yZXMpIHtcbiAgICAgIGNvbnN0IGluc3RhbmNlOiBOZ3hzTGlmZUN5Y2xlID0gbWFwcGVkU3RvcmUuaW5zdGFuY2U7XG4gICAgICBpZiAoaW5zdGFuY2Uubmd4c0FmdGVyQm9vdHN0cmFwKSB7XG4gICAgICAgIGluc3RhbmNlLm5neHNBZnRlckJvb3RzdHJhcCh0aGlzLl9nZXRTdGF0ZUNvbnRleHQobWFwcGVkU3RvcmUpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9nZXRTdGF0ZUNvbnRleHQobWFwcGVkU3RvcmU6IE1hcHBlZFN0b3JlKTogU3RhdGVDb250ZXh0PGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZUNvbnRleHRGYWN0b3J5LmNyZWF0ZVN0YXRlQ29udGV4dChtYXBwZWRTdG9yZSk7XG4gIH1cbn1cbiJdfQ==
@@ -40,9 +40,9 @@ export class StateContextFactory {
40
40
  };
41
41
  }
42
42
  }
43
- /** @nocollapse */ StateContextFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: StateContextFactory, deps: [{ token: i1.InternalStateOperations }], target: i0.ɵɵFactoryTarget.Injectable });
44
- /** @nocollapse */ StateContextFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: StateContextFactory, providedIn: 'root' });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: StateContextFactory, decorators: [{
43
+ /** @nocollapse */ StateContextFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StateContextFactory, deps: [{ token: i1.InternalStateOperations }], target: i0.ɵɵFactoryTarget.Injectable });
44
+ /** @nocollapse */ StateContextFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StateContextFactory, providedIn: 'root' });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: StateContextFactory, decorators: [{
46
46
  type: Injectable,
47
47
  args: [{ providedIn: 'root' }]
48
48
  }], ctorParameters: function () { return [{ type: i1.InternalStateOperations }]; } });
@@ -65,4 +65,4 @@ function setStateFromOperator(root, currentAppState, stateOperator, path) {
65
65
  function getState(currentAppState, path) {
66
66
  return getValue(currentAppState, path);
67
67
  }
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtY29udGV4dC1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL2ludGVybmFsL3N0YXRlLWNvbnRleHQtZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBZ0MsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJdEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUVoRDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQW9CLHdCQUFpRDtRQUFqRCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQXlCO0lBQUcsQ0FBQztJQUV6RTs7T0FFRztJQUNILGtCQUFrQixDQUFJLFdBQXdCO1FBQzVDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBRXBFLE9BQU87WUFDTCxRQUFRO2dCQUNOLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDeEMsT0FBTyxRQUFRLENBQUMsZUFBZSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyRCxDQUFDO1lBQ0QsVUFBVSxDQUFDLEdBQWU7Z0JBQ3hCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDeEMsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFJLEdBQUcsQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLG9CQUFvQixDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0RixDQUFDO1lBQ0QsUUFBUSxDQUFDLEdBQXlCO2dCQUNoQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3hDLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQztvQkFDekIsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUM7b0JBQ3BFLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xFLENBQUM7WUFDRCxRQUFRLENBQUMsT0FBb0I7Z0JBQzNCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoQyxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7O21JQTdCVSxtQkFBbUI7dUlBQW5CLG1CQUFtQixjQUROLE1BQU07MkZBQ25CLG1CQUFtQjtrQkFEL0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBaUNsQyxTQUFTLGFBQWEsQ0FDcEIsSUFBMEIsRUFDMUIsZUFBb0IsRUFDcEIsUUFBVyxFQUNYLElBQVk7SUFFWixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNCLE9BQU8sV0FBVyxDQUFDO0lBQ25CLHNFQUFzRTtJQUN0RSw2REFBNkQ7SUFDN0Qsb0RBQW9EO0lBQ3BELG9HQUFvRztJQUNwRyxzREFBc0Q7SUFDdEQsNEVBQTRFO0FBQzlFLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUMzQixJQUEwQixFQUMxQixlQUFvQixFQUNwQixhQUErQixFQUMvQixJQUFZO0lBRVosTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QyxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsS0FBeUIsQ0FBQyxDQUFDO0lBQzFELE9BQU8sYUFBYSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBSSxlQUFvQixFQUFFLElBQVk7SUFDckQsT0FBTyxRQUFRLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEV4aXN0aW5nU3RhdGUsIFN0YXRlT3BlcmF0b3IsIGlzU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFN0YXRlQ29udGV4dCB9IGZyb20gJy4uL3N5bWJvbHMnO1xuaW1wb3J0IHsgTWFwcGVkU3RvcmUsIFN0YXRlT3BlcmF0aW9ucyB9IGZyb20gJy4uL2ludGVybmFsL2ludGVybmFscyc7XG5pbXBvcnQgeyBzZXRWYWx1ZSwgZ2V0VmFsdWUgfSBmcm9tICcuLi91dGlscy91dGlscyc7XG5pbXBvcnQgeyBJbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyB9IGZyb20gJy4uL2ludGVybmFsL3N0YXRlLW9wZXJhdGlvbnMnO1xuaW1wb3J0IHsgc2ltcGxlUGF0Y2ggfSBmcm9tICcuL3N0YXRlLW9wZXJhdG9ycyc7XG5cbi8qKlxuICogU3RhdGUgQ29udGV4dCBmYWN0b3J5IGNsYXNzXG4gKiBAaWdub3JlXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3RhdGVDb250ZXh0RmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2ludGVybmFsU3RhdGVPcGVyYXRpb25zOiBJbnRlcm5hbFN0YXRlT3BlcmF0aW9ucykge31cblxuICAvKipcbiAgICogQ3JlYXRlIHRoZSBzdGF0ZSBjb250ZXh0XG4gICAqL1xuICBjcmVhdGVTdGF0ZUNvbnRleHQ8VD4obWFwcGVkU3RvcmU6IE1hcHBlZFN0b3JlKTogU3RhdGVDb250ZXh0PFQ+IHtcbiAgICBjb25zdCByb290ID0gdGhpcy5faW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMuZ2V0Um9vdFN0YXRlT3BlcmF0aW9ucygpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGdldFN0YXRlKCk6IFQge1xuICAgICAgICBjb25zdCBjdXJyZW50QXBwU3RhdGUgPSByb290LmdldFN0YXRlKCk7XG4gICAgICAgIHJldHVybiBnZXRTdGF0ZShjdXJyZW50QXBwU3RhdGUsIG1hcHBlZFN0b3JlLnBhdGgpO1xuICAgICAgfSxcbiAgICAgIHBhdGNoU3RhdGUodmFsOiBQYXJ0aWFsPFQ+KTogVCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRBcHBTdGF0ZSA9IHJvb3QuZ2V0U3RhdGUoKTtcbiAgICAgICAgY29uc3QgcGF0Y2hPcGVyYXRvciA9IHNpbXBsZVBhdGNoPFQ+KHZhbCk7XG4gICAgICAgIHJldHVybiBzZXRTdGF0ZUZyb21PcGVyYXRvcihyb290LCBjdXJyZW50QXBwU3RhdGUsIHBhdGNoT3BlcmF0b3IsIG1hcHBlZFN0b3JlLnBhdGgpO1xuICAgICAgfSxcbiAgICAgIHNldFN0YXRlKHZhbDogVCB8IFN0YXRlT3BlcmF0b3I8VD4pOiBUIHtcbiAgICAgICAgY29uc3QgY3VycmVudEFwcFN0YXRlID0gcm9vdC5nZXRTdGF0ZSgpO1xuICAgICAgICByZXR1cm4gaXNTdGF0ZU9wZXJhdG9yKHZhbClcbiAgICAgICAgICA/IHNldFN0YXRlRnJvbU9wZXJhdG9yKHJvb3QsIGN1cnJlbnRBcHBTdGF0ZSwgdmFsLCBtYXBwZWRTdG9yZS5wYXRoKVxuICAgICAgICAgIDogc2V0U3RhdGVWYWx1ZShyb290LCBjdXJyZW50QXBwU3RhdGUsIHZhbCwgbWFwcGVkU3RvcmUucGF0aCk7XG4gICAgICB9LFxuICAgICAgZGlzcGF0Y2goYWN0aW9uczogYW55IHwgYW55W10pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHJvb3QuZGlzcGF0Y2goYWN0aW9ucyk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXRTdGF0ZVZhbHVlPFQ+KFxuICByb290OiBTdGF0ZU9wZXJhdGlvbnM8YW55PixcbiAgY3VycmVudEFwcFN0YXRlOiBhbnksXG4gIG5ld1ZhbHVlOiBULFxuICBwYXRoOiBzdHJpbmdcbik6IGFueSB7XG4gIGNvbnN0IG5ld0FwcFN0YXRlID0gc2V0VmFsdWUoY3VycmVudEFwcFN0YXRlLCBwYXRoLCBuZXdWYWx1ZSk7XG4gIHJvb3Quc2V0U3RhdGUobmV3QXBwU3RhdGUpO1xuICByZXR1cm4gbmV3QXBwU3RhdGU7XG4gIC8vIEluIGRvaW5nIHRoaXMgcmVmYWN0b3JpbmcgSSBub3RpY2VkIHRoYXQgdGhlcmUgaXMgYSAnYnVnJyB3aGVyZSB0aGVcbiAgLy8gYXBwbGljYXRpb24gc3RhdGUgaXMgcmV0dXJuZWQgaW5zdGVhZCBvZiB0aGlzIHN0YXRlIHNsaWNlLlxuICAvLyBUaGlzIGhhcyB3b3JrZWQgdGhpcyB3YXkgc2luY2UgdGhlIGJlZ2lubmluZyBzZWU6XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9uZ3hzL3N0b3JlL2JsYW1lLzMyNGM2NjdiNGI3ZGViZDhlYjk3OTAwNmM2N2NhMGFlMzQ3ZDg4Y2Qvc3JjL3N0YXRlLWZhY3RvcnkudHNcbiAgLy8gVGhpcyBuZWVkcyB0byBiZSBmaXhlZCwgYnV0IGlzIGEgJ2JyZWFraW5nJyBjaGFuZ2UuXG4gIC8vIEkgd2lsbCBkbyB0aGlzIGZpeCBpbiBhIHN1YnNlcXVlbnQgUFIgYW5kIHdlIGNhbiBkZWNpZGUgaG93IHRvIGhhbmRsZSBpdC5cbn1cblxuZnVuY3Rpb24gc2V0U3RhdGVGcm9tT3BlcmF0b3I8VD4oXG4gIHJvb3Q6IFN0YXRlT3BlcmF0aW9uczxhbnk+LFxuICBjdXJyZW50QXBwU3RhdGU6IGFueSxcbiAgc3RhdGVPcGVyYXRvcjogU3RhdGVPcGVyYXRvcjxUPixcbiAgcGF0aDogc3RyaW5nXG4pIHtcbiAgY29uc3QgbG9jYWwgPSBnZXRTdGF0ZShjdXJyZW50QXBwU3RhdGUsIHBhdGgpO1xuICBjb25zdCBuZXdWYWx1ZSA9IHN0YXRlT3BlcmF0b3IobG9jYWwgYXMgRXhpc3RpbmdTdGF0ZTxUPik7XG4gIHJldHVybiBzZXRTdGF0ZVZhbHVlKHJvb3QsIGN1cnJlbnRBcHBTdGF0ZSwgbmV3VmFsdWUsIHBhdGgpO1xufVxuXG5mdW5jdGlvbiBnZXRTdGF0ZTxUPihjdXJyZW50QXBwU3RhdGU6IGFueSwgcGF0aDogc3RyaW5nKTogVCB7XG4gIHJldHVybiBnZXRWYWx1ZShjdXJyZW50QXBwU3RhdGUsIHBhdGgpO1xufVxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtY29udGV4dC1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RvcmUvc3JjL2ludGVybmFsL3N0YXRlLWNvbnRleHQtZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBZ0MsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJdEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUVoRDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQW9CLHdCQUFpRDtRQUFqRCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQXlCO0lBQUcsQ0FBQztJQUV6RTs7T0FFRztJQUNILGtCQUFrQixDQUFJLFdBQXdCO1FBQzVDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBRXBFLE9BQU87WUFDTCxRQUFRO2dCQUNOLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDeEMsT0FBTyxRQUFRLENBQUMsZUFBZSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyRCxDQUFDO1lBQ0QsVUFBVSxDQUFDLEdBQWU7Z0JBQ3hCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDeEMsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFJLEdBQUcsQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLG9CQUFvQixDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0RixDQUFDO1lBQ0QsUUFBUSxDQUFDLEdBQXlCO2dCQUNoQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3hDLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQztvQkFDekIsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUM7b0JBQ3BFLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xFLENBQUM7WUFDRCxRQUFRLENBQUMsT0FBb0I7Z0JBQzNCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoQyxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7O29JQTdCVSxtQkFBbUI7d0lBQW5CLG1CQUFtQixjQUROLE1BQU07NEZBQ25CLG1CQUFtQjtrQkFEL0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBaUNsQyxTQUFTLGFBQWEsQ0FDcEIsSUFBMEIsRUFDMUIsZUFBb0IsRUFDcEIsUUFBVyxFQUNYLElBQVk7SUFFWixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNCLE9BQU8sV0FBVyxDQUFDO0lBQ25CLHNFQUFzRTtJQUN0RSw2REFBNkQ7SUFDN0Qsb0RBQW9EO0lBQ3BELG9HQUFvRztJQUNwRyxzREFBc0Q7SUFDdEQsNEVBQTRFO0FBQzlFLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUMzQixJQUEwQixFQUMxQixlQUFvQixFQUNwQixhQUErQixFQUMvQixJQUFZO0lBRVosTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QyxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsS0FBeUIsQ0FBQyxDQUFDO0lBQzFELE9BQU8sYUFBYSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBSSxlQUFvQixFQUFFLElBQVk7SUFDckQsT0FBTyxRQUFRLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEV4aXN0aW5nU3RhdGUsIFN0YXRlT3BlcmF0b3IsIGlzU3RhdGVPcGVyYXRvciB9IGZyb20gJ0BuZ3hzL3N0b3JlL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFN0YXRlQ29udGV4dCB9IGZyb20gJy4uL3N5bWJvbHMnO1xuaW1wb3J0IHsgTWFwcGVkU3RvcmUsIFN0YXRlT3BlcmF0aW9ucyB9IGZyb20gJy4uL2ludGVybmFsL2ludGVybmFscyc7XG5pbXBvcnQgeyBzZXRWYWx1ZSwgZ2V0VmFsdWUgfSBmcm9tICcuLi91dGlscy91dGlscyc7XG5pbXBvcnQgeyBJbnRlcm5hbFN0YXRlT3BlcmF0aW9ucyB9IGZyb20gJy4uL2ludGVybmFsL3N0YXRlLW9wZXJhdGlvbnMnO1xuaW1wb3J0IHsgc2ltcGxlUGF0Y2ggfSBmcm9tICcuL3N0YXRlLW9wZXJhdG9ycyc7XG5cbi8qKlxuICogU3RhdGUgQ29udGV4dCBmYWN0b3J5IGNsYXNzXG4gKiBAaWdub3JlXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3RhdGVDb250ZXh0RmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2ludGVybmFsU3RhdGVPcGVyYXRpb25zOiBJbnRlcm5hbFN0YXRlT3BlcmF0aW9ucykge31cblxuICAvKipcbiAgICogQ3JlYXRlIHRoZSBzdGF0ZSBjb250ZXh0XG4gICAqL1xuICBjcmVhdGVTdGF0ZUNvbnRleHQ8VD4obWFwcGVkU3RvcmU6IE1hcHBlZFN0b3JlKTogU3RhdGVDb250ZXh0PFQ+IHtcbiAgICBjb25zdCByb290ID0gdGhpcy5faW50ZXJuYWxTdGF0ZU9wZXJhdGlvbnMuZ2V0Um9vdFN0YXRlT3BlcmF0aW9ucygpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGdldFN0YXRlKCk6IFQge1xuICAgICAgICBjb25zdCBjdXJyZW50QXBwU3RhdGUgPSByb290LmdldFN0YXRlKCk7XG4gICAgICAgIHJldHVybiBnZXRTdGF0ZShjdXJyZW50QXBwU3RhdGUsIG1hcHBlZFN0b3JlLnBhdGgpO1xuICAgICAgfSxcbiAgICAgIHBhdGNoU3RhdGUodmFsOiBQYXJ0aWFsPFQ+KTogVCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRBcHBTdGF0ZSA9IHJvb3QuZ2V0U3RhdGUoKTtcbiAgICAgICAgY29uc3QgcGF0Y2hPcGVyYXRvciA9IHNpbXBsZVBhdGNoPFQ+KHZhbCk7XG4gICAgICAgIHJldHVybiBzZXRTdGF0ZUZyb21PcGVyYXRvcihyb290LCBjdXJyZW50QXBwU3RhdGUsIHBhdGNoT3BlcmF0b3IsIG1hcHBlZFN0b3JlLnBhdGgpO1xuICAgICAgfSxcbiAgICAgIHNldFN0YXRlKHZhbDogVCB8IFN0YXRlT3BlcmF0b3I8VD4pOiBUIHtcbiAgICAgICAgY29uc3QgY3VycmVudEFwcFN0YXRlID0gcm9vdC5nZXRTdGF0ZSgpO1xuICAgICAgICByZXR1cm4gaXNTdGF0ZU9wZXJhdG9yKHZhbClcbiAgICAgICAgICA/IHNldFN0YXRlRnJvbU9wZXJhdG9yKHJvb3QsIGN1cnJlbnRBcHBTdGF0ZSwgdmFsLCBtYXBwZWRTdG9yZS5wYXRoKVxuICAgICAgICAgIDogc2V0U3RhdGVWYWx1ZShyb290LCBjdXJyZW50QXBwU3RhdGUsIHZhbCwgbWFwcGVkU3RvcmUucGF0aCk7XG4gICAgICB9LFxuICAgICAgZGlzcGF0Y2goYWN0aW9uczogYW55IHwgYW55W10pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHJvb3QuZGlzcGF0Y2goYWN0aW9ucyk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXRTdGF0ZVZhbHVlPFQ+KFxuICByb290OiBTdGF0ZU9wZXJhdGlvbnM8YW55PixcbiAgY3VycmVudEFwcFN0YXRlOiBhbnksXG4gIG5ld1ZhbHVlOiBULFxuICBwYXRoOiBzdHJpbmdcbik6IGFueSB7XG4gIGNvbnN0IG5ld0FwcFN0YXRlID0gc2V0VmFsdWUoY3VycmVudEFwcFN0YXRlLCBwYXRoLCBuZXdWYWx1ZSk7XG4gIHJvb3Quc2V0U3RhdGUobmV3QXBwU3RhdGUpO1xuICByZXR1cm4gbmV3QXBwU3RhdGU7XG4gIC8vIEluIGRvaW5nIHRoaXMgcmVmYWN0b3JpbmcgSSBub3RpY2VkIHRoYXQgdGhlcmUgaXMgYSAnYnVnJyB3aGVyZSB0aGVcbiAgLy8gYXBwbGljYXRpb24gc3RhdGUgaXMgcmV0dXJuZWQgaW5zdGVhZCBvZiB0aGlzIHN0YXRlIHNsaWNlLlxuICAvLyBUaGlzIGhhcyB3b3JrZWQgdGhpcyB3YXkgc2luY2UgdGhlIGJlZ2lubmluZyBzZWU6XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9uZ3hzL3N0b3JlL2JsYW1lLzMyNGM2NjdiNGI3ZGViZDhlYjk3OTAwNmM2N2NhMGFlMzQ3ZDg4Y2Qvc3JjL3N0YXRlLWZhY3RvcnkudHNcbiAgLy8gVGhpcyBuZWVkcyB0byBiZSBmaXhlZCwgYnV0IGlzIGEgJ2JyZWFraW5nJyBjaGFuZ2UuXG4gIC8vIEkgd2lsbCBkbyB0aGlzIGZpeCBpbiBhIHN1YnNlcXVlbnQgUFIgYW5kIHdlIGNhbiBkZWNpZGUgaG93IHRvIGhhbmRsZSBpdC5cbn1cblxuZnVuY3Rpb24gc2V0U3RhdGVGcm9tT3BlcmF0b3I8VD4oXG4gIHJvb3Q6IFN0YXRlT3BlcmF0aW9uczxhbnk+LFxuICBjdXJyZW50QXBwU3RhdGU6IGFueSxcbiAgc3RhdGVPcGVyYXRvcjogU3RhdGVPcGVyYXRvcjxUPixcbiAgcGF0aDogc3RyaW5nXG4pIHtcbiAgY29uc3QgbG9jYWwgPSBnZXRTdGF0ZShjdXJyZW50QXBwU3RhdGUsIHBhdGgpO1xuICBjb25zdCBuZXdWYWx1ZSA9IHN0YXRlT3BlcmF0b3IobG9jYWwgYXMgRXhpc3RpbmdTdGF0ZTxUPik7XG4gIHJldHVybiBzZXRTdGF0ZVZhbHVlKHJvb3QsIGN1cnJlbnRBcHBTdGF0ZSwgbmV3VmFsdWUsIHBhdGgpO1xufVxuXG5mdW5jdGlvbiBnZXRTdGF0ZTxUPihjdXJyZW50QXBwU3RhdGU6IGFueSwgcGF0aDogc3RyaW5nKTogVCB7XG4gIHJldHVybiBnZXRWYWx1ZShjdXJyZW50QXBwU3RhdGUsIHBhdGgpO1xufVxuIl19