@envive-ai/react-hooks 0.1.2 → 0.1.4

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 (411) hide show
  1. package/dist/adapters/amplitude/index.cjs +8 -8
  2. package/dist/adapters/amplitude/index.d.cts +5 -3
  3. package/dist/adapters/amplitude/index.d.ts +5 -3
  4. package/dist/adapters/amplitude/index.js +5 -5
  5. package/dist/api-B2euFL-5.cjs +2 -1
  6. package/dist/api-XRr_lAG6.js +2 -1
  7. package/dist/application/config/index.cjs +14 -5
  8. package/dist/application/config/index.d.cts +2 -1
  9. package/dist/application/config/index.d.ts +2 -1
  10. package/dist/application/config/index.js +14 -5
  11. package/dist/application/models/graphql/index.cjs +7 -7
  12. package/dist/application/models/graphql/index.d.cts +1 -1
  13. package/dist/application/models/graphql/index.d.ts +1 -1
  14. package/dist/application/models/graphql/index.js +5 -5
  15. package/dist/application/models/guards/api/index.d.cts +2 -2
  16. package/dist/application/models/guards/api/index.d.ts +2 -2
  17. package/dist/application/models/index.cjs +49 -49
  18. package/dist/application/models/index.d.cts +8 -9
  19. package/dist/application/models/index.d.ts +8 -9
  20. package/dist/application/models/index.js +5 -5
  21. package/dist/application/models/utilityTypes/index.d.cts +1 -1
  22. package/dist/application/models/utilityTypes/index.d.ts +1 -1
  23. package/dist/application/models/variantInfo/index.d.cts +1 -1
  24. package/dist/application/models/variantInfo/index.d.ts +1 -1
  25. package/dist/application/service/customerService/index.cjs +1 -1
  26. package/dist/application/service/customerService/index.d.cts +2 -2
  27. package/dist/application/service/customerService/index.d.ts +2 -2
  28. package/dist/application/service/customerService/index.js +1 -1
  29. package/dist/application/service/index.cjs +30 -750
  30. package/dist/application/service/index.d.cts +14 -22
  31. package/dist/application/service/index.d.ts +14 -22
  32. package/dist/application/service/index.js +7 -722
  33. package/dist/application/utils/index.cjs +32 -32
  34. package/dist/application/utils/index.d.cts +13 -13
  35. package/dist/application/utils/index.d.ts +11 -11
  36. package/dist/application/utils/index.js +5 -5
  37. package/dist/atomStore-B1cgmbP0.js +32 -0
  38. package/dist/atomStore-JwGb7pcy.cjs +58 -0
  39. package/dist/atoms/app/index.cjs +11 -11
  40. package/dist/atoms/app/index.d.cts +11 -11
  41. package/dist/atoms/app/index.d.ts +11 -11
  42. package/dist/atoms/app/index.js +5 -5
  43. package/dist/atoms/atomStore/index.cjs +1 -2
  44. package/dist/atoms/atomStore/index.d.cts +2 -1
  45. package/dist/atoms/atomStore/index.d.ts +2 -1
  46. package/dist/atoms/atomStore/index.js +1 -2
  47. package/dist/atoms/chat/index.cjs +35 -35
  48. package/dist/atoms/chat/index.d.cts +37 -37
  49. package/dist/atoms/chat/index.d.ts +10 -10
  50. package/dist/atoms/chat/index.js +5 -5
  51. package/dist/atoms/globalSearch/index.cjs +1 -1
  52. package/dist/atoms/globalSearch/index.d.cts +7 -6
  53. package/dist/atoms/globalSearch/index.d.ts +7 -6
  54. package/dist/atoms/globalSearch/index.js +1 -1
  55. package/dist/atoms/org/index.cjs +32 -35
  56. package/dist/atoms/org/index.d.cts +32 -53
  57. package/dist/atoms/org/index.d.ts +31 -52
  58. package/dist/atoms/org/index.js +6 -7
  59. package/dist/atoms/search/index.cjs +36 -38
  60. package/dist/atoms/search/index.d.cts +9 -10
  61. package/dist/atoms/search/index.d.ts +9 -10
  62. package/dist/atoms/search/index.js +5 -7
  63. package/dist/bandolier-B76-OE75.cjs +1230 -0
  64. package/dist/bandolier-DRn_x1g1.js +1230 -0
  65. package/dist/carpe-kHi4RLB5.cjs +608 -0
  66. package/dist/carpe-qrSU99gq.js +606 -0
  67. package/dist/{chat-CCgyDehy.cjs → chat-BgONoYU7.cjs} +2 -1
  68. package/dist/chat-CLJ4NWcN.js +26 -0
  69. package/dist/{components-CScS7Ii-.cjs → components-BKZbet67.cjs} +2 -1
  70. package/dist/components-CV1fhAkj.js +11 -0
  71. package/dist/config/locators/components/chat/index.cjs +1 -1
  72. package/dist/config/locators/components/chat/index.d.cts +1 -1
  73. package/dist/config/locators/components/chat/index.d.ts +1 -1
  74. package/dist/config/locators/components/chat/index.js +1 -1
  75. package/dist/config/locators/components/chat/variants/index.cjs +2 -1
  76. package/dist/config/locators/components/chat/variants/index.d.cts +2 -1
  77. package/dist/config/locators/components/chat/variants/index.d.ts +2 -1
  78. package/dist/config/locators/components/chat/variants/index.js +2 -1
  79. package/dist/config/locators/components/index.cjs +1 -1
  80. package/dist/config/locators/components/index.d.cts +1 -1
  81. package/dist/config/locators/components/index.d.ts +1 -1
  82. package/dist/config/locators/components/index.js +1 -1
  83. package/dist/config/locators/components/search/index.cjs +2 -1
  84. package/dist/config/locators/components/search/index.d.cts +2 -1
  85. package/dist/config/locators/components/search/index.d.ts +2 -1
  86. package/dist/config/locators/components/search/index.js +2 -1
  87. package/dist/config/locators/index.cjs +4 -4
  88. package/dist/config/locators/index.d.cts +4 -3
  89. package/dist/config/locators/index.d.ts +4 -3
  90. package/dist/config/locators/index.js +4 -4
  91. package/dist/contexts/index.cjs +10 -13
  92. package/dist/contexts/index.d.cts +41 -22
  93. package/dist/contexts/index.d.ts +41 -22
  94. package/dist/contexts/index.js +6 -12
  95. package/dist/contexts-CQDwe3rK.cjs +14333 -0
  96. package/dist/contexts-e2sM-B9g.js +12919 -0
  97. package/dist/coterie-mMirPcHP.js +240 -0
  98. package/dist/coterie-yQ-_JXSw.cjs +240 -0
  99. package/dist/customerService-BG1uNZZ1.cjs +36 -0
  100. package/dist/customerService-BHQRnLhC.js +23 -0
  101. package/dist/custservice-types-C83itZmy.cjs +35 -0
  102. package/dist/custservice-types-DPQ-4TI6.js +23 -0
  103. package/dist/default-8Jfv8ehQ.cjs +199 -0
  104. package/dist/default-C8PQf-38.js +176 -0
  105. package/dist/default-LukSiCz1.js +4 -0
  106. package/dist/default-rJSJ887P.cjs +4 -0
  107. package/dist/divIds-CWkntTsx.js +23 -0
  108. package/dist/{divIds-CFyAjjp3.cjs → divIds-DEL_-qU0.cjs} +2 -1
  109. package/dist/dreamlandBaby-DHltv12Z.cjs +347 -0
  110. package/dist/dreamlandBaby-cG0HM9bt.js +347 -0
  111. package/dist/{embedded-BlXJUbik.cjs → embedded--2L0F4b5.cjs} +2 -1
  112. package/dist/embedded-C5uJqmuD.js +23 -0
  113. package/dist/entrypoints-CNUvSgnk.js +7 -0
  114. package/dist/entrypoints-DM9Sm18O.cjs +19 -0
  115. package/dist/events/index.d.cts +2 -1
  116. package/dist/events/index.d.ts +2 -1
  117. package/dist/events-ClCDFK7t.js +2 -1
  118. package/dist/events-Da7gpmGv.cjs +2 -1
  119. package/dist/featureFlagService-5wdmW02z.d.ts +18 -0
  120. package/dist/featureFlagService-DaelrXEk.d.cts +18 -0
  121. package/dist/fiveCbd-Cvnwh03g.cjs +614 -0
  122. package/dist/fiveCbd-DhYMlsf9.js +614 -0
  123. package/dist/forLoveAndLemons-C8DuUexW.js +666 -0
  124. package/dist/forLoveAndLemons-DR6a1zjJ.cjs +668 -0
  125. package/dist/{globalSearch-hxbXekus.cjs → globalSearch-BTeZxvk1.cjs} +2 -1
  126. package/dist/globalSearch-b0wC7ZEO.js +14 -0
  127. package/dist/greenpan-B4Pu65kV.js +398 -0
  128. package/dist/greenpan-BL5p6j7f.cjs +398 -0
  129. package/dist/grooveLife-DjKWHoN3.cjs +343 -0
  130. package/dist/grooveLife-JK0TyaPz.js +343 -0
  131. package/dist/homegrownCannabis-DxqSDkmS.js +411 -0
  132. package/dist/homegrownCannabis-ZnfCqW-m.cjs +411 -0
  133. package/dist/hooks/index.cjs +11 -11
  134. package/dist/hooks/index.d.cts +30 -21
  135. package/dist/hooks/index.d.ts +30 -21
  136. package/dist/hooks/index.js +6 -12
  137. package/dist/index-BTK5uzs6.d.cts +98 -0
  138. package/dist/index-BfuO9b0Q.d.ts +749 -0
  139. package/dist/index-BzgkfbNO.d.cts +228 -0
  140. package/dist/index-C62lPpy4.d.cts +25 -0
  141. package/dist/index-CExtydIH.d.ts +9 -0
  142. package/dist/index-CKKkTsms.d.ts +39 -0
  143. package/dist/index-CNsGWfS6.d.cts +749 -0
  144. package/dist/index-CYtsPztZ.d.cts +203 -0
  145. package/dist/index-C_C0tLeD.d.ts +203 -0
  146. package/dist/index-ClJ0nMsR.d.cts +184 -0
  147. package/dist/index-Cx9e-fRi.d.ts +184 -0
  148. package/dist/index-D2VaMPA3.d.ts +98 -0
  149. package/dist/index-D46Rd0io.d.cts +39 -0
  150. package/dist/index-DFL1dIT_.d.ts +7 -0
  151. package/dist/index-DPx8s5YH.d.ts +25 -0
  152. package/dist/index-Dxpscrvz.d.ts +228 -0
  153. package/dist/index-MFbPQ8Ji.d.ts +95 -0
  154. package/dist/index-VSFakgAI.d.cts +95 -0
  155. package/dist/index-jBATkcc_.d.cts +9 -0
  156. package/dist/index-zZjcds15.d.cts +7 -0
  157. package/dist/interceptors/index.cjs +7 -8
  158. package/dist/interceptors/index.d.cts +10 -10
  159. package/dist/interceptors/index.d.ts +10 -10
  160. package/dist/interceptors/index.js +5 -6
  161. package/dist/jackArcher-CXf_IAmC.js +728 -0
  162. package/dist/jackArcher-mGkojXek.cjs +728 -0
  163. package/dist/jordanCraig-BvCvPRoR.js +1787 -0
  164. package/dist/jordanCraig-Dv8pVCiS.cjs +1787 -0
  165. package/dist/kindredBravely-UQP7wiNu.cjs +491 -0
  166. package/dist/kindredBravely-X8F_LNph.js +491 -0
  167. package/dist/kutFromTheKloth-BhYKk3CN.cjs +370 -0
  168. package/dist/kutFromTheKloth-D1xsTSJr.js +370 -0
  169. package/dist/larryAndSerges-1411NuZa.cjs +262 -0
  170. package/dist/larryAndSerges-DVIRLItu.js +262 -0
  171. package/dist/leapsAndRebounds-BJ8mwr33.js +361 -0
  172. package/dist/leapsAndRebounds-UcP9EJVO.cjs +361 -0
  173. package/dist/logger-Dln20ans.cjs +2 -1
  174. package/dist/logger-pdEEY8T2.js +2 -1
  175. package/dist/longevityrx-BFSv9GF5.cjs +321 -0
  176. package/dist/longevityrx-Cp6wleWr.js +321 -0
  177. package/dist/lookOptic-BGhU4910.js +283 -0
  178. package/dist/lookOptic-KieSqskd.cjs +283 -0
  179. package/dist/mantraBrand-CHQw-0nw.cjs +751 -0
  180. package/dist/mantraBrand-DrqG9uqO.js +751 -0
  181. package/dist/medterra-CLG6Co1C.cjs +584 -0
  182. package/dist/medterra-D8ZX9NZC.js +584 -0
  183. package/dist/modells-BzyPwN2m.cjs +485 -0
  184. package/dist/modells-CAfqOCW4.js +485 -0
  185. package/dist/nodeSelector-B3bPtEjX.d.cts +31 -0
  186. package/dist/nodeSelector-BiCDowlK.d.ts +31 -0
  187. package/dist/orgConfigResults--dAwtw3W.d.ts +881 -0
  188. package/dist/orgConfigResults-BL0XBA6x.d.cts +881 -0
  189. package/dist/pressedFloral-DULBuQwR.cjs +662 -0
  190. package/dist/pressedFloral-Dp-7Fk3S.js +662 -0
  191. package/dist/search-filter-types-BNTLVXqQ.d.cts +102 -0
  192. package/dist/search-filter-types-DkmH1TxJ.d.ts +102 -0
  193. package/dist/skinPerfection-BxuYCeJX.js +335 -0
  194. package/dist/skinPerfection-Cd3XZ6By.cjs +335 -0
  195. package/dist/snapSupplements-Bf6htPM0.js +286 -0
  196. package/dist/snapSupplements-ZFnXyMuZ.cjs +286 -0
  197. package/dist/socialProofClasses-DdzG1tZy.js +10 -0
  198. package/dist/socialProofClasses-ky69yppk.cjs +40 -0
  199. package/dist/spanx-CwDPQaGj.js +662 -0
  200. package/dist/spanx-Cyd4qDlK.cjs +664 -0
  201. package/dist/spanxStaging-D43nyAGy.js +846 -0
  202. package/dist/spanxStaging-ijbYnHzr.cjs +849 -0
  203. package/dist/suggestionBarV2-types-CwOXzIKq.js +10 -0
  204. package/dist/{suggestionBarV2-types-DG3Ekk44.cjs → suggestionBarV2-types-Dc4-zJlV.cjs} +2 -1
  205. package/dist/supergoop-BnbFG7hm.cjs +338 -0
  206. package/dist/supergoop-CY043wIg.js +336 -0
  207. package/dist/test-types-CXVJxTeu.d.ts +40 -0
  208. package/dist/test-types-CuOq25VT.d.cts +40 -0
  209. package/dist/types/index.cjs +2 -2
  210. package/dist/types/index.d.cts +3 -3
  211. package/dist/types/index.d.ts +3 -3
  212. package/dist/types/index.js +2 -2
  213. package/dist/types-BF_CJeck.js +177 -0
  214. package/dist/types-CD4LFta-.d.cts +33 -0
  215. package/dist/types-CNH4sfF-.cjs +231 -0
  216. package/dist/types-DBdI0j89.d.ts +33 -0
  217. package/dist/uniqueVintage-Cui74mlJ.js +1212 -0
  218. package/dist/uniqueVintage-R2Jcu1y1.cjs +1214 -0
  219. package/dist/variant-CKVRF2-W.d.ts +13 -0
  220. package/dist/variant-raYuOP4L.d.cts +13 -0
  221. package/dist/venaCbd-o5_vOp4e.js +366 -0
  222. package/dist/venaCbd-r-IxEVc1.cjs +366 -0
  223. package/dist/westonJonBoucher-C95EuCl-.js +423 -0
  224. package/dist/westonJonBoucher-DjGEW3ZB.cjs +423 -0
  225. package/dist/wineEnthusiast-DeTFY8Gm.js +941 -0
  226. package/dist/wineEnthusiast-DvfcV5B3.cjs +941 -0
  227. package/dist/wolfMattress-6xPfOJt3.js +373 -0
  228. package/dist/wolfMattress-BjGnGKjP.cjs +373 -0
  229. package/dist/wolfTactical-Bi3WZu0m.cjs +350 -0
  230. package/dist/wolfTactical-C_F9-oPX.js +350 -0
  231. package/package.json +1 -1
  232. package/src/adapters/amplitude/amplitudeAdapter.ts +32 -9
  233. package/src/adapters/spiffy/commerce/api.ts +17 -8
  234. package/src/adapters/spiffy/commerce/graphql.ts +16 -5
  235. package/src/application/config/generalStaticConfig.ts +5 -2
  236. package/src/application/models/api/orgConfigResults.ts +6 -2
  237. package/src/application/models/validators/validateGraphQLColorsConfig.ts +23 -21
  238. package/src/application/service/cdnService.ts +4 -2
  239. package/src/application/service/index.ts +0 -1
  240. package/src/application/service/pageVariantService.ts +5 -5
  241. package/src/application/service/searchService.ts +9 -2
  242. package/src/application/service/windowChatToggleService.ts +28 -19
  243. package/src/application/service/windowFrontendConfigService.ts +7 -4
  244. package/src/atoms/app/index.ts +26 -17
  245. package/src/atoms/app/variant.ts +1 -0
  246. package/src/atoms/chat/messageQueue.ts +1 -1
  247. package/src/atoms/envive/enviveConfig.ts +81 -0
  248. package/src/atoms/org/graphqlConfig.ts +29 -11
  249. package/src/atoms/org/merchantCss.ts +114 -0
  250. package/src/atoms/org/org.ts +101 -64
  251. package/src/atoms/org/orgPageConfig.ts +9 -6
  252. package/src/atoms/org/orgUIConfig.ts +22 -9
  253. package/src/atoms/search/chatSearch.ts +85 -67
  254. package/src/contexts/chatContext.tsx +4 -1
  255. package/src/contexts/enviveConfigContext.tsx +37 -26
  256. package/src/contexts/enviveCssContext.tsx +20 -0
  257. package/src/contexts/index.ts +2 -0
  258. package/src/contexts/orgConfigContext.tsx +106 -0
  259. package/src/contexts/systemSettingsContext.tsx +22 -9
  260. package/src/contexts/types.ts +12 -9
  261. package/src/hooks/index.ts +1 -0
  262. package/src/hooks/useSearch.tsx +16 -9
  263. package/src/hooks/utils.ts +1 -1
  264. package/src/interceptors/useFormEscalation.ts +26 -9
  265. package/src/types/search-filter-types.ts +7 -7
  266. package/src/types.ts +0 -2
  267. package/dist/api-CxGedDxj.cjs +0 -5057
  268. package/dist/api-NJEaveju.js +0 -4113
  269. package/dist/atomStore-BFtpknLM.js +0 -31
  270. package/dist/atomStore-CeJm9Llb.cjs +0 -57
  271. package/dist/bandolier-C7PAIw02.js +0 -1230
  272. package/dist/bandolier-oMkFDJMF.cjs +0 -1230
  273. package/dist/carpe-C0ccKuR9.cjs +0 -608
  274. package/dist/carpe-DFc78_lJ.js +0 -606
  275. package/dist/cdnService-DvDSpfVJ.js +0 -18
  276. package/dist/cdnService-dJU3sHpF.cjs +0 -23
  277. package/dist/chat-Dk6KPb1K.js +0 -25
  278. package/dist/components-DAQxVIn9.js +0 -10
  279. package/dist/contexts-DO75-Kmx.js +0 -7152
  280. package/dist/contexts-iAzSvZjb.cjs +0 -7331
  281. package/dist/coterie-BGT8hqFR.js +0 -240
  282. package/dist/coterie-Cp9FAJTQ.cjs +0 -240
  283. package/dist/customerService-CUyZzowx.js +0 -22
  284. package/dist/customerService-DqPw_XKf.cjs +0 -35
  285. package/dist/custservice-types-D8Npo-5Z.js +0 -22
  286. package/dist/custservice-types-E9_OSaZ7.cjs +0 -34
  287. package/dist/default-BAXPatxf.cjs +0 -198
  288. package/dist/default-BR3225LZ.js +0 -4
  289. package/dist/default-DR6YjE9B.cjs +0 -4
  290. package/dist/default-wf_IORgo.js +0 -175
  291. package/dist/divIds-BWvq-i6I.js +0 -22
  292. package/dist/dreamlandBaby-BzuMvUFS.cjs +0 -347
  293. package/dist/dreamlandBaby-DZvM81LQ.js +0 -347
  294. package/dist/embedded-C1jvFj3v.js +0 -22
  295. package/dist/entrypoints-CmmOszXO.js +0 -6
  296. package/dist/entrypoints-fowCLUT2.cjs +0 -18
  297. package/dist/enviveConfigContext-CUGLpPGU.js +0 -34
  298. package/dist/enviveConfigContext-Dfr2VH6u.cjs +0 -48
  299. package/dist/featureFlagService-CroFRxvD.d.cts +0 -17
  300. package/dist/featureFlagService-NkJ2fuEj.d.ts +0 -17
  301. package/dist/featureGates-BMWXU0dS.d.ts +0 -90
  302. package/dist/featureGates-N_gyHCTn.d.cts +0 -90
  303. package/dist/fiveCbd-DE-tDY3d.cjs +0 -614
  304. package/dist/fiveCbd-HNBPqPtX.js +0 -614
  305. package/dist/forLoveAndLemons-BKmJJ9pq.js +0 -666
  306. package/dist/forLoveAndLemons-BeVEBOiu.cjs +0 -668
  307. package/dist/frontendConfig-KeNqU1wa.d.cts +0 -790
  308. package/dist/frontendConfig-cPvCTWm6.d.ts +0 -790
  309. package/dist/globalSearch-BC0rOX3E.js +0 -13
  310. package/dist/greenpan-BX1viAZB.js +0 -398
  311. package/dist/greenpan-chd3aa5I.cjs +0 -398
  312. package/dist/grooveLife-CHot3rZw.js +0 -343
  313. package/dist/grooveLife-DEob7rK0.cjs +0 -343
  314. package/dist/homegrownCannabis-CoIjcehi.cjs +0 -411
  315. package/dist/homegrownCannabis-CwkS1qDA.js +0 -411
  316. package/dist/index-BdNKc2ix.d.cts +0 -8
  317. package/dist/index-BkhvV8RZ.d.cts +0 -202
  318. package/dist/index-BrXuc_Ck.d.cts +0 -24
  319. package/dist/index-C4zjAR1c.d.cts +0 -227
  320. package/dist/index-CGB6CAmr.d.ts +0 -6
  321. package/dist/index-CIco0cCQ.d.ts +0 -183
  322. package/dist/index-COG1kOZG.d.ts +0 -749
  323. package/dist/index-CVxe7FpL.d.cts +0 -6
  324. package/dist/index-Cn1SeI5y.d.cts +0 -183
  325. package/dist/index-Cqg6ltII.d.ts +0 -38
  326. package/dist/index-CzMrMKx-.d.ts +0 -202
  327. package/dist/index-DE_7Q8qK.d.ts +0 -94
  328. package/dist/index-Da0UzyI9.d.ts +0 -24
  329. package/dist/index-DbWWcYax.d.cts +0 -749
  330. package/dist/index-DtoVXd6O.d.cts +0 -97
  331. package/dist/index-JClBRnSX.d.cts +0 -94
  332. package/dist/index-ghzD_356.d.ts +0 -8
  333. package/dist/index-hdbCEjYy.d.cts +0 -38
  334. package/dist/index-luJrHgPN.d.ts +0 -97
  335. package/dist/index-tfRj22E1.d.ts +0 -227
  336. package/dist/jackArcher-BA-pkB4A.js +0 -728
  337. package/dist/jackArcher-bewC0q1T.cjs +0 -728
  338. package/dist/jordanCraig-B5k9nlAw.cjs +0 -1787
  339. package/dist/jordanCraig-BsQ1mYbt.js +0 -1787
  340. package/dist/kindredBravely-BxYkCpGY.js +0 -491
  341. package/dist/kindredBravely-DsN0fo3s.cjs +0 -491
  342. package/dist/kutFromTheKloth-BQTCu3ct.cjs +0 -370
  343. package/dist/kutFromTheKloth-bukOQM3P.js +0 -370
  344. package/dist/larryAndSerges-D1ecaT5a.js +0 -261
  345. package/dist/larryAndSerges-bj7fgy9b.cjs +0 -261
  346. package/dist/leapsAndRebounds-BfneG_0c.cjs +0 -361
  347. package/dist/leapsAndRebounds-DhNpZETg.js +0 -361
  348. package/dist/locators-C2DX_nX6.js +0 -1
  349. package/dist/locators-CUpyd9Wt.cjs +0 -0
  350. package/dist/longevityrx-CnoGcw0w.js +0 -321
  351. package/dist/longevityrx-D0goIuX0.cjs +0 -321
  352. package/dist/lookOptic-C4afLPZP.cjs +0 -283
  353. package/dist/lookOptic-uJWIKpER.js +0 -283
  354. package/dist/mantraBrand-8JUlYtCE.cjs +0 -751
  355. package/dist/mantraBrand-DuwKHM26.js +0 -751
  356. package/dist/medterra-BQec8rzn.js +0 -584
  357. package/dist/medterra-DH067P-V.cjs +0 -584
  358. package/dist/modells-DAgLE2xo.js +0 -485
  359. package/dist/modells-DUFnLmAz.cjs +0 -485
  360. package/dist/nodeSelector-DpKXszfU.d.ts +0 -30
  361. package/dist/nodeSelector-vKB44CDB.d.cts +0 -30
  362. package/dist/org-C11APG3v.js +0 -63
  363. package/dist/org-CnHL2I9B.cjs +0 -106
  364. package/dist/pressedFloral-DVZVfOSQ.cjs +0 -662
  365. package/dist/pressedFloral-MdbuoRyA.js +0 -662
  366. package/dist/search-CvHb1M3S.js +0 -542
  367. package/dist/search-bSYdOBhY.cjs +0 -743
  368. package/dist/search-filter-types-BsJjrxk0.d.ts +0 -101
  369. package/dist/search-filter-types-CqaGK3nM.d.cts +0 -101
  370. package/dist/skinPerfection-BcEWICQN.cjs +0 -335
  371. package/dist/skinPerfection-bGiYxq1i.js +0 -335
  372. package/dist/snapSupplements-BXSXTjqF.cjs +0 -286
  373. package/dist/snapSupplements-D7hHhdC9.js +0 -286
  374. package/dist/socialProofClasses-BYLiEXpU.cjs +0 -39
  375. package/dist/socialProofClasses-CkJufEGb.js +0 -9
  376. package/dist/spanx-5-0yX3iK.js +0 -662
  377. package/dist/spanx-lUzP6Lva.cjs +0 -664
  378. package/dist/spanxStaging-HglCMJag.js +0 -846
  379. package/dist/spanxStaging-hreMR0MS.cjs +0 -849
  380. package/dist/suggestionBarV2-types-B0RbMStE.js +0 -9
  381. package/dist/supergoop-C9DDT3lY.js +0 -335
  382. package/dist/supergoop-CkjtuRck.cjs +0 -337
  383. package/dist/test-types-C9b_OdfO.d.ts +0 -39
  384. package/dist/test-types-CpKCxk8U.d.cts +0 -39
  385. package/dist/types-BE4faOO_.d.cts +0 -32
  386. package/dist/types-BUjohkXp.cjs +0 -230
  387. package/dist/types-BVsTRyxL.js +0 -176
  388. package/dist/types-TD8g7LnH.d.ts +0 -32
  389. package/dist/uniqueVintage-DIMGtYAU.cjs +0 -1214
  390. package/dist/uniqueVintage-DPWA5Ed6.js +0 -1212
  391. package/dist/useMessageInterceptor-B-P_rw73.cjs +0 -72
  392. package/dist/useMessageInterceptor-C2RZM-fo.js +0 -57
  393. package/dist/variant-BGjOVpY3.d.cts +0 -12
  394. package/dist/variant-XITncuI3.d.ts +0 -12
  395. package/dist/venaCbd-B-znfAsl.js +0 -366
  396. package/dist/venaCbd-BOwOtpOz.cjs +0 -366
  397. package/dist/westonJonBoucher-CraTzRVt.cjs +0 -423
  398. package/dist/westonJonBoucher-DCRagGu3.js +0 -423
  399. package/dist/wineEnthusiast-Bv7umajk.js +0 -941
  400. package/dist/wineEnthusiast-sVuATrq6.cjs +0 -941
  401. package/dist/wolfMattress-BUH-Rhov.js +0 -373
  402. package/dist/wolfMattress-DpVHIEnJ.cjs +0 -373
  403. package/dist/wolfTactical-BcvF_sy-.cjs +0 -350
  404. package/dist/wolfTactical-Q14A1fpw.js +0 -350
  405. package/src/application/service/environmentService.ts +0 -51
  406. package/src/extension.ts +0 -63
  407. package/src/initialize.ts +0 -163
  408. package/src/main.tsx +0 -108
  409. package/src/merchants/uniqueVintage/views/useUniqueVintageChatSearch.ts +0 -147
  410. /package/dist/{atomStore-FSZd_20F.js → locators-Dc5ZT0aF.js} +0 -0
  411. /package/dist/{atomStore-B3tsg6mF.cjs → locators-lQMJj830.cjs} +0 -0
@@ -0,0 +1,1214 @@
1
+ const require_chunk = require('./chunk-CUT6urMc.cjs');
2
+ require('./logger-Dln20ans.cjs');
3
+ require('./api-B2euFL-5.cjs');
4
+ const require_contexts = require('./contexts-CQDwe3rK.cjs');
5
+ const require_types = require('./types-CNH4sfF-.cjs');
6
+ require('./atomStore-JwGb7pcy.cjs');
7
+ require('./customerService-BG1uNZZ1.cjs');
8
+ require('./globalSearch-BTeZxvk1.cjs');
9
+ require('./utilityTypes-C4h2wgAK.cjs');
10
+ require('./variantInfo-CNRTY0gH.cjs');
11
+ require('./events-Da7gpmGv.cjs');
12
+ const require_suggestionBarV2_types = require('./suggestionBarV2-types-Dc4-zJlV.cjs');
13
+ const require_divIds = require('./divIds-DEL_-qU0.cjs');
14
+ require('./chat-BgONoYU7.cjs');
15
+ require('./components-BKZbet67.cjs');
16
+ const require_embedded = require('./embedded--2L0F4b5.cjs');
17
+ require('./locators-lQMJj830.cjs');
18
+ const require_default = require('./default-8Jfv8ehQ.cjs');
19
+ let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
20
+ __spiffy_ai_commerce_api_client = require_chunk.__toESM(__spiffy_ai_commerce_api_client);
21
+
22
+ //#region src/merchants/uniqueVintage/uniqueVintage.ts
23
+ const uniqueVintageColors = {
24
+ [require_types.ColorNames.TextPrimary]: "#000000",
25
+ [require_types.ColorNames.TextSecondary]: "#595959",
26
+ [require_types.ColorNames.TextAccent]: "#1D4A4F",
27
+ [require_types.ColorNames.TextLink]: "#222222",
28
+ [require_types.ColorNames.TextLight]: "#FFFFFF",
29
+ [require_types.ColorNames.BackgroundPrimary]: "#FADDD5",
30
+ [require_types.ColorNames.BackgroundSecondary]: "#FFFDF3",
31
+ [require_types.ColorNames.BackgroundSecondaryDark]: "#EBE9E0",
32
+ [require_types.ColorNames.BackgroundTertiary]: "#1D4A4F",
33
+ [require_types.ColorNames.BackgroundDark]: "#222222",
34
+ [require_types.ColorNames.BackgroundLight]: "#FFFFFF",
35
+ [require_types.ColorNames.BackgroundSaturated]: "#FADDD5",
36
+ [require_types.ColorNames.BorderLight]: "#E7E7E7",
37
+ [require_types.ColorNames.BorderMedium]: "#C2C4C8",
38
+ [require_types.ColorNames.BorderDark]: "#595959",
39
+ [require_types.ColorNames.BorderOutline]: "#222222",
40
+ [require_types.ColorNames.AccentPrimary]: "#FADDD5",
41
+ [require_types.ColorNames.AccentSecondary]: "#C0E7D6"
42
+ };
43
+ const uniqueVintageOrgUIConfig = () => {
44
+ const defaultUniqueVintageOrgConfig = require_default.defaultOrgUIConfig(require_types.OrgShortName.UniqueVintage);
45
+ return {
46
+ ...defaultUniqueVintageOrgConfig,
47
+ chatMessageConfig: {
48
+ ...defaultUniqueVintageOrgConfig.chatMessageConfig,
49
+ assistantChatTitle: "Unique Vintage AI",
50
+ variant: "standard"
51
+ },
52
+ chatHeader: {
53
+ ...defaultUniqueVintageOrgConfig.chatHeader,
54
+ chevronColor: require_types.colorVar(require_types.ColorNames.BackgroundDark),
55
+ expandedColor: require_types.colorVar(require_types.ColorNames.BackgroundPrimary),
56
+ imageSrc: require_contexts.CdnService.getAssetURL("unique-vintage-long-logo.png", require_types.OrgShortName.UniqueVintage)
57
+ },
58
+ chatPreviewConfig: {
59
+ ...defaultUniqueVintageOrgConfig.chatPreviewConfig,
60
+ variant: "filled",
61
+ filledBackgroundColor: require_types.colorVar(require_types.ColorNames.AccentSecondary),
62
+ iconFillColor: require_types.colorVar(require_types.ColorNames.AccentPrimary),
63
+ buttonTextColor: require_types.colorVar(require_types.ColorNames.TextLight),
64
+ buttonBackgroundColor: require_types.colorVar(require_types.ColorNames.BackgroundDark),
65
+ buttonTextHoverColor: require_types.colorVar(require_types.ColorNames.TextPrimary),
66
+ buttonBackgroundHoverColor: require_types.colorVar(require_types.ColorNames.BackgroundSecondaryDark),
67
+ topMargin: 10,
68
+ copies: {
69
+ plp: [
70
+ "a classic swimsuit that's perfect for poolside glamour?",
71
+ "a skirt that twirls like it's straight out of the '50s?",
72
+ "a handbag inspired by iconic eras?",
73
+ "a dress that turns every head in the room?"
74
+ ],
75
+ pdp: [
76
+ "the vintage-inspired details that make this piece timeless?",
77
+ "what makes this style a true throwback treasure?",
78
+ "what luxe materials will elevate your look?",
79
+ "the size that's right for you?"
80
+ ]
81
+ },
82
+ staticSuggestionCopies: {
83
+ plp: [
84
+ "What casual vintage pieces work for everyday wear?",
85
+ "What pieces can I mix and match for a vintage-inspired wardrobe?",
86
+ "What shoes are perfect for date nights and special occasions?",
87
+ "What accessories can I add to elevate my vintage look?"
88
+ ],
89
+ pdp: [
90
+ "What size will give me the right fit?",
91
+ "How do I keep this piece in perfect condition for years to come?",
92
+ "What features makes this piece the ideal statement for a vintage lover?",
93
+ "How does this piece embody the spirit of past eras with modern style?"
94
+ ]
95
+ },
96
+ headerConfig: {
97
+ title: "Shopping Assistant",
98
+ sparklesColor: void 0,
99
+ imageHeight: 24,
100
+ imageSrc: require_contexts.CdnService.getAssetURL("unique-vintage-long-logo.png", require_types.OrgShortName.UniqueVintage)
101
+ },
102
+ footerConfig: {
103
+ ...defaultUniqueVintageOrgConfig.chatPreviewConfig.footerConfig,
104
+ replyButtonText: "What can I help you find?",
105
+ replyButtonIcon: "magnifyingGlass",
106
+ hasFade: false
107
+ }
108
+ },
109
+ floatingEntrypointConfig: {
110
+ ...defaultUniqueVintageOrgConfig.floatingEntrypointConfig,
111
+ showOption: "always",
112
+ expandedColor: require_types.colorVar(require_types.ColorNames.BorderOutline),
113
+ iconStrokeColor: require_types.colorVar(require_types.ColorNames.BackgroundDark),
114
+ iconFillColor: require_types.colorVar(require_types.ColorNames.BackgroundDark),
115
+ expansionText: {
116
+ pdp: "Will this complete your retro wardrobe?",
117
+ plp: "What vintage treasure will you find today?"
118
+ }
119
+ },
120
+ productCardConfig: { ...defaultUniqueVintageOrgConfig.productCardConfig },
121
+ productReviewConfig: {
122
+ ...defaultUniqueVintageOrgConfig.productReviewConfig,
123
+ colorVariant: "brand",
124
+ incentivizedReviewFlag: false
125
+ },
126
+ welcomeSectionConfig: {
127
+ ...defaultUniqueVintageOrgConfig.welcomeSectionConfig,
128
+ title: "Welcome to Unique Vintage AI!",
129
+ colorVariant: "brand",
130
+ subtitle: "Hello, darling! I'm here to help you find everything you need to channel your unique, vintage-inspired style. Whether you're searching for the perfect outfit, need sizing advice, or just want to explore fabulous accessories, let's make your shopping experience as glamorous as you are!"
131
+ },
132
+ customerServiceIntegration: {
133
+ integrationMode: require_types.CustomerServiceIntegrationMode.simple,
134
+ provider: require_types.CustomerServiceType.zowie
135
+ },
136
+ conversationalSearch: {
137
+ enabled: true,
138
+ replyInput: {
139
+ sendIcon: "search",
140
+ placeholder: "What can I help you find?"
141
+ },
142
+ entrypointContainer: "id|chat-search-entrypoint",
143
+ productGridContainer: "id|chat-search-product-page",
144
+ searchContent: "query|.ss__autocomplete--target",
145
+ pageContent: "id|MainContent",
146
+ generalSearchBtn: "query|button.modal__close-button"
147
+ },
148
+ searchConfig: {
149
+ enableGlobalSearch: true,
150
+ searchFilterConfig: [
151
+ {
152
+ filterId: "color",
153
+ displayName: "Color",
154
+ attribute: "colors",
155
+ type: "dynamic",
156
+ sorting: { type: "alphabetic" }
157
+ },
158
+ {
159
+ filterId: "size",
160
+ displayName: "Size",
161
+ type: "dynamic",
162
+ attribute: "sizes",
163
+ sorting: {
164
+ type: "custom",
165
+ map: {
166
+ "One Size": 10,
167
+ "XXS / 0": 20,
168
+ "XS / 2": 30,
169
+ "S / 4": 40,
170
+ "M / 6 - 8": 50,
171
+ "L / 10 - 12": 60,
172
+ "XL / 14": 70,
173
+ "1X / 16": 80,
174
+ "2X / 18": 90,
175
+ "3X / 20": 100,
176
+ "4X / 22 - 24": 110,
177
+ "5X / 26": 120,
178
+ "6X": 130
179
+ }
180
+ }
181
+ },
182
+ {
183
+ filterId: "price",
184
+ displayName: "Price",
185
+ type: "price",
186
+ bucketSize: 50
187
+ }
188
+ ]
189
+ },
190
+ merchantOverrideCss: `
191
+ #spiffy-modal-container {
192
+ z-index: 2147483001 !important;
193
+ }
194
+ .spiffy-star-rating-star {
195
+ fill: var(--spiffy-colors-text-accent) !important;
196
+ }
197
+ .spiffy-product-review-header-reviewer {
198
+ color: var(--spiffy-colors-text-primary) !important;
199
+ }
200
+
201
+ /* WelcomeSection light text override */
202
+ .spiffy-welcome-section-message-title {
203
+ color: var(--spiffy-colors-text-light) !important;
204
+ }
205
+ .spiffy-welcome-section-message-subtitle {
206
+ color: var(--spiffy-colors-text-light) !important;
207
+ }
208
+
209
+ #spiffy-ai-chat-preview {
210
+ display: block;
211
+ }
212
+ #chat-search-product-page {
213
+ display: block;
214
+ }
215
+ #chat-search-nav-entrypoint {
216
+ display: flex;
217
+ }
218
+ #spiffy-ai-chat-preview.is-pdp {
219
+ padding-top: 8px;
220
+ border-top: solid 1px var(--spiffy-colors-border-light);
221
+ }
222
+ #spiffy-top-suggestion-bar-id {
223
+ display: block;
224
+ }
225
+ #spiffy-ai-chat-preview {
226
+ display: block;
227
+ }
228
+ #spiffy-bottom-reviews-bar-id {
229
+ display: block;
230
+ }
231
+ .spiffy-chat-search-entrypoint-container {
232
+ background: var(--spiffy-colors-background-primary) !important;
233
+ border-color: var(--spiffy-colors-background-dark) !important;
234
+ }
235
+ .spiffy-chat-search-entrypoint-container .spiffy-button-base-button {
236
+ color: var(--spiffy-colors-text-primary) !important;
237
+ border: none;
238
+ }
239
+ .spiffy-chat-search-entrypoint-text p {
240
+ font-family: 'Bookmania-SemiBold' !important;
241
+ font-size: 16px !important;
242
+ }
243
+ #spiffy-ai-chat-preview-contents h1, h2, h3, h4, h5, h6 {
244
+ --chakra-fonts-heading: 'Bookmania-Regular', 'Poppins', sans-serif;
245
+ }
246
+ .spiffy-headline {
247
+ font-family: 'Bookmania-Regular', 'Poppins', sans-serif;
248
+ }
249
+ #spiffy-model-container h1, h2, h3, h4, h5, h6 {
250
+ font-family: var(--chakra-fonts-heading);
251
+ }
252
+ #spiffy-model-container h1, h2, h3, h4, h5, h6 {
253
+ --chakra-fonts-heading: 'Bookmania-Regular', 'Poppins', sans-serif;
254
+ }
255
+ .spiffy-suggestion-button-question-class {
256
+ border: 1px solid var(--spiffy-colors-border-light);
257
+ }
258
+ .spiffy-tag-pill-text {
259
+ color: var(--spiffy-colors-text-light) !important;
260
+ }
261
+ #return-to-results-button {
262
+ display: block;
263
+ }
264
+ .spiffy-back-to-results-button {
265
+ margin-left: 30px;
266
+ margin-top: 30px;
267
+ @media (max-width: 768px) {
268
+ margin-left: 20px;
269
+ margin-top: 20px;
270
+ }
271
+ }
272
+ @media (max-width: 992px) {
273
+ #chat-search-entrypoint {
274
+ display: none;
275
+ }
276
+ }
277
+ #chat-search-entrypoint-mobile {
278
+ display: none;
279
+ }
280
+ .ss__autocomplete--active #chat-search-entrypoint-mobile {
281
+ display: flex;
282
+ }
283
+ .spiffy-product-card-title {
284
+ font-family: var(--chakra-fonts-heading);
285
+ color: var(--spiffy-colors-text-link);
286
+ }
287
+ .spiffy-product-card-text-color {
288
+ color: var(--spiffy-colors-text-secondary);
289
+ }
290
+
291
+ .spiffy-chat-header-close-button {
292
+ color: var(--spiffy-colors-background-primary);
293
+ background-color: var(--spiffy-colors-background-tertiary);
294
+ }
295
+
296
+ #spiffy-top-suggestion-bar-contents .spiffy-suggestion-button-question-class span {
297
+ color: var(--spiffy-colors-text-accent) !important;
298
+ }
299
+
300
+ #spiffy-top-suggestion-bar-contents .spiffy-suggestion-button-question-class svg {
301
+ fill: var(--spiffy-colors-text-accent) !important;
302
+ stroke: var(--spiffy-colors-text-accent) !important;
303
+ }
304
+
305
+ #spiffy-bottom-suggestion-bar-contents .spiffy-suggestion-button-question-class svg {
306
+ fill: var(--spiffy-colors-accent-primary) !important;
307
+ stroke: var(--spiffy-colors-accent-primary) !important;
308
+ }
309
+
310
+ #spiffy-bottom-suggestion-bar-contents .spiffy-suggestion-button-question-class:hover svg {
311
+ fill: var(--spiffy-colors-text-link) !important;
312
+ stroke: var(--spiffy-colors-text-link) !important;
313
+ }
314
+
315
+ #spiffy-ai-global-search-entrypoint.global-entry-desktop {
316
+ display: block;
317
+ }
318
+ #spiffy-ai-global-search-entrypoint-mobile.global-entry-mobile {
319
+ display: none;
320
+ }
321
+
322
+ @media (max-width: 992px) {
323
+ #spiffy-ai-global-search-entrypoint.global-entry-desktop {
324
+ display: none;
325
+ }
326
+ #spiffy-ai-global-search-entrypoint-mobile.global-entry-mobile {
327
+ display: block;
328
+ }
329
+ }
330
+
331
+ #spiffy-ai-global-search-entrypoint.global-entry-desktop .spiffy-global-search-input-container {
332
+ height: 80px;
333
+ }
334
+
335
+ .spiffy-global-search-input-container .spiffy-global-search-text {
336
+ font-family: "Poly", serif;
337
+ color: var(--spiffy-colors-text-link) !important;
338
+ font-weight: 500;
339
+ line-height: 80px;
340
+ padding-top: 6px;
341
+ }
342
+
343
+ .spiffy-search-overlay-content .spiffy-headline {
344
+ font-family: "Poly", serif;
345
+ @media (min-width: 480px) {
346
+ font-size: 32px;
347
+ }
348
+ }
349
+
350
+ .spiffy-search-overlay-content .spiffy-body-text {
351
+ font-family: "Poly", serif;
352
+ }
353
+
354
+ .spiffy-global-search-input-container svg {
355
+ width: 26px;
356
+ }
357
+ `
358
+ };
359
+ };
360
+ const uniqueVintagePageConfig = () => ({
361
+ pageVariants: [
362
+ {
363
+ variantId: "search-results",
364
+ variantType: "page_visit",
365
+ variantTests: [
366
+ { testType: require_types.PageVariantTestType.ShopifyPLP },
367
+ {
368
+ testType: require_types.PageVariantTestType.QueryParam,
369
+ queryParam: "q"
370
+ },
371
+ {
372
+ testType: require_types.PageVariantTestType.PageCategory,
373
+ extractor: {
374
+ type: require_types.CategoryExtractorType.VisitCategoryDefault,
375
+ value: __spiffy_ai_commerce_api_client.PageVisitCategory.Other
376
+ }
377
+ }
378
+ ],
379
+ widgetMounting: []
380
+ },
381
+ {
382
+ variantId: "plp-global-search",
383
+ variantType: "plp",
384
+ variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPLP }, {
385
+ testType: require_types.PageVariantTestType.FeatureGate,
386
+ featureGate: require_contexts.FeatureGates.IsGlobalSearchEnabled
387
+ }],
388
+ plpIdExtractor: "shopify-collection-id",
389
+ widgetMounting: [
390
+ {
391
+ mountingConfigId: "globalSearchEntryPoint",
392
+ widgetConfigId: "globalSearchEntryPoint"
393
+ },
394
+ {
395
+ mountingConfigId: "globalSearchEntryPointMobile",
396
+ widgetConfigId: "globalSearchEntryPointMobile"
397
+ },
398
+ {
399
+ mountingConfigId: "chatPreviewPLP",
400
+ widgetConfigId: "chatPreviewPLP"
401
+ }
402
+ ]
403
+ },
404
+ {
405
+ variantId: "plp-search",
406
+ variantType: "plp",
407
+ variantTests: [{
408
+ testType: require_types.PageVariantTestType.FeatureGate,
409
+ featureGate: require_contexts.FeatureGates.IsNewFeatureEnabled
410
+ }, { testType: require_types.PageVariantTestType.ShopifyPLP }],
411
+ plpIdExtractor: "shopify-collection-id",
412
+ widgetMounting: [{
413
+ mountingConfigId: "chatPreviewPLP",
414
+ widgetConfigId: "searchPromptPLP"
415
+ }]
416
+ },
417
+ {
418
+ variantId: "plp",
419
+ variantType: "plp",
420
+ variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPLP }],
421
+ plpIdExtractor: "shopify-collection-id",
422
+ widgetMounting: [{
423
+ mountingConfigId: "chatPreviewPLP",
424
+ widgetConfigId: "chatPreviewPLP"
425
+ }]
426
+ },
427
+ {
428
+ variantId: "pdpDressesHasReviewsGlobalSearch",
429
+ variantType: "pdp",
430
+ variantTests: [
431
+ { testType: require_types.PageVariantTestType.ShopifyPDP },
432
+ {
433
+ testType: require_types.PageVariantTestType.InCollection,
434
+ collections: ["dresses"]
435
+ },
436
+ {
437
+ testType: require_types.PageVariantTestType.HasReviews,
438
+ reviewMinimum: 4
439
+ },
440
+ {
441
+ testType: require_types.PageVariantTestType.FeatureGate,
442
+ featureGate: require_contexts.FeatureGates.IsGlobalSearchEnabled
443
+ }
444
+ ],
445
+ productIdExtractor: "shopify-product-id",
446
+ widgetMounting: [
447
+ {
448
+ mountingConfigId: "globalSearchEntryPoint",
449
+ widgetConfigId: "globalSearchEntryPoint"
450
+ },
451
+ {
452
+ mountingConfigId: "globalSearchEntryPointMobile",
453
+ widgetConfigId: "globalSearchEntryPointMobile"
454
+ },
455
+ {
456
+ mountingConfigId: "topSuggestionBarPDP",
457
+ widgetConfigId: "topSuggestionsBarDressesHasReviews"
458
+ },
459
+ {
460
+ mountingConfigId: "chatPreviewPDP",
461
+ widgetConfigId: "chatPreviewPDP"
462
+ },
463
+ {
464
+ mountingConfigId: "bottomSuggestionBarPDP",
465
+ widgetConfigId: "bottomSuggestionsBar"
466
+ }
467
+ ]
468
+ },
469
+ {
470
+ variantId: "pdpDressesNoReviewsGlobalSearch",
471
+ variantType: "pdp",
472
+ variantTests: [
473
+ { testType: require_types.PageVariantTestType.ShopifyPDP },
474
+ {
475
+ testType: require_types.PageVariantTestType.InCollection,
476
+ collections: ["dresses"]
477
+ },
478
+ {
479
+ testType: require_types.PageVariantTestType.FeatureGate,
480
+ featureGate: require_contexts.FeatureGates.IsGlobalSearchEnabled
481
+ }
482
+ ],
483
+ productIdExtractor: "shopify-product-id",
484
+ widgetMounting: [
485
+ {
486
+ mountingConfigId: "globalSearchEntryPoint",
487
+ widgetConfigId: "globalSearchEntryPoint"
488
+ },
489
+ {
490
+ mountingConfigId: "globalSearchEntryPointMobile",
491
+ widgetConfigId: "globalSearchEntryPointMobile"
492
+ },
493
+ {
494
+ mountingConfigId: "topSuggestionBarPDP",
495
+ widgetConfigId: "topSuggestionsBarDressesNoReviews"
496
+ },
497
+ {
498
+ mountingConfigId: "chatPreviewPDP",
499
+ widgetConfigId: "chatPreviewPDP"
500
+ },
501
+ {
502
+ mountingConfigId: "bottomSuggestionBarPDP",
503
+ widgetConfigId: "bottomSuggestionsBar"
504
+ }
505
+ ]
506
+ },
507
+ {
508
+ variantId: "pdpSwimwearHasReviewsGlobalSearch",
509
+ variantType: "pdp",
510
+ variantTests: [
511
+ { testType: require_types.PageVariantTestType.ShopifyPDP },
512
+ {
513
+ testType: require_types.PageVariantTestType.InCollection,
514
+ collections: ["swim-html"]
515
+ },
516
+ {
517
+ testType: require_types.PageVariantTestType.HasReviews,
518
+ reviewMinimum: 4
519
+ },
520
+ {
521
+ testType: require_types.PageVariantTestType.FeatureGate,
522
+ featureGate: require_contexts.FeatureGates.IsGlobalSearchEnabled
523
+ }
524
+ ],
525
+ productIdExtractor: "shopify-product-id",
526
+ widgetMounting: [
527
+ {
528
+ mountingConfigId: "globalSearchEntryPoint",
529
+ widgetConfigId: "globalSearchEntryPoint"
530
+ },
531
+ {
532
+ mountingConfigId: "globalSearchEntryPointMobile",
533
+ widgetConfigId: "globalSearchEntryPointMobile"
534
+ },
535
+ {
536
+ mountingConfigId: "topSuggestionBarPDP",
537
+ widgetConfigId: "topSuggestionsBarSwimwearHasReviews"
538
+ },
539
+ {
540
+ mountingConfigId: "chatPreviewPDP",
541
+ widgetConfigId: "chatPreviewPDP"
542
+ },
543
+ {
544
+ mountingConfigId: "bottomSuggestionBarPDP",
545
+ widgetConfigId: "bottomSuggestionsBar"
546
+ }
547
+ ]
548
+ },
549
+ {
550
+ variantId: "pdpSwimwearNoReviewsGlobalSearch",
551
+ variantType: "pdp",
552
+ variantTests: [
553
+ { testType: require_types.PageVariantTestType.ShopifyPDP },
554
+ {
555
+ testType: require_types.PageVariantTestType.InCollection,
556
+ collections: ["swim-html"]
557
+ },
558
+ {
559
+ testType: require_types.PageVariantTestType.FeatureGate,
560
+ featureGate: require_contexts.FeatureGates.IsGlobalSearchEnabled
561
+ }
562
+ ],
563
+ productIdExtractor: "shopify-product-id",
564
+ widgetMounting: [
565
+ {
566
+ mountingConfigId: "globalSearchEntryPoint",
567
+ widgetConfigId: "globalSearchEntryPoint"
568
+ },
569
+ {
570
+ mountingConfigId: "globalSearchEntryPointMobile",
571
+ widgetConfigId: "globalSearchEntryPointMobile"
572
+ },
573
+ {
574
+ mountingConfigId: "topSuggestionBarPDP",
575
+ widgetConfigId: "topSuggestionsBarSwimwearNoReviews"
576
+ },
577
+ {
578
+ mountingConfigId: "chatPreviewPDP",
579
+ widgetConfigId: "chatPreviewPDP"
580
+ },
581
+ {
582
+ mountingConfigId: "bottomSuggestionBarPDP",
583
+ widgetConfigId: "bottomSuggestionsBar"
584
+ }
585
+ ]
586
+ },
587
+ {
588
+ variantId: "pdpShoesHasReviewsGlobalSearch",
589
+ variantType: "pdp",
590
+ variantTests: [
591
+ { testType: require_types.PageVariantTestType.ShopifyPDP },
592
+ {
593
+ testType: require_types.PageVariantTestType.InCollection,
594
+ collections: ["shoes"]
595
+ },
596
+ {
597
+ testType: require_types.PageVariantTestType.HasReviews,
598
+ reviewMinimum: 4
599
+ },
600
+ {
601
+ testType: require_types.PageVariantTestType.FeatureGate,
602
+ featureGate: require_contexts.FeatureGates.IsGlobalSearchEnabled
603
+ }
604
+ ],
605
+ productIdExtractor: "shopify-product-id",
606
+ widgetMounting: [
607
+ {
608
+ mountingConfigId: "globalSearchEntryPoint",
609
+ widgetConfigId: "globalSearchEntryPoint"
610
+ },
611
+ {
612
+ mountingConfigId: "globalSearchEntryPointMobile",
613
+ widgetConfigId: "globalSearchEntryPointMobile"
614
+ },
615
+ {
616
+ mountingConfigId: "topSuggestionBarPDP",
617
+ widgetConfigId: "topSuggestionsBarShoesHasReviews"
618
+ },
619
+ {
620
+ mountingConfigId: "chatPreviewPDP",
621
+ widgetConfigId: "chatPreviewPDP"
622
+ },
623
+ {
624
+ mountingConfigId: "bottomSuggestionBarPDP",
625
+ widgetConfigId: "bottomSuggestionsBar"
626
+ }
627
+ ]
628
+ },
629
+ {
630
+ variantId: "pdpShoesNoReviewsGlobalSearch",
631
+ variantType: "pdp",
632
+ variantTests: [
633
+ { testType: require_types.PageVariantTestType.ShopifyPDP },
634
+ {
635
+ testType: require_types.PageVariantTestType.InCollection,
636
+ collections: ["shoes"]
637
+ },
638
+ {
639
+ testType: require_types.PageVariantTestType.FeatureGate,
640
+ featureGate: require_contexts.FeatureGates.IsGlobalSearchEnabled
641
+ }
642
+ ],
643
+ productIdExtractor: "shopify-product-id",
644
+ widgetMounting: [
645
+ {
646
+ mountingConfigId: "globalSearchEntryPoint",
647
+ widgetConfigId: "globalSearchEntryPoint"
648
+ },
649
+ {
650
+ mountingConfigId: "globalSearchEntryPointMobile",
651
+ widgetConfigId: "globalSearchEntryPointMobile"
652
+ },
653
+ {
654
+ mountingConfigId: "topSuggestionBarPDP",
655
+ widgetConfigId: "topSuggestionsBarShoesNoReviews"
656
+ },
657
+ {
658
+ mountingConfigId: "chatPreviewPDP",
659
+ widgetConfigId: "chatPreviewPDP"
660
+ },
661
+ {
662
+ mountingConfigId: "bottomSuggestionBarPDP",
663
+ widgetConfigId: "bottomSuggestionsBar"
664
+ }
665
+ ]
666
+ },
667
+ {
668
+ variantId: "pdpGlobalSearch",
669
+ variantType: "pdp",
670
+ variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPDP }, {
671
+ testType: require_types.PageVariantTestType.FeatureGate,
672
+ featureGate: require_contexts.FeatureGates.IsGlobalSearchEnabled
673
+ }],
674
+ productIdExtractor: "shopify-product-id",
675
+ widgetMounting: [
676
+ {
677
+ mountingConfigId: "globalSearchEntryPoint",
678
+ widgetConfigId: "globalSearchEntryPoint"
679
+ },
680
+ {
681
+ mountingConfigId: "globalSearchEntryPointMobile",
682
+ widgetConfigId: "globalSearchEntryPointMobile"
683
+ },
684
+ {
685
+ mountingConfigId: "topSuggestionBarPDP",
686
+ widgetConfigId: "topSuggestionsBar"
687
+ },
688
+ {
689
+ mountingConfigId: "chatPreviewPDP",
690
+ widgetConfigId: "chatPreviewPDP"
691
+ },
692
+ {
693
+ mountingConfigId: "bottomSuggestionBarPDP",
694
+ widgetConfigId: "bottomSuggestionsBar"
695
+ }
696
+ ]
697
+ },
698
+ {
699
+ variantId: "pdpDressesHasReviews",
700
+ variantType: "pdp",
701
+ variantTests: [
702
+ { testType: require_types.PageVariantTestType.ShopifyPDP },
703
+ {
704
+ testType: require_types.PageVariantTestType.InCollection,
705
+ collections: ["dresses"]
706
+ },
707
+ {
708
+ testType: require_types.PageVariantTestType.HasReviews,
709
+ reviewMinimum: 4
710
+ }
711
+ ],
712
+ productIdExtractor: "shopify-product-id",
713
+ widgetMounting: [
714
+ {
715
+ mountingConfigId: "topSuggestionBarPDP",
716
+ widgetConfigId: "topSuggestionsBarDressesHasReviews"
717
+ },
718
+ {
719
+ mountingConfigId: "chatPreviewPDP",
720
+ widgetConfigId: "chatPreviewPDP"
721
+ },
722
+ {
723
+ mountingConfigId: "bottomSuggestionBarPDP",
724
+ widgetConfigId: "bottomSuggestionsBar"
725
+ }
726
+ ]
727
+ },
728
+ {
729
+ variantId: "pdpDressesNoReviews",
730
+ variantType: "pdp",
731
+ variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPDP }, {
732
+ testType: require_types.PageVariantTestType.InCollection,
733
+ collections: ["dresses"]
734
+ }],
735
+ productIdExtractor: "shopify-product-id",
736
+ widgetMounting: [
737
+ {
738
+ mountingConfigId: "topSuggestionBarPDP",
739
+ widgetConfigId: "topSuggestionsBarDressesNoReviews"
740
+ },
741
+ {
742
+ mountingConfigId: "chatPreviewPDP",
743
+ widgetConfigId: "chatPreviewPDP"
744
+ },
745
+ {
746
+ mountingConfigId: "bottomSuggestionBarPDP",
747
+ widgetConfigId: "bottomSuggestionsBar"
748
+ }
749
+ ]
750
+ },
751
+ {
752
+ variantId: "pdpSwimwearHasReviews",
753
+ variantType: "pdp",
754
+ variantTests: [
755
+ { testType: require_types.PageVariantTestType.ShopifyPDP },
756
+ {
757
+ testType: require_types.PageVariantTestType.InCollection,
758
+ collections: ["swim-html"]
759
+ },
760
+ {
761
+ testType: require_types.PageVariantTestType.HasReviews,
762
+ reviewMinimum: 4
763
+ }
764
+ ],
765
+ productIdExtractor: "shopify-product-id",
766
+ widgetMounting: [
767
+ {
768
+ mountingConfigId: "topSuggestionBarPDP",
769
+ widgetConfigId: "topSuggestionsBarSwimwearHasReviews"
770
+ },
771
+ {
772
+ mountingConfigId: "chatPreviewPDP",
773
+ widgetConfigId: "chatPreviewPDP"
774
+ },
775
+ {
776
+ mountingConfigId: "bottomSuggestionBarPDP",
777
+ widgetConfigId: "bottomSuggestionsBar"
778
+ }
779
+ ]
780
+ },
781
+ {
782
+ variantId: "pdpSwimwearNoReviews",
783
+ variantType: "pdp",
784
+ variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPDP }, {
785
+ testType: require_types.PageVariantTestType.InCollection,
786
+ collections: ["swim-html"]
787
+ }],
788
+ productIdExtractor: "shopify-product-id",
789
+ widgetMounting: [
790
+ {
791
+ mountingConfigId: "topSuggestionBarPDP",
792
+ widgetConfigId: "topSuggestionsBarSwimwearNoReviews"
793
+ },
794
+ {
795
+ mountingConfigId: "chatPreviewPDP",
796
+ widgetConfigId: "chatPreviewPDP"
797
+ },
798
+ {
799
+ mountingConfigId: "bottomSuggestionBarPDP",
800
+ widgetConfigId: "bottomSuggestionsBar"
801
+ }
802
+ ]
803
+ },
804
+ {
805
+ variantId: "pdpShoesHasReviews",
806
+ variantType: "pdp",
807
+ variantTests: [
808
+ { testType: require_types.PageVariantTestType.ShopifyPDP },
809
+ {
810
+ testType: require_types.PageVariantTestType.InCollection,
811
+ collections: ["shoes"]
812
+ },
813
+ {
814
+ testType: require_types.PageVariantTestType.HasReviews,
815
+ reviewMinimum: 4
816
+ }
817
+ ],
818
+ productIdExtractor: "shopify-product-id",
819
+ widgetMounting: [
820
+ {
821
+ mountingConfigId: "topSuggestionBarPDP",
822
+ widgetConfigId: "topSuggestionsBarShoesHasReviews"
823
+ },
824
+ {
825
+ mountingConfigId: "chatPreviewPDP",
826
+ widgetConfigId: "chatPreviewPDP"
827
+ },
828
+ {
829
+ mountingConfigId: "bottomSuggestionBarPDP",
830
+ widgetConfigId: "bottomSuggestionsBar"
831
+ }
832
+ ]
833
+ },
834
+ {
835
+ variantId: "pdpShoesNoReviews",
836
+ variantType: "pdp",
837
+ variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPDP }, {
838
+ testType: require_types.PageVariantTestType.InCollection,
839
+ collections: ["shoes"]
840
+ }],
841
+ productIdExtractor: "shopify-product-id",
842
+ widgetMounting: [
843
+ {
844
+ mountingConfigId: "topSuggestionBarPDP",
845
+ widgetConfigId: "topSuggestionsBarShoesNoReviews"
846
+ },
847
+ {
848
+ mountingConfigId: "chatPreviewPDP",
849
+ widgetConfigId: "chatPreviewPDP"
850
+ },
851
+ {
852
+ mountingConfigId: "bottomSuggestionBarPDP",
853
+ widgetConfigId: "bottomSuggestionsBar"
854
+ }
855
+ ]
856
+ },
857
+ {
858
+ variantId: "pdp",
859
+ variantType: "pdp",
860
+ variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPDP }],
861
+ productIdExtractor: "shopify-product-id",
862
+ widgetMounting: [
863
+ {
864
+ mountingConfigId: "topSuggestionBarPDP",
865
+ widgetConfigId: "topSuggestionsBar"
866
+ },
867
+ {
868
+ mountingConfigId: "chatPreviewPDP",
869
+ widgetConfigId: "chatPreviewPDP"
870
+ },
871
+ {
872
+ mountingConfigId: "bottomSuggestionBarPDP",
873
+ widgetConfigId: "bottomSuggestionsBar"
874
+ }
875
+ ]
876
+ }
877
+ ],
878
+ widgetConfigs: {
879
+ globalSearchEntryPoint: {
880
+ widgetConfigId: "globalSearchEntryPoint",
881
+ type: require_types.WidgetType.SearchZeroStateEntryPoint,
882
+ searchZeroStateVariant: "backgroundTertiary",
883
+ searchInputVariant: "standard",
884
+ suggestionButtonConfig: {
885
+ variant: "darkAccent",
886
+ hoverVariant: "secondaryAccent"
887
+ },
888
+ layout: "icon",
889
+ compactLabel: "Search",
890
+ searchBoxPlaceholder: "Try \"Colorful maxi for a summer wedding\"",
891
+ initialSuggestions: [
892
+ "Vintage dresses",
893
+ "Maxi dresses",
894
+ "Disney outfit",
895
+ "Barbie collection",
896
+ "1970s jumpsuit",
897
+ "One-piece swimsuit",
898
+ "Cinderella divine dresses"
899
+ ]
900
+ },
901
+ globalSearchEntryPointMobile: {
902
+ widgetConfigId: "globalSearchEntryPointMobile",
903
+ type: require_types.WidgetType.SearchZeroStateEntryPoint,
904
+ searchZeroStateVariant: "backgroundTertiary",
905
+ searchInputVariant: "standard",
906
+ suggestionButtonConfig: {
907
+ variant: "darkAccent",
908
+ hoverVariant: "secondaryAccent"
909
+ },
910
+ layout: "icon",
911
+ searchBoxPlaceholder: "Try \"Colorful maxi for a summer wedding\"",
912
+ initialSuggestions: [
913
+ "Vintage dresses",
914
+ "Maxi dresses",
915
+ "Disney outfit",
916
+ "Barbie collection",
917
+ "1970s jumpsuit",
918
+ "One-piece swimsuit",
919
+ "Cinderella divine dresses"
920
+ ]
921
+ },
922
+ topSuggestionsBar: {
923
+ widgetConfigId: "topSuggestionsBar",
924
+ contentId: "spiffy-top-suggestion-bar-contents",
925
+ type: require_types.WidgetType.SuggestionBarV2,
926
+ metricDisplayLocation: require_contexts.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
927
+ location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
928
+ variant: "primary",
929
+ hoverVariant: "secondaryDark",
930
+ buttonTexts: { default: [
931
+ "Summarize the reviews",
932
+ "What retro charm will this piece bring to my wardrobe?",
933
+ "What occasions is this piece perfect for?",
934
+ "How do others describe the fit and feel?",
935
+ "What makes this piece stand out for others?"
936
+ ] },
937
+ boldFirstButton: true,
938
+ twoRowsOnMobile: false,
939
+ buttonBorderRadius: "md"
940
+ },
941
+ topSuggestionsBarDressesHasReviews: {
942
+ widgetConfigId: "topSuggestionsBarDressesHasReviews",
943
+ contentId: "spiffy-top-suggestion-bar-contents",
944
+ type: require_types.WidgetType.SuggestionBarV2,
945
+ metricDisplayLocation: require_contexts.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
946
+ location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
947
+ variant: "primary",
948
+ hoverVariant: "secondaryDark",
949
+ buttonTexts: { default: [
950
+ "Summarize the reviews",
951
+ "Which unique accessories pair with this?",
952
+ "Is the fit flowy or figure-enhancing?",
953
+ "Is it true to size?"
954
+ ] },
955
+ boldFirstButton: true,
956
+ twoRowsOnMobile: false,
957
+ buttonBorderRadius: "md"
958
+ },
959
+ topSuggestionsBarDressesNoReviews: {
960
+ widgetConfigId: "topSuggestionsBarDressesNoReviews",
961
+ contentId: "spiffy-top-suggestion-bar-contents",
962
+ type: require_types.WidgetType.SuggestionBarV2,
963
+ metricDisplayLocation: require_contexts.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
964
+ location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
965
+ variant: "primary",
966
+ hoverVariant: "secondaryDark",
967
+ buttonTexts: { default: [
968
+ "What occasion is this dress for?",
969
+ "Which unique accessories pair with this?",
970
+ "Is the fit flowy or figure-enhancing?",
971
+ "Is it true to size?"
972
+ ] },
973
+ boldFirstButton: true,
974
+ twoRowsOnMobile: false,
975
+ buttonBorderRadius: "md"
976
+ },
977
+ topSuggestionsBarSwimwearHasReviews: {
978
+ widgetConfigId: "topSuggestionsBarSwimwearHasReviews",
979
+ contentId: "spiffy-top-suggestion-bar-contents",
980
+ type: require_types.WidgetType.SuggestionBarV2,
981
+ metricDisplayLocation: require_contexts.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
982
+ location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
983
+ variant: "primary",
984
+ hoverVariant: "secondaryDark",
985
+ buttonTexts: { default: [
986
+ "Summarize the reviews",
987
+ "Which accessories pair well?",
988
+ "Does the top have padding?",
989
+ "Does it run true to size?"
990
+ ] },
991
+ boldFirstButton: true,
992
+ twoRowsOnMobile: false,
993
+ buttonBorderRadius: "md"
994
+ },
995
+ topSuggestionsBarSwimwearNoReviews: {
996
+ widgetConfigId: "topSuggestionsBarSwimwearNoReviews",
997
+ contentId: "spiffy-top-suggestion-bar-contents",
998
+ type: require_types.WidgetType.SuggestionBarV2,
999
+ metricDisplayLocation: require_contexts.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1000
+ location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1001
+ variant: "primary",
1002
+ hoverVariant: "secondaryDark",
1003
+ buttonTexts: { default: [
1004
+ "Does it run true to size?",
1005
+ "Which accessories pair well?",
1006
+ "Does the top have padding?",
1007
+ "Does it run true to size?"
1008
+ ] },
1009
+ boldFirstButton: true,
1010
+ twoRowsOnMobile: false,
1011
+ buttonBorderRadius: "md"
1012
+ },
1013
+ topSuggestionsBarShoesHasReviews: {
1014
+ widgetConfigId: "topSuggestionsBarShoesHasReviews",
1015
+ contentId: "spiffy-top-suggestion-bar-contents",
1016
+ type: require_types.WidgetType.SuggestionBarV2,
1017
+ metricDisplayLocation: require_contexts.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1018
+ location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1019
+ variant: "primary",
1020
+ hoverVariant: "secondaryDark",
1021
+ buttonTexts: { default: [
1022
+ "Summarize the reviews",
1023
+ "Is this good for a night out?",
1024
+ "Are these true to size?",
1025
+ "Are these good for casual wear?"
1026
+ ] },
1027
+ boldFirstButton: true,
1028
+ twoRowsOnMobile: false,
1029
+ buttonBorderRadius: "md"
1030
+ },
1031
+ topSuggestionsBarShoesNoReviews: {
1032
+ widgetConfigId: "topSuggestionsBarShoesNoReviews",
1033
+ contentId: "spiffy-top-suggestion-bar-contents",
1034
+ type: require_types.WidgetType.SuggestionBarV2,
1035
+ metricDisplayLocation: require_contexts.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1036
+ location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1037
+ variant: "primary",
1038
+ hoverVariant: "secondaryDark",
1039
+ buttonTexts: { default: [
1040
+ "What era inspired these shoes?",
1041
+ "Is this good for a night out?",
1042
+ "Are these true to size?",
1043
+ "Are these good for casual wear?"
1044
+ ] },
1045
+ boldFirstButton: true,
1046
+ twoRowsOnMobile: false,
1047
+ buttonBorderRadius: "md"
1048
+ },
1049
+ searchPromptPLP: {
1050
+ widgetConfigId: "searchPromptPLP",
1051
+ type: require_types.WidgetType.SearchPrompt,
1052
+ variant: "primary",
1053
+ title: "Find exactly what you're looking for...",
1054
+ headerConfig: {
1055
+ title: "Search Assistant",
1056
+ logo: "search-logo.svg",
1057
+ logoHeight: 25,
1058
+ orgShortName: "unique-vintage"
1059
+ },
1060
+ suggestionButtons: {
1061
+ variant: "darkPrimary",
1062
+ hoverVariant: "secondary",
1063
+ buttonTexts: [
1064
+ "Vintage dresses",
1065
+ "Maxi dresses",
1066
+ "Disney outfit",
1067
+ "Barbie collection",
1068
+ "1970s jumpsuit",
1069
+ "One-piece swimsuit",
1070
+ "Cinderella divine dresses"
1071
+ ]
1072
+ },
1073
+ footerConfig: {
1074
+ replyButtonText: "Be as specific as you like...",
1075
+ replyButtonIcon: "ai-search"
1076
+ }
1077
+ },
1078
+ chatPreviewPLP: {
1079
+ widgetConfigId: "chatPreview",
1080
+ type: require_types.WidgetType.ChatPreview,
1081
+ variant: "filled",
1082
+ addSeparators: true,
1083
+ footerConfig: {
1084
+ replyButtonText: "What can I help you find?",
1085
+ replyButtonIcon: "magnifyingGlass"
1086
+ }
1087
+ },
1088
+ chatPreviewPDP: {
1089
+ widgetConfigId: "chatPreviewPDP",
1090
+ type: require_types.WidgetType.ChatPreview,
1091
+ variant: "filled",
1092
+ addSeparators: true
1093
+ },
1094
+ bottomSuggestionsBar: {
1095
+ widgetConfigId: "bottomSuggestionsBar",
1096
+ contentId: "spiffy-bottom-suggestion-bar-contents",
1097
+ type: require_types.WidgetType.SuggestionBarV2,
1098
+ metricDisplayLocation: require_contexts.ChatElementDisplayLocation.BOTTOM_REVIEWS_SNIPPET,
1099
+ location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_BOTTOM,
1100
+ variant: "dark",
1101
+ hoverVariant: "secondaryDark",
1102
+ buttonTexts: { default: [
1103
+ "Summarize the reviews",
1104
+ "What retro charm will this piece bring to my wardrobe?",
1105
+ "What occasions is this piece perfect for?",
1106
+ "How do others describe the fit and feel?",
1107
+ "What makes this piece stand out for others?"
1108
+ ] },
1109
+ boldFirstButton: true,
1110
+ twoRowsOnMobile: true,
1111
+ animationSpeed: "none",
1112
+ buttonBorderRadius: "md"
1113
+ }
1114
+ },
1115
+ mountingConfigs: {
1116
+ globalSearchEntryPoint: {
1117
+ mountingConfigId: "globalSearchEntryPoint",
1118
+ containerId: require_divIds.GLOBAL_SEARCH_ENTRYPOINT_ID,
1119
+ testId: require_embedded.GLOBAL_SEARCH_ENTRYPOINT_TESTID,
1120
+ insertionPoint: {
1121
+ selector: ".header__search.header__search--desktop",
1122
+ insertionType: require_contexts.DOMInsertionType.AFTER
1123
+ },
1124
+ suppressionSelector: ".search-modal__content.search-modal__content-bottom",
1125
+ className: "global-entry-desktop",
1126
+ style: {
1127
+ zIndex: "2147483647",
1128
+ marginRight: "32px",
1129
+ height: "80px"
1130
+ }
1131
+ },
1132
+ globalSearchEntryPointMobile: {
1133
+ mountingConfigId: "globalSearchEntryPoint",
1134
+ containerId: require_divIds.MOBILE_GLOBAL_SEARCH_ENTRYPOINT_ID,
1135
+ testId: require_embedded.GLOBAL_SEARCH_ENTRYPOINT_TESTID,
1136
+ insertionPoint: {
1137
+ selector: "sticky-header.header-wrapper:has(.mobile-search)",
1138
+ insertionType: require_contexts.DOMInsertionType.AFTER
1139
+ },
1140
+ suppressionSelector: ".mobile-search .search-modal__form",
1141
+ className: "global-entry-mobile",
1142
+ style: {
1143
+ zIndex: "2147483647",
1144
+ marginTop: "8px",
1145
+ marginLeft: "15px",
1146
+ marginRight: "15px"
1147
+ }
1148
+ },
1149
+ chatPreviewPLP: {
1150
+ mountingConfigId: "chatPreviewPLP",
1151
+ containerId: require_divIds.CHAT_PREVIEW_CONTAINER_ID,
1152
+ testId: require_embedded.CHAT_PREVIEW_TESTID,
1153
+ insertionPoint: {
1154
+ selector: ".collection .product-grid",
1155
+ insertionType: require_contexts.DOMInsertionType.AFTER
1156
+ },
1157
+ gridInsertionType: require_contexts.GridInsertionType.ROW_2
1158
+ },
1159
+ chatPreviewPDP: {
1160
+ mountingConfigId: "chatPreviewPDP",
1161
+ containerId: require_divIds.CHAT_PREVIEW_CONTAINER_ID,
1162
+ testId: require_embedded.CHAT_PREVIEW_TESTID,
1163
+ insertionPoint: {
1164
+ selector: ".product__accordion",
1165
+ insertionType: require_contexts.DOMInsertionType.BEFORE
1166
+ },
1167
+ style: {
1168
+ marginTop: "16px",
1169
+ marginBottom: "8px"
1170
+ }
1171
+ },
1172
+ topSuggestionBarPDP: {
1173
+ mountingConfigId: "topSuggestionBarPDP",
1174
+ containerId: require_divIds.TOP_SUGGESTION_BAR_PDP_ID,
1175
+ testId: require_embedded.TOP_SUGGESTION_BAR_TESTID,
1176
+ insertionPoint: {
1177
+ selector: "div:has(> .main_price)",
1178
+ insertionType: require_contexts.DOMInsertionType.AFTER
1179
+ },
1180
+ style: {
1181
+ marginTop: "16px",
1182
+ marginBottom: "16px"
1183
+ }
1184
+ },
1185
+ bottomSuggestionBarPDP: {
1186
+ mountingConfigId: "bottomSuggestionBarPDP",
1187
+ containerId: require_divIds.BOTTOM_REVIEWS_BAR_ID,
1188
+ testId: require_embedded.BOTTOM_SUGGESTION_BAR_TESTID,
1189
+ insertionPoint: {
1190
+ selector: ".junip-product-review-summary-wrapper + div.junip-separator",
1191
+ insertionType: require_contexts.DOMInsertionType.ADJACENT_AFTER_END,
1192
+ selectionIndex: 0
1193
+ },
1194
+ style: {
1195
+ marginTop: "16px",
1196
+ marginBottom: "16px"
1197
+ }
1198
+ }
1199
+ }
1200
+ });
1201
+ const uniqueVintageOrgInfo = {
1202
+ shortName: require_types.OrgShortName.UniqueVintage,
1203
+ name: "Unique Vintage",
1204
+ domain: "unique-vintage.com",
1205
+ defaultProductId: "red-cowgirl-print-swing-shirt-dress",
1206
+ alwaysEnabledMerchants: true,
1207
+ orgUIConfig: uniqueVintageOrgUIConfig,
1208
+ orgColors: () => uniqueVintageColors,
1209
+ orgPageConfig: uniqueVintagePageConfig
1210
+ };
1211
+
1212
+ //#endregion
1213
+ exports.uniqueVintageOrgInfo = uniqueVintageOrgInfo;
1214
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcXVlVmludGFnZS1SMkpjdTF5MS5janMiLCJuYW1lcyI6WyJ1bmlxdWVWaW50YWdlQ29sb3JzOiBDb2xvck1hcHBpbmciLCJDb2xvck5hbWVzIiwiZGVmYXVsdE9yZ1VJQ29uZmlnIiwiT3JnU2hvcnROYW1lIiwiY29sb3JWYXIiLCJDZG5TZXJ2aWNlIiwiQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlIiwiQ3VzdG9tZXJTZXJ2aWNlVHlwZSIsIlBhZ2VWYXJpYW50VGVzdFR5cGUiLCJDYXRlZ29yeUV4dHJhY3RvclR5cGUiLCJQYWdlVmlzaXRDYXRlZ29yeSIsIkZlYXR1cmVHYXRlcyIsIldpZGdldFR5cGUiLCJDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbiIsIlN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MiLCJHTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfSUQiLCJHTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfVEVTVElEIiwiRE9NSW5zZXJ0aW9uVHlwZSIsIk1PQklMRV9HTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfSUQiLCJDSEFUX1BSRVZJRVdfQ09OVEFJTkVSX0lEIiwiQ0hBVF9QUkVWSUVXX1RFU1RJRCIsIkdyaWRJbnNlcnRpb25UeXBlIiwiVE9QX1NVR0dFU1RJT05fQkFSX1BEUF9JRCIsIlRPUF9TVUdHRVNUSU9OX0JBUl9URVNUSUQiLCJCT1RUT01fUkVWSUVXU19CQVJfSUQiLCJCT1RUT01fU1VHR0VTVElPTl9CQVJfVEVTVElEIl0sInNvdXJjZXMiOlsiLi4vc3JjL21lcmNoYW50cy91bmlxdWVWaW50YWdlL3VuaXF1ZVZpbnRhZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RuU2VydmljZSB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vc2VydmljZS9jZG5TZXJ2aWNlXCI7XG5pbXBvcnQgeyBHcmlkSW5zZXJ0aW9uVHlwZSB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vc2VydmljZS9kb21NdXRhdGlvbnMvR3JpZEluc2VydGlvblNlcnZpY2VcIjtcbmltcG9ydCB7IERPTUluc2VydGlvblR5cGUgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvZG9tTXV0YXRpb25zL2RvbUluc2VydGlvblNlcnZpY2VcIjtcbmltcG9ydCB7IGRlZmF1bHRPcmdVSUNvbmZpZyB9IGZyb20gXCJzcmMvbWVyY2hhbnRzL2RlZmF1bHRcIjtcbmltcG9ydCB7XG4gIENhdGVnb3J5RXh0cmFjdG9yVHlwZSxcbiAgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsXG4gIENvbG9yTWFwcGluZyxcbiAgQ29sb3JOYW1lcyxcbiAgY29sb3JWYXIsXG4gIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcsXG4gIE9yZ1BhZ2VDb25maWcsXG4gIE9yZ1VJQ29uZmlnLFxuICBQYWdlVmFyaWFudFRlc3RUeXBlLFxuICBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWcsXG4gIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgV2lkZ2V0VHlwZSxcbn0gZnJvbSBcInNyYy9jb250ZXh0cy90eXBlc1wiO1xuaW1wb3J0IHtcbiAgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlLFxuICBDdXN0b21lclNlcnZpY2VUeXBlLFxufSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvY3VzdG9tZXJTZXJ2aWNlL3R5cGVzXCI7XG5pbXBvcnQge1xuICBDSEFUX1BSRVZJRVdfVEVTVElELFxuICBUT1BfU1VHR0VTVElPTl9CQVJfVEVTVElELFxuICBCT1RUT01fU1VHR0VTVElPTl9CQVJfVEVTVElELFxuICBHTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfVEVTVElELFxufSBmcm9tIFwic3JjL2NvbmZpZy9sb2NhdG9yc1wiO1xuaW1wb3J0IHsgQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24gfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy9jaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblwiO1xuaW1wb3J0IHtcbiAgQ0hBVF9QUkVWSUVXX0NPTlRBSU5FUl9JRCxcbiAgVE9QX1NVR0dFU1RJT05fQkFSX1BEUF9JRCxcbiAgQk9UVE9NX1JFVklFV1NfQkFSX0lELFxuICBHTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfSUQsXG4gIE1PQklMRV9HTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfSUQsXG59IGZyb20gXCJzcmMvY29uZmlnL2Rpdklkc1wiO1xuaW1wb3J0IHsgUGFnZVZpc2l0Q2F0ZWdvcnkgfSBmcm9tIFwiQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50XCI7XG5pbXBvcnQgeyBGZWF0dXJlR2F0ZXMgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy9mZWF0dXJlR2F0ZXNcIjtcbmltcG9ydCB7IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MgfSBmcm9tIFwic3JjL3R5cGVzL3N1Z2dlc3Rpb25CYXJWMi10eXBlc1wiO1xuaW1wb3J0IHsgQmFzaWNPcmdJbmZvVHlwZSwgT3JnU2hvcnROYW1lIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHNcIjtcblxuY29uc3QgdW5pcXVlVmludGFnZUNvbG9yczogQ29sb3JNYXBwaW5nID0ge1xuICBbQ29sb3JOYW1lcy5UZXh0UHJpbWFyeV06IFwiIzAwMDAwMFwiLFxuICBbQ29sb3JOYW1lcy5UZXh0U2Vjb25kYXJ5XTogXCIjNTk1OTU5XCIsXG4gIFtDb2xvck5hbWVzLlRleHRBY2NlbnRdOiBcIiMxRDRBNEZcIixcbiAgW0NvbG9yTmFtZXMuVGV4dExpbmtdOiBcIiMyMjIyMjJcIixcbiAgW0NvbG9yTmFtZXMuVGV4dExpZ2h0XTogXCIjRkZGRkZGXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRQcmltYXJ5XTogXCIjRkFEREQ1XCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRTZWNvbmRhcnldOiBcIiNGRkZERjNcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZFNlY29uZGFyeURhcmtdOiBcIiNFQkU5RTBcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZFRlcnRpYXJ5XTogXCIjMUQ0QTRGXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmREYXJrXTogXCIjMjIyMjIyXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRMaWdodF06IFwiI0ZGRkZGRlwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2F0dXJhdGVkXTogXCIjRkFEREQ1XCIsXG4gIFtDb2xvck5hbWVzLkJvcmRlckxpZ2h0XTogXCIjRTdFN0U3XCIsXG4gIFtDb2xvck5hbWVzLkJvcmRlck1lZGl1bV06IFwiI0MyQzRDOFwiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJEYXJrXTogXCIjNTk1OTU5XCIsXG4gIFtDb2xvck5hbWVzLkJvcmRlck91dGxpbmVdOiBcIiMyMjIyMjJcIixcbiAgW0NvbG9yTmFtZXMuQWNjZW50UHJpbWFyeV06IFwiI0ZBRERENVwiLFxuICBbQ29sb3JOYW1lcy5BY2NlbnRTZWNvbmRhcnldOiBcIiNDMEU3RDZcIixcbn07XG5cbmNvbnN0IHVuaXF1ZVZpbnRhZ2VPcmdVSUNvbmZpZyA9ICgpOiBPcmdVSUNvbmZpZyA9PiB7XG4gIGNvbnN0IGRlZmF1bHRVbmlxdWVWaW50YWdlT3JnQ29uZmlnID0gZGVmYXVsdE9yZ1VJQ29uZmlnKFxuICAgIE9yZ1Nob3J0TmFtZS5VbmlxdWVWaW50YWdlXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5kZWZhdWx0VW5pcXVlVmludGFnZU9yZ0NvbmZpZyxcbiAgICBjaGF0TWVzc2FnZUNvbmZpZzoge1xuICAgICAgLi4uZGVmYXVsdFVuaXF1ZVZpbnRhZ2VPcmdDb25maWcuY2hhdE1lc3NhZ2VDb25maWchLFxuICAgICAgYXNzaXN0YW50Q2hhdFRpdGxlOiBcIlVuaXF1ZSBWaW50YWdlIEFJXCIsXG4gICAgICB2YXJpYW50OiBcInN0YW5kYXJkXCIsXG4gICAgfSxcbiAgICBjaGF0SGVhZGVyOiB7XG4gICAgICAuLi5kZWZhdWx0VW5pcXVlVmludGFnZU9yZ0NvbmZpZy5jaGF0SGVhZGVyLFxuICAgICAgY2hldnJvbkNvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkJhY2tncm91bmREYXJrKSxcbiAgICAgIGV4cGFuZGVkQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuQmFja2dyb3VuZFByaW1hcnkpLFxuICAgICAgaW1hZ2VTcmM6IENkblNlcnZpY2UuZ2V0QXNzZXRVUkwoXG4gICAgICAgIFwidW5pcXVlLXZpbnRhZ2UtbG9uZy1sb2dvLnBuZ1wiLFxuICAgICAgICBPcmdTaG9ydE5hbWUuVW5pcXVlVmludGFnZVxuICAgICAgKSxcbiAgICAgIC8vIGljb246IHVuaXF1ZVZpbnRhZ2VMb2dvLFxuICAgIH0sXG4gICAgY2hhdFByZXZpZXdDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRVbmlxdWVWaW50YWdlT3JnQ29uZmlnLmNoYXRQcmV2aWV3Q29uZmlnISxcbiAgICAgIHZhcmlhbnQ6IFwiZmlsbGVkXCIsXG4gICAgICBmaWxsZWRCYWNrZ3JvdW5kQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuQWNjZW50U2Vjb25kYXJ5KSxcbiAgICAgIGljb25GaWxsQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuQWNjZW50UHJpbWFyeSksXG4gICAgICBidXR0b25UZXh0Q29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuVGV4dExpZ2h0KSxcbiAgICAgIGJ1dHRvbkJhY2tncm91bmRDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5CYWNrZ3JvdW5kRGFyayksXG4gICAgICBidXR0b25UZXh0SG92ZXJDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5UZXh0UHJpbWFyeSksXG4gICAgICBidXR0b25CYWNrZ3JvdW5kSG92ZXJDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2Vjb25kYXJ5RGFyayksXG4gICAgICB0b3BNYXJnaW46IDEwLFxuICAgICAgY29waWVzOiB7XG4gICAgICAgIHBscDogW1xuICAgICAgICAgIFwiYSBjbGFzc2ljIHN3aW1zdWl0IHRoYXQncyBwZXJmZWN0IGZvciBwb29sc2lkZSBnbGFtb3VyP1wiLFxuICAgICAgICAgIFwiYSBza2lydCB0aGF0IHR3aXJscyBsaWtlIGl0J3Mgc3RyYWlnaHQgb3V0IG9mIHRoZSAnNTBzP1wiLFxuICAgICAgICAgIFwiYSBoYW5kYmFnIGluc3BpcmVkIGJ5IGljb25pYyBlcmFzP1wiLFxuICAgICAgICAgIFwiYSBkcmVzcyB0aGF0IHR1cm5zIGV2ZXJ5IGhlYWQgaW4gdGhlIHJvb20/XCIsXG4gICAgICAgIF0sXG4gICAgICAgIHBkcDogW1xuICAgICAgICAgIFwidGhlIHZpbnRhZ2UtaW5zcGlyZWQgZGV0YWlscyB0aGF0IG1ha2UgdGhpcyBwaWVjZSB0aW1lbGVzcz9cIixcbiAgICAgICAgICBcIndoYXQgbWFrZXMgdGhpcyBzdHlsZSBhIHRydWUgdGhyb3diYWNrIHRyZWFzdXJlP1wiLFxuICAgICAgICAgIFwid2hhdCBsdXhlIG1hdGVyaWFscyB3aWxsIGVsZXZhdGUgeW91ciBsb29rP1wiLFxuICAgICAgICAgIFwidGhlIHNpemUgdGhhdCdzIHJpZ2h0IGZvciB5b3U/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczoge1xuICAgICAgICBwbHA6IFtcbiAgICAgICAgICBcIldoYXQgY2FzdWFsIHZpbnRhZ2UgcGllY2VzIHdvcmsgZm9yIGV2ZXJ5ZGF5IHdlYXI/XCIsXG4gICAgICAgICAgXCJXaGF0IHBpZWNlcyBjYW4gSSBtaXggYW5kIG1hdGNoIGZvciBhIHZpbnRhZ2UtaW5zcGlyZWQgd2FyZHJvYmU/XCIsXG4gICAgICAgICAgXCJXaGF0IHNob2VzIGFyZSBwZXJmZWN0IGZvciBkYXRlIG5pZ2h0cyBhbmQgc3BlY2lhbCBvY2Nhc2lvbnM/XCIsXG4gICAgICAgICAgXCJXaGF0IGFjY2Vzc29yaWVzIGNhbiBJIGFkZCB0byBlbGV2YXRlIG15IHZpbnRhZ2UgbG9vaz9cIixcbiAgICAgICAgXSxcbiAgICAgICAgcGRwOiBbXG4gICAgICAgICAgXCJXaGF0IHNpemUgd2lsbCBnaXZlIG1lIHRoZSByaWdodCBmaXQ/XCIsXG4gICAgICAgICAgXCJIb3cgZG8gSSBrZWVwIHRoaXMgcGllY2UgaW4gcGVyZmVjdCBjb25kaXRpb24gZm9yIHllYXJzIHRvIGNvbWU/XCIsXG4gICAgICAgICAgXCJXaGF0IGZlYXR1cmVzIG1ha2VzIHRoaXMgcGllY2UgdGhlIGlkZWFsIHN0YXRlbWVudCBmb3IgYSB2aW50YWdlIGxvdmVyP1wiLFxuICAgICAgICAgIFwiSG93IGRvZXMgdGhpcyBwaWVjZSBlbWJvZHkgdGhlIHNwaXJpdCBvZiBwYXN0IGVyYXMgd2l0aCBtb2Rlcm4gc3R5bGU/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgaGVhZGVyQ29uZmlnOiB7XG4gICAgICAgIHRpdGxlOiBcIlNob3BwaW5nIEFzc2lzdGFudFwiLFxuICAgICAgICBzcGFya2xlc0NvbG9yOiB1bmRlZmluZWQsXG4gICAgICAgIGltYWdlSGVpZ2h0OiAyNCxcbiAgICAgICAgaW1hZ2VTcmM6IENkblNlcnZpY2UuZ2V0QXNzZXRVUkwoXG4gICAgICAgICAgXCJ1bmlxdWUtdmludGFnZS1sb25nLWxvZ28ucG5nXCIsXG4gICAgICAgICAgT3JnU2hvcnROYW1lLlVuaXF1ZVZpbnRhZ2VcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICBmb290ZXJDb25maWc6IHtcbiAgICAgICAgLi4uZGVmYXVsdFVuaXF1ZVZpbnRhZ2VPcmdDb25maWcuY2hhdFByZXZpZXdDb25maWchLmZvb3RlckNvbmZpZyxcbiAgICAgICAgcmVwbHlCdXR0b25UZXh0OiBcIldoYXQgY2FuIEkgaGVscCB5b3UgZmluZD9cIixcbiAgICAgICAgcmVwbHlCdXR0b25JY29uOiBcIm1hZ25pZnlpbmdHbGFzc1wiLFxuICAgICAgICBoYXNGYWRlOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBmbG9hdGluZ0VudHJ5cG9pbnRDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRVbmlxdWVWaW50YWdlT3JnQ29uZmlnLmZsb2F0aW5nRW50cnlwb2ludENvbmZpZyEsXG4gICAgICBzaG93T3B0aW9uOiBcImFsd2F5c1wiLFxuICAgICAgZXhwYW5kZWRDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5Cb3JkZXJPdXRsaW5lKSxcbiAgICAgIGljb25TdHJva2VDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5CYWNrZ3JvdW5kRGFyayksXG4gICAgICBpY29uRmlsbENvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkJhY2tncm91bmREYXJrKSxcbiAgICAgIGV4cGFuc2lvblRleHQ6IHtcbiAgICAgICAgcGRwOiBcIldpbGwgdGhpcyBjb21wbGV0ZSB5b3VyIHJldHJvIHdhcmRyb2JlP1wiLFxuICAgICAgICBwbHA6IFwiV2hhdCB2aW50YWdlIHRyZWFzdXJlIHdpbGwgeW91IGZpbmQgdG9kYXk/XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcHJvZHVjdENhcmRDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRVbmlxdWVWaW50YWdlT3JnQ29uZmlnLnByb2R1Y3RDYXJkQ29uZmlnISxcbiAgICB9LFxuICAgIHByb2R1Y3RSZXZpZXdDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRVbmlxdWVWaW50YWdlT3JnQ29uZmlnLnByb2R1Y3RSZXZpZXdDb25maWchLFxuICAgICAgY29sb3JWYXJpYW50OiBcImJyYW5kXCIsXG4gICAgICBpbmNlbnRpdml6ZWRSZXZpZXdGbGFnOiBmYWxzZSxcbiAgICB9LFxuICAgIHdlbGNvbWVTZWN0aW9uQ29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0VW5pcXVlVmludGFnZU9yZ0NvbmZpZy53ZWxjb21lU2VjdGlvbkNvbmZpZyEsXG4gICAgICB0aXRsZTogXCJXZWxjb21lIHRvIFVuaXF1ZSBWaW50YWdlIEFJIVwiLFxuICAgICAgY29sb3JWYXJpYW50OiBcImJyYW5kXCIsXG4gICAgICBzdWJ0aXRsZTpcbiAgICAgICAgXCJIZWxsbywgZGFybGluZyEgSSdtIGhlcmUgdG8gaGVscCB5b3UgZmluZCBldmVyeXRoaW5nIHlvdSBuZWVkIHRvIGNoYW5uZWwgeW91ciB1bmlxdWUsIHZpbnRhZ2UtaW5zcGlyZWQgc3R5bGUuIFdoZXRoZXIgeW91J3JlIHNlYXJjaGluZyBmb3IgdGhlIHBlcmZlY3Qgb3V0Zml0LCBuZWVkIHNpemluZyBhZHZpY2UsIG9yIGp1c3Qgd2FudCB0byBleHBsb3JlIGZhYnVsb3VzIGFjY2Vzc29yaWVzLCBsZXQncyBtYWtlIHlvdXIgc2hvcHBpbmcgZXhwZXJpZW5jZSBhcyBnbGFtb3JvdXMgYXMgeW91IGFyZSFcIixcbiAgICB9LFxuICAgIGN1c3RvbWVyU2VydmljZUludGVncmF0aW9uOiB7XG4gICAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZS5zaW1wbGUsXG4gICAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZS56b3dpZSxcbiAgICB9LFxuICAgIGNvbnZlcnNhdGlvbmFsU2VhcmNoOiB7XG4gICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgcmVwbHlJbnB1dDoge1xuICAgICAgICBzZW5kSWNvbjogXCJzZWFyY2hcIixcbiAgICAgICAgcGxhY2Vob2xkZXI6IFwiV2hhdCBjYW4gSSBoZWxwIHlvdSBmaW5kP1wiLFxuICAgICAgfSxcbiAgICAgIC8vIFRPRE86IE1pZ3JhdGUgaXQgdG8gdGhlIG5ldyBtb3VudCBwb2ludCBzdHJ1Y3R1cmUuXG4gICAgICBlbnRyeXBvaW50Q29udGFpbmVyOiBcImlkfGNoYXQtc2VhcmNoLWVudHJ5cG9pbnRcIixcbiAgICAgIHByb2R1Y3RHcmlkQ29udGFpbmVyOiBcImlkfGNoYXQtc2VhcmNoLXByb2R1Y3QtcGFnZVwiLFxuICAgICAgc2VhcmNoQ29udGVudDogXCJxdWVyeXwuc3NfX2F1dG9jb21wbGV0ZS0tdGFyZ2V0XCIsXG4gICAgICBwYWdlQ29udGVudDogXCJpZHxNYWluQ29udGVudFwiLFxuICAgICAgZ2VuZXJhbFNlYXJjaEJ0bjogXCJxdWVyeXxidXR0b24ubW9kYWxfX2Nsb3NlLWJ1dHRvblwiLFxuICAgIH0sXG4gICAgc2VhcmNoQ29uZmlnOiB7XG4gICAgICBlbmFibGVHbG9iYWxTZWFyY2g6IHRydWUsXG4gICAgICBzZWFyY2hGaWx0ZXJDb25maWc6IFtcbiAgICAgICAge1xuICAgICAgICAgIGZpbHRlcklkOiBcImNvbG9yXCIsXG4gICAgICAgICAgZGlzcGxheU5hbWU6IFwiQ29sb3JcIixcbiAgICAgICAgICBhdHRyaWJ1dGU6IFwiY29sb3JzXCIsXG4gICAgICAgICAgdHlwZTogXCJkeW5hbWljXCIsXG4gICAgICAgICAgc29ydGluZzoge1xuICAgICAgICAgICAgdHlwZTogXCJhbHBoYWJldGljXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZpbHRlcklkOiBcInNpemVcIixcbiAgICAgICAgICBkaXNwbGF5TmFtZTogXCJTaXplXCIsXG4gICAgICAgICAgdHlwZTogXCJkeW5hbWljXCIsXG4gICAgICAgICAgYXR0cmlidXRlOiBcInNpemVzXCIsXG4gICAgICAgICAgc29ydGluZzoge1xuICAgICAgICAgICAgdHlwZTogXCJjdXN0b21cIixcbiAgICAgICAgICAgIG1hcDoge1xuICAgICAgICAgICAgICBcIk9uZSBTaXplXCI6IDEwLFxuICAgICAgICAgICAgICBcIlhYUyAvIDBcIjogMjAsXG4gICAgICAgICAgICAgIFwiWFMgLyAyXCI6IDMwLFxuICAgICAgICAgICAgICBcIlMgLyA0XCI6IDQwLFxuICAgICAgICAgICAgICBcIk0gLyA2IC0gOFwiOiA1MCxcbiAgICAgICAgICAgICAgXCJMIC8gMTAgLSAxMlwiOiA2MCxcbiAgICAgICAgICAgICAgXCJYTCAvIDE0XCI6IDcwLFxuICAgICAgICAgICAgICBcIjFYIC8gMTZcIjogODAsXG4gICAgICAgICAgICAgIFwiMlggLyAxOFwiOiA5MCxcbiAgICAgICAgICAgICAgXCIzWCAvIDIwXCI6IDEwMCxcbiAgICAgICAgICAgICAgXCI0WCAvIDIyIC0gMjRcIjogMTEwLFxuICAgICAgICAgICAgICBcIjVYIC8gMjZcIjogMTIwLFxuICAgICAgICAgICAgICBcIjZYXCI6IDEzMCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZpbHRlcklkOiBcInByaWNlXCIsXG4gICAgICAgICAgZGlzcGxheU5hbWU6IFwiUHJpY2VcIixcbiAgICAgICAgICB0eXBlOiBcInByaWNlXCIsXG4gICAgICAgICAgYnVja2V0U2l6ZTogNTAsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG5cbiAgICBtZXJjaGFudE92ZXJyaWRlQ3NzOiBgXG4gICAgICAjc3BpZmZ5LW1vZGFsLWNvbnRhaW5lciB7XG4gICAgICAgIHotaW5kZXg6IDIxNDc0ODMwMDEgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktc3Rhci1yYXRpbmctc3RhciB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1hY2NlbnQpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LXByb2R1Y3QtcmV2aWV3LWhlYWRlci1yZXZpZXdlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLyogV2VsY29tZVNlY3Rpb24gbGlnaHQgdGV4dCBvdmVycmlkZSAqL1xuICAgICAgLnNwaWZmeS13ZWxjb21lLXNlY3Rpb24tbWVzc2FnZS10aXRsZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtbGlnaHQpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LXdlbGNvbWUtc2VjdGlvbi1tZXNzYWdlLXN1YnRpdGxlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1saWdodCkgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgI3NwaWZmeS1haS1jaGF0LXByZXZpZXcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgICNjaGF0LXNlYXJjaC1wcm9kdWN0LXBhZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgICNjaGF0LXNlYXJjaC1uYXYtZW50cnlwb2ludCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICAgICNzcGlmZnktYWktY2hhdC1wcmV2aWV3LmlzLXBkcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCB2YXIoLS1zcGlmZnktY29sb3JzLWJvcmRlci1saWdodCk7XG4gICAgICB9XG4gICAgICAjc3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1pZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgI3NwaWZmeS1haS1jaGF0LXByZXZpZXcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgICNzcGlmZnktYm90dG9tLXJldmlld3MtYmFyLWlkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LWNoYXQtc2VhcmNoLWVudHJ5cG9pbnQtY29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLWRhcmspICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LWNoYXQtc2VhcmNoLWVudHJ5cG9pbnQtY29udGFpbmVyIC5zcGlmZnktYnV0dG9uLWJhc2UtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LWNoYXQtc2VhcmNoLWVudHJ5cG9pbnQtdGV4dCBwIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdCb29rbWFuaWEtU2VtaUJvbGQnICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgI3NwaWZmeS1haS1jaGF0LXByZXZpZXctY29udGVudHMgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICAgIC0tY2hha3JhLWZvbnRzLWhlYWRpbmc6ICdCb29rbWFuaWEtUmVndWxhcicsICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktaGVhZGxpbmUge1xuICAgICAgICBmb250LWZhbWlseTogJ0Jvb2ttYW5pYS1SZWd1bGFyJywgJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgICAgfVxuICAgICAgI3NwaWZmeS1tb2RlbC1jb250YWluZXIgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1jaGFrcmEtZm9udHMtaGVhZGluZyk7XG4gICAgICB9XG4gICAgICAjc3BpZmZ5LW1vZGVsLWNvbnRhaW5lciBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgLS1jaGFrcmEtZm9udHMtaGVhZGluZzogJ0Jvb2ttYW5pYS1SZWd1bGFyJywgJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1zdWdnZXN0aW9uLWJ1dHRvbi1xdWVzdGlvbi1jbGFzcyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNwaWZmeS1jb2xvcnMtYm9yZGVyLWxpZ2h0KTtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktdGFnLXBpbGwtdGV4dCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtbGlnaHQpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAjcmV0dXJuLXRvLXJlc3VsdHMtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LWJhY2stdG8tcmVzdWx0cy1idXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICNjaGF0LXNlYXJjaC1lbnRyeXBvaW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAjY2hhdC1zZWFyY2gtZW50cnlwb2ludC1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgLnNzX19hdXRvY29tcGxldGUtLWFjdGl2ZSAjY2hhdC1zZWFyY2gtZW50cnlwb2ludC1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1wcm9kdWN0LWNhcmQtdGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tY2hha3JhLWZvbnRzLWhlYWRpbmcpO1xuICAgICAgICBjb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LWxpbmspO1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1wcm9kdWN0LWNhcmQtdGV4dC1jb2xvciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgIH1cblxuICAgICAgLnNwaWZmeS1jaGF0LWhlYWRlci1jbG9zZS1idXR0b24ge1xuICAgICAgICBjb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLWJhY2tncm91bmQtdGVydGlhcnkpO1xuICAgICAgfVxuXG4gICAgICAjc3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50cyAuc3BpZmZ5LXN1Z2dlc3Rpb24tYnV0dG9uLXF1ZXN0aW9uLWNsYXNzIHNwYW4ge1xuICAgICAgICBjb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LWFjY2VudCkgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgI3NwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHMgLnNwaWZmeS1zdWdnZXN0aW9uLWJ1dHRvbi1xdWVzdGlvbi1jbGFzcyBzdmcge1xuICAgICAgICBmaWxsOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtYWNjZW50KSAhaW1wb3J0YW50O1xuICAgICAgICBzdHJva2U6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1hY2NlbnQpICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICNzcGlmZnktYm90dG9tLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzIC5zcGlmZnktc3VnZ2VzdGlvbi1idXR0b24tcXVlc3Rpb24tY2xhc3Mgc3ZnIHtcbiAgICAgICAgZmlsbDogdmFyKC0tc3BpZmZ5LWNvbG9ycy1hY2NlbnQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgICAgc3Ryb2tlOiB2YXIoLS1zcGlmZnktY29sb3JzLWFjY2VudC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAjc3BpZmZ5LWJvdHRvbS1zdWdnZXN0aW9uLWJhci1jb250ZW50cyAuc3BpZmZ5LXN1Z2dlc3Rpb24tYnV0dG9uLXF1ZXN0aW9uLWNsYXNzOmhvdmVyIHN2ZyB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1saW5rKSAhaW1wb3J0YW50O1xuICAgICAgICBzdHJva2U6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1saW5rKSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAjc3BpZmZ5LWFpLWdsb2JhbC1zZWFyY2gtZW50cnlwb2ludC5nbG9iYWwtZW50cnktZGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgI3NwaWZmeS1haS1nbG9iYWwtc2VhcmNoLWVudHJ5cG9pbnQtbW9iaWxlLmdsb2JhbC1lbnRyeS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAgICAgI3NwaWZmeS1haS1nbG9iYWwtc2VhcmNoLWVudHJ5cG9pbnQuZ2xvYmFsLWVudHJ5LWRlc2t0b3Age1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgI3NwaWZmeS1haS1nbG9iYWwtc2VhcmNoLWVudHJ5cG9pbnQtbW9iaWxlLmdsb2JhbC1lbnRyeS1tb2JpbGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9IFxuXG4gICAgICAjc3BpZmZ5LWFpLWdsb2JhbC1zZWFyY2gtZW50cnlwb2ludC5nbG9iYWwtZW50cnktZGVza3RvcCAuc3BpZmZ5LWdsb2JhbC1zZWFyY2gtaW5wdXQtY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgfVxuXG4gICAgICAuc3BpZmZ5LWdsb2JhbC1zZWFyY2gtaW5wdXQtY29udGFpbmVyIC5zcGlmZnktZ2xvYmFsLXNlYXJjaC10ZXh0IHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUG9seVwiLCBzZXJpZjtcbiAgICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1saW5rKSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogODBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDZweDtcbiAgICAgIH1cblxuICAgICAgLnNwaWZmeS1zZWFyY2gtb3ZlcmxheS1jb250ZW50IC5zcGlmZnktaGVhZGxpbmUge1xuICAgICAgICBmb250LWZhbWlseTogXCJQb2x5XCIsIHNlcmlmO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNwaWZmeS1zZWFyY2gtb3ZlcmxheS1jb250ZW50IC5zcGlmZnktYm9keS10ZXh0IHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUG9seVwiLCBzZXJpZjtcbiAgICAgIH1cblxuICAgICAgLnNwaWZmeS1nbG9iYWwtc2VhcmNoLWlucHV0LWNvbnRhaW5lciBzdmcge1xuICAgICAgICB3aWR0aDogMjZweDtcbiAgICAgIH1cbiAgICBgLFxuICB9O1xufTtcblxuY29uc3QgdW5pcXVlVmludGFnZVBhZ2VDb25maWcgPSAoKTogT3JnUGFnZUNvbmZpZyA9PiAoe1xuICBwYWdlVmFyaWFudHM6IFtcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwic2VhcmNoLXJlc3VsdHNcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBhZ2VfdmlzaXRcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQTFAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlF1ZXJ5UGFyYW0sXG4gICAgICAgICAgcXVlcnlQYXJhbTogXCJxXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5QYWdlQ2F0ZWdvcnksXG4gICAgICAgICAgZXh0cmFjdG9yOiB7XG4gICAgICAgICAgICB0eXBlOiBDYXRlZ29yeUV4dHJhY3RvclR5cGUuVmlzaXRDYXRlZ29yeURlZmF1bHQsXG4gICAgICAgICAgICB2YWx1ZTogUGFnZVZpc2l0Q2F0ZWdvcnkuT3RoZXIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB3aWRnZXRNb3VudGluZzogW10sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwLWdsb2JhbC1zZWFyY2hcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBscFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBMUCB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGUsXG4gICAgICAgICAgZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcy5Jc0dsb2JhbFNlYXJjaEVuYWJsZWQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcGxwSWRFeHRyYWN0b3I6IFwic2hvcGlmeS1jb2xsZWN0aW9uLWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50XCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBscC1zZWFyY2hcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBscFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5GZWF0dXJlR2F0ZSxcbiAgICAgICAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzLklzTmV3RmVhdHVyZUVuYWJsZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBMUCB9LFxuICAgICAgXSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInNob3BpZnktY29sbGVjdGlvbi1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJzZWFyY2hQcm9tcHRQTFBcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW3sgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBMUCB9XSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInNob3BpZnktY29sbGVjdGlvbi1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwZHBEcmVzc2VzSGFzUmV2aWV3c0dsb2JhbFNlYXJjaFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQRFAsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5JbkNvbGxlY3Rpb24sXG4gICAgICAgICAgY29sbGVjdGlvbnM6IFtcImRyZXNzZXNcIl0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNSZXZpZXdzLFxuICAgICAgICAgIHJldmlld01pbmltdW06IDQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5GZWF0dXJlR2F0ZSxcbiAgICAgICAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzLklzR2xvYmFsU2VhcmNoRW5hYmxlZCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwic2hvcGlmeS1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50XCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJEcmVzc2VzSGFzUmV2aWV3c1wiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwZHBEcmVzc2VzTm9SZXZpZXdzR2xvYmFsU2VhcmNoXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBEUCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbixcbiAgICAgICAgICBjb2xsZWN0aW9uczogW1wiZHJlc3Nlc1wiXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkZlYXR1cmVHYXRlLFxuICAgICAgICAgIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMuSXNHbG9iYWxTZWFyY2hFbmFibGVkLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJzaG9waWZ5LXByb2R1Y3QtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50XCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhckRyZXNzZXNOb1Jldmlld3NcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGRwU3dpbXdlYXJIYXNSZXZpZXdzR2xvYmFsU2VhcmNoXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBEUCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbixcbiAgICAgICAgICBjb2xsZWN0aW9uczogW1wic3dpbS1odG1sXCJdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzUmV2aWV3cyxcbiAgICAgICAgICByZXZpZXdNaW5pbXVtOiA0LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGUsXG4gICAgICAgICAgZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcy5Jc0dsb2JhbFNlYXJjaEVuYWJsZWQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInNob3BpZnktcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyU3dpbXdlYXJIYXNSZXZpZXdzXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBkcFN3aW13ZWFyTm9SZXZpZXdzR2xvYmFsU2VhcmNoXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBEUCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbixcbiAgICAgICAgICBjb2xsZWN0aW9uczogW1wic3dpbS1odG1sXCJdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGUsXG4gICAgICAgICAgZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcy5Jc0dsb2JhbFNlYXJjaEVuYWJsZWQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInNob3BpZnktcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyU3dpbXdlYXJOb1Jldmlld3NcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGRwU2hvZXNIYXNSZXZpZXdzR2xvYmFsU2VhcmNoXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBEUCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbixcbiAgICAgICAgICBjb2xsZWN0aW9uczogW1wic2hvZXNcIl0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNSZXZpZXdzLFxuICAgICAgICAgIHJldmlld01pbmltdW06IDQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5GZWF0dXJlR2F0ZSxcbiAgICAgICAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzLklzR2xvYmFsU2VhcmNoRW5hYmxlZCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwic2hvcGlmeS1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50XCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJTaG9lc0hhc1Jldmlld3NcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGRwU2hvZXNOb1Jldmlld3NHbG9iYWxTZWFyY2hcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UERQLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uLFxuICAgICAgICAgIGNvbGxlY3Rpb25zOiBbXCJzaG9lc1wiXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkZlYXR1cmVHYXRlLFxuICAgICAgICAgIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMuSXNHbG9iYWxTZWFyY2hFbmFibGVkLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJzaG9waWZ5LXByb2R1Y3QtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50XCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclNob2VzTm9SZXZpZXdzXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBkcEdsb2JhbFNlYXJjaFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UERQIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5GZWF0dXJlR2F0ZSxcbiAgICAgICAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzLklzR2xvYmFsU2VhcmNoRW5hYmxlZCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwic2hvcGlmeS1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50XCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGRwRHJlc3Nlc0hhc1Jldmlld3NcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UERQLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uLFxuICAgICAgICAgIGNvbGxlY3Rpb25zOiBbXCJkcmVzc2VzXCJdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzUmV2aWV3cyxcbiAgICAgICAgICByZXZpZXdNaW5pbXVtOiA0LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJzaG9waWZ5LXByb2R1Y3QtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhckRyZXNzZXNIYXNSZXZpZXdzXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBkcERyZXNzZXNOb1Jldmlld3NcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UERQLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uLFxuICAgICAgICAgIGNvbGxlY3Rpb25zOiBbXCJkcmVzc2VzXCJdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJzaG9waWZ5LXByb2R1Y3QtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhckRyZXNzZXNOb1Jldmlld3NcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGRwU3dpbXdlYXJIYXNSZXZpZXdzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBEUCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbixcbiAgICAgICAgICBjb2xsZWN0aW9uczogW1wic3dpbS1odG1sXCJdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzUmV2aWV3cyxcbiAgICAgICAgICByZXZpZXdNaW5pbXVtOiA0LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJzaG9waWZ5LXByb2R1Y3QtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclN3aW13ZWFySGFzUmV2aWV3c1wiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwZHBTd2ltd2Vhck5vUmV2aWV3c1wiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQRFAsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5JbkNvbGxlY3Rpb24sXG4gICAgICAgICAgY29sbGVjdGlvbnM6IFtcInN3aW0taHRtbFwiXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwic2hvcGlmeS1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJTd2ltd2Vhck5vUmV2aWV3c1wiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwZHBTaG9lc0hhc1Jldmlld3NcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UERQLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uLFxuICAgICAgICAgIGNvbGxlY3Rpb25zOiBbXCJzaG9lc1wiXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkhhc1Jldmlld3MsXG4gICAgICAgICAgcmV2aWV3TWluaW11bTogNCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwic2hvcGlmeS1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJTaG9lc0hhc1Jldmlld3NcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGRwU2hvZXNOb1Jldmlld3NcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UERQLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uLFxuICAgICAgICAgIGNvbGxlY3Rpb25zOiBbXCJzaG9lc1wiXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwic2hvcGlmeS1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJTaG9lc05vUmV2aWV3c1wiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UERQIH1dLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInNob3BpZnktcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF0sXG4gIHdpZGdldENvbmZpZ3M6IHtcbiAgICBnbG9iYWxTZWFyY2hFbnRyeVBvaW50OiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50XCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnQsXG4gICAgICBzZWFyY2haZXJvU3RhdGVWYXJpYW50OiBcImJhY2tncm91bmRUZXJ0aWFyeVwiLFxuICAgICAgc2VhcmNoSW5wdXRWYXJpYW50OiBcInN0YW5kYXJkXCIsXG4gICAgICBzdWdnZXN0aW9uQnV0dG9uQ29uZmlnOiB7XG4gICAgICAgIHZhcmlhbnQ6IFwiZGFya0FjY2VudFwiLFxuICAgICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5QWNjZW50XCIsXG4gICAgICB9LFxuICAgICAgbGF5b3V0OiBcImljb25cIixcbiAgICAgIGNvbXBhY3RMYWJlbDogXCJTZWFyY2hcIixcbiAgICAgIHNlYXJjaEJveFBsYWNlaG9sZGVyOiAnVHJ5IFwiQ29sb3JmdWwgbWF4aSBmb3IgYSBzdW1tZXIgd2VkZGluZ1wiJyxcbiAgICAgIGluaXRpYWxTdWdnZXN0aW9uczogW1xuICAgICAgICBcIlZpbnRhZ2UgZHJlc3Nlc1wiLFxuICAgICAgICBcIk1heGkgZHJlc3Nlc1wiLFxuICAgICAgICBcIkRpc25leSBvdXRmaXRcIixcbiAgICAgICAgXCJCYXJiaWUgY29sbGVjdGlvblwiLFxuICAgICAgICBcIjE5NzBzIGp1bXBzdWl0XCIsXG4gICAgICAgIFwiT25lLXBpZWNlIHN3aW1zdWl0XCIsXG4gICAgICAgIFwiQ2luZGVyZWxsYSBkaXZpbmUgZHJlc3Nlc1wiLFxuICAgICAgXSxcbiAgICB9IHNhdGlzZmllcyBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLFxuICAgIGdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGU6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludCxcbiAgICAgIHNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ6IFwiYmFja2dyb3VuZFRlcnRpYXJ5XCIsXG4gICAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFwic3RhbmRhcmRcIixcbiAgICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJkYXJrQWNjZW50XCIsXG4gICAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlBY2NlbnRcIixcbiAgICAgIH0sXG4gICAgICBsYXlvdXQ6IFwiaWNvblwiLFxuICAgICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6ICdUcnkgXCJDb2xvcmZ1bCBtYXhpIGZvciBhIHN1bW1lciB3ZWRkaW5nXCInLFxuICAgICAgaW5pdGlhbFN1Z2dlc3Rpb25zOiBbXG4gICAgICAgIFwiVmludGFnZSBkcmVzc2VzXCIsXG4gICAgICAgIFwiTWF4aSBkcmVzc2VzXCIsXG4gICAgICAgIFwiRGlzbmV5IG91dGZpdFwiLFxuICAgICAgICBcIkJhcmJpZSBjb2xsZWN0aW9uXCIsXG4gICAgICAgIFwiMTk3MHMganVtcHN1aXRcIixcbiAgICAgICAgXCJPbmUtcGllY2Ugc3dpbXN1aXRcIixcbiAgICAgICAgXCJDaW5kZXJlbGxhIGRpdmluZSBkcmVzc2VzXCIsXG4gICAgICBdLFxuICAgIH0gc2F0aXNmaWVzIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcsXG4gICAgdG9wU3VnZ2VzdGlvbnNCYXI6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLlRPUF9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB2YXJpYW50OiBcInByaW1hcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJTdW1tYXJpemUgdGhlIHJldmlld3NcIixcbiAgICAgICAgICBcIldoYXQgcmV0cm8gY2hhcm0gd2lsbCB0aGlzIHBpZWNlIGJyaW5nIHRvIG15IHdhcmRyb2JlP1wiLFxuICAgICAgICAgIFwiV2hhdCBvY2Nhc2lvbnMgaXMgdGhpcyBwaWVjZSBwZXJmZWN0IGZvcj9cIixcbiAgICAgICAgICBcIkhvdyBkbyBvdGhlcnMgZGVzY3JpYmUgdGhlIGZpdCBhbmQgZmVlbD9cIixcbiAgICAgICAgICBcIldoYXQgbWFrZXMgdGhpcyBwaWVjZSBzdGFuZCBvdXQgZm9yIG90aGVycz9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBib2xkRmlyc3RCdXR0b246IHRydWUsXG4gICAgICB0d29Sb3dzT25Nb2JpbGU6IGZhbHNlLFxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcIm1kXCIsXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIHRvcFN1Z2dlc3Rpb25zQmFyRHJlc3Nlc0hhc1Jldmlld3M6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyRHJlc3Nlc0hhc1Jldmlld3NcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHZhcmlhbnQ6IFwicHJpbWFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIlN1bW1hcml6ZSB0aGUgcmV2aWV3c1wiLFxuICAgICAgICAgIFwiV2hpY2ggdW5pcXVlIGFjY2Vzc29yaWVzIHBhaXIgd2l0aCB0aGlzP1wiLFxuICAgICAgICAgIFwiSXMgdGhlIGZpdCBmbG93eSBvciBmaWd1cmUtZW5oYW5jaW5nP1wiLFxuICAgICAgICAgIFwiSXMgaXQgdHJ1ZSB0byBzaXplP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIHR3b1Jvd3NPbk1vYmlsZTogZmFsc2UsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgdG9wU3VnZ2VzdGlvbnNCYXJEcmVzc2VzTm9SZXZpZXdzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhckRyZXNzZXNOb1Jldmlld3NcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHZhcmlhbnQ6IFwicHJpbWFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIldoYXQgb2NjYXNpb24gaXMgdGhpcyBkcmVzcyBmb3I/XCIsXG4gICAgICAgICAgXCJXaGljaCB1bmlxdWUgYWNjZXNzb3JpZXMgcGFpciB3aXRoIHRoaXM/XCIsXG4gICAgICAgICAgXCJJcyB0aGUgZml0IGZsb3d5IG9yIGZpZ3VyZS1lbmhhbmNpbmc/XCIsXG4gICAgICAgICAgXCJJcyBpdCB0cnVlIHRvIHNpemU/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgdHdvUm93c09uTW9iaWxlOiBmYWxzZSxcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICB0b3BTdWdnZXN0aW9uc0JhclN3aW13ZWFySGFzUmV2aWV3czoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJTd2ltd2Vhckhhc1Jldmlld3NcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHZhcmlhbnQ6IFwicHJpbWFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIlN1bW1hcml6ZSB0aGUgcmV2aWV3c1wiLFxuICAgICAgICAgIFwiV2hpY2ggYWNjZXNzb3JpZXMgcGFpciB3ZWxsP1wiLFxuICAgICAgICAgIFwiRG9lcyB0aGUgdG9wIGhhdmUgcGFkZGluZz9cIixcbiAgICAgICAgICBcIkRvZXMgaXQgcnVuIHRydWUgdG8gc2l6ZT9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBib2xkRmlyc3RCdXR0b246IHRydWUsXG4gICAgICB0d29Sb3dzT25Nb2JpbGU6IGZhbHNlLFxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcIm1kXCIsXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIHRvcFN1Z2dlc3Rpb25zQmFyU3dpbXdlYXJOb1Jldmlld3M6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyU3dpbXdlYXJOb1Jldmlld3NcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHZhcmlhbnQ6IFwicHJpbWFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIkRvZXMgaXQgcnVuIHRydWUgdG8gc2l6ZT9cIixcbiAgICAgICAgICBcIldoaWNoIGFjY2Vzc29yaWVzIHBhaXIgd2VsbD9cIixcbiAgICAgICAgICBcIkRvZXMgdGhlIHRvcCBoYXZlIHBhZGRpbmc/XCIsXG4gICAgICAgICAgXCJEb2VzIGl0IHJ1biB0cnVlIHRvIHNpemU/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgdHdvUm93c09uTW9iaWxlOiBmYWxzZSxcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICB0b3BTdWdnZXN0aW9uc0JhclNob2VzSGFzUmV2aWV3czoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJTaG9lc0hhc1Jldmlld3NcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHZhcmlhbnQ6IFwicHJpbWFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIlN1bW1hcml6ZSB0aGUgcmV2aWV3c1wiLFxuICAgICAgICAgIFwiSXMgdGhpcyBnb29kIGZvciBhIG5pZ2h0IG91dD9cIixcbiAgICAgICAgICBcIkFyZSB0aGVzZSB0cnVlIHRvIHNpemU/XCIsXG4gICAgICAgICAgXCJBcmUgdGhlc2UgZ29vZCBmb3IgY2FzdWFsIHdlYXI/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgdHdvUm93c09uTW9iaWxlOiBmYWxzZSxcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICB0b3BTdWdnZXN0aW9uc0JhclNob2VzTm9SZXZpZXdzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclNob2VzTm9SZXZpZXdzXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLlRPUF9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB2YXJpYW50OiBcInByaW1hcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJXaGF0IGVyYSBpbnNwaXJlZCB0aGVzZSBzaG9lcz9cIixcbiAgICAgICAgICBcIklzIHRoaXMgZ29vZCBmb3IgYSBuaWdodCBvdXQ/XCIsXG4gICAgICAgICAgXCJBcmUgdGhlc2UgdHJ1ZSB0byBzaXplP1wiLFxuICAgICAgICAgIFwiQXJlIHRoZXNlIGdvb2QgZm9yIGNhc3VhbCB3ZWFyP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIHR3b1Jvd3NPbk1vYmlsZTogZmFsc2UsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgc2VhcmNoUHJvbXB0UExQOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJzZWFyY2hQcm9tcHRQTFBcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU2VhcmNoUHJvbXB0LFxuICAgICAgdmFyaWFudDogXCJwcmltYXJ5XCIsXG4gICAgICB0aXRsZTogXCJGaW5kIGV4YWN0bHkgd2hhdCB5b3UncmUgbG9va2luZyBmb3IuLi5cIixcbiAgICAgIGhlYWRlckNvbmZpZzoge1xuICAgICAgICB0aXRsZTogXCJTZWFyY2ggQXNzaXN0YW50XCIsXG4gICAgICAgIGxvZ286IFwic2VhcmNoLWxvZ28uc3ZnXCIsXG4gICAgICAgIGxvZ29IZWlnaHQ6IDI1LFxuICAgICAgICBvcmdTaG9ydE5hbWU6IFwidW5pcXVlLXZpbnRhZ2VcIixcbiAgICAgIH0sXG4gICAgICBzdWdnZXN0aW9uQnV0dG9uczoge1xuICAgICAgICB2YXJpYW50OiBcImRhcmtQcmltYXJ5XCIsXG4gICAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlcIixcbiAgICAgICAgYnV0dG9uVGV4dHM6IFtcbiAgICAgICAgICBcIlZpbnRhZ2UgZHJlc3Nlc1wiLFxuICAgICAgICAgIFwiTWF4aSBkcmVzc2VzXCIsXG4gICAgICAgICAgXCJEaXNuZXkgb3V0Zml0XCIsXG4gICAgICAgICAgXCJCYXJiaWUgY29sbGVjdGlvblwiLFxuICAgICAgICAgIFwiMTk3MHMganVtcHN1aXRcIixcbiAgICAgICAgICBcIk9uZS1waWVjZSBzd2ltc3VpdFwiLFxuICAgICAgICAgIFwiQ2luZGVyZWxsYSBkaXZpbmUgZHJlc3Nlc1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIGZvb3RlckNvbmZpZzoge1xuICAgICAgICByZXBseUJ1dHRvblRleHQ6IFwiQmUgYXMgc3BlY2lmaWMgYXMgeW91IGxpa2UuLi5cIixcbiAgICAgICAgcmVwbHlCdXR0b25JY29uOiBcImFpLXNlYXJjaFwiLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWcsXG4gICAgY2hhdFByZXZpZXdQTFA6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3XCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkNoYXRQcmV2aWV3LFxuICAgICAgdmFyaWFudDogXCJmaWxsZWRcIixcbiAgICAgIGFkZFNlcGFyYXRvcnM6IHRydWUsXG4gICAgICBmb290ZXJDb25maWc6IHtcbiAgICAgICAgcmVwbHlCdXR0b25UZXh0OiBcIldoYXQgY2FuIEkgaGVscCB5b3UgZmluZD9cIixcbiAgICAgICAgcmVwbHlCdXR0b25JY29uOiBcIm1hZ25pZnlpbmdHbGFzc1wiLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBDaGF0UHJldmlld1dpZGdldENvbmZpZyxcbiAgICBjaGF0UHJldmlld1BEUDoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuQ2hhdFByZXZpZXcsXG4gICAgICB2YXJpYW50OiBcImZpbGxlZFwiLFxuICAgICAgYWRkU2VwYXJhdG9yczogdHJ1ZSxcbiAgICB9IHNhdGlzZmllcyBDaGF0UHJldmlld1dpZGdldENvbmZpZyxcbiAgICBib3R0b21TdWdnZXN0aW9uc0Jhcjoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktYm90dG9tLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uQk9UVE9NX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX0JPVFRPTSxcbiAgICAgIHZhcmlhbnQ6IFwiZGFya1wiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIlN1bW1hcml6ZSB0aGUgcmV2aWV3c1wiLFxuICAgICAgICAgIFwiV2hhdCByZXRybyBjaGFybSB3aWxsIHRoaXMgcGllY2UgYnJpbmcgdG8gbXkgd2FyZHJvYmU/XCIsXG4gICAgICAgICAgXCJXaGF0IG9jY2FzaW9ucyBpcyB0aGlzIHBpZWNlIHBlcmZlY3QgZm9yP1wiLFxuICAgICAgICAgIFwiSG93IGRvIG90aGVycyBkZXNjcmliZSB0aGUgZml0IGFuZCBmZWVsP1wiLFxuICAgICAgICAgIFwiV2hhdCBtYWtlcyB0aGlzIHBpZWNlIHN0YW5kIG91dCBmb3Igb3RoZXJzP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIHR3b1Jvd3NPbk1vYmlsZTogdHJ1ZSxcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcIm5vbmVcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgfSxcbiAgbW91bnRpbmdDb25maWdzOiB7XG4gICAgZ2xvYmFsU2VhcmNoRW50cnlQb2ludDoge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50XCIsXG4gICAgICBjb250YWluZXJJZDogR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX0lELFxuICAgICAgdGVzdElkOiBHTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IFwiLmhlYWRlcl9fc2VhcmNoLmhlYWRlcl9fc2VhcmNoLS1kZXNrdG9wXCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQUZURVIsXG4gICAgICB9LFxuICAgICAgc3VwcHJlc3Npb25TZWxlY3RvcjpcbiAgICAgICAgXCIuc2VhcmNoLW1vZGFsX19jb250ZW50LnNlYXJjaC1tb2RhbF9fY29udGVudC1ib3R0b21cIixcbiAgICAgIGNsYXNzTmFtZTogXCJnbG9iYWwtZW50cnktZGVza3RvcFwiLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgekluZGV4OiBcIjIxNDc0ODM2NDdcIixcbiAgICAgICAgbWFyZ2luUmlnaHQ6IFwiMzJweFwiLFxuICAgICAgICBoZWlnaHQ6IFwiODBweFwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGU6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFwiLFxuICAgICAgY29udGFpbmVySWQ6IE1PQklMRV9HTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfSUQsXG4gICAgICB0ZXN0SWQ6IEdMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCJzdGlja3ktaGVhZGVyLmhlYWRlci13cmFwcGVyOmhhcygubW9iaWxlLXNlYXJjaClcIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5BRlRFUixcbiAgICAgIH0sXG4gICAgICBzdXBwcmVzc2lvblNlbGVjdG9yOiBcIi5tb2JpbGUtc2VhcmNoIC5zZWFyY2gtbW9kYWxfX2Zvcm1cIixcbiAgICAgIGNsYXNzTmFtZTogXCJnbG9iYWwtZW50cnktbW9iaWxlXCIsXG4gICAgICBzdHlsZToge1xuICAgICAgICB6SW5kZXg6IFwiMjE0NzQ4MzY0N1wiLFxuICAgICAgICBtYXJnaW5Ub3A6IFwiOHB4XCIsXG4gICAgICAgIG1hcmdpbkxlZnQ6IFwiMTVweFwiLFxuICAgICAgICBtYXJnaW5SaWdodDogXCIxNXB4XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgY2hhdFByZXZpZXdQTFA6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBcIixcbiAgICAgIGNvbnRhaW5lcklkOiBDSEFUX1BSRVZJRVdfQ09OVEFJTkVSX0lELFxuICAgICAgdGVzdElkOiBDSEFUX1BSRVZJRVdfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IFwiLmNvbGxlY3Rpb24gLnByb2R1Y3QtZ3JpZFwiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkFGVEVSLFxuICAgICAgfSxcbiAgICAgIGdyaWRJbnNlcnRpb25UeXBlOiBHcmlkSW5zZXJ0aW9uVHlwZS5ST1dfMixcbiAgICB9LFxuICAgIGNoYXRQcmV2aWV3UERQOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICBjb250YWluZXJJZDogQ0hBVF9QUkVWSUVXX0NPTlRBSU5FUl9JRCxcbiAgICAgIHRlc3RJZDogQ0hBVF9QUkVWSUVXX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOiBcIi5wcm9kdWN0X19hY2NvcmRpb25cIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5CRUZPUkUsXG4gICAgICB9LFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgbWFyZ2luVG9wOiBcIjE2cHhcIixcbiAgICAgICAgbWFyZ2luQm90dG9tOiBcIjhweFwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHRvcFN1Z2dlc3Rpb25CYXJQRFA6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgY29udGFpbmVySWQ6IFRPUF9TVUdHRVNUSU9OX0JBUl9QRFBfSUQsXG4gICAgICB0ZXN0SWQ6IFRPUF9TVUdHRVNUSU9OX0JBUl9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCJkaXY6aGFzKD4gLm1haW5fcHJpY2UpXCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQUZURVIsXG4gICAgICB9LFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgbWFyZ2luVG9wOiBcIjE2cHhcIixcbiAgICAgICAgbWFyZ2luQm90dG9tOiBcIjE2cHhcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBib3R0b21TdWdnZXN0aW9uQmFyUERQOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgIGNvbnRhaW5lcklkOiBCT1RUT01fUkVWSUVXU19CQVJfSUQsXG4gICAgICB0ZXN0SWQ6IEJPVFRPTV9TVUdHRVNUSU9OX0JBUl9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCIuanVuaXAtcHJvZHVjdC1yZXZpZXctc3VtbWFyeS13cmFwcGVyICsgZGl2Lmp1bmlwLXNlcGFyYXRvclwiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkFESkFDRU5UX0FGVEVSX0VORCxcbiAgICAgICAgc2VsZWN0aW9uSW5kZXg6IDAsXG4gICAgICB9LFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgbWFyZ2luVG9wOiBcIjE2cHhcIixcbiAgICAgICAgbWFyZ2luQm90dG9tOiBcIjE2cHhcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbn0pO1xuXG5jb25zdCB1bmlxdWVWaW50YWdlT3JnSW5mbyA9IHtcbiAgc2hvcnROYW1lOiBPcmdTaG9ydE5hbWUuVW5pcXVlVmludGFnZSxcbiAgbmFtZTogXCJVbmlxdWUgVmludGFnZVwiLFxuICBkb21haW46IFwidW5pcXVlLXZpbnRhZ2UuY29tXCIsXG4gIGRlZmF1bHRQcm9kdWN0SWQ6IFwicmVkLWNvd2dpcmwtcHJpbnQtc3dpbmctc2hpcnQtZHJlc3NcIixcbiAgYWx3YXlzRW5hYmxlZE1lcmNoYW50czogdHJ1ZSxcbiAgb3JnVUlDb25maWc6IHVuaXF1ZVZpbnRhZ2VPcmdVSUNvbmZpZyxcbiAgb3JnQ29sb3JzOiAoKSA9PiB1bmlxdWVWaW50YWdlQ29sb3JzLFxuICBvcmdQYWdlQ29uZmlnOiB1bmlxdWVWaW50YWdlUGFnZUNvbmZpZyxcbn0gc2F0aXNmaWVzIEJhc2ljT3JnSW5mb1R5cGU7XG5cbmV4cG9ydCB7IHVuaXF1ZVZpbnRhZ2VPcmdJbmZvIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF5Q0EsTUFBTUEsc0JBQW9DO0VBQ3ZDQyx5QkFBVyxjQUFjO0VBQ3pCQSx5QkFBVyxnQkFBZ0I7RUFDM0JBLHlCQUFXLGFBQWE7RUFDeEJBLHlCQUFXLFdBQVc7RUFDdEJBLHlCQUFXLFlBQVk7RUFDdkJBLHlCQUFXLG9CQUFvQjtFQUMvQkEseUJBQVcsc0JBQXNCO0VBQ2pDQSx5QkFBVywwQkFBMEI7RUFDckNBLHlCQUFXLHFCQUFxQjtFQUNoQ0EseUJBQVcsaUJBQWlCO0VBQzVCQSx5QkFBVyxrQkFBa0I7RUFDN0JBLHlCQUFXLHNCQUFzQjtFQUNqQ0EseUJBQVcsY0FBYztFQUN6QkEseUJBQVcsZUFBZTtFQUMxQkEseUJBQVcsYUFBYTtFQUN4QkEseUJBQVcsZ0JBQWdCO0VBQzNCQSx5QkFBVyxnQkFBZ0I7RUFDM0JBLHlCQUFXLGtCQUFrQjtDQUMvQjtBQUVELE1BQU0saUNBQThDO0NBQ2xELE1BQU0sZ0NBQWdDQyxtQ0FDcENDLDJCQUFhLGNBQ2Q7QUFFRCxRQUFPO0VBQ0wsR0FBRztFQUNILG1CQUFtQjtHQUNqQixHQUFHLDhCQUE4QjtHQUNqQyxvQkFBb0I7R0FDcEIsU0FBUztHQUNWO0VBQ0QsWUFBWTtHQUNWLEdBQUcsOEJB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