@infrab4a/connect-angular 5.8.1 → 5.8.3

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 (206) hide show
  1. package/angular-connect.module.d.ts +36 -36
  2. package/angular-elastic-search.module.d.ts +9 -9
  3. package/angular-firebase-auth.module.d.ts +11 -11
  4. package/angular-firestore.module.d.ts +17 -17
  5. package/angular-hasura-graphql.module.d.ts +14 -14
  6. package/angular-vertex-search.module.d.ts +9 -9
  7. package/consts/backend-url.const.d.ts +1 -1
  8. package/consts/category-structure.d.ts +1 -1
  9. package/consts/default-shop.const.d.ts +1 -1
  10. package/consts/es-config.const.d.ts +1 -1
  11. package/consts/firebase-const.d.ts +4 -4
  12. package/consts/hasura-options.const.d.ts +1 -1
  13. package/consts/index.d.ts +8 -8
  14. package/consts/persistence.const.d.ts +1 -1
  15. package/consts/storage-base-url.const.d.ts +1 -1
  16. package/consts/vertex-config.const.d.ts +1 -1
  17. package/esm2020/angular-connect.module.mjs +293 -0
  18. package/esm2020/angular-elastic-search.module.mjs +34 -0
  19. package/esm2020/angular-firebase-auth.module.mjs +141 -0
  20. package/esm2020/angular-firestore.module.mjs +597 -0
  21. package/esm2020/angular-hasura-graphql.module.mjs +421 -0
  22. package/esm2020/angular-vertex-search.module.mjs +34 -0
  23. package/{esm2022 → esm2020}/consts/backend-url.const.mjs +1 -1
  24. package/{esm2022 → esm2020}/consts/category-structure.mjs +1 -1
  25. package/{esm2022 → esm2020}/consts/default-shop.const.mjs +1 -1
  26. package/{esm2022 → esm2020}/consts/es-config.const.mjs +1 -1
  27. package/{esm2022 → esm2020}/consts/firebase-const.mjs +4 -4
  28. package/{esm2022 → esm2020}/consts/hasura-options.const.mjs +1 -1
  29. package/{esm2022 → esm2020}/consts/index.mjs +8 -8
  30. package/{esm2022 → esm2020}/consts/persistence.const.mjs +1 -1
  31. package/{esm2022 → esm2020}/consts/storage-base-url.const.mjs +1 -1
  32. package/{esm2022 → esm2020}/consts/vertex-config.const.mjs +1 -1
  33. package/{esm2022 → esm2020}/helpers/index.mjs +1 -1
  34. package/{esm2022 → esm2020}/helpers/mobile-operation-system-checker.helper.mjs +6 -6
  35. package/{esm2022 → esm2020}/index.mjs +6 -6
  36. package/{esm2022 → esm2020}/infrab4a-connect-angular.mjs +4 -4
  37. package/{esm2022 → esm2020}/interfaces/catalog-strategies.interface.mjs +1 -1
  38. package/{esm2022 → esm2020}/interfaces/category-facades.interface.mjs +1 -1
  39. package/{esm2022 → esm2020}/interfaces/index.mjs +2 -2
  40. package/{esm2022 → esm2020}/persistence/cookie-data-persistence.mjs +22 -22
  41. package/{esm2022 → esm2020}/persistence/data-persistence.mjs +1 -1
  42. package/{esm2022 → esm2020}/persistence/index.mjs +2 -2
  43. package/{esm2022 → esm2020}/services/auth.service.mjs +37 -37
  44. package/{esm2022 → esm2020}/services/cart/cart-services.facade.mjs +21 -21
  45. package/{esm2022 → esm2020}/services/cart/index.mjs +1 -1
  46. package/{esm2022 → esm2020}/services/cart.service.mjs +73 -73
  47. package/{esm2022 → esm2020}/services/catalog/adapters/category-structure.adapter.mjs +1 -1
  48. package/{esm2022 → esm2020}/services/catalog/adapters/index.mjs +3 -3
  49. package/{esm2022 → esm2020}/services/catalog/adapters/new-category-structure.adapter.mjs +43 -43
  50. package/{esm2022 → esm2020}/services/catalog/adapters/old-category-structure.adapter.mjs +23 -23
  51. package/{esm2022 → esm2020}/services/catalog/catalog.service.mjs +111 -111
  52. package/{esm2022 → esm2020}/services/catalog/category.service.mjs +42 -42
  53. package/{esm2022 → esm2020}/services/catalog/context/catalog-search.context.mjs +39 -39
  54. package/{esm2022 → esm2020}/services/catalog/enums/index.mjs +1 -1
  55. package/{esm2022 → esm2020}/services/catalog/enums/product-sorts.enum.mjs +10 -10
  56. package/{esm2022 → esm2020}/services/catalog/facades/catalog-service.facade.mjs +32 -32
  57. package/{esm2022 → esm2020}/services/catalog/facades/catalog-strategies.facade.mjs +17 -17
  58. package/{esm2022 → esm2020}/services/catalog/facades/category-repository.facade.mjs +20 -20
  59. package/{esm2022 → esm2020}/services/catalog/facades/category-service.facade.mjs +30 -30
  60. package/{esm2022 → esm2020}/services/catalog/facades/index.mjs +5 -5
  61. package/{esm2022 → esm2020}/services/catalog/facades/product-catalog.facade.mjs +21 -21
  62. package/{esm2022 → esm2020}/services/catalog/helpers/brand-manager.helper.mjs +62 -62
  63. package/{esm2022 → esm2020}/services/catalog/helpers/catalog-filter.helper.mjs +44 -44
  64. package/{esm2022 → esm2020}/services/catalog/helpers/catalog-sort.helper.mjs +52 -52
  65. package/{esm2022 → esm2020}/services/catalog/helpers/index.mjs +4 -4
  66. package/{esm2022 → esm2020}/services/catalog/helpers/product-fields.helper.mjs +43 -43
  67. package/{esm2022 → esm2020}/services/catalog/index.mjs +7 -7
  68. package/{esm2022 → esm2020}/services/catalog/models/category-with-tree.model.mjs +10 -10
  69. package/{esm2022 → esm2020}/services/catalog/models/index.mjs +1 -1
  70. package/{esm2022 → esm2020}/services/catalog/services/catalog-helpers.service.mjs +33 -33
  71. package/{esm2022 → esm2020}/services/catalog/services/catalog-operations.facade.mjs +26 -26
  72. package/{esm2022 → esm2020}/services/catalog/services/catalog-repository.service.mjs +25 -25
  73. package/{esm2022 → esm2020}/services/catalog/services/index.mjs +4 -4
  74. package/{esm2022 → esm2020}/services/catalog/services/product-management.facade.mjs +25 -25
  75. package/{esm2022 → esm2020}/services/catalog/strategies/category-search.strategy.mjs +133 -133
  76. package/{esm2022 → esm2020}/services/catalog/strategies/index.mjs +3 -3
  77. package/{esm2022 → esm2020}/services/catalog/strategies/profile-search.strategy.mjs +42 -42
  78. package/{esm2022 → esm2020}/services/catalog/strategies/term-search.strategy.mjs +126 -126
  79. package/{esm2022 → esm2020}/services/catalog/strategies/types/strategy-params.type.mjs +1 -1
  80. package/{esm2022 → esm2020}/services/catalog/types/fetch-products-options.type.mjs +1 -1
  81. package/{esm2022 → esm2020}/services/catalog/types/fetch-products-params.type.mjs +1 -1
  82. package/{esm2022 → esm2020}/services/catalog/types/fetch-products-response.type.mjs +1 -1
  83. package/{esm2022 → esm2020}/services/catalog/types/index.mjs +5 -5
  84. package/{esm2022 → esm2020}/services/catalog/types/method-params.type.mjs +1 -1
  85. package/{esm2022 → esm2020}/services/catalog/types/product-sort.type.mjs +1 -1
  86. package/{esm2022 → esm2020}/services/catalog/wishlist.service.mjs +258 -258
  87. package/{esm2022 → esm2020}/services/checkout/checkout-dependencies.facade.mjs +20 -20
  88. package/{esm2022 → esm2020}/services/checkout/checkout-repositories.facade.mjs +20 -20
  89. package/{esm2022 → esm2020}/services/checkout/index.mjs +2 -2
  90. package/{esm2022 → esm2020}/services/checkout-subscription.service.mjs +55 -55
  91. package/esm2020/services/checkout.service.mjs +120 -0
  92. package/{esm2022 → esm2020}/services/coupon/coupon-repositories.facade.mjs +24 -24
  93. package/{esm2022 → esm2020}/services/coupon/index.mjs +1 -1
  94. package/{esm2022 → esm2020}/services/coupon/types/coupon-params.type.mjs +1 -1
  95. package/{esm2022 → esm2020}/services/coupon.service.mjs +248 -248
  96. package/{esm2022 → esm2020}/services/helpers/index.mjs +1 -1
  97. package/{esm2022 → esm2020}/services/helpers/util.helper.mjs +17 -17
  98. package/{esm2022 → esm2020}/services/home-shop/home-shop-repositories.facade.mjs +24 -24
  99. package/{esm2022 → esm2020}/services/home-shop/index.mjs +1 -1
  100. package/{esm2022 → esm2020}/services/home-shop.service.mjs +119 -119
  101. package/{esm2022 → esm2020}/services/index.mjs +11 -11
  102. package/{esm2022 → esm2020}/services/order-product-review.service.mjs +126 -126
  103. package/{esm2022 → esm2020}/services/order-recurrence.service.mjs +83 -83
  104. package/{esm2022 → esm2020}/services/order.service.mjs +30 -30
  105. package/{esm2022 → esm2020}/services/shared/configuration.facade.mjs +29 -29
  106. package/{esm2022 → esm2020}/services/shared/index.mjs +1 -1
  107. package/{esm2022 → esm2020}/services/types/index.mjs +4 -4
  108. package/{esm2022 → esm2020}/services/types/pending-product-review.type.mjs +1 -1
  109. package/{esm2022 → esm2020}/services/types/product-review-create.type.mjs +1 -1
  110. package/{esm2022 → esm2020}/services/types/required-checkout-data.type.mjs +1 -1
  111. package/{esm2022 → esm2020}/services/types/required-checkout-subscription-data.type.mjs +1 -1
  112. package/{esm2022 → esm2020}/types/firebase-app-config.type.mjs +1 -1
  113. package/{esm2022 → esm2020}/types/index.mjs +1 -1
  114. package/fesm2015/infrab4a-connect-angular.mjs +3746 -0
  115. package/fesm2015/infrab4a-connect-angular.mjs.map +1 -0
  116. package/{fesm2022 → fesm2020}/infrab4a-connect-angular.mjs +3541 -3527
  117. package/fesm2020/infrab4a-connect-angular.mjs.map +1 -0
  118. package/helpers/index.d.ts +1 -1
  119. package/helpers/mobile-operation-system-checker.helper.d.ts +3 -3
  120. package/index.d.ts +6 -6
  121. package/interfaces/catalog-strategies.interface.d.ts +31 -31
  122. package/interfaces/category-facades.interface.d.ts +6 -6
  123. package/interfaces/index.d.ts +2 -2
  124. package/package.json +12 -6
  125. package/persistence/cookie-data-persistence.d.ts +10 -10
  126. package/persistence/data-persistence.d.ts +6 -6
  127. package/persistence/index.d.ts +2 -2
  128. package/services/auth.service.d.ts +18 -18
  129. package/services/cart/cart-services.facade.d.ts +12 -12
  130. package/services/cart/index.d.ts +1 -1
  131. package/services/cart.service.d.ts +26 -26
  132. package/services/catalog/adapters/category-structure.adapter.d.ts +4 -4
  133. package/services/catalog/adapters/index.d.ts +3 -3
  134. package/services/catalog/adapters/new-category-structure.adapter.d.ts +12 -12
  135. package/services/catalog/adapters/old-category-structure.adapter.d.ts +10 -10
  136. package/services/catalog/catalog.service.d.ts +24 -24
  137. package/services/catalog/category.service.d.ts +23 -23
  138. package/services/catalog/context/catalog-search.context.d.ts +14 -14
  139. package/services/catalog/enums/index.d.ts +1 -1
  140. package/services/catalog/enums/product-sorts.enum.d.ts +9 -9
  141. package/services/catalog/facades/catalog-service.facade.d.ts +15 -15
  142. package/services/catalog/facades/catalog-strategies.facade.d.ts +10 -10
  143. package/services/catalog/facades/category-repository.facade.d.ts +9 -9
  144. package/services/catalog/facades/category-service.facade.d.ts +15 -15
  145. package/services/catalog/facades/index.d.ts +5 -5
  146. package/services/catalog/facades/product-catalog.facade.d.ts +10 -10
  147. package/services/catalog/helpers/brand-manager.helper.d.ts +14 -14
  148. package/services/catalog/helpers/catalog-filter.helper.d.ts +8 -8
  149. package/services/catalog/helpers/catalog-sort.helper.d.ts +7 -7
  150. package/services/catalog/helpers/index.d.ts +4 -4
  151. package/services/catalog/helpers/product-fields.helper.d.ts +7 -7
  152. package/services/catalog/index.d.ts +7 -7
  153. package/services/catalog/models/category-with-tree.model.d.ts +4 -4
  154. package/services/catalog/models/index.d.ts +1 -1
  155. package/services/catalog/services/catalog-helpers.service.d.ts +17 -17
  156. package/services/catalog/services/catalog-operations.facade.d.ts +13 -13
  157. package/services/catalog/services/catalog-repository.service.d.ts +12 -12
  158. package/services/catalog/services/index.d.ts +4 -4
  159. package/services/catalog/services/product-management.facade.d.ts +12 -12
  160. package/services/catalog/strategies/category-search.strategy.d.ts +19 -19
  161. package/services/catalog/strategies/index.d.ts +3 -3
  162. package/services/catalog/strategies/profile-search.strategy.d.ts +14 -14
  163. package/services/catalog/strategies/term-search.strategy.d.ts +20 -20
  164. package/services/catalog/strategies/types/strategy-params.type.d.ts +59 -59
  165. package/services/catalog/types/fetch-products-options.type.d.ts +8 -8
  166. package/services/catalog/types/fetch-products-params.type.d.ts +25 -25
  167. package/services/catalog/types/fetch-products-response.type.d.ts +19 -19
  168. package/services/catalog/types/index.d.ts +5 -5
  169. package/services/catalog/types/method-params.type.d.ts +17 -17
  170. package/services/catalog/types/product-sort.type.d.ts +2 -2
  171. package/services/catalog/wishlist.service.d.ts +60 -60
  172. package/services/checkout/checkout-dependencies.facade.d.ts +10 -10
  173. package/services/checkout/checkout-repositories.facade.d.ts +9 -9
  174. package/services/checkout/index.d.ts +2 -2
  175. package/services/checkout-subscription.service.d.ts +19 -19
  176. package/services/checkout.service.d.ts +31 -30
  177. package/services/coupon/coupon-repositories.facade.d.ts +10 -10
  178. package/services/coupon/index.d.ts +1 -1
  179. package/services/coupon/types/coupon-params.type.d.ts +13 -13
  180. package/services/coupon.service.d.ts +36 -36
  181. package/services/helpers/index.d.ts +1 -1
  182. package/services/helpers/util.helper.d.ts +3 -3
  183. package/services/home-shop/home-shop-repositories.facade.d.ts +10 -10
  184. package/services/home-shop/index.d.ts +1 -1
  185. package/services/home-shop.service.d.ts +26 -26
  186. package/services/index.d.ts +11 -11
  187. package/services/order-product-review.service.d.ts +18 -18
  188. package/services/order-recurrence.service.d.ts +37 -37
  189. package/services/order.service.d.ts +13 -13
  190. package/services/shared/configuration.facade.d.ts +12 -12
  191. package/services/shared/index.d.ts +1 -1
  192. package/services/types/index.d.ts +4 -4
  193. package/services/types/pending-product-review.type.d.ts +12 -12
  194. package/services/types/product-review-create.type.d.ts +14 -14
  195. package/services/types/required-checkout-data.type.d.ts +2 -2
  196. package/services/types/required-checkout-subscription-data.type.d.ts +2 -2
  197. package/types/firebase-app-config.type.d.ts +1 -1
  198. package/types/index.d.ts +1 -1
  199. package/esm2022/angular-connect.module.mjs +0 -293
  200. package/esm2022/angular-elastic-search.module.mjs +0 -34
  201. package/esm2022/angular-firebase-auth.module.mjs +0 -141
  202. package/esm2022/angular-firestore.module.mjs +0 -597
  203. package/esm2022/angular-hasura-graphql.module.mjs +0 -421
  204. package/esm2022/angular-vertex-search.module.mjs +0 -34
  205. package/esm2022/services/checkout.service.mjs +0 -106
  206. package/fesm2022/infrab4a-connect-angular.mjs.map +0 -1
@@ -1,141 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { FirebaseApp } from '@angular/fire/app';
3
- import { Auth, browserLocalPersistence, browserSessionPersistence, getAuth, indexedDBLocalPersistence, initializeAuth, provideAuth, } from '@angular/fire/auth';
4
- import { Authentication, AuthenticationFirebaseAuthService, RecoveryPassword, Register, RegisterFirebaseAuthService, SignOut, } from '@infrab4a/connect';
5
- import { FIREBASE_APP_NAME, FIREBASE_OPTIONS } from './consts';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/fire/auth";
8
- export class AngularFirebaseAuthModule {
9
- static initializeApp(options, nameOrConfig) {
10
- return {
11
- ngModule: AngularFirebaseAuthModule,
12
- providers: [
13
- { provide: FIREBASE_OPTIONS, useValue: options },
14
- { provide: FIREBASE_APP_NAME, useValue: nameOrConfig },
15
- ],
16
- };
17
- }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirebaseAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
19
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.3", ngImport: i0, type: AngularFirebaseAuthModule, imports: [i1.AuthModule] }); }
20
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirebaseAuthModule, providers: [
21
- {
22
- provide: 'Authentication',
23
- useFactory: (authenticationService, userRepository) => {
24
- return new Authentication(authenticationService, userRepository);
25
- },
26
- deps: ['AuthenticationService', 'UserRepository'],
27
- },
28
- {
29
- provide: 'AuthenticationService',
30
- useFactory: (angularFireAuth) => {
31
- return new AuthenticationFirebaseAuthService(angularFireAuth);
32
- },
33
- deps: [Auth],
34
- },
35
- {
36
- provide: 'Register',
37
- useFactory: (registerService, userRepository) => {
38
- return new Register(registerService, userRepository);
39
- },
40
- deps: ['RegisterService', 'UserRepository'],
41
- },
42
- {
43
- provide: 'RegisterService',
44
- useFactory: (angularFireAuth) => {
45
- return new RegisterFirebaseAuthService(angularFireAuth);
46
- },
47
- deps: [Auth],
48
- },
49
- {
50
- provide: 'SignOut',
51
- useFactory: (authenticationService) => {
52
- return new SignOut(authenticationService);
53
- },
54
- deps: ['AuthenticationService'],
55
- },
56
- {
57
- provide: 'RecoveryPassword',
58
- useFactory: (authenticationService) => {
59
- return new RecoveryPassword(authenticationService);
60
- },
61
- deps: ['AuthenticationService'],
62
- },
63
- ], imports: [provideAuth((injector) => {
64
- const app = injector.get(FirebaseApp);
65
- try {
66
- return initializeAuth(app, {
67
- persistence: [indexedDBLocalPersistence, browserLocalPersistence, browserSessionPersistence],
68
- });
69
- }
70
- catch (error) {
71
- if (error instanceof Error)
72
- console.error('Error initializing auth', error.message);
73
- return getAuth(app);
74
- }
75
- })] }); }
76
- }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: AngularFirebaseAuthModule, decorators: [{
78
- type: NgModule,
79
- args: [{
80
- imports: [
81
- provideAuth((injector) => {
82
- const app = injector.get(FirebaseApp);
83
- try {
84
- return initializeAuth(app, {
85
- persistence: [indexedDBLocalPersistence, browserLocalPersistence, browserSessionPersistence],
86
- });
87
- }
88
- catch (error) {
89
- if (error instanceof Error)
90
- console.error('Error initializing auth', error.message);
91
- return getAuth(app);
92
- }
93
- }),
94
- ],
95
- providers: [
96
- {
97
- provide: 'Authentication',
98
- useFactory: (authenticationService, userRepository) => {
99
- return new Authentication(authenticationService, userRepository);
100
- },
101
- deps: ['AuthenticationService', 'UserRepository'],
102
- },
103
- {
104
- provide: 'AuthenticationService',
105
- useFactory: (angularFireAuth) => {
106
- return new AuthenticationFirebaseAuthService(angularFireAuth);
107
- },
108
- deps: [Auth],
109
- },
110
- {
111
- provide: 'Register',
112
- useFactory: (registerService, userRepository) => {
113
- return new Register(registerService, userRepository);
114
- },
115
- deps: ['RegisterService', 'UserRepository'],
116
- },
117
- {
118
- provide: 'RegisterService',
119
- useFactory: (angularFireAuth) => {
120
- return new RegisterFirebaseAuthService(angularFireAuth);
121
- },
122
- deps: [Auth],
123
- },
124
- {
125
- provide: 'SignOut',
126
- useFactory: (authenticationService) => {
127
- return new SignOut(authenticationService);
128
- },
129
- deps: ['AuthenticationService'],
130
- },
131
- {
132
- provide: 'RecoveryPassword',
133
- useFactory: (authenticationService) => {
134
- return new RecoveryPassword(authenticationService);
135
- },
136
- deps: ['AuthenticationService'],
137
- },
138
- ],
139
- }]
140
- }] });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLG1CQUFtQixDQUFBO0FBQ2hFLE9BQU8sRUFDTCxJQUFJLEVBQ0osdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6QixPQUFPLEVBQ1AseUJBQXlCLEVBQ3pCLGNBQWMsRUFDZCxXQUFXLEdBQ1osTUFBTSxvQkFBb0IsQ0FBQTtBQUMzQixPQUFPLEVBQ0wsY0FBYyxFQUNkLGlDQUFpQyxFQUVqQyxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLDJCQUEyQixFQUUzQixPQUFPLEdBRVIsTUFBTSxtQkFBbUIsQ0FBQTtBQUUxQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUE7OztBQWdFOUQsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxNQUFNLENBQUMsYUFBYSxDQUNsQixPQUF3QixFQUN4QixZQUF5QztRQUV6QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHlCQUF5QjtZQUNuQyxTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtnQkFDaEQsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRTthQUN2RDtTQUNGLENBQUE7SUFDSCxDQUFDOzhHQVpVLHlCQUF5QjsrR0FBekIseUJBQXlCOytHQUF6Qix5QkFBeUIsYUE3Q3pCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGdCQUFnQjtnQkFDekIsVUFBVSxFQUFFLENBQUMscUJBQTRDLEVBQUUsY0FBOEIs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QUFPLEVBQUUsa0JBQWtCOzRCQUMzQixVQUFVLEVBQUUsQ0FBQyxxQkFBNEMsRUFBb0IsRUFBRTtnQ0FDN0UsT0FBTyxJQUFJLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLENBQUE7NEJBQ3BELENBQUM7NEJBQ0QsSUFBSSxFQUFFLENBQUMsdUJBQXVCLENBQUM7eUJBQ2hDO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgRmlyZWJhc2VBcHAsIEZpcmViYXNlT3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXBwJ1xyXG5pbXBvcnQge1xyXG4gIEF1dGgsXHJcbiAgYnJvd3NlckxvY2FsUGVyc2lzdGVuY2UsXHJcbiAgYnJvd3NlclNlc3Npb25QZXJzaXN0ZW5jZSxcclxuICBnZXRBdXRoLFxyXG4gIGluZGV4ZWREQkxvY2FsUGVyc2lzdGVuY2UsXHJcbiAgaW5pdGlhbGl6ZUF1dGgsXHJcbiAgcHJvdmlkZUF1dGgsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hdXRoJ1xyXG5pbXBvcnQge1xyXG4gIEF1dGhlbnRpY2F0aW9uLFxyXG4gIEF1dGhlbnRpY2F0aW9uRmlyZWJhc2VBdXRoU2VydmljZSxcclxuICBBdXRoZW50aWNhdGlvblNlcnZpY2UsXHJcbiAgUmVjb3ZlcnlQYXNzd29yZCxcclxuICBSZWdpc3RlcixcclxuICBSZWdpc3RlckZpcmViYXNlQXV0aFNlcnZpY2UsXHJcbiAgUmVnaXN0ZXJTZXJ2aWNlLFxyXG4gIFNpZ25PdXQsXHJcbiAgVXNlclJlcG9zaXRvcnksXHJcbn0gZnJvbSAnQGluZnJhYjRhL2Nvbm5lY3QnXHJcblxyXG5pbXBvcnQgeyBGSVJFQkFTRV9BUFBfTkFNRSwgRklSRUJBU0VfT1BUSU9OUyB9IGZyb20gJy4vY29uc3RzJ1xyXG5pbXBvcnQgeyBGaXJlYmFzZUFwcENvbmZpZyB9IGZyb20gJy4vdHlwZXMnXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIHByb3ZpZGVBdXRoKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcclxuICAgICAgY29uc3QgYXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKVxyXG5cclxuICAgICAgdHJ5IHtcclxuICAgICAgICByZXR1cm4gaW5pdGlhbGl6ZUF1dGgoYXBwLCB7XHJcbiAgICAgICAgICBwZXJzaXN0ZW5jZTogW2luZGV4ZWREQkxvY2FsUGVyc2lzdGVuY2UsIGJyb3dzZXJMb2NhbFBlcnNpc3RlbmNlLCBicm93c2VyU2Vzc2lvblBlcnNpc3RlbmNlXSxcclxuICAgICAgICB9KVxyXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSBjb25zb2xlLmVycm9yKCdFcnJvciBpbml0aWFsaXppbmcgYXV0aCcsIGVycm9yLm1lc3NhZ2UpXHJcblxyXG4gICAgICAgIHJldHVybiBnZXRBdXRoKGFwcClcclxuICAgICAgfVxyXG4gICAgfSksXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ0F1dGhlbnRpY2F0aW9uJyxcclxuICAgICAgdXNlRmFjdG9yeTogKGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlLCB1c2VyUmVwb3NpdG9yeTogVXNlclJlcG9zaXRvcnkpOiBBdXRoZW50aWNhdGlvbiA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBdXRoZW50aWNhdGlvbihhdXRoZW50aWNhdGlvblNlcnZpY2UsIHVzZXJSZXBvc2l0b3J5KVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ0F1dGhlbnRpY2F0aW9uU2VydmljZScsICdVc2VyUmVwb3NpdG9yeSddLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ0F1dGhlbnRpY2F0aW9uU2VydmljZScsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChhbmd1bGFyRmlyZUF1dGg6IEF1dGgpOiBBdXRoZW50aWNhdGlvblNlcnZpY2UgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgQXV0aGVudGljYXRpb25GaXJlYmFzZUF1dGhTZXJ2aWNlKGFuZ3VsYXJGaXJlQXV0aClcclxuICAgICAgfSxcclxuICAgICAgZGVwczogW0F1dGhdLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ1JlZ2lzdGVyJyxcclxuICAgICAgdXNlRmFjdG9yeTogKHJlZ2lzdGVyU2VydmljZTogUmVnaXN0ZXJTZXJ2aWNlLCB1c2VyUmVwb3NpdG9yeTogVXNlclJlcG9zaXRvcnkpOiBSZWdpc3RlciA9PiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBSZWdpc3RlcihyZWdpc3RlclNlcnZpY2UsIHVzZXJSZXBvc2l0b3J5KVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ1JlZ2lzdGVyU2VydmljZScsICdVc2VyUmVwb3NpdG9yeSddLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ1JlZ2lzdGVyU2VydmljZScsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IChhbmd1bGFyRmlyZUF1dGg6IEF1dGgpOiBSZWdpc3RlclNlcnZpY2UgPT4ge1xyXG4gICAgICAgIHJldHVybiBuZXcgUmVnaXN0ZXJGaXJlYmFzZUF1dGhTZXJ2aWNlKGFuZ3VsYXJGaXJlQXV0aClcclxuICAgICAgfSxcclxuICAgICAgZGVwczogW0F1dGhdLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ1NpZ25PdXQnLFxyXG4gICAgICB1c2VGYWN0b3J5OiAoYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UpOiBTaWduT3V0ID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFNpZ25PdXQoYXV0aGVudGljYXRpb25TZXJ2aWNlKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ0F1dGhlbnRpY2F0aW9uU2VydmljZSddLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogJ1JlY292ZXJ5UGFzc3dvcmQnLFxyXG4gICAgICB1c2VGYWN0b3J5OiAoYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UpOiBSZWNvdmVyeVBhc3N3b3JkID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFJlY292ZXJ5UGFzc3dvcmQoYXV0aGVudGljYXRpb25TZXJ2aWNlKVxyXG4gICAgICB9LFxyXG4gICAgICBkZXBzOiBbJ0F1dGhlbnRpY2F0aW9uU2VydmljZSddLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5ndWxhckZpcmViYXNlQXV0aE1vZHVsZSB7XHJcbiAgc3RhdGljIGluaXRpYWxpemVBcHAoXHJcbiAgICBvcHRpb25zOiBGaXJlYmFzZU9wdGlvbnMsXHJcbiAgICBuYW1lT3JDb25maWc/OiBzdHJpbmcgfCBGaXJlYmFzZUFwcENvbmZpZyxcclxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFuZ3VsYXJGaXJlYmFzZUF1dGhNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBBbmd1bGFyRmlyZWJhc2VBdXRoTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IEZJUkVCQVNFX09QVElPTlMsIHVzZVZhbHVlOiBvcHRpb25zIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBGSVJFQkFTRV9BUFBfTkFNRSwgdXNlVmFsdWU6IG5hbWVPckNvbmZpZyB9LFxyXG4gICAgICBdLFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=