@ng-atomic/components 17.9.0 → 17.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/esm2022/atoms/icon/icon.atom.mjs +2 -2
  2. package/esm2022/components.module.mjs +3 -2
  3. package/esm2022/frames/app/app.frame.mjs +192 -16
  4. package/esm2022/frames/auto-layout/auto-layout.frame.mjs +2 -2
  5. package/esm2022/frames/columns/columns.frame.mjs +4 -4
  6. package/esm2022/frames/divider/divider.frame.mjs +2 -2
  7. package/esm2022/frames/drawer/drawer.frame.mjs +2 -2
  8. package/esm2022/frames/entrance/entrance.frame.mjs +2 -2
  9. package/esm2022/frames/fab/fab.frame.mjs +2 -2
  10. package/esm2022/frames/frames.module.mjs +2 -1
  11. package/esm2022/frames/line-up/line-up.frame.mjs +2 -2
  12. package/esm2022/frames/loading/loading.frame.mjs +2 -2
  13. package/esm2022/frames/router-outlet/router-outlet.frame.mjs +11 -4
  14. package/esm2022/frames/scroll/scroll.frame.mjs +2 -2
  15. package/esm2022/frames/scroll-v2/scroll.frame.mjs +2 -2
  16. package/esm2022/frames/side-nav/side-nav.frame.mjs +34 -28
  17. package/esm2022/frames/smart-menu/smart-menu.frame.mjs +2 -2
  18. package/esm2022/frames/vertical-hide/vertical-hide.frame.mjs +2 -2
  19. package/esm2022/molecules/checkbox-column/checkbox-column.molecule.mjs +48 -11
  20. package/esm2022/molecules/date-input-field/date-input-field.molecule.mjs +2 -2
  21. package/esm2022/molecules/date-range-input-field/date-range-input-field.molecule.mjs +2 -2
  22. package/esm2022/molecules/grid-item/grid-item.molecule.mjs +2 -2
  23. package/esm2022/molecules/loading-box/loading-box.molecule.mjs +2 -2
  24. package/esm2022/molecules/navigation-list-item/navigation-list-item.molecule.mjs +11 -8
  25. package/esm2022/molecules/select-input-field/select-input-field.molecule.mjs +2 -2
  26. package/esm2022/organisms/action-buttons-section/action-buttons-section.organism.mjs +2 -2
  27. package/esm2022/organisms/action-input-section/action-input-section.organism.mjs +2 -2
  28. package/esm2022/organisms/card-input-section/card-input-section.organism.mjs +2 -2
  29. package/esm2022/organisms/cvc-and-exp-input-section/cvc-and-exp-input-section.organism.mjs +2 -2
  30. package/esm2022/organisms/date-input-section/date-input-section.organism.mjs +2 -2
  31. package/esm2022/organisms/date-range-input-section/date-range-input-section.organism.mjs +2 -2
  32. package/esm2022/organisms/definition-list/definition-list.organism.mjs +2 -2
  33. package/esm2022/organisms/file-input-section/file-input-section.organism.mjs +2 -2
  34. package/esm2022/organisms/grid-cards-section/grid-cards-section.organism.mjs +2 -2
  35. package/esm2022/organisms/heading/heading.organism.mjs +2 -2
  36. package/esm2022/organisms/menu-footer/menu-footer.organism.mjs +2 -2
  37. package/esm2022/organisms/menu-header/menu-header.organism.mjs +4 -5
  38. package/esm2022/organisms/messages-section/messages-section.organism.mjs +2 -2
  39. package/esm2022/organisms/navigation-list/navigation-list.organism.mjs +51 -20
  40. package/esm2022/organisms/navigator/navigator.organism.mjs +3 -3
  41. package/esm2022/organisms/number-input-section/number-input-section.organism.mjs +2 -2
  42. package/esm2022/organisms/paginator/paginator.organism.mjs +2 -2
  43. package/esm2022/organisms/password-input-section/password-input-section.organism.mjs +2 -2
  44. package/esm2022/organisms/select-input-section/select-input-section.organism.mjs +2 -2
  45. package/esm2022/organisms/slider-input-section/slider-input-section.organism.mjs +4 -4
  46. package/esm2022/organisms/smart-list/smart-list.organism.mjs +11 -3
  47. package/esm2022/organisms/social-login-section/social-login-section.organism.mjs +2 -2
  48. package/esm2022/organisms/table/index.helpers.mjs +3 -1
  49. package/esm2022/organisms/table/table.organism.mjs +205 -101
  50. package/esm2022/organisms/text-input-section/text-input-section.organism.mjs +2 -2
  51. package/esm2022/organisms/textarea-section/textarea-section.organism.mjs +2 -2
  52. package/esm2022/organisms/thread-messages-section/thread-messages-section.organism.mjs +2 -2
  53. package/esm2022/pages/_index/index.page.mjs +242 -50
  54. package/esm2022/pages/form/form.page.mjs +71 -46
  55. package/esm2022/pages/pages.module.mjs +3 -4
  56. package/esm2022/templates/_index/index.template.mjs +66 -28
  57. package/esm2022/templates/background/background.template.mjs +2 -2
  58. package/esm2022/templates/entrance/entrance.template.mjs +2 -2
  59. package/esm2022/templates/form/form.builder.mjs +12 -2
  60. package/esm2022/templates/form/form.template.mjs +2 -2
  61. package/esm2022/templates/icon-button-menu/icon-button-menu.template.mjs +2 -2
  62. package/esm2022/templates/menu/menu.template.mjs +3 -3
  63. package/esm2022/templates/selection/selection.template.mjs +2 -2
  64. package/esm2022/templates/settings/settings.template.mjs +2 -2
  65. package/fesm2022/ng-atomic-components-atoms-icon.mjs +2 -2
  66. package/fesm2022/ng-atomic-components-frames-app.mjs +191 -15
  67. package/fesm2022/ng-atomic-components-frames-app.mjs.map +1 -1
  68. package/fesm2022/ng-atomic-components-frames-auto-layout.mjs +2 -2
  69. package/fesm2022/ng-atomic-components-frames-columns.mjs +3 -3
  70. package/fesm2022/ng-atomic-components-frames-columns.mjs.map +1 -1
  71. package/fesm2022/ng-atomic-components-frames-divider.mjs +2 -2
  72. package/fesm2022/ng-atomic-components-frames-drawer.mjs +2 -2
  73. package/fesm2022/ng-atomic-components-frames-entrance.mjs +2 -2
  74. package/fesm2022/ng-atomic-components-frames-fab.mjs +2 -2
  75. package/fesm2022/ng-atomic-components-frames-line-up.mjs +2 -2
  76. package/fesm2022/ng-atomic-components-frames-loading.mjs +2 -2
  77. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs +10 -3
  78. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs.map +1 -1
  79. package/fesm2022/ng-atomic-components-frames-scroll-v2.mjs +2 -2
  80. package/fesm2022/ng-atomic-components-frames-scroll.mjs +2 -2
  81. package/fesm2022/ng-atomic-components-frames-side-nav.mjs +33 -27
  82. package/fesm2022/ng-atomic-components-frames-side-nav.mjs.map +1 -1
  83. package/fesm2022/ng-atomic-components-frames-smart-menu.mjs +2 -2
  84. package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs +2 -2
  85. package/fesm2022/ng-atomic-components-frames.mjs +1 -0
  86. package/fesm2022/ng-atomic-components-frames.mjs.map +1 -1
  87. package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs +47 -10
  88. package/fesm2022/ng-atomic-components-molecules-checkbox-column.mjs.map +1 -1
  89. package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs +2 -2
  90. package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs +2 -2
  91. package/fesm2022/ng-atomic-components-molecules-grid-item.mjs +2 -2
  92. package/fesm2022/ng-atomic-components-molecules-loading-box.mjs +2 -2
  93. package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs +10 -7
  94. package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs.map +1 -1
  95. package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs +2 -2
  96. package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs +2 -2
  97. package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs +2 -2
  98. package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs +2 -2
  99. package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs +2 -2
  100. package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs +2 -2
  101. package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs +2 -2
  102. package/fesm2022/ng-atomic-components-organisms-definition-list.mjs +2 -2
  103. package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs +2 -2
  104. package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs +2 -2
  105. package/fesm2022/ng-atomic-components-organisms-heading.mjs +2 -2
  106. package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs +2 -2
  107. package/fesm2022/ng-atomic-components-organisms-menu-header.mjs +3 -4
  108. package/fesm2022/ng-atomic-components-organisms-menu-header.mjs.map +1 -1
  109. package/fesm2022/ng-atomic-components-organisms-messages-section.mjs +2 -2
  110. package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs +50 -19
  111. package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs.map +1 -1
  112. package/fesm2022/ng-atomic-components-organisms-navigator.mjs +2 -2
  113. package/fesm2022/ng-atomic-components-organisms-navigator.mjs.map +1 -1
  114. package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs +2 -2
  115. package/fesm2022/ng-atomic-components-organisms-paginator.mjs +2 -2
  116. package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs +2 -2
  117. package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs +2 -2
  118. package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs +3 -3
  119. package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs.map +1 -1
  120. package/fesm2022/ng-atomic-components-organisms-smart-list.mjs +10 -2
  121. package/fesm2022/ng-atomic-components-organisms-smart-list.mjs.map +1 -1
  122. package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs +2 -2
  123. package/fesm2022/ng-atomic-components-organisms-table.mjs +206 -100
  124. package/fesm2022/ng-atomic-components-organisms-table.mjs.map +1 -1
  125. package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs +2 -2
  126. package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs +2 -2
  127. package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs +2 -2
  128. package/fesm2022/ng-atomic-components-pages-_index.mjs +242 -50
  129. package/fesm2022/ng-atomic-components-pages-_index.mjs.map +1 -1
  130. package/fesm2022/ng-atomic-components-pages-form.mjs +71 -46
  131. package/fesm2022/ng-atomic-components-pages-form.mjs.map +1 -1
  132. package/fesm2022/ng-atomic-components-pages.mjs +2 -3
  133. package/fesm2022/ng-atomic-components-pages.mjs.map +1 -1
  134. package/fesm2022/ng-atomic-components-templates-_index.mjs +65 -27
  135. package/fesm2022/ng-atomic-components-templates-_index.mjs.map +1 -1
  136. package/fesm2022/ng-atomic-components-templates-background.mjs +2 -2
  137. package/fesm2022/ng-atomic-components-templates-entrance.mjs +2 -2
  138. package/fesm2022/ng-atomic-components-templates-form.mjs +13 -3
  139. package/fesm2022/ng-atomic-components-templates-form.mjs.map +1 -1
  140. package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs +2 -2
  141. package/fesm2022/ng-atomic-components-templates-menu.mjs +2 -2
  142. package/fesm2022/ng-atomic-components-templates-menu.mjs.map +1 -1
  143. package/fesm2022/ng-atomic-components-templates-selection.mjs +2 -2
  144. package/fesm2022/ng-atomic-components-templates-settings.mjs +2 -2
  145. package/fesm2022/ng-atomic-components.mjs +2 -1
  146. package/fesm2022/ng-atomic-components.mjs.map +1 -1
  147. package/frames/app/app.frame.d.ts +69 -52
  148. package/frames/columns/columns.frame.d.ts +3 -3
  149. package/frames/fab/fab.frame.d.ts +3 -3
  150. package/frames/router-outlet/router-outlet.frame.d.ts +4 -3
  151. package/frames/side-nav/side-nav.frame.d.ts +16 -12
  152. package/molecules/actions-column/actions-column.molecule.d.ts +3 -3
  153. package/molecules/checkbox-column/checkbox-column.molecule.d.ts +8 -2
  154. package/molecules/chips-input-field/chips-input-field.molecule.d.ts +3 -3
  155. package/molecules/loading-box/loading-box.molecule.d.ts +3 -3
  156. package/molecules/navigation-list-item/navigation-list-item.molecule.d.ts +3 -2
  157. package/organisms/menu-header/menu-header.organism.d.ts +10 -4
  158. package/organisms/navigation-list/navigation-list.organism.d.ts +2 -1
  159. package/organisms/navigator/navigator.organism.d.ts +3 -3
  160. package/organisms/slider-input-section/slider-input-section.organism.d.ts +3 -3
  161. package/organisms/smart-list/smart-list.organism.d.ts +14 -13
  162. package/organisms/stripe-input-section/stripe-input-section.organism.d.ts +3 -3
  163. package/organisms/table/index.helpers.d.ts +1 -0
  164. package/organisms/table/table.organism.d.ts +39 -9
  165. package/package.json +3 -3
  166. package/pages/_index/index.page.d.ts +123 -82
  167. package/pages/form/form.page.d.ts +69 -56
  168. package/pages/terms/terms.page.d.ts +3 -3
  169. package/templates/_index/index.template.d.ts +27 -15
  170. package/templates/form/form.template.d.ts +3 -3
@@ -2,17 +2,19 @@ import { __decorate, __metadata } from "tslib";
2
2
  import { Component, Directive, InjectionToken, computed, effect, inject, input, signal } from '@angular/core';
3
3
  import { RouterOutletFrame } from '@ng-atomic/components/frames/router-outlet';
4
4
  import { FormTemplate } from '@ng-atomic/components/templates/form';
5
- import { Effect, EffectReducer, InjectableComponent, NgAtomicComponent, _computed } from '@ng-atomic/core';
5
+ import { Effect, InjectableComponent, NgAtomicComponent, _computed, applyToInput, provideEffect } from '@ng-atomic/core';
6
6
  import { FormBuilder } from '@angular/forms';
7
7
  import { injectOne } from '@ng-atomic/common/stores/entities';
8
8
  import { LoadingService } from '@ng-atomic/common/services/loading';
9
9
  import { injectModel, injectModelName } from '@ng-atomic/common/pipes/domain';
10
10
  import { SnackBarService } from '@ng-atomic/common/services/snack-bar';
11
11
  import { injectIsRootPage, injectNavStartActions, injectSideAppNavStartActions, makeConfig, NavActionId } from '@ng-atomic/common/services/ui';
12
- import { injectRouteParam, injectRouteParams } from '@ng-atomic/common/utils';
12
+ import { injectHasNext, injectRouteParam, injectRouteParams } from '@ng-atomic/common/utils';
13
13
  import { camelCase } from 'lodash-es';
14
14
  import { computedAsync } from 'ngxtension/computed-async';
15
15
  import { map, startWith } from 'rxjs';
16
+ import { makeInitializerConfig } from '@ng-atomic/common/services/initializer';
17
+ import { ActivatedRoute, Router } from '@angular/router';
16
18
  import * as i0 from "@angular/core";
17
19
  var ActionId;
18
20
  (function (ActionId) {
@@ -20,6 +22,8 @@ var ActionId;
20
22
  ActionId["CLOSE"] = "[@ng-atomic/components/pages/form] Close";
21
23
  ActionId["CREATE"] = "[@ng-atomic/components/pages/form] Create";
22
24
  ActionId["UPDATE"] = "[@ng-atomic/components/pages/form] Update";
25
+ ActionId["DELETE"] = "[@ng-atomic/components/pages/form] Delete";
26
+ ActionId["NAVIGATE"] = "[@ng-atomic/components/pages/form] Navigate";
23
27
  ActionId["FILE_SELECTED"] = "[@ng-atomic/components/pages/form] File Selected";
24
28
  })(ActionId || (ActionId = {}));
25
29
  export const ENTITY_ID_NAME = new InjectionToken('[@ng-atomic/components/pages/form] EntityIdName');
@@ -29,29 +33,12 @@ export function provideEntityIdName(name) {
29
33
  export function injectEntityIdName() {
30
34
  return inject(ENTITY_ID_NAME, { optional: true }) ?? `${(camelCase(injectModelName()()))}Id`;
31
35
  }
32
- export const STORE_INITIALIZER = new InjectionToken('[@ng-atomic/components/pages/form] StoreInitializer');
33
- export function provideStoreInitializer(initializer) {
34
- return [
35
- { provide: STORE_INITIALIZER, useValue: initializer, multi: true },
36
- ];
37
- }
38
- export function injectStoreInitializers() {
39
- return inject(STORE_INITIALIZER, { optional: true }) ?? [];
40
- }
41
- export function initializeStore(store) {
42
- const initializers = injectStoreInitializers();
43
- for (const initializer of initializers) {
44
- initializer(store);
45
- }
46
- }
47
36
  export class FormPageStore extends InjectableComponent {
48
37
  static { this.ActionId = ActionId; }
49
38
  static { this.Config = makeConfig(() => {
50
39
  const modelName = injectModelName();
51
40
  const entityId = injectRouteParam(injectEntityIdName());
52
41
  const entity = injectModel() ? injectOne(injectModel(), { id: entityId }) : signal(null);
53
- const isRootPage = injectIsRootPage();
54
- const navStartActions = injectNavStartActions(isRootPage);
55
42
  const fb = inject(FormBuilder);
56
43
  const mode = computed(() => entityId() === 'new' ? 'create' : 'update');
57
44
  return () => ({
@@ -63,32 +50,74 @@ export class FormPageStore extends InjectableComponent {
63
50
  entityId: entityId(),
64
51
  entity: entity(),
65
52
  mode: mode(),
66
- navStartActions: navStartActions(),
53
+ navStartActions: [],
67
54
  navEndActions: [],
68
55
  title: mode() === 'create' ? `${modelName()}の作成` : `${modelName()}の更新`,
69
56
  actions: mode() === 'create'
70
- ? [{ id: ActionId.CREATE, name: '作成', icon: 'add', color: 'primary' }]
71
- : [{ id: ActionId.UPDATE, name: '更新', icon: 'save', color: 'primary' }],
57
+ ? [{ id: FormPageStore.ActionId.CREATE, name: '作成', icon: 'add', color: 'primary' }]
58
+ : [{ id: FormPageStore.ActionId.UPDATE, name: '更新', icon: 'save', color: 'primary' }],
72
59
  fieldMap: undefined,
73
60
  });
74
61
  }, ['components', 'pages', 'form']); }
75
- static { this.provideSideAppNavStartActions = () => FormPageStore.Config.provide(() => {
76
- const isRootPage = injectIsRootPage();
77
- const navStartActions = injectSideAppNavStartActions(isRootPage);
78
- return (config) => ({
79
- ...config,
80
- navStartActions: navStartActions(),
81
- });
82
- }); }
83
- static { this.provideInitializer = (provideStoreInitializer); }
84
- static { this.provideDefaultInitializer = () => provideStoreInitializer((store) => {
62
+ static { this.Initializer = makeInitializerConfig(FormPageStore); }
63
+ static { this.provideInitializer = FormPageStore.Initializer.provide; }
64
+ static { this.provideDefaultInitializer = () => FormPageStore.provideInitializer((store) => {
85
65
  effect(() => {
86
- if (store.entity()) {
66
+ if (store.entity() === null) {
67
+ store.form().reset();
68
+ }
69
+ else if (store?.entity && store.entity()) {
87
70
  store.form().reset();
88
71
  store.form().patchValue(store.entity());
89
72
  }
90
73
  }, { allowSignalWrites: true });
91
74
  }); }
75
+ static { this.provideNavStartActionsInitializer = () => FormPageStore.Initializer.provide((store) => {
76
+ const isRootPage = injectIsRootPage();
77
+ const navStartActions = injectNavStartActions(isRootPage);
78
+ effect(() => {
79
+ applyToInput(store, 'navStartActions', navStartActions());
80
+ }, { allowSignalWrites: true });
81
+ }); }
82
+ static { this.provideSideAppNavStartActionsInitializer = () => FormPageStore.Initializer.provide((store) => {
83
+ const isRootPage = injectIsRootPage();
84
+ const navStartActions = injectSideAppNavStartActions(isRootPage);
85
+ effect(() => {
86
+ applyToInput(store, 'navStartActions', navStartActions());
87
+ }, { allowSignalWrites: true });
88
+ }); }
89
+ static provideBackEffect() {
90
+ return provideEffect(FormPageStore.ActionId.BACK, () => {
91
+ return () => history.back();
92
+ });
93
+ }
94
+ static provideNavigateEffect() {
95
+ return provideEffect(FormPageStore.ActionId.NAVIGATE, () => {
96
+ const router = inject(Router);
97
+ const route = inject(ActivatedRoute);
98
+ const hasNext = injectHasNext();
99
+ return (payload) => {
100
+ router.navigate(payload, {
101
+ relativeTo: route,
102
+ replaceUrl: !!hasNext(),
103
+ });
104
+ };
105
+ });
106
+ }
107
+ static provideDefaultEffects() {
108
+ return [
109
+ FormPageStore.provideNavigateEffect(),
110
+ FormPageStore.provideBackEffect(),
111
+ ];
112
+ }
113
+ static provideDefault() {
114
+ return [
115
+ FormPageStore.Config.provide(),
116
+ FormPageStore.provideDefaultInitializer(),
117
+ FormPageStore.provideNavStartActionsInitializer(),
118
+ FormPageStore.provideDefaultEffects(),
119
+ ];
120
+ }
92
121
  constructor() {
93
122
  super();
94
123
  this.config = FormPageStore.Config.inject();
@@ -110,21 +139,16 @@ export class FormPageStore extends InjectableComponent {
110
139
  this.activatedActions = computed(() => {
111
140
  return this.actions().map(action => ({ ...action, disabled: !this.isValid() }));
112
141
  });
113
- initializeStore(this);
142
+ FormPageStore.Initializer.initializeStore(this);
114
143
  }
115
144
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FormPageStore, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
116
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.2.2", type: FormPageStore, isStandalone: true, selector: "form-page-store", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, formFlatExcludes: { classPropertyName: "formFlatExcludes", publicName: "formFlatExcludes", isSignal: true, isRequired: false, transformFunction: null }, entityId: { classPropertyName: "entityId", publicName: "entityId", isSignal: true, isRequired: false, transformFunction: null }, entity: { classPropertyName: "entity", publicName: "entity", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, fieldMap: { classPropertyName: "fieldMap", publicName: "fieldMap", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, navStartActions: { classPropertyName: "navStartActions", publicName: "navStartActions", isSignal: true, isRequired: false, transformFunction: null }, navEndActions: { classPropertyName: "navEndActions", publicName: "navEndActions", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
117
- EffectReducer,
118
- ], usesInheritance: true, ngImport: i0 }); }
145
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.2.2", type: FormPageStore, isStandalone: true, selector: "form-page-store", inputs: { form: { classPropertyName: "form", publicName: "form", isSignal: true, isRequired: false, transformFunction: null }, formFlatExcludes: { classPropertyName: "formFlatExcludes", publicName: "formFlatExcludes", isSignal: true, isRequired: false, transformFunction: null }, entityId: { classPropertyName: "entityId", publicName: "entityId", isSignal: true, isRequired: false, transformFunction: null }, entity: { classPropertyName: "entity", publicName: "entity", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, fieldMap: { classPropertyName: "fieldMap", publicName: "fieldMap", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, navStartActions: { classPropertyName: "navStartActions", publicName: "navStartActions", isSignal: true, isRequired: false, transformFunction: null }, navEndActions: { classPropertyName: "navEndActions", publicName: "navEndActions", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
119
146
  }
120
147
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FormPageStore, decorators: [{
121
148
  type: Directive,
122
149
  args: [{
123
150
  standalone: true,
124
151
  selector: 'form-page-store',
125
- providers: [
126
- EffectReducer,
127
- ],
128
152
  }]
129
153
  }], ctorParameters: () => [] });
130
154
  export class FormPage extends NgAtomicComponent {
@@ -136,13 +160,13 @@ export class FormPage extends NgAtomicComponent {
136
160
  }
137
161
  static { this.ActionId = ActionId; }
138
162
  back() {
139
- this.dispatch({ id: ActionId.BACK });
163
+ this.dispatch({ id: FormPageStore.ActionId.BACK });
140
164
  }
141
165
  close() {
142
- this.dispatch({ id: ActionId.CLOSE });
166
+ this.dispatch({ id: FormPageStore.ActionId.CLOSE });
143
167
  }
144
168
  fileSelected(payload) {
145
- this.dispatch({ id: ActionId.FILE_SELECTED, payload });
169
+ this.dispatch({ id: FormPageStore.ActionId.FILE_SELECTED, payload });
146
170
  }
147
171
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: FormPage, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
148
172
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: FormPage, isStandalone: true, selector: "pages-form", usesInheritance: true, hostDirectives: [{ directive: FormPageStore, inputs: ["fieldMap", "fieldMap", "entityId", "entityId", "entity", "entity", "mode", "mode", "navEndActions", "navEndActions", "actions", "actions", "title", "title", "form", "form", "formFlatExcludes", "formFlatExcludes"] }], ngImport: i0, template: `
@@ -158,10 +182,11 @@ export class FormPage extends NgAtomicComponent {
158
182
  (action)="dispatch($event)"
159
183
  />
160
184
  </frames-router-outlet>
161
- `, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-form-2Mi1: var(--page-width-lv1);--page-width-lv2-SCOPED-IN-form-2Mi1: var(--page-width-lv2);--page-width-lv3-SCOPED-IN-form-2Mi1: var(--page-width-lv3);--primary-color-SCOPED-IN-form-2Mi1: var(--primary-color);--on-primary-color-SCOPED-IN-form-2Mi1: var(--on-primary-color);--surface-color-SCOPED-IN-form-2Mi1: var(--surface-color);--on-surface-color-SCOPED-IN-form-2Mi1: var(--on-surface-color);--on-background-color-SCOPED-IN-form-2Mi1: var(--on-background-color);--background-color-SCOPED-IN-form-2Mi1: var(--background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-form-2Mi1)}:host *{--primary-color: var(--primary-color-SCOPED-IN-form-2Mi1);--on-primary-color: var(--on-primary-color-SCOPED-IN-form-2Mi1);--surface-color: var(--surface-color-SCOPED-IN-form-2Mi1);--on-surface-color: var(--on-surface-color-SCOPED-IN-form-2Mi1);--background-color: var(--background-color-SCOPED-IN-form-2Mi1);--on-background-color: var(--on-background-color-SCOPED-IN-form-2Mi1)}\n"], dependencies: [{ kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet" }, { kind: "component", type: FormTemplate, selector: "templates-form" }] }); }
185
+ `, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-form-tgIJ: var(--page-width-lv1);--page-width-lv2-SCOPED-IN-form-tgIJ: var(--page-width-lv2);--page-width-lv3-SCOPED-IN-form-tgIJ: var(--page-width-lv3);--primary-color-SCOPED-IN-form-tgIJ: var(--primary-color);--on-primary-color-SCOPED-IN-form-tgIJ: var(--on-primary-color);--surface-color-SCOPED-IN-form-tgIJ: var(--surface-color);--on-surface-color-SCOPED-IN-form-tgIJ: var(--on-surface-color);--on-background-color-SCOPED-IN-form-tgIJ: var(--on-background-color);--background-color-SCOPED-IN-form-tgIJ: var(--background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-form-tgIJ)}:host *{--primary-color: var(--primary-color-SCOPED-IN-form-tgIJ);--on-primary-color: var(--on-primary-color-SCOPED-IN-form-tgIJ);--surface-color: var(--surface-color-SCOPED-IN-form-tgIJ);--on-surface-color: var(--on-surface-color-SCOPED-IN-form-tgIJ);--background-color: var(--background-color-SCOPED-IN-form-tgIJ);--on-background-color: var(--on-background-color-SCOPED-IN-form-tgIJ)}\n"], dependencies: [{ kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet" }, { kind: "component", type: FormTemplate, selector: "templates-form" }] }); }
162
186
  }
163
187
  __decorate([
164
188
  Effect(FormTemplate.ActionId.BACK),
189
+ Effect(NavActionId.BACK),
165
190
  __metadata("design:type", Function),
166
191
  __metadata("design:paramtypes", []),
167
192
  __metadata("design:returntype", void 0)
@@ -211,6 +236,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
211
236
  'formFlatExcludes',
212
237
  ],
213
238
  },
214
- ], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-form-2Mi1: var(--page-width-lv1);--page-width-lv2-SCOPED-IN-form-2Mi1: var(--page-width-lv2);--page-width-lv3-SCOPED-IN-form-2Mi1: var(--page-width-lv3);--primary-color-SCOPED-IN-form-2Mi1: var(--primary-color);--on-primary-color-SCOPED-IN-form-2Mi1: var(--on-primary-color);--surface-color-SCOPED-IN-form-2Mi1: var(--surface-color);--on-surface-color-SCOPED-IN-form-2Mi1: var(--on-surface-color);--on-background-color-SCOPED-IN-form-2Mi1: var(--on-background-color);--background-color-SCOPED-IN-form-2Mi1: var(--background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-form-2Mi1)}:host *{--primary-color: var(--primary-color-SCOPED-IN-form-2Mi1);--on-primary-color: var(--on-primary-color-SCOPED-IN-form-2Mi1);--surface-color: var(--surface-color-SCOPED-IN-form-2Mi1);--on-surface-color: var(--on-surface-color-SCOPED-IN-form-2Mi1);--background-color: var(--background-color-SCOPED-IN-form-2Mi1);--on-background-color: var(--on-background-color-SCOPED-IN-form-2Mi1)}\n"] }]
239
+ ], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-form-tgIJ: var(--page-width-lv1);--page-width-lv2-SCOPED-IN-form-tgIJ: var(--page-width-lv2);--page-width-lv3-SCOPED-IN-form-tgIJ: var(--page-width-lv3);--primary-color-SCOPED-IN-form-tgIJ: var(--primary-color);--on-primary-color-SCOPED-IN-form-tgIJ: var(--on-primary-color);--surface-color-SCOPED-IN-form-tgIJ: var(--surface-color);--on-surface-color-SCOPED-IN-form-tgIJ: var(--on-surface-color);--on-background-color-SCOPED-IN-form-tgIJ: var(--on-background-color);--background-color-SCOPED-IN-form-tgIJ: var(--background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-form-tgIJ)}:host *{--primary-color: var(--primary-color-SCOPED-IN-form-tgIJ);--on-primary-color: var(--on-primary-color-SCOPED-IN-form-tgIJ);--surface-color: var(--surface-color-SCOPED-IN-form-tgIJ);--on-surface-color: var(--on-surface-color-SCOPED-IN-form-tgIJ);--background-color: var(--background-color-SCOPED-IN-form-tgIJ);--on-background-color: var(--on-background-color-SCOPED-IN-form-tgIJ)}\n"] }]
215
240
  }], propDecorators: { back: [], close: [], fileSelected: [] } });
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvZm9ybS9mb3JtLnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRyxPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLDRCQUE0QixFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvSSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFB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O3FDQUd6QjtBQUdTO0lBRFQsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDOzs7OzRDQUczQzsyRkFuQlUsUUFBUTtrQkF2Q3BCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUDt3QkFDUCxpQkFBaUI7d0JBQ2pCLFlBQVk7cUJBQ2IsWUFDUzs7Ozs7Ozs7Ozs7OztHQWFULGtCQUVlO3dCQUNkOzRCQUNFLFNBQVMsRUFBRSxhQUFhOzRCQUN4QixNQUFNLEVBQUU7Z0NBQ04sVUFBVTtnQ0FDVixVQUFVO2dDQUNWLFFBQVE7Z0NBQ1IsTUFBTTtnQ0FDTixlQUFlO2dDQUNmLFNBQVM7Z0NBQ1QsT0FBTztnQ0FDUCxNQUFNO2dDQUNOLGtCQUFrQjs2QkFDbkI7eUJBQ0Y7cUJBQ0Y7OEJBU1MsSUFBSSxNQUtKLEtBQUssTUFLTCxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEaXJlY3RpdmUsIEluamVjdGlvblRva2VuLCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck91dGxldEZyYW1lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9yb3V0ZXItb3V0bGV0JztcbmltcG9ydCB7IEZvcm1UZW1wbGF0ZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy90ZW1wbGF0ZXMvZm9ybSc7XG5pbXBvcnQgeyBFZmZlY3QsIEVmZmVjdFJlZHVjZXIsIEluamVjdGFibGVDb21wb25lbnQsIE5nQXRvbWljQ29tcG9uZW50LCBfY29tcHV0ZWQgfSBmcm9tICdAbmctYXRvbWljL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGluamVjdE9uZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3N0b3Jlcy9lbnRpdGllcyc7XG5pbXBvcnQgeyBMb2FkaW5nU2VydmljZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL2xvYWRpbmcnO1xuaW1wb3J0IHsgaW5qZWN0TW9kZWwsIGluamVjdE1vZGVsTmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3BpcGVzL2RvbWFpbic7XG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9zbmFjay1iYXInO1xuaW1wb3J0IHsgaW5qZWN0SXNSb290UGFnZSwgaW5qZWN0TmF2U3RhcnRBY3Rpb25zLCBpbmplY3RTaWRlQXBwTmF2U3RhcnRBY3Rpb25zLCBtYWtlQ29uZmlnLCBOYXZBY3Rpb25JZCB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL3VpJztcbmltcG9ydCB7IGluamVjdFJvdXRlUGFyYW0sIGluamVjdFJvdXRlUGFyYW1zIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vdXRpbHMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkTWFwIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vcGlwZXMvc21hcnQtZmllbGQnO1xuaW1wb3J0IHsgY2FtZWxDYXNlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IGNvbXB1dGVkQXN5bmMgfSBmcm9tICduZ3h0ZW5zaW9uL2NvbXB1dGVkLWFzeW5jJztcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5cbmVudW0gQWN0aW9uSWQge1xuICBCQUNLID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvZm9ybV0gQmFjaycsXG4gIENMT1NFID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvZm9ybV0gQ2xvc2UnLFxuICBDUkVBVEUgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9mb3JtXSBDcmVhdGUnLFxuICBVUERBVEUgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9mb3JtXSBVcGRhdGUnLFxuICBGSUxFX1NFTEVDVEVEID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvZm9ybV0gRmlsZSBTZWxlY3RlZCcsXG59XG5cbmV4cG9ydCBjb25zdCBFTlRJVFlfSURfTkFNRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdbQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL2Zvcm1dIEVudGl0eUlkTmFtZScpO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUVudGl0eUlkTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHtwcm92aWRlOiBFTlRJVFlfSURfTkFNRSwgdXNlVmFsdWU6IG5hbWV9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0RW50aXR5SWROYW1lKCkge1xuICByZXR1cm4gaW5qZWN0KEVOVElUWV9JRF9OQU1FLCB7b3B0aW9uYWw6IHRydWV9KSA/PyBgJHsoY2FtZWxDYXNlKGluamVjdE1vZGVsTmFtZSgpKCkpKX1JZGA7XG59XG5cbnR5cGUgU3RvcmVJbml0aWFsaXplcjxTPiA9IChzdG9yZTogUykgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG5cbmV4cG9ydCBjb25zdCBTVE9SRV9JTklUSUFMSVpFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTdG9yZUluaXRpYWxpemVyPGFueT4+KCdbQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL2Zvcm1dIFN0b3JlSW5pdGlhbGl6ZXInKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVTdG9yZUluaXRpYWxpemVyPFM+KGluaXRpYWxpemVyOiBTdG9yZUluaXRpYWxpemVyPFM+KSB7XG4gIHJldHVybiBbXG4gICAgeyBwcm92aWRlOiBTVE9SRV9JTklUSUFMSVpFUiwgdXNlVmFsdWU6IGluaXRpYWxpemVyLCBtdWx0aTogdHJ1ZSB9LFxuICBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0U3RvcmVJbml0aWFsaXplcnM8Uz4oKTogU3RvcmVJbml0aWFsaXplcjxTPltdIHtcbiAgcmV0dXJuIGluamVjdDxTdG9yZUluaXRpYWxpemVyPFM+W10+KFNUT1JFX0lOSVRJQUxJWkVSLCB7b3B0aW9uYWw6IHRydWV9KSA/PyBbXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVTdG9yZTxTPihzdG9yZTogUykge1xuICBjb25zdCBpbml0aWFsaXplcnMgPSBpbmplY3RTdG9yZUluaXRpYWxpemVycygpO1xuICBmb3IgKGNvbnN0IGluaXRpYWxpemVyIG9mIGluaXRpYWxpemVycykge1xuICAgIGluaXRpYWxpemVyKHN0b3JlKTtcbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdmb3JtLXBhZ2Utc3RvcmUnLFxuICBwcm92aWRlcnM6IFtcbiAgICBFZmZlY3RSZWR1Y2VyLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtUGFnZVN0b3JlIGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudCB7XG4gIHN0YXRpYyByZWFkb25seSBBY3Rpb25JZCA9IEFjdGlvbklkO1xuICBzdGF0aWMgcmVhZG9ubHkgQ29uZmlnID0gbWFrZUNvbmZpZygoKSA9PiB7XG4gICAgY29uc3QgbW9kZWxOYW1lID0gaW5qZWN0TW9kZWxOYW1lKCk7XG4gICAgY29uc3QgZW50aXR5SWQgPSBpbmplY3RSb3V0ZVBhcmFtKGluamVjdEVudGl0eUlkTmFtZSgpKTtcbiAgICBjb25zdCBlbnRpdHkgPSBpbmplY3RNb2RlbCgpID8gaW5qZWN0T25lKGluamVjdE1vZGVsKCksIHtpZDogZW50aXR5SWR9KSA6IHNpZ25hbChudWxsKTtcbiAgICBjb25zdCBpc1Jvb3RQYWdlID0gaW5qZWN0SXNSb290UGFnZSgpO1xuICAgIGNvbnN0IG5hdlN0YXJ0QWN0aW9ucyA9IGluamVjdE5hdlN0YXJ0QWN0aW9ucyhpc1Jvb3RQYWdlKTtcbiAgICBjb25zdCBmYiA9IGluamVjdChGb3JtQnVpbGRlcik7XG4gICAgY29uc3QgbW9kZSA9IGNvbXB1dGVkKCgpID0+IGVudGl0eUlkKCkgPT09ICduZXcnID8gJ2NyZWF0ZScgOiAndXBkYXRlJyk7XG4gICAgcmV0dXJuICgpID0+ICh7XG4gICAgICBmb3JtOiBmYi5ncm91cCh7XG4gICAgICAgIGlkOiBbXSxcbiAgICAgICAgbmFtZTogW10sXG4gICAgICB9KSBhcyBBYnN0cmFjdENvbnRyb2wsXG4gICAgICBmb3JtRmxhdEV4Y2x1ZGVzOiBbXSBhcyBzdHJpbmdbXSxcbiAgICAgIGVudGl0eUlkOiBlbnRpdHlJZCgpLFxuICAgICAgZW50aXR5OiBlbnRpdHkoKSxcbiAgICAgIG1vZGU6IG1vZGUoKSxcbiAgICAgIG5hdlN0YXJ0QWN0aW9uczogbmF2U3RhcnRBY3Rpb25zKCksXG4gICAgICBuYXZFbmRBY3Rpb25zOiBbXSxcbiAgICAgIHRpdGxlOiBtb2RlKCkgPT09ICdjcmVhdGUnID8gYCR7bW9kZWxOYW1lKCl944Gu5L2c5oiQYCA6IGAke21vZGVsTmFtZSgpfeOBruabtOaWsGAsXG4gICAgICBhY3Rpb25zOiBtb2RlKCkgPT09ICdjcmVhdGUnXG4gICAgICAgID8gW3sgaWQ6IEFjdGlvbklkLkNSRUFURSwgbmFtZTogJ+S9nOaIkCcsIGljb246ICdhZGQnLCBjb2xvcjogJ3ByaW1hcnknIH1dXG4gICAgICAgIDogW3tpZDogQWN0aW9uSWQuVVBEQVRFLCBuYW1lOiAn5pu05pawJywgaWNvbjogJ3NhdmUnLCBjb2xvcjogJ3ByaW1hcnknIH1dLFxuICAgICAgZmllbGRNYXA6IHVuZGVmaW5lZCBhcyBGb3JtRmllbGRNYXAsXG4gICAgfSk7XG4gIH0sIFsnY29tcG9uZW50cycsICdwYWdlcycsICdmb3JtJ10pO1xuICBzdGF0aWMgcHJvdmlkZVNpZGVBcHBOYXZTdGFydEFjdGlvbnMgPSAoKSA9PiBGb3JtUGFnZVN0b3JlLkNvbmZpZy5wcm92aWRlKCgpID0+IHtcbiAgICBjb25zdCBpc1Jvb3RQYWdlID0gaW5qZWN0SXNSb290UGFnZSgpO1xuICAgIGNvbnN0IG5hdlN0YXJ0QWN0aW9ucyA9IGluamVjdFNpZGVBcHBOYXZTdGFydEFjdGlvbnMoaXNSb290UGFnZSk7XG4gICAgcmV0dXJuIChjb25maWcpID0+ICh7XG4gICAgICAuLi5jb25maWcsXG4gICAgICBuYXZTdGFydEFjdGlvbnM6IG5hdlN0YXJ0QWN0aW9ucygpLFxuICAgIH0pO1xuICB9KTtcbiAgc3RhdGljIHByb3ZpZGVJbml0aWFsaXplciA9IHByb3ZpZGVTdG9yZUluaXRpYWxpemVyPEZvcm1QYWdlU3RvcmU+O1xuICBzdGF0aWMgcHJvdmlkZURlZmF1bHRJbml0aWFsaXplciA9ICgpID0+IHByb3ZpZGVTdG9yZUluaXRpYWxpemVyPEZvcm1QYWdlU3RvcmU+KChzdG9yZSkgPT4ge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoc3RvcmUuZW50aXR5KCkpIHtcbiAgICAgICAgc3RvcmUuZm9ybSgpLnJlc2V0KCk7XG4gICAgICAgIHN0b3JlLmZvcm0oKS5wYXRjaFZhbHVlKHN0b3JlLmVudGl0eSgpKTtcbiAgICAgIH1cbiAgICB9LCB7YWxsb3dTaWduYWxXcml0ZXM6IHRydWV9KTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgY29uZmlnID0gRm9ybVBhZ2VTdG9yZS5Db25maWcuaW5qZWN0KCk7XG4gIHJlYWRvbmx5IGZvcm0gPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5mb3JtKSk7XG4gIHJlYWRvbmx5IGZvcm1GbGF0RXhjbHVkZXMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5mb3JtRmxhdEV4Y2x1ZGVzKSk7XG4gIHJlYWRvbmx5IGVudGl0eUlkID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZW50aXR5SWQpKTtcbiAgcmVhZG9ubHkgZW50aXR5ID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZW50aXR5KSk7XG4gIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkudGl0bGUpKTtcbiAgcmVhZG9ubHkgYWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgZmllbGRNYXAgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5maWVsZE1hcCkpO1xuICByZWFkb25seSBtb2RlID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkubW9kZSkpO1xuICByZWFkb25seSBuYXZTdGFydEFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5uYXZTdGFydEFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgbmF2RW5kQWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLm5hdkVuZEFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgcGFyYW1zID0gaW5qZWN0Um91dGVQYXJhbXMoKTtcbiAgLy8gcmVhZG9ubHkgTW9kZWwgPSBpbmplY3RNb2RlbCgpO1xuXG4gIHJlYWRvbmx5IGlzVmFsaWQgPSBjb21wdXRlZEFzeW5jKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtKCkudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5mb3JtKCkudmFsaWQpLFxuICAgICk7XG4gIH0pXG5cbiAgcmVhZG9ubHkgYWN0aXZhdGVkQWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpb25zKCkubWFwKGFjdGlvbiA9PiAoey4uLmFjdGlvbiwgZGlzYWJsZWQ6ICF0aGlzLmlzVmFsaWQoKX0pKTtcbiAgfSlcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGluaXRpYWxpemVTdG9yZSh0aGlzKTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwYWdlcy1mb3JtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFJvdXRlck91dGxldEZyYW1lLFxuICAgIEZvcm1UZW1wbGF0ZSxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZnJhbWVzLXJvdXRlci1vdXRsZXQ+XG4gICAgICA8dGVtcGxhdGVzLWZvcm1cbiAgICAgICAgW2FjdGlvbnNdPVwic3RvcmUuYWN0aXZhdGVkQWN0aW9ucygpXCJcbiAgICAgICAgW25hdlN0YXJ0QWN0aW9uc109XCJzdG9yZS5uYXZTdGFydEFjdGlvbnMoKVwiXG4gICAgICAgIFtuYXZFbmRBY3Rpb25zXT1cInN0b3JlLm5hdkVuZEFjdGlvbnMoKVwiXG4gICAgICAgIFt0aXRsZV09XCJzdG9yZS50aXRsZSgpXCJcbiAgICAgICAgW2Zvcm1dPVwic3RvcmUuZm9ybSgpXCJcbiAgICAgICAgW2Zvcm1GbGF0RXhjbHVkZXNdPVwic3RvcmUuZm9ybUZsYXRFeGNsdWRlcygpXCJcbiAgICAgICAgW2ZpZWxkTWFwXT1cInN0b3JlLmZpZWxkTWFwKClcIlxuICAgICAgICAoYWN0aW9uKT1cImRpc3BhdGNoKCRldmVudClcIlxuICAgICAgLz5cbiAgICA8L2ZyYW1lcy1yb3V0ZXItb3V0bGV0PlxuICBgLFxuICBzdHlsZVVybDogJy4vZm9ybS5wYWdlLnNjc3MnLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogRm9ybVBhZ2VTdG9yZSxcbiAgICAgIGlucHV0czogW1xuICAgICAgICAnZmllbGRNYXAnLFxuICAgICAgICAnZW50aXR5SWQnLFxuICAgICAgICAnZW50aXR5JyxcbiAgICAgICAgJ21vZGUnLFxuICAgICAgICAnbmF2RW5kQWN0aW9ucycsXG4gICAgICAgICdhY3Rpb25zJyxcbiAgICAgICAgJ3RpdGxlJyxcbiAgICAgICAgJ2Zvcm0nLFxuICAgICAgICAnZm9ybUZsYXRFeGNsdWRlcycsXG4gICAgICBdLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1QYWdlIGV4dGVuZHMgTmdBdG9taWNDb21wb25lbnQge1xuICBzdGF0aWMgcmVhZG9ubHkgQWN0aW9uSWQgPSBBY3Rpb25JZDtcbiAgcHJvdGVjdGVkIHN0b3JlID0gaW5qZWN0KEZvcm1QYWdlU3RvcmUpO1xuICByZWFkb25seSBsb2FkaW5nID0gaW5qZWN0KExvYWRpbmdTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgc25hY2tCYXIgPSBpbmplY3QoU25hY2tCYXJTZXJ2aWNlKTtcblxuICBARWZmZWN0KEZvcm1UZW1wbGF0ZS5BY3Rpb25JZC5CQUNLKVxuICBwcm90ZWN0ZWQgYmFjaygpIHtcbiAgICB0aGlzLmRpc3BhdGNoKHtpZDogQWN0aW9uSWQuQkFDS30pO1xuICB9XG5cbiAgQEVmZmVjdChOYXZBY3Rpb25JZC5DTE9TRSlcbiAgcHJvdGVjdGVkIGNsb3NlKCkge1xuICAgIHRoaXMuZGlzcGF0Y2goe2lkOiBBY3Rpb25JZC5DTE9TRX0pO1xuICB9XG5cbiAgQEVmZmVjdChGb3JtVGVtcGxhdGUuQWN0aW9uSWQuRklMRV9TRUxFQ1RFRClcbiAgcHJvdGVjdGVkIGZpbGVTZWxlY3RlZChwYXlsb2FkOiB7IHNjb3BlOiBzdHJpbmcsIGZpbGVzOiBGaWxlW119KSB7XG4gICAgdGhpcy5kaXNwYXRjaCh7aWQ6IEFjdGlvbklkLkZJTEVfU0VMRUNURUQsIHBheWxvYWR9KTtcbiAgfVxufVxuIl19
241
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvZm9ybS9mb3JtLnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQW1CLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFJLE9BQU8sRUFBbUIsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsNEJBQTRCLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9JLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU3RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9B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QWhCQyxpQkFBaUIsaUVBQ2pCLFlBQVk7O0FBMENKO0lBRlQsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ2xDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDOzs7O29DQUd4QjtBQUdTO0lBRFQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7Ozs7cUNBR3pCO0FBR1M7SUFEVCxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7Ozs7NENBRzNDOzJGQXBCVSxRQUFRO2tCQXZDcEIsU0FBUzsrQkFDRSxZQUFZLGNBQ1YsSUFBSSxXQUNQO3dCQUNQLGlCQUFpQjt3QkFDakIsWUFBWTtxQkFDYixZQUNTOzs7Ozs7Ozs7Ozs7O0dBYVQsa0JBRWU7d0JBQ2Q7NEJBQ0UsU0FBUyxFQUFFLGFBQWE7NEJBQ3hCLE1BQU0sRUFBRTtnQ0FDTixVQUFVO2dDQUNWLFVBQVU7Z0NBQ1YsUUFBUTtnQ0FDUixNQUFNO2dDQUNOLGVBQWU7Z0NBQ2YsU0FBUztnQ0FDVCxPQUFPO2dDQUNQLE1BQU07Z0NBQ04sa0JBQWtCOzZCQUNuQjt5QkFDRjtxQkFDRjs4QkFVUyxJQUFJLE1BS0osS0FBSyxNQUtMLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIERpcmVjdGl2ZSwgSW5qZWN0aW9uVG9rZW4sIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyT3V0bGV0RnJhbWUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL3JvdXRlci1vdXRsZXQnO1xuaW1wb3J0IHsgRm9ybVRlbXBsYXRlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL3RlbXBsYXRlcy9mb3JtJztcbmltcG9ydCB7IEFjdGlvbiwgQWN0aW9ucywgRWZmZWN0LCBJbmplY3RhYmxlQ29tcG9uZW50LCBOZ0F0b21pY0NvbXBvbmVudCwgX2NvbXB1dGVkLCBhcHBseVRvSW5wdXQsIHByb3ZpZGVFZmZlY3QgfSBmcm9tICdAbmctYXRvbWljL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGluamVjdE9uZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3N0b3Jlcy9lbnRpdGllcyc7XG5pbXBvcnQgeyBMb2FkaW5nU2VydmljZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL2xvYWRpbmcnO1xuaW1wb3J0IHsgaW5qZWN0TW9kZWwsIGluamVjdE1vZGVsTmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3BpcGVzL2RvbWFpbic7XG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9zbmFjay1iYXInO1xuaW1wb3J0IHsgaW5qZWN0SXNSb290UGFnZSwgaW5qZWN0TmF2U3RhcnRBY3Rpb25zLCBpbmplY3RTaWRlQXBwTmF2U3RhcnRBY3Rpb25zLCBtYWtlQ29uZmlnLCBOYXZBY3Rpb25JZCB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3NlcnZpY2VzL3VpJztcbmltcG9ydCB7IGluamVjdEhhc05leHQsIGluamVjdFJvdXRlUGFyYW0sIGluamVjdFJvdXRlUGFyYW1zIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vdXRpbHMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkTWFwIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vcGlwZXMvc21hcnQtZmllbGQnO1xuaW1wb3J0IHsgY2FtZWxDYXNlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IGNvbXB1dGVkQXN5bmMgfSBmcm9tICduZ3h0ZW5zaW9uL2NvbXB1dGVkLWFzeW5jJztcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYWtlSW5pdGlhbGl6ZXJDb25maWcgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9pbml0aWFsaXplcic7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuZW51bSBBY3Rpb25JZCB7XG4gIEJBQ0sgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9mb3JtXSBCYWNrJyxcbiAgQ0xPU0UgPSAnW0BuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9mb3JtXSBDbG9zZScsXG4gIENSRUFURSA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL2Zvcm1dIENyZWF0ZScsXG4gIFVQREFURSA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL2Zvcm1dIFVwZGF0ZScsXG4gIERFTEVURSA9ICdbQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL2Zvcm1dIERlbGV0ZScsXG4gIE5BVklHQVRFID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvZm9ybV0gTmF2aWdhdGUnLFxuICBGSUxFX1NFTEVDVEVEID0gJ1tAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvZm9ybV0gRmlsZSBTZWxlY3RlZCcsXG59XG5cbmV4cG9ydCBjb25zdCBFTlRJVFlfSURfTkFNRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdbQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL2Zvcm1dIEVudGl0eUlkTmFtZScpO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUVudGl0eUlkTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHtwcm92aWRlOiBFTlRJVFlfSURfTkFNRSwgdXNlVmFsdWU6IG5hbWV9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0RW50aXR5SWROYW1lKCkge1xuICByZXR1cm4gaW5qZWN0KEVOVElUWV9JRF9OQU1FLCB7b3B0aW9uYWw6IHRydWV9KSA/PyBgJHsoY2FtZWxDYXNlKGluamVjdE1vZGVsTmFtZSgpKCkpKX1JZGA7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2Zvcm0tcGFnZS1zdG9yZScsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1QYWdlU3RvcmU8VD4gZXh0ZW5kcyBJbmplY3RhYmxlQ29tcG9uZW50IHtcbiAgc3RhdGljIHJlYWRvbmx5IEFjdGlvbklkID0gQWN0aW9uSWQ7XG4gIHN0YXRpYyByZWFkb25seSBDb25maWcgPSBtYWtlQ29uZmlnKCgpID0+IHtcbiAgICBjb25zdCBtb2RlbE5hbWUgPSBpbmplY3RNb2RlbE5hbWUoKTtcbiAgICBjb25zdCBlbnRpdHlJZCA9IGluamVjdFJvdXRlUGFyYW0oaW5qZWN0RW50aXR5SWROYW1lKCkpO1xuICAgIGNvbnN0IGVudGl0eSA9IGluamVjdE1vZGVsKCkgPyBpbmplY3RPbmUoaW5qZWN0TW9kZWwoKSwge2lkOiBlbnRpdHlJZH0pIDogc2lnbmFsKG51bGwpO1xuICAgIGNvbnN0IGZiID0gaW5qZWN0KEZvcm1CdWlsZGVyKTtcbiAgICBjb25zdCBtb2RlID0gY29tcHV0ZWQoKCkgPT4gZW50aXR5SWQoKSA9PT0gJ25ldycgPyAnY3JlYXRlJyA6ICd1cGRhdGUnKTtcbiAgICByZXR1cm4gKCkgPT4gKHtcbiAgICAgIGZvcm06IGZiLmdyb3VwKHtcbiAgICAgICAgaWQ6IFtdLFxuICAgICAgICBuYW1lOiBbXSxcbiAgICAgIH0pIGFzIEFic3RyYWN0Q29udHJvbCxcbiAgICAgIGZvcm1GbGF0RXhjbHVkZXM6IFtdIGFzIHN0cmluZ1tdLFxuICAgICAgZW50aXR5SWQ6IGVudGl0eUlkKCksXG4gICAgICBlbnRpdHk6IGVudGl0eSgpLFxuICAgICAgbW9kZTogbW9kZSgpLFxuICAgICAgbmF2U3RhcnRBY3Rpb25zOiA8QWN0aW9ucz5bXSxcbiAgICAgIG5hdkVuZEFjdGlvbnM6IFtdLFxuICAgICAgdGl0bGU6IG1vZGUoKSA9PT0gJ2NyZWF0ZScgPyBgJHttb2RlbE5hbWUoKX3jga7kvZzmiJBgIDogYCR7bW9kZWxOYW1lKCl944Gu5pu05pawYCxcbiAgICAgIGFjdGlvbnM6IG1vZGUoKSA9PT0gJ2NyZWF0ZSdcbiAgICAgICAgPyBbeyBpZDogRm9ybVBhZ2VTdG9yZS5BY3Rpb25JZC5DUkVBVEUsIG5hbWU6ICfkvZzmiJAnLCBpY29uOiAnYWRkJywgY29sb3I6ICdwcmltYXJ5JyB9XSBhcyBBY3Rpb25bXVxuICAgICAgICA6IFt7IGlkOiBGb3JtUGFnZVN0b3JlLkFjdGlvbklkLlVQREFURSwgbmFtZTogJ+abtOaWsCcsIGljb246ICdzYXZlJywgY29sb3I6ICdwcmltYXJ5JyB9XSBhcyBBY3Rpb25bXSxcbiAgICAgIGZpZWxkTWFwOiB1bmRlZmluZWQgYXMgRm9ybUZpZWxkTWFwLFxuICAgIH0pO1xuICB9LCBbJ2NvbXBvbmVudHMnLCAncGFnZXMnLCAnZm9ybSddKTtcbiAgc3RhdGljIEluaXRpYWxpemVyID0gbWFrZUluaXRpYWxpemVyQ29uZmlnKEZvcm1QYWdlU3RvcmUpO1xuICBzdGF0aWMgcHJvdmlkZUluaXRpYWxpemVyID0gRm9ybVBhZ2VTdG9yZS5Jbml0aWFsaXplci5wcm92aWRlO1xuICBzdGF0aWMgcHJvdmlkZURlZmF1bHRJbml0aWFsaXplciA9ICgpID0+IEZvcm1QYWdlU3RvcmUucHJvdmlkZUluaXRpYWxpemVyKChzdG9yZSkgPT4ge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoc3RvcmUuZW50aXR5KCkgPT09IG51bGwpIHtcbiAgICAgICAgc3RvcmUuZm9ybSgpLnJlc2V0KCk7XG4gICAgICB9IGVsc2UgaWYgKHN0b3JlPy5lbnRpdHkgJiYgc3RvcmUuZW50aXR5KCkpIHtcbiAgICAgICAgc3RvcmUuZm9ybSgpLnJlc2V0KCk7XG4gICAgICAgIHN0b3JlLmZvcm0oKS5wYXRjaFZhbHVlKHN0b3JlLmVudGl0eSgpKTtcbiAgICAgIH1cbiAgICB9LCB7YWxsb3dTaWduYWxXcml0ZXM6IHRydWV9KTtcbiAgfSk7XG4gIHN0YXRpYyBwcm92aWRlTmF2U3RhcnRBY3Rpb25zSW5pdGlhbGl6ZXIgPSAoKSA9PiBGb3JtUGFnZVN0b3JlLkluaXRpYWxpemVyLnByb3ZpZGUoKHN0b3JlKSA9PiB7XG4gICAgY29uc3QgaXNSb290UGFnZSA9IGluamVjdElzUm9vdFBhZ2UoKTtcbiAgICBjb25zdCBuYXZTdGFydEFjdGlvbnMgPSBpbmplY3ROYXZTdGFydEFjdGlvbnMoaXNSb290UGFnZSk7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGFwcGx5VG9JbnB1dChzdG9yZSwgJ25hdlN0YXJ0QWN0aW9ucycsIG5hdlN0YXJ0QWN0aW9ucygpKTtcbiAgICB9LCB7YWxsb3dTaWduYWxXcml0ZXM6IHRydWV9KTtcbiAgfSk7XG4gIHN0YXRpYyBwcm92aWRlU2lkZUFwcE5hdlN0YXJ0QWN0aW9uc0luaXRpYWxpemVyID0gKCkgPT4gRm9ybVBhZ2VTdG9yZS5Jbml0aWFsaXplci5wcm92aWRlKChzdG9yZSkgPT4ge1xuICAgIGNvbnN0IGlzUm9vdFBhZ2UgPSBpbmplY3RJc1Jvb3RQYWdlKCk7XG4gICAgY29uc3QgbmF2U3RhcnRBY3Rpb25zID0gaW5qZWN0U2lkZUFwcE5hdlN0YXJ0QWN0aW9ucyhpc1Jvb3RQYWdlKTtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgYXBwbHlUb0lucHV0KHN0b3JlLCAnbmF2U3RhcnRBY3Rpb25zJywgbmF2U3RhcnRBY3Rpb25zKCkpO1xuICAgIH0sIHthbGxvd1NpZ25hbFdyaXRlczogdHJ1ZX0pO1xuICB9KTtcbiAgc3RhdGljIHByb3ZpZGVCYWNrRWZmZWN0KCkge1xuICAgIHJldHVybiBwcm92aWRlRWZmZWN0KEZvcm1QYWdlU3RvcmUuQWN0aW9uSWQuQkFDSywgKCkgPT4ge1xuICAgICAgcmV0dXJuICgpID0+IGhpc3RvcnkuYmFjaygpO1xuICAgIH0pO1xuICB9XG4gIHN0YXRpYyBwcm92aWRlTmF2aWdhdGVFZmZlY3QoKSB7XG4gICAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoRm9ybVBhZ2VTdG9yZS5BY3Rpb25JZC5OQVZJR0FURSwgKCkgPT4ge1xuICAgICAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gICAgICBjb25zdCByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gICAgICBjb25zdCBoYXNOZXh0ID0gaW5qZWN0SGFzTmV4dCgpO1xuICAgICAgcmV0dXJuIChwYXlsb2FkOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgICByb3V0ZXIubmF2aWdhdGUocGF5bG9hZCwge1xuICAgICAgICAgIHJlbGF0aXZlVG86IHJvdXRlLFxuICAgICAgICAgIHJlcGxhY2VVcmw6ICEhaGFzTmV4dCgpLFxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHRFZmZlY3RzKCkge1xuICAgIHJldHVybiBbXG4gICAgICBGb3JtUGFnZVN0b3JlLnByb3ZpZGVOYXZpZ2F0ZUVmZmVjdCgpLFxuICAgICAgRm9ybVBhZ2VTdG9yZS5wcm92aWRlQmFja0VmZmVjdCgpLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHQoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEZvcm1QYWdlU3RvcmUuQ29uZmlnLnByb3ZpZGUoKSxcbiAgICAgIEZvcm1QYWdlU3RvcmUucHJvdmlkZURlZmF1bHRJbml0aWFsaXplcigpLFxuICAgICAgRm9ybVBhZ2VTdG9yZS5wcm92aWRlTmF2U3RhcnRBY3Rpb25zSW5pdGlhbGl6ZXIoKSxcbiAgICAgIEZvcm1QYWdlU3RvcmUucHJvdmlkZURlZmF1bHRFZmZlY3RzKCksXG4gICAgXTtcbiAgfVxuXG4gIHJlYWRvbmx5IGNvbmZpZyA9IEZvcm1QYWdlU3RvcmUuQ29uZmlnLmluamVjdCgpO1xuICByZWFkb25seSBmb3JtID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZm9ybSkpO1xuICByZWFkb25seSBmb3JtRmxhdEV4Y2x1ZGVzID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuZm9ybUZsYXRFeGNsdWRlcykpO1xuICByZWFkb25seSBlbnRpdHlJZCA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmVudGl0eUlkKSk7XG4gIHJlYWRvbmx5IGVudGl0eSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmVudGl0eSkgYXMgVCk7XG4gIHJlYWRvbmx5IHRpdGxlID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkudGl0bGUpKTtcbiAgcmVhZG9ubHkgYWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgZmllbGRNYXAgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5maWVsZE1hcCkpO1xuICByZWFkb25seSBtb2RlID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkubW9kZSkpO1xuICByZWFkb25seSBuYXZTdGFydEFjdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5uYXZTdGFydEFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgbmF2RW5kQWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLm5hdkVuZEFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgcGFyYW1zID0gaW5qZWN0Um91dGVQYXJhbXMoKTtcbiAgLy8gcmVhZG9ubHkgTW9kZWwgPSBpbmplY3RNb2RlbCgpO1xuXG4gIHJlYWRvbmx5IGlzVmFsaWQgPSBjb21wdXRlZEFzeW5jKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtKCkudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5mb3JtKCkudmFsaWQpLFxuICAgICk7XG4gIH0pXG5cbiAgcmVhZG9ubHkgYWN0aXZhdGVkQWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpb25zKCkubWFwKGFjdGlvbiA9PiAoey4uLmFjdGlvbiwgZGlzYWJsZWQ6ICF0aGlzLmlzVmFsaWQoKX0pKTtcbiAgfSlcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIEZvcm1QYWdlU3RvcmUuSW5pdGlhbGl6ZXIuaW5pdGlhbGl6ZVN0b3JlKHRoaXMpO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BhZ2VzLWZvcm0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgUm91dGVyT3V0bGV0RnJhbWUsXG4gICAgRm9ybVRlbXBsYXRlLFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxmcmFtZXMtcm91dGVyLW91dGxldD5cbiAgICAgIDx0ZW1wbGF0ZXMtZm9ybVxuICAgICAgICBbYWN0aW9uc109XCJzdG9yZS5hY3RpdmF0ZWRBY3Rpb25zKClcIlxuICAgICAgICBbbmF2U3RhcnRBY3Rpb25zXT1cInN0b3JlLm5hdlN0YXJ0QWN0aW9ucygpXCJcbiAgICAgICAgW25hdkVuZEFjdGlvbnNdPVwic3RvcmUubmF2RW5kQWN0aW9ucygpXCJcbiAgICAgICAgW3RpdGxlXT1cInN0b3JlLnRpdGxlKClcIlxuICAgICAgICBbZm9ybV09XCJzdG9yZS5mb3JtKClcIlxuICAgICAgICBbZm9ybUZsYXRFeGNsdWRlc109XCJzdG9yZS5mb3JtRmxhdEV4Y2x1ZGVzKClcIlxuICAgICAgICBbZmllbGRNYXBdPVwic3RvcmUuZmllbGRNYXAoKVwiXG4gICAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgICAvPlxuICAgIDwvZnJhbWVzLXJvdXRlci1vdXRsZXQ+XG4gIGAsXG4gIHN0eWxlVXJsOiAnLi9mb3JtLnBhZ2Uuc2NzcycsXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAge1xuICAgICAgZGlyZWN0aXZlOiBGb3JtUGFnZVN0b3JlLFxuICAgICAgaW5wdXRzOiBbXG4gICAgICAgICdmaWVsZE1hcCcsXG4gICAgICAgICdlbnRpdHlJZCcsXG4gICAgICAgICdlbnRpdHknLFxuICAgICAgICAnbW9kZScsXG4gICAgICAgICduYXZFbmRBY3Rpb25zJyxcbiAgICAgICAgJ2FjdGlvbnMnLFxuICAgICAgICAndGl0bGUnLFxuICAgICAgICAnZm9ybScsXG4gICAgICAgICdmb3JtRmxhdEV4Y2x1ZGVzJyxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybVBhZ2UgZXh0ZW5kcyBOZ0F0b21pY0NvbXBvbmVudCB7XG4gIHN0YXRpYyByZWFkb25seSBBY3Rpb25JZCA9IEFjdGlvbklkO1xuICBwcm90ZWN0ZWQgc3RvcmUgPSBpbmplY3QoRm9ybVBhZ2VTdG9yZSk7XG4gIHJlYWRvbmx5IGxvYWRpbmcgPSBpbmplY3QoTG9hZGluZ1NlcnZpY2UpO1xuICByZWFkb25seSBzbmFja0JhciA9IGluamVjdChTbmFja0JhclNlcnZpY2UpO1xuXG4gIEBFZmZlY3QoRm9ybVRlbXBsYXRlLkFjdGlvbklkLkJBQ0spXG4gIEBFZmZlY3QoTmF2QWN0aW9uSWQuQkFDSylcbiAgcHJvdGVjdGVkIGJhY2soKSB7XG4gICAgdGhpcy5kaXNwYXRjaCh7aWQ6IEZvcm1QYWdlU3RvcmUuQWN0aW9uSWQuQkFDS30pO1xuICB9XG5cbiAgQEVmZmVjdChOYXZBY3Rpb25JZC5DTE9TRSlcbiAgcHJvdGVjdGVkIGNsb3NlKCkge1xuICAgIHRoaXMuZGlzcGF0Y2goe2lkOiBGb3JtUGFnZVN0b3JlLkFjdGlvbklkLkNMT1NFfSk7XG4gIH1cblxuICBARWZmZWN0KEZvcm1UZW1wbGF0ZS5BY3Rpb25JZC5GSUxFX1NFTEVDVEVEKVxuICBwcm90ZWN0ZWQgZmlsZVNlbGVjdGVkKHBheWxvYWQ6IHsgc2NvcGU6IHN0cmluZywgZmlsZXM6IEZpbGVbXX0pIHtcbiAgICB0aGlzLmRpc3BhdGNoKHtpZDogRm9ybVBhZ2VTdG9yZS5BY3Rpb25JZC5GSUxFX1NFTEVDVEVELCBwYXlsb2FkfSk7XG4gIH1cbn1cbiJdfQ==
@@ -8,9 +8,8 @@ export class NgAtomicPagesModule {
8
8
  return {
9
9
  ngModule: NgAtomicPagesModule,
10
10
  providers: [
11
- FormPageStore.Config.provide(),
12
- FormPageStore.provideDefaultInitializer(),
13
- IndexPageStore.Config.provide(),
11
+ FormPageStore.provideDefault(),
12
+ IndexPageStore.provideDefault(),
14
13
  TermsPageStore.Config.provide(),
15
14
  ],
16
15
  };
@@ -23,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
23
22
  type: NgModule,
24
23
  args: [{}]
25
24
  }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvcGFnZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUd6QyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxtQkFBbUI7WUFDN0IsU0FBUyxFQUFFO2dCQUNULGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUM5QixhQUFhLENBQUMseUJBQXlCLEVBQUU7Z0JBQ3pDLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUMvQixjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTthQUNoQztTQUNGLENBQUE7SUFDSCxDQUFDOzhHQVhVLG1CQUFtQjsrR0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFFBQVE7bUJBQUMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEluZGV4UGFnZVN0b3JlIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tcG9uZW50cy9wYWdlcy9faW5kZXhcIjtcbmltcG9ydCB7IEZvcm1QYWdlU3RvcmUgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL2Zvcm1cIjtcbmltcG9ydCB7IFRlcm1zUGFnZVN0b3JlIH0gZnJvbSBcIi4vdGVybXNcIjtcblxuQE5nTW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIE5nQXRvbWljUGFnZXNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE5nQXRvbWljUGFnZXNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgRm9ybVBhZ2VTdG9yZS5Db25maWcucHJvdmlkZSgpLFxuICAgICAgICBGb3JtUGFnZVN0b3JlLnByb3ZpZGVEZWZhdWx0SW5pdGlhbGl6ZXIoKSxcbiAgICAgICAgSW5kZXhQYWdlU3RvcmUuQ29uZmlnLnByb3ZpZGUoKSxcbiAgICAgICAgVGVybXNQYWdlU3RvcmUuQ29uZmlnLnByb3ZpZGUoKSxcbiAgICAgIF0sXG4gICAgfVxuICB9XG59XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvcGFnZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUd6QyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxtQkFBbUI7WUFDN0IsU0FBUyxFQUFFO2dCQUNULGFBQWEsQ0FBQyxjQUFjLEVBQUU7Z0JBQzlCLGNBQWMsQ0FBQyxjQUFjLEVBQUU7Z0JBQy9CLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO2FBQ2hDO1NBQ0YsQ0FBQTtJQUNILENBQUM7OEdBVlUsbUJBQW1COytHQUFuQixtQkFBbUI7K0dBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsUUFBUTttQkFBQyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSW5kZXhQYWdlU3RvcmUgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21wb25lbnRzL3BhZ2VzL19pbmRleFwiO1xuaW1wb3J0IHsgRm9ybVBhZ2VTdG9yZSB9IGZyb20gXCJAbmctYXRvbWljL2NvbXBvbmVudHMvcGFnZXMvZm9ybVwiO1xuaW1wb3J0IHsgVGVybXNQYWdlU3RvcmUgfSBmcm9tIFwiLi90ZXJtc1wiO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgTmdBdG9taWNQYWdlc01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCkge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmdBdG9taWNQYWdlc01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBGb3JtUGFnZVN0b3JlLnByb3ZpZGVEZWZhdWx0KCksXG4gICAgICAgIEluZGV4UGFnZVN0b3JlLnByb3ZpZGVEZWZhdWx0KCksXG4gICAgICAgIFRlcm1zUGFnZVN0b3JlLkNvbmZpZy5wcm92aWRlKCksXG4gICAgICBdLFxuICAgIH1cbiAgfVxufVxuIl19