@envive-ai/react-hooks 0.1.6 → 0.1.8

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 (686) hide show
  1. package/dist/NewOrgConfig-BU6uJT74.js +15 -0
  2. package/dist/NewOrgConfig-DmidHiyj.cjs +20 -0
  3. package/dist/SystemSettingsContext-BbobkM82.cjs +20 -0
  4. package/dist/SystemSettingsContext-gtrccL_q.js +13 -0
  5. package/dist/TrackComponentVisibleEvent-CqjMiZCS.cjs +59 -0
  6. package/dist/TrackComponentVisibleEvent-D9kpqKM4.js +52 -0
  7. package/dist/amplitudeContext-B73xamNe.d.cts +52 -0
  8. package/dist/amplitudeContext-BhhYPJSL.d.ts +52 -0
  9. package/dist/amplitudeContext-Dr1jHI13.cjs +309 -0
  10. package/dist/amplitudeContext-YRS1QOO3.js +287 -0
  11. package/dist/api-DYjHj_hR.cjs +239 -0
  12. package/dist/api-d5uWvb3-.js +166 -0
  13. package/dist/{app-CjsQ2_n-.js → app-B9r0MF9n.js} +7 -7
  14. package/dist/{app-CnKRZ9RW.cjs → app-Bgr-mAvr.cjs} +10 -10
  15. package/dist/application/models/graphql/index.cjs +2 -1
  16. package/dist/application/models/graphql/index.d.ts +1 -1
  17. package/dist/application/models/graphql/index.js +2 -1
  18. package/dist/application/models/guards/api/index.cjs +3 -1
  19. package/dist/application/models/guards/api/index.d.ts +2 -2
  20. package/dist/application/models/guards/api/index.js +3 -1
  21. package/dist/application/models/guards/utils.cjs +3 -0
  22. package/dist/application/models/guards/utils.d.cts +2 -0
  23. package/dist/application/models/guards/utils.d.ts +2 -0
  24. package/dist/application/models/guards/utils.js +3 -0
  25. package/dist/application/models/index.cjs +13 -10
  26. package/dist/application/models/index.d.cts +9 -4
  27. package/dist/application/models/index.d.ts +12 -7
  28. package/dist/application/models/index.js +11 -7
  29. package/dist/application/models/utilityTypes/index.cjs +1 -1
  30. package/dist/application/models/utilityTypes/index.d.ts +1 -1
  31. package/dist/application/models/utilityTypes/index.js +1 -1
  32. package/dist/application/models/variantInfo/index.cjs +1 -1
  33. package/dist/application/models/variantInfo/index.d.cts +1 -1
  34. package/dist/application/models/variantInfo/index.d.ts +1 -1
  35. package/dist/application/models/variantInfo/index.js +1 -1
  36. package/dist/application/utils/index.cjs +47 -40
  37. package/dist/application/utils/index.d.cts +13 -8
  38. package/dist/application/utils/index.d.ts +15 -10
  39. package/dist/application/utils/index.js +20 -13
  40. package/dist/{atomStore-D8pjE1vL.js → atomStore-BuopbV9k.js} +1 -1
  41. package/dist/{atomStore-B4jIaDPd.cjs → atomStore-CZKe3itM.cjs} +1 -1
  42. package/dist/atoms/app/index.cjs +14 -9
  43. package/dist/atoms/app/index.d.cts +16 -11
  44. package/dist/atoms/app/index.d.ts +19 -14
  45. package/dist/atoms/app/index.js +14 -9
  46. package/dist/atoms/atomStore/index.cjs +2 -2
  47. package/dist/atoms/atomStore/index.d.cts +1 -1
  48. package/dist/atoms/atomStore/index.js +2 -2
  49. package/dist/atoms/chat/index.cjs +35 -28
  50. package/dist/atoms/chat/index.d.cts +36 -31
  51. package/dist/atoms/chat/index.d.ts +39 -34
  52. package/dist/atoms/chat/index.js +21 -14
  53. package/dist/atoms/globalSearch/index.cjs +1 -1
  54. package/dist/atoms/globalSearch/index.d.cts +5 -5
  55. package/dist/atoms/globalSearch/index.d.ts +6 -6
  56. package/dist/atoms/globalSearch/index.js +1 -1
  57. package/dist/atoms/org/index.cjs +6 -14
  58. package/dist/atoms/org/index.d.cts +28 -32
  59. package/dist/atoms/org/index.d.ts +31 -35
  60. package/dist/atoms/org/index.js +5 -11
  61. package/dist/atoms/search/index.cjs +46 -34
  62. package/dist/atoms/search/index.d.cts +10 -4
  63. package/dist/atoms/search/index.d.ts +13 -7
  64. package/dist/atoms/search/index.js +28 -16
  65. package/dist/atoms/search/types.cjs +5 -0
  66. package/dist/atoms/search/types.d.cts +2 -0
  67. package/dist/atoms/search/types.d.ts +2 -0
  68. package/dist/atoms/search/types.js +3 -0
  69. package/dist/atoms/search/utils.cjs +3 -0
  70. package/dist/atoms/search/utils.d.cts +5 -0
  71. package/dist/atoms/search/utils.d.ts +5 -0
  72. package/dist/atoms/search/utils.js +3 -0
  73. package/dist/cdnContext-CVgXkdV2.cjs +53 -0
  74. package/dist/cdnContext-DdE6VPIF.js +38 -0
  75. package/dist/chat-BNDYKsqF.js +258 -0
  76. package/dist/{chat-BubCW1as.cjs → chat-BkjIKhc5.cjs} +1 -1
  77. package/dist/chat-Br5FhtRs.cjs +394 -0
  78. package/dist/{chat-CV6MXeID.js → chat-CgLypC3w.js} +1 -1
  79. package/dist/chatElementDisplayLocation-BwiXrkN7.d.ts +25 -0
  80. package/dist/chatElementDisplayLocation-DWmfNX_u.d.cts +25 -0
  81. package/dist/chatSearch-BiF2__V0.js +295 -0
  82. package/dist/chatSearch-BrzfJOto.cjs +418 -0
  83. package/dist/chatState-BDsqKE-B.cjs +120 -0
  84. package/dist/chatState-ie771Hwy.js +34 -0
  85. package/dist/commerce-api-Dz1jxPOJ.js +311 -0
  86. package/dist/commerce-api-KoiUki51.cjs +318 -0
  87. package/dist/{components-Cw9WjA6g.cjs → components-Cby-Cma3.cjs} +1 -1
  88. package/dist/{components-B4T3Uzth.js → components-D1mg1-Br.js} +1 -1
  89. package/dist/config/locators/components/chat/index.cjs +1 -1
  90. package/dist/config/locators/components/chat/index.d.cts +1 -1
  91. package/dist/config/locators/components/chat/index.d.ts +1 -1
  92. package/dist/config/locators/components/chat/index.js +1 -1
  93. package/dist/config/locators/components/chat/variants/index.d.cts +1 -1
  94. package/dist/config/locators/components/chat/variants/index.d.ts +1 -1
  95. package/dist/config/locators/components/index.cjs +1 -1
  96. package/dist/config/locators/components/index.d.cts +1 -1
  97. package/dist/config/locators/components/index.d.ts +1 -1
  98. package/dist/config/locators/components/index.js +1 -1
  99. package/dist/config/locators/components/search/index.d.cts +1 -1
  100. package/dist/config/locators/index.cjs +42 -22
  101. package/dist/config/locators/index.d.cts +2 -2
  102. package/dist/config/locators/index.d.ts +3 -3
  103. package/dist/config/locators/index.js +25 -5
  104. package/dist/contexts/amplitudeContext/index.cjs +22 -0
  105. package/dist/contexts/amplitudeContext/index.d.cts +2 -0
  106. package/dist/contexts/amplitudeContext/index.d.ts +2 -0
  107. package/dist/contexts/amplitudeContext/index.js +20 -0
  108. package/dist/contexts/cdnContext/index.cjs +7 -0
  109. package/dist/contexts/cdnContext/index.d.cts +15 -0
  110. package/dist/contexts/cdnContext/index.d.ts +15 -0
  111. package/dist/contexts/cdnContext/index.js +6 -0
  112. package/dist/contexts/chatContext/index.cjs +331 -0
  113. package/dist/contexts/chatContext/index.d.cts +15 -0
  114. package/dist/contexts/chatContext/index.d.ts +15 -0
  115. package/dist/contexts/chatContext/index.js +324 -0
  116. package/dist/contexts/enviveConfigContext/index.cjs +7 -0
  117. package/dist/contexts/enviveConfigContext/index.d.cts +30 -0
  118. package/dist/contexts/enviveConfigContext/index.d.ts +30 -0
  119. package/dist/contexts/enviveConfigContext/index.js +6 -0
  120. package/dist/contexts/enviveCssContext/index.cjs +66 -0
  121. package/dist/contexts/enviveCssContext/index.d.cts +10 -0
  122. package/dist/contexts/enviveCssContext/index.d.ts +10 -0
  123. package/dist/contexts/enviveCssContext/index.js +63 -0
  124. package/dist/contexts/featureFlagContext/index.cjs +107 -0
  125. package/dist/contexts/featureFlagContext/index.d.cts +20 -0
  126. package/dist/contexts/featureFlagContext/index.d.ts +20 -0
  127. package/dist/contexts/featureFlagContext/index.js +103 -0
  128. package/dist/contexts/featureFlagServiceContext/index.cjs +6 -0
  129. package/dist/contexts/featureFlagServiceContext/index.d.cts +5 -0
  130. package/dist/contexts/featureFlagServiceContext/index.d.ts +5 -0
  131. package/dist/contexts/featureFlagServiceContext/index.js +5 -0
  132. package/dist/contexts/graphqlContext/index.cjs +16 -0
  133. package/dist/contexts/graphqlContext/index.d.cts +13 -0
  134. package/dist/contexts/graphqlContext/index.d.ts +13 -0
  135. package/dist/contexts/graphqlContext/index.js +15 -0
  136. package/dist/contexts/localStorageContext/index.cjs +6 -0
  137. package/dist/contexts/localStorageContext/index.d.cts +30 -0
  138. package/dist/contexts/localStorageContext/index.d.ts +30 -0
  139. package/dist/contexts/localStorageContext/index.js +4 -0
  140. package/dist/contexts/newOrgConfigContext/index.cjs +20 -0
  141. package/dist/contexts/newOrgConfigContext/index.d.cts +31 -0
  142. package/dist/contexts/newOrgConfigContext/index.d.ts +31 -0
  143. package/dist/contexts/newOrgConfigContext/index.js +19 -0
  144. package/dist/contexts/searchContext/index.cjs +24 -0
  145. package/dist/contexts/searchContext/index.d.cts +16 -0
  146. package/dist/contexts/searchContext/index.d.ts +16 -0
  147. package/dist/contexts/searchContext/index.js +23 -0
  148. package/dist/contexts/sessionStorageContext/index.cjs +5 -0
  149. package/dist/contexts/sessionStorageContext/index.d.cts +15 -0
  150. package/dist/contexts/sessionStorageContext/index.d.ts +15 -0
  151. package/dist/contexts/sessionStorageContext/index.js +4 -0
  152. package/dist/contexts/shopifyUrlContext/index.cjs +5 -0
  153. package/dist/contexts/shopifyUrlContext/index.d.cts +20 -0
  154. package/dist/contexts/shopifyUrlContext/index.d.ts +20 -0
  155. package/dist/contexts/shopifyUrlContext/index.js +4 -0
  156. package/dist/contexts/systemSettingsContext/index.cjs +8 -0
  157. package/dist/contexts/systemSettingsContext/index.d.cts +37 -0
  158. package/dist/contexts/systemSettingsContext/index.d.ts +37 -0
  159. package/dist/contexts/systemSettingsContext/index.js +6 -0
  160. package/dist/contexts/types.cjs +7 -0
  161. package/dist/contexts/types.d.cts +4 -0
  162. package/dist/contexts/types.d.ts +4 -0
  163. package/dist/contexts/types.js +3 -0
  164. package/dist/contexts/userIdentityContext/index.cjs +27 -0
  165. package/dist/contexts/userIdentityContext/index.d.cts +2 -0
  166. package/dist/contexts/userIdentityContext/index.d.ts +2 -0
  167. package/dist/contexts/userIdentityContext/index.js +26 -0
  168. package/dist/domObserver-B19-69gW.js +285 -0
  169. package/dist/domObserver-CwieVNgj.cjs +304 -0
  170. package/dist/enviveConfig-BQB14yuH.js +62 -0
  171. package/dist/enviveConfig-DAA9sozZ.cjs +130 -0
  172. package/dist/enviveConfigContext-BCpBKqsz.js +45 -0
  173. package/dist/enviveConfigContext-Btg5JUMG.cjs +60 -0
  174. package/dist/events/index.cjs +1 -1
  175. package/dist/events/index.d.ts +1 -1
  176. package/dist/events/index.js +1 -1
  177. package/dist/{events-BrLpaNxh.js → events-BHJJjPDN.js} +1 -1
  178. package/dist/{events-DwT6cEwI.cjs → events-B_fJZf9E.cjs} +1 -1
  179. package/dist/featureFlagServiceContext-Bcx5yh4S.cjs +56 -0
  180. package/dist/featureFlagServiceContext-Cpw8omUr.d.ts +23 -0
  181. package/dist/featureFlagServiceContext-Cvn6fcdB.d.cts +23 -0
  182. package/dist/featureFlagServiceContext-_tXX5iro.js +42 -0
  183. package/dist/featureGates-2Zea2D2S.js +27 -0
  184. package/dist/featureGates-BY2Zy7x_.cjs +33 -0
  185. package/dist/frontendConfig-DnMZfvcA.d.cts +857 -0
  186. package/dist/frontendConfig-Dqxbqo8G.d.ts +857 -0
  187. package/dist/{globalSearch-BFvEg53C.cjs → globalSearch-C94-vEVh.cjs} +1 -1
  188. package/dist/{globalSearch-B6THR7Jx.js → globalSearch-Dlbnfasm.js} +1 -1
  189. package/dist/graphql-DRLWdYEk.js +36 -0
  190. package/dist/graphql-xPDT7ZkK.cjs +53 -0
  191. package/dist/graphqlConfig-B4ddz1vH.cjs +39 -0
  192. package/dist/graphqlConfig-BnjOdeX7.js +14 -0
  193. package/dist/graphqlContext-B-9g2vOb.js +96 -0
  194. package/dist/graphqlContext-B7PEKDJs.cjs +111 -0
  195. package/dist/hooks/AmplitudeOperations/index.cjs +22 -0
  196. package/dist/hooks/AmplitudeOperations/index.d.cts +12 -0
  197. package/dist/hooks/AmplitudeOperations/index.d.ts +12 -0
  198. package/dist/hooks/AmplitudeOperations/index.js +22 -0
  199. package/dist/hooks/AppDetails/index.cjs +19 -0
  200. package/dist/hooks/AppDetails/index.d.cts +27 -0
  201. package/dist/hooks/AppDetails/index.d.ts +27 -0
  202. package/dist/hooks/AppDetails/index.js +19 -0
  203. package/dist/hooks/BlockBackButton/index.cjs +29 -0
  204. package/dist/hooks/BlockBackButton/index.d.cts +5 -0
  205. package/dist/hooks/BlockBackButton/index.d.ts +5 -0
  206. package/dist/hooks/BlockBackButton/index.js +27 -0
  207. package/dist/hooks/CdnOperations/index.cjs +24 -0
  208. package/dist/hooks/CdnOperations/index.d.cts +7 -0
  209. package/dist/hooks/CdnOperations/index.d.ts +7 -0
  210. package/dist/hooks/CdnOperations/index.js +22 -0
  211. package/dist/hooks/ChatToggle/index.cjs +64 -0
  212. package/dist/hooks/ChatToggle/index.d.cts +12 -0
  213. package/dist/hooks/ChatToggle/index.d.ts +12 -0
  214. package/dist/hooks/ChatToggle/index.js +62 -0
  215. package/dist/hooks/ChatToggleAnalytics/index.cjs +38 -0
  216. package/dist/hooks/ChatToggleAnalytics/index.d.cts +9 -0
  217. package/dist/hooks/ChatToggleAnalytics/index.d.ts +9 -0
  218. package/dist/hooks/ChatToggleAnalytics/index.js +36 -0
  219. package/dist/hooks/CustomerSupportHandoff/index.cjs +36 -0
  220. package/dist/hooks/CustomerSupportHandoff/index.d.cts +16 -0
  221. package/dist/hooks/CustomerSupportHandoff/index.d.ts +16 -0
  222. package/dist/hooks/CustomerSupportHandoff/index.js +34 -0
  223. package/dist/hooks/Debounce/index.cjs +3 -0
  224. package/dist/hooks/Debounce/index.d.cts +5 -0
  225. package/dist/hooks/Debounce/index.d.ts +5 -0
  226. package/dist/hooks/Debounce/index.js +3 -0
  227. package/dist/hooks/ElementObserver/index.cjs +179 -0
  228. package/dist/hooks/ElementObserver/index.d.cts +29 -0
  229. package/dist/hooks/ElementObserver/index.d.ts +29 -0
  230. package/dist/hooks/ElementObserver/index.js +177 -0
  231. package/dist/hooks/GrabAndScroll/index.cjs +99 -0
  232. package/dist/hooks/GrabAndScroll/index.d.cts +14 -0
  233. package/dist/hooks/GrabAndScroll/index.d.ts +14 -0
  234. package/dist/hooks/GrabAndScroll/index.js +97 -0
  235. package/dist/hooks/GraphQLConfig/index.cjs +17 -0
  236. package/dist/hooks/GraphQLConfig/index.d.cts +15 -0
  237. package/dist/hooks/GraphQLConfig/index.d.ts +15 -0
  238. package/dist/hooks/GraphQLConfig/index.js +16 -0
  239. package/dist/hooks/IdentifyUser/index.cjs +60 -0
  240. package/dist/hooks/IdentifyUser/index.d.cts +10 -0
  241. package/dist/hooks/IdentifyUser/index.d.ts +10 -0
  242. package/dist/hooks/IdentifyUser/index.js +58 -0
  243. package/dist/hooks/ImageResolver/index.cjs +55 -0
  244. package/dist/hooks/ImageResolver/index.d.cts +7 -0
  245. package/dist/hooks/ImageResolver/index.d.ts +7 -0
  246. package/dist/hooks/ImageResolver/index.js +53 -0
  247. package/dist/hooks/Intersection/index.cjs +3 -0
  248. package/dist/hooks/Intersection/index.d.cts +7 -0
  249. package/dist/hooks/Intersection/index.d.ts +7 -0
  250. package/dist/hooks/Intersection/index.js +3 -0
  251. package/dist/hooks/IsSmallScreen/index.cjs +22 -0
  252. package/dist/hooks/IsSmallScreen/index.d.cts +5 -0
  253. package/dist/hooks/IsSmallScreen/index.d.ts +5 -0
  254. package/dist/hooks/IsSmallScreen/index.js +20 -0
  255. package/dist/hooks/LocalStorageOperations/index.cjs +79 -0
  256. package/dist/hooks/LocalStorageOperations/index.d.cts +17 -0
  257. package/dist/hooks/LocalStorageOperations/index.d.ts +17 -0
  258. package/dist/hooks/LocalStorageOperations/index.js +74 -0
  259. package/dist/hooks/MessageFilter/index.cjs +54 -0
  260. package/dist/hooks/MessageFilter/index.d.cts +30 -0
  261. package/dist/hooks/MessageFilter/index.d.ts +30 -0
  262. package/dist/hooks/MessageFilter/index.js +54 -0
  263. package/dist/hooks/MessageScrollObserver/index.cjs +36 -0
  264. package/dist/hooks/MessageScrollObserver/index.d.cts +5 -0
  265. package/dist/hooks/MessageScrollObserver/index.d.ts +5 -0
  266. package/dist/hooks/MessageScrollObserver/index.js +34 -0
  267. package/dist/hooks/NewOrgConfig/index.cjs +20 -0
  268. package/dist/hooks/NewOrgConfig/index.d.cts +23 -0
  269. package/dist/hooks/NewOrgConfig/index.d.ts +23 -0
  270. package/dist/hooks/NewOrgConfig/index.js +20 -0
  271. package/dist/hooks/Search/index.cjs +326 -0
  272. package/dist/hooks/Search/index.d.cts +61 -0
  273. package/dist/hooks/Search/index.d.ts +61 -0
  274. package/dist/hooks/Search/index.js +323 -0
  275. package/dist/hooks/SearchOperations/index.cjs +102 -0
  276. package/dist/hooks/SearchOperations/index.d.cts +22 -0
  277. package/dist/hooks/SearchOperations/index.d.ts +22 -0
  278. package/dist/hooks/SearchOperations/index.js +99 -0
  279. package/dist/hooks/SessionStorageOperations/index.cjs +30 -0
  280. package/dist/hooks/SessionStorageOperations/index.d.cts +8 -0
  281. package/dist/hooks/SessionStorageOperations/index.d.ts +8 -0
  282. package/dist/hooks/SessionStorageOperations/index.js +28 -0
  283. package/dist/hooks/ShopifyUrlOperations/index.cjs +53 -0
  284. package/dist/hooks/ShopifyUrlOperations/index.d.cts +23 -0
  285. package/dist/hooks/ShopifyUrlOperations/index.d.ts +23 -0
  286. package/dist/hooks/ShopifyUrlOperations/index.js +49 -0
  287. package/dist/hooks/SnapCalculator/index.cjs +29 -0
  288. package/dist/hooks/SnapCalculator/index.d.cts +12 -0
  289. package/dist/hooks/SnapCalculator/index.d.ts +12 -0
  290. package/dist/hooks/SnapCalculator/index.js +27 -0
  291. package/dist/hooks/SystemSettingsContext/index.cjs +7 -0
  292. package/dist/hooks/SystemSettingsContext/index.d.cts +23 -0
  293. package/dist/hooks/SystemSettingsContext/index.d.ts +23 -0
  294. package/dist/hooks/SystemSettingsContext/index.js +7 -0
  295. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +22 -0
  296. package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +18 -0
  297. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +18 -0
  298. package/dist/hooks/TrackComponentVisibleEvent/index.js +22 -0
  299. package/dist/hooks/UpdateAnalyticsProps/index.cjs +62 -0
  300. package/dist/hooks/UpdateAnalyticsProps/index.d.cts +9 -0
  301. package/dist/hooks/UpdateAnalyticsProps/index.d.ts +9 -0
  302. package/dist/hooks/UpdateAnalyticsProps/index.js +59 -0
  303. package/dist/hooks/utils.cjs +8 -0
  304. package/dist/hooks/utils.d.cts +13 -0
  305. package/dist/hooks/utils.d.ts +13 -0
  306. package/dist/hooks/utils.js +3 -0
  307. package/dist/index-B9HUPS_i.d.cts +186 -0
  308. package/dist/{index-CcIG01PJ.d.ts → index-BN-3ctk_.d.ts} +2 -2
  309. package/dist/index-BNiYL8h0.d.cts +28 -0
  310. package/dist/{index-BDPWBU3h.d.cts → index-BW6pHibZ.d.cts} +1 -1
  311. package/dist/index-BirtCYN3.d.ts +186 -0
  312. package/dist/index-Bmub8e38.d.cts +1 -1
  313. package/dist/{index-Cqg6ltII.d.ts → index-BoYC9XLW.d.ts} +1 -1
  314. package/dist/index-C9zXP5bg.d.ts +28 -0
  315. package/dist/index-CESxqFso.d.cts +1 -1
  316. package/dist/index-CK_J3QMY.d.ts +676 -0
  317. package/dist/index-C_MIfxF0.d.cts +676 -0
  318. package/dist/index-CiWEYzXl.d.cts +1 -1
  319. package/dist/{index-C6KdON7d.d.ts → index-Da0UzyI9.d.ts} +1 -1
  320. package/dist/{index-ylUiJvnr.d.ts → index-Dr_c2DDq.d.ts} +1 -1
  321. package/dist/{index-PGF8BvxQ.d.ts → index-DsiilEj-.d.ts} +1 -1
  322. package/dist/{index-Byb45OPg.d.cts → index-MOOZ2oxZ.d.cts} +1 -1
  323. package/dist/{index-DOii3C6b.d.ts → index-ghzD_356.d.ts} +1 -1
  324. package/dist/{index-B0NW9KTj.d.cts → index-hdbCEjYy.d.cts} +1 -1
  325. package/dist/interceptors/index.cjs +2 -1
  326. package/dist/interceptors/index.d.cts +10 -10
  327. package/dist/interceptors/index.d.ts +13 -13
  328. package/dist/interceptors/index.js +2 -1
  329. package/dist/interceptors/types.cjs +1 -0
  330. package/dist/interceptors/types.d.cts +13 -0
  331. package/dist/interceptors/types.d.ts +13 -0
  332. package/dist/interceptors/types.js +3 -0
  333. package/dist/localStorageContext-DiTziaPa.js +95 -0
  334. package/dist/localStorageContext-S38L0OSP.cjs +115 -0
  335. package/dist/logger-CkhQayOW.js +20 -0
  336. package/dist/logger-DQ0WfCcD.cjs +26 -0
  337. package/dist/{models-BkXg5eIP.cjs → models-C48U9q70.js} +220 -458
  338. package/dist/models-Ctn-pmug.cjs +1537 -0
  339. package/dist/newOrgConfigAtom-D6R-7HCk.cjs +15 -0
  340. package/dist/newOrgConfigAtom-bn1lnljf.js +8 -0
  341. package/dist/newOrgConfigContext-D3WoaBVU.cjs +68 -0
  342. package/dist/newOrgConfigContext-rWOYz0E8.js +53 -0
  343. package/dist/{nodeSelector-Dm4S-10n.d.cts → nodeSelector-B3bPtEjX.d.cts} +1 -1
  344. package/dist/{nodeSelector-BxrS2S_k.d.ts → nodeSelector-D5gjDWZ3.d.ts} +1 -1
  345. package/dist/org-CIhjzxWr.cjs +43 -0
  346. package/dist/org-CeWXnpwF.js +12 -0
  347. package/dist/{orgAnalyticsConfig-ClrFy2qH.js → orgAnalyticsConfig-BC4_sEmn.js} +1 -1
  348. package/dist/{orgAnalyticsConfig-BJ2A1RZ-.cjs → orgAnalyticsConfig-DsGbyFhO.cjs} +1 -1
  349. package/dist/search--NZPZkK3.cjs +205 -0
  350. package/dist/search-BLShhjvR.d.ts +20 -0
  351. package/dist/search-CxZl7iQF.js +126 -0
  352. package/dist/{search-filter-types-fZf91Pdw.d.ts → search-filter-types-DPgeG8FS.d.ts} +1 -1
  353. package/dist/{search-filter-types-DosbseF3.d.cts → search-filter-types-_mprCnBi.d.cts} +1 -1
  354. package/dist/search-y-ioX5Mz.d.cts +20 -0
  355. package/dist/searchContext-C4Glr8Nv.cjs +145 -0
  356. package/dist/searchContext-VnjhV7Lk.js +129 -0
  357. package/dist/searchServiceAdapter-DEv1tTn0.cjs +34 -0
  358. package/dist/searchServiceAdapter-WyCU55NV.js +16 -0
  359. package/dist/sessionStorageContext-BJ05_j7l.cjs +66 -0
  360. package/dist/sessionStorageContext-Dp_bhXQP.js +52 -0
  361. package/dist/shopifyUrlContext-CGqpJl1o.js +61 -0
  362. package/dist/shopifyUrlContext-Cob4L7Dt.cjs +75 -0
  363. package/dist/spiffyWidgets-BuS00VaQ.d.cts +20 -0
  364. package/dist/spiffyWidgets-GILaqHv6.d.ts +20 -0
  365. package/dist/systemSettingsContext-BDKWrrco.cjs +60 -0
  366. package/dist/systemSettingsContext-Dqng3YSZ.js +39 -0
  367. package/dist/{test-types-C9b_OdfO.d.ts → test-types-EzMFw_U3.d.ts} +1 -1
  368. package/dist/{test-types-CgVJtwUr.d.cts → test-types-ThQiO_cc.d.cts} +1 -1
  369. package/dist/types/index.cjs +33 -5
  370. package/dist/types/index.d.cts +2 -2
  371. package/dist/types/index.d.ts +2 -2
  372. package/dist/types/index.js +30 -3
  373. package/dist/types-BUeRbZUk.d.cts +10 -0
  374. package/dist/types-BwNrLPSZ.cjs +106 -0
  375. package/dist/types-CMuTSKrW.d.ts +10 -0
  376. package/dist/types-CS0Hrzja.js +30 -0
  377. package/dist/types-CxObxLKs.cjs +48 -0
  378. package/dist/types-D3uOF0Oy.js +76 -0
  379. package/dist/types-fsXBIQwO.d.ts +51 -0
  380. package/dist/types-zuWLkBJ3.d.cts +51 -0
  381. package/dist/types.d.cts +15 -0
  382. package/dist/types.d.ts +15 -0
  383. package/dist/unsupportedProductExceptions-CKiri_vO.cjs +32 -0
  384. package/dist/unsupportedProductExceptions-ClxlJ6cU.js +20 -0
  385. package/dist/urlsParser-D1nsJgQG.cjs +78 -0
  386. package/dist/urlsParser-DzEetiey.js +42 -0
  387. package/dist/useAmplitudeOperations-BSsyvkQ2.cjs +41 -0
  388. package/dist/useAmplitudeOperations-BottjwT9.js +34 -0
  389. package/dist/useAppDetails-BpiBxS_5.cjs +38 -0
  390. package/dist/useAppDetails-DDNIsM46.js +30 -0
  391. package/dist/useDebounce-BaIp-A1W.cjs +26 -0
  392. package/dist/useDebounce-CxPj9WmE.js +19 -0
  393. package/dist/useGraphQLConfig-DZ0ZannB.js +63 -0
  394. package/dist/useGraphQLConfig-Dw8dDh3T.cjs +76 -0
  395. package/dist/useIntersection-B4J9UhaG.js +21 -0
  396. package/dist/useIntersection-DKWc5MY6.cjs +28 -0
  397. package/dist/{useMessageInterceptor-B87e3yu3.cjs → useMessageInterceptor-CstX10ih.cjs} +3 -3
  398. package/dist/{useMessageInterceptor-Bb7YRaWk.js → useMessageInterceptor-D5oAekXn.js} +2 -2
  399. package/dist/userIdentityContext-D2oFVFzo.d.cts +20 -0
  400. package/dist/userIdentityContext-DPFkCSCu.cjs +125 -0
  401. package/dist/userIdentityContext-Z65zM-Ae.js +109 -0
  402. package/dist/userIdentityContext-wYRpgkaJ.d.ts +20 -0
  403. package/dist/utilityTypes-DynzxjK3.js +1 -0
  404. package/dist/utilityTypes-xb8SjKSV.cjs +0 -0
  405. package/dist/utils-2SWrJ12w.cjs +29 -0
  406. package/dist/utils-B1xLx9S8.d.ts +15 -0
  407. package/dist/utils-B3x_9JTY.d.cts +15 -0
  408. package/dist/utils-BZtSmwgh.d.cts +22 -0
  409. package/dist/utils-Bcz5kAgP.js +92 -0
  410. package/dist/utils-CEKzBcN2.js +27 -0
  411. package/dist/utils-CMqFfqZx.cjs +130 -0
  412. package/dist/utils-CVovRwlw.js +606 -0
  413. package/dist/utils-CqBxIpEV.js +23 -0
  414. package/dist/utils-CsMbZmRw.cjs +33 -0
  415. package/dist/utils-DzPSXtmD.cjs +715 -0
  416. package/dist/utils-bxOCg2i9.d.ts +22 -0
  417. package/dist/variantInfo-B7IwRpCg.cjs +0 -0
  418. package/dist/variantInfo-BtOYUGWa.js +1 -0
  419. package/package.json +191 -7
  420. package/src/application/models/index.ts +0 -1
  421. package/src/application/utils/analyticsUtils.ts +1 -1
  422. package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +1 -1
  423. package/src/atoms/app/index.ts +1 -1
  424. package/src/atoms/chat/chatState.ts +1 -1
  425. package/src/atoms/chat/replies.ts +1 -1
  426. package/src/atoms/org/graphqlConfig.ts +1 -39
  427. package/src/atoms/org/index.ts +0 -1
  428. package/src/atoms/org/newOrgConfigAtom.ts +2 -6
  429. package/src/contexts/{amplitudeContext.tsx → amplitudeContext/amplitudeContext.tsx} +1 -2
  430. package/src/contexts/amplitudeContext/index.ts +1 -0
  431. package/src/contexts/{cdnContext.tsx → cdnContext/cdnContext.tsx} +1 -1
  432. package/src/contexts/cdnContext/index.ts +1 -0
  433. package/src/contexts/{chatContext.tsx → chatContext/chatContext.tsx} +3 -3
  434. package/src/contexts/chatContext/index.ts +1 -0
  435. package/src/contexts/{enviveConfigContext.tsx → enviveConfigContext/enviveConfigContext.tsx} +1 -1
  436. package/src/contexts/enviveConfigContext/index.ts +1 -0
  437. package/src/contexts/{enviveCssContext.tsx → enviveCssContext/enviveCssContext.tsx} +1 -1
  438. package/src/contexts/enviveCssContext/index.ts +1 -0
  439. package/src/contexts/{featureFlagContext.tsx → featureFlagContext/featureFlagContext.tsx} +1 -1
  440. package/src/contexts/featureFlagContext/index.ts +1 -0
  441. package/src/contexts/featureFlagServiceContext/index.ts +1 -0
  442. package/src/contexts/graphqlContext/index.ts +1 -0
  443. package/src/contexts/localStorageContext/index.ts +1 -0
  444. package/src/contexts/{localStorageContext.tsx → localStorageContext/localStorageContext.tsx} +2 -2
  445. package/src/contexts/newOrgConfigContext/index.ts +1 -0
  446. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +70 -0
  447. package/src/contexts/searchContext/index.ts +1 -0
  448. package/src/contexts/{searchContext.tsx → searchContext/searchContext.tsx} +5 -5
  449. package/src/contexts/sessionStorageContext/index.ts +1 -0
  450. package/src/contexts/{sessionStorageContext.tsx → sessionStorageContext/sessionStorageContext.tsx} +1 -1
  451. package/src/contexts/shopifyUrlContext/index.ts +1 -0
  452. package/src/contexts/systemSettingsContext/index.ts +1 -0
  453. package/src/contexts/userIdentityContext/index.ts +1 -0
  454. package/src/events/registerAnalyticsListeners.ts +2 -2
  455. package/src/favicon.ico +0 -0
  456. package/src/hooks/AmplitudeOperations/index.ts +1 -0
  457. package/src/hooks/{useAmplitudeOperations.ts → AmplitudeOperations/useAmplitudeOperations.ts} +1 -1
  458. package/src/hooks/AppDetails/index.ts +1 -0
  459. package/src/hooks/{useAppDetails.ts → AppDetails/useAppDetails.ts} +1 -3
  460. package/src/hooks/BlockBackButton/index.ts +1 -0
  461. package/src/hooks/CdnOperations/index.ts +1 -0
  462. package/src/hooks/{useCdnOperations.ts → CdnOperations/useCdnOperations.ts} +1 -1
  463. package/src/hooks/ChatToggle/index.ts +1 -0
  464. package/src/hooks/{useChatToggle.ts → ChatToggle/useChatToggle.ts} +1 -1
  465. package/src/hooks/ChatToggleAnalytics/index.ts +1 -0
  466. package/src/hooks/{useChatToggleAnalytics.ts → ChatToggleAnalytics/useChatToggleAnalytics.ts} +1 -1
  467. package/src/hooks/CustomerSupportHandoff/index.ts +1 -0
  468. package/src/hooks/Debounce/index.ts +1 -0
  469. package/src/hooks/ElementObserver/index.ts +1 -0
  470. package/src/hooks/GrabAndScroll/index.ts +1 -0
  471. package/src/hooks/GraphQLConfig/index.ts +1 -0
  472. package/src/hooks/{useGraphQLConfig.ts → GraphQLConfig/useGraphQLConfig.ts} +1 -1
  473. package/src/hooks/IdentifyUser/index.ts +1 -0
  474. package/src/hooks/{useIdentifyUser.ts → IdentifyUser/useIdentifyUser.ts} +1 -1
  475. package/src/hooks/ImageResolver/index.ts +1 -0
  476. package/src/hooks/Intersection/index.ts +1 -0
  477. package/src/hooks/IsSmallScreen/index.ts +1 -0
  478. package/src/hooks/LocalStorageOperations/index.ts +1 -0
  479. package/src/hooks/{useLocalStorageOperations.ts → LocalStorageOperations/useLocalStorageOperations.ts} +2 -2
  480. package/src/hooks/MessageFilter/index.ts +1 -0
  481. package/src/hooks/MessageScrollObserver/index.ts +1 -0
  482. package/src/hooks/NewOrgConfig/index.ts +1 -0
  483. package/src/hooks/{useNewOrgConfig.ts → NewOrgConfig/useNewOrgConfig.ts} +1 -1
  484. package/src/hooks/Search/index.ts +1 -0
  485. package/src/hooks/{useSearch.tsx → Search/useSearch.tsx} +5 -4
  486. package/src/hooks/SearchOperations/index.ts +1 -0
  487. package/src/hooks/SessionStorageOperations/index.ts +1 -0
  488. package/src/hooks/{useSessionStorageOperations.ts → SessionStorageOperations/useSessionStorageOperations.ts} +1 -1
  489. package/src/hooks/ShopifyUrlOperations/index.ts +1 -0
  490. package/src/hooks/{useShopifyUrlOperations.ts → ShopifyUrlOperations/useShopifyUrlOperations.ts} +1 -1
  491. package/src/hooks/SnapCalculator/index.ts +1 -0
  492. package/src/hooks/SystemSettingsContext/index.ts +1 -0
  493. package/src/hooks/SystemSettingsContext/useSystemSettingsContext.ts +14 -0
  494. package/src/hooks/TrackComponentVisibleEvent/index.ts +1 -0
  495. package/src/hooks/{useTrackComponentVisibleEvent.ts → TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts} +2 -2
  496. package/src/hooks/UpdateAnalyticsProps/index.ts +1 -0
  497. package/src/hooks/{useUpdateAnalyticsProps.ts → UpdateAnalyticsProps/useUpdateAnalyticsProps.ts} +1 -1
  498. package/dist/amplitudeContext-CHzas7Cf.d.cts +0 -52
  499. package/dist/amplitudeContext-D-7fmVh1.cjs +0 -356
  500. package/dist/amplitudeContext-hY3caPC6.js +0 -322
  501. package/dist/amplitudeContext-tJ4y-SzX.d.ts +0 -52
  502. package/dist/api-DjeZXxl_.js +0 -207
  503. package/dist/api-_JaUnIUj.cjs +0 -292
  504. package/dist/bandolier-DYEz4-8C.js +0 -1229
  505. package/dist/bandolier-o_-xrbOV.cjs +0 -1229
  506. package/dist/carpe-CsG5jCcl.cjs +0 -607
  507. package/dist/carpe-DONk00bZ.js +0 -605
  508. package/dist/cdnUtils-32v8bDX9.cjs +0 -16
  509. package/dist/cdnUtils-E4tLBt2g.js +0 -11
  510. package/dist/chat-CO7cRkaq.cjs +0 -506
  511. package/dist/chat-hcRc4RRd.js +0 -285
  512. package/dist/contexts/index.cjs +0 -57
  513. package/dist/contexts/index.d.cts +0 -10
  514. package/dist/contexts/index.d.ts +0 -10
  515. package/dist/contexts/index.js +0 -23
  516. package/dist/contexts-B4ihTBsV.cjs +0 -2980
  517. package/dist/contexts-DGlr7M1o.js +0 -2596
  518. package/dist/coterie-CKB93qfz.cjs +0 -239
  519. package/dist/coterie-DHcj2fRE.js +0 -239
  520. package/dist/custservice-types-Dy0kc9TW.cjs +0 -35
  521. package/dist/custservice-types-mnIunabv.js +0 -23
  522. package/dist/default-BnB4p0Se.cjs +0 -234
  523. package/dist/default-D6f5Dyt7.js +0 -199
  524. package/dist/default-ZKkE5zT4.cjs +0 -4
  525. package/dist/default-legGZJwI.js +0 -4
  526. package/dist/divIds-2dJlU3z8.cjs +0 -117
  527. package/dist/divIds-BUrN2vY-.js +0 -21
  528. package/dist/dreamlandBaby-BiRYYFav.js +0 -346
  529. package/dist/dreamlandBaby-zuvmfzfD.cjs +0 -346
  530. package/dist/embedded-BJLWIriJ.js +0 -23
  531. package/dist/embedded-Dl79TJLC.cjs +0 -131
  532. package/dist/entrypoints-Bs3pn6EV.js +0 -7
  533. package/dist/entrypoints-Dqi5pzWH.cjs +0 -19
  534. package/dist/enviveConfig-BccuzS2a.cjs +0 -240
  535. package/dist/enviveConfig-CzhTz8Aa.js +0 -152
  536. package/dist/fiveCbd-DwTTwC2j.cjs +0 -613
  537. package/dist/fiveCbd-Dz2NouOF.js +0 -613
  538. package/dist/forLoveAndLemons-DqSdyD6S.js +0 -665
  539. package/dist/forLoveAndLemons-Ud6mPrV3.cjs +0 -667
  540. package/dist/graphql-BNW60InJ.cjs +0 -128
  541. package/dist/graphql-CjB8wHzm.js +0 -74
  542. package/dist/graphqlConfig-CYt6tWII.js +0 -30
  543. package/dist/graphqlConfig-DicykC-o.cjs +0 -61
  544. package/dist/greenpan-B_EbPkSP.js +0 -397
  545. package/dist/greenpan-kPE4fJgd.cjs +0 -397
  546. package/dist/grooveLife-Ckuir319.js +0 -342
  547. package/dist/grooveLife-DKSEQp1F.cjs +0 -342
  548. package/dist/homegrownCannabis-BVPa2pqe.js +0 -410
  549. package/dist/homegrownCannabis-BwIAkxuA.cjs +0 -410
  550. package/dist/hooks/index.cjs +0 -63
  551. package/dist/hooks/index.d.cts +0 -314
  552. package/dist/hooks/index.d.ts +0 -314
  553. package/dist/hooks/index.js +0 -23
  554. package/dist/index-BMPtlgac.d.ts +0 -191
  555. package/dist/index-C7pGDl1A.d.ts +0 -1609
  556. package/dist/index-C9lgsCWp.d.cts +0 -203
  557. package/dist/index-Cc-wBCn6.d.ts +0 -203
  558. package/dist/index-DTu2X-YS.d.cts +0 -1609
  559. package/dist/index-OEifcBsm.d.cts +0 -191
  560. package/dist/jackArcher-B39OEIj6.cjs +0 -727
  561. package/dist/jackArcher-BwkWGybC.js +0 -727
  562. package/dist/jordanCraig-CxRH_jLi.js +0 -1786
  563. package/dist/jordanCraig-RwmWw-jM.cjs +0 -1786
  564. package/dist/kindredBravely-D78VwL20.cjs +0 -490
  565. package/dist/kindredBravely-DQDpAzdl.js +0 -490
  566. package/dist/kutFromTheKloth-TcXQkIti.js +0 -369
  567. package/dist/kutFromTheKloth-dXRrNti0.cjs +0 -369
  568. package/dist/larryAndSerges-Bh5XEXsZ.js +0 -262
  569. package/dist/larryAndSerges-COdBzOzu.cjs +0 -262
  570. package/dist/leapsAndRebounds-BbXnqkl5.cjs +0 -360
  571. package/dist/leapsAndRebounds-mjCaH1k-.js +0 -360
  572. package/dist/longevityrx-DdV3v26F.cjs +0 -320
  573. package/dist/longevityrx-DfPDfvAt.js +0 -320
  574. package/dist/lookOptic-DgXFGBPP.cjs +0 -282
  575. package/dist/lookOptic-FgVW1afF.js +0 -282
  576. package/dist/mantraBrand-C5gVm3rk.cjs +0 -750
  577. package/dist/mantraBrand-uV8HCDR8.js +0 -750
  578. package/dist/medterra-BtDpr1Hw.cjs +0 -583
  579. package/dist/medterra-DgzE7-mj.js +0 -583
  580. package/dist/modells-CJjsxOIR.js +0 -484
  581. package/dist/modells-Ck5KbRFj.cjs +0 -484
  582. package/dist/models-UZ6HszfZ.js +0 -1281
  583. package/dist/org-C2RrBVQR.cjs +0 -81
  584. package/dist/org-xMytX--e.js +0 -38
  585. package/dist/pressedFloral-Bteoboms.js +0 -661
  586. package/dist/pressedFloral-CexgV-xy.cjs +0 -661
  587. package/dist/search-BMOAmrmY.js +0 -459
  588. package/dist/search-Df0Ifneg.cjs +0 -672
  589. package/dist/skinPerfection-BGzq9lq-.cjs +0 -334
  590. package/dist/skinPerfection-BlvcEcUE.js +0 -334
  591. package/dist/snapSupplements-CbbGzAgO.cjs +0 -285
  592. package/dist/snapSupplements-kcsPAOm9.js +0 -285
  593. package/dist/socialProofClasses-Db8gzsfi.cjs +0 -40
  594. package/dist/socialProofClasses-kwDvwLOZ.js +0 -10
  595. package/dist/spanx-B4WFA_rI.js +0 -661
  596. package/dist/spanx-BWoE4F8b.cjs +0 -663
  597. package/dist/spanxStaging-BOrOjhXn.js +0 -845
  598. package/dist/spanxStaging-BfdfIug4.cjs +0 -848
  599. package/dist/suggestionBarV2-types-IMMOmCir.js +0 -10
  600. package/dist/suggestionBarV2-types-nnGNgFvR.cjs +0 -16
  601. package/dist/supergoop-22dd5_BS.js +0 -323
  602. package/dist/supergoop-B-a4cku2.cjs +0 -323
  603. package/dist/types--pr1GQQx.js +0 -154
  604. package/dist/types-BVSyY3Hk.cjs +0 -196
  605. package/dist/uniqueVintage-CJXiNNe7.js +0 -1211
  606. package/dist/uniqueVintage-D0jzJWlo.cjs +0 -1213
  607. package/dist/userIdentityContext-BPqvVIg0.d.cts +0 -20
  608. package/dist/userIdentityContext-wbCRmlzp.d.ts +0 -20
  609. package/dist/utils-C9ZSCx12.js +0 -888
  610. package/dist/utils-D5HO61hG.cjs +0 -1016
  611. package/dist/venaCbd-Bhhu_qUf.cjs +0 -365
  612. package/dist/venaCbd-CanovPS_.js +0 -365
  613. package/dist/westonJonBoucher-BC0x1ktI.cjs +0 -422
  614. package/dist/westonJonBoucher-BUu1_wP1.js +0 -422
  615. package/dist/wineEnthusiast-BlCryfil.cjs +0 -940
  616. package/dist/wineEnthusiast-Ck1x5iJq.js +0 -940
  617. package/dist/wolfMattress-D9Mjq-HP.js +0 -372
  618. package/dist/wolfMattress-JssghhC-.cjs +0 -372
  619. package/dist/wolfTactical-C6exYhL7.cjs +0 -349
  620. package/dist/wolfTactical-CnV3KQdI.js +0 -349
  621. package/src/application/models/supportedOrgs.ts +0 -161
  622. package/src/atoms/org/orgPageConfig.ts +0 -42
  623. package/src/contexts/index.ts +0 -16
  624. package/src/contexts/newOrgConfigContext.tsx +0 -104
  625. package/src/contexts/orgConfigContext.tsx +0 -106
  626. package/src/hooks/index.ts +0 -27
  627. package/src/hooks/useSystemSettingsContext.ts +0 -12
  628. package/src/merchants/bandolier/bandolier.ts +0 -1371
  629. package/src/merchants/carpe/carpe.ts +0 -653
  630. package/src/merchants/coterie/coterie.ts +0 -277
  631. package/src/merchants/default.ts +0 -196
  632. package/src/merchants/dreamlandBaby/dreamlandBaby.ts +0 -381
  633. package/src/merchants/fiveCbd/fiveCbd.ts +0 -691
  634. package/src/merchants/forLoveAndLemons/forLoveAndLemons.ts +0 -751
  635. package/src/merchants/greenpan/greenpan.ts +0 -434
  636. package/src/merchants/grooveLife/grooveLife.ts +0 -392
  637. package/src/merchants/homegrownCannabis/homegrownCannabis.ts +0 -474
  638. package/src/merchants/init-merchant.sh +0 -53
  639. package/src/merchants/jackArcher/jackArcher.ts +0 -989
  640. package/src/merchants/jordanCraig/jordanCraig.ts +0 -1927
  641. package/src/merchants/kindredBravely/kindredBravely.ts +0 -538
  642. package/src/merchants/kutFromTheKloth/kutFromTheKloth.ts +0 -421
  643. package/src/merchants/larryAndSerges/larryAndSerges.ts +0 -318
  644. package/src/merchants/leapsAndRebounds/leapsAndRebounds.ts +0 -424
  645. package/src/merchants/longevityrx/longevityrx.ts +0 -374
  646. package/src/merchants/lookOptic/lookOptic.ts +0 -323
  647. package/src/merchants/mantraBrand/mantraBrand.ts +0 -844
  648. package/src/merchants/medterra/medterra.ts +0 -673
  649. package/src/merchants/modells/modells.ts +0 -543
  650. package/src/merchants/pressedFloral/pressedFloral.ts +0 -728
  651. package/src/merchants/skinPerfection/skinPerfection.ts +0 -385
  652. package/src/merchants/snapSupplements/snapSupplements.ts +0 -328
  653. package/src/merchants/spanx/spanx.ts +0 -810
  654. package/src/merchants/spanx/spanxStaging.ts +0 -936
  655. package/src/merchants/supergoop/supergoop.ts +0 -375
  656. package/src/merchants/uniqueVintage/uniqueVintage.ts +0 -1314
  657. package/src/merchants/venaCbd/venaCbd.ts +0 -407
  658. package/src/merchants/westonJonBoucher/westonJonBoucher.ts +0 -473
  659. package/src/merchants/wineEnthusiast/wineEnthusiast.ts +0 -990
  660. package/src/merchants/wolfMattress/wolfMattress.ts +0 -411
  661. package/src/merchants/wolfTactical/wolfTactical.ts +0 -383
  662. /package/dist/{atomStore-KSoFS3Jj.cjs → AmplitudeOperations-CNyxbBY6.cjs} +0 -0
  663. /package/dist/{atomStore-CZnUUsrr.js → AmplitudeOperations-Oa2efWtF.js} +0 -0
  664. /package/dist/{locators-fBXS_pxP.js → atomStore-BS6qtYZF.js} +0 -0
  665. /package/dist/{locators-0YYZu9n4.cjs → atomStore-BjRyLFEx.cjs} +0 -0
  666. /package/dist/{utilityTypes-8sETsYPk.js → types-DtTnp0o0.js} +0 -0
  667. /package/dist/{utilityTypes-COShxVir.cjs → types-a8gm_IaQ.cjs} +0 -0
  668. /package/dist/{variantInfo-orXoPBCU.cjs → types.cjs} +0 -0
  669. /package/dist/{variantInfo-DbVxA1yE.js → types.js} +0 -0
  670. /package/src/contexts/{featureFlagServiceContext.tsx → featureFlagServiceContext/featureFlagServiceContext.tsx} +0 -0
  671. /package/src/contexts/{graphqlContext.tsx → graphqlContext/graphqlContext.tsx} +0 -0
  672. /package/src/contexts/{shopifyUrlContext.tsx → shopifyUrlContext/shopifyUrlContext.tsx} +0 -0
  673. /package/src/contexts/{systemSettingsContext.tsx → systemSettingsContext/systemSettingsContext.tsx} +0 -0
  674. /package/src/contexts/{userIdentityContext.tsx → userIdentityContext/userIdentityContext.tsx} +0 -0
  675. /package/src/hooks/{useBlockBackButton.ts → BlockBackButton/useBlockBackButton.ts} +0 -0
  676. /package/src/hooks/{useCustomerSupportHandoff.ts → CustomerSupportHandoff/useCustomerSupportHandoff.ts} +0 -0
  677. /package/src/hooks/{useDebounce.ts → Debounce/useDebounce.ts} +0 -0
  678. /package/src/hooks/{useElementObserver.ts → ElementObserver/useElementObserver.ts} +0 -0
  679. /package/src/hooks/{useGrabAndScroll.ts → GrabAndScroll/useGrabAndScroll.ts} +0 -0
  680. /package/src/hooks/{useImageResolver.ts → ImageResolver/useImageResolver.ts} +0 -0
  681. /package/src/hooks/{useIntersection.ts → Intersection/useIntersection.ts} +0 -0
  682. /package/src/hooks/{useIsSmallScreen.ts → IsSmallScreen/useIsSmallScreen.ts} +0 -0
  683. /package/src/hooks/{useMessageFilter.ts → MessageFilter/useMessageFilter.ts} +0 -0
  684. /package/src/hooks/{useMessageScrollObserver.ts → MessageScrollObserver/useMessageScrollObserver.ts} +0 -0
  685. /package/src/hooks/{useSearchOperations.ts → SearchOperations/useSearchOperations.ts} +0 -0
  686. /package/src/hooks/{useSnapCalculator.ts → SnapCalculator/useSnapCalculator.ts} +0 -0
@@ -1,940 +0,0 @@
1
- const require_models = require('./models-BkXg5eIP.cjs');
2
- const require_types = require('./types-BVSyY3Hk.cjs');
3
- require('./graphql-BNW60InJ.cjs');
4
- require('./api-_JaUnIUj.cjs');
5
- require('./utilityTypes-COShxVir.cjs');
6
- require('./variantInfo-orXoPBCU.cjs');
7
- require('./enviveConfig-BccuzS2a.cjs');
8
- require('./atomStore-B4jIaDPd.cjs');
9
- const require_suggestionBarV2_types = require('./suggestionBarV2-types-nnGNgFvR.cjs');
10
- require('./chat-BubCW1as.cjs');
11
- require('./components-Cw9WjA6g.cjs');
12
- const require_embedded = require('./embedded-Dl79TJLC.cjs');
13
- require('./locators-0YYZu9n4.cjs');
14
- const require_cdnUtils = require('./cdnUtils-32v8bDX9.cjs');
15
- const require_default = require('./default-BnB4p0Se.cjs');
16
- const require_divIds = require('./divIds-2dJlU3z8.cjs');
17
-
18
- //#region src/merchants/wineEnthusiast/wineEnthusiast.ts
19
- const wineEnthusiastColors = {
20
- [require_types.ColorNames.TextPrimary]: "#000000",
21
- [require_types.ColorNames.TextSecondary]: "#918782",
22
- [require_types.ColorNames.TextAccent]: "#48273E",
23
- [require_types.ColorNames.TextLink]: "#000000",
24
- [require_types.ColorNames.TextLight]: "#FFFFFF",
25
- [require_types.ColorNames.BackgroundPrimary]: "#000000",
26
- [require_types.ColorNames.BackgroundSecondary]: "#F4F3EE",
27
- [require_types.ColorNames.BackgroundSecondaryDark]: "#E8E8E5",
28
- [require_types.ColorNames.BackgroundTertiary]: "#F4F4F1",
29
- [require_types.ColorNames.BackgroundDark]: "#000000",
30
- [require_types.ColorNames.BackgroundLight]: "#FFFFFF",
31
- [require_types.ColorNames.BackgroundSaturated]: "",
32
- [require_types.ColorNames.BorderLight]: "#A6A6A6",
33
- [require_types.ColorNames.BorderMedium]: "#6C757D",
34
- [require_types.ColorNames.BorderDark]: "#4F4F4F",
35
- [require_types.ColorNames.BorderOutline]: "#4F4F4F",
36
- [require_types.ColorNames.AccentPrimary]: "#000000",
37
- [require_types.ColorNames.AccentSecondary]: "#B44815"
38
- };
39
- const wineEnthusiastOrgUIConfig = () => {
40
- const defaultWineEnthusiastOrgConfig = require_default.defaultOrgUIConfig(require_types.OrgShortName.WineEnthusiast);
41
- return {
42
- ...defaultWineEnthusiastOrgConfig,
43
- chatMessageConfig: {
44
- ...defaultWineEnthusiastOrgConfig.chatMessageConfig,
45
- assistantChatTitle: "Wine Enthusiast Shopping Assistant"
46
- },
47
- chatHeader: {
48
- ...defaultWineEnthusiastOrgConfig.chatHeader,
49
- expandedColor: require_types.colorVar(require_types.ColorNames.BackgroundPrimary),
50
- collapsedColor: require_types.colorVar(require_types.ColorNames.BackgroundPrimary),
51
- imageSrc: require_cdnUtils.getCdnAssetURL("WineEnthusiast_Logo_Small.svg", require_types.OrgShortName.WineEnthusiast),
52
- customerSupportSwitchConfig: {
53
- ...defaultWineEnthusiastOrgConfig.chatHeader.customerSupportSwitchConfig,
54
- supportTitle: "Live Support"
55
- }
56
- },
57
- chatPreviewConfig: {
58
- ...defaultWineEnthusiastOrgConfig.chatPreviewConfig,
59
- iconFillColor: require_types.colorVar(require_types.ColorNames.AccentPrimary),
60
- buttonTextColor: require_types.colorVar(require_types.ColorNames.BorderOutline),
61
- buttonBackgroundColor: require_types.colorVar(require_types.ColorNames.BackgroundSecondary),
62
- buttonTextHoverColor: require_types.colorVar(require_types.ColorNames.BorderOutline),
63
- buttonBackgroundHoverColor: require_types.colorVar(require_types.ColorNames.BackgroundSecondaryDark),
64
- topMargin: 10,
65
- headerConfig: {
66
- ...defaultWineEnthusiastOrgConfig.chatPreviewConfig.headerConfig,
67
- imageHeight: 24,
68
- imageSrc: require_cdnUtils.getCdnAssetURL("WineEnthusiast_Logo_DK.svg", require_types.OrgShortName.WineEnthusiast)
69
- },
70
- footerConfig: {
71
- ...defaultWineEnthusiastOrgConfig.chatPreviewConfig.footerConfig,
72
- replyButtonIcon: "magnifyingGlass"
73
- }
74
- },
75
- floatingEntrypointConfig: {
76
- ...defaultWineEnthusiastOrgConfig.floatingEntrypointConfig,
77
- showOption: "always",
78
- expansionText: {
79
- pdp: "Is this ‘the one’?",
80
- plp: "Would you like a recommendation?"
81
- }
82
- },
83
- productCardConfig: { ...defaultWineEnthusiastOrgConfig.productCardConfig },
84
- pageCardConfig: { ...defaultWineEnthusiastOrgConfig.pageCardConfig },
85
- productReviewConfig: { ...defaultWineEnthusiastOrgConfig.productReviewConfig },
86
- welcomeSectionConfig: {
87
- ...defaultWineEnthusiastOrgConfig.welcomeSectionConfig,
88
- title: "Welcome to Wine Enthusiast!",
89
- subtitle: "I'm not just any AI assistant, I'm a lifestyle enhancer. If you want to sip, store or share wine, allow me to help. "
90
- },
91
- customerServiceIntegration: {
92
- integrationMode: require_default.CustomerServiceIntegrationMode.simple,
93
- provider: require_default.CustomerServiceType.gladly
94
- },
95
- hiddenElementSelectors: ["[data-aid*='gladlyChatChatButton']"],
96
- merchantOverrideCss: `
97
- /* -------- Floating Chat Styles - Modal Sheet Z-Index Override -------- */
98
- /* Note: Gladly chat #gladlyChat_container uses z-index: 2147483000, so we need higher value */
99
- .spiffy-modal-sheet-open {
100
- z-index: 2147483001 !important;
101
- }
102
-
103
- /* Override Gladly's z-index preload */
104
- #gladlyChat_container.preload{
105
- z-index: 998 !important;
106
- }
107
-
108
- /* Force Gladly z-index to stay low with higher specificity */
109
- body #gladlyChat_container,
110
- html body #gladlyChat_container {
111
- z-index: 998 !important;
112
- }
113
- /* -------- Floating Chat Styles - Welcome Section Title Styling -------- */
114
- .spiffy-welcome-section-message-title {
115
- font-weight: 600 !important;
116
- }
117
- .spiffy-assistant-message-header-text{
118
- font-weight: 600 !important;
119
- font-size: 14px !important;
120
- }
121
-
122
- /* -------- Floating Chat Styles - Buttons -------- */
123
- .spiffy-modal-sheet-content > div:nth-child(2) > div > div > div > div > button:hover {
124
- background: var(--spiffy-colors-background-secondary-dark) !important;
125
- border: 1px solid var(--spiffy-colors-background-secondary-dark) !important;
126
- color: var(--spiffy-colors-text-primary) !important;
127
- }
128
-
129
- .spiffy-modal-sheet-content > div:nth-child(4) > div > div > div > div > button:hover {
130
- background: var(--spiffy-colors-background-secondary-dark) !important;
131
- border: 1px solid var(--spiffy-colors-background-secondary-dark) !important;
132
- color: var(--spiffy-colors-text-primary) !important;
133
- }
134
-
135
- .spiffy-modal-sheet-content > div:nth-child(4) > div > div > div > div > button:hover svg {
136
- stroke: var(--spiffy-colors-text-primary) !important;
137
- fill: var(--spiffy-colors-text-primary) !important;
138
- }
139
- .spiffy-star-rating-container {
140
- background-color : var(--spiffy-colors-background-light) !important;
141
- }
142
-
143
- /* -------- Floating Chat Styles - Article card -------- */
144
- .spiffy-page-card-container {
145
- background: var(--spiffy-colors-background-secondary) !important;
146
- }
147
- .spiffy-page-card-container:hover {
148
- background: var(--spiffy-colors-background-secondary-dark) !important;
149
- }
150
-
151
- .spiffy-page-card-title {
152
- font-family: Poppins !important;
153
- font-weight: 500 !important;
154
- font-style: normal !important;
155
- font-size: 14px !important;
156
- line-height: 124% !important;
157
- letter-spacing: 0% !important;
158
- }
159
-
160
- .spiffy-page-card-description {
161
- font-weight: 400 !important;
162
- font-style: normal !important;
163
- font-size: 14px !important;
164
- line-height: 140% !important;
165
- letter-spacing: 0% !important;
166
- }
167
-
168
- .spiffy-view-source-icon-wrapper {
169
- background: var(--spiffy-colors-accent-primary) !important;
170
- border: 1px solid var(--spiffy-colors-accent-primary) !important;
171
- }
172
-
173
- .spiffy-view-source-link {
174
- font-weight: 500 !important;
175
- font-style: normal !important;
176
- font-size: 12px !important;
177
- line-height: 130% !important;
178
- letter-spacing: 0% !important;
179
- color: var(--spiffy-colors-text-primary) !important;
180
- }
181
-
182
- /* --------- Top/bottom Suggestions Bars Styles --------- */
183
- #spiffy-top-suggestion-bar-contents button {
184
- border-radius: 0 !important;
185
- border: 1px solid var(--spiffy-colors-background-secondary-dark) !important;
186
- }
187
-
188
- #spiffy-bottom-suggestion-bar-contents button {
189
- border-radius: 0 !important;
190
- border: 1px solid var(--spiffy-colors-background-secondary-dark) !important;
191
- }
192
-
193
- #spiffy-top-suggestion-bar-contents button:hover {
194
- background-color: var(--spiffy-colors-background-secondary-dark) !important;
195
- border-color: var(--spiffy-colors-background-secondary-dark) !important;
196
- color: var(--spiffy-colors-text-primary) !important;
197
- border-radius: 0 !important;
198
- }
199
-
200
- #spiffy-bottom-suggestion-bar-contents button:hover {
201
- background-color: var(--spiffy-colors-background-secondary-dark) !important;
202
- border-color: var(--spiffy-colors-background-secondary-dark) !important;
203
- color: var(--spiffy-colors-text-primary) !important;
204
- border-radius: 0 !important;
205
- }
206
-
207
- /* --------- PLP/PDP Chats Previews Buttons Styles --------- */
208
- .spiffy-social-proof-content-container > span:first-child {
209
- color: var(--spiffy-colors-text-accent) !important;
210
- }
211
-
212
- .spiffy-social-proof-content-container > span:last-child {
213
- color: var(--spiffy-colors-text-primary) !important;
214
- }
215
-
216
- .spiffy-social-proof-suggestion-footer-title {
217
- color: var(--spiffy-colors-text-secondary) !important;
218
- }
219
-
220
- #spiffy-ai-chat-preview-contents .spiffy-button-base-button {
221
- border-radius: 0 !important;
222
- border: 1px solid var(--spiffy-colors-background-secondary-dark) !important;
223
- }
224
-
225
- #spiffy-ai-chat-preview-contents .spiffy-button-base-button:hover {
226
- background-color: var(--spiffy-colors-background-secondary-dark) !important;
227
- color: var(--spiffy-colors-text-primary) !important;
228
- border-radius: 0 !important;
229
- }
230
-
231
- #spiffy-ai-chat-preview-contents .spiffy-button-base-button:hover svg {
232
- fill: var(--spiffy-colors-text-primary) !important;
233
- stroke: var(--spiffy-colors-text-primary) !important;
234
- }
235
-
236
- /* -------- Feedback Button Styles - Remove Top Border -------- */
237
- #spiffy-ai-chat-preview-contents > hr:nth-child(3) {
238
- display: none !important;
239
- }
240
-
241
- /* -------- PDP Footer Input Shadow -------- */
242
- .spiffy-user-query-button {
243
- box-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.25) !important;
244
- margin: 4px !important;
245
- width: 99% !important;
246
- }
247
- `
248
- };
249
- };
250
- const wineEnthusiastPageConfig = () => ({
251
- pageVariants: [
252
- {
253
- variantId: "plpTabletopEntertaining",
254
- variantType: "plp",
255
- variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }, {
256
- testType: require_types.PageVariantTestType.PlpId,
257
- plpIds: ["tabletop-entertaining"],
258
- plpIdExtractor: "url-resolver-plp-id"
259
- }],
260
- plpIdExtractor: "url-resolver-plp-id",
261
- widgetMounting: [{
262
- mountingConfigId: "chatPreviewPLP",
263
- widgetConfigId: "chatPreviewPLPTabletopEntertaining"
264
- }]
265
- },
266
- {
267
- variantId: "plpDecor",
268
- variantType: "plp",
269
- variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }, {
270
- testType: require_types.PageVariantTestType.PlpId,
271
- plpIds: ["decor"],
272
- plpIdExtractor: "url-resolver-plp-id"
273
- }],
274
- plpIdExtractor: "url-resolver-plp-id",
275
- widgetMounting: [{
276
- mountingConfigId: "chatPreviewPLP",
277
- widgetConfigId: "chatPreviewPLPTabletopEntertaining"
278
- }]
279
- },
280
- {
281
- variantId: "plpWineCoolers",
282
- variantType: "plp",
283
- variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }, {
284
- testType: require_types.PageVariantTestType.PlpId,
285
- plpIds: ["wine-coolers"],
286
- plpIdExtractor: "url-resolver-plp-id"
287
- }],
288
- plpIdExtractor: "url-resolver-plp-id",
289
- widgetMounting: [{
290
- mountingConfigId: "chatPreviewPLP",
291
- widgetConfigId: "chatPreviewPLPWineCoolers"
292
- }]
293
- },
294
- {
295
- variantId: "plpDualZoneWineCoolers",
296
- variantType: "plp",
297
- variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }, {
298
- testType: require_types.PageVariantTestType.PlpId,
299
- plpIds: ["dual-zone-wine-coolers"],
300
- plpIdExtractor: "url-resolver-plp-id"
301
- }],
302
- plpIdExtractor: "url-resolver-plp-id",
303
- widgetMounting: [{
304
- mountingConfigId: "chatPreviewPLP",
305
- widgetConfigId: "chatPreviewPLPDualZoneWineCoolers"
306
- }]
307
- },
308
- {
309
- variantId: "plpSideBySideWineCabinets",
310
- variantType: "plp",
311
- variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }, {
312
- testType: require_types.PageVariantTestType.PlpId,
313
- plpIds: ["side-by-side-wine-cabinets"],
314
- plpIdExtractor: "url-resolver-plp-id"
315
- }],
316
- plpIdExtractor: "url-resolver-plp-id",
317
- widgetMounting: [{
318
- mountingConfigId: "chatPreviewPLP",
319
- widgetConfigId: "chatPreviewPLPSideBySideWineCabinets"
320
- }]
321
- },
322
- {
323
- variantId: "plpGlassware",
324
- variantType: "plp",
325
- variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }, {
326
- testType: require_types.PageVariantTestType.PlpId,
327
- plpIds: ["glassware"],
328
- plpIdExtractor: "url-resolver-plp-id"
329
- }],
330
- plpIdExtractor: "url-resolver-plp-id",
331
- widgetMounting: [{
332
- mountingConfigId: "chatPreviewPLP",
333
- widgetConfigId: "chatPreviewPLPGlassware"
334
- }]
335
- },
336
- {
337
- variantId: "plpWineRacks",
338
- variantType: "plp",
339
- variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }, {
340
- testType: require_types.PageVariantTestType.PlpId,
341
- plpIds: ["wine-racks"],
342
- plpIdExtractor: "url-resolver-plp-id"
343
- }],
344
- plpIdExtractor: "url-resolver-plp-id",
345
- widgetMounting: [{
346
- mountingConfigId: "chatPreviewPLP",
347
- widgetConfigId: "chatPreviewPLPWineRacks"
348
- }]
349
- },
350
- {
351
- variantId: "plpFurniture",
352
- variantType: "plp",
353
- variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }, {
354
- testType: require_types.PageVariantTestType.PlpId,
355
- plpIds: ["furniture"],
356
- plpIdExtractor: "url-resolver-plp-id"
357
- }],
358
- plpIdExtractor: "url-resolver-plp-id",
359
- widgetMounting: [{
360
- mountingConfigId: "chatPreviewPLP",
361
- widgetConfigId: "chatPreviewPLPFurniture"
362
- }]
363
- },
364
- {
365
- variantId: "plpWineAccessories",
366
- variantType: "plp",
367
- variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }, {
368
- testType: require_types.PageVariantTestType.PlpId,
369
- plpIds: ["wine-accessories"],
370
- plpIdExtractor: "url-resolver-plp-id"
371
- }],
372
- plpIdExtractor: "url-resolver-plp-id",
373
- widgetMounting: [{
374
- mountingConfigId: "chatPreviewPLP",
375
- widgetConfigId: "chatPreviewPLPWineAccessories"
376
- }]
377
- },
378
- {
379
- variantId: "plpWineCellarCooling",
380
- variantType: "plp",
381
- variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }, {
382
- testType: require_types.PageVariantTestType.PlpId,
383
- plpIds: ["wine-cellar-cooling-systems"],
384
- plpIdExtractor: "url-resolver-plp-id"
385
- }],
386
- plpIdExtractor: "url-resolver-plp-id",
387
- widgetMounting: [{
388
- mountingConfigId: "chatPreviewPLP",
389
- widgetConfigId: "chatPreviewPLPWineCellarCooling"
390
- }]
391
- },
392
- {
393
- variantId: "plpDecanters",
394
- variantType: "plp",
395
- variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }, {
396
- testType: require_types.PageVariantTestType.PlpId,
397
- plpIds: ["decanters"],
398
- plpIdExtractor: "url-resolver-plp-id"
399
- }],
400
- plpIdExtractor: "url-resolver-plp-id",
401
- widgetMounting: [{
402
- mountingConfigId: "chatPreviewPLP",
403
- widgetConfigId: "chatPreviewPLPDecanters"
404
- }]
405
- },
406
- {
407
- variantId: "plp",
408
- variantType: "plp",
409
- variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }],
410
- plpIdExtractor: "url-resolver-plp-id",
411
- widgetMounting: [{
412
- mountingConfigId: "chatPreviewPLP",
413
- widgetConfigId: "chatPreviewPLP"
414
- }]
415
- },
416
- {
417
- variantId: "pdp",
418
- variantType: "pdp",
419
- variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }],
420
- productIdExtractor: "url-resolver-product-id",
421
- widgetMounting: [
422
- {
423
- mountingConfigId: "topSuggestionBarPDP",
424
- widgetConfigId: "topSuggestionBar"
425
- },
426
- {
427
- mountingConfigId: "chatPreviewPDP",
428
- widgetConfigId: "chatPreviewPDP"
429
- },
430
- {
431
- mountingConfigId: "bottomSuggestionBarPDP",
432
- widgetConfigId: "bottomSuggestionBar"
433
- }
434
- ]
435
- },
436
- {
437
- variantId: "homepage",
438
- variantType: "homepage",
439
- variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }],
440
- widgetMounting: []
441
- },
442
- {
443
- variantId: "otherPages",
444
- variantType: "other",
445
- variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }],
446
- widgetMounting: []
447
- }
448
- ],
449
- widgetConfigs: {
450
- topSuggestionBar: {
451
- type: require_types.WidgetType.SuggestionBarV2,
452
- widgetConfigId: "topSuggestionsBar",
453
- contentId: "spiffy-top-suggestion-bar-contents",
454
- metricDisplayLocation: require_models.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
455
- location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
456
- variant: "secondary",
457
- hoverVariant: "secondaryDark",
458
- buttonTexts: { default: [
459
- "Is this the right one for me?",
460
- "Why do wine lovers choose this one?",
461
- "Which others should I consider?",
462
- "What do buyers love most?"
463
- ] }
464
- },
465
- chatPreviewPLPTabletopEntertaining: {
466
- widgetConfigId: "chatPreviewPLPTabletopEntertaining",
467
- type: require_types.WidgetType.ChatPreview,
468
- variant: "filled",
469
- addSeparators: false,
470
- socialProofConfig: {
471
- staticPLPImagesLayout: "horizontal",
472
- logoName: "WineEnthusiast_Logo_DK.svg",
473
- customerQuery: "asked which items will enhance my wine life?",
474
- headerTitle: "SHOPPING ASSISTANT",
475
- headerFontFamily: "DIN",
476
- suggestionButtonStrings: [
477
- "What are other wine lovers saying?",
478
- "Most impressive wine gifts?",
479
- "Most loved wine gifts?",
480
- "Great gifts for entertainers?",
481
- "Great gifts for wine geeks?",
482
- "Great gifts for weddings?"
483
- ],
484
- staticPLPImageNames: [
485
- "plp1.png",
486
- "plp2.png",
487
- "plp3.png",
488
- "plp4.png"
489
- ],
490
- suggestionButtonVariantDefault: "secondary",
491
- suggestionButtonVariantAccent: "secondary",
492
- userQueryButtonConfig: {
493
- placeholderText: "Would you like a recommendation?",
494
- icon: "magnifyingGlass"
495
- }
496
- }
497
- },
498
- chatPreviewPLPWineCoolers: {
499
- widgetConfigId: "chatPreviewPLPWineCoolers",
500
- type: require_types.WidgetType.ChatPreview,
501
- variant: "filled",
502
- addSeparators: false,
503
- socialProofConfig: {
504
- staticPLPImagesLayout: "horizontal",
505
- logoName: "WineEnthusiast_Logo_DK.svg",
506
- customerQuery: "asked which items will enhance my wine life?",
507
- headerTitle: "SHOPPING ASSISTANT",
508
- headerFontFamily: "DIN",
509
- suggestionButtonStrings: [
510
- "What are other wine lovers saying?",
511
- "Which wine fridge is right for me?",
512
- "Which ones hold the right number of bottles?",
513
- "Will it fit Burgundy or Champagne bottles?",
514
- "Best fit for small spaces?",
515
- "Best for long-term aging?",
516
- "Best for displaying my collection?",
517
- "What makes a wine fridge able to be built-in?"
518
- ],
519
- staticPLPImageNames: [
520
- "plp1.png",
521
- "plp2.png",
522
- "plp3.png",
523
- "plp4.png"
524
- ],
525
- suggestionButtonVariantDefault: "secondary",
526
- suggestionButtonVariantAccent: "secondary",
527
- userQueryButtonConfig: {
528
- placeholderText: "Would you like a recommendation?",
529
- icon: "magnifyingGlass"
530
- }
531
- }
532
- },
533
- chatPreviewPLPDualZoneWineCoolers: {
534
- widgetConfigId: "chatPreviewPLPDualZoneWineCoolers",
535
- type: require_types.WidgetType.ChatPreview,
536
- variant: "filled",
537
- addSeparators: false,
538
- socialProofConfig: {
539
- staticPLPImagesLayout: "horizontal",
540
- logoName: "WineEnthusiast_Logo_DK.svg",
541
- customerQuery: "asked which items will enhance my wine life?",
542
- headerTitle: "SHOPPING ASSISTANT",
543
- headerFontFamily: "DIN",
544
- suggestionButtonStrings: [
545
- "What are other wine lovers saying?",
546
- "What is the difference between a Dual-Zone and a Side-by-Side?",
547
- "What can I set the temperature to?"
548
- ],
549
- staticPLPImageNames: [
550
- "plp1.png",
551
- "plp2.png",
552
- "plp3.png",
553
- "plp4.png"
554
- ],
555
- suggestionButtonVariantDefault: "secondary",
556
- suggestionButtonVariantAccent: "secondary",
557
- userQueryButtonConfig: {
558
- placeholderText: "Would you like a recommendation?",
559
- icon: "magnifyingGlass"
560
- }
561
- }
562
- },
563
- chatPreviewPLPSideBySideWineCabinets: {
564
- widgetConfigId: "chatPreviewPLPSideBySideWineCabinets",
565
- type: require_types.WidgetType.ChatPreview,
566
- variant: "filled",
567
- addSeparators: false,
568
- socialProofConfig: {
569
- staticPLPImagesLayout: "horizontal",
570
- logoName: "WineEnthusiast_Logo_DK.svg",
571
- customerQuery: "asked which items will enhance my wine life?",
572
- headerTitle: "SHOPPING ASSISTANT",
573
- headerFontFamily: "DIN",
574
- suggestionButtonStrings: [
575
- "What are other wine lovers saying?",
576
- "What is the difference between a Dual-Zone and a Side-by-Side?",
577
- "What can I set the temperature to?"
578
- ],
579
- staticPLPImageNames: [
580
- "plp1.png",
581
- "plp2.png",
582
- "plp3.png",
583
- "plp4.png"
584
- ],
585
- suggestionButtonVariantDefault: "secondary",
586
- suggestionButtonVariantAccent: "secondary",
587
- userQueryButtonConfig: {
588
- placeholderText: "Would you like a recommendation?",
589
- icon: "magnifyingGlass"
590
- }
591
- }
592
- },
593
- chatPreviewPLPGlassware: {
594
- widgetConfigId: "chatPreviewPLPGlassware",
595
- type: require_types.WidgetType.ChatPreview,
596
- variant: "filled",
597
- addSeparators: false,
598
- socialProofConfig: {
599
- staticPLPImagesLayout: "horizontal",
600
- logoName: "WineEnthusiast_Logo_DK.svg",
601
- customerQuery: "asked which items will enhance my wine life?",
602
- headerTitle: "SHOPPING ASSISTANT",
603
- headerFontFamily: "DIN",
604
- suggestionButtonStrings: [
605
- "What are other wine lovers saying?",
606
- "Which ones are lightweight?",
607
- "Which ones are break-resistant?",
608
- "Which ones are dishwasher safe?",
609
- "Which ones have short stems?",
610
- "What's good for outdoor use?",
611
- "Should I get universal glasses?",
612
- "What are my options for personalization?"
613
- ],
614
- staticPLPImageNames: [
615
- "plp1.png",
616
- "plp2.png",
617
- "plp3.png",
618
- "plp4.png"
619
- ],
620
- suggestionButtonVariantDefault: "secondary",
621
- suggestionButtonVariantAccent: "secondary",
622
- userQueryButtonConfig: {
623
- placeholderText: "Would you like a recommendation?",
624
- icon: "magnifyingGlass"
625
- }
626
- }
627
- },
628
- chatPreviewPLPWineRacks: {
629
- widgetConfigId: "chatPreviewPLPWineRacks",
630
- type: require_types.WidgetType.ChatPreview,
631
- variant: "filled",
632
- addSeparators: false,
633
- socialProofConfig: {
634
- staticPLPImagesLayout: "horizontal",
635
- logoName: "WineEnthusiast_Logo_DK.svg",
636
- customerQuery: "asked which items will enhance my wine life?",
637
- headerTitle: "SHOPPING ASSISTANT",
638
- headerFontFamily: "DIN",
639
- suggestionButtonStrings: [
640
- "What are other wine lovers saying?",
641
- "Which of these are stackable?",
642
- "Which of these are free-standing?",
643
- "Which of these display my collection well?",
644
- "Which of these are wall-mounted?",
645
- "Which of these are modern?"
646
- ],
647
- staticPLPImageNames: [
648
- "plp1.png",
649
- "plp2.png",
650
- "plp3.png",
651
- "plp4.png"
652
- ],
653
- suggestionButtonVariantDefault: "secondary",
654
- suggestionButtonVariantAccent: "secondary",
655
- userQueryButtonConfig: {
656
- placeholderText: "Would you like a recommendation?",
657
- icon: "magnifyingGlass"
658
- }
659
- }
660
- },
661
- chatPreviewPLPFurniture: {
662
- widgetConfigId: "chatPreviewPLPFurniture",
663
- type: require_types.WidgetType.ChatPreview,
664
- variant: "filled",
665
- addSeparators: false,
666
- socialProofConfig: {
667
- staticPLPImagesLayout: "horizontal",
668
- logoName: "WineEnthusiast_Logo_DK.svg",
669
- customerQuery: "asked which items will enhance my wine life?",
670
- headerTitle: "SHOPPING ASSISTANT",
671
- headerFontFamily: "DIN",
672
- suggestionButtonStrings: [
673
- "What are other wine lovers saying?",
674
- "What's good for small spaces?",
675
- "Which of these are modern?",
676
- "Which of these are natural looking?",
677
- "Which of these are made for spirits?",
678
- "Which of these have refrigeration options?",
679
- "Which of these have built-in lighting?"
680
- ],
681
- staticPLPImageNames: [
682
- "plp1.png",
683
- "plp2.png",
684
- "plp3.png",
685
- "plp4.png"
686
- ],
687
- suggestionButtonVariantDefault: "secondary",
688
- suggestionButtonVariantAccent: "secondary",
689
- userQueryButtonConfig: {
690
- placeholderText: "Would you like a recommendation?",
691
- icon: "magnifyingGlass"
692
- }
693
- }
694
- },
695
- chatPreviewPLPWineAccessories: {
696
- widgetConfigId: "chatPreviewPLPWineAccessories",
697
- type: require_types.WidgetType.ChatPreview,
698
- variant: "filled",
699
- addSeparators: false,
700
- socialProofConfig: {
701
- staticPLPImagesLayout: "horizontal",
702
- logoName: "WineEnthusiast_Logo_DK.svg",
703
- customerQuery: "asked which items will enhance my wine life?",
704
- headerTitle: "SHOPPING ASSISTANT",
705
- headerFontFamily: "DIN",
706
- suggestionButtonStrings: [
707
- "What are other wine lovers saying?",
708
- "How do I choose a corkscrew?",
709
- "How do I keep wine fresh longer?",
710
- "How do I travel with wine?"
711
- ],
712
- staticPLPImageNames: [
713
- "plp1.png",
714
- "plp2.png",
715
- "plp3.png",
716
- "plp4.png"
717
- ],
718
- suggestionButtonVariantDefault: "secondary",
719
- suggestionButtonVariantAccent: "secondary",
720
- userQueryButtonConfig: {
721
- placeholderText: "Would you like a recommendation?",
722
- icon: "magnifyingGlass"
723
- }
724
- }
725
- },
726
- chatPreviewPLPWineCellarCooling: {
727
- widgetConfigId: "chatPreviewPLPWineCellarCooling",
728
- type: require_types.WidgetType.ChatPreview,
729
- variant: "filled",
730
- addSeparators: false,
731
- socialProofConfig: {
732
- staticPLPImagesLayout: "horizontal",
733
- logoName: "WineEnthusiast_Logo_DK.svg",
734
- customerQuery: "asked which items will enhance my wine life?",
735
- headerTitle: "SHOPPING ASSISTANT",
736
- headerFontFamily: "DIN",
737
- suggestionButtonStrings: [
738
- "What are other wine lovers saying?",
739
- "How big of a unit do I need?",
740
- "How can I tell the difference between the brands?",
741
- "What do I get when I spend more?",
742
- "What kind of warranties are offered?"
743
- ],
744
- staticPLPImageNames: [
745
- "plp1.png",
746
- "plp2.png",
747
- "plp3.png",
748
- "plp4.png"
749
- ],
750
- suggestionButtonVariantDefault: "secondary",
751
- suggestionButtonVariantAccent: "secondary",
752
- userQueryButtonConfig: {
753
- placeholderText: "Would you like a recommendation?",
754
- icon: "magnifyingGlass"
755
- }
756
- }
757
- },
758
- chatPreviewPLPDecanters: {
759
- widgetConfigId: "chatPreviewPLPDecanters",
760
- type: require_types.WidgetType.ChatPreview,
761
- variant: "filled",
762
- addSeparators: false,
763
- socialProofConfig: {
764
- staticPLPImagesLayout: "horizontal",
765
- logoName: "WineEnthusiast_Logo_DK.svg",
766
- customerQuery: "asked which items will enhance my wine life?",
767
- headerTitle: "SHOPPING ASSISTANT",
768
- headerFontFamily: "DIN",
769
- suggestionButtonStrings: [
770
- "What are other wine lovers saying?",
771
- "Which ones hold more than a standard bottle?",
772
- "Which ones are for young wine?",
773
- "Which ones are for aged wine?",
774
- "Which ones also aerate the wine?",
775
- "What are my options for personalization?"
776
- ],
777
- staticPLPImageNames: [
778
- "plp1.png",
779
- "plp2.png",
780
- "plp3.png",
781
- "plp4.png"
782
- ],
783
- suggestionButtonVariantDefault: "secondary",
784
- suggestionButtonVariantAccent: "secondary",
785
- userQueryButtonConfig: {
786
- placeholderText: "Would you like a recommendation?",
787
- icon: "magnifyingGlass"
788
- }
789
- }
790
- },
791
- chatPreviewPLP: {
792
- widgetConfigId: "chatPreviewPLP",
793
- type: require_types.WidgetType.ChatPreview,
794
- variant: "filled",
795
- addSeparators: false,
796
- socialProofConfig: {
797
- staticPLPImagesLayout: "horizontal",
798
- logoName: "WineEnthusiast_Logo_DK.svg",
799
- customerQuery: "asked which items will enhance my wine life?",
800
- headerTitle: "SHOPPING ASSISTANT",
801
- headerFontFamily: "DIN",
802
- suggestionButtonStrings: [
803
- "What are other wine lovers saying?",
804
- "Best selling wine cellars",
805
- "Energy efficient options",
806
- "Compact solutions",
807
- "Premium collections"
808
- ],
809
- staticPLPImageNames: [
810
- "plp1.png",
811
- "plp2.png",
812
- "plp3.png",
813
- "plp4.png"
814
- ],
815
- suggestionButtonVariantDefault: "secondary",
816
- suggestionButtonVariantAccent: "secondary",
817
- userQueryButtonConfig: {
818
- placeholderText: "Would you like a recommendation?",
819
- icon: "magnifyingGlass"
820
- }
821
- }
822
- },
823
- chatPreviewPDP: {
824
- widgetConfigId: "chatPreviewPDP",
825
- type: require_types.WidgetType.ChatPreview,
826
- variant: "flat",
827
- addSeparators: true,
828
- socialProofConfig: {
829
- staticPLPImagesLayout: "horizontal",
830
- logoName: "WineEnthusiast_Logo_DK.svg",
831
- customerQuery: "asked what makes this one wow?",
832
- headerTitle: "SHOPPING ASSISTANT",
833
- headerFontFamily: "DIN",
834
- suggestionButtonStrings: [
835
- "What makes this unique?",
836
- "Summarize the reviews",
837
- "Is it easy to use or install?",
838
- "How do I care for this?",
839
- "Why do collectors love this?",
840
- "What are similar items?"
841
- ],
842
- staticImageIndex: 0,
843
- suggestionButtonVariantDefault: "secondary",
844
- suggestionButtonVariantAccent: "secondary",
845
- userQueryButtonConfig: {
846
- placeholderText: "Ask me anything",
847
- icon: "send"
848
- }
849
- }
850
- },
851
- bottomSuggestionBar: {
852
- type: require_types.WidgetType.SuggestionBarV2,
853
- widgetConfigId: "bottomSuggestionsBar",
854
- contentId: "spiffy-bottom-suggestion-bar-contents",
855
- metricDisplayLocation: require_models.ChatElementDisplayLocation.BOTTOM_REVIEWS_SNIPPET,
856
- location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_BOTTOM,
857
- variant: "secondary",
858
- hoverVariant: "secondaryDark",
859
- buttonTexts: { default: [
860
- "Is this the right one for me?",
861
- "Why do wine lovers choose this one?",
862
- "Which others should I consider?",
863
- "What do buyers love most?"
864
- ] }
865
- }
866
- },
867
- mountingConfigs: {
868
- chatPreviewPLP: {
869
- mountingConfigId: "chatPreviewPLP",
870
- containerId: require_divIds.CHAT_PREVIEW_CONTAINER_ID,
871
- testId: require_embedded.CHAT_PREVIEW_TESTID,
872
- insertionPoint: {
873
- selector: ".ais-InfiniteHits-list",
874
- insertionType: require_models.DOMInsertionType.AFTER
875
- },
876
- style: {
877
- paddingInline: "24px",
878
- marginBottom: "24px",
879
- width: "100%",
880
- gridColumn: "1 / -1",
881
- gridRow: "2 / 3"
882
- },
883
- gridInsertionType: require_models.GridInsertionType.FIXED_2,
884
- wrappingElement: {
885
- element: "div",
886
- className: "products",
887
- insertionType: require_models.DOMInsertionType.AFTER
888
- }
889
- },
890
- chatPreviewPDP: {
891
- mountingConfigId: "chatPreviewPDP",
892
- containerId: require_divIds.CHAT_PREVIEW_CONTAINER_ID,
893
- testId: require_embedded.CHAT_PREVIEW_TESTID,
894
- insertionPoint: {
895
- selector: ".product-social-links",
896
- insertionType: require_models.DOMInsertionType.AFTER
897
- }
898
- },
899
- topSuggestionBarPDP: {
900
- mountingConfigId: "topSuggestionBarPDP",
901
- containerId: require_divIds.TOP_SUGGESTION_BAR_PDP_ID,
902
- testId: require_embedded.TOP_SUGGESTION_BAR_TESTID,
903
- insertionPoint: {
904
- selector: ".product-add-form, .product-form, .product-actions, .add-to-cart",
905
- insertionType: require_models.DOMInsertionType.BEFORE
906
- },
907
- style: {
908
- marginTop: "16px",
909
- marginBottom: "8px"
910
- }
911
- },
912
- bottomSuggestionBarPDP: {
913
- mountingConfigId: "bottomSuggestionBarPDP",
914
- containerId: require_divIds.BOTTOM_REVIEWS_BAR_ID,
915
- testId: require_embedded.BOTTOM_SUGGESTION_BAR_TESTID,
916
- insertionPoint: {
917
- selector: ".header__inner",
918
- insertionType: require_models.DOMInsertionType.AFTER
919
- },
920
- style: {
921
- marginTop: "-16px",
922
- marginBottom: "8px"
923
- }
924
- }
925
- }
926
- });
927
- const wineEnthusiastOrgInfo = {
928
- shortName: require_types.OrgShortName.WineEnthusiast,
929
- name: "",
930
- domain: "wineenthusiast.com",
931
- defaultProductId: "",
932
- alwaysEnabledMerchants: true,
933
- orgUIConfig: wineEnthusiastOrgUIConfig,
934
- orgColors: () => wineEnthusiastColors,
935
- orgPageConfig: wineEnthusiastPageConfig
936
- };
937
-
938
- //#endregion
939
- exports.wineEnthusiastOrgInfo = wineEnthusiastOrgInfo;
940
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZUVudGh1c2lhc3QtQmxDcnlmaWwuY2pzIiwibmFtZXMiOlsid2luZUVudGh1c2lhc3RDb2xvcnM6IENvbG9yTWFwcGluZyIsIkNvbG9yTmFtZXMiLCJkZWZhdWx0T3JnVUlDb25maWciLCJPcmdTaG9ydE5hbWUiLCJjb2xvclZhciIsImdldENkbkFzc2V0VVJMIiwiQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlIiwiQ3VzdG9tZXJTZXJ2aWNlVHlwZSIsIlBhZ2VWYXJpYW50VGVzdFR5cGUiLCJXaWRnZXRUeXBlIiwiQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24iLCJTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzIiwiQ0hBVF9QUkVWSUVXX0NPTlRBSU5FUl9JRCIsIkNIQVRfUFJFVklFV19URVNUSUQiLCJET01JbnNlcnRpb25UeXBlIiwiR3JpZEluc2VydGlvblR5cGUiLCJUT1BfU1VHR0VTVElPTl9CQVJfUERQX0lEIiwiVE9QX1NVR0dFU1RJT05fQkFSX1RFU1RJRCIsIkJPVFRPTV9SRVZJRVdTX0JBUl9JRCIsIkJPVFRPTV9TVUdHRVNUSU9OX0JBUl9URVNUSUQiXSwic291cmNlcyI6WyIuLi9zcmMvbWVyY2hhbnRzL3dpbmVFbnRodXNpYXN0L3dpbmVFbnRodXNpYXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENIQVRfUFJFVklFV19URVNUSUQsXG4gIFRPUF9TVUdHRVNUSU9OX0JBUl9URVNUSUQsXG4gIEJPVFRPTV9TVUdHRVNUSU9OX0JBUl9URVNUSUQsXG59IGZyb20gXCJzcmMvY29uZmlnL2xvY2F0b3JzXCI7XG5pbXBvcnQgeyBPcmdTaG9ydE5hbWUsIEJhc2ljT3JnSW5mb1R5cGUgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVsc1wiO1xuaW1wb3J0IHsgQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24gfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy9jaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblwiO1xuaW1wb3J0IHsgZ2V0Q2RuQXNzZXRVUkwgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3V0aWxzL2NkblV0aWxzXCI7XG5pbXBvcnQge1xuICBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGUsXG4gIEN1c3RvbWVyU2VydmljZVR5cGUsXG59IGZyb20gXCJzcmMvdHlwZXMvY3VzdG9tZXJTZXJ2aWNlXCI7XG5pbXBvcnQgeyBHcmlkSW5zZXJ0aW9uVHlwZSB9IGZyb20gXCJzcmMvbWVyY2hhbnRzL2dyaWRJbnNlcnRpb25cIjtcbmltcG9ydCB7IERPTUluc2VydGlvblR5cGUgfSBmcm9tIFwic3JjL21lcmNoYW50cy9kb21JbnNlcnRpb25cIjtcbmltcG9ydCB7XG4gIENIQVRfUFJFVklFV19DT05UQUlORVJfSUQsXG4gIFRPUF9TVUdHRVNUSU9OX0JBUl9QRFBfSUQsXG4gIEJPVFRPTV9SRVZJRVdTX0JBUl9JRCxcbn0gZnJvbSBcInNyYy9jb25maWcvZGl2SWRzXCI7XG5pbXBvcnQgeyBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzIH0gZnJvbSBcInNyYy90eXBlcy9zdWdnZXN0aW9uQmFyVjItdHlwZXNcIjtcbmltcG9ydCB7IGRlZmF1bHRPcmdVSUNvbmZpZyB9IGZyb20gXCJzcmMvbWVyY2hhbnRzL2RlZmF1bHRcIjtcbmltcG9ydCB7XG4gIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnLFxuICBDb2xvck1hcHBpbmcsXG4gIENvbG9yTmFtZXMsXG4gIGNvbG9yVmFyLFxuICBPcmdQYWdlQ29uZmlnLFxuICBPcmdVSUNvbmZpZyxcbiAgUGFnZVZhcmlhbnRUZXN0VHlwZSxcbiAgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICBXaWRnZXRUeXBlLFxufSBmcm9tIFwic3JjL2NvbnRleHRzL3R5cGVzXCI7XG5cbmNvbnN0IHdpbmVFbnRodXNpYXN0Q29sb3JzOiBDb2xvck1hcHBpbmcgPSB7XG4gIFtDb2xvck5hbWVzLlRleHRQcmltYXJ5XTogXCIjMDAwMDAwXCIsXG4gIFtDb2xvck5hbWVzLlRleHRTZWNvbmRhcnldOiBcIiM5MTg3ODJcIixcbiAgW0NvbG9yTmFtZXMuVGV4dEFjY2VudF06IFwiIzQ4MjczRVwiLFxuICBbQ29sb3JOYW1lcy5UZXh0TGlua106IFwiIzAwMDAwMFwiLFxuICBbQ29sb3JOYW1lcy5UZXh0TGlnaHRdOiBcIiNGRkZGRkZcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZFByaW1hcnldOiBcIiMwMDAwMDBcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZFNlY29uZGFyeV06IFwiI0Y0RjNFRVwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2Vjb25kYXJ5RGFya106IFwiI0U4RThFNVwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kVGVydGlhcnldOiBcIiNGNEY0RjFcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZERhcmtdOiBcIiMwMDAwMDBcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZExpZ2h0XTogXCIjRkZGRkZGXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRTYXR1cmF0ZWRdOiBcIlwiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJMaWdodF06IFwiI0E2QTZBNlwiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJNZWRpdW1dOiBcIiM2Qzc1N0RcIixcbiAgW0NvbG9yTmFtZXMuQm9yZGVyRGFya106IFwiIzRGNEY0RlwiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJPdXRsaW5lXTogXCIjNEY0RjRGXCIsXG4gIFtDb2xvck5hbWVzLkFjY2VudFByaW1hcnldOiBcIiMwMDAwMDBcIixcbiAgW0NvbG9yTmFtZXMuQWNjZW50U2Vjb25kYXJ5XTogXCIjQjQ0ODE1XCIsXG59O1xuXG5jb25zdCB3aW5lRW50aHVzaWFzdE9yZ1VJQ29uZmlnID0gKCk6IE9yZ1VJQ29uZmlnID0+IHtcbiAgY29uc3QgZGVmYXVsdFdpbmVFbnRodXNpYXN0T3JnQ29uZmlnID0gZGVmYXVsdE9yZ1VJQ29uZmlnKFxuICAgIE9yZ1Nob3J0TmFtZS5XaW5lRW50aHVzaWFzdFxuICApO1xuXG4gIHJldHVybiB7XG4gICAgLi4uZGVmYXVsdFdpbmVFbnRodXNpYXN0T3JnQ29uZmlnLFxuICAgIGNoYXRNZXNzYWdlQ29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0V2luZUVudGh1c2lhc3RPcmdDb25maWcuY2hhdE1lc3NhZ2VDb25maWcsXG4gICAgICBhc3Npc3RhbnRDaGF0VGl0bGU6IFwiV2luZSBFbnRodXNpYXN0IFNob3BwaW5nIEFzc2lzdGFudFwiLFxuICAgIH0sXG4gICAgY2hhdEhlYWRlcjoge1xuICAgICAgLi4uZGVmYXVsdFdpbmVFbnRodXNpYXN0T3JnQ29uZmlnLmNoYXRIZWFkZXIsXG4gICAgICBleHBhbmRlZENvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkJhY2tncm91bmRQcmltYXJ5KSxcbiAgICAgIGNvbGxhcHNlZENvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkJhY2tncm91bmRQcmltYXJ5KSxcbiAgICAgIGltYWdlU3JjOiBnZXRDZG5Bc3NldFVSTChcbiAgICAgICAgXCJXaW5lRW50aHVzaWFzdF9Mb2dvX1NtYWxsLnN2Z1wiLFxuICAgICAgICBPcmdTaG9ydE5hbWUuV2luZUVudGh1c2lhc3RcbiAgICAgICksXG4gICAgICBjdXN0b21lclN1cHBvcnRTd2l0Y2hDb25maWc6IHtcbiAgICAgICAgLi4uZGVmYXVsdFdpbmVFbnRodXNpYXN0T3JnQ29uZmlnLmNoYXRIZWFkZXJcbiAgICAgICAgICAuY3VzdG9tZXJTdXBwb3J0U3dpdGNoQ29uZmlnISxcbiAgICAgICAgc3VwcG9ydFRpdGxlOiBcIkxpdmUgU3VwcG9ydFwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNoYXRQcmV2aWV3Q29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0V2luZUVudGh1c2lhc3RPcmdDb25maWcuY2hhdFByZXZpZXdDb25maWchLFxuICAgICAgaWNvbkZpbGxDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5BY2NlbnRQcmltYXJ5KSxcbiAgICAgIGJ1dHRvblRleHRDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5Cb3JkZXJPdXRsaW5lKSxcbiAgICAgIGJ1dHRvbkJhY2tncm91bmRDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2Vjb25kYXJ5KSxcbiAgICAgIGJ1dHRvblRleHRIb3ZlckNvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkJvcmRlck91dGxpbmUpLFxuICAgICAgYnV0dG9uQmFja2dyb3VuZEhvdmVyQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuQmFja2dyb3VuZFNlY29uZGFyeURhcmspLFxuICAgICAgdG9wTWFyZ2luOiAxMCxcbiAgICAgIGhlYWRlckNvbmZpZzoge1xuICAgICAgICAuLi5kZWZhdWx0V2luZUVudGh1c2lhc3RPcmdDb25maWcuY2hhdFByZXZpZXdDb25maWchLmhlYWRlckNvbmZpZyxcbiAgICAgICAgaW1hZ2VIZWlnaHQ6IDI0LFxuICAgICAgICBpbWFnZVNyYzogZ2V0Q2RuQXNzZXRVUkwoXG4gICAgICAgICAgXCJXaW5lRW50aHVzaWFzdF9Mb2dvX0RLLnN2Z1wiLFxuICAgICAgICAgIE9yZ1Nob3J0TmFtZS5XaW5lRW50aHVzaWFzdFxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIGZvb3RlckNvbmZpZzoge1xuICAgICAgICAuLi5kZWZhdWx0V2luZUVudGh1c2lhc3RPcmdDb25maWcuY2hhdFByZXZpZXdDb25maWchLmZvb3RlckNvbmZpZyxcbiAgICAgICAgcmVwbHlCdXR0b25JY29uOiBcIm1hZ25pZnlpbmdHbGFzc1wiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGZsb2F0aW5nRW50cnlwb2ludENvbmZpZzoge1xuICAgICAgLi4uZGVmYXVsdFdpbmVFbnRodXNpYXN0T3JnQ29uZmlnLmZsb2F0aW5nRW50cnlwb2ludENvbmZpZyEsXG4gICAgICBzaG93T3B0aW9uOiBcImFsd2F5c1wiLFxuICAgICAgZXhwYW5zaW9uVGV4dDoge1xuICAgICAgICBwZHA6IFwiSXMgdGhpcyDigJh0aGUgb25l4oCZP1wiLFxuICAgICAgICBwbHA6IFwiV291bGQgeW91IGxpa2UgYSByZWNvbW1lbmRhdGlvbj9cIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBwcm9kdWN0Q2FyZENvbmZpZzoge1xuICAgICAgLi4uZGVmYXVsdFdpbmVFbnRodXNpYXN0T3JnQ29uZmlnLnByb2R1Y3RDYXJkQ29uZmlnISxcbiAgICB9LFxuXG4gICAgcGFnZUNhcmRDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRXaW5lRW50aHVzaWFzdE9yZ0NvbmZpZy5wYWdlQ2FyZENvbmZpZyEsXG4gICAgfSxcbiAgICBwcm9kdWN0UmV2aWV3Q29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0V2luZUVudGh1c2lhc3RPcmdDb25maWcucHJvZHVjdFJldmlld0NvbmZpZyEsXG4gICAgfSxcbiAgICB3ZWxjb21lU2VjdGlvbkNvbmZpZzoge1xuICAgICAgLi4uZGVmYXVsdFdpbmVFbnRodXNpYXN0T3JnQ29uZmlnLndlbGNvbWVTZWN0aW9uQ29uZmlnISxcbiAgICAgIHRpdGxlOiBcIldlbGNvbWUgdG8gV2luZSBFbnRodXNpYXN0IVwiLFxuICAgICAgc3VidGl0bGU6XG4gICAgICAgIFwiSSdtIG5vdCBqdXN0IGFueSBBSSBhc3Npc3RhbnQsIEknbSBhIGxpZmVzdHlsZSBlbmhhbmNlci4gSWYgeW91IHdhbnQgdG8gc2lwLCBzdG9yZSBvciBzaGFyZSB3aW5lLCBhbGxvdyBtZSB0byBoZWxwLiBcIixcbiAgICB9LFxuICAgIGN1c3RvbWVyU2VydmljZUludGVncmF0aW9uOiB7XG4gICAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZS5zaW1wbGUsXG4gICAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZS5nbGFkbHksXG4gICAgfSxcbiAgICBoaWRkZW5FbGVtZW50U2VsZWN0b3JzOiBbXCJbZGF0YS1haWQqPSdnbGFkbHlDaGF0Q2hhdEJ1dHRvbiddXCJdLFxuICAgIG1lcmNoYW50T3ZlcnJpZGVDc3M6IGBcbiAgICAvKiAtLS0tLS0tLSBGbG9hdGluZyBDaGF0IFN0eWxlcyAtIE1vZGFsIFNoZWV0IFotSW5kZXggT3ZlcnJpZGUgLS0tLS0tLS0gKi9cbiAgICAvKiBOb3RlOiBHbGFkbHkgY2hhdCAjZ2xhZGx5Q2hhdF9jb250YWluZXIgdXNlcyB6LWluZGV4OiAyMTQ3NDgzMDAwLCBzbyB3ZSBuZWVkIGhpZ2hlciB2YWx1ZSAqL1xuICAgIC5zcGlmZnktbW9kYWwtc2hlZXQtb3BlbiB7XG4gICAgICB6LWluZGV4OiAyMTQ3NDgzMDAxICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC8qIE92ZXJyaWRlIEdsYWRseSdzIHotaW5kZXggcHJlbG9hZCAqL1xuICAgICNnbGFkbHlDaGF0X2NvbnRhaW5lci5wcmVsb2Fke1xuICAgICAgei1pbmRleDogOTk4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC8qIEZvcmNlIEdsYWRseSB6LWluZGV4IHRvIHN0YXkgbG93IHdpdGggaGlnaGVyIHNwZWNpZmljaXR5ICovXG4gICAgYm9keSAjZ2xhZGx5Q2hhdF9jb250YWluZXIsXG4gICAgaHRtbCBib2R5ICNnbGFkbHlDaGF0X2NvbnRhaW5lciB7XG4gICAgICB6LWluZGV4OiA5OTggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLyogLS0tLS0tLS0gRmxvYXRpbmcgQ2hhdCBTdHlsZXMgLSBXZWxjb21lIFNlY3Rpb24gVGl0bGUgU3R5bGluZyAtLS0tLS0tLSAqL1xuICAgIC5zcGlmZnktd2VsY29tZS1zZWN0aW9uLW1lc3NhZ2UtdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc3BpZmZ5LWFzc2lzdGFudC1tZXNzYWdlLWhlYWRlci10ZXh0e1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC8qIC0tLS0tLS0tIEZsb2F0aW5nIENoYXQgU3R5bGVzIC0gQnV0dG9ucyAtLS0tLS0tLSAqL1xuICAgIC5zcGlmZnktbW9kYWwtc2hlZXQtY29udGVudCA+IGRpdjpudGgtY2hpbGQoMikgPiBkaXYgPiBkaXYgPiBkaXYgPiBkaXYgPiBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLXNlY29uZGFyeS1kYXJrKSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLXNlY29uZGFyeS1kYXJrKSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuc3BpZmZ5LW1vZGFsLXNoZWV0LWNvbnRlbnQgPiBkaXY6bnRoLWNoaWxkKDQpID4gZGl2ID4gZGl2ID4gZGl2ID4gZGl2ID4gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1zZWNvbmRhcnktZGFyaykgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1zZWNvbmRhcnktZGFyaykgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLnNwaWZmeS1tb2RhbC1zaGVldC1jb250ZW50ID4gZGl2Om50aC1jaGlsZCg0KSA+IGRpdiA+IGRpdiA+IGRpdiA+IGRpdiA+IGJ1dHRvbjpob3ZlciBzdmcge1xuICAgICAgc3Ryb2tlOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgIGZpbGw6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc3BpZmZ5LXN0YXItcmF0aW5nLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yIDogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLWxpZ2h0KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIC0tLS0tLS0tIEZsb2F0aW5nIENoYXQgU3R5bGVzIC0gQXJ0aWNsZSBjYXJkIC0tLS0tLS0tICovXG4gICAgLnNwaWZmeS1wYWdlLWNhcmQtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zcGlmZnktcGFnZS1jYXJkLWNvbnRhaW5lcjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zcGlmZnktY29sb3JzLWJhY2tncm91bmQtc2Vjb25kYXJ5LWRhcmspICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC5zcGlmZnktcGFnZS1jYXJkLXRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBQb3BwaW5zICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDEyNCUgIWltcG9ydGFudDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuc3BpZmZ5LXBhZ2UtY2FyZC1kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDE0MCUgIWltcG9ydGFudDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuc3BpZmZ5LXZpZXctc291cmNlLWljb24td3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zcGlmZnktY29sb3JzLWFjY2VudC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc3BpZmZ5LWNvbG9ycy1hY2NlbnQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLnNwaWZmeS12aWV3LXNvdXJjZS1saW5rIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogMTMwJSAhaW1wb3J0YW50O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAlICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC8qIC0tLS0tLS0tLSBUb3AvYm90dG9tIFN1Z2dlc3Rpb25zIEJhcnMgU3R5bGVzIC0tLS0tLS0tLSAqL1xuICAgICNzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzIGJ1dHRvbiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zcGlmZnktY29sb3JzLWJhY2tncm91bmQtc2Vjb25kYXJ5LWRhcmspICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgICNzcGlmZnktYm90dG9tLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzIGJ1dHRvbiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zcGlmZnktY29sb3JzLWJhY2tncm91bmQtc2Vjb25kYXJ5LWRhcmspICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgICNzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLWJhY2tncm91bmQtc2Vjb25kYXJ5LWRhcmspICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1zZWNvbmRhcnktZGFyaykgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgI3NwaWZmeS1ib3R0b20tc3VnZ2VzdGlvbi1iYXItY29udGVudHMgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1zZWNvbmRhcnktZGFyaykgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLXNlY29uZGFyeS1kYXJrKSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAvKiAtLS0tLS0tLS0gUExQL1BEUCBDaGF0cyBQcmV2aWV3cyBCdXR0b25zIFN0eWxlcyAtLS0tLS0tLS0gKi9cbiAgICAuc3BpZmZ5LXNvY2lhbC1wcm9vZi1jb250ZW50LWNvbnRhaW5lciA+IHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1hY2NlbnQpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC5zcGlmZnktc29jaWFsLXByb29mLWNvbnRlbnQtY29udGFpbmVyID4gc3BhbjpsYXN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLnNwaWZmeS1zb2NpYWwtcHJvb2Ytc3VnZ2VzdGlvbi1mb290ZXItdGl0bGUge1xuICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI3NwaWZmeS1haS1jaGF0LXByZXZpZXctY29udGVudHMgLnNwaWZmeS1idXR0b24tYmFzZS1idXR0b24ge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLXNlY29uZGFyeS1kYXJrKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAjc3BpZmZ5LWFpLWNoYXQtcHJldmlldy1jb250ZW50cyAuc3BpZmZ5LWJ1dHRvbi1iYXNlLWJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLWJhY2tncm91bmQtc2Vjb25kYXJ5LWRhcmspICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgICNzcGlmZnktYWktY2hhdC1wcmV2aWV3LWNvbnRlbnRzIC5zcGlmZnktYnV0dG9uLWJhc2UtYnV0dG9uOmhvdmVyIHN2ZyB7XG4gICAgICBmaWxsOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgIHN0cm9rZTogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogLS0tLS0tLS0gRmVlZGJhY2sgQnV0dG9uIFN0eWxlcyAtIFJlbW92ZSBUb3AgQm9yZGVyIC0tLS0tLS0tICovXG4gICAgI3NwaWZmeS1haS1jaGF0LXByZXZpZXctY29udGVudHMgPiBocjpudGgtY2hpbGQoMykge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAvKiAtLS0tLS0tLSBQRFAgRm9vdGVyIElucHV0IFNoYWRvdyAtLS0tLS0tLSAqL1xuICAgIC5zcGlmZnktdXNlci1xdWVyeS1idXR0b24ge1xuICAgICAgYm94LXNoYWRvdzogMXB4IDFweCA0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yNSkgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogNHB4ICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogOTklICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGAsXG4gIH07XG59O1xuXG5jb25zdCB3aW5lRW50aHVzaWFzdFBhZ2VDb25maWcgPSAoKTogT3JnUGFnZUNvbmZpZyA9PiAoe1xuICBwYWdlVmFyaWFudHM6IFtcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwVGFibGV0b3BFbnRlcnRhaW5pbmdcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBscFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlBscElkLFxuICAgICAgICAgIHBscElkczogW1widGFibGV0b3AtZW50ZXJ0YWluaW5nXCJdLFxuICAgICAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcGxwLWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQVGFibGV0b3BFbnRlcnRhaW5pbmdcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwRGVjb3JcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBscFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlBscElkLFxuICAgICAgICAgIHBscElkczogW1wiZGVjb3JcIl0sXG4gICAgICAgICAgcGxwSWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXBscC1pZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBUYWJsZXRvcEVudGVydGFpbmluZ1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwbHBXaW5lQ29vbGVyc1wiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuUGxwSWQsXG4gICAgICAgICAgcGxwSWRzOiBbXCJ3aW5lLWNvb2xlcnNcIl0sXG4gICAgICAgICAgcGxwSWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXBscC1pZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBXaW5lQ29vbGVyc1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwbHBEdWFsWm9uZVdpbmVDb29sZXJzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZCxcbiAgICAgICAgICBwbHBJZHM6IFtcImR1YWwtem9uZS13aW5lLWNvb2xlcnNcIl0sXG4gICAgICAgICAgcGxwSWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXBscC1pZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBEdWFsWm9uZVdpbmVDb29sZXJzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBscFNpZGVCeVNpZGVXaW5lQ2FiaW5ldHNcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBscFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlBscElkLFxuICAgICAgICAgIHBscElkczogW1wic2lkZS1ieS1zaWRlLXdpbmUtY2FiaW5ldHNcIl0sXG4gICAgICAgICAgcGxwSWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXBscC1pZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBTaWRlQnlTaWRlV2luZUNhYmluZXRzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBscEdsYXNzd2FyZVwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuUGxwSWQsXG4gICAgICAgICAgcGxwSWRzOiBbXCJnbGFzc3dhcmVcIl0sXG4gICAgICAgICAgcGxwSWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXBscC1pZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBHbGFzc3dhcmVcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwV2luZVJhY2tzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZCxcbiAgICAgICAgICBwbHBJZHM6IFtcIndpbmUtcmFja3NcIl0sXG4gICAgICAgICAgcGxwSWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXBscC1pZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBXaW5lUmFja3NcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwRnVybml0dXJlXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZCxcbiAgICAgICAgICBwbHBJZHM6IFtcImZ1cm5pdHVyZVwiXSxcbiAgICAgICAgICBwbHBJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcGxwLWlkXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcGxwSWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXBscC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BMUEZ1cm5pdHVyZVwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwbHBXaW5lQWNjZXNzb3JpZXNcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBscFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlBscElkLFxuICAgICAgICAgIHBscElkczogW1wid2luZS1hY2Nlc3Nvcmllc1wiXSxcbiAgICAgICAgICBwbHBJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcGxwLWlkXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcGxwSWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXBscC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFdpbmVBY2Nlc3Nvcmllc1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwbHBXaW5lQ2VsbGFyQ29vbGluZ1wiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuUGxwSWQsXG4gICAgICAgICAgcGxwSWRzOiBbXCJ3aW5lLWNlbGxhci1jb29saW5nLXN5c3RlbXNcIl0sXG4gICAgICAgICAgcGxwSWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXBscC1pZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBXaW5lQ2VsbGFyQ29vbGluZ1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwbHBEZWNhbnRlcnNcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBscFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlBscElkLFxuICAgICAgICAgIHBscElkczogW1wiZGVjYW50ZXJzXCJdLFxuICAgICAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcGxwLWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQRGVjYW50ZXJzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBscFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFt7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH1dLFxuICAgICAgcGxwSWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXBscC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlciB9XSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJob21lcGFnZVwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwiaG9tZXBhZ2VcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcIm90aGVyUGFnZXNcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcIm90aGVyXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXSxcbiAgICB9LFxuICBdLFxuICB3aWRnZXRDb25maWdzOiB7XG4gICAgdG9wU3VnZ2VzdGlvbkJhcjoge1xuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclwiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHZhcmlhbnQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5RGFya1wiLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiSXMgdGhpcyB0aGUgcmlnaHQgb25lIGZvciBtZT9cIixcbiAgICAgICAgICBcIldoeSBkbyB3aW5lIGxvdmVycyBjaG9vc2UgdGhpcyBvbmU/XCIsXG4gICAgICAgICAgXCJXaGljaCBvdGhlcnMgc2hvdWxkIEkgY29uc2lkZXI/XCIsXG4gICAgICAgICAgXCJXaGF0IGRvIGJ1eWVycyBsb3ZlIG1vc3Q/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICBjaGF0UHJldmlld1BMUFRhYmxldG9wRW50ZXJ0YWluaW5nOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFRhYmxldG9wRW50ZXJ0YWluaW5nXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkNoYXRQcmV2aWV3LFxuICAgICAgdmFyaWFudDogXCJmaWxsZWRcIixcbiAgICAgIGFkZFNlcGFyYXRvcnM6IGZhbHNlLFxuICAgICAgc29jaWFsUHJvb2ZDb25maWc6IHtcbiAgICAgICAgc3RhdGljUExQSW1hZ2VzTGF5b3V0OiBcImhvcml6b250YWxcIixcbiAgICAgICAgbG9nb05hbWU6IFwiV2luZUVudGh1c2lhc3RfTG9nb19ESy5zdmdcIixcbiAgICAgICAgY3VzdG9tZXJRdWVyeTogXCJhc2tlZCB3aGljaCBpdGVtcyB3aWxsIGVuaGFuY2UgbXkgd2luZSBsaWZlP1wiLFxuICAgICAgICBoZWFkZXJUaXRsZTogXCJTSE9QUElORyBBU1NJU1RBTlRcIixcbiAgICAgICAgaGVhZGVyRm9udEZhbWlseTogXCJESU5cIixcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblN0cmluZ3M6IFtcbiAgICAgICAgICBcIldoYXQgYXJlIG90aGVyIHdpbmUgbG92ZXJzIHNheWluZz9cIixcbiAgICAgICAgICBcIk1vc3QgaW1wcmVzc2l2ZSB3aW5lIGdpZnRzP1wiLFxuICAgICAgICAgIFwiTW9zdCBsb3ZlZCB3aW5lIGdpZnRzP1wiLFxuICAgICAgICAgIFwiR3JlYXQgZ2lmdHMgZm9yIGVudGVydGFpbmVycz9cIixcbiAgICAgICAgICBcIkdyZWF0IGdpZnRzIGZvciB3aW5lIGdlZWtzP1wiLFxuICAgICAgICAgIFwiR3JlYXQgZ2lmdHMgZm9yIHdlZGRpbmdzP1wiLFxuICAgICAgICBdLFxuICAgICAgICBzdGF0aWNQTFBJbWFnZU5hbWVzOiBbXCJwbHAxLnBuZ1wiLCBcInBscDIucG5nXCIsIFwicGxwMy5wbmdcIiwgXCJwbHA0LnBuZ1wiXSxcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0OiBcInNlY29uZGFyeVwiLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudDogXCJzZWNvbmRhcnlcIixcbiAgICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIldvdWxkIHlvdSBsaWtlIGEgcmVjb21tZW5kYXRpb24/XCIsXG4gICAgICAgICAgaWNvbjogXCJtYWduaWZ5aW5nR2xhc3NcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsXG4gICAgY2hhdFByZXZpZXdQTFBXaW5lQ29vbGVyczoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBXaW5lQ29vbGVyc1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5DaGF0UHJldmlldyxcbiAgICAgIHZhcmlhbnQ6IFwiZmlsbGVkXCIsXG4gICAgICBhZGRTZXBhcmF0b3JzOiBmYWxzZSxcbiAgICAgIHNvY2lhbFByb29mQ29uZmlnOiB7XG4gICAgICAgIHN0YXRpY1BMUEltYWdlc0xheW91dDogXCJob3Jpem9udGFsXCIsXG4gICAgICAgIGxvZ29OYW1lOiBcIldpbmVFbnRodXNpYXN0X0xvZ29fREsuc3ZnXCIsXG4gICAgICAgIGN1c3RvbWVyUXVlcnk6IFwiYXNrZWQgd2hpY2ggaXRlbXMgd2lsbCBlbmhhbmNlIG15IHdpbmUgbGlmZT9cIixcbiAgICAgICAgaGVhZGVyVGl0bGU6IFwiU0hPUFBJTkcgQVNTSVNUQU5UXCIsXG4gICAgICAgIGhlYWRlckZvbnRGYW1pbHk6IFwiRElOXCIsXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25TdHJpbmdzOiBbXG4gICAgICAgICAgXCJXaGF0IGFyZSBvdGhlciB3aW5lIGxvdmVycyBzYXlpbmc/XCIsXG4gICAgICAgICAgXCJXaGljaCB3aW5lIGZyaWRnZSBpcyByaWdodCBmb3IgbWU/XCIsXG4gICAgICAgICAgXCJXaGljaCBvbmVzIGhvbGQgdGhlIHJpZ2h0IG51bWJlciBvZiBib3R0bGVzP1wiLFxuICAgICAgICAgIFwiV2lsbCBpdCBmaXQgQnVyZ3VuZHkgb3IgQ2hhbXBhZ25lIGJvdHRsZXM/XCIsXG4gICAgICAgICAgXCJCZXN0IGZpdCBmb3Igc21hbGwgc3BhY2VzP1wiLFxuICAgICAgICAgIFwiQmVzdCBmb3IgbG9uZy10ZXJtIGFnaW5nP1wiLFxuICAgICAgICAgIFwiQmVzdCBmb3IgZGlzcGxheWluZyBteSBjb2xsZWN0aW9uP1wiLFxuICAgICAgICAgIFwiV2hhdCBtYWtlcyBhIHdpbmUgZnJpZGdlIGFibGUgdG8gYmUgYnVpbHQtaW4/XCIsXG4gICAgICAgIF0sXG4gICAgICAgIHN0YXRpY1BMUEltYWdlTmFtZXM6IFtcInBscDEucG5nXCIsIFwicGxwMi5wbmdcIiwgXCJwbHAzLnBuZ1wiLCBcInBscDQucG5nXCJdLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudERlZmF1bHQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50QWNjZW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiV291bGQgeW91IGxpa2UgYSByZWNvbW1lbmRhdGlvbj9cIixcbiAgICAgICAgICBpY29uOiBcIm1hZ25pZnlpbmdHbGFzc1wiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBDaGF0UHJldmlld1dpZGdldENvbmZpZyxcbiAgICBjaGF0UHJldmlld1BMUER1YWxab25lV2luZUNvb2xlcnM6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQRHVhbFpvbmVXaW5lQ29vbGVyc1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5DaGF0UHJldmlldyxcbiAgICAgIHZhcmlhbnQ6IFwiZmlsbGVkXCIsXG4gICAgICBhZGRTZXBhcmF0b3JzOiBmYWxzZSxcbiAgICAgIHNvY2lhbFByb29mQ29uZmlnOiB7XG4gICAgICAgIHN0YXRpY1BMUEltYWdlc0xheW91dDogXCJob3Jpem9udGFsXCIsXG4gICAgICAgIGxvZ29OYW1lOiBcIldpbmVFbnRodXNpYXN0X0xvZ29fREsuc3ZnXCIsXG4gICAgICAgIGN1c3RvbWVyUXVlcnk6IFwiYXNrZWQgd2hpY2ggaXRlbXMgd2lsbCBlbmhhbmNlIG15IHdpbmUgbGlmZT9cIixcbiAgICAgICAgaGVhZGVyVGl0bGU6IFwiU0hPUFBJTkcgQVNTSVNUQU5UXCIsXG4gICAgICAgIGhlYWRlckZvbnRGYW1pbHk6IFwiRElOXCIsXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25TdHJpbmdzOiBbXG4gICAgICAgICAgXCJXaGF0IGFyZSBvdGhlciB3aW5lIGxvdmVycyBzYXlpbmc/XCIsXG4gICAgICAgICAgXCJXaGF0IGlzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBEdWFsLVpvbmUgYW5kIGEgU2lkZS1ieS1TaWRlP1wiLFxuICAgICAgICAgIFwiV2hhdCBjYW4gSSBzZXQgdGhlIHRlbXBlcmF0dXJlIHRvP1wiLFxuICAgICAgICBdLFxuICAgICAgICBzdGF0aWNQTFBJbWFnZU5hbWVzOiBbXCJwbHAxLnBuZ1wiLCBcInBscDIucG5nXCIsIFwicGxwMy5wbmdcIiwgXCJwbHA0LnBuZ1wiXSxcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0OiBcInNlY29uZGFyeVwiLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudDogXCJzZWNvbmRhcnlcIixcbiAgICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIldvdWxkIHlvdSBsaWtlIGEgcmVjb21tZW5kYXRpb24/XCIsXG4gICAgICAgICAgaWNvbjogXCJtYWduaWZ5aW5nR2xhc3NcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsXG4gICAgY2hhdFByZXZpZXdQTFBTaWRlQnlTaWRlV2luZUNhYmluZXRzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFNpZGVCeVNpZGVXaW5lQ2FiaW5ldHNcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuQ2hhdFByZXZpZXcsXG4gICAgICB2YXJpYW50OiBcImZpbGxlZFwiLFxuICAgICAgYWRkU2VwYXJhdG9yczogZmFsc2UsXG4gICAgICBzb2NpYWxQcm9vZkNvbmZpZzoge1xuICAgICAgICBzdGF0aWNQTFBJbWFnZXNMYXlvdXQ6IFwiaG9yaXpvbnRhbFwiLFxuICAgICAgICBsb2dvTmFtZTogXCJXaW5lRW50aHVzaWFzdF9Mb2dvX0RLLnN2Z1wiLFxuICAgICAgICBjdXN0b21lclF1ZXJ5OiBcImFza2VkIHdoaWNoIGl0ZW1zIHdpbGwgZW5oYW5jZSBteSB3aW5lIGxpZmU/XCIsXG4gICAgICAgIGhlYWRlclRpdGxlOiBcIlNIT1BQSU5HIEFTU0lTVEFOVFwiLFxuICAgICAgICBoZWFkZXJGb250RmFtaWx5OiBcIkRJTlwiLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uU3RyaW5nczogW1xuICAgICAgICAgIFwiV2hhdCBhcmUgb3RoZXIgd2luZSBsb3ZlcnMgc2F5aW5nP1wiLFxuICAgICAgICAgIFwiV2hhdCBpcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgRHVhbC1ab25lIGFuZCBhIFNpZGUtYnktU2lkZT9cIixcbiAgICAgICAgICBcIldoYXQgY2FuIEkgc2V0IHRoZSB0ZW1wZXJhdHVyZSB0bz9cIixcbiAgICAgICAgXSxcbiAgICAgICAgc3RhdGljUExQSW1hZ2VOYW1lczogW1wicGxwMS5wbmdcIiwgXCJwbHAyLnBuZ1wiLCBcInBscDMucG5nXCIsIFwicGxwNC5wbmdcIl0sXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdDogXCJzZWNvbmRhcnlcIixcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICAgIHBsYWNlaG9sZGVyVGV4dDogXCJXb3VsZCB5b3UgbGlrZSBhIHJlY29tbWVuZGF0aW9uP1wiLFxuICAgICAgICAgIGljb246IFwibWFnbmlmeWluZ0dsYXNzXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnLFxuICAgIGNoYXRQcmV2aWV3UExQR2xhc3N3YXJlOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BMUEdsYXNzd2FyZVwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5DaGF0UHJldmlldyxcbiAgICAgIHZhcmlhbnQ6IFwiZmlsbGVkXCIsXG4gICAgICBhZGRTZXBhcmF0b3JzOiBmYWxzZSxcbiAgICAgIHNvY2lhbFByb29mQ29uZmlnOiB7XG4gICAgICAgIHN0YXRpY1BMUEltYWdlc0xheW91dDogXCJob3Jpem9udGFsXCIsXG4gICAgICAgIGxvZ29OYW1lOiBcIldpbmVFbnRodXNpYXN0X0xvZ29fREsuc3ZnXCIsXG4gICAgICAgIGN1c3RvbWVyUXVlcnk6IFwiYXNrZWQgd2hpY2ggaXRlbXMgd2lsbCBlbmhhbmNlIG15IHdpbmUgbGlmZT9cIixcbiAgICAgICAgaGVhZGVyVGl0bGU6IFwiU0hPUFBJTkcgQVNTSVNUQU5UXCIsXG4gICAgICAgIGhlYWRlckZvbnRGYW1pbHk6IFwiRElOXCIsXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25TdHJpbmdzOiBbXG4gICAgICAgICAgXCJXaGF0IGFyZSBvdGhlciB3aW5lIGxvdmVycyBzYXlpbmc/XCIsXG4gICAgICAgICAgXCJXaGljaCBvbmVzIGFyZSBsaWdodHdlaWdodD9cIixcbiAgICAgICAgICBcIldoaWNoIG9uZXMgYXJlIGJyZWFrLXJlc2lzdGFudD9cIixcbiAgICAgICAgICBcIldoaWNoIG9uZXMgYXJlIGRpc2h3YXNoZXIgc2FmZT9cIixcbiAgICAgICAgICBcIldoaWNoIG9uZXMgaGF2ZSBzaG9ydCBzdGVtcz9cIixcbiAgICAgICAgICBcIldoYXQncyBnb29kIGZvciBvdXRkb29yIHVzZT9cIixcbiAgICAgICAgICBcIlNob3VsZCBJIGdldCB1bml2ZXJzYWwgZ2xhc3Nlcz9cIixcbiAgICAgICAgICBcIldoYXQgYXJlIG15IG9wdGlvbnMgZm9yIHBlcnNvbmFsaXphdGlvbj9cIixcbiAgICAgICAgXSxcbiAgICAgICAgc3RhdGljUExQSW1hZ2VOYW1lczogW1wicGxwMS5wbmdcIiwgXCJwbHAyLnBuZ1wiLCBcInBscDMucG5nXCIsIFwicGxwNC5wbmdcIl0sXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdDogXCJzZWNvbmRhcnlcIixcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICAgIHBsYWNlaG9sZGVyVGV4dDogXCJXb3VsZCB5b3UgbGlrZSBhIHJlY29tbWVuZGF0aW9uP1wiLFxuICAgICAgICAgIGljb246IFwibWFnbmlmeWluZ0dsYXNzXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnLFxuICAgIGNoYXRQcmV2aWV3UExQV2luZVJhY2tzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFdpbmVSYWNrc1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5DaGF0UHJldmlldyxcbiAgICAgIHZhcmlhbnQ6IFwiZmlsbGVkXCIsXG4gICAgICBhZGRTZXBhcmF0b3JzOiBmYWxzZSxcbiAgICAgIHNvY2lhbFByb29mQ29uZmlnOiB7XG4gICAgICAgIHN0YXRpY1BMUEltYWdlc0xheW91dDogXCJob3Jpem9udGFsXCIsXG4gICAgICAgIGxvZ29OYW1lOiBcIldpbmVFbnRodXNpYXN0X0xvZ29fREsuc3ZnXCIsXG4gICAgICAgIGN1c3RvbWVyUXVlcnk6IFwiYXNrZWQgd2hpY2ggaXRlbXMgd2lsbCBlbmhhbmNlIG15IHdpbmUgbGlmZT9cIixcbiAgICAgICAgaGVhZGVyVGl0bGU6IFwiU0hPUFBJTkcgQVNTSVNUQU5UXCIsXG4gICAgICAgIGhlYWRlckZvbnRGYW1pbHk6IFwiRElOXCIsXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25TdHJpbmdzOiBbXG4gICAgICAgICAgXCJXaGF0IGFyZSBvdGhlciB3aW5lIGxvdmVycyBzYXlpbmc/XCIsXG4gICAgICAgICAgXCJXaGljaCBvZiB0aGVzZSBhcmUgc3RhY2thYmxlP1wiLFxuICAgICAgICAgIFwiV2hpY2ggb2YgdGhlc2UgYXJlIGZyZWUtc3RhbmRpbmc/XCIsXG4gICAgICAgICAgXCJXaGljaCBvZiB0aGVzZSBkaXNwbGF5IG15IGNvbGxlY3Rpb24gd2VsbD9cIixcbiAgICAgICAgICBcIldoaWNoIG9mIHRoZXNlIGFyZSB3YWxsLW1vdW50ZWQ/XCIsXG4gICAgICAgICAgXCJXaGljaCBvZiB0aGVzZSBhcmUgbW9kZXJuP1wiLFxuICAgICAgICBdLFxuICAgICAgICBzdGF0aWNQTFBJbWFnZU5hbWVzOiBbXCJwbHAxLnBuZ1wiLCBcInBscDIucG5nXCIsIFwicGxwMy5wbmdcIiwgXCJwbHA0LnBuZ1wiXSxcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0OiBcInNlY29uZGFyeVwiLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudDogXCJzZWNvbmRhcnlcIixcbiAgICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIldvdWxkIHlvdSBsaWtlIGEgcmVjb21tZW5kYXRpb24/XCIsXG4gICAgICAgICAgaWNvbjogXCJtYWduaWZ5aW5nR2xhc3NcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsXG4gICAgY2hhdFByZXZpZXdQTFBGdXJuaXR1cmU6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQRnVybml0dXJlXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkNoYXRQcmV2aWV3LFxuICAgICAgdmFyaWFudDogXCJmaWxsZWRcIixcbiAgICAgIGFkZFNlcGFyYXRvcnM6IGZhbHNlLFxuICAgICAgc29jaWFsUHJvb2ZDb25maWc6IHtcbiAgICAgICAgc3RhdGljUExQSW1hZ2VzTGF5b3V0OiBcImhvcml6b250YWxcIixcbiAgICAgICAgbG9nb05hbWU6IFwiV2luZUVudGh1c2lhc3RfTG9nb19ESy5zdmdcIixcbiAgICAgICAgY3VzdG9tZXJRdWVyeTogXCJhc2tlZCB3aGljaCBpdGVtcyB3aWxsIGVuaGFuY2UgbXkgd2luZSBsaWZlP1wiLFxuICAgICAgICBoZWFkZXJUaXRsZTogXCJTSE9QUElORyBBU1NJU1RBTlRcIixcbiAgICAgICAgaGVhZGVyRm9udEZhbWlseTogXCJESU5cIixcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblN0cmluZ3M6IFtcbiAgICAgICAgICBcIldoYXQgYXJlIG90aGVyIHdpbmUgbG92ZXJzIHNheWluZz9cIixcbiAgICAgICAgICBcIldoYXQncyBnb29kIGZvciBzbWFsbCBzcGFjZXM/XCIsXG4gICAgICAgICAgXCJXaGljaCBvZiB0aGVzZSBhcmUgbW9kZXJuP1wiLFxuICAgICAgICAgIFwiV2hpY2ggb2YgdGhlc2UgYXJlIG5hdHVyYWwgbG9va2luZz9cIixcbiAgICAgICAgICBcIldoaWNoIG9mIHRoZXNlIGFyZSBtYWRlIGZvciBzcGlyaXRzP1wiLFxuICAgICAgICAgIFwiV2hpY2ggb2YgdGhlc2UgaGF2ZSByZWZyaWdlcmF0aW9uIG9wdGlvbnM/XCIsXG4gICAgICAgICAgXCJXaGljaCBvZiB0aGVzZSBoYXZlIGJ1aWx0LWluIGxpZ2h0aW5nP1wiLFxuICAgICAgICBdLFxuICAgICAgICBzdGF0aWNQTFBJbWFnZU5hbWVzOiBbXCJwbHAxLnBuZ1wiLCBcInBscDIucG5nXCIsIFwicGxwMy5wbmdcIiwgXCJwbHA0LnBuZ1wiXSxcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0OiBcInNlY29uZGFyeVwiLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudDogXCJzZWNvbmRhcnlcIixcbiAgICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIldvdWxkIHlvdSBsaWtlIGEgcmVjb21tZW5kYXRpb24/XCIsXG4gICAgICAgICAgaWNvbjogXCJtYWduaWZ5aW5nR2xhc3NcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsXG4gICAgY2hhdFByZXZpZXdQTFBXaW5lQWNjZXNzb3JpZXM6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQV2luZUFjY2Vzc29yaWVzXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkNoYXRQcmV2aWV3LFxuICAgICAgdmFyaWFudDogXCJmaWxsZWRcIixcbiAgICAgIGFkZFNlcGFyYXRvcnM6IGZhbHNlLFxuICAgICAgc29jaWFsUHJvb2ZDb25maWc6IHtcbiAgICAgICAgc3RhdGljUExQSW1hZ2VzTGF5b3V0OiBcImhvcml6b250YWxcIixcbiAgICAgICAgbG9nb05hbWU6IFwiV2luZUVudGh1c2lhc3RfTG9nb19ESy5zdmdcIixcbiAgICAgICAgY3VzdG9tZXJRdWVyeTogXCJhc2tlZCB3aGljaCBpdGVtcyB3aWxsIGVuaGFuY2UgbXkgd2luZSBsaWZlP1wiLFxuICAgICAgICBoZWFkZXJUaXRsZTogXCJTSE9QUElORyBBU1NJU1RBTlRcIixcbiAgICAgICAgaGVhZGVyRm9udEZhbWlseTogXCJESU5cIixcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblN0cmluZ3M6IFtcbiAgICAgICAgICBcIldoYXQgYXJlIG90aGVyIHdpbmUgbG92ZXJzIHNheWluZz9cIixcbiAgICAgICAgICBcIkhvdyBkbyBJIGNob29zZSBhIGNvcmtzY3Jldz9cIixcbiAgICAgICAgICBcIkhvdyBkbyBJIGtlZXAgd2luZSBmcmVzaCBsb25nZXI/XCIsXG4gICAgICAgICAgXCJIb3cgZG8gSSB0cmF2ZWwgd2l0aCB3aW5lP1wiLFxuICAgICAgICBdLFxuICAgICAgICBzdGF0aWNQTFBJbWFnZU5hbWVzOiBbXCJwbHAxLnBuZ1wiLCBcInBscDIucG5nXCIsIFwicGxwMy5wbmdcIiwgXCJwbHA0LnBuZ1wiXSxcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0OiBcInNlY29uZGFyeVwiLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudDogXCJzZWNvbmRhcnlcIixcbiAgICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIldvdWxkIHlvdSBsaWtlIGEgcmVjb21tZW5kYXRpb24/XCIsXG4gICAgICAgICAgaWNvbjogXCJtYWduaWZ5aW5nR2xhc3NcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsXG4gICAgY2hhdFByZXZpZXdQTFBXaW5lQ2VsbGFyQ29vbGluZzoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBXaW5lQ2VsbGFyQ29vbGluZ1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5DaGF0UHJldmlldyxcbiAgICAgIHZhcmlhbnQ6IFwiZmlsbGVkXCIsXG4gICAgICBhZGRTZXBhcmF0b3JzOiBmYWxzZSxcbiAgICAgIHNvY2lhbFByb29mQ29uZmlnOiB7XG4gICAgICAgIHN0YXRpY1BMUEltYWdlc0xheW91dDogXCJob3Jpem9udGFsXCIsXG4gICAgICAgIGxvZ29OYW1lOiBcIldpbmVFbnRodXNpYXN0X0xvZ29fREsuc3ZnXCIsXG4gICAgICAgIGN1c3RvbWVyUXVlcnk6IFwiYXNrZWQgd2hpY2ggaXRlbXMgd2lsbCBlbmhhbmNlIG15IHdpbmUgbGlmZT9cIixcbiAgICAgICAgaGVhZGVyVGl0bGU6IFwiU0hPUFBJTkcgQVNTSVNUQU5UXCIsXG4gICAgICAgIGhlYWRlckZvbnRGYW1pbHk6IFwiRElOXCIsXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25TdHJpbmdzOiBbXG4gICAgICAgICAgXCJXaGF0IGFyZSBvdGhlciB3aW5lIGxvdmVycyBzYXlpbmc/XCIsXG4gICAgICAgICAgXCJIb3cgYmlnIG9mIGEgdW5pdCBkbyBJIG5lZWQ/XCIsXG4gICAgICAgICAgXCJIb3cgY2FuIEkgdGVsbCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBicmFuZHM/XCIsXG4gICAgICAgICAgXCJXaGF0IGRvIEkgZ2V0IHdoZW4gSSBzcGVuZCBtb3JlP1wiLFxuICAgICAgICAgIFwiV2hhdCBraW5kIG9mIHdhcnJhbnRpZXMgYXJlIG9mZmVyZWQ/XCIsXG4gICAgICAgIF0sXG4gICAgICAgIHN0YXRpY1BMUEltYWdlTmFtZXM6IFtcInBscDEucG5nXCIsIFwicGxwMi5wbmdcIiwgXCJwbHAzLnBuZ1wiLCBcInBscDQucG5nXCJdLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudERlZmF1bHQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50QWNjZW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiV291bGQgeW91IGxpa2UgYSByZWNvbW1lbmRhdGlvbj9cIixcbiAgICAgICAgICBpY29uOiBcIm1hZ25pZnlpbmdHbGFzc1wiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBDaGF0UHJldmlld1dpZGdldENvbmZpZyxcbiAgICBjaGF0UHJldmlld1BMUERlY2FudGVyczoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBEZWNhbnRlcnNcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuQ2hhdFByZXZpZXcsXG4gICAgICB2YXJpYW50OiBcImZpbGxlZFwiLFxuICAgICAgYWRkU2VwYXJhdG9yczogZmFsc2UsXG4gICAgICBzb2NpYWxQcm9vZkNvbmZpZzoge1xuICAgICAgICBzdGF0aWNQTFBJbWFnZXNMYXlvdXQ6IFwiaG9yaXpvbnRhbFwiLFxuICAgICAgICBsb2dvTmFtZTogXCJXaW5lRW50aHVzaWFzdF9Mb2dvX0RLLnN2Z1wiLFxuICAgICAgICBjdXN0b21lclF1ZXJ5OiBcImFza2VkIHdoaWNoIGl0ZW1zIHdpbGwgZW5oYW5jZSBteSB3aW5lIGxpZmU/XCIsXG4gICAgICAgIGhlYWRlclRpdGxlOiBcIlNIT1BQSU5HIEFTU0lTVEFOVFwiLFxuICAgICAgICBoZWFkZXJGb250RmFtaWx5OiBcIkRJTlwiLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uU3RyaW5nczogW1xuICAgICAgICAgIFwiV2hhdCBhcmUgb3RoZXIgd2luZSBsb3ZlcnMgc2F5aW5nP1wiLFxuICAgICAgICAgIFwiV2hpY2ggb25lcyBob2xkIG1vcmUgdGhhbiBhIHN0YW5kYXJkIGJvdHRsZT9cIixcbiAgICAgICAgICBcIldoaWNoIG9uZXMgYXJlIGZvciB5b3VuZyB3aW5lP1wiLFxuICAgICAgICAgIFwiV2hpY2ggb25lcyBhcmUgZm9yIGFnZWQgd2luZT9cIixcbiAgICAgICAgICBcIldoaWNoIG9uZXMgYWxzbyBhZXJhdGUgdGhlIHdpbmU/XCIsXG4gICAgICAgICAgXCJXaGF0IGFyZSBteSBvcHRpb25zIGZvciBwZXJzb25hbGl6YXRpb24/XCIsXG4gICAgICAgIF0sXG4gICAgICAgIHN0YXRpY1BMUEltYWdlTmFtZXM6IFtcInBscDEucG5nXCIsIFwicGxwMi5wbmdcIiwgXCJwbHAzLnBuZ1wiLCBcInBscDQucG5nXCJdLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudERlZmF1bHQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50QWNjZW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiV291bGQgeW91IGxpa2UgYSByZWNvbW1lbmRhdGlvbj9cIixcbiAgICAgICAgICBpY29uOiBcIm1hZ25pZnlpbmdHbGFzc1wiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBDaGF0UHJldmlld1dpZGdldENvbmZpZyxcbiAgICBjaGF0UHJldmlld1BMUDoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuQ2hhdFByZXZpZXcsXG4gICAgICB2YXJpYW50OiBcImZpbGxlZFwiLFxuICAgICAgYWRkU2VwYXJhdG9yczogZmFsc2UsXG4gICAgICBzb2NpYWxQcm9vZkNvbmZpZzoge1xuICAgICAgICBzdGF0aWNQTFBJbWFnZXNMYXlvdXQ6IFwiaG9yaXpvbnRhbFwiLFxuICAgICAgICBsb2dvTmFtZTogXCJXaW5lRW50aHVzaWFzdF9Mb2dvX0RLLnN2Z1wiLFxuICAgICAgICBjdXN0b21lclF1ZXJ5OiBcImFza2VkIHdoaWNoIGl0ZW1zIHdpbGwgZW5oYW5jZSBteSB3aW5lIGxpZmU/XCIsXG4gICAgICAgIGhlYWRlclRpdGxlOiBcIlNIT1BQSU5HIEFTU0lTVEFOVFwiLFxuICAgICAgICBoZWFkZXJGb250RmFtaWx5OiBcIkRJTlwiLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uU3RyaW5nczogW1xuICAgICAgICAgIFwiV2hhdCBhcmUgb3RoZXIgd2luZSBsb3ZlcnMgc2F5aW5nP1wiLFxuICAgICAgICAgIFwiQmVzdCBzZWxsaW5nIHdpbmUgY2VsbGFyc1wiLFxuICAgICAgICAgIFwiRW5lcmd5IGVmZmljaWVudCBvcHRpb25zXCIsXG4gICAgICAgICAgXCJDb21wYWN0IHNvbHV0aW9uc1wiLFxuICAgICAgICAgIFwiUHJlbWl1bSBjb2xsZWN0aW9uc1wiLFxuICAgICAgICBdLFxuXG4gICAgICAgIHN0YXRpY1BMUEltYWdlTmFtZXM6IFtcInBscDEucG5nXCIsIFwicGxwMi5wbmdcIiwgXCJwbHAzLnBuZ1wiLCBcInBscDQucG5nXCJdLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudERlZmF1bHQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50QWNjZW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiV291bGQgeW91IGxpa2UgYSByZWNvbW1lbmRhdGlvbj9cIixcbiAgICAgICAgICBpY29uOiBcIm1hZ25pZnlpbmdHbGFzc1wiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBDaGF0UHJldmlld1dpZGdldENvbmZpZyxcbiAgICBjaGF0UHJldmlld1BEUDoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuQ2hhdFByZXZpZXcsXG4gICAgICB2YXJpYW50OiBcImZsYXRcIixcbiAgICAgIGFkZFNlcGFyYXRvcnM6IHRydWUsXG4gICAgICBzb2NpYWxQcm9vZkNvbmZpZzoge1xuICAgICAgICBzdGF0aWNQTFBJbWFnZXNMYXlvdXQ6IFwiaG9yaXpvbnRhbFwiLFxuICAgICAgICBsb2dvTmFtZTogXCJXaW5lRW50aHVzaWFzdF9Mb2dvX0RLLnN2Z1wiLFxuICAgICAgICBjdXN0b21lclF1ZXJ5OiBcImFza2VkIHdoYXQgbWFrZXMgdGhpcyBvbmUgd293P1wiLFxuICAgICAgICBoZWFkZXJUaXRsZTogXCJTSE9QUElORyBBU1NJU1RBTlRcIixcbiAgICAgICAgaGVhZGVyRm9udEZhbWlseTogXCJESU5cIixcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblN0cmluZ3M6IFtcbiAgICAgICAgICBcIldoYXQgbWFrZXMgdGhpcyB1bmlxdWU/XCIsXG5cbiAgICAgICAgICBcIlN1bW1hcml6ZSB0aGUgcmV2aWV3c1wiLFxuICAgICAgICAgIFwiSXMgaXQgZWFzeSB0byB1c2Ugb3IgaW5zdGFsbD9cIixcbiAgICAgICAgICBcIkhvdyBkbyBJIGNhcmUgZm9yIHRoaXM/XCIsXG4gICAgICAgICAgXCJXaHkgZG8gY29sbGVjdG9ycyBsb3ZlIHRoaXM/XCIsXG4gICAgICAgICAgXCJXaGF0IGFyZSBzaW1pbGFyIGl0ZW1zP1wiLFxuICAgICAgICBdLFxuICAgICAgICBzdGF0aWNJbWFnZUluZGV4OiAwLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudERlZmF1bHQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50QWNjZW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiQXNrIG1lIGFueXRoaW5nXCIsXG4gICAgICAgICAgaWNvbjogXCJzZW5kXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnLFxuICAgIGJvdHRvbVN1Z2dlc3Rpb25CYXI6IHtcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktYm90dG9tLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLkJPVFRPTV9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9CT1RUT00sXG4gICAgICB2YXJpYW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIklzIHRoaXMgdGhlIHJpZ2h0IG9uZSBmb3IgbWU/XCIsXG4gICAgICAgICAgXCJXaHkgZG8gd2luZSBsb3ZlcnMgY2hvb3NlIHRoaXMgb25lP1wiLFxuICAgICAgICAgIFwiV2hpY2ggb3RoZXJzIHNob3VsZCBJIGNvbnNpZGVyP1wiLFxuICAgICAgICAgIFwiV2hhdCBkbyBidXllcnMgbG92ZSBtb3N0P1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gIH0sXG4gIG1vdW50aW5nQ29uZmlnczoge1xuICAgIGNoYXRQcmV2aWV3UExQOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICBjb250YWluZXJJZDogQ0hBVF9QUkVWSUVXX0NPTlRBSU5FUl9JRCxcbiAgICAgIHRlc3RJZDogQ0hBVF9QUkVWSUVXX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOiBcIi5haXMtSW5maW5pdGVIaXRzLWxpc3RcIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5BRlRFUixcbiAgICAgIH0sXG4gICAgICBzdHlsZToge1xuICAgICAgICBwYWRkaW5nSW5saW5lOiBcIjI0cHhcIixcbiAgICAgICAgbWFyZ2luQm90dG9tOiBcIjI0cHhcIixcbiAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICBncmlkQ29sdW1uOiBcIjEgLyAtMVwiLFxuICAgICAgICBncmlkUm93OiBcIjIgLyAzXCIsXG4gICAgICB9LFxuICAgICAgZ3JpZEluc2VydGlvblR5cGU6IEdyaWRJbnNlcnRpb25UeXBlLkZJWEVEXzIsXG4gICAgICB3cmFwcGluZ0VsZW1lbnQ6IHtcbiAgICAgICAgZWxlbWVudDogXCJkaXZcIixcbiAgICAgICAgY2xhc3NOYW1lOiBcInByb2R1Y3RzXCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQUZURVIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgY2hhdFByZXZpZXdQRFA6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgIGNvbnRhaW5lcklkOiBDSEFUX1BSRVZJRVdfQ09OVEFJTkVSX0lELFxuICAgICAgdGVzdElkOiBDSEFUX1BSRVZJRVdfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IFwiLnByb2R1Y3Qtc29jaWFsLWxpbmtzXCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQUZURVIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgdG9wU3VnZ2VzdGlvbkJhclBEUDoge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICBjb250YWluZXJJZDogVE9QX1NVR0dFU1RJT05fQkFSX1BEUF9JRCxcbiAgICAgIHRlc3RJZDogVE9QX1NVR0dFU1RJT05fQkFSX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOlxuICAgICAgICAgIFwiLnByb2R1Y3QtYWRkLWZvcm0sIC5wcm9kdWN0LWZvcm0sIC5wcm9kdWN0LWFjdGlvbnMsIC5hZGQtdG8tY2FydFwiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkJFRk9SRSxcbiAgICAgIH0sXG4gICAgICBzdHlsZTogeyBtYXJnaW5Ub3A6IFwiMTZweFwiLCBtYXJnaW5Cb3R0b206IFwiOHB4XCIgfSxcbiAgICB9LFxuICAgIGJvdHRvbVN1Z2dlc3Rpb25CYXJQRFA6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgY29udGFpbmVySWQ6IEJPVFRPTV9SRVZJRVdTX0JBUl9JRCxcbiAgICAgIHRlc3RJZDogQk9UVE9NX1NVR0dFU1RJT05fQkFSX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOiBcIi5oZWFkZXJfX2lubmVyXCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQUZURVIsXG4gICAgICB9LFxuICAgICAgc3R5bGU6IHsgbWFyZ2luVG9wOiBcIi0xNnB4XCIsIG1hcmdpbkJvdHRvbTogXCI4cHhcIiB9LFxuICAgIH0sXG4gIH0sXG59KTtcblxuY29uc3Qgd2luZUVudGh1c2lhc3RPcmdJbmZvID0ge1xuICBzaG9ydE5hbWU6IE9yZ1Nob3J0TmFtZS5XaW5lRW50aHVzaWFzdCxcbiAgbmFtZTogXCJcIixcbiAgZG9tYWluOiBcIndpbmVlbnRodXNpYXN0LmNvbVwiLFxuICBkZWZhdWx0UHJvZHVjdElkOiBcIlwiLFxuICBhbHdheXNFbmFibGVkTWVyY2hhbnRzOiB0cnVlLFxuICBvcmdVSUNvbmZpZzogd2luZUVudGh1c2lhc3RPcmdVSUNvbmZpZyxcbiAgb3JnQ29sb3JzOiAoKSA9PiB3aW5lRW50aHVzaWFzdENvbG9ycyxcbiAgb3JnUGFnZUNvbmZpZzogd2luZUVudGh1c2lhc3RQYWdlQ29uZmlnLFxufSBzYXRpc2ZpZXMgQmFzaWNPcmdJbmZvVHlwZTtcblxuZXhwb3J0IHtcbiAgd2luZUVudGh1c2lhc3RPcmdJbmZvLFxuICB3aW5lRW50aHVzaWFzdE9yZ1VJQ29uZmlnLFxuICB3aW5lRW50aHVzaWFzdENvbG9ycyxcbiAgd2luZUVudGh1c2lhc3RQYWdlQ29uZmlnLFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaUNBLE1BQU1BLHVCQUFxQztFQUN4Q0MseUJBQVcsY0FBYztFQUN6QkEseUJBQVcsZ0JBQWdCO0VBQzNCQSx5QkFBVyxhQUFhO0VBQ3hCQSx5QkFBVyxXQUFXO0VBQ3RCQSx5QkFBVyxZQUFZO0VBQ3ZCQSx5QkFBVyxvQkFB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