af-connect-components 0.0.0-watch

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 (163) hide show
  1. package/README.md +24 -0
  2. package/esm2022/af-connect-components.mjs +5 -0
  3. package/esm2022/lib/af-connect-breadcrumb/af-connect-breadcrumb.component.mjs +22 -0
  4. package/esm2022/lib/af-connect-button/af-connect-button.component.mjs +47 -0
  5. package/esm2022/lib/af-connect-card/af-connect-card-header/af-connect-card-header.component.mjs +33 -0
  6. package/esm2022/lib/af-connect-card/af-connect-card.component.mjs +17 -0
  7. package/esm2022/lib/af-connect-chart/af-connect-chart.component.mjs +11 -0
  8. package/esm2022/lib/af-connect-chip/af-connect-chip.component.mjs +23 -0
  9. package/esm2022/lib/af-connect-components.component.mjs +19 -0
  10. package/esm2022/lib/af-connect-components.module.mjs +255 -0
  11. package/esm2022/lib/af-connect-components.service.mjs +14 -0
  12. package/esm2022/lib/af-connect-content/af-connect-content.component.mjs +14 -0
  13. package/esm2022/lib/af-connect-datepicker/af-connect-datepicker.component.mjs +11 -0
  14. package/esm2022/lib/af-connect-error/af-connect-error.component.mjs +26 -0
  15. package/esm2022/lib/af-connect-footer/af-connect-footer.component.mjs +100 -0
  16. package/esm2022/lib/af-connect-footer/af-connect-footer.data.mjs +444 -0
  17. package/esm2022/lib/af-connect-form-group/af-connect-form-group.component.mjs +11 -0
  18. package/esm2022/lib/af-connect-form-validation-errors/af-connect-form-validation-errors.component.mjs +21 -0
  19. package/esm2022/lib/af-connect-header/af-connect-header.component.mjs +95 -0
  20. package/esm2022/lib/af-connect-inline-error/af-connect-inline-error.component.mjs +29 -0
  21. package/esm2022/lib/af-connect-input/af-connect-input.component.mjs +92 -0
  22. package/esm2022/lib/af-connect-loading-spinner/af-connect-loading-spinner.component.mjs +18 -0
  23. package/esm2022/lib/af-connect-modal/af-connect-modal.component.mjs +101 -0
  24. package/esm2022/lib/af-connect-no-content/af-connect-no-content.component.mjs +26 -0
  25. package/esm2022/lib/af-connect-notification/af-connect-notification.component.mjs +15 -0
  26. package/esm2022/lib/af-connect-products-carousel/af-connect-products-carousel.component.mjs +47 -0
  27. package/esm2022/lib/af-connect-products-carousel/defaultConfig.mjs +27 -0
  28. package/esm2022/lib/af-connect-products-carousel/image-card/image-card.component.mjs +27 -0
  29. package/esm2022/lib/af-connect-profile-dropdown/af-connect-profile-dropdown.component.mjs +124 -0
  30. package/esm2022/lib/af-connect-progress-bar/af-connect-progress-bar.component.mjs +45 -0
  31. package/esm2022/lib/af-connect-radio-button/af-connect-radio-button.component.mjs +99 -0
  32. package/esm2022/lib/af-connect-radio-group/af-connect-radio-group.component.mjs +114 -0
  33. package/esm2022/lib/af-connect-savings-banner/af-connect-savings-banner.component.mjs +17 -0
  34. package/esm2022/lib/af-connect-section/af-connect-section.component.mjs +14 -0
  35. package/esm2022/lib/af-connect-section-header/af-connect-section-header.component.mjs +35 -0
  36. package/esm2022/lib/af-connect-select/af-connect-select.component.mjs +11 -0
  37. package/esm2022/lib/af-connect-solutions-product/af-connect-solutions-product.component.mjs +34 -0
  38. package/esm2022/lib/af-connect-solutions-product/af-connect-solutions-product.data.mjs +72 -0
  39. package/esm2022/lib/af-connect-solutions-product-v2/af-connect-solutions-product-v2.component.mjs +45 -0
  40. package/esm2022/lib/af-connect-solutions-product-v2/af-connect-solutions-product-v2.data.mjs +220 -0
  41. package/esm2022/lib/af-connect-svg-button/af-connect-svg-button.component.mjs +27 -0
  42. package/esm2022/lib/af-connect-tab/af-connect-tab.component.mjs +20 -0
  43. package/esm2022/lib/af-connect-table/af-connect-table.component.mjs +11 -0
  44. package/esm2022/lib/af-connect-tabs/af-connect-tabs.component.mjs +87 -0
  45. package/esm2022/lib/af-connect-toaster-message/af-connect-toaster-message.component.mjs +33 -0
  46. package/esm2022/lib/af-connect-toggle-button/af-connect-toggle-button.component.mjs +133 -0
  47. package/esm2022/lib/af-connect-tooltip/af-connect-tooltip.component.mjs +48 -0
  48. package/esm2022/lib/af-connect-tooltip/types.mjs +2 -0
  49. package/esm2022/lib/constants/animation.constants.mjs +121 -0
  50. package/esm2022/lib/constants/base.constants.mjs +10 -0
  51. package/esm2022/lib/expandable/afc-expandable-wrapper/afc-expandable-wrapper.component.mjs +23 -0
  52. package/esm2022/lib/expandable/expandable-arrow/expandable-arrow.component.mjs +54 -0
  53. package/esm2022/lib/expandable/expandable-container/expandable-container.component.mjs +29 -0
  54. package/esm2022/lib/faq/faq/faq.component.mjs +21 -0
  55. package/esm2022/lib/faq/faq-item/faq-item.component.mjs +16 -0
  56. package/esm2022/lib/faq/faqItem.mjs +2 -0
  57. package/esm2022/lib/faq/image-fallback/image-fallback.component.mjs +74 -0
  58. package/esm2022/lib/models/notification-response.model.mjs +2 -0
  59. package/esm2022/lib/models/radio.model.mjs +2 -0
  60. package/esm2022/lib/models/url-config.mjs +2 -0
  61. package/esm2022/lib/pipes/safe-html.pipe.mjs +20 -0
  62. package/esm2022/lib/services/breakpoint.service.mjs +17 -0
  63. package/esm2022/lib/utilities/number.util.mjs +4 -0
  64. package/esm2022/public-api.mjs +47 -0
  65. package/esm2022/shared/pipes/get-initials.mjs +20 -0
  66. package/fesm2022/af-connect-components.mjs +2925 -0
  67. package/fesm2022/af-connect-components.mjs.map +1 -0
  68. package/index.d.ts +5 -0
  69. package/lib/af-connect-breadcrumb/af-connect-breadcrumb.component.d.ts +10 -0
  70. package/lib/af-connect-button/af-connect-button.component.d.ts +21 -0
  71. package/lib/af-connect-card/af-connect-card-header/af-connect-card-header.component.d.ts +14 -0
  72. package/lib/af-connect-card/af-connect-card.component.d.ts +8 -0
  73. package/lib/af-connect-chart/af-connect-chart.component.d.ts +5 -0
  74. package/lib/af-connect-chip/af-connect-chip.component.d.ts +12 -0
  75. package/lib/af-connect-components.component.d.ts +5 -0
  76. package/lib/af-connect-components.module.d.ts +55 -0
  77. package/lib/af-connect-components.service.d.ts +6 -0
  78. package/lib/af-connect-content/af-connect-content.component.d.ts +8 -0
  79. package/lib/af-connect-datepicker/af-connect-datepicker.component.d.ts +5 -0
  80. package/lib/af-connect-error/af-connect-error.component.d.ts +12 -0
  81. package/lib/af-connect-footer/af-connect-footer.component.d.ts +31 -0
  82. package/lib/af-connect-footer/af-connect-footer.data.d.ts +140 -0
  83. package/lib/af-connect-form-group/af-connect-form-group.component.d.ts +5 -0
  84. package/lib/af-connect-form-validation-errors/af-connect-form-validation-errors.component.d.ts +10 -0
  85. package/lib/af-connect-header/af-connect-header.component.d.ts +36 -0
  86. package/lib/af-connect-inline-error/af-connect-inline-error.component.d.ts +13 -0
  87. package/lib/af-connect-input/af-connect-input.component.d.ts +36 -0
  88. package/lib/af-connect-loading-spinner/af-connect-loading-spinner.component.d.ts +8 -0
  89. package/lib/af-connect-modal/af-connect-modal.component.d.ts +46 -0
  90. package/lib/af-connect-no-content/af-connect-no-content.component.d.ts +12 -0
  91. package/lib/af-connect-notification/af-connect-notification.component.d.ts +8 -0
  92. package/lib/af-connect-products-carousel/af-connect-products-carousel.component.d.ts +32 -0
  93. package/lib/af-connect-products-carousel/defaultConfig.d.ts +6 -0
  94. package/lib/af-connect-products-carousel/image-card/image-card.component.d.ts +13 -0
  95. package/lib/af-connect-profile-dropdown/af-connect-profile-dropdown.component.d.ts +50 -0
  96. package/lib/af-connect-progress-bar/af-connect-progress-bar.component.d.ts +18 -0
  97. package/lib/af-connect-radio-button/af-connect-radio-button.component.d.ts +34 -0
  98. package/lib/af-connect-radio-group/af-connect-radio-group.component.d.ts +35 -0
  99. package/lib/af-connect-savings-banner/af-connect-savings-banner.component.d.ts +7 -0
  100. package/lib/af-connect-section/af-connect-section.component.d.ts +8 -0
  101. package/lib/af-connect-section-header/af-connect-section-header.component.d.ts +15 -0
  102. package/lib/af-connect-select/af-connect-select.component.d.ts +5 -0
  103. package/lib/af-connect-solutions-product/af-connect-solutions-product.component.d.ts +15 -0
  104. package/lib/af-connect-solutions-product/af-connect-solutions-product.data.d.ts +17 -0
  105. package/lib/af-connect-solutions-product-v2/af-connect-solutions-product-v2.component.d.ts +18 -0
  106. package/lib/af-connect-solutions-product-v2/af-connect-solutions-product-v2.data.d.ts +3 -0
  107. package/lib/af-connect-svg-button/af-connect-svg-button.component.d.ts +14 -0
  108. package/lib/af-connect-tab/af-connect-tab.component.d.ts +9 -0
  109. package/lib/af-connect-table/af-connect-table.component.d.ts +5 -0
  110. package/lib/af-connect-tabs/af-connect-tabs.component.d.ts +25 -0
  111. package/lib/af-connect-toaster-message/af-connect-toaster-message.component.d.ts +13 -0
  112. package/lib/af-connect-toggle-button/af-connect-toggle-button.component.d.ts +37 -0
  113. package/lib/af-connect-tooltip/af-connect-tooltip.component.d.ts +16 -0
  114. package/lib/af-connect-tooltip/types.d.ts +1 -0
  115. package/lib/constants/animation.constants.d.ts +13 -0
  116. package/lib/constants/base.constants.d.ts +10 -0
  117. package/lib/expandable/afc-expandable-wrapper/afc-expandable-wrapper.component.d.ts +8 -0
  118. package/lib/expandable/expandable-arrow/expandable-arrow.component.d.ts +21 -0
  119. package/lib/expandable/expandable-container/expandable-container.component.d.ts +8 -0
  120. package/lib/faq/faq/faq.component.d.ts +9 -0
  121. package/lib/faq/faq-item/faq-item.component.d.ts +7 -0
  122. package/lib/faq/faqItem.d.ts +7 -0
  123. package/lib/faq/image-fallback/image-fallback.component.d.ts +18 -0
  124. package/lib/models/notification-response.model.d.ts +17 -0
  125. package/lib/models/radio.model.d.ts +3 -0
  126. package/lib/models/url-config.d.ts +5 -0
  127. package/lib/pipes/safe-html.pipe.d.ts +10 -0
  128. package/lib/services/breakpoint.service.d.ts +10 -0
  129. package/lib/utilities/number.util.d.ts +1 -0
  130. package/package.json +26 -0
  131. package/public-api.d.ts +43 -0
  132. package/shared/pipes/get-initials.d.ts +10 -0
  133. package/src/assets/icons/basket-blue.svg +37 -0
  134. package/src/assets/icons/checkmark-teal.svg +11 -0
  135. package/src/assets/icons/chevron-right-rounded.svg +1 -0
  136. package/src/assets/icons/devices-blue.svg +17 -0
  137. package/src/assets/icons/document-clock-blue.svg +68 -0
  138. package/src/assets/icons/hourglass-blue.svg +42 -0
  139. package/src/assets/icons/phone-text-bubbles-blue.svg +677 -0
  140. package/src/assets/icons/price-tag-blue.svg +61 -0
  141. package/src/assets/icons/shield-blue.svg +35 -0
  142. package/src/assets/icons/travel-blue.svg +415 -0
  143. package/src/assets/images/AF-Plus-carousel.jpg +0 -0
  144. package/src/assets/images/AF-Rewards-carousel.jpg +0 -0
  145. package/src/assets/images/FAQ_image.png +0 -0
  146. package/src/assets/images/Unit-trusts-carousel.jpg +0 -0
  147. package/src/assets/images/mmm-carousel.jpg +0 -0
  148. package/src/assets/images/nam_s4u_broadwalk.png +0 -0
  149. package/src/assets/images/nam_s4u_pier.png +0 -0
  150. package/src/assets/images/nam_s4u_sunset_tree.png +0 -0
  151. package/src/assets/images/solutions-advice.jpg +0 -0
  152. package/src/assets/images/solutions-afplus-mobile.jpg +0 -0
  153. package/src/assets/images/solutions-afplus-v2.jpg +0 -0
  154. package/src/assets/images/solutions-afplus.jpg +0 -0
  155. package/src/assets/images/solutions-invest-mobile.jpg +0 -0
  156. package/src/assets/images/solutions-invest.jpg +0 -0
  157. package/src/assets/images/solutions-mmm-mobile.jpg +0 -0
  158. package/src/assets/images/solutions-mmm-v2.jpg +0 -0
  159. package/src/assets/images/solutions-mmm.jpg +0 -0
  160. package/src/assets/images/solutions-rewards.png +0 -0
  161. package/src/assets/images/solutions-taxtim.jpg +0 -0
  162. package/src/assets/images/solutions-welltec.jpg +0 -0
  163. package/src/assets/images/solutions-will.jpg +0 -0
@@ -0,0 +1,444 @@
1
+ export const configs = {
2
+ 'ZA': {
3
+ sections: [
4
+ {
5
+ title: 'Company',
6
+ sectionItems: [
7
+ {
8
+ title: 'Investor relations',
9
+ link: 'https://investors.alexforbes.com/'
10
+ },
11
+ {
12
+ title: 'Careers',
13
+ link: 'https://www.alexforbes.com/za/en/about/careers.html'
14
+ },
15
+ {
16
+ title: 'Procurement',
17
+ link: 'https://www.alexforbes.com/za/en/about/procurement.html'
18
+ },
19
+ {
20
+ title: 'Risk & compliance',
21
+ link: 'https://investors.alexforbes.com/governance/#1649142494218-25325-08da'
22
+ },
23
+ ]
24
+ },
25
+ {
26
+ title: 'Resources',
27
+ sectionItems: [
28
+ {
29
+ title: 'Business directory',
30
+ link: 'https://www.alexforbes.com/za/en/contact/business-directory.html'
31
+ },
32
+ {
33
+ title: 'Call me back',
34
+ link: 'https://kfta.app.alexanderforbes.co.za/TotalAgility/Forms/Digital/Contact_Us.form',
35
+ isHidden: true
36
+ },
37
+ {
38
+ title: 'Compliments',
39
+ link: 'https://www.alexforbes.com/za/en/contact/compliments.html'
40
+ },
41
+ {
42
+ title: 'Complaints',
43
+ link: 'https://www.alexforbes.com/za/en/contact/Complaints.html'
44
+ },
45
+ {
46
+ title: 'Report fraud',
47
+ link: 'https://www.alexforbes.com/za/en/contact/Report-fraud.html'
48
+ },
49
+ {
50
+ title: 'Unclaimed benefits',
51
+ link: 'https://www.alexforbes.com/za/en/corporate/products-corporate/unclaimed-benefits-fund.html'
52
+ },
53
+ ]
54
+ },
55
+ ],
56
+ address: [
57
+ {
58
+ title: 'Head Office',
59
+ sectionItems: [
60
+ {
61
+ title: 'Contact information',
62
+ bold: true
63
+ },
64
+ {
65
+ title: 'Email : info@alexforbes.com',
66
+ },
67
+ {
68
+ title: 'Telephone : +27 11 269 0000',
69
+ },
70
+ {
71
+ title: 'Fax : +27 11 263 0149',
72
+ },
73
+ ]
74
+ },
75
+ {
76
+ title: '',
77
+ sectionItems: [
78
+ {
79
+ title: 'Address',
80
+ bold: true
81
+ },
82
+ {
83
+ title: 'Alexforbes',
84
+ },
85
+ {
86
+ title: '115 West Street',
87
+ },
88
+ {
89
+ title: 'Sandton, 2196',
90
+ },
91
+ ]
92
+ },
93
+ ],
94
+ bannerTitle: 'Copyright 2026 Alexander Forbes Group Holdings Limited.',
95
+ instagram: {
96
+ link: 'https://www.instagram.com/alexforbesofficial',
97
+ isHidden: false,
98
+ },
99
+ linkedIn: {
100
+ link: 'https://www.linkedin.com/company/alexforbesofficial',
101
+ isHidden: false,
102
+ },
103
+ facebook: {
104
+ link: 'https://www.facebook.com/alexforbesofficial/',
105
+ isHidden: false,
106
+ },
107
+ twitter: {
108
+ link: 'https://twitter.com/alexforbes',
109
+ isHidden: false,
110
+ },
111
+ whatsapp: {
112
+ link: 'https://api.whatsapp.com/send/?phone=27600439601&text=help&type=phone_number&app_absent=0',
113
+ isHidden: false,
114
+ }
115
+ },
116
+ 'NA': {
117
+ sections: [
118
+ {
119
+ title: 'Company',
120
+ sectionItems: [
121
+ {
122
+ title: 'Investor relations',
123
+ link: 'https://investors.alexforbes.com/'
124
+ },
125
+ {
126
+ title: 'Careers',
127
+ link: 'https://www.alexforbes.com/na/en/about/careers.html'
128
+ },
129
+ {
130
+ title: 'Procurement',
131
+ link: 'https://www.alexforbes.com/na/en/about/procurement.html'
132
+ },
133
+ {
134
+ title: 'Risk & compliance',
135
+ link: 'https://investors.alexforbes.com/governance/#1649142494218-25325-08da'
136
+ },
137
+ ]
138
+ },
139
+ {
140
+ title: 'Resources',
141
+ sectionItems: [
142
+ {
143
+ title: 'Business directory',
144
+ link: 'https://www.alexforbes.com/za/en/contact/business-directory.html'
145
+ },
146
+ {
147
+ title: 'Report fraud',
148
+ link: 'https://www.alexforbes.com/na/en/contact/Report-fraud.html'
149
+ },
150
+ {
151
+ title: 'Complaints',
152
+ link: 'https://www.alexforbes.com/na/en/contact/Complaints.html'
153
+ },
154
+ ]
155
+ },
156
+ ],
157
+ address: [
158
+ {
159
+ title: 'Namibia',
160
+ sectionItems: [
161
+ {
162
+ title: 'Contact information',
163
+ bold: true
164
+ },
165
+ {
166
+ title: 'Email: AFFSNamibia@alexforbes.com',
167
+ },
168
+ {
169
+ title: 'Telephone: +264 (61) 293 7000',
170
+ },
171
+ ]
172
+ },
173
+ {
174
+ title: '',
175
+ sectionItems: [
176
+ {
177
+ title: 'Address',
178
+ bold: true
179
+ },
180
+ {
181
+ title: 'Alexforbes House, 1st Floor ',
182
+ },
183
+ {
184
+ title: 'c/o Independence Avenue & Fidel Castro Street',
185
+ },
186
+ {
187
+ title: 'Windhoek, Namibia',
188
+ },
189
+ ]
190
+ },
191
+ ],
192
+ bannerTitle: 'Copyright 2026 Alexander Forbes Group Holdings Limited.',
193
+ instagram: {
194
+ link: 'https://www.instagram.com/alexforbesofficial',
195
+ isHidden: false,
196
+ },
197
+ linkedIn: {
198
+ link: 'https://na.linkedin.com/showcase/alexforbesnamibia',
199
+ isHidden: false,
200
+ },
201
+ facebook: {
202
+ link: 'https://www.facebook.com/alexforbesnamibia/',
203
+ isHidden: false,
204
+ },
205
+ twitter: {
206
+ link: 'https://twitter.com/alexforbes',
207
+ isHidden: false,
208
+ },
209
+ whatsapp: {
210
+ link: 'https://api.whatsapp.com/send/?phone=27600439601&text=help&type=phone_number&app_absent=0',
211
+ isHidden: true,
212
+ }
213
+ }
214
+ };
215
+ /**
216
+ Footer component for AF Angular Websites. A config object can be passed to change data partially or fully.
217
+
218
+ public exampleTestConfig: FooterConfig = {
219
+ bannerTitle: 'test'
220
+ }
221
+
222
+ Passing the exampleTestConfig will replace only the banner. Everything else will be loaded from the default config.
223
+
224
+
225
+ defaultConfig: FooterConfig = {
226
+ sections: [
227
+ {
228
+ title: 'COMPANY',
229
+ sectionItems: [
230
+ {
231
+ title: 'Investor relations',
232
+ link: 'https://investors.alexforbes.com/'
233
+ },
234
+ {
235
+ title: 'Careers',
236
+ link: 'https://www.alexforbes.com/za/en/about/careers.html'
237
+ },
238
+ {
239
+ title: 'Procurement',
240
+ link: 'https://www.alexforbes.com/za/en/about/procurement.html'
241
+ },
242
+ {
243
+ title: 'Risk & Compliance',
244
+ link: 'https://www.alexanderforbesinvestments.co.za/about-us/risk-and-compliance'
245
+ },
246
+ ]
247
+ },
248
+ {
249
+ title: 'RESOURCES',
250
+ sectionItems: [
251
+ {
252
+ title: 'Business directory',
253
+ link: 'https://www.alexforbes.com/za/en/contact/business-directory.html'
254
+ },
255
+ {
256
+ title: 'Compliments',
257
+ link: 'https://www.alexforbes.com/za/en/contact/compliments.html'
258
+ },
259
+ {
260
+ title: 'Complaints',
261
+ link: 'https://www.alexforbes.com/za/en/contact/Complaints.html'
262
+ },
263
+ {
264
+ title: 'Report fraud',
265
+ link: 'https://www.alexforbes.com/za/en/contact/Report-fraud.html'
266
+ },
267
+ {
268
+ title: 'Unclaimed benefits',
269
+ link: 'https://www.alexforbes.com/za/en/corporate/products-corporate/unclaimed-benefits-fund.html'
270
+ },
271
+ ]
272
+ },
273
+ ],
274
+ address: [
275
+ {
276
+ title: 'Head Office',
277
+ sectionItems: [
278
+ {
279
+ title: 'Contact information',
280
+ },
281
+ {
282
+ title: 'Email : info@alexforbes.com',
283
+ },
284
+ {
285
+ title: 'Telephone : +27 11 269 0000',
286
+ },
287
+ {
288
+ title: 'Fax : +27 11 263 0149',
289
+ },
290
+ ]
291
+ },
292
+ {
293
+ title: '',
294
+ sectionItems: [
295
+ {
296
+ title: 'Address',
297
+ },
298
+ {
299
+ title: 'Alexforbes',
300
+ },
301
+ {
302
+ title: '115 West Street',
303
+ },
304
+ {
305
+ title: 'Sandton, 2196',
306
+ },
307
+ ]
308
+ },
309
+ ],
310
+ bannerTitle: 'Copyright 2022 Alexander Forbes Group Holdings Limited.',
311
+ instagram: {
312
+ link: 'https://www.instagram.com/alexforbesofficial',
313
+ isHidden: false,
314
+ },
315
+ linkedIn: {
316
+ link: 'https://www.linkedin.com/company/alexforbesofficial',
317
+ isHidden: false,
318
+ },
319
+ facebook: {
320
+ link: 'https://www.facebook.com/alexforbesofficial/',
321
+ isHidden: false,
322
+ },
323
+ twitter: {
324
+ link: 'https://twitter.com/alexforbes',
325
+ isHidden: false,
326
+ }
327
+ }
328
+ */
329
+ /*
330
+ public defaultConfig: FooterConfig = {
331
+ sections: [
332
+ {
333
+ title: 'Company',
334
+ sectionItems: [
335
+ {
336
+ title: 'Investor relations',
337
+ link: 'https://investors.alexforbes.com/'
338
+ },
339
+ {
340
+ title: 'Careers',
341
+ link: 'https://www.alexforbes.com/za/en/about/careers.html'
342
+ },
343
+ {
344
+ title: 'Procurement',
345
+ link: 'https://www.alexforbes.com/za/en/about/procurement.html'
346
+ },
347
+ {
348
+ title: 'Risk & compliance',
349
+ link: 'https://investors.alexforbes.com/governance/#1649142494218-25325-08da'
350
+ },
351
+ ]
352
+ },
353
+ {
354
+ title: 'Resources',
355
+ sectionItems: [
356
+ {
357
+ title: 'Business directory',
358
+ link: 'https://www.alexforbes.com/za/en/contact/business-directory.html'
359
+ },
360
+ {
361
+ title: 'Call me back',
362
+ link: 'https://kfta.app.alexanderforbes.co.za/TotalAgility/Forms/Digital/Contact_Us.form',
363
+ isHidden: true
364
+ },
365
+ {
366
+ title: 'Compliments',
367
+ link: 'https://www.alexforbes.com/za/en/contact/compliments.html'
368
+ },
369
+ {
370
+ title: 'Complaints',
371
+ link: 'https://www.alexforbes.com/za/en/contact/Complaints.html'
372
+ },
373
+ {
374
+ title: 'Report fraud',
375
+ link: 'https://www.alexforbes.com/za/en/contact/Report-fraud.html'
376
+ },
377
+ {
378
+ title: 'Unclaimed benefits',
379
+ link: 'https://www.alexforbes.com/za/en/corporate/products-corporate/unclaimed-benefits-fund.html'
380
+ },
381
+ ]
382
+ },
383
+ ],
384
+ address: [
385
+ {
386
+ title: 'Head Office',
387
+ sectionItems: [
388
+ {
389
+ title: 'Contact information',
390
+ bold: false
391
+ },
392
+ {
393
+ title: 'Email : info@alexforbes.com',
394
+ },
395
+ {
396
+ title: 'Telephone : +27 11 269 0000',
397
+ },
398
+ {
399
+ title: 'Fax : +27 11 263 0149',
400
+ },
401
+ ]
402
+ },
403
+ {
404
+ title: '',
405
+ sectionItems: [
406
+ {
407
+ title: 'Address',
408
+ bold: false
409
+ },
410
+ {
411
+ title: 'Alexforbes',
412
+ },
413
+ {
414
+ title: '115 West Street',
415
+ },
416
+ {
417
+ title: 'Sandton, 2196',
418
+ },
419
+ ]
420
+ },
421
+ ],
422
+ bannerTitle: 'Copyright 2024 Alexander Forbes Group Holdings Limited.',
423
+ instagram: {
424
+ link: 'https://www.instagram.com/alexforbesofficial',
425
+ isHidden: false,
426
+ },
427
+ linkedIn: {
428
+ link: 'https://www.linkedin.com/company/alexforbesofficial',
429
+ isHidden: false,
430
+ },
431
+ facebook: {
432
+ link: 'https://www.facebook.com/alexforbesofficial/',
433
+ isHidden: false,
434
+ },
435
+ twitter: {
436
+ link: 'https://twitter.com/alexforbes',
437
+ isHidden: false,
438
+ },
439
+ whatsapp: {
440
+ link:'https://api.whatsapp.com/send/?phone=27600439601&text=help&type=phone_number&app_absent=0',
441
+ isHidden: false,
442
+ }
443
+ }*/
444
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWYtY29ubmVjdC1mb290ZXIuZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FmLWNvbm5lY3QtY29tcG9uZW50cy9zcmMvbGliL2FmLWNvbm5lY3QtZm9vdGVyL2FmLWNvbm5lY3QtZm9vdGVyLmRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0JBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBK0M7SUFDakUsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLFlBQVksRUFBRTtvQkFDWjt3QkFDRSxLQUFLLEVBQUUsb0JBQW9CO3dCQUMzQixJQUFJLEVBQUUsbUNBQW1DO3FCQUMxQztvQkFDRDt3QkFDRSxLQUFLLEVBQUUsU0FBUzt3QkFDaEIsSUFBSSxFQUFFLHFEQUFxRDtxQkFDNUQ7b0JBQ0Q7d0JBQ0UsS0FBSyxFQUFFLGFBQWE7d0JBQ3BCLElBQUksRUFBRSx5REFBeUQ7cUJBQ2hFO29CQUNEO3dCQUNFLEtBQUssRUFBRSxtQkFBbUI7d0JBQzFCLElBQUksRUFBRSx1RUFBdUU7cUJBQzlFO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxLQUFLLEVBQUUsV0FBVztnQkFDbEIsWUFBWSxFQUFFO29CQUNaO3dCQUNFLEtBQUssRUFBRSxvQkFBb0I7d0JBQzNCLElBQUksRUFBRSxrRUFBa0U7cUJBQ3pFO29CQUNEO3dCQUNFLEtBQUssRUFBRSxjQUFjO3dCQUNyQixJQUFJLEVBQUUsbUZBQW1GO3dCQUN6RixRQUFRLEVBQUUsSUFBSTtxQkFDZjtvQkFDRDt3QkFDRSxLQUFLLEVBQUUsYUFBYTt3QkFDcEIsSUFBSSxFQUFFLDJEQUEyRDtxQkFDbEU7b0JBQ0Q7d0JBQ0UsS0FBSyxFQUFFLFlBQVk7d0JBQ25CLElBQUksRUFBRSwwREFBMEQ7cUJBQ2pFO29CQUNEO3dCQUNFLEtBQUssRUFBRSxjQUFjO3dCQUNyQixJQUFJLEVBQUUsNERBQTREO3FCQUNuRTtvQkFDRDt3QkFDRSxLQUFLLEVBQUUsb0JBQW9CO3dCQUMzQixJQUFJLEVBQUUsNEZBQTRGO3FCQUNuRztpQkFDRjthQUNGO1NBQ0Y7UUFDRCxPQUFPLEVBQUU7WUFDUDtnQkFDRSxLQUFLLEVBQUUsYUFBYTtnQkFDcEIsWUFBWSxFQUFFO29CQUNaO3dCQUNFLEtBQUssRUFBRSxxQkFBcUI7d0JBQzVCLElBQUksRUFBRSxJQUFJO3FCQUNYO29CQUNEO3dCQUNFLEtBQUssRUFBRSw2QkFBNkI7cUJBQ3JDO29CQUNEO3dCQUNFLEtBQUssRUFBRSw2QkFBNkI7cUJBQ3JDO29CQUNEO3dCQUNFLEtBQUssRUFBRSx1QkFBdUI7cUJBQy9CO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxLQUFLLEVBQUUsRUFBRTtnQkFDVCxZQUFZLEVBQUU7b0JBQ1o7d0JBQ0UsS0FBSyxFQUFFLFNBQVM7d0JBQ2hCLElBQUksRUFBRSxJQUFJO3FCQUNYO29CQUNEO3dCQUNFLEtBQUssRUFBRSxZQUFZO3FCQUNwQjtvQkFDRDt3QkFDRSxLQUFLLEVBQUUsaUJBQWlCO3FCQUN6QjtvQkFDRDt3QkFDRSxLQUFLLEVBQUUsZUFBZTtxQkFDdkI7aUJBQ0Y7YUFDRjtTQUNGO1FBQ0QsV0FBVyxFQUFFLHlEQUF5RDtRQUN0RSxTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsOENBQThDO1lBQ3BELFFBQVEsRUFBRSxLQUFLO1NBQ2hCO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLHFEQUFxRDtZQUMzRCxRQUFRLEVBQUUsS0FBSztTQUNoQjtRQUNELFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSw4Q0FBOEM7WUFDcEQsUUFBUSxFQUFFLEtBQUs7U0FDaEI7UUFDRCxPQUFPLEVBQUU7WUFDUCxJQUFJLEVBQUUsZ0NBQWdDO1lBQ3RDLFFBQVEsRUFBRSxLQUFLO1NBQ2hCO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFDLDJGQUEyRjtZQUNoRyxRQUFRLEVBQUUsS0FBSztTQUNoQjtLQUNGO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLFlBQVksRUFBRTtvQkFDWjt3QkFDRSxLQUFLLEVBQUUsb0JBQW9CO3dCQUMzQixJQUFJLEVBQUUsbUNBQW1DO3FCQUMxQztvQkFDRDt3QkFDRSxLQUFLLEVBQUUsU0FBUzt3QkFDaEIsSUFBSSxFQUFFLHFEQUFxRDtxQkFDNUQ7b0JBQ0Q7d0JBQ0UsS0FBSyxFQUFFLGFBQWE7d0JBQ3BCLElBQUksRUFBRSx5REFBeUQ7cUJBQ2hFO29CQUNEO3dCQUNFLEtBQUssRUFBRSxtQkFBbUI7d0JBQzFCLElBQUksRUFBRSx1RUFBdUU7cUJBQzlFO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxLQUFLLEVBQUUsV0FBVztnQkFDbEIsWUFBWSxFQUFFO29CQUNaO3dCQUNFLEtBQUssRUFBRSxvQkFBb0I7d0JBQzNCLElBQUksRUFBRSxrRUFBa0U7cUJBQ3pFO29CQUNEO3dCQUNFLEtBQUssRUFBRSxjQUFjO3dCQUNyQixJQUFJLEVBQUUsNERBQTREO3FCQUNuRTtvQkFDRDt3QkFDRSxLQUFLLEVBQUUsWUFBWTt3QkFDbkIsSUFBSSxFQUFFLDBEQUEwRDtxQkFDakU7aUJBQ0Y7YUFDRjtTQUNGO1FBQ0QsT0FBTyxFQUFFO1lBQ1A7Z0JBQ0UsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLFlBQVksRUFBRTtvQkFDWjt3QkFDRSxLQUFLLEVBQUUscUJBQXFCO3dCQUM1QixJQUFJLEVBQUUsSUFBSTtxQkFDWDtvQkFDRDt3QkFDRSxLQUFLLEVBQUUsbUNBQW1DO3FCQUMzQztvQkFDRDt3QkFDRSxLQUFLLEVBQUUsK0JBQStCO3FCQUN2QztpQkFDRjthQUNGO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsWUFBWSxFQUFFO29CQUNaO3dCQUNFLEtBQUssRUFBRSxTQUFTO3dCQUNoQixJQUFJLEVBQUUsSUFBSTtxQkFDWDtvQkFDRDt3QkFDRSxLQUFLLEVBQUUsOEJBQThCO3FCQUN0QztvQkFDRDt3QkFDRSxLQUFLLEVBQUUsK0NBQStDO3FCQUN2RDtvQkFDRDt3QkFDRSxLQUFLLEVBQUUsbUJBQW1CO3FCQUMzQjtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxXQUFXLEVBQUUseURBQXlEO1FBQ3RFLFNBQVMsRUFBRTtZQUNULElBQUksRUFBRSw4Q0FBOEM7WUFDcEQsUUFBUSxFQUFFLEtBQUs7U0FDaEI7UUFDRCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUsb0RBQW9EO1lBQzFELFFBQVEsRUFBRSxLQUFLO1NBQ2hCO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsSUFBSSxFQUFFLDZDQUE2QztZQUNuRCxRQUFRLEVBQUUsS0FBSztTQUNoQjtRQUNELE9BQU8sRUFBRTtZQUNQLElBQUksRUFBRSxnQ0FBZ0M7WUFDdEMsUUFBUSxFQUFFLEtBQUs7U0FDaEI7UUFDRCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUMsMkZBQTJGO1lBQ2hHLFFBQVEsRUFBRSxJQUFJO1NBQ2Y7S0FDRjtDQUNGLENBQUM7QUFHQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FpSEs7QUFFTDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0hHIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTb2NpYWxMaW5rIHtcclxuICBsaW5rOiBzdHJpbmcsXHJcbiAgaXNIaWRkZW4/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlY3Rpb25JdGVtIHtcclxuICB0aXRsZTogc3RyaW5nLFxyXG4gIGxpbms/OiBzdHJpbmcsXHJcbiAgaXNIaWRkZW4/OiBib29sZWFuLFxyXG4gIGJvbGQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlY3Rpb24ge1xyXG4gIHRpdGxlPzogc3RyaW5nLFxyXG4gIHNlY3Rpb25JdGVtczogU2VjdGlvbkl0ZW1bXTtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyQ29uZmlnIHtcclxuICBiYW5uZXJUaXRsZT86IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICBpbnN0YWdyYW0/OiBTb2NpYWxMaW5rLFxyXG4gIGxpbmtlZEluPzogU29jaWFsTGluayxcclxuICBmYWNlYm9vaz86IFNvY2lhbExpbmssXHJcbiAgdHdpdHRlcj86IFNvY2lhbExpbmssXHJcbiAgd2hhdHNhcHA/OiBTb2NpYWxMaW5rLFxyXG4gIHNlY3Rpb25zPzogU2VjdGlvbltdLFxyXG4gIGFkZHJlc3M/OiBTZWN0aW9uW10sXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvdW50cnlDb2RlID0gJ1pBJyB8ICdOQSc7XHJcblxyXG5leHBvcnQgY29uc3QgY29uZmlnczogUmVjb3JkPENvdW50cnlDb2RlLCBQYXJ0aWFsPEZvb3RlckNvbmZpZz4+ID0ge1xyXG4gICdaQSc6IHtcclxuICAgIHNlY3Rpb25zOiBbXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ0NvbXBhbnknLFxyXG4gICAgICAgIHNlY3Rpb25JdGVtczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0ludmVzdG9yIHJlbGF0aW9ucycsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL2ludmVzdG9ycy5hbGV4Zm9yYmVzLmNvbS8nXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0NhcmVlcnMnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGZvcmJlcy5jb20vemEvZW4vYWJvdXQvY2FyZWVycy5odG1sJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdQcm9jdXJlbWVudCcsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS96YS9lbi9hYm91dC9wcm9jdXJlbWVudC5odG1sJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdSaXNrICYgY29tcGxpYW5jZScsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL2ludmVzdG9ycy5hbGV4Zm9yYmVzLmNvbS9nb3Zlcm5hbmNlLyMxNjQ5MTQyNDk0MjE4LTI1MzI1LTA4ZGEnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnUmVzb3VyY2VzJyxcclxuICAgICAgICBzZWN0aW9uSXRlbXM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdCdXNpbmVzcyBkaXJlY3RvcnknLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGZvcmJlcy5jb20vemEvZW4vY29udGFjdC9idXNpbmVzcy1kaXJlY3RvcnkuaHRtbCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQ2FsbCBtZSBiYWNrJyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8va2Z0YS5hcHAuYWxleGFuZGVyZm9yYmVzLmNvLnphL1RvdGFsQWdpbGl0eS9Gb3Jtcy9EaWdpdGFsL0NvbnRhY3RfVXMuZm9ybScsXHJcbiAgICAgICAgICAgIGlzSGlkZGVuOiB0cnVlXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0NvbXBsaW1lbnRzJyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmFsZXhmb3JiZXMuY29tL3phL2VuL2NvbnRhY3QvY29tcGxpbWVudHMuaHRtbCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQ29tcGxhaW50cycsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS96YS9lbi9jb250YWN0L0NvbXBsYWludHMuaHRtbCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnUmVwb3J0IGZyYXVkJyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmFsZXhmb3JiZXMuY29tL3phL2VuL2NvbnRhY3QvUmVwb3J0LWZyYXVkLmh0bWwnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1VuY2xhaW1lZCBiZW5lZml0cycsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS96YS9lbi9jb3Jwb3JhdGUvcHJvZHVjdHMtY29ycG9yYXRlL3VuY2xhaW1lZC1iZW5lZml0cy1mdW5kLmh0bWwnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgICBhZGRyZXNzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ0hlYWQgT2ZmaWNlJyxcclxuICAgICAgICBzZWN0aW9uSXRlbXM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdDb250YWN0IGluZm9ybWF0aW9uJyxcclxuICAgICAgICAgICAgYm9sZDogdHJ1ZVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdFbWFpbCA6IGluZm9AYWxleGZvcmJlcy5jb20nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdUZWxlcGhvbmUgOiArMjcgMTEgMjY5IDAwMDAnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdGYXggOiArMjcgMTEgMjYzIDAxNDknLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJycsXHJcbiAgICAgICAgc2VjdGlvbkl0ZW1zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQWRkcmVzcycsXHJcbiAgICAgICAgICAgIGJvbGQ6IHRydWVcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQWxleGZvcmJlcycsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJzExNSBXZXN0IFN0cmVldCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1NhbmR0b24sIDIxOTYnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgYmFubmVyVGl0bGU6ICdDb3B5cmlnaHQgMjAyNiBBbGV4YW5kZXIgRm9yYmVzIEdyb3VwIEhvbGRpbmdzIExpbWl0ZWQuJyxcclxuICAgIGluc3RhZ3JhbToge1xyXG4gICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9hbGV4Zm9yYmVzb2ZmaWNpYWwnLFxyXG4gICAgICBpc0hpZGRlbjogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAgbGlua2VkSW46IHtcclxuICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L2FsZXhmb3JiZXNvZmZpY2lhbCcsXHJcbiAgICAgIGlzSGlkZGVuOiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICBmYWNlYm9vazoge1xyXG4gICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL2FsZXhmb3JiZXNvZmZpY2lhbC8nLFxyXG4gICAgICBpc0hpZGRlbjogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAgdHdpdHRlcjoge1xyXG4gICAgICBsaW5rOiAnaHR0cHM6Ly90d2l0dGVyLmNvbS9hbGV4Zm9yYmVzJyxcclxuICAgICAgaXNIaWRkZW46IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIHdoYXRzYXBwOiB7XHJcbiAgICAgIGxpbms6J2h0dHBzOi8vYXBpLndoYXRzYXBwLmNvbS9zZW5kLz9waG9uZT0yNzYwMDQzOTYwMSZ0ZXh0PWhlbHAmdHlwZT1waG9uZV9udW1iZXImYXBwX2Fic2VudD0wJyxcclxuICAgICAgaXNIaWRkZW46IGZhbHNlLFxyXG4gICAgfVxyXG4gIH0sXHJcbiAgJ05BJzoge1xyXG4gICAgc2VjdGlvbnM6IFtcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnQ29tcGFueScsXHJcbiAgICAgICAgc2VjdGlvbkl0ZW1zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnSW52ZXN0b3IgcmVsYXRpb25zJyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8vaW52ZXN0b3JzLmFsZXhmb3JiZXMuY29tLydcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQ2FyZWVycycsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS9uYS9lbi9hYm91dC9jYXJlZXJzLmh0bWwnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1Byb2N1cmVtZW50JyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmFsZXhmb3JiZXMuY29tL25hL2VuL2Fib3V0L3Byb2N1cmVtZW50Lmh0bWwnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1Jpc2sgJiBjb21wbGlhbmNlJyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8vaW52ZXN0b3JzLmFsZXhmb3JiZXMuY29tL2dvdmVybmFuY2UvIzE2NDkxNDI0OTQyMTgtMjUzMjUtMDhkYSdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSZXNvdXJjZXMnLFxyXG4gICAgICAgIHNlY3Rpb25JdGVtczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0J1c2luZXNzIGRpcmVjdG9yeScsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS96YS9lbi9jb250YWN0L2J1c2luZXNzLWRpcmVjdG9yeS5odG1sJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdSZXBvcnQgZnJhdWQnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGZvcmJlcy5jb20vbmEvZW4vY29udGFjdC9SZXBvcnQtZnJhdWQuaHRtbCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQ29tcGxhaW50cycsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS9uYS9lbi9jb250YWN0L0NvbXBsYWludHMuaHRtbCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXVxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICAgIGFkZHJlc3M6IFtcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnTmFtaWJpYScsXHJcbiAgICAgICAgc2VjdGlvbkl0ZW1zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQ29udGFjdCBpbmZvcm1hdGlvbicsXHJcbiAgICAgICAgICAgIGJvbGQ6IHRydWVcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnRW1haWw6IEFGRlNOYW1pYmlhQGFsZXhmb3JiZXMuY29tJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnVGVsZXBob25lOiArMjY0ICg2MSkgMjkzIDcwMDAnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJycsXHJcbiAgICAgICAgc2VjdGlvbkl0ZW1zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQWRkcmVzcycsXHJcbiAgICAgICAgICAgIGJvbGQ6IHRydWVcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQWxleGZvcmJlcyBIb3VzZSwgMXN0IEZsb29yICcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ2MvbyBJbmRlcGVuZGVuY2UgQXZlbnVlICYgRmlkZWwgQ2FzdHJvIFN0cmVldCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1dpbmRob2VrLCBOYW1pYmlhJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXVxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICAgIGJhbm5lclRpdGxlOiAnQ29weXJpZ2h0IDIwMjYgQWxleGFuZGVyIEZvcmJlcyBHcm91cCBIb2xkaW5ncyBMaW1pdGVkLicsXHJcbiAgICBpbnN0YWdyYW06IHtcclxuICAgICAgbGluazogJ2h0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vYWxleGZvcmJlc29mZmljaWFsJyxcclxuICAgICAgaXNIaWRkZW46IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIGxpbmtlZEluOiB7XHJcbiAgICAgIGxpbms6ICdodHRwczovL25hLmxpbmtlZGluLmNvbS9zaG93Y2FzZS9hbGV4Zm9yYmVzbmFtaWJpYScsXHJcbiAgICAgIGlzSGlkZGVuOiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICBmYWNlYm9vazoge1xyXG4gICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL2FsZXhmb3JiZXNuYW1pYmlhLycsXHJcbiAgICAgIGlzSGlkZGVuOiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB0d2l0dGVyOiB7XHJcbiAgICAgIGxpbms6ICdodHRwczovL3R3aXR0ZXIuY29tL2FsZXhmb3JiZXMnLFxyXG4gICAgICBpc0hpZGRlbjogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAgd2hhdHNhcHA6IHtcclxuICAgICAgbGluazonaHR0cHM6Ly9hcGkud2hhdHNhcHAuY29tL3NlbmQvP3Bob25lPTI3NjAwNDM5NjAxJnRleHQ9aGVscCZ0eXBlPXBob25lX251bWJlciZhcHBfYWJzZW50PTAnLFxyXG4gICAgICBpc0hpZGRlbjogdHJ1ZSxcclxuICAgIH1cclxuICB9XHJcbn07XHJcblxyXG5cclxuICAvKipcclxuICAgICBGb290ZXIgY29tcG9uZW50IGZvciBBRiBBbmd1bGFyIFdlYnNpdGVzLiBBIGNvbmZpZyBvYmplY3QgY2FuIGJlIHBhc3NlZCB0byBjaGFuZ2UgZGF0YSBwYXJ0aWFsbHkgb3IgZnVsbHkuXHJcblxyXG4gICAgIHB1YmxpYyBleGFtcGxlVGVzdENvbmZpZzogRm9vdGVyQ29uZmlnID0ge1xyXG4gICAgICBiYW5uZXJUaXRsZTogJ3Rlc3QnXHJcbiAgICAgfVxyXG5cclxuICAgICBQYXNzaW5nIHRoZSBleGFtcGxlVGVzdENvbmZpZyB3aWxsIHJlcGxhY2Ugb25seSB0aGUgYmFubmVyLiBFdmVyeXRoaW5nIGVsc2Ugd2lsbCBiZSBsb2FkZWQgZnJvbSB0aGUgZGVmYXVsdCBjb25maWcuXHJcblxyXG5cclxuICAgICBkZWZhdWx0Q29uZmlnOiBGb290ZXJDb25maWcgPSB7XHJcbiAgICBzZWN0aW9uczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdDT01QQU5ZJyxcclxuICAgICAgICBzZWN0aW9uSXRlbXM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdJbnZlc3RvciByZWxhdGlvbnMnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly9pbnZlc3RvcnMuYWxleGZvcmJlcy5jb20vJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdDYXJlZXJzJyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmFsZXhmb3JiZXMuY29tL3phL2VuL2Fib3V0L2NhcmVlcnMuaHRtbCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnUHJvY3VyZW1lbnQnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGZvcmJlcy5jb20vemEvZW4vYWJvdXQvcHJvY3VyZW1lbnQuaHRtbCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnUmlzayAmIENvbXBsaWFuY2UnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGFuZGVyZm9yYmVzaW52ZXN0bWVudHMuY28uemEvYWJvdXQtdXMvcmlzay1hbmQtY29tcGxpYW5jZSdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSRVNPVVJDRVMnLFxyXG4gICAgICAgIHNlY3Rpb25JdGVtczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0J1c2luZXNzIGRpcmVjdG9yeScsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS96YS9lbi9jb250YWN0L2J1c2luZXNzLWRpcmVjdG9yeS5odG1sJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdDb21wbGltZW50cycsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS96YS9lbi9jb250YWN0L2NvbXBsaW1lbnRzLmh0bWwnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0NvbXBsYWludHMnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGZvcmJlcy5jb20vemEvZW4vY29udGFjdC9Db21wbGFpbnRzLmh0bWwnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1JlcG9ydCBmcmF1ZCcsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS96YS9lbi9jb250YWN0L1JlcG9ydC1mcmF1ZC5odG1sJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdVbmNsYWltZWQgYmVuZWZpdHMnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGZvcmJlcy5jb20vemEvZW4vY29ycG9yYXRlL3Byb2R1Y3RzLWNvcnBvcmF0ZS91bmNsYWltZWQtYmVuZWZpdHMtZnVuZC5odG1sJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgYWRkcmVzczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdIZWFkIE9mZmljZScsXHJcbiAgICAgICAgc2VjdGlvbkl0ZW1zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQ29udGFjdCBpbmZvcm1hdGlvbicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0VtYWlsIDogaW5mb0BhbGV4Zm9yYmVzLmNvbScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1RlbGVwaG9uZSA6ICsyNyAxMSAyNjkgMDAwMCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0ZheCA6ICsyNyAxMSAyNjMgMDE0OScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnJyxcclxuICAgICAgICBzZWN0aW9uSXRlbXM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdBZGRyZXNzJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQWxleGZvcmJlcycsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJzExNSBXZXN0IFN0cmVldCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1NhbmR0b24sIDIxOTYnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgYmFubmVyVGl0bGU6ICdDb3B5cmlnaHQgMjAyMiBBbGV4YW5kZXIgRm9yYmVzIEdyb3VwIEhvbGRpbmdzIExpbWl0ZWQuJyxcclxuICAgIGluc3RhZ3JhbToge1xyXG4gICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9hbGV4Zm9yYmVzb2ZmaWNpYWwnLFxyXG4gICAgICBpc0hpZGRlbjogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAgbGlua2VkSW46IHtcclxuICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L2FsZXhmb3JiZXNvZmZpY2lhbCcsXHJcbiAgICAgIGlzSGlkZGVuOiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICBmYWNlYm9vazoge1xyXG4gICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL2FsZXhmb3JiZXNvZmZpY2lhbC8nLFxyXG4gICAgICBpc0hpZGRlbjogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAgdHdpdHRlcjoge1xyXG4gICAgICBsaW5rOiAnaHR0cHM6Ly90d2l0dGVyLmNvbS9hbGV4Zm9yYmVzJyxcclxuICAgICAgaXNIaWRkZW46IGZhbHNlLFxyXG4gICAgfVxyXG4gIH1cclxuICAgICAqL1xyXG5cclxuICAvKlxyXG4gIHB1YmxpYyBkZWZhdWx0Q29uZmlnOiBGb290ZXJDb25maWcgPSB7XHJcbiAgICBzZWN0aW9uczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdDb21wYW55JyxcclxuICAgICAgICBzZWN0aW9uSXRlbXM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdJbnZlc3RvciByZWxhdGlvbnMnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly9pbnZlc3RvcnMuYWxleGZvcmJlcy5jb20vJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdDYXJlZXJzJyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmFsZXhmb3JiZXMuY29tL3phL2VuL2Fib3V0L2NhcmVlcnMuaHRtbCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnUHJvY3VyZW1lbnQnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGZvcmJlcy5jb20vemEvZW4vYWJvdXQvcHJvY3VyZW1lbnQuaHRtbCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnUmlzayAmIGNvbXBsaWFuY2UnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly9pbnZlc3RvcnMuYWxleGZvcmJlcy5jb20vZ292ZXJuYW5jZS8jMTY0OTE0MjQ5NDIxOC0yNTMyNS0wOGRhJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ1Jlc291cmNlcycsXHJcbiAgICAgICAgc2VjdGlvbkl0ZW1zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQnVzaW5lc3MgZGlyZWN0b3J5JyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmFsZXhmb3JiZXMuY29tL3phL2VuL2NvbnRhY3QvYnVzaW5lc3MtZGlyZWN0b3J5Lmh0bWwnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0NhbGwgbWUgYmFjaycsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL2tmdGEuYXBwLmFsZXhhbmRlcmZvcmJlcy5jby56YS9Ub3RhbEFnaWxpdHkvRm9ybXMvRGlnaXRhbC9Db250YWN0X1VzLmZvcm0nLFxyXG4gICAgICAgICAgICBpc0hpZGRlbjogdHJ1ZVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdDb21wbGltZW50cycsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS96YS9lbi9jb250YWN0L2NvbXBsaW1lbnRzLmh0bWwnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0NvbXBsYWludHMnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGZvcmJlcy5jb20vemEvZW4vY29udGFjdC9Db21wbGFpbnRzLmh0bWwnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1JlcG9ydCBmcmF1ZCcsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS96YS9lbi9jb250YWN0L1JlcG9ydC1mcmF1ZC5odG1sJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdVbmNsYWltZWQgYmVuZWZpdHMnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGZvcmJlcy5jb20vemEvZW4vY29ycG9yYXRlL3Byb2R1Y3RzLWNvcnBvcmF0ZS91bmNsYWltZWQtYmVuZWZpdHMtZnVuZC5odG1sJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgYWRkcmVzczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdIZWFkIE9mZmljZScsXHJcbiAgICAgICAgc2VjdGlvbkl0ZW1zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQ29udGFjdCBpbmZvcm1hdGlvbicsXHJcbiAgICAgICAgICAgIGJvbGQ6IGZhbHNlXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0VtYWlsIDogaW5mb0BhbGV4Zm9yYmVzLmNvbScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1RlbGVwaG9uZSA6ICsyNyAxMSAyNjkgMDAwMCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0ZheCA6ICsyNyAxMSAyNjMgMDE0OScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnJyxcclxuICAgICAgICBzZWN0aW9uSXRlbXM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdBZGRyZXNzJyxcclxuICAgICAgICAgICAgYm9sZDogZmFsc2VcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQWxleGZvcmJlcycsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJzExNSBXZXN0IFN0cmVldCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1NhbmR0b24sIDIxOTYnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgYmFubmVyVGl0bGU6ICdDb3B5cmlnaHQgMjAyNCBBbGV4YW5kZXIgRm9yYmVzIEdyb3VwIEhvbGRpbmdzIExpbWl0ZWQuJyxcclxuICAgIGluc3RhZ3JhbToge1xyXG4gICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9hbGV4Zm9yYmVzb2ZmaWNpYWwnLFxyXG4gICAgICBpc0hpZGRlbjogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAgbGlua2VkSW46IHtcclxuICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L2FsZXhmb3JiZXNvZmZpY2lhbCcsXHJcbiAgICAgIGlzSGlkZGVuOiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICBmYWNlYm9vazoge1xyXG4gICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL2FsZXhmb3JiZXNvZmZpY2lhbC8nLFxyXG4gICAgICBpc0hpZGRlbjogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAgdHdpdHRlcjoge1xyXG4gICAgICBsaW5rOiAnaHR0cHM6Ly90d2l0dGVyLmNvbS9hbGV4Zm9yYmVzJyxcclxuICAgICAgaXNIaWRkZW46IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIHdoYXRzYXBwOiB7XHJcbiAgICAgIGxpbms6J2h0dHBzOi8vYXBpLndoYXRzYXBwLmNvbS9zZW5kLz9waG9uZT0yNzYwMDQzOTYwMSZ0ZXh0PWhlbHAmdHlwZT1waG9uZV9udW1iZXImYXBwX2Fic2VudD0wJyxcclxuICAgICAgaXNIaWRkZW46IGZhbHNlLFxyXG4gICAgfVxyXG4gIH0qLyJdfQ==
@@ -0,0 +1,11 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AfConnectFormGroupComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectFormGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AfConnectFormGroupComponent, selector: "lib-af-connect-form-group", ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [":host{display:grid;grid-template-columns:repeat(3,1fr);column-gap:2rem;align-items:end}@media (max-width: 1024px){:host{grid-template-columns:repeat(2,1fr);column-gap:1.5rem;row-gap:1.5rem}}@media (max-width: 480px){:host{grid-template-columns:auto}}\n"] }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectFormGroupComponent, decorators: [{
8
+ type: Component,
9
+ args: [{ selector: 'lib-af-connect-form-group', template: "<ng-content></ng-content>\r\n", styles: [":host{display:grid;grid-template-columns:repeat(3,1fr);column-gap:2rem;align-items:end}@media (max-width: 1024px){:host{grid-template-columns:repeat(2,1fr);column-gap:1.5rem;row-gap:1.5rem}}@media (max-width: 480px){:host{grid-template-columns:auto}}\n"] }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWYtY29ubmVjdC1mb3JtLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FmLWNvbm5lY3QtY29tcG9uZW50cy9zcmMvbGliL2FmLWNvbm5lY3QtZm9ybS1ncm91cC9hZi1jb25uZWN0LWZvcm0tZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWYtY29ubmVjdC1jb21wb25lbnRzL3NyYy9saWIvYWYtY29ubmVjdC1mb3JtLWdyb3VwL2FmLWNvbm5lY3QtZm9ybS1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8xQyxNQUFNLE9BQU8sMkJBQTJCOytHQUEzQiwyQkFBMkI7bUdBQTNCLDJCQUEyQixpRUNQeEMsK0JBQ0E7OzRGRE1hLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFmLWNvbm5lY3QtZm9ybS1ncm91cCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FmLWNvbm5lY3QtZm9ybS1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWYtY29ubmVjdC1mb3JtLWdyb3VwLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFmQ29ubmVjdEZvcm1Hcm91cENvbXBvbmVudCB7XHJcblxyXG59XHJcbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuIl19
@@ -0,0 +1,21 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { numberWithCommas } from '../utilities/number.util';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class AfConnectFormValidationErrorsComponent {
6
+ constructor() {
7
+ this.fieldText = 'Field';
8
+ this.convertToNumberWithCommas = numberWithCommas;
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectFormValidationErrorsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AfConnectFormValidationErrorsComponent, selector: "lib-af-connect-form-validation-errors", inputs: { fieldText: "fieldText", control: "control" }, ngImport: i0, template: "<div class=\"container\" *ngIf=\"control && control.errors && control.dirty && control.touched\">\r\n <div class=\"container__error\" *ngIf=\"control.errors['required']\">{{ fieldText }} is required</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['emptyValue']\">Please enter a {{ fieldText }}</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['minlength']\">\r\n {{ fieldText }} must have be least {{ control.errors['minlength'].requiredLength }} symbols long\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['maxlength']\">\r\n {{ fieldText }} must be no more than {{ control.errors['maxlength'].requiredLength }} symbols\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['existingProductName']\">\r\n Please enter a unique Product Name. Example: Alexforbes Life Cover\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['email']\">Invalid Email address</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['NAN']\">Please enter a valid number</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['positiveNumber']\">\r\n Please enter a positive number. Example: R100 000\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['integerNumber']\">\r\n Please enter a number without any digits after the decimal point\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['max']\">\r\n Please enter a number less than or equal to {{ convertToNumberWithCommas(control.errors['max'].max) }}\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['length']\">\r\n {{ fieldText }} must be {{ control.errors['length'] }} digits long\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['alphabetic']\">\r\n {{ fieldText }} cannot contain numbers or special characters\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['selectOptions']\">\r\n Please select a valid {{ fieldText }} from the dropdown list\r\n </div>\r\n </div>\r\n \r\n <div class=\"container\" *ngIf=\"control && control.errors && control.dirty\">\r\n <div class=\"container__error\" *ngIf=\"control.errors['startDateBeforeEndDate']\">\r\n You have selected an incorrect date\r\n </div>\r\n </div>\r\n ", styles: [".container__error{color:var(--primary-orange-mobile-color);font-size:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectFormValidationErrorsComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ selector: 'lib-af-connect-form-validation-errors', template: "<div class=\"container\" *ngIf=\"control && control.errors && control.dirty && control.touched\">\r\n <div class=\"container__error\" *ngIf=\"control.errors['required']\">{{ fieldText }} is required</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['emptyValue']\">Please enter a {{ fieldText }}</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['minlength']\">\r\n {{ fieldText }} must have be least {{ control.errors['minlength'].requiredLength }} symbols long\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['maxlength']\">\r\n {{ fieldText }} must be no more than {{ control.errors['maxlength'].requiredLength }} symbols\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['existingProductName']\">\r\n Please enter a unique Product Name. Example: Alexforbes Life Cover\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['email']\">Invalid Email address</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['NAN']\">Please enter a valid number</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['positiveNumber']\">\r\n Please enter a positive number. Example: R100 000\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['integerNumber']\">\r\n Please enter a number without any digits after the decimal point\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['max']\">\r\n Please enter a number less than or equal to {{ convertToNumberWithCommas(control.errors['max'].max) }}\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['length']\">\r\n {{ fieldText }} must be {{ control.errors['length'] }} digits long\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['alphabetic']\">\r\n {{ fieldText }} cannot contain numbers or special characters\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['selectOptions']\">\r\n Please select a valid {{ fieldText }} from the dropdown list\r\n </div>\r\n </div>\r\n \r\n <div class=\"container\" *ngIf=\"control && control.errors && control.dirty\">\r\n <div class=\"container__error\" *ngIf=\"control.errors['startDateBeforeEndDate']\">\r\n You have selected an incorrect date\r\n </div>\r\n </div>\r\n ", styles: [".container__error{color:var(--primary-orange-mobile-color);font-size:12px}\n"] }]
16
+ }], propDecorators: { fieldText: [{
17
+ type: Input
18
+ }], control: [{
19
+ type: Input
20
+ }] } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWYtY29ubmVjdC1mb3JtLXZhbGlkYXRpb24tZXJyb3JzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FmLWNvbm5lY3QtY29tcG9uZW50cy9zcmMvbGliL2FmLWNvbm5lY3QtZm9ybS12YWxpZGF0aW9uLWVycm9ycy9hZi1jb25uZWN0LWZvcm0tdmFsaWRhdGlvbi1lcnJvcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWYtY29ubmVjdC1jb21wb25lbnRzL3NyYy9saWIvYWYtY29ubmVjdC1mb3JtLXZhbGlkYXRpb24tZXJyb3JzL2FmLWNvbm5lY3QtZm9ybS12YWxpZGF0aW9uLWVycm9ycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBTzVELE1BQU0sT0FBTyxzQ0FBc0M7SUFMbkQ7UUFNVyxjQUFTLEdBQVcsT0FBTyxDQUFDO1FBRTlCLDhCQUF5QixHQUFHLGdCQUFnQixDQUFDO0tBQ3JEOytHQUpZLHNDQUFzQzttR0FBdEMsc0NBQXNDLHFJQ1RuRCxxMUVBdUNFOzs0RkQ5Qlcsc0NBQXNDO2tCQUxsRCxTQUFTOytCQUNFLHVDQUF1Qzs4QkFLeEMsU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBudW1iZXJXaXRoQ29tbWFzIH0gZnJvbSAnLi4vdXRpbGl0aWVzL251bWJlci51dGlsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFmLWNvbm5lY3QtZm9ybS12YWxpZGF0aW9uLWVycm9ycycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FmLWNvbm5lY3QtZm9ybS12YWxpZGF0aW9uLWVycm9ycy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWYtY29ubmVjdC1mb3JtLXZhbGlkYXRpb24tZXJyb3JzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFmQ29ubmVjdEZvcm1WYWxpZGF0aW9uRXJyb3JzQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBmaWVsZFRleHQ6IHN0cmluZyA9ICdGaWVsZCc7XHJcbiAgQElucHV0KCkgY29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgcHVibGljIGNvbnZlcnRUb051bWJlcldpdGhDb21tYXMgPSBudW1iZXJXaXRoQ29tbWFzO1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIiAqbmdJZj1cImNvbnRyb2wgJiYgY29udHJvbC5lcnJvcnMgJiYgY29udHJvbC5kaXJ0eSAmJiBjb250cm9sLnRvdWNoZWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1sncmVxdWlyZWQnXVwiPnt7IGZpZWxkVGV4dCB9fSBpcyByZXF1aXJlZDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lcl9fZXJyb3JcIiAqbmdJZj1cImNvbnRyb2wuZXJyb3JzWydlbXB0eVZhbHVlJ11cIj5QbGVhc2UgZW50ZXIgYSB7eyBmaWVsZFRleHQgfX08L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1snbWlubGVuZ3RoJ11cIj5cclxuICAgICAge3sgZmllbGRUZXh0IH19IG11c3QgaGF2ZSBiZSBsZWFzdCB7eyBjb250cm9sLmVycm9yc1snbWlubGVuZ3RoJ10ucmVxdWlyZWRMZW5ndGggfX0gc3ltYm9scyBsb25nXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1snbWF4bGVuZ3RoJ11cIj5cclxuICAgICAge3sgZmllbGRUZXh0IH19IG11c3QgYmUgbm8gbW9yZSB0aGFuIHt7IGNvbnRyb2wuZXJyb3JzWydtYXhsZW5ndGgnXS5yZXF1aXJlZExlbmd0aCB9fSBzeW1ib2xzXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1snZXhpc3RpbmdQcm9kdWN0TmFtZSddXCI+XHJcbiAgICAgIFBsZWFzZSBlbnRlciBhIHVuaXF1ZSBQcm9kdWN0IE5hbWUuIEV4YW1wbGU6IEFsZXhmb3JiZXMgTGlmZSBDb3ZlclxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyX19lcnJvclwiICpuZ0lmPVwiY29udHJvbC5lcnJvcnNbJ2VtYWlsJ11cIj5JbnZhbGlkIEVtYWlsIGFkZHJlc3M8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1snTkFOJ11cIj5QbGVhc2UgZW50ZXIgYSB2YWxpZCBudW1iZXI8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1sncG9zaXRpdmVOdW1iZXInXVwiPlxyXG4gICAgICBQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSBudW1iZXIuIEV4YW1wbGU6IFIxMDAgMDAwXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1snaW50ZWdlck51bWJlciddXCI+XHJcbiAgICAgIFBsZWFzZSBlbnRlciBhIG51bWJlciB3aXRob3V0IGFueSBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnRcclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lcl9fZXJyb3JcIiAqbmdJZj1cImNvbnRyb2wuZXJyb3JzWydtYXgnXVwiPlxyXG4gICAgICBQbGVhc2UgZW50ZXIgYSBudW1iZXIgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHt7IGNvbnZlcnRUb051bWJlcldpdGhDb21tYXMoY29udHJvbC5lcnJvcnNbJ21heCddLm1heCkgfX1cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lcl9fZXJyb3JcIiAqbmdJZj1cImNvbnRyb2wuZXJyb3JzWydsZW5ndGgnXVwiPlxyXG4gICAgICB7eyBmaWVsZFRleHQgfX0gbXVzdCBiZSB7eyBjb250cm9sLmVycm9yc1snbGVuZ3RoJ10gfX0gZGlnaXRzIGxvbmdcclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lcl9fZXJyb3JcIiAqbmdJZj1cImNvbnRyb2wuZXJyb3JzWydhbHBoYWJldGljJ11cIj5cclxuICAgICAge3sgZmllbGRUZXh0IH19IGNhbm5vdCBjb250YWluIG51bWJlcnMgb3Igc3BlY2lhbCBjaGFyYWN0ZXJzXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1snc2VsZWN0T3B0aW9ucyddXCI+XHJcbiAgICAgIFBsZWFzZSBzZWxlY3QgYSB2YWxpZCB7eyBmaWVsZFRleHQgfX0gZnJvbSB0aGUgZHJvcGRvd24gbGlzdFxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgXHJcbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiICpuZ0lmPVwiY29udHJvbCAmJiBjb250cm9sLmVycm9ycyAmJiBjb250cm9sLmRpcnR5XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyX19lcnJvclwiICpuZ0lmPVwiY29udHJvbC5lcnJvcnNbJ3N0YXJ0RGF0ZUJlZm9yZUVuZERhdGUnXVwiPlxyXG4gICAgICBZb3UgaGF2ZSBzZWxlY3RlZCBhbiBpbmNvcnJlY3QgZGF0ZVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgIl19