@infrab4a/connect-angular 5.5.0-alpha.0 → 5.5.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/{fesm2020 → fesm2022}/infrab4a-connect-angular.mjs +871 -833
  2. package/fesm2022/infrab4a-connect-angular.mjs.map +1 -0
  3. package/index.d.ts +755 -6
  4. package/package.json +7 -15
  5. package/angular-connect.module.d.ts +0 -36
  6. package/angular-elastic-search.module.d.ts +0 -9
  7. package/angular-firebase-auth.module.d.ts +0 -11
  8. package/angular-firestore.module.d.ts +0 -17
  9. package/angular-hasura-graphql.module.d.ts +0 -14
  10. package/angular-vertex-search.module.d.ts +0 -9
  11. package/consts/backend-url.const.d.ts +0 -1
  12. package/consts/category-structure.d.ts +0 -1
  13. package/consts/default-shop.const.d.ts +0 -1
  14. package/consts/es-config.const.d.ts +0 -1
  15. package/consts/firebase-const.d.ts +0 -4
  16. package/consts/hasura-options.const.d.ts +0 -1
  17. package/consts/index.d.ts +0 -8
  18. package/consts/persistence.const.d.ts +0 -1
  19. package/consts/storage-base-url.const.d.ts +0 -1
  20. package/consts/vertex-config.const.d.ts +0 -1
  21. package/esm2020/angular-connect.module.mjs +0 -291
  22. package/esm2020/angular-elastic-search.module.mjs +0 -34
  23. package/esm2020/angular-firebase-auth.module.mjs +0 -141
  24. package/esm2020/angular-firestore.module.mjs +0 -541
  25. package/esm2020/angular-hasura-graphql.module.mjs +0 -333
  26. package/esm2020/angular-vertex-search.module.mjs +0 -34
  27. package/esm2020/consts/backend-url.const.mjs +0 -2
  28. package/esm2020/consts/category-structure.mjs +0 -2
  29. package/esm2020/consts/default-shop.const.mjs +0 -2
  30. package/esm2020/consts/es-config.const.mjs +0 -2
  31. package/esm2020/consts/firebase-const.mjs +0 -5
  32. package/esm2020/consts/hasura-options.const.mjs +0 -2
  33. package/esm2020/consts/index.mjs +0 -9
  34. package/esm2020/consts/persistence.const.mjs +0 -2
  35. package/esm2020/consts/storage-base-url.const.mjs +0 -2
  36. package/esm2020/consts/vertex-config.const.mjs +0 -2
  37. package/esm2020/helpers/index.mjs +0 -2
  38. package/esm2020/helpers/mobile-operation-system-checker.helper.mjs +0 -7
  39. package/esm2020/index.mjs +0 -7
  40. package/esm2020/infrab4a-connect-angular.mjs +0 -5
  41. package/esm2020/interfaces/catalog-strategies.interface.mjs +0 -2
  42. package/esm2020/interfaces/category-facades.interface.mjs +0 -2
  43. package/esm2020/interfaces/index.mjs +0 -3
  44. package/esm2020/persistence/cookie-data-persistence.mjs +0 -22
  45. package/esm2020/persistence/data-persistence.mjs +0 -2
  46. package/esm2020/persistence/index.mjs +0 -3
  47. package/esm2020/services/auth.service.mjs +0 -37
  48. package/esm2020/services/cart/cart-services.facade.mjs +0 -21
  49. package/esm2020/services/cart/index.mjs +0 -2
  50. package/esm2020/services/cart.service.mjs +0 -73
  51. package/esm2020/services/catalog/adapters/category-structure.adapter.mjs +0 -2
  52. package/esm2020/services/catalog/adapters/index.mjs +0 -4
  53. package/esm2020/services/catalog/adapters/new-category-structure.adapter.mjs +0 -43
  54. package/esm2020/services/catalog/adapters/old-category-structure.adapter.mjs +0 -23
  55. package/esm2020/services/catalog/catalog.service.mjs +0 -111
  56. package/esm2020/services/catalog/category.service.mjs +0 -39
  57. package/esm2020/services/catalog/context/catalog-search.context.mjs +0 -40
  58. package/esm2020/services/catalog/enums/index.mjs +0 -2
  59. package/esm2020/services/catalog/enums/product-sorts.enum.mjs +0 -11
  60. package/esm2020/services/catalog/facades/catalog-service.facade.mjs +0 -32
  61. package/esm2020/services/catalog/facades/catalog-strategies.facade.mjs +0 -17
  62. package/esm2020/services/catalog/facades/category-repository.facade.mjs +0 -20
  63. package/esm2020/services/catalog/facades/category-service.facade.mjs +0 -30
  64. package/esm2020/services/catalog/facades/index.mjs +0 -6
  65. package/esm2020/services/catalog/facades/product-catalog.facade.mjs +0 -21
  66. package/esm2020/services/catalog/helpers/brand-manager.helper.mjs +0 -57
  67. package/esm2020/services/catalog/helpers/catalog-filter.helper.mjs +0 -44
  68. package/esm2020/services/catalog/helpers/catalog-sort.helper.mjs +0 -52
  69. package/esm2020/services/catalog/helpers/index.mjs +0 -5
  70. package/esm2020/services/catalog/helpers/product-fields.helper.mjs +0 -40
  71. package/esm2020/services/catalog/index.mjs +0 -8
  72. package/esm2020/services/catalog/models/category-with-tree.model.mjs +0 -10
  73. package/esm2020/services/catalog/models/index.mjs +0 -2
  74. package/esm2020/services/catalog/services/catalog-helpers.service.mjs +0 -33
  75. package/esm2020/services/catalog/services/catalog-operations.facade.mjs +0 -26
  76. package/esm2020/services/catalog/services/catalog-repository.service.mjs +0 -25
  77. package/esm2020/services/catalog/services/index.mjs +0 -5
  78. package/esm2020/services/catalog/services/product-management.facade.mjs +0 -25
  79. package/esm2020/services/catalog/strategies/category-search.strategy.mjs +0 -133
  80. package/esm2020/services/catalog/strategies/index.mjs +0 -4
  81. package/esm2020/services/catalog/strategies/profile-search.strategy.mjs +0 -42
  82. package/esm2020/services/catalog/strategies/term-search.strategy.mjs +0 -123
  83. package/esm2020/services/catalog/strategies/types/strategy-params.type.mjs +0 -2
  84. package/esm2020/services/catalog/types/fetch-products-options.type.mjs +0 -2
  85. package/esm2020/services/catalog/types/fetch-products-params.type.mjs +0 -2
  86. package/esm2020/services/catalog/types/fetch-products-response.type.mjs +0 -2
  87. package/esm2020/services/catalog/types/index.mjs +0 -6
  88. package/esm2020/services/catalog/types/method-params.type.mjs +0 -2
  89. package/esm2020/services/catalog/types/product-sort.type.mjs +0 -2
  90. package/esm2020/services/catalog/wishlist.service.mjs +0 -254
  91. package/esm2020/services/checkout/checkout-dependencies.facade.mjs +0 -20
  92. package/esm2020/services/checkout/checkout-repositories.facade.mjs +0 -20
  93. package/esm2020/services/checkout/index.mjs +0 -3
  94. package/esm2020/services/checkout-subscription.service.mjs +0 -55
  95. package/esm2020/services/checkout.service.mjs +0 -106
  96. package/esm2020/services/coupon/coupon-repositories.facade.mjs +0 -24
  97. package/esm2020/services/coupon/index.mjs +0 -2
  98. package/esm2020/services/coupon/types/coupon-params.type.mjs +0 -2
  99. package/esm2020/services/coupon.service.mjs +0 -248
  100. package/esm2020/services/helpers/index.mjs +0 -2
  101. package/esm2020/services/helpers/util.helper.mjs +0 -18
  102. package/esm2020/services/home-shop/home-shop-repositories.facade.mjs +0 -24
  103. package/esm2020/services/home-shop/index.mjs +0 -2
  104. package/esm2020/services/home-shop.service.mjs +0 -119
  105. package/esm2020/services/index.mjs +0 -11
  106. package/esm2020/services/order-product-review.service.mjs +0 -110
  107. package/esm2020/services/order.service.mjs +0 -30
  108. package/esm2020/services/shared/configuration.facade.mjs +0 -29
  109. package/esm2020/services/shared/index.mjs +0 -2
  110. package/esm2020/services/types/index.mjs +0 -5
  111. package/esm2020/services/types/pending-product-review.type.mjs +0 -2
  112. package/esm2020/services/types/product-review-create.type.mjs +0 -2
  113. package/esm2020/services/types/required-checkout-data.type.mjs +0 -2
  114. package/esm2020/services/types/required-checkout-subscription-data.type.mjs +0 -2
  115. package/esm2020/types/firebase-app-config.type.mjs +0 -2
  116. package/esm2020/types/index.mjs +0 -2
  117. package/fesm2015/infrab4a-connect-angular.mjs +0 -3486
  118. package/fesm2015/infrab4a-connect-angular.mjs.map +0 -1
  119. package/fesm2020/infrab4a-connect-angular.mjs.map +0 -1
  120. package/helpers/index.d.ts +0 -1
  121. package/helpers/mobile-operation-system-checker.helper.d.ts +0 -3
  122. package/interfaces/catalog-strategies.interface.d.ts +0 -31
  123. package/interfaces/category-facades.interface.d.ts +0 -6
  124. package/interfaces/index.d.ts +0 -2
  125. package/persistence/cookie-data-persistence.d.ts +0 -10
  126. package/persistence/data-persistence.d.ts +0 -6
  127. package/persistence/index.d.ts +0 -2
  128. package/services/auth.service.d.ts +0 -18
  129. package/services/cart/cart-services.facade.d.ts +0 -12
  130. package/services/cart/index.d.ts +0 -1
  131. package/services/cart.service.d.ts +0 -26
  132. package/services/catalog/adapters/category-structure.adapter.d.ts +0 -4
  133. package/services/catalog/adapters/index.d.ts +0 -3
  134. package/services/catalog/adapters/new-category-structure.adapter.d.ts +0 -12
  135. package/services/catalog/adapters/old-category-structure.adapter.d.ts +0 -10
  136. package/services/catalog/catalog.service.d.ts +0 -24
  137. package/services/catalog/category.service.d.ts +0 -22
  138. package/services/catalog/context/catalog-search.context.d.ts +0 -14
  139. package/services/catalog/enums/index.d.ts +0 -1
  140. package/services/catalog/enums/product-sorts.enum.d.ts +0 -9
  141. package/services/catalog/facades/catalog-service.facade.d.ts +0 -15
  142. package/services/catalog/facades/catalog-strategies.facade.d.ts +0 -10
  143. package/services/catalog/facades/category-repository.facade.d.ts +0 -9
  144. package/services/catalog/facades/category-service.facade.d.ts +0 -15
  145. package/services/catalog/facades/index.d.ts +0 -5
  146. package/services/catalog/facades/product-catalog.facade.d.ts +0 -10
  147. package/services/catalog/helpers/brand-manager.helper.d.ts +0 -14
  148. package/services/catalog/helpers/catalog-filter.helper.d.ts +0 -8
  149. package/services/catalog/helpers/catalog-sort.helper.d.ts +0 -7
  150. package/services/catalog/helpers/index.d.ts +0 -4
  151. package/services/catalog/helpers/product-fields.helper.d.ts +0 -7
  152. package/services/catalog/index.d.ts +0 -7
  153. package/services/catalog/models/category-with-tree.model.d.ts +0 -4
  154. package/services/catalog/models/index.d.ts +0 -1
  155. package/services/catalog/services/catalog-helpers.service.d.ts +0 -17
  156. package/services/catalog/services/catalog-operations.facade.d.ts +0 -13
  157. package/services/catalog/services/catalog-repository.service.d.ts +0 -12
  158. package/services/catalog/services/index.d.ts +0 -4
  159. package/services/catalog/services/product-management.facade.d.ts +0 -12
  160. package/services/catalog/strategies/category-search.strategy.d.ts +0 -19
  161. package/services/catalog/strategies/index.d.ts +0 -3
  162. package/services/catalog/strategies/profile-search.strategy.d.ts +0 -14
  163. package/services/catalog/strategies/term-search.strategy.d.ts +0 -20
  164. package/services/catalog/strategies/types/strategy-params.type.d.ts +0 -58
  165. package/services/catalog/types/fetch-products-options.type.d.ts +0 -8
  166. package/services/catalog/types/fetch-products-params.type.d.ts +0 -25
  167. package/services/catalog/types/fetch-products-response.type.d.ts +0 -19
  168. package/services/catalog/types/index.d.ts +0 -5
  169. package/services/catalog/types/method-params.type.d.ts +0 -17
  170. package/services/catalog/types/product-sort.type.d.ts +0 -2
  171. package/services/catalog/wishlist.service.d.ts +0 -59
  172. package/services/checkout/checkout-dependencies.facade.d.ts +0 -10
  173. package/services/checkout/checkout-repositories.facade.d.ts +0 -9
  174. package/services/checkout/index.d.ts +0 -2
  175. package/services/checkout-subscription.service.d.ts +0 -19
  176. package/services/checkout.service.d.ts +0 -30
  177. package/services/coupon/coupon-repositories.facade.d.ts +0 -10
  178. package/services/coupon/index.d.ts +0 -1
  179. package/services/coupon/types/coupon-params.type.d.ts +0 -13
  180. package/services/coupon.service.d.ts +0 -36
  181. package/services/helpers/index.d.ts +0 -1
  182. package/services/helpers/util.helper.d.ts +0 -3
  183. package/services/home-shop/home-shop-repositories.facade.d.ts +0 -10
  184. package/services/home-shop/index.d.ts +0 -1
  185. package/services/home-shop.service.d.ts +0 -26
  186. package/services/index.d.ts +0 -10
  187. package/services/order-product-review.service.d.ts +0 -16
  188. package/services/order.service.d.ts +0 -13
  189. package/services/shared/configuration.facade.d.ts +0 -12
  190. package/services/shared/index.d.ts +0 -1
  191. package/services/types/index.d.ts +0 -4
  192. package/services/types/pending-product-review.type.d.ts +0 -12
  193. package/services/types/product-review-create.type.d.ts +0 -14
  194. package/services/types/required-checkout-data.type.d.ts +0 -2
  195. package/services/types/required-checkout-subscription-data.type.d.ts +0 -2
  196. package/types/firebase-app-config.type.d.ts +0 -1
  197. package/types/index.d.ts +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
- }
19
- AngularFirebaseAuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- AngularFirebaseAuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, imports: [i1.AuthModule] });
21
- AngularFirebaseAuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AngularFirebaseAuthModule, providers: [
22
- {
23
- provide: 'Authentication',
24
- useFactory: (authenticationService, userRepository) => {
25
- return new Authentication(authenticationService, userRepository);
26
- },
27
- deps: ['AuthenticationService', 'UserRepository'],
28
- },
29
- {
30
- provide: 'AuthenticationService',
31
- useFactory: (angularFireAuth) => {
32
- return new AuthenticationFirebaseAuthService(angularFireAuth);
33
- },
34
- deps: [Auth],
35
- },
36
- {
37
- provide: 'Register',
38
- useFactory: (registerService, userRepository) => {
39
- return new Register(registerService, userRepository);
40
- },
41
- deps: ['RegisterService', 'UserRepository'],
42
- },
43
- {
44
- provide: 'RegisterService',
45
- useFactory: (angularFireAuth) => {
46
- return new RegisterFirebaseAuthService(angularFireAuth);
47
- },
48
- deps: [Auth],
49
- },
50
- {
51
- provide: 'SignOut',
52
- useFactory: (authenticationService) => {
53
- return new SignOut(authenticationService);
54
- },
55
- deps: ['AuthenticationService'],
56
- },
57
- {
58
- provide: 'RecoveryPassword',
59
- useFactory: (authenticationService) => {
60
- return new RecoveryPassword(authenticationService);
61
- },
62
- deps: ['AuthenticationService'],
63
- },
64
- ], imports: [provideAuth((injector) => {
65
- const app = injector.get(FirebaseApp);
66
- try {
67
- return initializeAuth(app, {
68
- persistence: [indexedDBLocalPersistence, browserLocalPersistence, browserSessionPersistence],
69
- });
70
- }
71
- catch (error) {
72
- if (error instanceof Error)
73
- console.error('Error initializing auth', error.message);
74
- return getAuth(app);
75
- }
76
- })] });
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3QtYW5ndWxhci9zcmMvYW5ndWxhci1maXJlYmFzZS1hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFtQixNQUFNLG1CQUFtQixDQUFBO0FBQ2hFLE9BQU8sRUFDTCxJQUFJLEVBQ0osdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6QixPQUFPLEVBQ1AseUJBQXlCLEVBQ3pCLGNBQWMsRUFDZCxXQUFXLEdBQ1osTUFBTSxvQkFBb0IsQ0FBQTtBQUMzQixPQUFPLEVBQ0wsY0FBYyxFQUNkLGlDQUFpQyxFQUVqQyxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLDJCQUEyQixFQUUzQixPQUFPLEdBRVIsTUFBTSxtQkFBbUIsQ0FBQTtBQUUxQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUE7OztBQWdFOUQsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxNQUFNLENBQUMsYUFBYSxDQUNsQixPQUF3QixFQUN4QixZQUF5QztRQUV6QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHlCQUF5QjtZQUNuQyxTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTtnQkFDaEQsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRTthQUN2RDtTQUNGLENBQUE7SUFDSCxDQUFDOztzSEFaVSx5QkFBeUI7dUhBQXpCLHlCQUF5Qjt1SEFBekIseUJBQXlCLGFBN0N6QjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixVQUFVLEVBQUUsQ0FBQyxxQkFBNEMsRUFBRSxjQUE4QixF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QUFFLENBQUMscUJBQTRDLEVBQW9CLEVBQUU7Z0NBQzdFLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBOzRCQUNwRCxDQUFDOzRCQUNELElBQUksRUFBRSxDQUFDLHVCQUF1QixDQUFDO3lCQUNoQztxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGaXJlYmFzZUFwcCwgRmlyZWJhc2VPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAnXG5pbXBvcnQge1xuICBBdXRoLFxuICBicm93c2VyTG9jYWxQZXJzaXN0ZW5jZSxcbiAgYnJvd3NlclNlc3Npb25QZXJzaXN0ZW5jZSxcbiAgZ2V0QXV0aCxcbiAgaW5kZXhlZERCTG9jYWxQZXJzaXN0ZW5jZSxcbiAgaW5pdGlhbGl6ZUF1dGgsXG4gIHByb3ZpZGVBdXRoLFxufSBmcm9tICdAYW5ndWxhci9maXJlL2F1dGgnXG5pbXBvcnQge1xuICBBdXRoZW50aWNhdGlvbixcbiAgQXV0aGVudGljYXRpb25GaXJlYmFzZUF1dGhTZXJ2aWNlLFxuICBBdXRoZW50aWNhdGlvblNlcnZpY2UsXG4gIFJlY292ZXJ5UGFzc3dvcmQsXG4gIFJlZ2lzdGVyLFxuICBSZWdpc3RlckZpcmViYXNlQXV0aFNlcnZpY2UsXG4gIFJlZ2lzdGVyU2VydmljZSxcbiAgU2lnbk91dCxcbiAgVXNlclJlcG9zaXRvcnksXG59IGZyb20gJ0BpbmZyYWI0YS9jb25uZWN0J1xuXG5pbXBvcnQgeyBGSVJFQkFTRV9BUFBfTkFNRSwgRklSRUJBU0VfT1BUSU9OUyB9IGZyb20gJy4vY29uc3RzJ1xuaW1wb3J0IHsgRmlyZWJhc2VBcHBDb25maWcgfSBmcm9tICcuL3R5cGVzJ1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUF1dGgoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKVxuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gaW5pdGlhbGl6ZUF1dGgoYXBwLCB7XG4gICAgICAgICAgcGVyc2lzdGVuY2U6IFtpbmRleGVkREJMb2NhbFBlcnNpc3RlbmNlLCBicm93c2VyTG9jYWxQZXJzaXN0ZW5jZSwgYnJvd3NlclNlc3Npb25QZXJzaXN0ZW5jZV0sXG4gICAgICAgIH0pXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikgY29uc29sZS5lcnJvcignRXJyb3IgaW5pdGlhbGl6aW5nIGF1dGgnLCBlcnJvci5tZXNzYWdlKVxuXG4gICAgICAgIHJldHVybiBnZXRBdXRoKGFwcClcbiAgICAgIH1cbiAgICB9KSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogJ0F1dGhlbnRpY2F0aW9uJyxcbiAgICAgIHVzZUZhY3Rvcnk6IChhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSwgdXNlclJlcG9zaXRvcnk6IFVzZXJSZXBvc2l0b3J5KTogQXV0aGVudGljYXRpb24gPT4ge1xuICAgICAgICByZXR1cm4gbmV3IEF1dGhlbnRpY2F0aW9uKGF1dGhlbnRpY2F0aW9uU2VydmljZSwgdXNlclJlcG9zaXRvcnkpXG4gICAgICB9LFxuICAgICAgZGVwczogWydBdXRoZW50aWNhdGlvblNlcnZpY2UnLCAnVXNlclJlcG9zaXRvcnknXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdBdXRoZW50aWNhdGlvblNlcnZpY2UnLFxuICAgICAgdXNlRmFjdG9yeTogKGFuZ3VsYXJGaXJlQXV0aDogQXV0aCk6IEF1dGhlbnRpY2F0aW9uU2VydmljZSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgQXV0aGVudGljYXRpb25GaXJlYmFzZUF1dGhTZXJ2aWNlKGFuZ3VsYXJGaXJlQXV0aClcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbQXV0aF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnUmVnaXN0ZXInLFxuICAgICAgdXNlRmFjdG9yeTogKHJlZ2lzdGVyU2VydmljZTogUmVnaXN0ZXJTZXJ2aWNlLCB1c2VyUmVwb3NpdG9yeTogVXNlclJlcG9zaXRvcnkpOiBSZWdpc3RlciA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUmVnaXN0ZXIocmVnaXN0ZXJTZXJ2aWNlLCB1c2VyUmVwb3NpdG9yeSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ1JlZ2lzdGVyU2VydmljZScsICdVc2VyUmVwb3NpdG9yeSddLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogJ1JlZ2lzdGVyU2VydmljZScsXG4gICAgICB1c2VGYWN0b3J5OiAoYW5ndWxhckZpcmVBdXRoOiBBdXRoKTogUmVnaXN0ZXJTZXJ2aWNlID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBSZWdpc3RlckZpcmViYXNlQXV0aFNlcnZpY2UoYW5ndWxhckZpcmVBdXRoKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFtBdXRoXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6ICdTaWduT3V0JyxcbiAgICAgIHVzZUZhY3Rvcnk6IChhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSk6IFNpZ25PdXQgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFNpZ25PdXQoYXV0aGVudGljYXRpb25TZXJ2aWNlKVxuICAgICAgfSxcbiAgICAgIGRlcHM6IFsnQXV0aGVudGljYXRpb25TZXJ2aWNlJ10sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiAnUmVjb3ZlcnlQYXNzd29yZCcsXG4gICAgICB1c2VGYWN0b3J5OiAoYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UpOiBSZWNvdmVyeVBhc3N3b3JkID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBSZWNvdmVyeVBhc3N3b3JkKGF1dGhlbnRpY2F0aW9uU2VydmljZSlcbiAgICAgIH0sXG4gICAgICBkZXBzOiBbJ0F1dGhlbnRpY2F0aW9uU2VydmljZSddLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJGaXJlYmFzZUF1dGhNb2R1bGUge1xuICBzdGF0aWMgaW5pdGlhbGl6ZUFwcChcbiAgICBvcHRpb25zOiBGaXJlYmFzZU9wdGlvbnMsXG4gICAgbmFtZU9yQ29uZmlnPzogc3RyaW5nIHwgRmlyZWJhc2VBcHBDb25maWcsXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QW5ndWxhckZpcmViYXNlQXV0aE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5ndWxhckZpcmViYXNlQXV0aE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IEZJUkVCQVNFX09QVElPTlMsIHVzZVZhbHVlOiBvcHRpb25zIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRklSRUJBU0VfQVBQX05BTUUsIHVzZVZhbHVlOiBuYW1lT3JDb25maWcgfSxcbiAgICAgIF0sXG4gICAgfVxuICB9XG59XG4iXX0=