@daffodil/product-composite 0.79.0 → 0.81.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 (102) hide show
  1. package/fesm2022/daffodil-product-composite-driver-in-memory.mjs +4 -4
  2. package/fesm2022/daffodil-product-composite-driver-in-memory.mjs.map +1 -1
  3. package/fesm2022/daffodil-product-composite-driver-magento-testing.mjs +9 -9
  4. package/fesm2022/daffodil-product-composite-driver-magento-testing.mjs.map +1 -1
  5. package/fesm2022/daffodil-product-composite-driver-magento.mjs +4 -4
  6. package/fesm2022/daffodil-product-composite-driver-magento.mjs.map +1 -1
  7. package/fesm2022/daffodil-product-composite-driver-testing.mjs +4 -4
  8. package/fesm2022/daffodil-product-composite-driver-testing.mjs.map +1 -1
  9. package/fesm2022/daffodil-product-composite-routing.mjs +10 -10
  10. package/fesm2022/daffodil-product-composite-routing.mjs.map +1 -1
  11. package/fesm2022/daffodil-product-composite-state-testing.mjs +7 -7
  12. package/fesm2022/daffodil-product-composite-state-testing.mjs.map +1 -1
  13. package/fesm2022/daffodil-product-composite-state.mjs +8 -7
  14. package/fesm2022/daffodil-product-composite-state.mjs.map +1 -1
  15. package/fesm2022/daffodil-product-composite-testing.mjs +9 -9
  16. package/fesm2022/daffodil-product-composite-testing.mjs.map +1 -1
  17. package/fesm2022/daffodil-product-composite.mjs.map +1 -1
  18. package/package.json +1 -1
  19. package/esm2022/daffodil-product-composite.mjs +0 -5
  20. package/esm2022/driver/in-memory/daffodil-product-composite-driver-in-memory.mjs +0 -5
  21. package/esm2022/driver/in-memory/in-memory.module.mjs +0 -30
  22. package/esm2022/driver/in-memory/index.mjs +0 -2
  23. package/esm2022/driver/in-memory/public_api.mjs +0 -2
  24. package/esm2022/driver/magento/composite-product-driver.module.mjs +0 -46
  25. package/esm2022/driver/magento/daffodil-product-composite-driver-magento.mjs +0 -5
  26. package/esm2022/driver/magento/fragments/bundled-product.mjs +0 -34
  27. package/esm2022/driver/magento/index.mjs +0 -2
  28. package/esm2022/driver/magento/models/bundled-product.mjs +0 -7
  29. package/esm2022/driver/magento/models/public_api.mjs +0 -2
  30. package/esm2022/driver/magento/public_api.mjs +0 -5
  31. package/esm2022/driver/magento/testing/daffodil-product-composite-driver-magento-testing.mjs +0 -5
  32. package/esm2022/driver/magento/testing/factories/bundle/bundle-item-option.factory.mjs +0 -37
  33. package/esm2022/driver/magento/testing/factories/bundle/bundle-item.factory.mjs +0 -36
  34. package/esm2022/driver/magento/testing/factories/bundle/bundle.factory.mjs +0 -36
  35. package/esm2022/driver/magento/testing/factories/public_api.mjs +0 -4
  36. package/esm2022/driver/magento/testing/index.mjs +0 -2
  37. package/esm2022/driver/magento/testing/public_api.mjs +0 -2
  38. package/esm2022/driver/magento/transforms/bundled-product-transformers.mjs +0 -59
  39. package/esm2022/driver/magento/transforms/public_api.mjs +0 -2
  40. package/esm2022/driver/testing/daffodil-product-composite-driver-testing.mjs +0 -5
  41. package/esm2022/driver/testing/index.mjs +0 -2
  42. package/esm2022/driver/testing/public_api.mjs +0 -2
  43. package/esm2022/driver/testing/testing.module.mjs +0 -30
  44. package/esm2022/helpers/build-selection-payload.mjs +0 -10
  45. package/esm2022/helpers/public_api.mjs +0 -2
  46. package/esm2022/index.mjs +0 -2
  47. package/esm2022/models/composite-configuration-item.mjs +0 -2
  48. package/esm2022/models/composite-product-item.mjs +0 -9
  49. package/esm2022/models/composite-product.mjs +0 -2
  50. package/esm2022/models/public_api.mjs +0 -5
  51. package/esm2022/models/selection-payload.type.mjs +0 -2
  52. package/esm2022/public_api.mjs +0 -3
  53. package/esm2022/routing/config/default.mjs +0 -11
  54. package/esm2022/routing/config/interface.mjs +0 -2
  55. package/esm2022/routing/config/public_api.mjs +0 -3
  56. package/esm2022/routing/config/token.mjs +0 -12
  57. package/esm2022/routing/daffodil-product-composite-routing.mjs +0 -5
  58. package/esm2022/routing/effects/product-page.effects.mjs +0 -67
  59. package/esm2022/routing/effects/public_api.mjs +0 -2
  60. package/esm2022/routing/index.mjs +0 -2
  61. package/esm2022/routing/module.mjs +0 -34
  62. package/esm2022/routing/public_api.mjs +0 -4
  63. package/esm2022/routing/services/query-param.service.mjs +0 -28
  64. package/esm2022/state/actions/composite-product.actions.mjs +0 -24
  65. package/esm2022/state/actions/public_api.mjs +0 -2
  66. package/esm2022/state/composite-product-state.module.mjs +0 -30
  67. package/esm2022/state/daffodil-product-composite-state.mjs +0 -5
  68. package/esm2022/state/facades/composite-product/composite-product-facade.interface.mjs +0 -2
  69. package/esm2022/state/facades/composite-product/composite-product.facade.mjs +0 -53
  70. package/esm2022/state/facades/public_api.mjs +0 -2
  71. package/esm2022/state/helpers/ensure-items.mjs +0 -16
  72. package/esm2022/state/helpers/public_api.mjs +0 -2
  73. package/esm2022/state/index.mjs +0 -2
  74. package/esm2022/state/public_api.mjs +0 -7
  75. package/esm2022/state/reducers/composite-product-entities/composite-product-entities-reducer-adapter.mjs +0 -92
  76. package/esm2022/state/reducers/composite-product-entities/composite-product-entities.reducer.mjs +0 -26
  77. package/esm2022/state/reducers/composite-product-entities/composite-product-entity.mjs +0 -2
  78. package/esm2022/state/reducers/composite-product-reducers-state.interface.mjs +0 -2
  79. package/esm2022/state/reducers/composite-product-reducers.mjs +0 -8
  80. package/esm2022/state/reducers/composite-product-store-feature-key.mjs +0 -2
  81. package/esm2022/state/reducers/ensure-items.meta-reducer.mjs +0 -21
  82. package/esm2022/state/reducers/injection-tokens/extra.token.mjs +0 -22
  83. package/esm2022/state/reducers/injection-tokens/public_api.mjs +0 -2
  84. package/esm2022/state/reducers/injection-tokens/reducers.token.mjs +0 -24
  85. package/esm2022/state/reducers/public_api.mjs +0 -6
  86. package/esm2022/state/selectors/all.selector.mjs +0 -11
  87. package/esm2022/state/selectors/composite-product/composite-product.selectors.mjs +0 -184
  88. package/esm2022/state/selectors/composite-product-entities/composite-product-entities.selectors.mjs +0 -52
  89. package/esm2022/state/selectors/feature.selector.mjs +0 -12
  90. package/esm2022/state/selectors/public_api.mjs +0 -5
  91. package/esm2022/state/testing/daffodil-product-composite-state-testing.mjs +0 -5
  92. package/esm2022/state/testing/index.mjs +0 -2
  93. package/esm2022/state/testing/mock-composite-product-facade.mjs +0 -46
  94. package/esm2022/state/testing/product-testing.module.mjs +0 -20
  95. package/esm2022/state/testing/public_api.mjs +0 -3
  96. package/esm2022/testing/daffodil-product-composite-testing.mjs +0 -5
  97. package/esm2022/testing/factories/composite-product-item-option.factory.mjs +0 -33
  98. package/esm2022/testing/factories/composite-product-item.factory.mjs +0 -45
  99. package/esm2022/testing/factories/composite-product.factory.mjs +0 -36
  100. package/esm2022/testing/factories/public_api.mjs +0 -4
  101. package/esm2022/testing/index.mjs +0 -2
  102. package/esm2022/testing/public_api.mjs +0 -2
@@ -1,184 +0,0 @@
1
- import { createSelector, defaultMemoize, } from '@ngrx/store';
2
- import { daffAdd, daffDivide, daffMultiply, daffSubtract, } from '@daffodil/core';
3
- import { DaffProductTypeEnum, } from '@daffodil/product';
4
- import { getDaffProductEntitiesSelectors } from '@daffodil/product/state';
5
- import { getDaffCompositeProductEntitiesSelectors } from '../composite-product-entities/composite-product-entities.selectors';
6
- const createCompositeProductSelectors = () => {
7
- const { selectProduct, } = getDaffProductEntitiesSelectors();
8
- const { selectCompositeProductAppliedOptionsEntities, } = getDaffCompositeProductEntitiesSelectors();
9
- const selectCompositeProductRequiredItemPricesForConfiguration = defaultMemoize((id, configuration) => createSelector(selectProduct(id), (product) => {
10
- if (product.type !== DaffProductTypeEnum.Composite) {
11
- return undefined;
12
- }
13
- const appliedOptions = configuration ? getAppliedOptionsForConfiguration(product, configuration) : {};
14
- return {
15
- minPrice: getMinPricesForConfiguration(product, appliedOptions),
16
- maxPrice: getMaxPricesForConfiguration(product, appliedOptions),
17
- };
18
- })).memoized;
19
- const selectCompositeProductOptionalItemPricesForConfiguration = defaultMemoize((id, configuration) => createSelector(selectProduct(id), (product) => {
20
- if (product.type !== DaffProductTypeEnum.Composite) {
21
- return undefined;
22
- }
23
- const appliedOptions = configuration ? getAppliedOptionsForConfiguration(product, configuration) : {};
24
- return {
25
- minPrice: getMinPricesForConfiguration(product, appliedOptions),
26
- maxPrice: getMaxPricesForConfigurationIncludingOptionalItems(product, appliedOptions),
27
- };
28
- })).memoized;
29
- const selectCompositeProductPricesAsCurrentlyConfigured = defaultMemoize((id) => createSelector(selectProduct(id), selectCompositeProductAppliedOptionsEntities, (product, appliedOptionsEntities) => selectCompositeProductRequiredItemPricesForConfiguration(id, appliedOptionsEntities[id]?.items || null).projector(product))).memoized;
30
- const selectCompositeProductDiscountAmount = defaultMemoize((id) => createSelector(selectProduct(id), selectCompositeProductAppliedOptionsEntities, (product, appliedOptionsEntities) => {
31
- if (product.type !== DaffProductTypeEnum.Composite) {
32
- return undefined;
33
- }
34
- const appliedConfigurationItem = appliedOptionsEntities[product.id].items;
35
- if (product.items.filter(item => item.required && appliedConfigurationItem[item.id].value === null).length > 0) {
36
- return undefined;
37
- }
38
- const appliedOptions = getAppliedOptionsForConfiguration(product, appliedConfigurationItem);
39
- return product.items.reduce((acc, item) => appliedOptions[item.id]?.discount?.amount ? daffAdd(acc, daffMultiply(appliedOptions[item.id].discount.amount, appliedOptions[item.id].quantity)) : acc, product.discount.amount);
40
- })).memoized;
41
- const selectCompositeProductDiscountPercent = defaultMemoize((id) => createSelector(selectProduct(id), selectCompositeProductAppliedOptionsEntities, (product, appliedOptionsEntities) => {
42
- if (product.type !== DaffProductTypeEnum.Composite) {
43
- return undefined;
44
- }
45
- const appliedOptions = appliedOptionsEntities[product.id].items;
46
- if (product.items.filter(item => item.required && appliedOptions[item.id].value === null).length > 0) {
47
- return undefined;
48
- }
49
- const prices = getMinPricesForConfiguration(product, getAppliedOptionsForConfiguration(product, appliedOptions));
50
- return daffMultiply(daffDivide(daffSubtract(prices.originalPrice, prices.discountedPrice), prices.originalPrice), 100);
51
- })).memoized;
52
- return {
53
- selectCompositeProductRequiredItemPricesForConfiguration,
54
- selectCompositeProductOptionalItemPricesForConfiguration,
55
- selectCompositeProductPricesAsCurrentlyConfigured,
56
- selectCompositeProductDiscountAmount,
57
- selectCompositeProductDiscountPercent,
58
- };
59
- };
60
- /**
61
- * A function that returns all selectors related to the composite product feature.
62
- *
63
- * Returns {@link DaffCompositeProductMemoizedSelectors}.
64
- */
65
- export const getDaffCompositeProductPriceSelectors = (() => {
66
- let cache;
67
- return () => cache = cache
68
- ? cache
69
- : createCompositeProductSelectors();
70
- })();
71
- /**
72
- * The minimum price of an item is zero if the item is optional.
73
- *
74
- * @param item DaffCompositeProductItem
75
- */
76
- function getMinimumRequiredCompositeItemPrice(item, qty) {
77
- return item.required ? daffMultiply(Math.min(...item.options.map(option => option.price)), qty) : 0;
78
- }
79
- /**
80
- * The maximum price for an item is zero if the item is optional.
81
- *
82
- * @param item DaffCompositeProductItem
83
- */
84
- function getMaximumRequiredCompositeItemPrice(item, qty) {
85
- return item.required ? daffMultiply(Math.max(...item.options.map(option => option.price)), qty) : 0;
86
- }
87
- /**
88
- * The minimum discounted price of an item is zero if the item is optional.
89
- *
90
- * @param item DaffCompositeProductItem
91
- */
92
- function getMinimumRequiredCompositeItemDiscountedPrice(item, qty) {
93
- return item.required ? daffMultiply(Math.min(...item.options.map(getDiscountedPrice)), qty) : 0;
94
- }
95
- /**
96
- * The maximum discounted price of an item is zero if the item is optional.
97
- *
98
- * @param item DaffCompositeProductItem
99
- */
100
- function getMaximumRequiredCompositeItemDiscountedPrice(item, qty) {
101
- return item.required ? daffMultiply(Math.max(...item.options.map(getDiscountedPrice)), qty) : 0;
102
- }
103
- /**
104
- * Gets the minimum prices of a composite product for the configuration provided excluding unselected, optional item prices.
105
- *
106
- * @param product a DaffCompositeProduct
107
- * @param appliedOptions a Dictionary<DaffCompositeProductItemOption> that determines the current configuration of the composite product.
108
- */
109
- function getMinPricesForConfiguration(product, appliedOptions) {
110
- return {
111
- discountedPrice: product.items.reduce((acc, item) => daffAdd(acc, appliedOptionHasId(appliedOptions[item.id]) ?
112
- daffMultiply(getDiscountedPrice(appliedOptions[item.id]), appliedOptions[item.id].quantity) :
113
- getMinimumRequiredCompositeItemDiscountedPrice(item, getOptionQty(appliedOptions[item.id]))), getDiscountedPrice(product)),
114
- discount: { amount: null, percent: null },
115
- originalPrice: product.items.reduce((acc, item) => daffAdd(acc, appliedOptionHasId(appliedOptions[item.id]) ?
116
- daffMultiply(appliedOptions[item.id].price, appliedOptions[item.id].quantity) :
117
- getMinimumRequiredCompositeItemPrice(item, getOptionQty(appliedOptions[item.id]))), product.price),
118
- };
119
- }
120
- /**
121
- * Gets the maximum prices of a composite product for the configuration provided excluding unselected, optional item prices.
122
- *
123
- * @param product a DaffCompositeProduct
124
- * @param appliedOptions a Dictionary<DaffCompositeProductItemOption> that determines the current configuration of the composite product.
125
- */
126
- function getMaxPricesForConfiguration(product, appliedOptions) {
127
- return {
128
- discountedPrice: product.items.reduce((acc, item) => daffAdd(acc, appliedOptionHasId(appliedOptions[item.id]) ?
129
- daffMultiply(getDiscountedPrice(appliedOptions[item.id]), appliedOptions[item.id].quantity) :
130
- getMaximumRequiredCompositeItemDiscountedPrice(item, getOptionQty(appliedOptions[item.id]))), getDiscountedPrice(product)),
131
- discount: { amount: null, percent: null },
132
- originalPrice: product.items.reduce((acc, item) => daffAdd(acc, appliedOptionHasId(appliedOptions[item.id]) ?
133
- daffMultiply(appliedOptions[item.id].price, appliedOptions[item.id].quantity) :
134
- getMaximumRequiredCompositeItemPrice(item, getOptionQty(appliedOptions[item.id]))), product.price),
135
- };
136
- }
137
- function getDiscountedPrice(product) {
138
- return product.discount ? daffSubtract(product.price, product.discount.amount) : product.price;
139
- }
140
- /**
141
- * Gets the maximum prices of a composite product including optional item prices.
142
- *
143
- * @param product a DaffCompositeProduct
144
- */
145
- function getMaxPricesForConfigurationIncludingOptionalItems(product, appliedOptions) {
146
- return {
147
- discountedPrice: product.items.reduce((acc, item) => daffAdd(acc, appliedOptionHasId(appliedOptions[item.id]) ?
148
- daffMultiply(getDiscountedPrice(appliedOptions[item.id]), appliedOptions[item.id].quantity) :
149
- appliedOptionHasQty(appliedOptions[item.id]) ?
150
- daffMultiply(Math.max(...item.options.map(getDiscountedPrice)), appliedOptions[item.id].quantity) :
151
- Math.max(...item.options.map(getDiscountedPrice))), getDiscountedPrice(product)),
152
- discount: { amount: null, percent: null },
153
- originalPrice: product.items.reduce((acc, item) => daffAdd(acc, appliedOptionHasId(appliedOptions[item.id]) ?
154
- daffMultiply(appliedOptions[item.id].price, appliedOptions[item.id].quantity) :
155
- appliedOptionHasQty(appliedOptions[item.id]) ?
156
- daffMultiply(Math.max(...item.options.map(option => option.price)), appliedOptions[item.id].quantity) :
157
- Math.max(...item.options.map(option => option.price))), product.price),
158
- };
159
- }
160
- /**
161
- * Takes a product and a set of option configurations and convert it into a dictionary of the full option objects.
162
- *
163
- * @param product a DaffCompositeProduct
164
- * @param configuration a Dictionary<DaffCompositeConfigurationItem> used to build the appliedOptions object.
165
- */
166
- function getAppliedOptionsForConfiguration(product, configuration) {
167
- return product.items.reduce((acc, item) => ({
168
- ...acc,
169
- [item.id]: configuration[item.id] ? {
170
- ...item.options.find(option => option.id === configuration[item.id].value),
171
- quantity: (configuration[item.id].qty === null || configuration[item.id].qty === undefined) ? 1 : configuration[item.id].qty,
172
- } : null,
173
- }), {});
174
- }
175
- function appliedOptionHasId(appliedOption) {
176
- return !!appliedOption?.id;
177
- }
178
- function getOptionQty(appliedOption) {
179
- return appliedOptionHasQty(appliedOption) ? appliedOption.quantity : 1;
180
- }
181
- function appliedOptionHasQty(appliedOption) {
182
- return appliedOption?.quantity !== null && appliedOption?.quantity !== undefined;
183
- }
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLXByb2R1Y3Quc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wcm9kdWN0LWNvbXBvc2l0ZS9zdGF0ZS9zcmMvc2VsZWN0b3JzL2NvbXBvc2l0ZS1wcm9kdWN0L2NvbXBvc2l0ZS1wcm9kdWN0LnNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQ0wsY0FBYyxFQUVkLGNBQWMsR0FDZixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQ0wsT0FBTyxFQUNQLFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUVMLG1CQUFtQixHQUdwQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBVTFFLE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBOEI5SCxNQUFNLCtCQUErQixHQUFHLEdBQW9FLEVBQUU7SUFFNUcsTUFBTSxFQUNKLGFBQWEsR0FDZCxHQUFHLCtCQUErQixFQUFLLENBQUM7SUFFekMsTUFBTSxFQUNKLDRDQUE0QyxHQUM3QyxHQUFHLHdDQUF3QyxFQUFFLENBQUM7SUFFL0MsTUFBTSx3REFBd0QsR0FBRyxjQUFjLENBQUMsQ0FBQyxFQUE4QixFQUFFLGFBQTBELEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FDNUwsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUNqQixDQUFDLE9BQVUsRUFBRSxFQUFFO1FBQ2IsSUFBRyxPQUFPLENBQUMsSUFBSSxLQUFLLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2xELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLGlDQUFpQyxDQUE0QixPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNqSSxPQUFPO1lBQ0wsUUFBUSxFQUFFLDRCQUE0QixDQUE0QixPQUFPLEVBQUUsY0FBYyxDQUFDO1lBQzFGLFFBQVEsRUFBRSw0QkFBNEIsQ0FBNEIsT0FBTyxFQUFFLGNBQWMsQ0FBQztTQUMzRixDQUFDO0lBQ0osQ0FBQyxDQUNGLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFFWixNQUFNLHdEQUF3RCxHQUFHLGNBQWMsQ0FBQyxDQUFDLEVBQThCLEVBQUUsYUFBMEQsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUM1TCxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQ2pCLENBQUMsT0FBVSxFQUFFLEVBQUU7UUFDYixJQUFHLE9BQU8sQ0FBQyxJQUFJLEtBQUssbUJBQW1CLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEQsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsaUNBQWlDLENBQTRCLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pJLE9BQU87WUFDTCxRQUFRLEVBQUUsNEJBQTRCLENBQTRCLE9BQU8sRUFBRSxjQUFjLENBQUM7WUFDMUYsUUFBUSxFQUFFLGtEQUFrRCxDQUE0QixPQUFPLEVBQUUsY0FBYyxDQUFDO1NBQ2pILENBQUM7SUFDSixDQUFDLENBQ0YsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUVaLE1BQU0saURBQWlELEdBQUcsY0FBYyxDQUFDLENBQUMsRUFBVyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQ3RHLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFDakIsNENBQTRDLEVBQzVDLENBQUMsT0FBVSxFQUFFLHNCQUFzQixFQUFFLEVBQUUsQ0FDckMsd0RBQXdELENBQUMsRUFBRSxFQUFFLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQzdILENBQUMsQ0FBQyxRQUFRLENBQUM7SUFFWixNQUFNLG9DQUFvQyxHQUFHLGNBQWMsQ0FBQyxDQUFDLEVBQThCLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FDNUcsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUNqQiw0Q0FBNEMsRUFDNUMsQ0FBQyxPQUFVLEVBQUUsc0JBQXNCLEVBQUUsRUFBRTtRQUNyQyxJQUFHLE9BQU8sQ0FBQyxJQUFJLEtBQUssbUJBQW1CLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEQsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELE1BQU0sd0JBQXdCLEdBQUcsc0JBQXNCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUMxRSxJQUErQixPQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDM0ksT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELE1BQU0sY0FBYyxHQUFHLGlDQUFpQyxDQUE2QixPQUFRLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztRQUV6SCxPQUFtQyxPQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUNyRSxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFDekosT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQ0YsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUVaLE1BQU0scUNBQXFDLEdBQUcsY0FBYyxDQUFDLENBQUMsRUFBOEIsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUM3RyxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQ2pCLDRDQUE0QyxFQUM1QyxDQUFDLE9BQVUsRUFBRSxzQkFBc0IsRUFBRSxFQUFFO1FBQ3JDLElBQUcsT0FBTyxDQUFDLElBQUksS0FBSyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNsRCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsTUFBTSxjQUFjLEdBQUcsc0JBQXNCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNoRSxJQUErQixPQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2pJLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyw0QkFBNEIsQ0FDYixPQUFRLEVBQ3BDLGlDQUFpQyxDQUE2QixPQUFRLEVBQUUsY0FBYyxDQUFDLENBQ3hGLENBQUM7UUFFRixPQUFPLFlBQVksQ0FDakIsVUFBVSxDQUNSLFlBQVksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUMsRUFDMUQsTUFBTSxDQUFDLGFBQWEsQ0FDckIsRUFDRCxHQUFHLENBQ0osQ0FBQztJQUNKLENBQUMsQ0FDRixDQUFDLENBQUMsUUFBUSxDQUFDO0lBRVosT0FBTztRQUNMLHdEQUF3RDtRQUN4RCx3REFBd0Q7UUFDeEQsaURBQWlEO1FBQ2pELG9DQUFvQztRQUNwQyxxQ0FBcUM7S0FDdEMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtJQUN6RCxJQUFJLEtBQUssQ0FBQztJQUNWLE9BQU8sR0FBa0YsRUFBRSxDQUFDLEtBQUssR0FBRyxLQUFLO1FBQ3ZHLENBQUMsQ0FBQyxLQUFLO1FBQ1AsQ0FBQyxDQUFDLCtCQUErQixFQUFLLENBQUM7QUFDM0MsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUVMOzs7O0dBSUc7QUFDSCxTQUFTLG9DQUFvQyxDQUFDLElBQThCLEVBQUUsR0FBVztJQUN2RixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RHLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyxvQ0FBb0MsQ0FBQyxJQUE4QixFQUFFLEdBQVc7SUFDdkYsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0RyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsOENBQThDLENBQUMsSUFBOEIsRUFBRSxHQUFXO0lBQ2pHLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRyxDQUFDO0FBQ0Q7Ozs7R0FJRztBQUNILFNBQVMsOENBQThDLENBQUMsSUFBOEIsRUFBRSxHQUFXO0lBQ2pHLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRyxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLDRCQUE0QixDQUFDLE9BQTZCLEVBQUUsY0FBMEQ7SUFDN0gsT0FBTztRQUNMLGVBQWUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FDMUQsR0FBRyxFQUNILGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzdGLDhDQUE4QyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQzlGLEVBQUUsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0IsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1FBQ3pDLGFBQWEsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FDeEQsR0FBRyxFQUNILGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNDLFlBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDL0Usb0NBQW9DLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDcEYsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDO0tBQ2xCLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLDRCQUE0QixDQUFDLE9BQTZCLEVBQUUsY0FBMEQ7SUFDN0gsT0FBTztRQUNMLGVBQWUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FDMUQsR0FBRyxFQUNILGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzdGLDhDQUE4QyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQzlGLEVBQUUsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0IsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1FBQ3pDLGFBQWEsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FDeEQsR0FBRyxFQUNILGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNDLFlBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDL0Usb0NBQW9DLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDcEYsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDO0tBQ2xCLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FBQyxPQUFvQjtJQUM5QyxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7QUFDakcsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLGtEQUFrRCxDQUFDLE9BQTZCLEVBQUUsY0FBMEQ7SUFDbkosT0FBTztRQUNMLGVBQWUsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FDMUQsR0FBRyxFQUNILGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzdGLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQ25HLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQ3RELEVBQUUsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0IsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1FBQ3pDLGFBQWEsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FDeEQsR0FBRyxFQUNILGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNDLFlBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDL0UsbUJBQW1CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzVDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUMxRCxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUM7S0FDbEIsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMsaUNBQWlDLENBQUMsT0FBNkIsRUFBRSxhQUF5RDtJQUNqSSxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMxQyxHQUFHLEdBQUc7UUFDTixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUMxRSxRQUFRLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHO1NBQzdILENBQUMsQ0FBQyxDQUFDLElBQUk7S0FDVCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDVixDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FBQyxhQUE2QztJQUN2RSxPQUFPLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO0FBQzdCLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxhQUE2QztJQUNqRSxPQUFPLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekUsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsYUFBNkM7SUFDeEUsT0FBTyxhQUFhLEVBQUUsUUFBUSxLQUFLLElBQUksSUFBSSxhQUFhLEVBQUUsUUFBUSxLQUFLLFNBQVMsQ0FBQztBQUNuRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGljdGlvbmFyeSxcbiAgRW50aXR5U3RhdGUsXG59IGZyb20gJ0BuZ3J4L2VudGl0eSc7XG5pbXBvcnQge1xuICBjcmVhdGVTZWxlY3RvcixcbiAgTWVtb2l6ZWRTZWxlY3RvcixcbiAgZGVmYXVsdE1lbW9pemUsXG59IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW1wb3J0IHtcbiAgZGFmZkFkZCxcbiAgZGFmZkRpdmlkZSxcbiAgZGFmZk11bHRpcGx5LFxuICBkYWZmU3VidHJhY3QsXG59IGZyb20gJ0BkYWZmb2RpbC9jb3JlJztcbmltcG9ydCB7XG4gIERhZmZQcm9kdWN0LFxuICBEYWZmUHJvZHVjdFR5cGVFbnVtLFxuICBEYWZmUHJvZHVjdFByaWNlcyxcbiAgRGFmZlByaWNlUmFuZ2UsXG59IGZyb20gJ0BkYWZmb2RpbC9wcm9kdWN0JztcbmltcG9ydCB7IGdldERhZmZQcm9kdWN0RW50aXRpZXNTZWxlY3RvcnMgfSBmcm9tICdAZGFmZm9kaWwvcHJvZHVjdC9zdGF0ZSc7XG5pbXBvcnQge1xuICBEYWZmQ29tcG9zaXRlUHJvZHVjdCxcbiAgRGFmZkNvbXBvc2l0ZUNvbmZpZ3VyYXRpb25JdGVtLFxuICBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW0sXG4gIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbixcbn0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QtY29tcG9zaXRlJztcblxuaW1wb3J0IHsgRGFmZkNvbXBvc2l0ZVByb2R1Y3RTdGF0ZVJvb3RTbGljZSB9IGZyb20gJy4uLy4uL3JlZHVjZXJzL2NvbXBvc2l0ZS1wcm9kdWN0LXJlZHVjZXJzLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEYWZmQ29tcG9zaXRlUHJvZHVjdEVudGl0eSB9IGZyb20gJy4uLy4uL3JlZHVjZXJzL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgZ2V0RGFmZkNvbXBvc2l0ZVByb2R1Y3RFbnRpdGllc1NlbGVjdG9ycyB9IGZyb20gJy4uL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0aWVzL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0aWVzLnNlbGVjdG9ycyc7XG5cbi8qKlxuICogQW4gaW50ZXJmYWNlIGRlc2NyaWJpbmcgc2VsZWN0b3JzIHVuaXF1ZSB0byB0aGUgY29tcG9zaXRlIHByb2R1Y3QsIHN1Y2ggYXMgcHJpY2luZyBhbmQgZGlzY291bnRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhZmZDb21wb3NpdGVQcm9kdWN0TWVtb2l6ZWRTZWxlY3RvcnM8VCBleHRlbmRzIERhZmZQcm9kdWN0ID0gRGFmZlByb2R1Y3Q+IHtcbiAgLyoqXG4gICAqIEdldCBhIERhZmZQcmljZVJhbmdlIGZvciBhIGNvbXBvc2l0ZSBwcm9kdWN0IGJhc2VkIG9uIHRoZSBjb25maWd1cmF0aW9uIHByb3ZpZGVkIGV4Y2x1ZGluZyB1bnNlbGVjdGVkLCBvcHRpb25hbCBpdGVtIHByaWNlcy5cbiAgICovXG4gIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RSZXF1aXJlZEl0ZW1QcmljZXNGb3JDb25maWd1cmF0aW9uOiAoIGlkOiBEYWZmQ29tcG9zaXRlUHJvZHVjdFsnaWQnXSwgY29uZmlndXJhdGlvbj86IERpY3Rpb25hcnk8RGFmZkNvbXBvc2l0ZUNvbmZpZ3VyYXRpb25JdGVtPiApID0+IE1lbW9pemVkU2VsZWN0b3I8RGFmZkNvbXBvc2l0ZVByb2R1Y3RTdGF0ZVJvb3RTbGljZTxUPiwgRGFmZlByaWNlUmFuZ2U+O1xuICAvKipcbiAgICogR2V0IHRoZSBicm9hZGVzdCBwb3NzaWJsZSBEYWZmUHJpY2VSYW5nZSBmb3IgYSBjb21wb3NpdGUgcHJvZHVjdCBiYXNlZCBvbiB0aGUgY29uZmlndXJhdGlvbiBwcm92aWRlZCBpbmNsdWRpbmcgb3B0aW9uYWwgaXRlbSBwcmljZXMuXG4gICAqL1xuICBzZWxlY3RDb21wb3NpdGVQcm9kdWN0T3B0aW9uYWxJdGVtUHJpY2VzRm9yQ29uZmlndXJhdGlvbjogKCBpZDogRGFmZkNvbXBvc2l0ZVByb2R1Y3RbJ2lkJ10sIGNvbmZpZ3VyYXRpb24/OiBEaWN0aW9uYXJ5PERhZmZDb21wb3NpdGVDb25maWd1cmF0aW9uSXRlbT4gKSA9PiBNZW1vaXplZFNlbGVjdG9yPERhZmZDb21wb3NpdGVQcm9kdWN0U3RhdGVSb290U2xpY2U8VD4sIERhZmZQcmljZVJhbmdlPjtcbiAgLyoqXG4gICAqIEdldCB0aGUgRGFmZlByaWNlUmFuZ2UgZm9yIGEgY29tcG9zaXRlIHByb2R1Y3QgYmFzZWQgb24gdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbiBvZiBzZWxlY3RlZCBpdGVtIG9wdGlvbnMgaW4gcmVkdXggc3RhdGUgYW5kXG4gICAqIGV4Y2x1ZGluZyB1bnNlbGVjdGVkLCBvcHRpb25hbCBpdGVtIHByaWNlcy5cbiAgICovXG4gIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RQcmljZXNBc0N1cnJlbnRseUNvbmZpZ3VyZWQ6ICggaWQ6IERhZmZDb21wb3NpdGVQcm9kdWN0WydpZCddICkgPT4gTWVtb2l6ZWRTZWxlY3RvcjxEYWZmQ29tcG9zaXRlUHJvZHVjdFN0YXRlUm9vdFNsaWNlPFQ+LCBEYWZmUHJpY2VSYW5nZT47XG4gIC8qKlxuICAgKiBHZXQgdGhlIGRpc2NvdW50IGFtb3VudCBmb3IgYSBjb21wb3NpdGUgcHJvZHVjdC4gVGhpcyB2YWx1ZSB3aWxsIGJlIHVuZGVmaW5lZCBpZiBhbGwgcmVxdWlyZWQgb3B0aW9ucyBhcmUgbm90IGNob3Nlbi5cbiAgICovXG4gIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3REaXNjb3VudEFtb3VudDogKCBpZDogRGFmZkNvbXBvc2l0ZVByb2R1Y3RbJ2lkJ10gKSA9PiBNZW1vaXplZFNlbGVjdG9yPERhZmZDb21wb3NpdGVQcm9kdWN0U3RhdGVSb290U2xpY2U8VD4sIG51bWJlcj47XG4gIC8qKlxuICAgKiBHZXQgdGhlIGRpc2NvdW50IHBlcmNlbnQgZm9yIGEgY29tcG9zaXRlIHByb2R1Y3QuIFRoaXMgdmFsdWUgd2lsbCBiZSB1bmRlZmluZWQgaWYgYWxsIHJlcXVpcmVkIG9wdGlvbnMgYXJlIG5vdCBjaG9zZW4uXG4gICAqIE5vdGU6IHRoaXMgcGVyY2VudCBpcyBjb21wdXRlZCBjbGllbnQtc2lkZSBhbmQgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgYW4gZXN0aW1hdGUgcmF0aGVyIHRoYW4gYW4gZXhhY3QgdmFsdWUuXG4gICAqL1xuICBzZWxlY3RDb21wb3NpdGVQcm9kdWN0RGlzY291bnRQZXJjZW50OiAoIGlkOiBEYWZmQ29tcG9zaXRlUHJvZHVjdFsnaWQnXSApID0+IE1lbW9pemVkU2VsZWN0b3I8RGFmZkNvbXBvc2l0ZVByb2R1Y3RTdGF0ZVJvb3RTbGljZTxUPiwgbnVtYmVyPjtcbn1cblxuY29uc3QgY3JlYXRlQ29tcG9zaXRlUHJvZHVjdFNlbGVjdG9ycyA9IDxUIGV4dGVuZHMgRGFmZlByb2R1Y3Q+KCk6IERhZmZDb21wb3NpdGVQcm9kdWN0TWVtb2l6ZWRTZWxlY3RvcnM8VD4gPT4ge1xuXG4gIGNvbnN0IHtcbiAgICBzZWxlY3RQcm9kdWN0LFxuICB9ID0gZ2V0RGFmZlByb2R1Y3RFbnRpdGllc1NlbGVjdG9yczxUPigpO1xuXG4gIGNvbnN0IHtcbiAgICBzZWxlY3RDb21wb3NpdGVQcm9kdWN0QXBwbGllZE9wdGlvbnNFbnRpdGllcyxcbiAgfSA9IGdldERhZmZDb21wb3NpdGVQcm9kdWN0RW50aXRpZXNTZWxlY3RvcnMoKTtcblxuICBjb25zdCBzZWxlY3RDb21wb3NpdGVQcm9kdWN0UmVxdWlyZWRJdGVtUHJpY2VzRm9yQ29uZmlndXJhdGlvbiA9IGRlZmF1bHRNZW1vaXplKChpZDogRGFmZkNvbXBvc2l0ZVByb2R1Y3RbJ2lkJ10sIGNvbmZpZ3VyYXRpb24/OiBEaWN0aW9uYXJ5PERhZmZDb21wb3NpdGVDb25maWd1cmF0aW9uSXRlbT4pID0+IGNyZWF0ZVNlbGVjdG9yKFxuICAgIHNlbGVjdFByb2R1Y3QoaWQpLFxuICAgIChwcm9kdWN0OiBUKSA9PiB7XG4gICAgICBpZihwcm9kdWN0LnR5cGUgIT09IERhZmZQcm9kdWN0VHlwZUVudW0uQ29tcG9zaXRlKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGFwcGxpZWRPcHRpb25zID0gY29uZmlndXJhdGlvbiA/IGdldEFwcGxpZWRPcHRpb25zRm9yQ29uZmlndXJhdGlvbig8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0LCBjb25maWd1cmF0aW9uKSA6IHt9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbWluUHJpY2U6IGdldE1pblByaWNlc0ZvckNvbmZpZ3VyYXRpb24oPERhZmZDb21wb3NpdGVQcm9kdWN0Pjxhbnk+cHJvZHVjdCwgYXBwbGllZE9wdGlvbnMpLFxuICAgICAgICBtYXhQcmljZTogZ2V0TWF4UHJpY2VzRm9yQ29uZmlndXJhdGlvbig8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0LCBhcHBsaWVkT3B0aW9ucyksXG4gICAgICB9O1xuICAgIH0sXG4gICkpLm1lbW9pemVkO1xuXG4gIGNvbnN0IHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RPcHRpb25hbEl0ZW1QcmljZXNGb3JDb25maWd1cmF0aW9uID0gZGVmYXVsdE1lbW9pemUoKGlkOiBEYWZmQ29tcG9zaXRlUHJvZHVjdFsnaWQnXSwgY29uZmlndXJhdGlvbj86IERpY3Rpb25hcnk8RGFmZkNvbXBvc2l0ZUNvbmZpZ3VyYXRpb25JdGVtPikgPT4gY3JlYXRlU2VsZWN0b3IoXG4gICAgc2VsZWN0UHJvZHVjdChpZCksXG4gICAgKHByb2R1Y3Q6IFQpID0+IHtcbiAgICAgIGlmKHByb2R1Y3QudHlwZSAhPT0gRGFmZlByb2R1Y3RUeXBlRW51bS5Db21wb3NpdGUpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYXBwbGllZE9wdGlvbnMgPSBjb25maWd1cmF0aW9uID8gZ2V0QXBwbGllZE9wdGlvbnNGb3JDb25maWd1cmF0aW9uKDxEYWZmQ29tcG9zaXRlUHJvZHVjdD48YW55PnByb2R1Y3QsIGNvbmZpZ3VyYXRpb24pIDoge307XG4gICAgICByZXR1cm4ge1xuICAgICAgICBtaW5QcmljZTogZ2V0TWluUHJpY2VzRm9yQ29uZmlndXJhdGlvbig8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0LCBhcHBsaWVkT3B0aW9ucyksXG4gICAgICAgIG1heFByaWNlOiBnZXRNYXhQcmljZXNGb3JDb25maWd1cmF0aW9uSW5jbHVkaW5nT3B0aW9uYWxJdGVtcyg8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0LCBhcHBsaWVkT3B0aW9ucyksXG4gICAgICB9O1xuICAgIH0sXG4gICkpLm1lbW9pemVkO1xuXG4gIGNvbnN0IHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RQcmljZXNBc0N1cnJlbnRseUNvbmZpZ3VyZWQgPSBkZWZhdWx0TWVtb2l6ZSgoaWQ6IFRbJ2lkJ10pID0+IGNyZWF0ZVNlbGVjdG9yPERhZmZDb21wb3NpdGVQcm9kdWN0U3RhdGVSb290U2xpY2U8VD4sIFtULCBFbnRpdHlTdGF0ZTxEYWZmQ29tcG9zaXRlUHJvZHVjdEVudGl0eT5bJ2VudGl0aWVzJ11dLCBEYWZmUHJpY2VSYW5nZT4oXG4gICAgc2VsZWN0UHJvZHVjdChpZCksXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXMsXG4gICAgKHByb2R1Y3Q6IFQsIGFwcGxpZWRPcHRpb25zRW50aXRpZXMpID0+XG4gICAgICBzZWxlY3RDb21wb3NpdGVQcm9kdWN0UmVxdWlyZWRJdGVtUHJpY2VzRm9yQ29uZmlndXJhdGlvbihpZCwgYXBwbGllZE9wdGlvbnNFbnRpdGllc1tpZF0/Lml0ZW1zIHx8IG51bGwpLnByb2plY3Rvcihwcm9kdWN0KSxcbiAgKSkubWVtb2l6ZWQ7XG5cbiAgY29uc3Qgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdERpc2NvdW50QW1vdW50ID0gZGVmYXVsdE1lbW9pemUoKGlkOiBEYWZmQ29tcG9zaXRlUHJvZHVjdFsnaWQnXSkgPT4gY3JlYXRlU2VsZWN0b3I8RGFmZkNvbXBvc2l0ZVByb2R1Y3RTdGF0ZVJvb3RTbGljZTxUPiwgW1QsIEVudGl0eVN0YXRlPERhZmZDb21wb3NpdGVQcm9kdWN0RW50aXR5PlsnZW50aXRpZXMnXV0sIG51bWJlcj4oXG4gICAgc2VsZWN0UHJvZHVjdChpZCksXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXMsXG4gICAgKHByb2R1Y3Q6IFQsIGFwcGxpZWRPcHRpb25zRW50aXRpZXMpID0+IHtcbiAgICAgIGlmKHByb2R1Y3QudHlwZSAhPT0gRGFmZlByb2R1Y3RUeXBlRW51bS5Db21wb3NpdGUpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGFwcGxpZWRDb25maWd1cmF0aW9uSXRlbSA9IGFwcGxpZWRPcHRpb25zRW50aXRpZXNbcHJvZHVjdC5pZF0uaXRlbXM7XG4gICAgICBpZigoPERhZmZDb21wb3NpdGVQcm9kdWN0Pjxhbnk+cHJvZHVjdCkuaXRlbXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5yZXF1aXJlZCAmJiBhcHBsaWVkQ29uZmlndXJhdGlvbkl0ZW1baXRlbS5pZF0udmFsdWUgPT09IG51bGwpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGFwcGxpZWRPcHRpb25zID0gZ2V0QXBwbGllZE9wdGlvbnNGb3JDb25maWd1cmF0aW9uKCg8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0KSwgYXBwbGllZENvbmZpZ3VyYXRpb25JdGVtKTtcblxuICAgICAgcmV0dXJuICg8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0KS5pdGVtcy5yZWR1Y2UoKGFjYywgaXRlbSkgPT5cbiAgICAgICAgYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0/LmRpc2NvdW50Py5hbW91bnQgPyBkYWZmQWRkKGFjYywgZGFmZk11bHRpcGx5KGFwcGxpZWRPcHRpb25zW2l0ZW0uaWRdLmRpc2NvdW50LmFtb3VudCwgYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0ucXVhbnRpdHkpKSA6IGFjYyxcbiAgICAgIHByb2R1Y3QuZGlzY291bnQuYW1vdW50KTtcbiAgICB9LFxuICApKS5tZW1vaXplZDtcblxuICBjb25zdCBzZWxlY3RDb21wb3NpdGVQcm9kdWN0RGlzY291bnRQZXJjZW50ID0gZGVmYXVsdE1lbW9pemUoKGlkOiBEYWZmQ29tcG9zaXRlUHJvZHVjdFsnaWQnXSkgPT4gY3JlYXRlU2VsZWN0b3I8RGFmZkNvbXBvc2l0ZVByb2R1Y3RTdGF0ZVJvb3RTbGljZTxUPiwgW1QsIEVudGl0eVN0YXRlPERhZmZDb21wb3NpdGVQcm9kdWN0RW50aXR5PlsnZW50aXRpZXMnXV0sIG51bWJlcj4oXG4gICAgc2VsZWN0UHJvZHVjdChpZCksXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXMsXG4gICAgKHByb2R1Y3Q6IFQsIGFwcGxpZWRPcHRpb25zRW50aXRpZXMpID0+IHtcbiAgICAgIGlmKHByb2R1Y3QudHlwZSAhPT0gRGFmZlByb2R1Y3RUeXBlRW51bS5Db21wb3NpdGUpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGFwcGxpZWRPcHRpb25zID0gYXBwbGllZE9wdGlvbnNFbnRpdGllc1twcm9kdWN0LmlkXS5pdGVtcztcbiAgICAgIGlmKCg8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0KS5pdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtLnJlcXVpcmVkICYmIGFwcGxpZWRPcHRpb25zW2l0ZW0uaWRdLnZhbHVlID09PSBudWxsKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHByaWNlcyA9IGdldE1pblByaWNlc0ZvckNvbmZpZ3VyYXRpb24oXG4gICAgICAgICg8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0KSxcbiAgICAgICAgZ2V0QXBwbGllZE9wdGlvbnNGb3JDb25maWd1cmF0aW9uKCg8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0KSwgYXBwbGllZE9wdGlvbnMpLFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGRhZmZNdWx0aXBseShcbiAgICAgICAgZGFmZkRpdmlkZShcbiAgICAgICAgICBkYWZmU3VidHJhY3QocHJpY2VzLm9yaWdpbmFsUHJpY2UsIHByaWNlcy5kaXNjb3VudGVkUHJpY2UpLFxuICAgICAgICAgIHByaWNlcy5vcmlnaW5hbFByaWNlLFxuICAgICAgICApLFxuICAgICAgICAxMDAsXG4gICAgICApO1xuICAgIH0sXG4gICkpLm1lbW9pemVkO1xuXG4gIHJldHVybiB7XG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdFJlcXVpcmVkSXRlbVByaWNlc0ZvckNvbmZpZ3VyYXRpb24sXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdE9wdGlvbmFsSXRlbVByaWNlc0ZvckNvbmZpZ3VyYXRpb24sXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdFByaWNlc0FzQ3VycmVudGx5Q29uZmlndXJlZCxcbiAgICBzZWxlY3RDb21wb3NpdGVQcm9kdWN0RGlzY291bnRBbW91bnQsXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdERpc2NvdW50UGVyY2VudCxcbiAgfTtcbn07XG5cbi8qKlxuICogQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYWxsIHNlbGVjdG9ycyByZWxhdGVkIHRvIHRoZSBjb21wb3NpdGUgcHJvZHVjdCBmZWF0dXJlLlxuICpcbiAqIFJldHVybnMge0BsaW5rIERhZmZDb21wb3NpdGVQcm9kdWN0TWVtb2l6ZWRTZWxlY3RvcnN9LlxuICovXG5leHBvcnQgY29uc3QgZ2V0RGFmZkNvbXBvc2l0ZVByb2R1Y3RQcmljZVNlbGVjdG9ycyA9ICgoKSA9PiB7XG4gIGxldCBjYWNoZTtcbiAgcmV0dXJuIDxUIGV4dGVuZHMgRGFmZlByb2R1Y3QgPSBEYWZmUHJvZHVjdD4oKTogRGFmZkNvbXBvc2l0ZVByb2R1Y3RNZW1vaXplZFNlbGVjdG9yczxUPiA9PiBjYWNoZSA9IGNhY2hlXG4gICAgPyBjYWNoZVxuICAgIDogY3JlYXRlQ29tcG9zaXRlUHJvZHVjdFNlbGVjdG9yczxUPigpO1xufSkoKTtcblxuLyoqXG4gKiBUaGUgbWluaW11bSBwcmljZSBvZiBhbiBpdGVtIGlzIHplcm8gaWYgdGhlIGl0ZW0gaXMgb3B0aW9uYWwuXG4gKlxuICogQHBhcmFtIGl0ZW0gRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtXG4gKi9cbmZ1bmN0aW9uIGdldE1pbmltdW1SZXF1aXJlZENvbXBvc2l0ZUl0ZW1QcmljZShpdGVtOiBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW0sIHF0eTogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIGl0ZW0ucmVxdWlyZWQgPyBkYWZmTXVsdGlwbHkoTWF0aC5taW4oLi4uaXRlbS5vcHRpb25zLm1hcChvcHRpb24gPT4gb3B0aW9uLnByaWNlKSksIHF0eSkgOiAwO1xufVxuXG4vKipcbiAqIFRoZSBtYXhpbXVtIHByaWNlIGZvciBhbiBpdGVtIGlzIHplcm8gaWYgdGhlIGl0ZW0gaXMgb3B0aW9uYWwuXG4gKlxuICogQHBhcmFtIGl0ZW0gRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtXG4gKi9cbmZ1bmN0aW9uIGdldE1heGltdW1SZXF1aXJlZENvbXBvc2l0ZUl0ZW1QcmljZShpdGVtOiBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW0sIHF0eTogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIGl0ZW0ucmVxdWlyZWQgPyBkYWZmTXVsdGlwbHkoTWF0aC5tYXgoLi4uaXRlbS5vcHRpb25zLm1hcChvcHRpb24gPT4gb3B0aW9uLnByaWNlKSksIHF0eSkgOiAwO1xufVxuXG4vKipcbiAqIFRoZSBtaW5pbXVtIGRpc2NvdW50ZWQgcHJpY2Ugb2YgYW4gaXRlbSBpcyB6ZXJvIGlmIHRoZSBpdGVtIGlzIG9wdGlvbmFsLlxuICpcbiAqIEBwYXJhbSBpdGVtIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbVxuICovXG5mdW5jdGlvbiBnZXRNaW5pbXVtUmVxdWlyZWRDb21wb3NpdGVJdGVtRGlzY291bnRlZFByaWNlKGl0ZW06IERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbSwgcXR5OiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gaXRlbS5yZXF1aXJlZCA/IGRhZmZNdWx0aXBseShNYXRoLm1pbiguLi5pdGVtLm9wdGlvbnMubWFwKGdldERpc2NvdW50ZWRQcmljZSkpLCBxdHkpIDogMDtcbn1cbi8qKlxuICogVGhlIG1heGltdW0gZGlzY291bnRlZCBwcmljZSBvZiBhbiBpdGVtIGlzIHplcm8gaWYgdGhlIGl0ZW0gaXMgb3B0aW9uYWwuXG4gKlxuICogQHBhcmFtIGl0ZW0gRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtXG4gKi9cbmZ1bmN0aW9uIGdldE1heGltdW1SZXF1aXJlZENvbXBvc2l0ZUl0ZW1EaXNjb3VudGVkUHJpY2UoaXRlbTogRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtLCBxdHk6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBpdGVtLnJlcXVpcmVkID8gZGFmZk11bHRpcGx5KE1hdGgubWF4KC4uLml0ZW0ub3B0aW9ucy5tYXAoZ2V0RGlzY291bnRlZFByaWNlKSksIHF0eSkgOiAwO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIG1pbmltdW0gcHJpY2VzIG9mIGEgY29tcG9zaXRlIHByb2R1Y3QgZm9yIHRoZSBjb25maWd1cmF0aW9uIHByb3ZpZGVkIGV4Y2x1ZGluZyB1bnNlbGVjdGVkLCBvcHRpb25hbCBpdGVtIHByaWNlcy5cbiAqXG4gKiBAcGFyYW0gcHJvZHVjdCBhIERhZmZDb21wb3NpdGVQcm9kdWN0XG4gKiBAcGFyYW0gYXBwbGllZE9wdGlvbnMgYSBEaWN0aW9uYXJ5PERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbj4gdGhhdCBkZXRlcm1pbmVzIHRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24gb2YgdGhlIGNvbXBvc2l0ZSBwcm9kdWN0LlxuICovXG5mdW5jdGlvbiBnZXRNaW5QcmljZXNGb3JDb25maWd1cmF0aW9uKHByb2R1Y3Q6IERhZmZDb21wb3NpdGVQcm9kdWN0LCBhcHBsaWVkT3B0aW9uczogRGljdGlvbmFyeTxEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW1PcHRpb24+KTogRGFmZlByb2R1Y3RQcmljZXMge1xuICByZXR1cm4ge1xuICAgIGRpc2NvdW50ZWRQcmljZTogcHJvZHVjdC5pdGVtcy5yZWR1Y2UoKGFjYywgaXRlbSkgPT4gZGFmZkFkZChcbiAgICAgIGFjYyxcbiAgICAgIGFwcGxpZWRPcHRpb25IYXNJZChhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXSkgP1xuICAgICAgICBkYWZmTXVsdGlwbHkoZ2V0RGlzY291bnRlZFByaWNlKGFwcGxpZWRPcHRpb25zW2l0ZW0uaWRdKSwgYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0ucXVhbnRpdHkpIDpcbiAgICAgICAgZ2V0TWluaW11bVJlcXVpcmVkQ29tcG9zaXRlSXRlbURpc2NvdW50ZWRQcmljZShpdGVtLCBnZXRPcHRpb25RdHkoYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0pKSxcbiAgICApLCBnZXREaXNjb3VudGVkUHJpY2UocHJvZHVjdCkpLFxuICAgIGRpc2NvdW50OiB7IGFtb3VudDogbnVsbCwgcGVyY2VudDogbnVsbCB9LFxuICAgIG9yaWdpbmFsUHJpY2U6IHByb2R1Y3QuaXRlbXMucmVkdWNlKChhY2MsIGl0ZW0pID0+IGRhZmZBZGQoXG4gICAgICBhY2MsXG4gICAgICBhcHBsaWVkT3B0aW9uSGFzSWQoYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0pID9cbiAgICAgICAgZGFmZk11bHRpcGx5KGFwcGxpZWRPcHRpb25zW2l0ZW0uaWRdLnByaWNlLCBhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXS5xdWFudGl0eSkgOlxuICAgICAgICBnZXRNaW5pbXVtUmVxdWlyZWRDb21wb3NpdGVJdGVtUHJpY2UoaXRlbSwgZ2V0T3B0aW9uUXR5KGFwcGxpZWRPcHRpb25zW2l0ZW0uaWRdKSksXG4gICAgKSwgcHJvZHVjdC5wcmljZSksXG4gIH07XG59XG5cbi8qKlxuICogR2V0cyB0aGUgbWF4aW11bSBwcmljZXMgb2YgYSBjb21wb3NpdGUgcHJvZHVjdCBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gcHJvdmlkZWQgZXhjbHVkaW5nIHVuc2VsZWN0ZWQsIG9wdGlvbmFsIGl0ZW0gcHJpY2VzLlxuICpcbiAqIEBwYXJhbSBwcm9kdWN0IGEgRGFmZkNvbXBvc2l0ZVByb2R1Y3RcbiAqIEBwYXJhbSBhcHBsaWVkT3B0aW9ucyBhIERpY3Rpb25hcnk8RGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtT3B0aW9uPiB0aGF0IGRldGVybWluZXMgdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbiBvZiB0aGUgY29tcG9zaXRlIHByb2R1Y3QuXG4gKi9cbmZ1bmN0aW9uIGdldE1heFByaWNlc0ZvckNvbmZpZ3VyYXRpb24ocHJvZHVjdDogRGFmZkNvbXBvc2l0ZVByb2R1Y3QsIGFwcGxpZWRPcHRpb25zOiBEaWN0aW9uYXJ5PERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbj4pOiBEYWZmUHJvZHVjdFByaWNlcyB7XG4gIHJldHVybiB7XG4gICAgZGlzY291bnRlZFByaWNlOiBwcm9kdWN0Lml0ZW1zLnJlZHVjZSgoYWNjLCBpdGVtKSA9PiBkYWZmQWRkKFxuICAgICAgYWNjLFxuICAgICAgYXBwbGllZE9wdGlvbkhhc0lkKGFwcGxpZWRPcHRpb25zW2l0ZW0uaWRdKSA/XG4gICAgICAgIGRhZmZNdWx0aXBseShnZXREaXNjb3VudGVkUHJpY2UoYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0pLCBhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXS5xdWFudGl0eSkgOlxuICAgICAgICBnZXRNYXhpbXVtUmVxdWlyZWRDb21wb3NpdGVJdGVtRGlzY291bnRlZFByaWNlKGl0ZW0sIGdldE9wdGlvblF0eShhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXSkpLFxuICAgICksIGdldERpc2NvdW50ZWRQcmljZShwcm9kdWN0KSksXG4gICAgZGlzY291bnQ6IHsgYW1vdW50OiBudWxsLCBwZXJjZW50OiBudWxsIH0sXG4gICAgb3JpZ2luYWxQcmljZTogcHJvZHVjdC5pdGVtcy5yZWR1Y2UoKGFjYywgaXRlbSkgPT4gZGFmZkFkZChcbiAgICAgIGFjYyxcbiAgICAgIGFwcGxpZWRPcHRpb25IYXNJZChhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXSkgP1xuICAgICAgICBkYWZmTXVsdGlwbHkoYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0ucHJpY2UsIGFwcGxpZWRPcHRpb25zW2l0ZW0uaWRdLnF1YW50aXR5KSA6XG4gICAgICAgIGdldE1heGltdW1SZXF1aXJlZENvbXBvc2l0ZUl0ZW1QcmljZShpdGVtLCBnZXRPcHRpb25RdHkoYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0pKSxcbiAgICApLCBwcm9kdWN0LnByaWNlKSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0RGlzY291bnRlZFByaWNlKHByb2R1Y3Q6IERhZmZQcm9kdWN0KTogbnVtYmVyIHtcbiAgcmV0dXJuIHByb2R1Y3QuZGlzY291bnQgPyBkYWZmU3VidHJhY3QocHJvZHVjdC5wcmljZSwgcHJvZHVjdC5kaXNjb3VudC5hbW91bnQpIDogcHJvZHVjdC5wcmljZTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBtYXhpbXVtIHByaWNlcyBvZiBhIGNvbXBvc2l0ZSBwcm9kdWN0IGluY2x1ZGluZyBvcHRpb25hbCBpdGVtIHByaWNlcy5cbiAqXG4gKiBAcGFyYW0gcHJvZHVjdCBhIERhZmZDb21wb3NpdGVQcm9kdWN0XG4gKi9cbmZ1bmN0aW9uIGdldE1heFByaWNlc0ZvckNvbmZpZ3VyYXRpb25JbmNsdWRpbmdPcHRpb25hbEl0ZW1zKHByb2R1Y3Q6IERhZmZDb21wb3NpdGVQcm9kdWN0LCBhcHBsaWVkT3B0aW9uczogRGljdGlvbmFyeTxEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW1PcHRpb24+KTogRGFmZlByb2R1Y3RQcmljZXMge1xuICByZXR1cm4ge1xuICAgIGRpc2NvdW50ZWRQcmljZTogcHJvZHVjdC5pdGVtcy5yZWR1Y2UoKGFjYywgaXRlbSkgPT4gZGFmZkFkZChcbiAgICAgIGFjYyxcbiAgICAgIGFwcGxpZWRPcHRpb25IYXNJZChhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXSkgP1xuICAgICAgICBkYWZmTXVsdGlwbHkoZ2V0RGlzY291bnRlZFByaWNlKGFwcGxpZWRPcHRpb25zW2l0ZW0uaWRdKSwgYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0ucXVhbnRpdHkpIDpcbiAgICAgICAgYXBwbGllZE9wdGlvbkhhc1F0eShhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXSkgP1xuICAgICAgICAgIGRhZmZNdWx0aXBseShNYXRoLm1heCguLi5pdGVtLm9wdGlvbnMubWFwKGdldERpc2NvdW50ZWRQcmljZSkpLCBhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXS5xdWFudGl0eSkgOlxuICAgICAgICAgIE1hdGgubWF4KC4uLml0ZW0ub3B0aW9ucy5tYXAoZ2V0RGlzY291bnRlZFByaWNlKSksXG4gICAgKSwgZ2V0RGlzY291bnRlZFByaWNlKHByb2R1Y3QpKSxcbiAgICBkaXNjb3VudDogeyBhbW91bnQ6IG51bGwsIHBlcmNlbnQ6IG51bGwgfSxcbiAgICBvcmlnaW5hbFByaWNlOiBwcm9kdWN0Lml0ZW1zLnJlZHVjZSgoYWNjLCBpdGVtKSA9PiBkYWZmQWRkKFxuICAgICAgYWNjLFxuICAgICAgYXBwbGllZE9wdGlvbkhhc0lkKGFwcGxpZWRPcHRpb25zW2l0ZW0uaWRdKSA/XG4gICAgICAgIGRhZmZNdWx0aXBseShhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXS5wcmljZSwgYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0ucXVhbnRpdHkpIDpcbiAgICAgICAgYXBwbGllZE9wdGlvbkhhc1F0eShhcHBsaWVkT3B0aW9uc1tpdGVtLmlkXSkgP1xuICAgICAgICAgIGRhZmZNdWx0aXBseShNYXRoLm1heCguLi5pdGVtLm9wdGlvbnMubWFwKG9wdGlvbiA9PiBvcHRpb24ucHJpY2UpKSwgYXBwbGllZE9wdGlvbnNbaXRlbS5pZF0ucXVhbnRpdHkpIDpcbiAgICAgICAgICBNYXRoLm1heCguLi5pdGVtLm9wdGlvbnMubWFwKG9wdGlvbiA9PiBvcHRpb24ucHJpY2UpKSxcbiAgICApLCBwcm9kdWN0LnByaWNlKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBUYWtlcyBhIHByb2R1Y3QgYW5kIGEgc2V0IG9mIG9wdGlvbiBjb25maWd1cmF0aW9ucyBhbmQgY29udmVydCBpdCBpbnRvIGEgZGljdGlvbmFyeSBvZiB0aGUgZnVsbCBvcHRpb24gb2JqZWN0cy5cbiAqXG4gKiBAcGFyYW0gcHJvZHVjdCBhIERhZmZDb21wb3NpdGVQcm9kdWN0XG4gKiBAcGFyYW0gY29uZmlndXJhdGlvbiBhIERpY3Rpb25hcnk8RGFmZkNvbXBvc2l0ZUNvbmZpZ3VyYXRpb25JdGVtPiB1c2VkIHRvIGJ1aWxkIHRoZSBhcHBsaWVkT3B0aW9ucyBvYmplY3QuXG4gKi9cbmZ1bmN0aW9uIGdldEFwcGxpZWRPcHRpb25zRm9yQ29uZmlndXJhdGlvbihwcm9kdWN0OiBEYWZmQ29tcG9zaXRlUHJvZHVjdCwgY29uZmlndXJhdGlvbjogRGljdGlvbmFyeTxEYWZmQ29tcG9zaXRlQ29uZmlndXJhdGlvbkl0ZW0+KTogRGljdGlvbmFyeTxEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW1PcHRpb24+IHtcbiAgcmV0dXJuIHByb2R1Y3QuaXRlbXMucmVkdWNlKChhY2MsIGl0ZW0pID0+ICh7XG4gICAgLi4uYWNjLFxuICAgIFtpdGVtLmlkXTogY29uZmlndXJhdGlvbltpdGVtLmlkXSA/IHtcbiAgICAgIC4uLml0ZW0ub3B0aW9ucy5maW5kKG9wdGlvbiA9PiBvcHRpb24uaWQgPT09IGNvbmZpZ3VyYXRpb25baXRlbS5pZF0udmFsdWUpLFxuICAgICAgcXVhbnRpdHk6IChjb25maWd1cmF0aW9uW2l0ZW0uaWRdLnF0eSA9PT0gbnVsbCB8fCBjb25maWd1cmF0aW9uW2l0ZW0uaWRdLnF0eSA9PT0gdW5kZWZpbmVkKSA/IDEgOiBjb25maWd1cmF0aW9uW2l0ZW0uaWRdLnF0eSxcbiAgICB9IDogbnVsbCxcbiAgfSksIHt9KTtcbn1cblxuZnVuY3Rpb24gYXBwbGllZE9wdGlvbkhhc0lkKGFwcGxpZWRPcHRpb246IERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbik6IGJvb2xlYW4ge1xuICByZXR1cm4gISFhcHBsaWVkT3B0aW9uPy5pZDtcbn1cblxuZnVuY3Rpb24gZ2V0T3B0aW9uUXR5KGFwcGxpZWRPcHRpb246IERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbik6IG51bWJlciB7XG4gIHJldHVybiBhcHBsaWVkT3B0aW9uSGFzUXR5KGFwcGxpZWRPcHRpb24pID8gYXBwbGllZE9wdGlvbi5xdWFudGl0eSA6IDE7XG59XG5cbmZ1bmN0aW9uIGFwcGxpZWRPcHRpb25IYXNRdHkoYXBwbGllZE9wdGlvbjogRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtT3B0aW9uKTogYm9vbGVhbiB7XG4gIHJldHVybiBhcHBsaWVkT3B0aW9uPy5xdWFudGl0eSAhPT0gbnVsbCAmJiBhcHBsaWVkT3B0aW9uPy5xdWFudGl0eSAhPT0gdW5kZWZpbmVkO1xufVxuIl19
@@ -1,52 +0,0 @@
1
- import { createSelector, defaultMemoize, } from '@ngrx/store';
2
- import { DaffProductTypeEnum, } from '@daffodil/product';
3
- import { getDaffProductEntitiesSelectors } from '@daffodil/product/state';
4
- import { daffCompositeProductAppliedOptionsEntitiesAdapter } from '../../reducers/composite-product-entities/composite-product-entities-reducer-adapter';
5
- import { getDaffCompositeProductFeatureSelector } from '../feature.selector';
6
- const createCompositeProductAppliedOptionsEntitiesSelectors = () => {
7
- const { selectCompositeProductState, } = getDaffCompositeProductFeatureSelector();
8
- const { selectProduct, } = getDaffProductEntitiesSelectors();
9
- const adapterSelectors = daffCompositeProductAppliedOptionsEntitiesAdapter().getSelectors();
10
- const selectCompositeProductAppliedOptionsEntitiesState = createSelector(selectCompositeProductState, (state) => state.compositeProductOptions);
11
- const selectCompositeProductIds = createSelector(selectCompositeProductAppliedOptionsEntitiesState, adapterSelectors.selectIds);
12
- const selectCompositeProductAppliedOptionsEntities = createSelector(selectCompositeProductAppliedOptionsEntitiesState, adapterSelectors.selectEntities);
13
- const selectCompositeProductTotal = createSelector(selectCompositeProductAppliedOptionsEntitiesState, adapterSelectors.selectTotal);
14
- const selectCompositeProductAppliedOptions = defaultMemoize((id) => createSelector(selectProduct(id), selectCompositeProductAppliedOptionsEntitiesState, (product, appliedOptions) => {
15
- if (product.type !== DaffProductTypeEnum.Composite) {
16
- return undefined;
17
- }
18
- return product.items.reduce((acc, item) => ({
19
- ...acc,
20
- [item.id]: appliedOptions.entities[product.id].items[item.id].value ? {
21
- ...item.options.find(option => option.id === appliedOptions.entities[product.id].items[item.id].value),
22
- quantity: appliedOptions.entities[product.id].items[item.id].qty,
23
- } : null,
24
- }), {});
25
- })).memoized;
26
- const selectIsCompositeProductItemRequired = defaultMemoize((id, item_id) => createSelector(selectProduct(id), (product) => {
27
- if (product.type !== DaffProductTypeEnum.Composite) {
28
- return undefined;
29
- }
30
- const productItem = product.items.find(item => item.id === item_id);
31
- return productItem ? productItem.required : null;
32
- })).memoized;
33
- return {
34
- selectCompositeProductAppliedOptionsEntitiesState,
35
- selectCompositeProductIds,
36
- selectCompositeProductAppliedOptionsEntities,
37
- selectCompositeProductTotal,
38
- selectCompositeProductAppliedOptions,
39
- selectIsCompositeProductItemRequired,
40
- };
41
- };
42
- /**
43
- * A function that returns all selectors related to composite product applied option entities.
44
- * Returns {@link DaffCompositeProductEntitiesMemoizedSelectors}.
45
- */
46
- export const getDaffCompositeProductEntitiesSelectors = (() => {
47
- let cache;
48
- return () => cache = cache
49
- ? cache
50
- : createCompositeProductAppliedOptionsEntitiesSelectors();
51
- })();
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLXByb2R1Y3QtZW50aXRpZXMuc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wcm9kdWN0LWNvbXBvc2l0ZS9zdGF0ZS9zcmMvc2VsZWN0b3JzL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0aWVzL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0aWVzLnNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQ0wsY0FBYyxFQUVkLGNBQWMsR0FDZixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBRUwsbUJBQW1CLEdBQ3BCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFPMUUsT0FBTyxFQUFFLGlEQUFpRCxFQUFFLE1BQU0sc0ZBQXNGLENBQUM7QUFNekosT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFxQzdFLE1BQU0scURBQXFELEdBQUcsR0FBNEUsRUFBRTtJQUMxSSxNQUFNLEVBQ0osMkJBQTJCLEdBQzVCLEdBQUcsc0NBQXNDLEVBQUUsQ0FBQztJQUM3QyxNQUFNLEVBQ0osYUFBYSxHQUNkLEdBQUcsK0JBQStCLEVBQUssQ0FBQztJQUN6QyxNQUFNLGdCQUFnQixHQUFHLGlEQUFpRCxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFNUYsTUFBTSxpREFBaUQsR0FBRyxjQUFjLENBQ3RFLDJCQUEyQixFQUMzQixDQUFDLEtBQXdDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FDNUUsQ0FBQztJQUVGLE1BQU0seUJBQXlCLEdBQUcsY0FBYyxDQUM5QyxpREFBaUQsRUFDakQsZ0JBQWdCLENBQUMsU0FBUyxDQUMzQixDQUFDO0lBRUYsTUFBTSw0Q0FBNEMsR0FBRyxjQUFjLENBQ2pFLGlEQUFpRCxFQUNqRCxnQkFBZ0IsQ0FBQyxjQUFjLENBQ2hDLENBQUM7SUFFRixNQUFNLDJCQUEyQixHQUFHLGNBQWMsQ0FDaEQsaURBQWlELEVBQ2pELGdCQUFnQixDQUFDLFdBQVcsQ0FDN0IsQ0FBQztJQUVGLE1BQU0sb0NBQW9DLEdBQUcsY0FBYyxDQUFDLENBQUMsRUFBVyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQ3pGLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFDakIsaURBQWlELEVBQ2pELENBQUMsT0FBVSxFQUFFLGNBQWMsRUFBRSxFQUFFO1FBQzdCLElBQUcsT0FBTyxDQUFDLElBQUksS0FBSyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNsRCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsT0FBbUMsT0FBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZFLEdBQUcsR0FBRztZQUNOLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDcEUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3RHLFFBQVEsRUFBRSxjQUFjLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUc7YUFDakUsQ0FBQyxDQUFDLENBQUMsSUFBSTtTQUNULENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNWLENBQUMsQ0FDRixDQUFDLENBQUMsUUFBUSxDQUFDO0lBRVosTUFBTSxvQ0FBb0MsR0FBRyxjQUFjLENBQUMsQ0FBQyxFQUFXLEVBQUUsT0FBdUMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUNsSSxhQUFhLENBQUMsRUFBRSxDQUFDLEVBQ2pCLENBQUMsT0FBVSxFQUFFLEVBQUU7UUFDYixJQUFHLE9BQU8sQ0FBQyxJQUFJLEtBQUssbUJBQW1CLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbEQsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUErQixPQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLENBQUM7UUFFakcsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNuRCxDQUFDLENBQ0YsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUdaLE9BQU87UUFDTCxpREFBaUQ7UUFDakQseUJBQXlCO1FBQ3pCLDRDQUE0QztRQUM1QywyQkFBMkI7UUFDM0Isb0NBQW9DO1FBQ3BDLG9DQUFvQztLQUNyQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7SUFDNUQsSUFBSSxLQUFLLENBQUM7SUFDVixPQUFPLEdBQTRFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsS0FBSztRQUNqRyxDQUFDLENBQUMsS0FBSztRQUNQLENBQUMsQ0FBQyxxREFBcUQsRUFBSyxDQUFDO0FBQ2pFLENBQUMsQ0FBQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbnRpdHlTdGF0ZSxcbiAgRGljdGlvbmFyeSxcbn0gZnJvbSAnQG5ncngvZW50aXR5JztcbmltcG9ydCB7XG4gIGNyZWF0ZVNlbGVjdG9yLFxuICBNZW1vaXplZFNlbGVjdG9yLFxuICBkZWZhdWx0TWVtb2l6ZSxcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5pbXBvcnQge1xuICBEYWZmUHJvZHVjdCxcbiAgRGFmZlByb2R1Y3RUeXBlRW51bSxcbn0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QnO1xuaW1wb3J0IHsgZ2V0RGFmZlByb2R1Y3RFbnRpdGllc1NlbGVjdG9ycyB9IGZyb20gJ0BkYWZmb2RpbC9wcm9kdWN0L3N0YXRlJztcbmltcG9ydCB7XG4gIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbixcbiAgRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtLFxuICBEYWZmQ29tcG9zaXRlUHJvZHVjdCxcbn0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QtY29tcG9zaXRlJztcblxuaW1wb3J0IHsgZGFmZkNvbXBvc2l0ZVByb2R1Y3RBcHBsaWVkT3B0aW9uc0VudGl0aWVzQWRhcHRlciB9IGZyb20gJy4uLy4uL3JlZHVjZXJzL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0aWVzL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0aWVzLXJlZHVjZXItYWRhcHRlcic7XG5pbXBvcnQgeyBEYWZmQ29tcG9zaXRlUHJvZHVjdEVudGl0eSB9IGZyb20gJy4uLy4uL3JlZHVjZXJzL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0aWVzL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0eSc7XG5pbXBvcnQge1xuICBEYWZmQ29tcG9zaXRlUHJvZHVjdFJlZHVjZXJzU3RhdGUsXG4gIERhZmZDb21wb3NpdGVQcm9kdWN0U3RhdGVSb290U2xpY2UsXG59IGZyb20gJy4uLy4uL3JlZHVjZXJzL2NvbXBvc2l0ZS1wcm9kdWN0LXJlZHVjZXJzLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBnZXREYWZmQ29tcG9zaXRlUHJvZHVjdEZlYXR1cmVTZWxlY3RvciB9IGZyb20gJy4uL2ZlYXR1cmUuc2VsZWN0b3InO1xuXG4vKipcbiAqIEFuIGludGVyZmFjZSBmb3Igc2VsZWN0b3JzIHJlbGF0ZWQgdG8gdGhlIGNvbXBvc2l0ZSBwcm9kdWN0IGFwcGxpZWQgb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYWZmQ29tcG9zaXRlUHJvZHVjdEVudGl0aWVzTWVtb2l6ZWRTZWxlY3RvcnM8VCBleHRlbmRzIERhZmZQcm9kdWN0ID0gRGFmZlByb2R1Y3Q+IHtcbiAgLyoqXG4gICAqIFRoZSBuZ3J4IGVudGl0aWVzIHN0YXRlIGZvciBjb21wb3NpdGUgcHJvZHVjdCBhcHBsaWVkIG9wdGlvbnMuXG4gICAqL1xuICBzZWxlY3RDb21wb3NpdGVQcm9kdWN0QXBwbGllZE9wdGlvbnNFbnRpdGllc1N0YXRlOiBNZW1vaXplZFNlbGVjdG9yPERhZmZDb21wb3NpdGVQcm9kdWN0U3RhdGVSb290U2xpY2U8VD4sIEVudGl0eVN0YXRlPERhZmZDb21wb3NpdGVQcm9kdWN0RW50aXR5Pj47XG4gIC8qKlxuICAgKiBBIHNlbGVjdG9yIGZvciBhbGwgY29tcG9zaXRlIHByb2R1Y3QgaWRzIGluIHN0YXRlLlxuICAgKi9cbiAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdElkczogTWVtb2l6ZWRTZWxlY3RvcjxEYWZmQ29tcG9zaXRlUHJvZHVjdFN0YXRlUm9vdFNsaWNlPFQ+LCBFbnRpdHlTdGF0ZTxEYWZmQ29tcG9zaXRlUHJvZHVjdEVudGl0eT5bJ2lkcyddPjtcbiAgLyoqXG4gICAqIFRoZSBuZ3J4IGVudGl0aWVzIGZvciB0aGUgY29tcG9zaXRlIHByb2R1Y3QgYXBwbGxpZWQgb3B0aW9ucy5cbiAgICovXG4gIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RBcHBsaWVkT3B0aW9uc0VudGl0aWVzOiBNZW1vaXplZFNlbGVjdG9yPERhZmZDb21wb3NpdGVQcm9kdWN0U3RhdGVSb290U2xpY2U8VD4sIEVudGl0eVN0YXRlPERhZmZDb21wb3NpdGVQcm9kdWN0RW50aXR5PlsnZW50aXRpZXMnXT47XG4gIC8qKlxuICAgKiBUaGUgdG90YWwgbnVtYmVyIG9mIGNvbXBvc2l0ZSBwcm9kdWN0cyBpbiBzdGF0ZS5cbiAgICovXG4gIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RUb3RhbDogTWVtb2l6ZWRTZWxlY3RvcjxEYWZmQ29tcG9zaXRlUHJvZHVjdFN0YXRlUm9vdFNsaWNlPFQ+LCBudW1iZXI+O1xuICAvKipcbiAgICogU2VsZWN0cyB0aGUgYXBwbGllZCBvcHRpb25zIGZvciBhIGNvbXBvc2l0ZSBwcm9kdWN0LlxuICAgKlxuICAgKiBAcGFyYW0gaWQgdGhlIGlkIG9mIHRoZSBjb21wb3NpdGUgcHJvZHVjdC5cbiAgICovXG4gIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RBcHBsaWVkT3B0aW9uczogKGlkOiBUWydpZCddKSA9PiBNZW1vaXplZFNlbGVjdG9yPERhZmZDb21wb3NpdGVQcm9kdWN0U3RhdGVSb290U2xpY2U8VD4sIERpY3Rpb25hcnk8RGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtT3B0aW9uPj47XG4gIC8qKlxuICAgKiBTZWxlY3RzIHdoZXRoZXIgdGhlIHBhcnRpY3VsYXIgaXRlbSBvZiBhIGNvbXBvc2l0ZSBwcm9kdWN0IGlzIHJlcXVpcmVkIGluIG9yZGVyIGZvciB0aGUgcHJvZHVjdCB0byBiZSB2YWxpZCwgaS5lLiBhZGRhYmxlIHRvIHRoZSBjYXJ0LlxuICAgKlxuICAgKiBAcGFyYW0gaWQgdGhlIGlkIG9mIHRoZSBjb21wb3NpdGUgcHJvZHVjdC5cbiAgICogQHBhcmFtIGl0ZW1faWQgdGhlIGlkIG9mIHRoZSBjb21wb3NpdGUgcHJvZHVjdCBpdGVtLlxuICAgKi9cbiAgc2VsZWN0SXNDb21wb3NpdGVQcm9kdWN0SXRlbVJlcXVpcmVkOiAoaWQ6IFRbJ2lkJ10sIGl0ZW1faWQ6IERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbVsnaWQnXSkgPT4gTWVtb2l6ZWRTZWxlY3RvcjxEYWZmQ29tcG9zaXRlUHJvZHVjdFN0YXRlUm9vdFNsaWNlPFQ+LCBib29sZWFuPjtcbn1cblxuY29uc3QgY3JlYXRlQ29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXNTZWxlY3RvcnMgPSA8VCBleHRlbmRzIERhZmZQcm9kdWN0PigpOiBEYWZmQ29tcG9zaXRlUHJvZHVjdEVudGl0aWVzTWVtb2l6ZWRTZWxlY3RvcnM8VD4gPT4ge1xuICBjb25zdCB7XG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdFN0YXRlLFxuICB9ID0gZ2V0RGFmZkNvbXBvc2l0ZVByb2R1Y3RGZWF0dXJlU2VsZWN0b3IoKTtcbiAgY29uc3Qge1xuICAgIHNlbGVjdFByb2R1Y3QsXG4gIH0gPSBnZXREYWZmUHJvZHVjdEVudGl0aWVzU2VsZWN0b3JzPFQ+KCk7XG4gIGNvbnN0IGFkYXB0ZXJTZWxlY3RvcnMgPSBkYWZmQ29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXNBZGFwdGVyKCkuZ2V0U2VsZWN0b3JzKCk7XG5cbiAgY29uc3Qgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXNTdGF0ZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RTdGF0ZSxcbiAgICAoc3RhdGU6IERhZmZDb21wb3NpdGVQcm9kdWN0UmVkdWNlcnNTdGF0ZSkgPT4gc3RhdGUuY29tcG9zaXRlUHJvZHVjdE9wdGlvbnMsXG4gICk7XG5cbiAgY29uc3Qgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdElkcyA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RBcHBsaWVkT3B0aW9uc0VudGl0aWVzU3RhdGUsXG4gICAgYWRhcHRlclNlbGVjdG9ycy5zZWxlY3RJZHMsXG4gICk7XG5cbiAgY29uc3Qgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihcbiAgICBzZWxlY3RDb21wb3NpdGVQcm9kdWN0QXBwbGllZE9wdGlvbnNFbnRpdGllc1N0YXRlLFxuICAgIGFkYXB0ZXJTZWxlY3RvcnMuc2VsZWN0RW50aXRpZXMsXG4gICk7XG5cbiAgY29uc3Qgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdFRvdGFsID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXNTdGF0ZSxcbiAgICBhZGFwdGVyU2VsZWN0b3JzLnNlbGVjdFRvdGFsLFxuICApO1xuXG4gIGNvbnN0IHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RBcHBsaWVkT3B0aW9ucyA9IGRlZmF1bHRNZW1vaXplKChpZDogVFsnaWQnXSkgPT4gY3JlYXRlU2VsZWN0b3IoXG4gICAgc2VsZWN0UHJvZHVjdChpZCksXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXNTdGF0ZSxcbiAgICAocHJvZHVjdDogVCwgYXBwbGllZE9wdGlvbnMpID0+IHtcbiAgICAgIGlmKHByb2R1Y3QudHlwZSAhPT0gRGFmZlByb2R1Y3RUeXBlRW51bS5Db21wb3NpdGUpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICg8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+PGFueT5wcm9kdWN0KS5pdGVtcy5yZWR1Y2UoKGFjYywgaXRlbSkgPT4gKHtcbiAgICAgICAgLi4uYWNjLFxuICAgICAgICBbaXRlbS5pZF06IGFwcGxpZWRPcHRpb25zLmVudGl0aWVzW3Byb2R1Y3QuaWRdLml0ZW1zW2l0ZW0uaWRdLnZhbHVlID8ge1xuICAgICAgICAgIC4uLml0ZW0ub3B0aW9ucy5maW5kKG9wdGlvbiA9PiBvcHRpb24uaWQgPT09IGFwcGxpZWRPcHRpb25zLmVudGl0aWVzW3Byb2R1Y3QuaWRdLml0ZW1zW2l0ZW0uaWRdLnZhbHVlKSxcbiAgICAgICAgICBxdWFudGl0eTogYXBwbGllZE9wdGlvbnMuZW50aXRpZXNbcHJvZHVjdC5pZF0uaXRlbXNbaXRlbS5pZF0ucXR5LFxuICAgICAgICB9IDogbnVsbCxcbiAgICAgIH0pLCB7fSk7XG4gICAgfSxcbiAgKSkubWVtb2l6ZWQ7XG5cbiAgY29uc3Qgc2VsZWN0SXNDb21wb3NpdGVQcm9kdWN0SXRlbVJlcXVpcmVkID0gZGVmYXVsdE1lbW9pemUoKGlkOiBUWydpZCddLCBpdGVtX2lkOiBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW1bJ2lkJ10pID0+IGNyZWF0ZVNlbGVjdG9yKFxuICAgIHNlbGVjdFByb2R1Y3QoaWQpLFxuICAgIChwcm9kdWN0OiBUKSA9PiB7XG4gICAgICBpZihwcm9kdWN0LnR5cGUgIT09IERhZmZQcm9kdWN0VHlwZUVudW0uQ29tcG9zaXRlKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHByb2R1Y3RJdGVtID0gKDxEYWZmQ29tcG9zaXRlUHJvZHVjdD48YW55PnByb2R1Y3QpLml0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSBpdGVtX2lkKTtcblxuICAgICAgcmV0dXJuIHByb2R1Y3RJdGVtID8gcHJvZHVjdEl0ZW0ucmVxdWlyZWQgOiBudWxsO1xuICAgIH0sXG4gICkpLm1lbW9pemVkO1xuXG5cbiAgcmV0dXJuIHtcbiAgICBzZWxlY3RDb21wb3NpdGVQcm9kdWN0QXBwbGllZE9wdGlvbnNFbnRpdGllc1N0YXRlLFxuICAgIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RJZHMsXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdEFwcGxpZWRPcHRpb25zRW50aXRpZXMsXG4gICAgc2VsZWN0Q29tcG9zaXRlUHJvZHVjdFRvdGFsLFxuICAgIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RBcHBsaWVkT3B0aW9ucyxcbiAgICBzZWxlY3RJc0NvbXBvc2l0ZVByb2R1Y3RJdGVtUmVxdWlyZWQsXG4gIH07XG59O1xuXG4vKipcbiAqIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFsbCBzZWxlY3RvcnMgcmVsYXRlZCB0byBjb21wb3NpdGUgcHJvZHVjdCBhcHBsaWVkIG9wdGlvbiBlbnRpdGllcy5cbiAqIFJldHVybnMge0BsaW5rIERhZmZDb21wb3NpdGVQcm9kdWN0RW50aXRpZXNNZW1vaXplZFNlbGVjdG9yc30uXG4gKi9cbmV4cG9ydCBjb25zdCBnZXREYWZmQ29tcG9zaXRlUHJvZHVjdEVudGl0aWVzU2VsZWN0b3JzID0gKCgpID0+IHtcbiAgbGV0IGNhY2hlO1xuICByZXR1cm4gPFQgZXh0ZW5kcyBEYWZmUHJvZHVjdD4oKTogRGFmZkNvbXBvc2l0ZVByb2R1Y3RFbnRpdGllc01lbW9pemVkU2VsZWN0b3JzPFQ+ID0+IGNhY2hlID0gY2FjaGVcbiAgICA/IGNhY2hlXG4gICAgOiBjcmVhdGVDb21wb3NpdGVQcm9kdWN0QXBwbGllZE9wdGlvbnNFbnRpdGllc1NlbGVjdG9yczxUPigpO1xufSkoKTtcbiJdfQ==
@@ -1,12 +0,0 @@
1
- import { createFeatureSelector, } from '@ngrx/store';
2
- import { DAFF_COMPOSITE_PRODUCT_STORE_FEATURE_KEY } from '../reducers/composite-product-store-feature-key';
3
- /**
4
- * A function that returns a selector for the composite product feature state.
5
- */
6
- export const getDaffCompositeProductFeatureSelector = (() => {
7
- let cache;
8
- return () => cache = cache
9
- ? cache
10
- : { selectCompositeProductState: createFeatureSelector(DAFF_COMPOSITE_PRODUCT_STORE_FEATURE_KEY) };
11
- })();
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5zZWxlY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvc3RhdGUvc3JjL3NlbGVjdG9ycy9mZWF0dXJlLnNlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxxQkFBcUIsR0FFdEIsTUFBTSxhQUFhLENBQUM7QUFHckIsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0saURBQWlELENBQUM7QUFTM0c7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxDQUFDLEdBQUcsRUFBRTtJQUMxRCxJQUFJLEtBQUssQ0FBQztJQUNWLE9BQU8sR0FBZ0QsRUFBRSxDQUFDLEtBQUssR0FBRyxLQUFLO1FBQ3JFLENBQUMsQ0FBQyxLQUFLO1FBQ1AsQ0FBQyxDQUFDLEVBQUUsMkJBQTJCLEVBQUUscUJBQXFCLENBQW9DLHdDQUF3QyxDQUFDLEVBQUUsQ0FBQztBQUMxSSxDQUFDLENBQUMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY3JlYXRlRmVhdHVyZVNlbGVjdG9yLFxuICBNZW1vaXplZFNlbGVjdG9yLFxufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmltcG9ydCB7IERhZmZDb21wb3NpdGVQcm9kdWN0UmVkdWNlcnNTdGF0ZSB9IGZyb20gJy4uL3JlZHVjZXJzL2NvbXBvc2l0ZS1wcm9kdWN0LXJlZHVjZXJzLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEQUZGX0NPTVBPU0lURV9QUk9EVUNUX1NUT1JFX0ZFQVRVUkVfS0VZIH0gZnJvbSAnLi4vcmVkdWNlcnMvY29tcG9zaXRlLXByb2R1Y3Qtc3RvcmUtZmVhdHVyZS1rZXknO1xuXG4vKipcbiAqIEFuIGludGVyZmFjZSBmb3IgdGhlIGNvbXBvc2l0ZSBwcm9kdWN0IGZlYXR1cmUgc3RhdGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGFmZkNvbXBvc2l0ZVByb2R1Y3RGZWF0dXJlTWVtb2l6ZWRTZWxlY3RvciB7XG4gIHNlbGVjdENvbXBvc2l0ZVByb2R1Y3RTdGF0ZTogTWVtb2l6ZWRTZWxlY3RvcjxSZWNvcmQ8c3RyaW5nLCBhbnk+LCBEYWZmQ29tcG9zaXRlUHJvZHVjdFJlZHVjZXJzU3RhdGU+O1xufVxuXG4vKipcbiAqIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgc2VsZWN0b3IgZm9yIHRoZSBjb21wb3NpdGUgcHJvZHVjdCBmZWF0dXJlIHN0YXRlLlxuICovXG5leHBvcnQgY29uc3QgZ2V0RGFmZkNvbXBvc2l0ZVByb2R1Y3RGZWF0dXJlU2VsZWN0b3IgPSAoKCkgPT4ge1xuICBsZXQgY2FjaGU7XG4gIHJldHVybiAoKTogRGFmZkNvbXBvc2l0ZVByb2R1Y3RGZWF0dXJlTWVtb2l6ZWRTZWxlY3RvciA9PiBjYWNoZSA9IGNhY2hlXG4gICAgPyBjYWNoZVxuICAgIDogeyBzZWxlY3RDb21wb3NpdGVQcm9kdWN0U3RhdGU6IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxEYWZmQ29tcG9zaXRlUHJvZHVjdFJlZHVjZXJzU3RhdGU+KERBRkZfQ09NUE9TSVRFX1BST0RVQ1RfU1RPUkVfRkVBVFVSRV9LRVkpIH07XG59KSgpO1xuIl19
@@ -1,5 +0,0 @@
1
- export * from './all.selector';
2
- export * from './composite-product/composite-product.selectors';
3
- export * from './composite-product-entities/composite-product-entities.selectors';
4
- export * from './feature.selector';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvc3RhdGUvc3JjL3NlbGVjdG9ycy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLG1FQUFtRSxDQUFDO0FBQ2xGLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FsbC5zZWxlY3Rvcic7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvc2l0ZS1wcm9kdWN0L2NvbXBvc2l0ZS1wcm9kdWN0LnNlbGVjdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0aWVzL2NvbXBvc2l0ZS1wcm9kdWN0LWVudGl0aWVzLnNlbGVjdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUuc2VsZWN0b3InO1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFmZm9kaWwtcHJvZHVjdC1jb21wb3NpdGUtc3RhdGUtdGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvc3RhdGUvdGVzdGluZy9zcmMvZGFmZm9kaWwtcHJvZHVjdC1jb21wb3NpdGUtc3RhdGUtdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './public_api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Byb2R1Y3QtY29tcG9zaXRlL3N0YXRlL3Rlc3Rpbmcvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -1,46 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * @inheritdoc
6
- */
7
- export class MockDaffCompositeProductFacade {
8
- getRequiredItemPricesForConfiguration(id, configuration) {
9
- return new BehaviorSubject(null);
10
- }
11
- getOptionalItemPricesForConfiguration(id, configuration) {
12
- return new BehaviorSubject(null);
13
- }
14
- getPricesAsCurrentlyConfigured(id) {
15
- return new BehaviorSubject(null);
16
- }
17
- getAppliedOptions(id) {
18
- return new BehaviorSubject({});
19
- }
20
- getDiscountAmount(id) {
21
- return new BehaviorSubject(null);
22
- }
23
- getDiscountPercent(id) {
24
- return new BehaviorSubject(null);
25
- }
26
- isItemRequired(id, item_id) {
27
- return new BehaviorSubject(false);
28
- }
29
- dispatch(action) { }
30
- ;
31
- hasDiscount(priceRange) {
32
- return false;
33
- }
34
- ;
35
- hasPriceRange(priceRange) {
36
- return false;
37
- }
38
- ;
39
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MockDaffCompositeProductFacade, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
40
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MockDaffCompositeProductFacade, providedIn: 'root' }); }
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: MockDaffCompositeProductFacade, decorators: [{
43
- type: Injectable,
44
- args: [{ providedIn: 'root' }]
45
- }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay1jb21wb3NpdGUtcHJvZHVjdC1mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3Byb2R1Y3QtY29tcG9zaXRlL3N0YXRlL3Rlc3Rpbmcvc3JjL21vY2stY29tcG9zaXRlLXByb2R1Y3QtZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFXdkM7O0dBRUc7QUFFSCxNQUFNLE9BQU8sOEJBQThCO0lBQ3pDLHFDQUFxQyxDQUFDLEVBQThCLEVBQUUsYUFBMEQ7UUFDOUgsT0FBTyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQ0QscUNBQXFDLENBQUMsRUFBOEIsRUFBRSxhQUEwRDtRQUM5SCxPQUFPLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCw4QkFBOEIsQ0FBQyxFQUE4QjtRQUMzRCxPQUFPLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUE4QjtRQUM5QyxPQUFPLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUE4QjtRQUM5QyxPQUFPLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxFQUE4QjtRQUMvQyxPQUFPLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxjQUFjLENBQUMsRUFBOEIsRUFBRSxPQUF1QztRQUNwRixPQUFPLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxRQUFRLENBQUMsTUFBTSxJQUFHLENBQUM7SUFBQSxDQUFDO0lBQ3BCLFdBQVcsQ0FBQyxVQUEwQjtRQUNwQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFBQSxDQUFDO0lBQ0YsYUFBYSxDQUFDLFVBQTBCO1FBQ3RDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUFBLENBQUM7aUlBNUJTLDhCQUE4QjtxSUFBOUIsOEJBQThCLGNBRGpCLE1BQU07OzJGQUNuQiw4QkFBOEI7a0JBRDFDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ0BuZ3J4L2VudGl0eSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRGFmZlByaWNlUmFuZ2UgfSBmcm9tICdAZGFmZm9kaWwvcHJvZHVjdCc7XG5pbXBvcnQge1xuICBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW1PcHRpb24sXG4gIERhZmZDb21wb3NpdGVQcm9kdWN0LFxuICBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW0sXG4gIERhZmZDb21wb3NpdGVDb25maWd1cmF0aW9uSXRlbSxcbn0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QtY29tcG9zaXRlJztcbmltcG9ydCB7IERhZmZDb21wb3NpdGVQcm9kdWN0RmFjYWRlSW50ZXJmYWNlIH0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QtY29tcG9zaXRlL3N0YXRlJztcblxuLyoqXG4gKiBAaW5oZXJpdGRvY1xuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1vY2tEYWZmQ29tcG9zaXRlUHJvZHVjdEZhY2FkZSBpbXBsZW1lbnRzIERhZmZDb21wb3NpdGVQcm9kdWN0RmFjYWRlSW50ZXJmYWNlIHtcbiAgZ2V0UmVxdWlyZWRJdGVtUHJpY2VzRm9yQ29uZmlndXJhdGlvbihpZDogRGFmZkNvbXBvc2l0ZVByb2R1Y3RbJ2lkJ10sIGNvbmZpZ3VyYXRpb24/OiBEaWN0aW9uYXJ5PERhZmZDb21wb3NpdGVDb25maWd1cmF0aW9uSXRlbT4pOiBCZWhhdmlvclN1YmplY3Q8RGFmZlByaWNlUmFuZ2U+IHtcbiAgICByZXR1cm4gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgfVxuICBnZXRPcHRpb25hbEl0ZW1QcmljZXNGb3JDb25maWd1cmF0aW9uKGlkOiBEYWZmQ29tcG9zaXRlUHJvZHVjdFsnaWQnXSwgY29uZmlndXJhdGlvbj86IERpY3Rpb25hcnk8RGFmZkNvbXBvc2l0ZUNvbmZpZ3VyYXRpb25JdGVtPik6IEJlaGF2aW9yU3ViamVjdDxEYWZmUHJpY2VSYW5nZT4ge1xuICAgIHJldHVybiBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICB9XG4gIGdldFByaWNlc0FzQ3VycmVudGx5Q29uZmlndXJlZChpZDogRGFmZkNvbXBvc2l0ZVByb2R1Y3RbJ2lkJ10pOiBCZWhhdmlvclN1YmplY3Q8RGFmZlByaWNlUmFuZ2U+IHtcbiAgICByZXR1cm4gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgfVxuICBnZXRBcHBsaWVkT3B0aW9ucyhpZDogRGFmZkNvbXBvc2l0ZVByb2R1Y3RbJ2lkJ10pOiBCZWhhdmlvclN1YmplY3Q8RGljdGlvbmFyeTxEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW1PcHRpb24+PiB7XG4gICAgcmV0dXJuIG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xuICB9XG4gIGdldERpc2NvdW50QW1vdW50KGlkOiBEYWZmQ29tcG9zaXRlUHJvZHVjdFsnaWQnXSk6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+IHtcbiAgICByZXR1cm4gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcbiAgfVxuICBnZXREaXNjb3VudFBlcmNlbnQoaWQ6IERhZmZDb21wb3NpdGVQcm9kdWN0WydpZCddKTogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4ge1xuICAgIHJldHVybiBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICB9XG4gIGlzSXRlbVJlcXVpcmVkKGlkOiBEYWZmQ29tcG9zaXRlUHJvZHVjdFsnaWQnXSwgaXRlbV9pZDogRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtWydpZCddKTogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+IHtcbiAgICByZXR1cm4gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIH1cbiAgZGlzcGF0Y2goYWN0aW9uKSB7fTtcbiAgaGFzRGlzY291bnQocHJpY2VSYW5nZTogRGFmZlByaWNlUmFuZ2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG4gIGhhc1ByaWNlUmFuZ2UocHJpY2VSYW5nZTogRGFmZlByaWNlUmFuZ2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG59XG4iXX0=
@@ -1,20 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { DaffCompositeProductFacade } from '@daffodil/product-composite/state';
3
- import { MockDaffCompositeProductFacade } from './mock-composite-product-facade';
4
- import * as i0 from "@angular/core";
5
- export class DaffCompositeProductStateTestingModule {
6
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductStateTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductStateTestingModule }); }
8
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductStateTestingModule, providers: [
9
- { provide: DaffCompositeProductFacade, useExisting: MockDaffCompositeProductFacade },
10
- ] }); }
11
- }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductStateTestingModule, decorators: [{
13
- type: NgModule,
14
- args: [{
15
- providers: [
16
- { provide: DaffCompositeProductFacade, useExisting: MockDaffCompositeProductFacade },
17
- ],
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC10ZXN0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvc3RhdGUvdGVzdGluZy9zcmMvcHJvZHVjdC10ZXN0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQU9qRixNQUFNLE9BQU8sc0NBQXNDO2lJQUF0QyxzQ0FBc0M7a0lBQXRDLHNDQUFzQztrSUFBdEMsc0NBQXNDLGFBSnRDO1lBQ1QsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsV0FBVyxFQUFFLDhCQUE4QixFQUFFO1NBQ3JGOzsyRkFFVSxzQ0FBc0M7a0JBTGxELFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLFdBQVcsRUFBRSw4QkFBOEIsRUFBRTtxQkFDckY7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEYWZmQ29tcG9zaXRlUHJvZHVjdEZhY2FkZSB9IGZyb20gJ0BkYWZmb2RpbC9wcm9kdWN0LWNvbXBvc2l0ZS9zdGF0ZSc7XG5cbmltcG9ydCB7IE1vY2tEYWZmQ29tcG9zaXRlUHJvZHVjdEZhY2FkZSB9IGZyb20gJy4vbW9jay1jb21wb3NpdGUtcHJvZHVjdC1mYWNhZGUnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IERhZmZDb21wb3NpdGVQcm9kdWN0RmFjYWRlLCB1c2VFeGlzdGluZzogTW9ja0RhZmZDb21wb3NpdGVQcm9kdWN0RmFjYWRlIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERhZmZDb21wb3NpdGVQcm9kdWN0U3RhdGVUZXN0aW5nTW9kdWxlIHsgfVxuIl19
@@ -1,3 +0,0 @@
1
- export { MockDaffCompositeProductFacade } from './mock-composite-product-facade';
2
- export { DaffCompositeProductStateTestingModule } from './product-testing.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvc3RhdGUvdGVzdGluZy9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IE1vY2tEYWZmQ29tcG9zaXRlUHJvZHVjdEZhY2FkZSB9IGZyb20gJy4vbW9jay1jb21wb3NpdGUtcHJvZHVjdC1mYWNhZGUnO1xuZXhwb3J0IHsgRGFmZkNvbXBvc2l0ZVByb2R1Y3RTdGF0ZVRlc3RpbmdNb2R1bGUgfSBmcm9tICcuL3Byb2R1Y3QtdGVzdGluZy5tb2R1bGUnO1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFmZm9kaWwtcHJvZHVjdC1jb21wb3NpdGUtdGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvdGVzdGluZy9zcmMvZGFmZm9kaWwtcHJvZHVjdC1jb21wb3NpdGUtdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,33 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { faker } from '@faker-js/faker/locale/en_US';
3
- import { DaffModelFactory } from '@daffodil/core/testing';
4
- import { DaffProductImageFactory, MockProduct, } from '@daffodil/product/testing';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@daffodil/product/testing";
7
- /**
8
- * Mocked DaffCompositeProductItemOption object.
9
- */
10
- export class MockCompositeProductItemOption extends MockProduct {
11
- constructor() {
12
- super(...arguments);
13
- this.quantity = faker.datatype.number({ min: 1, max: 9 });
14
- this.is_default = faker.datatype.boolean();
15
- }
16
- }
17
- /**
18
- * Factory for creating DaffCompositeProductItemOptions.
19
- */
20
- export class DaffCompositeProductItemOptionFactory extends DaffModelFactory {
21
- constructor(imageFactory) {
22
- super(MockCompositeProductItemOption, imageFactory);
23
- }
24
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductItemOptionFactory, deps: [{ token: i1.DaffProductImageFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
25
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductItemOptionFactory, providedIn: 'root' }); }
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductItemOptionFactory, decorators: [{
28
- type: Injectable,
29
- args: [{
30
- providedIn: 'root',
31
- }]
32
- }], ctorParameters: () => [{ type: i1.DaffProductImageFactory }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLXByb2R1Y3QtaXRlbS1vcHRpb24uZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvdGVzdGluZy9zcmMvZmFjdG9yaWVzL2NvbXBvc2l0ZS1wcm9kdWN0LWl0ZW0tb3B0aW9uLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixXQUFXLEdBQ1osTUFBTSwyQkFBMkIsQ0FBQzs7O0FBR25DOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDhCQUErQixTQUFRLFdBQVc7SUFBL0Q7O1FBQ0UsYUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyRCxlQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0NBQUE7QUFFRDs7R0FFRztBQUlILE1BQU0sT0FBTyxxQ0FBc0MsU0FBUSxnQkFBZ0Q7SUFDekcsWUFDRSxZQUFxQztRQUVyQyxLQUFLLENBQUMsOEJBQThCLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDdEQsQ0FBQztpSUFMVSxxQ0FBcUM7cUlBQXJDLHFDQUFxQyxjQUZwQyxNQUFNOzsyRkFFUCxxQ0FBcUM7a0JBSGpELFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmFrZXIgfSBmcm9tICdAZmFrZXItanMvZmFrZXIvbG9jYWxlL2VuX1VTJztcblxuaW1wb3J0IHsgRGFmZk1vZGVsRmFjdG9yeSB9IGZyb20gJ0BkYWZmb2RpbC9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHtcbiAgRGFmZlByb2R1Y3RJbWFnZUZhY3RvcnksXG4gIE1vY2tQcm9kdWN0LFxufSBmcm9tICdAZGFmZm9kaWwvcHJvZHVjdC90ZXN0aW5nJztcbmltcG9ydCB7IERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbiB9IGZyb20gJ0BkYWZmb2RpbC9wcm9kdWN0LWNvbXBvc2l0ZSc7XG5cbi8qKlxuICogTW9ja2VkIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbiBvYmplY3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBNb2NrQ29tcG9zaXRlUHJvZHVjdEl0ZW1PcHRpb24gZXh0ZW5kcyBNb2NrUHJvZHVjdCBpbXBsZW1lbnRzIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbiB7XG4gIHF1YW50aXR5ID0gZmFrZXIuZGF0YXR5cGUubnVtYmVyKHsgbWluOiAxLCBtYXg6IDkgfSk7XG4gIGlzX2RlZmF1bHQgPSBmYWtlci5kYXRhdHlwZS5ib29sZWFuKCk7XG59XG5cbi8qKlxuICogRmFjdG9yeSBmb3IgY3JlYXRpbmcgRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtT3B0aW9ucy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbkZhY3RvcnkgZXh0ZW5kcyBEYWZmTW9kZWxGYWN0b3J5PERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbj57XG4gIGNvbnN0cnVjdG9yKFxuICAgIGltYWdlRmFjdG9yeTogRGFmZlByb2R1Y3RJbWFnZUZhY3RvcnksXG4gICkge1xuICAgIHN1cGVyKE1vY2tDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbiwgaW1hZ2VGYWN0b3J5KTtcbiAgfVxufVxuIl19
@@ -1,45 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { faker } from '@faker-js/faker/locale/en_US';
3
- import { DaffModelFactory } from '@daffodil/core/testing';
4
- import { DaffCompositeProductItemInputEnum, } from '@daffodil/product-composite';
5
- import { DaffCompositeProductItemOptionFactory } from './composite-product-item-option.factory';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./composite-product-item-option.factory";
8
- /**
9
- * Mocked DaffCompositeProductItem object.
10
- */
11
- export class MockCompositeProductItem {
12
- constructor(optionFactory) {
13
- this.optionFactory = optionFactory;
14
- this.id = faker.datatype.uuid();
15
- this.url = `/${faker.internet.domainWord()}.html`;
16
- this.required = faker.datatype.boolean();
17
- this.title = faker.commerce.productName();
18
- this.input_type = DaffCompositeProductItemInputEnum.select;
19
- this.options = [
20
- this.optionFactory.create({
21
- is_default: true,
22
- }),
23
- this.optionFactory.create({
24
- is_default: false,
25
- }),
26
- ];
27
- }
28
- }
29
- /**
30
- * Factory for creating DaffCompositeProductItems.
31
- */
32
- export class DaffCompositeProductItemFactory extends DaffModelFactory {
33
- constructor(optionFactory) {
34
- super(MockCompositeProductItem, optionFactory);
35
- }
36
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductItemFactory, deps: [{ token: i1.DaffCompositeProductItemOptionFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductItemFactory, providedIn: 'root' }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductItemFactory, decorators: [{
40
- type: Injectable,
41
- args: [{
42
- providedIn: 'root',
43
- }]
44
- }], ctorParameters: () => [{ type: i1.DaffCompositeProductItemOptionFactory }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLXByb2R1Y3QtaXRlbS5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9wcm9kdWN0LWNvbXBvc2l0ZS90ZXN0aW5nL3NyYy9mYWN0b3JpZXMvY29tcG9zaXRlLXByb2R1Y3QtaXRlbS5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXJELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFFTCxpQ0FBaUMsR0FDbEMsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBRWhHOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHdCQUF3QjtJQWVuQyxZQUNZLGFBQW9EO1FBQXBELGtCQUFhLEdBQWIsYUFBYSxDQUF1QztRQWZoRSxPQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixRQUFHLEdBQUcsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUM7UUFDN0MsYUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEMsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckMsZUFBVSxHQUFHLGlDQUFpQyxDQUFDLE1BQU0sQ0FBQztRQUN0RCxZQUFPLEdBQUc7WUFDUixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztnQkFDeEIsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQztZQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO2dCQUN4QixVQUFVLEVBQUUsS0FBSzthQUNsQixDQUFDO1NBQ0gsQ0FBQztJQUlDLENBQUM7Q0FDTDtBQUVEOztHQUVHO0FBSUgsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLGdCQUEwQztJQUM3RixZQUNFLGFBQW9EO1FBRXBELEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNqRCxDQUFDO2lJQUxVLCtCQUErQjtxSUFBL0IsK0JBQStCLGNBRjlCLE1BQU07OzJGQUVQLCtCQUErQjtrQkFIM0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmYWtlciB9IGZyb20gJ0BmYWtlci1qcy9mYWtlci9sb2NhbGUvZW5fVVMnO1xuXG5pbXBvcnQgeyBEYWZmTW9kZWxGYWN0b3J5IH0gZnJvbSAnQGRhZmZvZGlsL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQge1xuICBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW0sXG4gIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbUlucHV0RW51bSxcbn0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QtY29tcG9zaXRlJztcblxuaW1wb3J0IHsgRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtT3B0aW9uRmFjdG9yeSB9IGZyb20gJy4vY29tcG9zaXRlLXByb2R1Y3QtaXRlbS1vcHRpb24uZmFjdG9yeSc7XG5cbi8qKlxuICogTW9ja2VkIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbSBvYmplY3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBNb2NrQ29tcG9zaXRlUHJvZHVjdEl0ZW0gaW1wbGVtZW50cyBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW0ge1xuICBpZCA9IGZha2VyLmRhdGF0eXBlLnV1aWQoKTtcbiAgdXJsID0gYC8ke2Zha2VyLmludGVybmV0LmRvbWFpbldvcmQoKX0uaHRtbGA7XG4gIHJlcXVpcmVkID0gZmFrZXIuZGF0YXR5cGUuYm9vbGVhbigpO1xuICB0aXRsZSA9IGZha2VyLmNvbW1lcmNlLnByb2R1Y3ROYW1lKCk7XG4gIGlucHV0X3R5cGUgPSBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW1JbnB1dEVudW0uc2VsZWN0O1xuICBvcHRpb25zID0gW1xuICAgIHRoaXMub3B0aW9uRmFjdG9yeS5jcmVhdGUoe1xuICAgICAgaXNfZGVmYXVsdDogdHJ1ZSxcbiAgICB9KSxcbiAgICB0aGlzLm9wdGlvbkZhY3RvcnkuY3JlYXRlKHtcbiAgICAgIGlzX2RlZmF1bHQ6IGZhbHNlLFxuICAgIH0pLFxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBvcHRpb25GYWN0b3J5OiBEYWZmQ29tcG9zaXRlUHJvZHVjdEl0ZW1PcHRpb25GYWN0b3J5LFxuICApIHt9XG59XG5cbi8qKlxuICogRmFjdG9yeSBmb3IgY3JlYXRpbmcgRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtcy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbUZhY3RvcnkgZXh0ZW5kcyBEYWZmTW9kZWxGYWN0b3J5PERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbT57XG4gIGNvbnN0cnVjdG9yKFxuICAgIG9wdGlvbkZhY3Rvcnk6IERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbU9wdGlvbkZhY3RvcnksXG4gICkge1xuICAgIHN1cGVyKE1vY2tDb21wb3NpdGVQcm9kdWN0SXRlbSwgb3B0aW9uRmFjdG9yeSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,36 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { DaffModelFactory } from '@daffodil/core/testing';
3
- import { DaffProductTypeEnum } from '@daffodil/product';
4
- import { DaffProductImageFactory, MockProduct, } from '@daffodil/product/testing';
5
- import { DaffCompositeProductItemFactory } from './composite-product-item.factory';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./composite-product-item.factory";
8
- import * as i2 from "@daffodil/product/testing";
9
- /**
10
- * Mocked DaffCompositeProduct object.
11
- */
12
- export class MockCompositeProduct extends MockProduct {
13
- constructor(itemFactory, imageFactory) {
14
- super(imageFactory);
15
- this.itemFactory = itemFactory;
16
- this.type = DaffProductTypeEnum.Composite;
17
- this.items = this.itemFactory.createMany(2);
18
- }
19
- }
20
- /**
21
- * Factory for creating DaffCompositeProducts.
22
- */
23
- export class DaffCompositeProductFactory extends DaffModelFactory {
24
- constructor(itemFactory, imageFactory) {
25
- super(MockCompositeProduct, itemFactory, imageFactory);
26
- }
27
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductFactory, deps: [{ token: i1.DaffCompositeProductItemFactory }, { token: i2.DaffProductImageFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
28
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductFactory, providedIn: 'root' }); }
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCompositeProductFactory, decorators: [{
31
- type: Injectable,
32
- args: [{
33
- providedIn: 'root',
34
- }]
35
- }], ctorParameters: () => [{ type: i1.DaffCompositeProductItemFactory }, { type: i2.DaffProductImageFactory }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLXByb2R1Y3QuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvdGVzdGluZy9zcmMvZmFjdG9yaWVzL2NvbXBvc2l0ZS1wcm9kdWN0LmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFdBQVcsR0FDWixNQUFNLDJCQUEyQixDQUFDO0FBR25DLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7O0FBRW5GOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFdBQVc7SUFJbkQsWUFDWSxXQUE0QyxFQUN0RCxZQUFxQztRQUVyQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFIVixnQkFBVyxHQUFYLFdBQVcsQ0FBaUM7UUFKeEQsU0FBSSxHQUFHLG1CQUFtQixDQUFDLFNBQVMsQ0FBQztRQUNyQyxVQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFPdkMsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsZ0JBQXNDO0lBQ3JGLFlBQ0UsV0FBNEMsRUFDNUMsWUFBcUM7UUFFckMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN6RCxDQUFDO2lJQU5VLDJCQUEyQjtxSUFBM0IsMkJBQTJCLGNBRjFCLE1BQU07OzJGQUVQLDJCQUEyQjtrQkFIdkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmYWtlciB9IGZyb20gJ0BmYWtlci1qcy9mYWtlci9sb2NhbGUvZW5fVVMnO1xuXG5pbXBvcnQgeyBEYWZmTW9kZWxGYWN0b3J5IH0gZnJvbSAnQGRhZmZvZGlsL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBEYWZmUHJvZHVjdFR5cGVFbnVtIH0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QnO1xuaW1wb3J0IHtcbiAgRGFmZlByb2R1Y3RJbWFnZUZhY3RvcnksXG4gIE1vY2tQcm9kdWN0LFxufSBmcm9tICdAZGFmZm9kaWwvcHJvZHVjdC90ZXN0aW5nJztcbmltcG9ydCB7IERhZmZDb21wb3NpdGVQcm9kdWN0IH0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QtY29tcG9zaXRlJztcblxuaW1wb3J0IHsgRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtRmFjdG9yeSB9IGZyb20gJy4vY29tcG9zaXRlLXByb2R1Y3QtaXRlbS5mYWN0b3J5JztcblxuLyoqXG4gKiBNb2NrZWQgRGFmZkNvbXBvc2l0ZVByb2R1Y3Qgb2JqZWN0LlxuICovXG5leHBvcnQgY2xhc3MgTW9ja0NvbXBvc2l0ZVByb2R1Y3QgZXh0ZW5kcyBNb2NrUHJvZHVjdCBpbXBsZW1lbnRzIERhZmZDb21wb3NpdGVQcm9kdWN0IHtcbiAgdHlwZSA9IERhZmZQcm9kdWN0VHlwZUVudW0uQ29tcG9zaXRlO1xuICBpdGVtcyA9IHRoaXMuaXRlbUZhY3RvcnkuY3JlYXRlTWFueSgyKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaXRlbUZhY3Rvcnk6IERhZmZDb21wb3NpdGVQcm9kdWN0SXRlbUZhY3RvcnksXG4gICAgaW1hZ2VGYWN0b3J5OiBEYWZmUHJvZHVjdEltYWdlRmFjdG9yeSxcbiAgKSB7XG4gICAgc3VwZXIoaW1hZ2VGYWN0b3J5KTtcbiAgfVxufVxuXG4vKipcbiAqIEZhY3RvcnkgZm9yIGNyZWF0aW5nIERhZmZDb21wb3NpdGVQcm9kdWN0cy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERhZmZDb21wb3NpdGVQcm9kdWN0RmFjdG9yeSBleHRlbmRzIERhZmZNb2RlbEZhY3Rvcnk8RGFmZkNvbXBvc2l0ZVByb2R1Y3Q+e1xuICBjb25zdHJ1Y3RvcihcbiAgICBpdGVtRmFjdG9yeTogRGFmZkNvbXBvc2l0ZVByb2R1Y3RJdGVtRmFjdG9yeSxcbiAgICBpbWFnZUZhY3Rvcnk6IERhZmZQcm9kdWN0SW1hZ2VGYWN0b3J5LFxuICApIHtcbiAgICBzdXBlcihNb2NrQ29tcG9zaXRlUHJvZHVjdCwgaXRlbUZhY3RvcnksIGltYWdlRmFjdG9yeSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +0,0 @@
1
- export * from './composite-product.factory';
2
- export * from './composite-product-item.factory';
3
- export * from './composite-product-item-option.factory';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvdGVzdGluZy9zcmMvZmFjdG9yaWVzL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMseUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbXBvc2l0ZS1wcm9kdWN0LmZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb3NpdGUtcHJvZHVjdC1pdGVtLmZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb3NpdGUtcHJvZHVjdC1pdGVtLW9wdGlvbi5mYWN0b3J5JztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './public_api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3Byb2R1Y3QtY29tcG9zaXRlL3Rlc3Rpbmcvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './factories/public_api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvcHJvZHVjdC1jb21wb3NpdGUvdGVzdGluZy9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mYWN0b3JpZXMvcHVibGljX2FwaSc7XG4iXX0=