@envive-ai/react-hooks 0.2.6-alpha-arthur-1 → 0.2.6-alpha-marlo.0

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 (674) hide show
  1. package/dist/{NewOrgConfig-CUQGpmw9.js → NewOrgConfig-BfbTlFg1.js} +2 -2
  2. package/dist/{NewOrgConfig-DD0oloeK.cjs → NewOrgConfig-DJm6_abA.cjs} +2 -2
  3. package/dist/SystemSettingsContext-6ZHzQkCE.cjs +20 -0
  4. package/dist/SystemSettingsContext-BbTKNBvJ.js +13 -0
  5. package/dist/TrackComponentVisibleEvent-BJgNOypY.js +52 -0
  6. package/dist/TrackComponentVisibleEvent-BRC2FTp-.cjs +59 -0
  7. package/dist/amplitudeContext-B73xamNe.d.cts +52 -0
  8. package/dist/amplitudeContext-CZUzMXHl.d.ts +52 -0
  9. package/dist/api-BWSsazAG.js +166 -0
  10. package/dist/api-DeW6rHj3.cjs +239 -0
  11. package/dist/application/models/graphql/index.cjs +3 -3
  12. package/dist/application/models/graphql/index.d.cts +2 -2
  13. package/dist/application/models/graphql/index.d.ts +2 -2
  14. package/dist/application/models/graphql/index.js +3 -2
  15. package/dist/application/models/guards/api/index.cjs +3 -3
  16. package/dist/application/models/guards/api/index.d.cts +2 -2
  17. package/dist/application/models/guards/api/index.d.ts +2 -2
  18. package/dist/application/models/guards/api/index.js +3 -3
  19. package/dist/application/models/guards/utils.cjs +1 -1
  20. package/dist/application/models/guards/utils.d.ts +1 -1
  21. package/dist/application/models/guards/utils.js +1 -1
  22. package/dist/application/models/index.cjs +23 -7
  23. package/dist/application/models/index.d.cts +11 -167
  24. package/dist/application/models/index.d.ts +12 -168
  25. package/dist/application/models/index.js +11 -7
  26. package/dist/application/models/utilityTypes/index.cjs +1 -0
  27. package/dist/application/models/utilityTypes/index.d.cts +2 -0
  28. package/dist/application/models/utilityTypes/index.d.ts +2 -0
  29. package/dist/application/models/utilityTypes/index.js +3 -0
  30. package/dist/application/models/variantInfo/index.cjs +3 -0
  31. package/dist/application/models/variantInfo/index.d.cts +2 -0
  32. package/dist/application/models/variantInfo/index.d.ts +2 -0
  33. package/dist/application/models/variantInfo/index.js +3 -0
  34. package/dist/application/utils/index.cjs +19 -10
  35. package/dist/application/utils/index.d.cts +61 -11
  36. package/dist/application/utils/index.d.ts +63 -13
  37. package/dist/application/utils/index.js +19 -10
  38. package/dist/{atomStore-CZKe3itM.cjs → atomStore-DNji91Im.cjs} +1 -1
  39. package/dist/{atomStore-BuopbV9k.js → atomStore-DXTVqiKc.js} +1 -1
  40. package/dist/atoms/app/index.cjs +24 -22
  41. package/dist/atoms/app/index.d.cts +20 -9
  42. package/dist/atoms/app/index.d.ts +19 -8
  43. package/dist/atoms/app/index.js +19 -17
  44. package/dist/atoms/atomStore/index.cjs +1 -1
  45. package/dist/atoms/atomStore/index.d.ts +1 -1
  46. package/dist/atoms/atomStore/index.js +1 -1
  47. package/dist/atoms/chat/index.cjs +21 -20
  48. package/dist/atoms/chat/index.d.cts +45 -36
  49. package/dist/atoms/chat/index.d.ts +43 -34
  50. package/dist/atoms/chat/index.js +21 -20
  51. package/dist/atoms/globalSearch/index.cjs +2 -1
  52. package/dist/atoms/globalSearch/index.d.cts +6 -6
  53. package/dist/atoms/globalSearch/index.d.ts +5 -5
  54. package/dist/atoms/globalSearch/index.js +2 -1
  55. package/dist/atoms/org/index.cjs +11 -10
  56. package/dist/atoms/org/index.d.cts +31 -19
  57. package/dist/atoms/org/index.d.ts +31 -19
  58. package/dist/atoms/org/index.js +3 -2
  59. package/dist/atoms/search/index.cjs +47 -7
  60. package/dist/atoms/search/index.d.cts +14 -76
  61. package/dist/atoms/search/index.d.ts +14 -76
  62. package/dist/atoms/search/index.js +29 -7
  63. package/dist/atoms/search/types.cjs +5 -0
  64. package/dist/atoms/search/types.d.cts +2 -0
  65. package/dist/atoms/search/types.d.ts +2 -0
  66. package/dist/atoms/search/types.js +3 -0
  67. package/dist/atoms/search/utils.cjs +1 -1
  68. package/dist/atoms/search/utils.d.cts +1 -1
  69. package/dist/atoms/search/utils.js +1 -1
  70. package/dist/cdnContext-CEGBVVBU.js +38 -0
  71. package/dist/cdnContext-DOSIofl8.cjs +53 -0
  72. package/dist/chat-CqPuT9_V.cjs +393 -0
  73. package/dist/chat-DH70QqJp.js +257 -0
  74. package/dist/chatElementDisplayLocation-CpgV2wR1.d.ts +25 -0
  75. package/dist/chatElementDisplayLocation-DWmfNX_u.d.cts +25 -0
  76. package/dist/chatSearch-C7Y-hb-6.js +295 -0
  77. package/dist/chatSearch-DLV4BUGA.cjs +418 -0
  78. package/dist/chatState-CcFtSqJT.cjs +120 -0
  79. package/dist/chatState-DKnNHmwe.js +34 -0
  80. package/dist/config/index.d.cts +4 -4
  81. package/dist/config/index.d.ts +4 -4
  82. package/dist/config/locators/components/chat/index.d.cts +1 -1
  83. package/dist/config/locators/components/chat/index.d.ts +1 -1
  84. package/dist/config/locators/components/chat/variants/index.d.cts +1 -1
  85. package/dist/config/locators/components/chat/variants/index.d.ts +1 -1
  86. package/dist/config/locators/components/common/index.d.cts +1 -1
  87. package/dist/config/locators/components/common/index.d.ts +1 -1
  88. package/dist/config/locators/components/index.d.cts +1 -1
  89. package/dist/config/locators/components/index.d.ts +1 -1
  90. package/dist/config/locators/components/search/index.d.cts +1 -1
  91. package/dist/config/locators/components/search/index.d.ts +1 -1
  92. package/dist/config/locators/index.d.cts +4 -4
  93. package/dist/config/locators/index.d.ts +4 -4
  94. package/dist/contexts/amplitudeContext/index.cjs +22 -23
  95. package/dist/contexts/amplitudeContext/index.d.cts +2 -11
  96. package/dist/contexts/amplitudeContext/index.d.ts +2 -11
  97. package/dist/contexts/amplitudeContext/index.js +20 -22
  98. package/dist/contexts/cdnContext/index.cjs +4 -4
  99. package/dist/contexts/cdnContext/index.d.cts +6 -2
  100. package/dist/contexts/cdnContext/index.d.ts +6 -2
  101. package/dist/contexts/cdnContext/index.js +4 -4
  102. package/dist/contexts/chatContext/index.cjs +326 -0
  103. package/dist/contexts/chatContext/index.d.cts +15 -0
  104. package/dist/contexts/chatContext/index.d.ts +15 -0
  105. package/dist/contexts/chatContext/index.js +319 -0
  106. package/dist/contexts/enviveConfigContext/index.cjs +4 -4
  107. package/dist/contexts/enviveConfigContext/index.d.cts +24 -3
  108. package/dist/contexts/enviveConfigContext/index.d.ts +24 -3
  109. package/dist/contexts/enviveConfigContext/index.js +4 -4
  110. package/dist/contexts/enviveCssContext/index.cjs +19 -15
  111. package/dist/contexts/enviveCssContext/index.d.cts +5 -3
  112. package/dist/contexts/enviveCssContext/index.d.ts +5 -3
  113. package/dist/contexts/enviveCssContext/index.js +19 -15
  114. package/dist/contexts/featureFlagContext/index.cjs +10 -9
  115. package/dist/contexts/featureFlagContext/index.d.cts +11 -3
  116. package/dist/contexts/featureFlagContext/index.d.ts +11 -3
  117. package/dist/contexts/featureFlagContext/index.js +7 -6
  118. package/dist/contexts/featureFlagServiceContext/index.cjs +3 -4
  119. package/dist/contexts/featureFlagServiceContext/index.d.cts +4 -1
  120. package/dist/contexts/featureFlagServiceContext/index.d.ts +4 -1
  121. package/dist/contexts/featureFlagServiceContext/index.js +3 -4
  122. package/dist/contexts/graphqlContext/index.cjs +13 -8
  123. package/dist/contexts/graphqlContext/index.d.cts +14 -11
  124. package/dist/contexts/graphqlContext/index.d.ts +14 -11
  125. package/dist/contexts/graphqlContext/index.js +13 -8
  126. package/dist/contexts/localStorageContext/index.cjs +3 -3
  127. package/dist/contexts/localStorageContext/index.d.cts +22 -3
  128. package/dist/contexts/localStorageContext/index.d.ts +22 -3
  129. package/dist/contexts/localStorageContext/index.js +3 -4
  130. package/dist/contexts/newOrgConfigContext/index.cjs +17 -13
  131. package/dist/contexts/newOrgConfigContext/index.d.cts +15 -12
  132. package/dist/contexts/newOrgConfigContext/index.d.ts +15 -12
  133. package/dist/contexts/newOrgConfigContext/index.js +17 -13
  134. package/dist/contexts/searchContext/index.cjs +24 -23
  135. package/dist/contexts/searchContext/index.d.cts +7 -2
  136. package/dist/contexts/searchContext/index.d.ts +7 -2
  137. package/dist/contexts/searchContext/index.js +24 -23
  138. package/dist/contexts/sessionStorageContext/index.cjs +2 -2
  139. package/dist/contexts/sessionStorageContext/index.d.cts +6 -2
  140. package/dist/contexts/sessionStorageContext/index.d.ts +6 -2
  141. package/dist/contexts/sessionStorageContext/index.js +2 -2
  142. package/dist/contexts/shopifyUrlContext/index.cjs +2 -2
  143. package/dist/contexts/shopifyUrlContext/index.d.cts +11 -2
  144. package/dist/contexts/shopifyUrlContext/index.d.ts +11 -2
  145. package/dist/contexts/shopifyUrlContext/index.js +2 -2
  146. package/dist/contexts/systemSettingsContext/index.cjs +4 -4
  147. package/dist/contexts/systemSettingsContext/index.d.cts +14 -4
  148. package/dist/contexts/systemSettingsContext/index.d.ts +16 -6
  149. package/dist/contexts/systemSettingsContext/index.js +4 -4
  150. package/dist/contexts/types.cjs +7 -0
  151. package/dist/contexts/types.d.cts +4 -0
  152. package/dist/contexts/types.d.ts +4 -0
  153. package/dist/contexts/types.js +3 -0
  154. package/dist/contexts/userIdentityContext/index.cjs +21 -19
  155. package/dist/contexts/userIdentityContext/index.d.cts +2 -11
  156. package/dist/contexts/userIdentityContext/index.d.ts +2 -11
  157. package/dist/contexts/userIdentityContext/index.js +19 -17
  158. package/dist/domObserver-Bqf3ooj8.cjs +304 -0
  159. package/dist/{domObserver-LCBj1xw4.cjs → domObserver-v9ODTyfT.js} +4 -23
  160. package/dist/enviveConfig-DZBohDpc.js +62 -0
  161. package/dist/enviveConfig-Dv9-esGV.cjs +130 -0
  162. package/dist/enviveConfigContext-D2OELZDR.cjs +60 -0
  163. package/dist/enviveConfigContext-DrDjCems.js +45 -0
  164. package/dist/events/index.cjs +3 -2
  165. package/dist/events/index.d.cts +15 -2
  166. package/dist/events/index.d.ts +15 -2
  167. package/dist/events/index.js +2 -2
  168. package/dist/events-DYY4l817.cjs +90 -0
  169. package/dist/events-DyUix-Bn.js +78 -0
  170. package/dist/featureFlagServiceContext-Be_LUbFf.d.cts +23 -0
  171. package/dist/featureFlagServiceContext-CJyYItqu.cjs +62 -0
  172. package/dist/featureFlagServiceContext-FBM6DdMJ.js +42 -0
  173. package/dist/featureFlagServiceContext-V0J-69ty.d.ts +23 -0
  174. package/dist/featureGates-KEwAL8p_.js +26 -0
  175. package/dist/featureGates-qU_ulhpC.cjs +32 -0
  176. package/dist/frontendConfig-CeWhVevA.d.ts +857 -0
  177. package/dist/frontendConfig-OWWJmuPc.d.cts +857 -0
  178. package/dist/globalSearch-B9DRBxSM.cjs +0 -0
  179. package/dist/globalSearch-BpGfkuXz.js +1 -0
  180. package/dist/{globalSearch-nmrfGLOn.js → globalSearch-Ccxq8hNF.js} +1 -1
  181. package/dist/{globalSearch-Cpc8egsM.cjs → globalSearch-FBk2epe8.cjs} +1 -1
  182. package/dist/graphql-3PxNRFOc.js +36 -0
  183. package/dist/graphql-DGYfelZp.cjs +53 -0
  184. package/dist/graphqlConfig-GHZ1UgCw.cjs +73 -0
  185. package/dist/graphqlConfig-mDg6J44N.js +24 -0
  186. package/dist/graphqlContext-BQA6gnpH.d.ts +28 -0
  187. package/dist/graphqlContext-Ci5GRAdH.js +96 -0
  188. package/dist/graphqlContext-D67VEQg3.d.cts +28 -0
  189. package/dist/graphqlContext-W0cZNBf1.cjs +111 -0
  190. package/dist/hooks/AmplitudeOperations/index.cjs +22 -23
  191. package/dist/hooks/AmplitudeOperations/index.d.cts +2 -2
  192. package/dist/hooks/AmplitudeOperations/index.d.ts +2 -2
  193. package/dist/hooks/AmplitudeOperations/index.js +21 -22
  194. package/dist/hooks/AppDetails/index.cjs +22 -20
  195. package/dist/hooks/AppDetails/index.d.cts +23 -3
  196. package/dist/hooks/AppDetails/index.d.ts +23 -3
  197. package/dist/hooks/AppDetails/index.js +22 -20
  198. package/dist/hooks/CdnOperations/index.cjs +4 -4
  199. package/dist/hooks/CdnOperations/index.js +4 -4
  200. package/dist/hooks/ChatToggle/index.cjs +25 -28
  201. package/dist/hooks/ChatToggle/index.d.cts +2 -2
  202. package/dist/hooks/ChatToggle/index.d.ts +2 -2
  203. package/dist/hooks/ChatToggle/index.js +22 -25
  204. package/dist/hooks/ChatToggleAnalytics/index.cjs +24 -25
  205. package/dist/hooks/ChatToggleAnalytics/index.d.cts +2 -2
  206. package/dist/hooks/ChatToggleAnalytics/index.d.ts +2 -2
  207. package/dist/hooks/ChatToggleAnalytics/index.js +23 -24
  208. package/dist/hooks/CustomerSupportHandoff/index.cjs +2 -2
  209. package/dist/hooks/CustomerSupportHandoff/index.d.cts +1 -1
  210. package/dist/hooks/CustomerSupportHandoff/index.js +2 -2
  211. package/dist/hooks/Debounce/index.cjs +2 -20
  212. package/dist/hooks/Debounce/index.d.cts +1 -1
  213. package/dist/hooks/Debounce/index.d.ts +1 -1
  214. package/dist/hooks/Debounce/index.js +2 -18
  215. package/dist/hooks/ElementObserver/index.cjs +6 -4
  216. package/dist/hooks/ElementObserver/index.d.cts +25 -4
  217. package/dist/hooks/ElementObserver/index.d.ts +25 -4
  218. package/dist/hooks/ElementObserver/index.js +6 -4
  219. package/dist/hooks/FloatingButtonVisibility/index.cjs +73 -0
  220. package/dist/hooks/FloatingButtonVisibility/index.d.cts +7 -0
  221. package/dist/hooks/FloatingButtonVisibility/index.d.ts +7 -0
  222. package/dist/hooks/FloatingButtonVisibility/index.js +69 -0
  223. package/dist/hooks/GrabAndScroll/index.cjs +1 -1
  224. package/dist/hooks/GrabAndScroll/index.d.cts +2 -2
  225. package/dist/hooks/GrabAndScroll/index.d.ts +2 -2
  226. package/dist/hooks/GrabAndScroll/index.js +1 -1
  227. package/dist/hooks/GraphQLConfig/index.cjs +14 -9
  228. package/dist/hooks/GraphQLConfig/index.d.cts +13 -2
  229. package/dist/hooks/GraphQLConfig/index.d.ts +13 -2
  230. package/dist/hooks/GraphQLConfig/index.js +14 -9
  231. package/dist/hooks/IdentifyUser/index.cjs +21 -19
  232. package/dist/hooks/IdentifyUser/index.js +20 -18
  233. package/dist/hooks/ImageResolver/index.cjs +29 -20
  234. package/dist/hooks/ImageResolver/index.d.ts +1 -1
  235. package/dist/hooks/ImageResolver/index.js +29 -20
  236. package/dist/hooks/Intersection/index.cjs +1 -1
  237. package/dist/hooks/Intersection/index.js +1 -1
  238. package/dist/hooks/LastInteraction/index.cjs +34 -0
  239. package/dist/hooks/LastInteraction/index.d.cts +17 -0
  240. package/dist/hooks/LastInteraction/index.d.ts +17 -0
  241. package/dist/hooks/LastInteraction/index.js +32 -0
  242. package/dist/hooks/LocalStorageOperations/index.cjs +7 -8
  243. package/dist/hooks/LocalStorageOperations/index.js +3 -4
  244. package/dist/hooks/MessageFilter/index.cjs +12 -3
  245. package/dist/hooks/MessageFilter/index.d.cts +17 -2
  246. package/dist/hooks/MessageFilter/index.d.ts +17 -2
  247. package/dist/hooks/MessageFilter/index.js +11 -2
  248. package/dist/hooks/NewOrgConfig/index.cjs +18 -14
  249. package/dist/hooks/NewOrgConfig/index.d.cts +16 -3
  250. package/dist/hooks/NewOrgConfig/index.d.ts +16 -3
  251. package/dist/hooks/NewOrgConfig/index.js +18 -14
  252. package/dist/hooks/Search/index.cjs +173 -314
  253. package/dist/hooks/Search/index.d.cts +57 -3
  254. package/dist/hooks/Search/index.d.ts +57 -3
  255. package/dist/hooks/Search/index.js +162 -302
  256. package/dist/hooks/SearchOperations/index.cjs +25 -24
  257. package/dist/hooks/SearchOperations/index.d.cts +3 -2
  258. package/dist/hooks/SearchOperations/index.d.ts +3 -2
  259. package/dist/hooks/SearchOperations/index.js +25 -24
  260. package/dist/hooks/SessionStorageOperations/index.cjs +2 -2
  261. package/dist/hooks/SessionStorageOperations/index.js +2 -2
  262. package/dist/hooks/ShopifyUrlOperations/index.cjs +3 -3
  263. package/dist/hooks/ShopifyUrlOperations/index.d.cts +4 -2
  264. package/dist/hooks/ShopifyUrlOperations/index.d.ts +4 -2
  265. package/dist/hooks/ShopifyUrlOperations/index.js +3 -3
  266. package/dist/hooks/SnapCalculator/index.cjs +1 -1
  267. package/dist/hooks/SnapCalculator/index.d.cts +3 -4
  268. package/dist/hooks/SnapCalculator/index.d.ts +3 -4
  269. package/dist/hooks/SnapCalculator/index.js +1 -1
  270. package/dist/hooks/SystemSettingsContext/index.cjs +6 -17
  271. package/dist/hooks/SystemSettingsContext/index.d.cts +15 -5
  272. package/dist/hooks/SystemSettingsContext/index.d.ts +14 -4
  273. package/dist/hooks/SystemSettingsContext/index.js +6 -15
  274. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +21 -23
  275. package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +3 -2
  276. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +3 -2
  277. package/dist/hooks/TrackComponentVisibleEvent/index.js +21 -23
  278. package/dist/hooks/UpdateAnalyticsProps/index.cjs +24 -26
  279. package/dist/hooks/UpdateAnalyticsProps/index.js +20 -22
  280. package/dist/hooks/utils.cjs +1 -1
  281. package/dist/hooks/utils.d.cts +13 -20
  282. package/dist/hooks/utils.d.ts +13 -20
  283. package/dist/hooks/utils.js +1 -1
  284. package/dist/{index-npqPeJ1g.d.cts → index-9NE86em3.d.cts} +1 -1
  285. package/dist/index-BeGt0Aw3.d.cts +186 -0
  286. package/dist/{index-CsmO1rDH.d.ts → index-BeYfyZ6k.d.ts} +1 -1
  287. package/dist/index-Bmub8e38.d.cts +98 -0
  288. package/dist/index-CCa4tZuO.d.ts +184 -0
  289. package/dist/index-CESxqFso.d.cts +228 -0
  290. package/dist/index-CgAfoNpB.d.ts +1 -0
  291. package/dist/index-CiWEYzXl.d.cts +184 -0
  292. package/dist/index-Cyq5HiC0.d.cts +44 -0
  293. package/dist/index-D4c-port.d.ts +676 -0
  294. package/dist/{index-jFQefHda.d.ts → index-DJTrxIFJ.d.ts} +1 -1
  295. package/dist/{index-CAJq_8bO.d.cts → index-Da1s8h5C.d.cts} +1 -1
  296. package/dist/index-DazMsEy_.d.ts +44 -0
  297. package/dist/index-Dfwnna1j.d.ts +228 -0
  298. package/dist/{index-ChiZg0yw.d.cts → index-DzbkQtaK.d.cts} +1 -1
  299. package/dist/{index-BbqT4BQv.d.cts → index-FQjyuD3D.d.cts} +1 -1
  300. package/dist/index-O33GSSRr.d.cts +676 -0
  301. package/dist/index-RcVcRKH7.d.cts +1 -0
  302. package/dist/index-bjMvkcBF.d.ts +98 -0
  303. package/dist/{index-mv7KvWDq.d.ts → index-h809JLbL.d.ts} +1 -1
  304. package/dist/{index-DtzPIcQp.d.ts → index-xHVrsrbz.d.ts} +1 -1
  305. package/dist/index-xhBQ1HBx.d.ts +186 -0
  306. package/dist/interceptors/index.cjs +3 -28
  307. package/dist/interceptors/index.d.cts +15 -4
  308. package/dist/interceptors/index.d.ts +15 -4
  309. package/dist/interceptors/index.js +3 -25
  310. package/dist/interceptors/types.cjs +1 -0
  311. package/dist/interceptors/types.d.cts +13 -0
  312. package/dist/interceptors/types.d.ts +13 -0
  313. package/dist/interceptors/types.js +3 -0
  314. package/dist/localStorageContext-BPZ82q-G.js +95 -0
  315. package/dist/localStorageContext-NRP-CdmF.cjs +115 -0
  316. package/dist/{logger-BqHq67zN.cjs → logger-TBIl4uIH.cjs} +1 -1
  317. package/dist/{logger-BMVdhQOV.js → logger-W3lqg-4b.js} +1 -1
  318. package/dist/models-D-4db7XW.cjs +1537 -0
  319. package/dist/models-c86hYW-F.js +1296 -0
  320. package/dist/{newOrgConfigAtom-CDttTiuu.cjs → newOrgConfigAtom-DxILMn2I.cjs} +1 -1
  321. package/dist/newOrgConfigAtom-sqve6LZU.js +8 -0
  322. package/dist/newOrgConfigContext-5Bw7RwT-.d.cts +16 -0
  323. package/dist/newOrgConfigContext-CS8IA5Eg.d.ts +16 -0
  324. package/dist/newOrgConfigContext-Cl4H9c3q.cjs +68 -0
  325. package/dist/newOrgConfigContext-DQiuf8nd.js +53 -0
  326. package/dist/nodeSelector-B3bPtEjX.d.cts +31 -0
  327. package/dist/nodeSelector-BiCDowlK.d.ts +31 -0
  328. package/dist/org-DlAesvQ_.cjs +43 -0
  329. package/dist/org-vi0njpBh.js +12 -0
  330. package/dist/search-1NQLQD9d.d.ts +20 -0
  331. package/dist/search-CXXslzAO.cjs +205 -0
  332. package/dist/search-DBSMrXWv.js +126 -0
  333. package/dist/search-filter-types-BxaNSLs_.d.cts +102 -0
  334. package/dist/search-filter-types-DPgeG8FS.d.ts +102 -0
  335. package/dist/search-y-ioX5Mz.d.cts +20 -0
  336. package/dist/searchContext-DXW6xvXv.cjs +145 -0
  337. package/dist/searchContext-mvwUJncR.js +129 -0
  338. package/dist/searchServiceAdapter-DEv1tTn0.cjs +34 -0
  339. package/dist/searchServiceAdapter-WyCU55NV.js +16 -0
  340. package/dist/sessionStorageContext-1Ks_d4Z0.cjs +66 -0
  341. package/dist/sessionStorageContext-CDcl7NVl.js +52 -0
  342. package/dist/shopifyUrlContext-CejRZfj7.js +61 -0
  343. package/dist/shopifyUrlContext-lnHoAOEf.cjs +75 -0
  344. package/dist/spiffyWidgets-B1uc84_g.d.ts +20 -0
  345. package/dist/spiffyWidgets-BuS00VaQ.d.cts +20 -0
  346. package/dist/systemSettingsContext-B0Kyq7nA.cjs +60 -0
  347. package/dist/systemSettingsContext-CVUxEcsU.js +39 -0
  348. package/dist/test-types-ThQiO_cc.d.cts +40 -0
  349. package/dist/test-types-y6kp-tiw.d.ts +40 -0
  350. package/dist/types/index.cjs +48 -3
  351. package/dist/types/index.d.cts +17 -2
  352. package/dist/types/index.d.ts +17 -2
  353. package/dist/types/index.js +44 -2
  354. package/dist/types-BCz-hOvv.d.ts +51 -0
  355. package/dist/types-CKMMb_gX.d.cts +51 -0
  356. package/dist/types-CKPddlfS.cjs +0 -0
  357. package/dist/types-CS0Hrzja.js +30 -0
  358. package/dist/types-CtUb63bt.js +76 -0
  359. package/dist/types-CxObxLKs.cjs +48 -0
  360. package/dist/types-Db5Eux6K.d.ts +10 -0
  361. package/dist/types-Dc6hx6ei.js +1 -0
  362. package/dist/types-UUvB6h05.cjs +106 -0
  363. package/dist/types-zQGBI-Yo.d.cts +10 -0
  364. package/dist/types.cjs +0 -0
  365. package/dist/types.d.cts +34 -0
  366. package/dist/types.d.ts +34 -0
  367. package/dist/types.js +1 -0
  368. package/dist/urlsParser-COzMdJaX.cjs +78 -0
  369. package/dist/urlsParser-DxjoLj98.js +42 -0
  370. package/dist/useAmplitudeOperations-DYs1h8a_.js +34 -0
  371. package/dist/useAmplitudeOperations-jqa7K9dH.cjs +41 -0
  372. package/dist/useAppDetails-BRUqZEyt.js +30 -0
  373. package/dist/useAppDetails-C71k0brz.cjs +38 -0
  374. package/dist/useDebounce-DZ8Cgiwc.cjs +26 -0
  375. package/dist/useDebounce-v9cezyjn.js +19 -0
  376. package/dist/useGraphQLConfig-5VwS9Q_Z.js +63 -0
  377. package/dist/useGraphQLConfig-Cj26_J9I.cjs +76 -0
  378. package/dist/{useIntersection-BkMkuJcZ.js → useIntersection-Cncgxdmy.js} +1 -1
  379. package/dist/{useIntersection-BcBCa890.cjs → useIntersection-m4PEpvG7.cjs} +1 -1
  380. package/dist/useMessageInterceptor-BjGP_uXm.js +25 -0
  381. package/dist/useMessageInterceptor-arAqUq1Q.cjs +33 -0
  382. package/dist/userIdentityContext-BVODeTlN.d.ts +20 -0
  383. package/dist/userIdentityContext-D2oFVFzo.d.cts +20 -0
  384. package/dist/utilityTypes-B2KuRn37.js +1 -0
  385. package/dist/utilityTypes-BGbL2WTP.cjs +0 -0
  386. package/dist/{utils-Buo4KU5l.cjs → utils-2SWrJ12w.cjs} +1 -1
  387. package/dist/utils-BxPPugeP.d.cts +22 -0
  388. package/dist/{utils-CiJLDPjY.cjs → utils-CDw74BCO.cjs} +1 -1
  389. package/dist/utils-CLGXsOwE.cjs +1591 -0
  390. package/dist/utils-Covisryh.d.ts +22 -0
  391. package/dist/{utils-BRNaQkCK.js → utils-CqBxIpEV.js} +1 -1
  392. package/dist/{utils-B1LVzQYK.js → utils-DIvMgPe8.js} +1 -1
  393. package/dist/utils-D_kATUj6.js +92 -0
  394. package/dist/{utils-BitIIghf.d.ts → utils-DpneNSJf.d.ts} +1 -1
  395. package/dist/utils-hYTjy7hJ.cjs +130 -0
  396. package/dist/utils-jYtD3hmA.js +1385 -0
  397. package/dist/variantInfo-BfKlkaWU.js +11 -0
  398. package/dist/variantInfo-DpLn4nHz.cjs +17 -0
  399. package/package.json +36 -9
  400. package/src/application/commerce-api.ts +37 -40
  401. package/src/application/models/api/context.ts +4 -0
  402. package/src/application/models/api/generationParams.ts +4 -0
  403. package/src/application/models/api/nextMessageRequest.ts +11 -0
  404. package/src/application/models/api/orgAnalyticsConfig.ts +19 -0
  405. package/src/application/models/api/orgConfigResults.ts +44 -0
  406. package/src/application/models/api/organizationConfig.ts +12 -0
  407. package/src/{types/ApiResponse.ts → application/models/api/response.ts} +29 -35
  408. package/src/application/models/api/responseGenerics.ts +67 -0
  409. package/src/application/models/api/search.ts +26 -0
  410. package/src/application/models/api/suggestion.ts +4 -0
  411. package/src/application/models/api/supportedEventRequest.ts +8 -0
  412. package/src/application/models/api/userEvent.ts +101 -0
  413. package/src/application/models/cachedValue.ts +8 -0
  414. package/src/application/models/chatElementDisplayLocation.ts +22 -0
  415. package/src/application/models/clientDetails.ts +18 -0
  416. package/src/application/models/colorsConfig.ts +28 -0
  417. package/src/application/models/conversationalSearchIds.ts +5 -0
  418. package/src/application/models/dataLayer.ts +45 -0
  419. package/src/application/models/events.ts +5 -0
  420. package/src/application/models/featureGates.ts +21 -0
  421. package/src/application/models/frontendConfig.ts +14 -0
  422. package/src/application/models/googleAnalyticsEvents.ts +8 -0
  423. package/src/application/models/graphql/index.ts +0 -1
  424. package/src/application/models/graphql/queries/getMerchantColorsQuery.ts +23 -1
  425. package/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.ts +89 -1
  426. package/src/application/models/guards/api/isApiFormResponse.ts +4 -4
  427. package/src/application/models/guards/api/isApiFormSubmittedResponseAttributes.ts +2 -2
  428. package/src/application/models/guards/api/isApiOrderResponseAttributes.ts +20 -2
  429. package/src/application/models/guards/api/isApiOrgConfigResults.ts +9 -3
  430. package/src/application/models/guards/api/isApiOrganizationConfig.ts +32 -8
  431. package/src/application/models/guards/api/isApiPDPEventAttributes.ts +5 -8
  432. package/src/application/models/guards/api/isApiPLPEventAttributes.ts +10 -14
  433. package/src/application/models/guards/api/isApiPageResponseAttributes.ts +1 -1
  434. package/src/application/models/guards/api/isApiProductResponseAttributes.ts +4 -2
  435. package/src/application/models/guards/api/isApiProductSearchAttributes.ts +6 -9
  436. package/src/application/models/guards/api/isApiProductSearchFilterAttributes.ts +4 -7
  437. package/src/application/models/guards/api/isApiQueryTypedEventAttributes.ts +3 -8
  438. package/src/application/models/guards/api/isApiResponse.ts +15 -22
  439. package/src/application/models/guards/api/isApiReviewResponseAttributes.ts +1 -1
  440. package/src/application/models/guards/api/isApiReviewRichInformation.ts +1 -1
  441. package/src/application/models/guards/api/isApiTextResponseAttributes.ts +1 -1
  442. package/src/application/models/guards/graphQL/isGraphQLColorsConfig.ts +1 -1
  443. package/src/application/models/guards/isBaseEcommerceEvent.ts +2 -1
  444. package/src/application/models/guards/isGA4EcommerceEvent.ts +1 -1
  445. package/src/application/models/guards/isLegacyUAEcommerceEvent.ts +1 -1
  446. package/src/application/models/guards/isMobilePLPChatPlacementParameter.ts +3 -1
  447. package/src/application/models/guards/isSpanxTakeAQuizCtaParameter.ts +3 -5
  448. package/src/application/models/guards/isVariantInfo.ts +1 -6
  449. package/src/application/models/index.ts +95 -30
  450. package/src/application/models/localStorageEventListener.ts +4 -0
  451. package/src/{types/Message.ts → application/models/message.ts} +34 -38
  452. package/src/application/models/mobilePLPChatPlacementParameter.ts +3 -0
  453. package/src/application/models/orgsEnum.ts +36 -0
  454. package/src/application/models/productExperiment.ts +5 -0
  455. package/src/application/models/spanxTakeAQuizCtaParameter.ts +4 -0
  456. package/src/application/models/spiffyWidgets.ts +16 -0
  457. package/src/application/models/utilityTypes/camelCase.ts +87 -0
  458. package/src/application/models/utilityTypes/camelCasedPropertiesDeep.ts +80 -0
  459. package/src/application/models/utilityTypes/delimiterCase.ts +121 -0
  460. package/src/application/models/utilityTypes/delimiterCasedPropertiesDeep.ts +98 -0
  461. package/src/application/models/utilityTypes/index.ts +1 -0
  462. package/src/application/models/utilityTypes/internal.ts +93 -0
  463. package/src/application/models/utilityTypes/primitive.ts +8 -0
  464. package/src/application/models/utilityTypes/snakeCasedPropertiesDeep.ts +49 -0
  465. package/src/application/models/utilityTypes/splitWords.ts +76 -0
  466. package/src/application/models/utilityTypes/trim.ts +28 -0
  467. package/src/application/models/utilityTypes/unknownArray.ts +25 -0
  468. package/src/application/models/utils/snakeToCamelTransformer.ts +8 -8
  469. package/src/application/models/validators/validateGraphQLColorsConfig.ts +2 -6
  470. package/src/application/models/validators/validateGraphQLFrontendConfig.ts +6 -6
  471. package/src/application/models/validators/validateMobilePLPChatPlacementParameter.ts +3 -5
  472. package/src/application/models/validators/validateOrgConfigResults.ts +5 -6
  473. package/src/application/models/validators/validateOrganizationConfig.ts +8 -11
  474. package/src/application/models/validators/validateResponse.ts +44 -66
  475. package/src/application/models/validators/validateSuggestion.ts +1 -1
  476. package/src/application/models/validators/validateUserEvent.ts +12 -23
  477. package/src/application/models/variantInfo/index.ts +1 -0
  478. package/src/application/models/variantInfo/pageVisitInfo.ts +6 -0
  479. package/src/application/models/variantInfo/plpInfo.ts +3 -0
  480. package/src/application/models/variantInfo/productInfo.ts +5 -0
  481. package/src/application/models/variantInfo/variantInfo.ts +29 -0
  482. package/src/application/utils/__tests__/divideArrays.test.ts +14 -0
  483. package/src/application/utils/analyticsUtils.ts +8 -1
  484. package/src/application/utils/cdnUtils.ts +11 -0
  485. package/src/application/utils/coreContextToApiContext.ts +1 -3
  486. package/src/application/utils/coreUserEventToApiUserEvent.ts +2 -2
  487. package/src/application/utils/elementObserver.ts +1 -1
  488. package/src/application/utils/imageFilter.ts +2 -5
  489. package/src/application/utils/index.ts +21 -20
  490. package/src/application/utils/messageFromFormSubmittedEvent.ts +1 -1
  491. package/src/application/utils/messageFromQueryEvent.ts +1 -1
  492. package/src/application/utils/messageFromResponse.ts +10 -14
  493. package/src/application/utils/messageFromSuggestionEvent.ts +4 -6
  494. package/src/application/utils/mouseEventTypes.ts +1 -1
  495. package/src/application/utils/nextMessageRequestToApiRequest.ts +1 -1
  496. package/src/application/utils/overrides.ts +49 -1
  497. package/src/application/utils/supportedEventRequestToApiRequest.ts +1 -3
  498. package/src/application/utils/urlsParser.ts +7 -1
  499. package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +1 -1
  500. package/src/atoms/app/index.ts +25 -15
  501. package/src/atoms/app/variant.ts +1 -1
  502. package/src/atoms/chat/chatState.ts +4 -4
  503. package/src/atoms/chat/form.ts +1 -1
  504. package/src/atoms/chat/messageQueue.ts +50 -25
  505. package/src/atoms/chat/replies.ts +2 -1
  506. package/src/atoms/chat/suggestions.ts +29 -34
  507. package/src/atoms/envive/enviveConfig.ts +20 -14
  508. package/src/atoms/org/customerService.ts +8 -4
  509. package/src/atoms/org/graphqlConfig.ts +15 -7
  510. package/src/atoms/org/index.ts +6 -4
  511. package/src/atoms/org/newOrgConfigAtom.ts +2 -2
  512. package/src/atoms/org/orgAnalyticsConfig.ts +1 -1
  513. package/src/atoms/search/chatSearch.ts +317 -0
  514. package/src/atoms/search/index.ts +1 -0
  515. package/src/atoms/search/productFilters.ts +52 -72
  516. package/src/atoms/search/productSorter.ts +2 -2
  517. package/src/atoms/search/searchAPI.ts +60 -42
  518. package/src/atoms/search/searchServiceAdapter.ts +1 -1
  519. package/src/atoms/search/types.ts +55 -0
  520. package/src/config/divIds.ts +27 -0
  521. package/src/config/socialProofClasses.ts +17 -0
  522. package/src/contexts/amplitudeContext/amplitudeContext.tsx +57 -16
  523. package/src/contexts/cdnContext/cdnContext.tsx +6 -1
  524. package/src/contexts/chatContext/chatContext.tsx +509 -0
  525. package/src/contexts/chatContext/index.ts +1 -0
  526. package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +26 -12
  527. package/src/contexts/enviveCssContext/enviveCssContext.tsx +12 -5
  528. package/src/contexts/featureFlagContext/featureFlagContext.tsx +48 -27
  529. package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +3 -11
  530. package/src/contexts/graphqlContext/graphqlContext.tsx +95 -40
  531. package/src/contexts/localStorageContext/localStorageContext.tsx +60 -26
  532. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +22 -10
  533. package/src/contexts/searchContext/searchContext.tsx +49 -29
  534. package/src/contexts/sessionStorageContext/sessionStorageContext.tsx +33 -12
  535. package/src/contexts/shopifyUrlContext/shopifyUrlContext.tsx +37 -20
  536. package/src/contexts/systemSettingsContext/systemSettingsContext.tsx +21 -8
  537. package/src/contexts/types.ts +1067 -0
  538. package/src/contexts/userIdentityContext/userIdentityContext.tsx +77 -33
  539. package/src/events/event-types.ts +11 -0
  540. package/src/events/index.ts +5 -8
  541. package/src/events/registerAnalyticsListeners.ts +13 -10
  542. package/src/hooks/AmplitudeOperations/useAmplitudeOperations.ts +11 -6
  543. package/src/hooks/AppDetails/useAppDetails.ts +24 -10
  544. package/src/hooks/ChatToggle/useChatToggle.ts +19 -7
  545. package/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.ts +4 -4
  546. package/src/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.ts +1 -1
  547. package/src/hooks/ElementObserver/useElementObserver.ts +32 -14
  548. package/src/hooks/FloatingButtonVisibility/index.ts +1 -0
  549. package/src/hooks/FloatingButtonVisibility/useFloatingButtonVisibility.ts +99 -0
  550. package/src/hooks/GrabAndScroll/useGrabAndScroll.ts +124 -125
  551. package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +7 -5
  552. package/src/hooks/ImageResolver/useImageResolver.ts +31 -24
  553. package/src/hooks/LastInteraction/index.ts +1 -0
  554. package/src/hooks/LastInteraction/useLastInteraction.ts +42 -0
  555. package/src/hooks/LocalStorageOperations/useLocalStorageOperations.ts +19 -12
  556. package/src/hooks/MessageFilter/useMessageFilter.ts +7 -1
  557. package/src/hooks/Search/useSearch.tsx +217 -87
  558. package/src/hooks/SearchOperations/useSearchOperations.ts +12 -8
  559. package/src/hooks/ShopifyUrlOperations/useShopifyUrlOperations.ts +14 -8
  560. package/src/hooks/SnapCalculator/useSnapCalculator.ts +2 -1
  561. package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +11 -8
  562. package/src/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.ts +25 -11
  563. package/src/hooks/utils.ts +29 -19
  564. package/src/interceptors/index.ts +2 -1
  565. package/src/interceptors/types.ts +6 -0
  566. package/src/interceptors/useMessageInterceptor.ts +6 -10
  567. package/src/merchants/domInsertion.ts +30 -0
  568. package/src/merchants/gridInsertion.ts +19 -0
  569. package/src/types/config-versions.ts +6 -0
  570. package/src/types/customerService.ts +31 -0
  571. package/src/types/custservice-types.ts +28 -0
  572. package/src/{exceptions → types/exceptions}/unsupportedProductExceptions.ts +2 -2
  573. package/src/types/floatingbuttonoverrides-types.ts +10 -0
  574. package/src/types/index.ts +5 -4
  575. package/src/types/search-filter-types.ts +111 -0
  576. package/src/types/suggestionBarV2-types.ts +4 -0
  577. package/src/types/test-types.ts +3 -0
  578. package/src/types.ts +27 -0
  579. package/dist/AmplitudeOperations-CXU93q_4.js +0 -34
  580. package/dist/AmplitudeOperations-_uIb5QED.cjs +0 -41
  581. package/dist/TrackComponentVisibleEvent-D-hN3owz.cjs +0 -60
  582. package/dist/TrackComponentVisibleEvent-D-pvNVOP.js +0 -53
  583. package/dist/amplitudeContext-DFXeRauX.js +0 -233
  584. package/dist/amplitudeContext-DrFGH7Q7.cjs +0 -249
  585. package/dist/amplitudeTrackEventAtom-D66l5oFp.js +0 -8
  586. package/dist/amplitudeTrackEventAtom-f22P2U0u.cjs +0 -15
  587. package/dist/api-D4HaU2Gf.js +0 -166
  588. package/dist/api-D4Xoibs9.cjs +0 -239
  589. package/dist/app-BT3g-mDp.js +0 -515
  590. package/dist/app-DxwdFQlv.cjs +0 -570
  591. package/dist/cdnContext-D-qi0lub.js +0 -38
  592. package/dist/cdnContext-DIVgBnsl.cjs +0 -53
  593. package/dist/chat-ZaY3KY-R.js +0 -226
  594. package/dist/chat-rhEjVfrd.cjs +0 -326
  595. package/dist/chatState-BbI93m6r.js +0 -33
  596. package/dist/chatState-DlJpHAsW.cjs +0 -119
  597. package/dist/dist-C38adNK1.js +0 -5923
  598. package/dist/dist-VxRI6eQv.cjs +0 -6019
  599. package/dist/domObserver-CVhsCSkS.js +0 -285
  600. package/dist/enviveConfig-CQ_8mT-g.cjs +0 -130
  601. package/dist/enviveConfig-Cwlp7-Qz.js +0 -62
  602. package/dist/enviveConfigContext-CIavPzcm.js +0 -47
  603. package/dist/enviveConfigContext-DHEs077z.cjs +0 -62
  604. package/dist/events-CgFGtanE.cjs +0 -69
  605. package/dist/events-WOOrnUAx.js +0 -63
  606. package/dist/exceptions/index.cjs +0 -4
  607. package/dist/exceptions/index.d.cts +0 -12
  608. package/dist/exceptions/index.d.ts +0 -12
  609. package/dist/exceptions/index.js +0 -3
  610. package/dist/exceptions-BjDgLzGi.cjs +0 -32
  611. package/dist/exceptions-CUGY31Ua.js +0 -20
  612. package/dist/featureFlagServiceContext-ClnlCJV5.d.cts +0 -24
  613. package/dist/featureFlagServiceContext-CyPGEe2d.d.ts +0 -24
  614. package/dist/featureFlagServiceContext-Dr8Cw23n.js +0 -46
  615. package/dist/featureFlagServiceContext-rxZhpdEj.cjs +0 -66
  616. package/dist/graphql-CvAHWmel.js +0 -46
  617. package/dist/graphql-JaGqsToc.cjs +0 -70
  618. package/dist/graphqlContext-B8wuRZcp.cjs +0 -111
  619. package/dist/graphqlContext-CpHMbKoX.js +0 -96
  620. package/dist/index-5li6ZMDu.d.ts +0 -11
  621. package/dist/index-BVZbvpx_.d.cts +0 -11
  622. package/dist/index-CMZcE7pk.d.cts +0 -224
  623. package/dist/index-CuihhoIF.d.ts +0 -42
  624. package/dist/index-bEjLKG_Q.d.ts +0 -224
  625. package/dist/index-qOBU4GEh.d.cts +0 -42
  626. package/dist/localStorageContext-BFwvuEcf.js +0 -90
  627. package/dist/localStorageContext-CWc5xJ6U.cjs +0 -104
  628. package/dist/models-Cw0QcbQv.js +0 -1118
  629. package/dist/models-Dl0_Ujgj.cjs +0 -1305
  630. package/dist/newOrgConfigAtom-C8h3w_Ji.js +0 -8
  631. package/dist/newOrgConfigContext-BdzDnzUM.js +0 -53
  632. package/dist/newOrgConfigContext-cWeJAT6E.cjs +0 -68
  633. package/dist/nodeSelector-BAKg1h_y.d.ts +0 -28
  634. package/dist/nodeSelector-BYEAyrsj.d.cts +0 -28
  635. package/dist/org-BNs_maoW.cjs +0 -111
  636. package/dist/org-CScQqL4k.js +0 -32
  637. package/dist/search-CsXXamht.js +0 -233
  638. package/dist/search-DHhDpeQU.cjs +0 -312
  639. package/dist/searchContext-B5ZNLtvd.js +0 -129
  640. package/dist/searchContext-SFvF_Y8J.cjs +0 -145
  641. package/dist/searchServiceAdapter-BkvDIhV8.js +0 -16
  642. package/dist/searchServiceAdapter-C4zzBUl0.cjs +0 -34
  643. package/dist/sessionStorageContext-BuWrJQwc.cjs +0 -66
  644. package/dist/sessionStorageContext-DvFHbk81.js +0 -52
  645. package/dist/shopifyUrlContext-COc1eDR_.cjs +0 -75
  646. package/dist/shopifyUrlContext-CToAt_98.js +0 -61
  647. package/dist/systemSettingsContext-D9iNGz5v.js +0 -39
  648. package/dist/systemSettingsContext-DdV7Yte8.cjs +0 -60
  649. package/dist/types-1iJ_FnQQ.cjs +0 -39
  650. package/dist/types-D5du68Vp.js +0 -27
  651. package/dist/urlsParser-Dax4iVNC.cjs +0 -78
  652. package/dist/urlsParser-NAp2LwWP.js +0 -42
  653. package/dist/useAppDetails-D3T6kJY_.cjs +0 -38
  654. package/dist/useAppDetails-xPVs6fW7.js +0 -30
  655. package/dist/useGraphQLConfig-B1DaVvFx.cjs +0 -76
  656. package/dist/useGraphQLConfig-BtPxjtxw.js +0 -63
  657. package/dist/utils-BZT_oZ3n.js +0 -92
  658. package/dist/utils-D3MjNkd3.cjs +0 -716
  659. package/dist/utils-DMwh3QbT.js +0 -607
  660. package/dist/utils-qtHPLFby.cjs +0 -130
  661. package/src/atoms/search/productRetrievalAPI.ts +0 -72
  662. package/src/atoms/search/productRetrievalAdapter.ts +0 -28
  663. package/src/exceptions/index.ts +0 -2
  664. package/src/global.d.ts +0 -8
  665. package/src/hooks/Search/useRecommendedProducts.ts +0 -50
  666. package/src/hooks/Search/useSearchInput.ts +0 -237
  667. package/src/types/FilterAttribute.ts +0 -35
  668. package/src/types/Suggestion.ts +0 -6
  669. package/src/util/colorVar.ts +0 -4
  670. package/src/util/configVersion.ts +0 -4
  671. package/src/util/domInsertion.ts +0 -17
  672. /package/dist/{featureFlagServiceContext-Csgo-MUv.cjs → AmplitudeOperations-DxQnurSG.cjs} +0 -0
  673. /package/dist/{featureFlagServiceContext-CISyb90N.js → AmplitudeOperations-ni7wVevx.js} +0 -0
  674. /package/src/{exceptions → types/exceptions}/sessionExceptions.ts +0 -0
@@ -0,0 +1,76 @@
1
+ //#region src/application/models/colorsConfig.ts
2
+ var ColorNames = /* @__PURE__ */ function(ColorNames$1) {
3
+ ColorNames$1["TextPrimary"] = "text-primary";
4
+ ColorNames$1["TextSecondary"] = "text-secondary";
5
+ ColorNames$1["TextAccent"] = "text-accent";
6
+ ColorNames$1["TextLink"] = "text-link";
7
+ ColorNames$1["TextLight"] = "text-light";
8
+ ColorNames$1["BackgroundPrimary"] = "background-primary";
9
+ ColorNames$1["BackgroundSecondary"] = "background-secondary";
10
+ ColorNames$1["BackgroundSecondaryDark"] = "background-secondary-dark";
11
+ ColorNames$1["BackgroundTertiary"] = "background-tertiary";
12
+ ColorNames$1["BackgroundDark"] = "background-dark";
13
+ ColorNames$1["BackgroundLight"] = "background-light";
14
+ ColorNames$1["BackgroundSaturated"] = "background-saturated";
15
+ ColorNames$1["BorderLight"] = "border-light";
16
+ ColorNames$1["BorderMedium"] = "border-medium";
17
+ ColorNames$1["BorderDark"] = "border-dark";
18
+ ColorNames$1["BorderOutline"] = "border-outline";
19
+ ColorNames$1["AccentPrimary"] = "accent-primary";
20
+ ColorNames$1["AccentSecondary"] = "accent-secondary";
21
+ return ColorNames$1;
22
+ }(ColorNames || {});
23
+ const colorVar = (color) => `var(--spiffy-colors-${color})`;
24
+
25
+ //#endregion
26
+ //#region src/contexts/types.ts
27
+ var CategoryExtractorType = /* @__PURE__ */ function(CategoryExtractorType$1) {
28
+ CategoryExtractorType$1["VisitCategoryMap"] = "VisitCategoryMap";
29
+ CategoryExtractorType$1["VisitCategoryDefault"] = "VisitCategoryDefault";
30
+ return CategoryExtractorType$1;
31
+ }(CategoryExtractorType || {});
32
+ var PageVariantTestType = /* @__PURE__ */ function(PageVariantTestType$1) {
33
+ PageVariantTestType$1["ShopifyPLP"] = "ShopifyPLP";
34
+ PageVariantTestType$1["ShopifyPDP"] = "ShopifyPDP";
35
+ PageVariantTestType$1["PageCategory"] = "PageCategory";
36
+ PageVariantTestType$1["CatalogCategory"] = "CatalogCategory";
37
+ PageVariantTestType$1["TopCatalogCategory"] = "TopCatalogCategory";
38
+ PageVariantTestType$1["HasReviews"] = "HasReviews";
39
+ PageVariantTestType$1["InCollection"] = "InCollection";
40
+ PageVariantTestType$1["HasMerchantTag"] = "HasMerchantTag";
41
+ PageVariantTestType$1["FeatureGate"] = "FeatureGate";
42
+ PageVariantTestType$1["PlpId"] = "PlpId";
43
+ PageVariantTestType$1["QueryParam"] = "QueryParam";
44
+ PageVariantTestType$1["ProductId"] = "ProductId";
45
+ PageVariantTestType$1["UserHasInteracted"] = "UserHasInteracted";
46
+ PageVariantTestType$1["UserHasNotInteracted"] = "UserHasNotInteracted";
47
+ PageVariantTestType$1["isLoading"] = "isLoading";
48
+ PageVariantTestType$1["isProductComparison"] = "isProductComparison";
49
+ PageVariantTestType$1["Fallback"] = "Fallback";
50
+ PageVariantTestType$1["UrlResolver"] = "UrlResolver";
51
+ PageVariantTestType$1["Null"] = "null";
52
+ return PageVariantTestType$1;
53
+ }(PageVariantTestType || {});
54
+ var WidgetType = /* @__PURE__ */ function(WidgetType$1) {
55
+ WidgetType$1["ChatPreview"] = "ChatPreview";
56
+ WidgetType$1["SocialProofV2"] = "SocialProofV2";
57
+ WidgetType$1["ChatPreviewV2"] = "ChatPreviewV2";
58
+ WidgetType$1["ChatPreviewIsLoading"] = "ChatPreviewIsLoading";
59
+ WidgetType$1["ChatPreviewPostInteraction"] = "ChatPreviewPostInteraction";
60
+ WidgetType$1["ChatPreviewProductComparison"] = "ChatPreviewProductComparison";
61
+ WidgetType$1["SuggestionBar"] = "SuggestionBar";
62
+ WidgetType$1["SuggestionBarV2"] = "SuggestionBarV2";
63
+ WidgetType$1["ImagePromptCard"] = "ImagePromptCard";
64
+ WidgetType$1["ImageBanner"] = "ImageBanner";
65
+ WidgetType$1["SingleImagePrompt"] = "SingleImagePrompt";
66
+ WidgetType$1["SearchPrompt"] = "SearchPrompt";
67
+ WidgetType$1["SearchZeroStateEntryPoint"] = "SearchZeroStateEntryPoint";
68
+ WidgetType$1["SearchResultsEntryPoint"] = "SearchResultsEntryPoint";
69
+ WidgetType$1["SearchOverlayHost"] = "SearchOverlayHost";
70
+ WidgetType$1["NoOp"] = "NoOp";
71
+ return WidgetType$1;
72
+ }(WidgetType || {});
73
+
74
+ //#endregion
75
+ export { CategoryExtractorType, ColorNames, PageVariantTestType, WidgetType, colorVar };
76
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMtQ3RVYjYzYnQuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9jb2xvcnNDb25maWcudHMiLCIuLi9zcmMvY29udGV4dHMvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZW51bSBDb2xvck5hbWVzIHtcbiAgVGV4dFByaW1hcnkgPSBcInRleHQtcHJpbWFyeVwiLFxuICBUZXh0U2Vjb25kYXJ5ID0gXCJ0ZXh0LXNlY29uZGFyeVwiLFxuICBUZXh0QWNjZW50ID0gXCJ0ZXh0LWFjY2VudFwiLFxuICBUZXh0TGluayA9IFwidGV4dC1saW5rXCIsXG4gIFRleHRMaWdodCA9IFwidGV4dC1saWdodFwiLFxuICBCYWNrZ3JvdW5kUHJpbWFyeSA9IFwiYmFja2dyb3VuZC1wcmltYXJ5XCIsXG4gIEJhY2tncm91bmRTZWNvbmRhcnkgPSBcImJhY2tncm91bmQtc2Vjb25kYXJ5XCIsXG4gIEJhY2tncm91bmRTZWNvbmRhcnlEYXJrID0gXCJiYWNrZ3JvdW5kLXNlY29uZGFyeS1kYXJrXCIsXG4gIEJhY2tncm91bmRUZXJ0aWFyeSA9IFwiYmFja2dyb3VuZC10ZXJ0aWFyeVwiLFxuICBCYWNrZ3JvdW5kRGFyayA9IFwiYmFja2dyb3VuZC1kYXJrXCIsXG4gIEJhY2tncm91bmRMaWdodCA9IFwiYmFja2dyb3VuZC1saWdodFwiLFxuICBCYWNrZ3JvdW5kU2F0dXJhdGVkID0gXCJiYWNrZ3JvdW5kLXNhdHVyYXRlZFwiLFxuICBCb3JkZXJMaWdodCA9IFwiYm9yZGVyLWxpZ2h0XCIsXG4gIEJvcmRlck1lZGl1bSA9IFwiYm9yZGVyLW1lZGl1bVwiLFxuICBCb3JkZXJEYXJrID0gXCJib3JkZXItZGFya1wiLFxuICBCb3JkZXJPdXRsaW5lID0gXCJib3JkZXItb3V0bGluZVwiLFxuICBBY2NlbnRQcmltYXJ5ID0gXCJhY2NlbnQtcHJpbWFyeVwiLFxuICBBY2NlbnRTZWNvbmRhcnkgPSBcImFjY2VudC1zZWNvbmRhcnlcIixcbn1cblxudHlwZSBDb2xvck1hcHBpbmcgPSB7XG4gIFtrZXkgaW4gQ29sb3JOYW1lc106IHN0cmluZztcbn07XG5cbmNvbnN0IGNvbG9yVmFyID0gKGNvbG9yOiBDb2xvck5hbWVzKTogc3RyaW5nID0+IGB2YXIoLS1zcGlmZnktY29sb3JzLSR7Y29sb3J9KWA7XG5leHBvcnQgeyBDb2xvck5hbWVzLCBjb2xvclZhciB9O1xuZXhwb3J0IHR5cGUgeyBDb2xvck1hcHBpbmcgfTtcbiIsImltcG9ydCB7IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25cIjtcbmltcG9ydCB7XG4gIENvbG9yTWFwcGluZyxcbiAgQ29sb3JOYW1lcyxcbiAgY29sb3JWYXIsXG59IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NvbG9yc0NvbmZpZ1wiO1xuaW1wb3J0IHsgRmVhdHVyZUdhdGVzIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZmVhdHVyZUdhdGVzXCI7XG5pbXBvcnQge1xuICBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGUsXG4gIEN1c3RvbWVyU2VydmljZVR5cGUsXG59IGZyb20gXCJzcmMvdHlwZXMvY3VzdG9tZXJTZXJ2aWNlXCI7XG5pbXBvcnQgeyBHcmlkSW5zZXJ0aW9uVHlwZSB9IGZyb20gXCJzcmMvbWVyY2hhbnRzL2dyaWRJbnNlcnRpb25cIjtcbmltcG9ydCB7IERPTUluc2VydGlvblR5cGUgfSBmcm9tIFwic3JjL21lcmNoYW50cy9kb21JbnNlcnRpb25cIjtcblxuaW1wb3J0IHR5cGUge1xuICBQYWdlVmlzaXRDYXRlZ29yeSxcbiAgU3VwcG9ydGVkRXZlbnRQcm9kdWN0Q2F0ZWdvcnksXG59IGZyb20gXCJAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnRcIjtcbmltcG9ydCB7IENoYXRTdGF0ZSB9IGZyb20gXCJzcmMvdHlwZXMvY3VzdHNlcnZpY2UtdHlwZXNcIjtcbmltcG9ydCB7IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MgfSBmcm9tIFwic3JjL3R5cGVzL3N1Z2dlc3Rpb25CYXJWMi10eXBlc1wiO1xuaW1wb3J0IHsgVGVzdFByb3BzIH0gZnJvbSBcInNyYy90eXBlcy90ZXN0LXR5cGVzXCI7XG5pbXBvcnQgeyBPcmdDb25maWdGZWF0dXJlR2F0ZSB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9vcmdDb25maWdSZXN1bHRzXCI7XG5cbnR5cGUgU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucyA9XG4gIHwgXCJhbHdheXNcIlxuICB8IFwiYWZ0ZXItaW50ZXJhY3Rpb24tb24tbW9iaWxlLWFsd2F5cy1kZXNrdG9wXCJcbiAgfCBcImFmdGVyLWludGVyYWN0aW9uLWFueXdoZXJlXCJcbiAgfCBcIm5ldmVyXCI7XG5cbnR5cGUgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnID0ge1xuICBwb3NpdGlvbjogXCJib3R0b20tbGVmdFwiIHwgXCJtaWRkbGUtbGVmdFwiIHwgXCJtaWRkbGUtcmlnaHRcIiB8IFwiYm90dG9tLXJpZ2h0XCI7XG4gIGV4cGFuc2lvblRleHQ/OiB7XG4gICAgcGRwOiBzdHJpbmc7XG4gICAgcGxwOiBzdHJpbmc7XG4gIH07XG4gIG1pbmltaXplZENvbG9yOiBzdHJpbmc7XG4gIGV4cGFuZGVkQ29sb3I6IHN0cmluZztcbiAgdGV4dENvbG9yPzogc3RyaW5nO1xuICBzaG93T3B0aW9uOiBTaG93RmxvYXRpbmdCdXR0b25PcHRpb25zO1xuICBpY29uU1ZHU3JjPzogc3RyaW5nO1xuICBpY29uU2l6ZT86IG51bWJlcjtcbiAgaWNvblN0cm9rZUNvbG9yPzogc3RyaW5nO1xuICBpY29uRmlsbENvbG9yPzogc3RyaW5nO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIGZvbnRTaXplPzogbnVtYmVyO1xuICBleHBhbmRhYmxlPzogYm9vbGVhbjtcbn07XG5cbnR5cGUgV2VsY29tZVNlY3Rpb25WYXJpYW50ID0gXCJzdGFuZGFyZFwiIHwgXCJvdXRsaW5lZFwiO1xuXG50eXBlIFdlbGNvbWVTZWN0aW9uQ29sb3JWYXJpYW50ID0gXCJzdGFuZGFyZFwiIHwgXCJhY2NlbnRcIiB8IFwiYnJhbmRcIiB8IFwibGlnaHRcIjtcblxudHlwZSBXZWxjb21lU2VjdGlvbkNvbmZpZyA9IHtcbiAgdmFyaWFudDogV2VsY29tZVNlY3Rpb25WYXJpYW50O1xuICBjb2xvclZhcmlhbnQ/OiBXZWxjb21lU2VjdGlvbkNvbG9yVmFyaWFudDtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHN1YnRpdGxlPzogc3RyaW5nO1xuICAvLyBpY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICAvKiBTZXJpYWxpemFibGUgaWNvbiBuYW1lIHRoYXQgbWFwcyB0byBhIFJlYWN0IGNvbXBvbmVudC4gUHJlZmVycmVkIG92ZXIgaWNvbiBmb3IgZGF0YWJhc2Ugc3RvcmFnZS4gKi9cbiAgaWNvbk5hbWU/OiBzdHJpbmc7XG4gIGltYWdlU3JjPzogc3RyaW5nO1xufTtcblxudHlwZSBDaGF0UHJldmlld0NvbmZpZyA9IHtcbiAgdmFyaWFudDogXCJmbGF0XCIgfCBcImZpbGxlZFwiIHwgXCJvdXRsaW5lZFwiO1xuICBsYXJnZVByb2R1Y3RDb21wYXJpc29uPzogYm9vbGVhbjtcbiAgZmlsbGVkQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gIGljb25GaWxsQ29sb3I6IHN0cmluZztcbiAgYnV0dG9uVGV4dENvbG9yPzogc3RyaW5nO1xuICBidXR0b25UZXh0U2Vjb25kYXJ5Q29sb3I/OiBzdHJpbmc7XG4gIGJ1dHRvblRleHRIb3ZlckNvbG9yPzogc3RyaW5nO1xuICBidXR0b25CYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgYnV0dG9uQmFja2dyb3VuZEhvdmVyQ29sb3I6IHN0cmluZztcbiAgYnV0dG9uQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIGJ1dHRvbkJvcmRlckhvdmVyQ29sb3I/OiBzdHJpbmc7XG4gIGNvcGllczogeyBwZHA6IHN0cmluZ1tdOyBwbHA6IHN0cmluZ1tdIH07XG4gIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM/OiB7IHBkcDogc3RyaW5nW107IHBscDogc3RyaW5nW10gfTtcbiAgc3RhdGljUExQSW1hZ2VzPzogc3RyaW5nW107XG4gIGZvb3RlckNvbmZpZz86IENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnO1xuICBoZWFkZXJDb25maWc/OiBDaGF0UHJldmlld0hlYWRlckNvbmZpZztcbiAgdG9wTWFyZ2luPzogbnVtYmVyO1xufTtcblxudHlwZSBDaGF0UHJldmlld0hlYWRlckNvbmZpZyA9IHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGltYWdlU3JjPzogc3RyaW5nO1xuICBpbWFnZUhlaWdodD86IG51bWJlcjtcbiAgc3BhcmtsZXNDb2xvcj86IHN0cmluZzsgLy8gdXNlZCBieTogc3BhbngsIHVuaXF1ZVZpbnRhZ2UsIGRyZWFtbGFuZEJhYnlcbiAgZm9udFNpemU/OiBzdHJpbmc7XG4gIGljb25XaWR0aD86IHN0cmluZztcbiAgaWNvbkhlaWdodD86IHN0cmluZztcbn07XG5cbmludGVyZmFjZSBDaGF0UHJldmlld0Zvb3RlckNvbmZpZyB7XG4gIGhhc0ZhZGU/OiBib29sZWFuOyAvLyB1c2VkIGJ5OiBzcGFueCwgdW5pcXVlVmludGFnZVxuICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudD86IFwiZGFya1wiIHwgXCJsaWdodFwiIHwgXCJvdXRsaW5lZFwiO1xuICBzdWdnZXN0aW9uc0JhY2tncm91bmQ/OiBzdHJpbmc7IC8vIHVzZWQgYnk6IGNhcmJhaG5cbiAgcmVwbHlCdXR0b25JY29uPzpcbiAgfCBcInNlbmRcIlxuICB8IFwibWFnbmlmeWluZ0dsYXNzXCJcbiAgfCBcInRoaW5NYWduaWZ5aW5nR2xhc3NcIlxuICB8IFwic2VhcmNoSWNvblwiO1xuICByZXBseUJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gIHJlcGx5SW5wdXRIYXNTaGFkb3c/OiBib29sZWFuOyAvLyB1c2VkIGJ5OiBzcGFueFxuICByZXBseUlucHV0SGFzQm9yZGVyPzogYm9vbGVhbjsgLy8gdXNlZCBieTogc3BhbnhcbiAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nOyAvLyB1c2VkIGJ5IHNwYW54LCB0dXNoYmFieSwgd2lsbCBuZWVkIGN1c3RvbSBDU1Mgd2hlbiBzd2l0Y2hpbmcgb3ZlclxufVxuXG50eXBlIFByb2R1Y3RSZXZpZXdTdHlsZVZhcmlhbnQgPSBcInN0YW5kYXJkXCIgfCBcImJvcmRlcmVkXCI7XG5cbnR5cGUgUHJvZHVjdFJldmlld0NvbG9yVmFyaWFudCA9IFwibmV1dHJhbFwiIHwgXCJicmFuZFwiIHwgXCJwcmVtaXVtXCI7XG5cbmludGVyZmFjZSBQcm9kdWN0UmV2aWV3Q29uZmlnIHtcbiAgc3R5bGVWYXJpYW50OiBQcm9kdWN0UmV2aWV3U3R5bGVWYXJpYW50O1xuICBjb2xvclZhcmlhbnQ6IFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQ7XG4gIHZlcmlmaWVkQnV5ZXJUaXRsZTogc3RyaW5nO1xuICBpbmNlbnRpdml6ZWRSZXZpZXdGbGFnPzogYm9vbGVhbjtcbn1cblxudHlwZSBQYWdlQ2FyZFZhcmlhbnQgPSBcImZpbGxlZFwiIHwgXCJvdXRsaW5lZFwiIHwgXCJtaW5pbWFsXCI7XG5cbnR5cGUgUGFnZUNhcmRIb3ZlclZhcmlhbnQgPSBcIm5vbmVcIiB8IFwic2hhZG93XCIgfCBcImxpZnRcIjtcblxudHlwZSBQYWdlQ2FyZEljb25WYXJpYW50ID0gXCJwcmltYXJ5XCIgfCBcImFjY2VudFwiIHwgXCJiYWNrZ3JvdW5kXCIgfCBcIm5vbmVcIjtcblxudHlwZSBQYWdlQ2FyZENvbmZpZyA9IHtcbiAgdmFyaWFudDogUGFnZUNhcmRWYXJpYW50O1xuICBob3ZlclZhcmlhbnQ6IFBhZ2VDYXJkSG92ZXJWYXJpYW50O1xuICBpY29uVmFyaWFudDogUGFnZUNhcmRJY29uVmFyaWFudDtcbn07XG5cbnR5cGUgUHJvZHVjdENhcmRWYXJpYW50ID1cbiAgfCBcImZpbGxlZFwiXG4gIHwgXCJib3JkZXJlZFwiXG4gIHwgXCJtaW5pbWFsXCJcbiAgfCBcInRyYW5zcGFyZW50Qm9yZGVyZWRcIjtcblxudHlwZSBQcm9kdWN0Q2FyZEhvdmVyVmFyaWFudCA9IFwiYmFja2dyb3VuZERhcmtcIiB8IFwibm9uZVwiO1xuXG50eXBlIFByb2R1Y3RDYXJkTGF5b3V0VmFyaWFudCA9IFwibm9ybWFsXCIgfCBcInRhbGxcIiB8IFwic3F1YXJlXCI7XG5cbmludGVyZmFjZSBQcm9kdWN0Q2FyZENvbmZpZyB7XG4gIHZhcmlhbnQ6IFByb2R1Y3RDYXJkVmFyaWFudDtcbiAgaG92ZXJWYXJpYW50OiBQcm9kdWN0Q2FyZEhvdmVyVmFyaWFudDtcbiAgbGF5b3V0VmFyaWFudDogUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50O1xuICBwcmljZVByZWZpeD86IHN0cmluZztcbn1cblxudHlwZSBDU1N3aXRjaENvbmZpZyA9IHtcbiAgdmFyaWFudDogXCJhdHRhY2hlZFwiIHwgXCJkZXRhY2hlZFwiO1xuICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgYm9yZGVyQ29sb3I6IHN0cmluZztcbiAgc2VsZWN0ZWRUZXh0Q29sb3I6IHN0cmluZztcbiAgc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gIHVuc2VsZWN0ZWRUZXh0Q29sb3I6IHN0cmluZztcbiAgdW5zZWxlY3RlZEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgc3VwcG9ydFRpdGxlPzogc3RyaW5nO1xuICBzcGlmZnlUaXRsZT86IHN0cmluZztcbiAgc3BpZmZ5VGl0bGVIYXNMb2dvPzogYm9vbGVhbjtcbn07XG5cbnR5cGUgQ2hhdEhlYWRlckNvbmZpZyA9IHtcbiAgY29sbGFwc2VkQ29sb3I6IHN0cmluZztcbiAgZXhwYW5kZWRDb2xvcjogc3RyaW5nO1xuICBjaGV2cm9uQ29sb3I6IHN0cmluZztcbiAgaW1hZ2VTcmM/OiBzdHJpbmc7XG4gIGljb24/OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxSZWFjdC5TVkdQcm9wczxTVkdTVkdFbGVtZW50Pj47XG4gIGNsb3NlSWNvbj86IFJlYWN0LkZ1bmN0aW9uQ29tcG9uZW50PFJlYWN0LlNWR1Byb3BzPFNWR1NWR0VsZW1lbnQ+PjtcbiAgYm9yZGVyQm90dG9tPzogc3RyaW5nO1xuICBoZWFkZXJCYXJIZWlnaHRQYXJ0aWFsVmlldzogbnVtYmVyO1xuICBoZWFkZXJCYXJIZWlnaHRGdWxsVmlldzogbnVtYmVyO1xuICBjdXN0b21lclN1cHBvcnRTd2l0Y2hDb25maWc/OiBDU1N3aXRjaENvbmZpZztcbn07XG5cbnR5cGUgU2ltcGxlQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24gPSB7XG4gIGludGVncmF0aW9uTW9kZTogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlO1xuICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgdXNlVW5pZmllZEJ1dHRvbj86IGJvb2xlYW47XG4gIG1heGZpbGVVcGxvYWRTaXplPzogbnVtYmVyO1xufTtcblxudHlwZSBGdWxsQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24gPSB7XG4gIGludGVncmF0aW9uTW9kZTogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlO1xuICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgdXNlVW5pZmllZEJ1dHRvbj86IGJvb2xlYW47XG4gIGNoYXRFbmFibGVkRHVyaW5nQnVzaW5lc3NIb3Vycz86IGJvb2xlYW47XG4gIHNob3dOYW1lSW5wdXQ/OiBib29sZWFuO1xuICBmb3JtQWlOYW1lPzogc3RyaW5nO1xuICB3ZWxjb21lVGl0bGU6IHN0cmluZztcbiAgd2VsY29tZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHNob3dXZWxjb21lT25Gb3JtPzogYm9vbGVhbjtcbiAgY29udGFjdFN1YmplY3RPcHRpb25zPzogc3RyaW5nW107XG4gIGdldEN1c3RvbVdhaXRpbmdNZXNzYWdlPzogKG5hbWU/OiBzdHJpbmcpID0+IHN0cmluZztcbiAgd2l0aGluQnVzaW5lc3NIb3Vyc01lc3NhZ2U/OiBzdHJpbmc7XG4gIHdpdGhpbkJ1c2luZXNzSG91cnNXYWl0aW5nTWVzc2FnZT86IHN0cmluZztcbiAgb3V0c2lkZUJ1c2luZXNzSG91cnNNZXNzYWdlPzogc3RyaW5nO1xuICBvdXRzaWRlQnVzaW5lc3NIb3Vyc1dhaXRpbmdNZXNzYWdlPzogc3RyaW5nO1xuICB3aXRoaW5CdXNpbmVzc0hvdXJzRm9ybU1lc3NhZ2U/OiBzdHJpbmc7XG4gIG91dHNpZGVCdXNpbmVzc0hvdXJzRm9ybU1lc3NhZ2U/OiBzdHJpbmc7XG4gIHN1Z2dlc3RlZEFJUXVlc3Rpb25zPzogc3RyaW5nW107XG4gIGJ1c2luZXNzSG91cnNQb2xsaW5nPzogbnVtYmVyO1xuICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBCRS5cbiAgICovXG4gIGJ1c2luZXNzSG91cnNTdGFydFVUQz86IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgaGFuZGxlZCBieSB0aGUgQkUuXG4gICAqL1xuICBidXNpbmVzc0hvdXJzRW5kVVRDPzogc3RyaW5nO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBCRS5cbiAgICovXG4gIGJ1c2luZXNzSG91cnNUaW1lem9uZT86IHN0cmluZztcblxuICBzaG93QUlTdWdnZXN0aW9uc1dpdGhpbkJ1c2luZXNzSG91cnM/OiBib29sZWFuO1xuICB3YWl0aW5nTWVzc2FnZVBvc2l0aW9uPzogXCJCRUZPUkVfTUVTU0FHRVNcIiB8IFwiQUZURVJfTUVTU0FHRVNcIjtcbiAgbGVnYWxNZXNzYWdlPzogc3RyaW5nO1xuICB3aXRoaW5CdXNpbmVzc0hvdXJzSW5pdGlhbFN0YXRlPzogQ2hhdFN0YXRlO1xuICBvdXRzaWRlQnVzaW5lc3NIb3Vyc0luaXRpYWxTdGF0ZT86IENoYXRTdGF0ZTtcbiAgd2l0aGluQnVzaW5lc3NIb3Vyc0J1dHRvbnRleHQ/OiBzdHJpbmc7XG4gIG91dHNpZGVCdXNpbmVzc0hvdXJzQnV0dG9udGV4dD86IHN0cmluZztcbiAgcmVvcGVuQ2hhdE1lc3NhZ2U6IHN0cmluZztcbn07XG5cbnR5cGUgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24gPVxuICB8IFNpbXBsZUN1c3RvbWVyU2VydmljZUludGVncmF0aW9uXG4gIHwgRnVsbEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uO1xuXG50eXBlIENvbnZlcnNhdGlvbmFsU2VhY2ggPSB7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICByZXBseUlucHV0PzogUmVwbHlJbnB1dENvbmZpZztcbiAgc3VnZ2VzdGlvbnM/OiBzdHJpbmdbXTtcbiAgZW50cnlwb2ludEJnQ29sb3I/OiBzdHJpbmc7XG4gIGVudHJ5cG9pbnRUZXh0Q29sb3I/OiBzdHJpbmc7XG4gIGVudHJ5cG9pbnRCdG5Db2xvcj86IHN0cmluZztcbiAgZW50cnlwb2ludEJ0blRleHRDb2xvcj86IHN0cmluZztcbiAgZW50cnlwb2ludEJ0bkJvcmRlckNvbG9yPzogc3RyaW5nO1xuICBlbnRyeXBvaW50Q29udGFpbmVyPzogc3RyaW5nO1xuICBlbnRyeXBvaW50VHJpZ2dlcj86IHN0cmluZztcbiAgcHJvZHVjdEdyaWRDb250YWluZXI/OiBzdHJpbmc7XG4gIGdlbmVyYWxTZWFyY2hCdG4/OiBzdHJpbmc7XG4gIHBhZ2VDb250ZW50Pzogc3RyaW5nO1xuICBzZWFyY2hDb250ZW50Pzogc3RyaW5nO1xuICBzb3J0aW5nVGl0bGU/OiBzdHJpbmc7XG4gIHNlbGVjdGlvblRpdGxlPzogc3RyaW5nO1xuICBzb3J0aW5nRm9udD86IHN0cmluZztcbiAgb3B0aW9uc0ZvbnQ/OiBzdHJpbmc7XG4gIHNvcnRpbmdCdXR0b25UZXh0Pzogc3RyaW5nO1xufTtcblxudHlwZSBDaGF0TWVzc2FnZVZhcmlhbnQgPSBcInN0YW5kYXJkXCIgfCBcInByZW1pdW1cIiB8IFwiYWNjZW50XCI7XG5cbmludGVyZmFjZSBDaGF0TWVzc2FnZUNvbmZpZyB7XG4gIGFzc2lzdGFudENoYXRUaXRsZTogc3RyaW5nO1xuICB2YXJpYW50OiBDaGF0TWVzc2FnZVZhcmlhbnQ7XG4gIHByb2R1Y3RMaW5rOiB7XG4gICAgdmFyaWFudDogUHJvZHVjdExpbmtWYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogUHJvZHVjdExpbmtIb3ZlclZhcmlhbnQ7XG4gICAgaWNvblZhcmlhbnQ6IFByb2R1Y3RMaW5rSWNvblZhcmlhbnQ7XG4gIH07XG59XG5cbmludGVyZmFjZSBSZXBseUlucHV0Q29uZmlnIHtcbiAgLy8gVE9ETyBjb25zaWRlciBtYWtpbmcgdGhpcyBhIG51bWJlclxuICBzaXplPzogXCJtZFwiIHwgXCJsZ1wiO1xuICBzZW5kSWNvbjogXCJhcnJvd1VwXCIgfCBcInNlbmRcIiB8IFwic2VhcmNoXCI7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUGFydGlhbFZpZXdDb25maWcge1xuICAvLyBtYXhpbXVtIGhlaWdodCBvZiB0aGUgcGFydGlhbCB2aWV3IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgc2NyZWVuIGhlaWdodFxuICBtYXhIZWlnaHQ6IG51bWJlcjtcbiAgYm9yZGVyUmFkaXVzPzogc3RyaW5nO1xufVxuXG50eXBlIFByb2R1Y3RMaW5rSWNvblZhcmlhbnQgPVxuICB8IFwiYWNjZW50UHJpbWFyeVwiXG4gIHwgXCJiYWNrZ3JvdW5kUHJpbWFyeVwiXG4gIHwgXCJiYWNrZ3JvdW5kUHJpbWFyeURhcmtcIlxuICB8IFwiYm9yZGVyTGlnaHRcIlxuICB8IFwiYmFja2dyb3VuZFNhdHVyYXRlZFwiO1xuXG50eXBlIFByb2R1Y3RMaW5rVmFyaWFudCA9IFwidGV4dExpbmtcIjtcblxudHlwZSBQcm9kdWN0TGlua0hvdmVyVmFyaWFudCA9IFwiYmFja2dyb3VuZERhcmtcIjtcblxudHlwZSBTZWFyY2hDYXJkVmFyaWFudCA9XG4gIHwgXCJiYWNrZ3JvdW5kUHJpbWFyeVwiXG4gIHwgXCJiYWNrZ3JvdW5kU2Vjb25kYXJ5XCJcbiAgfCBcImJhY2tncm91bmRTZWNvbmRhcnlEYXJrXCJcbiAgfCBcImJhY2tncm91bmRMaWdodFwiXG4gIHwgXCJiYWNrZ3JvdW5kU2F0dXJhdGVkXCI7XG5cbnR5cGUgU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQgPVxuICB8IFwib3V0bGluZWRcIlxuICB8IFwib3V0bGluZWRMaWdodFwiXG4gIHwgXCJwcmltYXJ5XCJcbiAgfCBcInNlY29uZGFyeVwiXG4gIHwgXCJ0ZXJ0aWFyeVwiXG4gIHwgXCJkYXJrXCJcbiAgfCBcImRhcmtBY2NlbnRcIlxuICB8IFwiZGFya1ByaW1hcnlcIlxuICB8IFwic2Vjb25kYXJ5RGFya1wiXG4gIHwgXCJzZWNvbmRhcnlBY2NlbnRcIlxuICB8IFwidHJhbnNwYXJlbnRcIlxuICB8IFwidHJhbnNwYXJlbnREYXJrXCJcbiAgfCBcImxpZ2h0RGFya1wiO1xuXG5pbnRlcmZhY2UgU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyB7XG4gIHZhcmlhbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgaG92ZXJWYXJpYW50PzogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIGFuc3dlclZhcmlhbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgYm9yZGVyUmFkaXVzPzogXCJzbVwiIHwgXCJtZFwiIHwgXCJsZ1wiO1xufVxuXG50eXBlIE51bVJvd3MgPSBcImRlZmF1bHRcIiB8IFwiYWx3YXlzT25lUm93XCIgfCBcImFsd2F5c1R3b1Jvd3NcIiB8IFwidHdvUm93c09uTW9iaWxlXCI7XG5cbmludGVyZmFjZSBBbHBoYWJldGljRmlsdGVyU29ydGluZyB7XG4gIHR5cGU6IFwiYWxwaGFiZXRpY1wiO1xufVxuaW50ZXJmYWNlIFByb2R1Y3RDb3VudEZpbHRlclNvcnRpbmcge1xuICB0eXBlOiBcInByb2R1Y3RDb3VudFwiO1xufVxuaW50ZXJmYWNlIEN1c3RvbUZpbHRlclNvcnRpbmcge1xuICB0eXBlOiBcImN1c3RvbVwiO1xuICBtYXA6IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG59XG5cbnR5cGUgRmlsdGVyU29ydGluZyA9XG4gIHwgQWxwaGFiZXRpY0ZpbHRlclNvcnRpbmdcbiAgfCBQcm9kdWN0Q291bnRGaWx0ZXJTb3J0aW5nXG4gIHwgQ3VzdG9tRmlsdGVyU29ydGluZztcblxuaW50ZXJmYWNlIEJhc2VGaWx0ZXJDb25maWcge1xuICBmaWx0ZXJJZDogc3RyaW5nO1xuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xufVxuaW50ZXJmYWNlIER5bmFtaWNGaWx0ZXJDb25maWcgZXh0ZW5kcyBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgdHlwZTogXCJkeW5hbWljXCI7XG4gIGF0dHJpYnV0ZTogc3RyaW5nO1xuICBzb3J0aW5nOiBGaWx0ZXJTb3J0aW5nO1xufVxuXG5pbnRlcmZhY2UgUHJpY2VGaWx0ZXJDb25maWcgZXh0ZW5kcyBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgdHlwZTogXCJwcmljZVwiO1xuICBidWNrZXRTaXplOiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIEZpbHRlckF0dHJpYnV0ZSA9IER5bmFtaWNGaWx0ZXJDb25maWcgfCBQcmljZUZpbHRlckNvbmZpZztcblxuZXhwb3J0IHR5cGUgU2VhcmNoWmVyb1N0YXRlVmFyaWFudCA9XG4gIHwgXCJiYWNrZ3JvdW5kVGVydGlhcnlcIlxuICB8IFwiYmFja2dyb3VuZERhcmtcIlxuICB8IFwiYmFja2dyb3VuZFByaW1hcnlcIjtcbmV4cG9ydCB0eXBlIFNlYXJjaFplcm9TdGF0ZUxheW91dCA9IFwiaW5wdXRcIiB8IFwiaWNvblwiO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hJbnB1dFZhcmlhbnQgPSBcInN0YW5kYXJkXCI7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEljb25WYXJpYW50ID0gXCJ0aGluXCIgfCBcImJvbGRcIjtcblxuZXhwb3J0IHR5cGUgU2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQgPSBcImRhcmtCdXR0b25cIiB8IFwibGlnaHRCdXR0b25cIjtcblxuZXhwb3J0IHR5cGUgUHJvZHVjdEdyaWRWYXJpYW50ID0gXCJzdGFuZGFyZFwiIHwgXCJzcXVhcmVcIjtcblxudHlwZSBVc2VyUXVlcnlCdXR0b25JY29uID1cbiAgfCBcIm1hZ25pZnlpbmdHbGFzc1wiXG4gIHwgXCJzZW5kXCJcbiAgfCBcIm1hZ25pZnlpbmdHbGFzc1RoaW5cIlxuICB8IFwic2VuZEFycm93XCJcbiAgfCBcInNlYXJjaEljb25cIjtcblxuaW50ZXJmYWNlIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZyB7XG4gIHZhcmlhbnQ/OiBcImJveFwiIHwgXCJ1bmRlcmxpbmVMaWdodFwiIHwgXCJ1bmRlcmxpbmVEYXJrXCI7XG4gIHBsYWNlaG9sZGVyVGV4dD86IHN0cmluZztcbiAgaWNvbjogVXNlclF1ZXJ5QnV0dG9uSWNvbjtcbn1cblxuLy8gVE9ETzogdGhpcyBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHRvcC1sZXZlbCB3aWRnZXQgY29uZmlnXG5pbnRlcmZhY2UgVGVybXNBbmRDb25kaXRpb25zQ29uZmlnIHtcbiAgY29weTogc3RyaW5nO1xuICBsaW5rOiBzdHJpbmc7XG4gIGxpbmtUZXh0OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncyB7XG4gIGR5bmFtaWNWYXJpYW50czoge1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47IC8vIFRoaXMgZmVhdHVyZSB3aWxsIGVuYWJsZSBkeW5hbWljIHZhcmlhbnRzIGZvciB0aGUgbWVyY2hhbnQuIFVzZWZ1bCBmb3IgU1BBJ3NcbiAgICByZWZyZXNoSW50ZXJ2YWw/OiBudW1iZXI7IC8vIFRoZSBpbnRlcnZhbCBpbiBtaWxsaXNlY29uZHMgdG8gY2hlY2sgZm9yIGNoYW5nZXMgaW4gdGhlIFVSTFxuICB9O1xufVxuXG5pbnRlcmZhY2UgRmxvYXRpbmdDaGF0Q29uZmlnIHtcbiAgZW5hYmxlV2F0ZXJtYXJrOiBib29sZWFuO1xuICB1c2VyUXVlcnlJbnB1dEVuYWJsZWQ6IGJvb2xlYW47XG4gIGlnbm9yZUZpcnN0TW9kZWxSZXNwb25zZT86IGJvb2xlYW47XG4gIG5ldmVyU2hvd1NpbmdsZVByb2R1Y3RDYXJkcz86IGJvb2xlYW47XG4gIHRlcm1zQW5kQ29uZGl0aW9uc0NvbmZpZz86IFRlcm1zQW5kQ29uZGl0aW9uc0NvbmZpZztcblxuICAvLyBGb290ZXIgY29uZmlnXG4gIHN1Z2dlc3Rpb25CdXR0b25Db25maWc/OiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICByZXBseUlucHV0Q29uZmlnOiBSZXBseUlucHV0Q29uZmlnO1xufVxuXG5pbnRlcmZhY2UgU2VhcmNoQ29uZmlnIHtcbiAgZW5hYmxlR2xvYmFsU2VhcmNoOiBib29sZWFuO1xuICBzZWFyY2hGaWx0ZXJDb25maWc6IEZpbHRlckF0dHJpYnV0ZVtdO1xuICByZWRpcmVjdFNlYXJjaFJlc3VsdHNVcmw/OiBzdHJpbmc7XG4gIGFkZGl0aXZlRHluYW1pY0ZpbHRlcnM/OiBib29sZWFuO1xufVxuXG50eXBlIE9yZ1VJQ29uZmlnID0ge1xuICBzaG9ydE5hbWU6IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG4gIGZsb2F0aW5nRW50cnlwb2ludENvbmZpZz86IEZsb2F0aW5nRW50cnlQb2ludENvbmZpZztcbiAgLy8gRGVwcmVjYXRlZCAtIHJlbW92ZSB3aXRoIENoYXRQcmV2aWV3IHJld3JpdGVcbiAgY2hhdFByZXZpZXdDb25maWc/OiBDaGF0UHJldmlld0NvbmZpZztcblxuICBjdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb247XG4gIC8vIERlcHJlY2F0ZWQgLSByZW1vdmUgd2hlbiBHbG9iYWwgU2VhcmNoIGlzIGZ1bGx5IGxhdW5jaGVkXG4gIGNvbnZlcnNhdGlvbmFsU2VhcmNoPzogQ29udmVyc2F0aW9uYWxTZWFjaDtcblxuICBtZXJjaGFudE92ZXJyaWRlQ3NzPzogc3RyaW5nO1xuXG4gIC8vIERlcHJlY2F0ZWQgVE9ETzogUmVtb3ZlIHRoaXMgZGVwcmVjYXRlZCB2YWx1ZSB3aGVuIEdyb292ZSBDWCBoYXMgcHJvcGVyIHVuaWZpZWQgYnV0dG9uIHN1cHBvcnRcbiAgLy8gc2VsZWN0b3JzIGZvciBlbGVtZW50cyB0aGF0IHNob3VsZCBiZSBoaWRkZW4gd2hlbiB0aGUgY2hhdCBpcyBvcGVuXG4gIC8vIGUuZy4gQ1Mgd2lkZ2V0cyB3aXRoIG1heCB6LWluZGV4IChcImRpdltpZCo9J2NzLWNvbnRhaW5lciddXCIpXG4gIGhpZGRlbkVsZW1lbnRTZWxlY3RvcnM/OiBzdHJpbmdbXTtcblxuICBtZXJjaGFudFZhcmlhbnRTZXR0aW5ncz86IE1lcmNoYW50VmFyaWFudFNldHRpbmdzO1xuICAvLyBUT0RPOiBNaWdyYXRlIGFsbCBmbG9hdGluZyBjaGF0IGNvbmZpZyBpbnRvIHRoaXMgdG9wLWxldmVsIGtleVxuICAvL1xuICBmbG9hdGluZ0NoYXRDb25maWc6IEZsb2F0aW5nQ2hhdENvbmZpZztcblxuICAvLyBDb250YWluIGFsbCBzZWFyY2ggY29uZmlnIGhlcmVcbiAgc2VhcmNoQ29uZmlnOiBTZWFyY2hDb25maWc7XG4gIC8vIFRPRE86IE1vdmUgdGhlc2UgaW50byBGbG9hdGluZ0NoYXRDb25maWdcbiAgLy8gQ2hhdCBIZWFkZXIgcmVsYXRlZCB2YWx1ZXNcbiAgY2hhdEhlYWRlcjogQ2hhdEhlYWRlckNvbmZpZztcbiAgc3RpY2t5QWdlbnRTd2l0Y2hTdWdnZXN0aW9uPzogYm9vbGVhbjtcbiAgcGFydGlhbFZpZXdDb25maWc6IFBhcnRpYWxWaWV3Q29uZmlnO1xuICB3ZWxjb21lU2VjdGlvbkNvbmZpZz86IFdlbGNvbWVTZWN0aW9uQ29uZmlnO1xuICAvLyBEaWZmZXJlbnQgcmVzcG9uc2UgdmFsdWVzXG4gIHByb2R1Y3RDYXJkQ29uZmlnPzogUHJvZHVjdENhcmRDb25maWc7XG4gIHByb2R1Y3RSZXZpZXdDb25maWc/OiBQcm9kdWN0UmV2aWV3Q29uZmlnO1xuICBwYWdlQ2FyZENvbmZpZz86IFBhZ2VDYXJkQ29uZmlnO1xuICBjaGF0TWVzc2FnZUNvbmZpZzogQ2hhdE1lc3NhZ2VDb25maWc7XG59O1xuXG50eXBlIEluc2VydGlvblBvaW50ID0ge1xuICBzZWxlY3Rvcjogc3RyaW5nO1xuICAvLyB0aGlzIGlzIHRoZSBpbmRleCBvZiB0aGUgdGFyZ2V0IGVsZW1lbnQsIDAgaWYgbWlzc2luZ1xuICBzZWxlY3Rpb25JbmRleD86IG51bWJlcjtcbiAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZTtcbn07XG5cbnR5cGUgVVJMVGVzdCA9IFwic2hvcGlmeVwiIHwgXCJudWxsXCI7XG5cbnR5cGUgSWRFeHRyYWN0b3IgPVxuICB8IFwic2hvcGlmeS1wcm9kdWN0LWlkXCJcbiAgfCBcInNob3BpZnktY29sbGVjdGlvbi1pZFwiXG4gIHwgXCJzaG9waWZ5LXByb2R1Y3QtdmFyaWFudC1pZFwiXG4gIHwgXCJ1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZFwiXG4gIHwgXCJ1cmwtcmVzb2x2ZXItcGxwLWlkXCJcbiAgfCBcIm51bGxcIjtcblxuLy8gVGhpcyBjb250YWlucyBhIG1hcCBiZXR3ZWVuIFBhZ2VWaXNpdENhdGVnb3J5IGFuZCBhIGxpc3Qgb2YgVVJMJ3MgdGhhdCBhcmUgY2xhc3NpZmllZCBhcyB0aGUgdmFsdWVcbmVudW0gQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlIHtcbiAgVmlzaXRDYXRlZ29yeU1hcCA9IFwiVmlzaXRDYXRlZ29yeU1hcFwiLFxuICBWaXNpdENhdGVnb3J5RGVmYXVsdCA9IFwiVmlzaXRDYXRlZ29yeURlZmF1bHRcIixcbn1cblxuaW50ZXJmYWNlIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxUIGV4dGVuZHMgQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlPiB7XG4gIHR5cGU6IFQ7XG59XG5cbi8vIFRoaXMgbWFwIGJldHdlZW5zIGEgY2F0ZWdvcnkgYW5kIGEgbGlzdCBvZiB1cmwgcGF0dGVybnNcbmludGVyZmFjZSBWaXNpdENhdGVnb3J5TWFwXG4gIGV4dGVuZHMgQmFzZUNhdGVnb3J5RXh0cmFjdG9yPENhdGVnb3J5RXh0cmFjdG9yVHlwZS5WaXNpdENhdGVnb3J5TWFwPiB7XG4gIG1hcDoge1xuICAgIFtrZXkgaW4gUGFnZVZpc2l0Q2F0ZWdvcnldPzogc3RyaW5nW107XG4gIH07XG59XG5cbi8vIFRoaXMgd2lsbCByZXR1cm4gYSBoYXJkLWNvZGVkIGRlZmF1bHQgUGFnZVZpc2l0Q2F0ZWdvcnkuIEl0IGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYnkgZmFsbGJhY2sgcGFnZSB0eXBlc1xuaW50ZXJmYWNlIFZpc2l0Q2F0ZWdvcnlEZWZhdWx0XG4gIGV4dGVuZHMgQmFzZUNhdGVnb3J5RXh0cmFjdG9yPENhdGVnb3J5RXh0cmFjdG9yVHlwZS5WaXNpdENhdGVnb3J5RGVmYXVsdD4ge1xuICB2YWx1ZTogUGFnZVZpc2l0Q2F0ZWdvcnk7XG59XG5cbnR5cGUgQ2F0ZWdvcnlFeHRyYWN0b3IgPSBWaXNpdENhdGVnb3J5TWFwIHwgVmlzaXRDYXRlZ29yeURlZmF1bHQ7XG5cbnR5cGUgV3JhcHBpbmdFbGVtZW50ID0ge1xuICBjbGFzc05hbWU6IHN0cmluZztcbiAgZWxlbWVudDogc3RyaW5nO1xuICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcblxuZW51bSBQYWdlVmFyaWFudFRlc3RUeXBlIHtcbiAgU2hvcGlmeVBMUCA9IFwiU2hvcGlmeVBMUFwiLFxuICBTaG9waWZ5UERQID0gXCJTaG9waWZ5UERQXCIsXG4gIFBhZ2VDYXRlZ29yeSA9IFwiUGFnZUNhdGVnb3J5XCIsXG4gIENhdGFsb2dDYXRlZ29yeSA9IFwiQ2F0YWxvZ0NhdGVnb3J5XCIsXG4gIFRvcENhdGFsb2dDYXRlZ29yeSA9IFwiVG9wQ2F0YWxvZ0NhdGVnb3J5XCIsXG4gIEhhc1Jldmlld3MgPSBcIkhhc1Jldmlld3NcIixcbiAgSW5Db2xsZWN0aW9uID0gXCJJbkNvbGxlY3Rpb25cIixcbiAgSGFzTWVyY2hhbnRUYWcgPSBcIkhhc01lcmNoYW50VGFnXCIsXG4gIEZlYXR1cmVHYXRlID0gXCJGZWF0dXJlR2F0ZVwiLFxuICBQbHBJZCA9IFwiUGxwSWRcIixcbiAgUXVlcnlQYXJhbSA9IFwiUXVlcnlQYXJhbVwiLFxuICBQcm9kdWN0SWQgPSBcIlByb2R1Y3RJZFwiLFxuICBVc2VySGFzSW50ZXJhY3RlZCA9IFwiVXNlckhhc0ludGVyYWN0ZWRcIixcbiAgVXNlckhhc05vdEludGVyYWN0ZWQgPSBcIlVzZXJIYXNOb3RJbnRlcmFjdGVkXCIsXG4gIGlzTG9hZGluZyA9IFwiaXNMb2FkaW5nXCIsXG4gIGlzUHJvZHVjdENvbXBhcmlzb24gPSBcImlzUHJvZHVjdENvbXBhcmlzb25cIixcbiAgRmFsbGJhY2sgPSBcIkZhbGxiYWNrXCIsXG4gIFVybFJlc29sdmVyID0gXCJVcmxSZXNvbHZlclwiLFxuICBOdWxsID0gXCJudWxsXCIsXG59XG5cbmludGVyZmFjZSBCYXNlUGFnZVZhcmlhbnRUZXN0PFQgZXh0ZW5kcyBQYWdlVmFyaWFudFRlc3RUeXBlPiB7XG4gIHRlc3RUeXBlOiBUO1xufVxuXG5pbnRlcmZhY2UgVG9wQ2F0YWxvZ0NhdGVnb3J5XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlRvcENhdGFsb2dDYXRlZ29yeT4ge1xuICB0b3BDYXRlZ29yeTogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBDYXRhbG9nQ2F0ZWdvcnlUZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkNhdGFsb2dDYXRlZ29yeT4ge1xuICBjYXRlZ29yeTogU3VwcG9ydGVkRXZlbnRQcm9kdWN0Q2F0ZWdvcnk7XG59XG5cbmludGVyZmFjZSBIYXNSZXZpZXdzVGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNSZXZpZXdzPiB7XG4gIHJldmlld01pbmltdW0/OiBudW1iZXI7XG59XG5cbi8vIFRoaXMgd2lsbCByZXR1cm4gdHJ1ZSBpZiB0aGUgcHJvZHVjdCBpcyBpbiBhbnkgb2YgdGhlIGxpc3RlZCBjb2xsZWN0aW9uc1xuaW50ZXJmYWNlIEluQ29sbGVjdGlvblRlc3RcbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uPiB7XG4gIGNvbGxlY3Rpb25zOiBzdHJpbmdbXTtcbn1cblxuLy8gVGhpcyB3aWxsIHJldHVybiB0cnVlIGlmIHRoZSBwcm9kdWN0IGhhcyBhbnkgb2YgdGhlIGxpc3RlZCBtZXJjaGFudCB0YWdzXG5pbnRlcmZhY2UgSGFzTWVyY2hhbnRUYWdUZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkhhc01lcmNoYW50VGFnPiB7XG4gIG1lcmNoYW50VGFnczogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBTaG9waWZ5UExQVVJMVGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UExQPiB7fVxuXG5pbnRlcmZhY2UgU2hvcGlmeVBEUFVSTFRlc3RcbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBEUD4ge31cblxuaW50ZXJmYWNlIFBhZ2VDYXRlZ29yeVRlc3RcbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUGFnZUNhdGVnb3J5PiB7XG4gIGV4dHJhY3RvcjogQ2F0ZWdvcnlFeHRyYWN0b3I7XG59XG5cbmludGVyZmFjZSBGZWF0dXJlR2F0ZVRlc3RcbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGU+IHtcbiAgZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcztcbn1cblxuaW50ZXJmYWNlIFByb2R1Y3RJZFRlc3RcbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUHJvZHVjdElkPiB7XG4gIHByb2R1Y3RJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG4gIHByb2R1Y3RJZHM6IHN0cmluZ1tdO1xufVxuXG5pbnRlcmZhY2UgUGxwSWRUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlBscElkPiB7XG4gIHBscElkRXh0cmFjdG9yOiBJZEV4dHJhY3RvcjtcbiAgcGxwSWRzOiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIFF1ZXJ5UGFyYW1UZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlF1ZXJ5UGFyYW0+IHtcbiAgcXVlcnlQYXJhbTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgVXNlckhhc0ludGVyYWN0ZWRUZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlVzZXJIYXNJbnRlcmFjdGVkPiB7fVxuXG5pbnRlcmZhY2UgVXNlckhhc05vdEludGVyYWN0ZWRUZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlVzZXJIYXNOb3RJbnRlcmFjdGVkPiB7fVxuXG5pbnRlcmZhY2UgSXNMb2FkaW5nVGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc0xvYWRpbmc+IHt9XG5cbmludGVyZmFjZSBJc1Byb2R1Y3RDb21wYXJpc29uXG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLmlzUHJvZHVjdENvbXBhcmlzb24+IHt9XG5cbmludGVyZmFjZSBQYWdlRmFsbGJhY2tUZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkZhbGxiYWNrPiB7fVxuXG5pbnRlcmZhY2UgVXJsUmVzb2x2ZXJUZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyPiB7fVxuXG5leHBvcnQgdHlwZSBQYWdlVmFyaWFudFRlc3QgPVxuICB8IFBhZ2VDYXRlZ29yeVRlc3RcbiAgfCBTaG9waWZ5UExQVVJMVGVzdFxuICB8IFNob3BpZnlQRFBVUkxUZXN0XG4gIHwgQ2F0YWxvZ0NhdGVnb3J5VGVzdFxuICB8IFRvcENhdGFsb2dDYXRlZ29yeVxuICB8IEhhc1Jldmlld3NUZXN0XG4gIHwgSW5Db2xsZWN0aW9uVGVzdFxuICB8IEhhc01lcmNoYW50VGFnVGVzdFxuICB8IEZlYXR1cmVHYXRlVGVzdFxuICB8IFByb2R1Y3RJZFRlc3RcbiAgfCBQbHBJZFRlc3RcbiAgfCBRdWVyeVBhcmFtVGVzdFxuICB8IFVzZXJIYXNJbnRlcmFjdGVkVGVzdFxuICB8IFVzZXJIYXNOb3RJbnRlcmFjdGVkVGVzdFxuICB8IElzTG9hZGluZ1Rlc3RcbiAgfCBJc1Byb2R1Y3RDb21wYXJpc29uXG4gIHwgUGFnZUZhbGxiYWNrVGVzdFxuICB8IFVybFJlc29sdmVyVGVzdDtcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgc29jaWFsIHByb29mIGVtYmVkZGVkIHdpZGdldFxuICpcbiAqIEBwYXJhbSBoZWFkZXJUaXRsZSAtIFRoZSB0aXRsZSB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBoZWFkZXJcbiAqIEBwYXJhbSBzdGF0aWNTdWdnZXN0aW9ucyAtIEEgbGlzdCBvZiBzdHJpbmdzIHRvIGRpc3BsYXkgYXMgc3VnZ2VzdGlvbnMgaW4gdGhlIHdpZGdldFxuICogQHBhcmFtIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdCAtIFRoZSB2YXJpYW50IG9mIHRoZSBzdWdnZXN0aW9uIGJ1dHRvbiB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgZm9vdGVyXG4gKiBAcGFyYW0gc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQgLSBUaGUgdmFyaWFudCBvZiB0aGUgc3VnZ2VzdGlvbiBidXR0b24gdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGJvZHlcbiAqIEBwYXJhbSBzdGF0aWNJbWFnZUluZGV4IC0gSW5kZXggb2YgdGhlIGltYWdlVXJsIHRvIHVzZSBmcm9tIHRoZSBwcm9kdWN0IHJlc3BvbnNlXG4gKi9cbmludGVyZmFjZSBTb2NpYWxQcm9vZkNvbmZpZyB7XG4gIGN1c3RvbWVyUXVlcnk6IHN0cmluZztcbiAgaGVhZGVyVGl0bGU6IHN0cmluZztcbiAgc3RhdGljUExQSW1hZ2VzTGF5b3V0PzogXCJncmlkXCIgfCBcImhvcml6b250YWxcIjtcbiAgaGVhZGVyRm9udEZhbWlseT86IHN0cmluZztcbiAgc3RhdGljUExQSW1hZ2VOYW1lcz86IHN0cmluZ1tdO1xuICBzdGF0aWNJbWFnZUluZGV4PzogbnVtYmVyO1xuICBzdWdnZXN0aW9uQnV0dG9uU3RyaW5nczogc3RyaW5nW107XG4gIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50QWNjZW50PzogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIHN1Z2dlc3Rpb25CdXR0b25EYXRhQXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZz86IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgbG9nb05hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgY3JlYXRpbmcgdGhlIG1vdW50IHBvaW50IGZvciBhIHdpZGdldFxuICpcbiAqIEBwYXJhbSBjbGFzc05hbWUgLSBPcHRpb25hbCBjbGFzcyBuYW1lIHRvIGFwcGx5IHRvIHRoZSBtb3VudCBwb2ludC4gVGFpbHdpbmQgY2xhc3NlcyBhcmUgc3VwcG9ydGVkXG4gKiBhbmQgZW5jb3VyYWdlZC4gVXNlIHRoaXMgcGFyYW1ldGVyIHRvIHN0eWxlIHRoZSBtb3VudGluZyBjb250YWluZXIgZm9yIHRoZSB3aWRnZXQuXG4gKi9cbmV4cG9ydCB0eXBlIFdpZGdldE1vdW50aW5nQ29uZmlnID0ge1xuICBtb3VudGluZ0NvbmZpZ0lkOiBzdHJpbmc7XG4gIGNvbnRhaW5lcklkOiBzdHJpbmc7XG4gIHRlc3RJZDogc3RyaW5nO1xuICBwYXJlbnRJbnNlcnRpb25Qb2ludD86IEluc2VydGlvblBvaW50O1xuICBpbnNlcnRpb25Qb2ludDogSW5zZXJ0aW9uUG9pbnQ7XG4gIGdyaWRJbnNlcnRpb25UeXBlPzogR3JpZEluc2VydGlvblR5cGU7XG4gIHdyYXBwaW5nRWxlbWVudD86IFdyYXBwaW5nRWxlbWVudDtcbiAgZGl2Q2hlY2tTZWxlY3Rvcj86IHN0cmluZztcbiAgc3VwcHJlc3Npb25TZWxlY3Rvcj86IHN0cmluZztcbiAgc3R5bGU/OiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+O1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGRhdGFBdHRyaWJ1dGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn07XG5cbnR5cGUgU3RhdGljV2lkZ2V0TW91bnRpbmcgPSB7XG4gIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbn07XG50eXBlIER5bmFtaWNXaWRnZXRNb3VudGluZyA9IHtcbiAgbW91bnRpbmdDb25maWdJZDogc3RyaW5nO1xuICBtb3VudGluZ1BvaW50V2lkZ2V0czogV2lkZ2V0RGlzcGxheVRlc3RzW107XG59O1xuXG50eXBlIFdpZGdldERpc3BsYXlUZXN0cyA9IHtcbiAgdGVzdHM6IFBhZ2VWYXJpYW50VGVzdFtdO1xuICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xufTtcblxudHlwZSBXaWRnZXRNb3VudGluZyA9IFN0YXRpY1dpZGdldE1vdW50aW5nIHwgRHluYW1pY1dpZGdldE1vdW50aW5nO1xuXG5lbnVtIFdpZGdldFR5cGUge1xuICBDaGF0UHJldmlldyA9IFwiQ2hhdFByZXZpZXdcIixcbiAgU29jaWFsUHJvb2ZWMiA9IFwiU29jaWFsUHJvb2ZWMlwiLFxuICBDaGF0UHJldmlld1YyID0gXCJDaGF0UHJldmlld1YyXCIsXG4gIENoYXRQcmV2aWV3SXNMb2FkaW5nID0gXCJDaGF0UHJldmlld0lzTG9hZGluZ1wiLFxuICBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbiA9IFwiQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25cIixcbiAgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbiA9IFwiQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvblwiLFxuICBTdWdnZXN0aW9uQmFyID0gXCJTdWdnZXN0aW9uQmFyXCIsXG4gIFN1Z2dlc3Rpb25CYXJWMiA9IFwiU3VnZ2VzdGlvbkJhclYyXCIsXG4gIEltYWdlUHJvbXB0Q2FyZCA9IFwiSW1hZ2VQcm9tcHRDYXJkXCIsXG4gIEltYWdlQmFubmVyID0gXCJJbWFnZUJhbm5lclwiLFxuICBTaW5nbGVJbWFnZVByb21wdCA9IFwiU2luZ2xlSW1hZ2VQcm9tcHRcIixcbiAgU2VhcmNoUHJvbXB0ID0gXCJTZWFyY2hQcm9tcHRcIixcbiAgU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludCA9IFwiU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludFwiLFxuICBTZWFyY2hSZXN1bHRzRW50cnlQb2ludCA9IFwiU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRcIixcbiAgU2VhcmNoT3ZlcmxheUhvc3QgPSBcIlNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gIE5vT3AgPSBcIk5vT3BcIixcbn1cblxudHlwZSBXaWRnZXRDb25maWcgPVxuICB8IENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnXG4gIHwgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZ1xuICB8IENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWdcbiAgfCBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbldpZGdldENvbmZpZ1xuICB8IENoYXRQcmV2aWV3SXNMb2FkaW5nV2lkZ2V0Q29uZmlnXG4gIHwgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZ1xuICB8IFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZ1xuICB8IEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnXG4gIHwgSW1hZ2VCYW5uZXJXaWRnZXRDb25maWdcbiAgfCBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZ1xuICB8IFNlYXJjaFByb21wdFdpZGdldENvbmZpZ1xuICB8IFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWdcbiAgfCBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZ1xuICB8IFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnXG4gIHwgTm9PcFdpZGdldENvbmZpZztcblxuaW50ZXJmYWNlIEJhc2VXaWRnZXRDb25maWc8VCBleHRlbmRzIFdpZGdldFR5cGU+IHtcbiAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbiAgdHlwZTogVDtcbiAgY29udGVudElkPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgSW1hZ2VCYW5uZXJXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuSW1hZ2VCYW5uZXI+IHtcbiAgaW1hZ2VTcmM6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgc3VidGl0bGU6IHN0cmluZztcbiAgYXNzaXN0YW50TWVzc2FnZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXc+IHtcbiAgdmFyaWFudDogXCJmaWxsZWRcIiB8IFwiZmxhdFwiIHwgXCJvdXRsaW5lZFwiO1xuICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbiAgc29jaWFsUHJvb2ZDb25maWc/OiBTb2NpYWxQcm9vZkNvbmZpZztcbiAgZm9vdGVyQ29uZmlnPzogQ2hhdFByZXZpZXdGb290ZXJDb25maWc7XG59XG5cbmludGVyZmFjZSBDaGF0UHJldmlld0hlYWRlclYyQ29uZmlnIHtcbiAgdGl0bGU/OiBzdHJpbmc7IC8vIERlZmF1bHQ6ICdTaG9wcGluZyBBc3Npc3RhbnQnXG4gIGltYWdlU3JjPzogc3RyaW5nO1xuICBpbWFnZUhlaWdodD86IG51bWJlcjtcbn1cblxudHlwZSBTaW5nbGVJbWFnZUNvbmZpZyA9IHtcbiAgbGF5b3V0OiBcInNpbmdsZVwiO1xuICBpbWFnZUluZGV4OiBudW1iZXI7XG59O1xudHlwZSBNdWx0aUltYWdlQ29uZmlnID0ge1xuICBsYXlvdXQ6IFwiZ3JpZFwiIHwgXCJob3Jpem9udGFsXCI7XG4gIGltYWdlTmFtZXM6IHN0cmluZ1tdO1xufTtcbnR5cGUgU29jaWFsUHJvb2ZJbWFnZUNvbmZpZyA9IFNpbmdsZUltYWdlQ29uZmlnIHwgTXVsdGlJbWFnZUNvbmZpZztcblxudHlwZSBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWcgPSB7XG4gIGJ1dHRvblN0cmluZ3M6IHN0cmluZ1tdO1xuICBhY2NlbnRCdXR0b25WYXJpYW50cz86IHtcbiAgICBidXR0b246IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgfTtcbiAgYnV0dG9uVmFyaWFudHM6IHtcbiAgICBidXR0b246IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgfTtcbiAgbnVtUm93cz86IE51bVJvd3M7XG59O1xuXG50eXBlIENoYXRQcmV2aWV3QW5pbWF0ZWRUZXh0Q29uZmlnID0ge1xuICBsZWFkaW5nVGV4dDogc3RyaW5nO1xuICBhbmltYXRlZFN0cmluZ3M6IHN0cmluZ1tdO1xufTtcblxudHlwZSBDaGF0UHJldmlld1ZhcmlhbnQgPVxuICB8IHsgdmFyaWFudDogXCJmbGF0XCIgfVxuICB8IHsgdmFyaWFudDogXCJmaWxsZWRcIjsgYmFja2dyb3VuZEZpbGxDb2xvcjogc3RyaW5nIH1cbiAgfCB7IHZhcmlhbnQ6IFwib3V0bGluZWRcIiB9O1xuXG4vLyBCYXNlIGludGVyZmFjZSBmb3IgY29tbW9uIGNoYXQgcHJldmlldyBwcm9wZXJ0aWVzXG5pbnRlcmZhY2UgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgaGVhZGVyQ29uZmlnOiBDaGF0UHJldmlld0hlYWRlclYyQ29uZmlnO1xuICBzdWdnZXN0aW9uQnV0dG9uc0NvbmZpZzogQ2hhdFByZXZpZXdTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICB1c2VyUXVlcnlCdXR0b25Db25maWc6IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgY2hhdFByZXZpZXdWYXJpYW50OiBDaGF0UHJldmlld1ZhcmlhbnQ7XG4gIGFkZFNlcGFyYXRvcnM/OiBib29sZWFuO1xufVxuXG4vLyBTcGVjaWZpYyBjaGF0IHByZXZpZXcgd2lkZ2V0IGNvbmZpZ3VyYXRpb25zXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb24+LFxuICBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICBjaGF0UHJldmlld1ZhcmlhbnQ6IENoYXRQcmV2aWV3VmFyaWFudDtcbiAgYWRkU2VwYXJhdG9ycz86IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld0lzTG9hZGluZz4sXG4gIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7fVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uPixcbiAgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgdXNlTGFyZ2VQcm9kdWN0Q29tcGFyaXNvbj86IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBDaGF0UHJldmlld1YyV2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3VjI+LFxuICBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICBhbmltYXRlZFRleHRDb25maWc6IENoYXRQcmV2aWV3QW5pbWF0ZWRUZXh0Q29uZmlnO1xufVxuXG5pbnRlcmZhY2UgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5Tb2NpYWxQcm9vZlYyPixcbiAgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgY3VzdG9tZXJRdWVyeT86IHN0cmluZzsgLy8gRGVmYXVsdDogJ2Fza2VkIHdoaWNoIHByb2R1Y3RzIGFyZSB0aGUgYmVzdCdcbiAgaW1hZ2VDb25maWc6IFNvY2lhbFByb29mSW1hZ2VDb25maWc7XG59XG5cbmludGVyZmFjZSBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyPiB7XG4gIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb247XG4gIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzO1xuICB2YXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgaG92ZXJWYXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgYnV0dG9uVGV4dHM6IHtcbiAgICBkZWZhdWx0OiBzdHJpbmdbXTtcbiAgICBwcm9kdWN0U3BlY2lmaWM/OiB7IFtwcm9kdWN0SWQ6IHN0cmluZ106IHN0cmluZ1tdIH07XG4gIH07XG4gIGJvbGRGaXJzdEJ1dHRvbj86IGJvb2xlYW47XG4gIHR3b1Jvd3NPbk1vYmlsZT86IGJvb2xlYW47XG4gIGFuaW1hdGlvblNwZWVkPzogXCJzdGFuZGFyZFwiIHwgXCJzbG93XCIgfCBcIm5vbmVcIjtcbiAgYnV0dG9uQm9yZGVyUmFkaXVzPzogXCJzbVwiIHwgXCJtZFwiIHwgXCJsZ1wiO1xufVxuXG5pbnRlcmZhY2UgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuSW1hZ2VQcm9tcHRDYXJkPiB7XG4gIHVybDogc3RyaW5nO1xuICBsaWdodFRleHQ/OiBib29sZWFuO1xuICB0aXRsZTogc3RyaW5nO1xuICBzdWJ0aXRsZTogc3RyaW5nW107XG4gIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IHN0cmluZ1tdO1xuICB1c2VyUXVlcnlCdXR0b25Db25maWc6IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgZmFsbGJhY2tCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TaW5nbGVJbWFnZVByb21wdD4ge1xuICB0aXRsZTogc3RyaW5nO1xuICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBzdHJpbmdbXTtcbiAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG59XG5cbmludGVyZmFjZSBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnQ+IHtcbiAgc2VhcmNoWmVyb1N0YXRlVmFyaWFudDogU2VhcmNoWmVyb1N0YXRlVmFyaWFudDtcbiAgc2VhcmNoSW5wdXRWYXJpYW50OiBTZWFyY2hJbnB1dFZhcmlhbnQ7XG4gIHNlYXJjaEljb25WYXJpYW50PzogU2VhcmNoSWNvblZhcmlhbnQ7XG4gIHNlYXJjaEljb25TaXplPzogbnVtYmVyO1xuICBzdWdnZXN0aW9uQnV0dG9uQ29uZmlnOiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICBsYXlvdXQ6IFNlYXJjaFplcm9TdGF0ZUxheW91dDtcbiAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgYW5pbWF0aW9uU3BlZWQ/OiBcInN0YW5kYXJkXCIgfCBcInNsb3dcIiB8IFwibm9uZVwiO1xuICBjb21wYWN0TGFiZWw/OiBzdHJpbmc7XG4gIGluaXRpYWxTdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICB1c2luZ1BvcnRhbD86IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBOb09wV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLk5vT3A+IHt9XG5pbnRlcmZhY2UgU2VhcmNoT3ZlcmxheUhvc3RXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoT3ZlcmxheUhvc3Q+IHt9XG5cbmludGVyZmFjZSBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2hSZXN1bHRzRW50cnlQb2ludD4ge1xuICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFNlYXJjaElucHV0VmFyaWFudDtcbiAgc2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQ6IFNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50O1xuICBwcm9kdWN0R3JpZFZhcmlhbnQ6IFByb2R1Y3RHcmlkVmFyaWFudDtcbiAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgbm9SZXN1bHRzRm91bmRUZXh0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdpZGdldEhlYWRlclByb3BzIGV4dGVuZHMgVGVzdFByb3BzIHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGxvZ28/OiBzdHJpbmc7XG4gIGxvZ29IZWlnaHQ/OiBudW1iZXI7XG4gIG9yZ1Nob3J0TmFtZTogc3RyaW5nO1xuICB2YXJpYW50PzogU2VhcmNoUHJvbXB0VmFyaWFudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyUXVlcnlPcHRpb25zIHtcbiAgZm9vdGVyVmFyaWFudD86IFwic3RhbmRhcmRcIjtcbiAgcmVwbHlCdXR0b25UZXh0Pzogc3RyaW5nO1xuICByZXBseUJ1dHRvbkljb24/OlxuICB8IFwibWFnbmlmeWluZ0dsYXNzXCJcbiAgfCBcInNlbmRcIlxuICB8IFwidGhpbk1hZ25pZnlpbmdHbGFzc1wiXG4gIHwgXCJhaS1zZWFyY2hcIjtcbn1cblxudHlwZSBTZWFyY2hQcm9tcHRWYXJpYW50ID0gXCJwcmltYXJ5XCI7XG5pbnRlcmZhY2UgU2VhcmNoUHJvbXB0V2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaFByb21wdD4ge1xuICB2YXJpYW50OiBTZWFyY2hQcm9tcHRWYXJpYW50O1xuICB0aXRsZTogc3RyaW5nO1xuICBoZWFkZXJDb25maWc6IFdpZGdldEhlYWRlclByb3BzO1xuICBzdWdnZXN0aW9uQnV0dG9uczoge1xuICAgIHZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgYnV0dG9uVGV4dHM6IHN0cmluZ1tdO1xuICB9O1xuICBmb290ZXJDb25maWc/OiBVc2VyUXVlcnlPcHRpb25zO1xufVxuXG50eXBlIFBhZ2VWYXJpYW50QmFzZSA9IHtcbiAgLy8gVW5pcXVlIGlkZW50aWZpZXIgZm9yIGVhY2ggZW50cnkgd2l0aGluIHRoZSBwYWdlVmFyaWFudHMuXG4gIC8vIFVzZWZ1bCB0byBkaWZmZXJlbnRpYXRlIHdoaWNoIHZhcmlhbnQgaXMgbG9hZGVkIHdoZW4gdGhlcmUgYXJlIG11bHRpcGxlcyBvZiBhIHNpbmdsZSB0eXBlLlxuICB2YXJpYW50SWQ6IHN0cmluZztcbiAgd2lkZ2V0TW91bnRpbmc6IFdpZGdldE1vdW50aW5nW107XG4gIHZhcmlhbnRUZXN0czogUGFnZVZhcmlhbnRUZXN0W107XG59O1xuXG50eXBlIFBMUFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICB2YXJpYW50VHlwZTogXCJwbHBcIjtcbiAgcGxwSWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xufTtcblxudHlwZSBQRFBQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgdmFyaWFudFR5cGU6IFwicGRwXCI7XG4gIHBhcmVudFByb2R1Y3RJZEV4dHJhY3Rvcj86IElkRXh0cmFjdG9yO1xuICBwcm9kdWN0SWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xufTtcblxudHlwZSBWaXNpdFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICB2YXJpYW50VHlwZTogXCJwYWdlX3Zpc2l0XCI7XG59O1xuXG50eXBlIE90aGVyUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gIHZhcmlhbnRUeXBlOiBcIm90aGVyXCI7XG59O1xuXG50eXBlIEhvbWVQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgdmFyaWFudFR5cGU6IFwiaG9tZXBhZ2VcIjtcbn07XG5cbnR5cGUgU2VhcmNoUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gIHZhcmlhbnRUeXBlOiBcInNlYXJjaFwiO1xufTtcblxuZXhwb3J0IHR5cGUgUGFnZVZhcmlhbnRDb25maWcgPVxuICB8IFBMUFBhZ2VWYXJpYW50XG4gIHwgUERQUGFnZVZhcmlhbnRcbiAgfCBWaXNpdFBhZ2VWYXJpYW50XG4gIHwgT3RoZXJQYWdlVmFyaWFudFxuICB8IEhvbWVQYWdlVmFyaWFudFxuICB8IFNlYXJjaFBhZ2VWYXJpYW50O1xuXG5leHBvcnQgdHlwZSBPcmdQYWdlQ29uZmlnID0ge1xuICAvLyBwYWdlVmFyaWFudHMgaXMgYSBsaXN0IG9mIHBhZ2UgdmFyaWFudHMgdGhhdCB3ZSBzdXBwb3J0LlxuICBwYWdlVmFyaWFudHM6IFBhZ2VWYXJpYW50Q29uZmlnW107XG4gIC8vIHdpZGdldENvbmZpZ3MgaXMgYSBuYW1lZCBzZXQgb2Ygd2lkZ2V0IGNvbmZpZ3NcbiAgd2lkZ2V0Q29uZmlnczogUmVjb3JkPHN0cmluZywgV2lkZ2V0Q29uZmlnPjtcbiAgbW91bnRpbmdDb25maWdzOiBSZWNvcmQ8c3RyaW5nLCBXaWRnZXRNb3VudGluZ0NvbmZpZz47XG59O1xuXG5leHBvcnQgdHlwZSBPcmdDb25maWcgPSBPcmdVSUNvbmZpZztcblxuZXhwb3J0IHtcbiAgQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlLFxuICBDb2xvck5hbWVzLFxuICBjb2xvclZhcixcbiAgUGFnZVZhcmlhbnRUZXN0VHlwZSxcbiAgV2lkZ2V0VHlwZSxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52aXZlQ29uZmlnIHtcbiAgYW1wbGl0dWRlQXBpS2V5Pzogc3RyaW5nO1xuICBkYXRhUmVzaWRlbmN5Pzogc3RyaW5nO1xuICBlbnY/OiBzdHJpbmc7XG4gIGJhc2VVcmw/OiBzdHJpbmc7XG4gIHJlYWN0QXBwTmFtZT86IHN0cmluZztcbiAgY2RuVXJsPzogc3RyaW5nO1xuICBjb250ZXh0U291cmNlPzogc3RyaW5nO1xuICBvcmdMZXZlbEFwaUtleT86IHN0cmluZztcbiAgb3JnU2hvcnROYW1lPzogc3RyaW5nO1xuICBpZGVudGlmeWluZ1ByZWZpeD86IHN0cmluZztcbiAgZmVhdHVyZU92ZXJyaWRlcz86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuICB2YXJpYW50VXJsT3ZlcnJpZGU/OiBzdHJpbmc7XG4gIHZhcmlhbnRJbmZvT3ZlcnJpZGU/OiBhbnk7XG4gIHNob3c/OiBib29sZWFuO1xuICBwdWJsaWNLZXk/OiBzdHJpbmc7XG4gIGZlYXR1cmVHYXRlcz86IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107XG59XG5cbmV4cG9ydCB0eXBlIHtcbiAgQ2F0ZWdvcnlFeHRyYWN0b3IsXG4gIENoYXRNZXNzYWdlVmFyaWFudCxcbiAgQ2hhdE1lc3NhZ2VDb25maWcsXG4gIENoYXRQcmV2aWV3Q29uZmlnLFxuICBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWcsXG4gIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWcsXG4gIENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyxcbiAgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZyxcbiAgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdGb290ZXJDb25maWcsXG4gIENoYXRQcmV2aWV3SGVhZGVyQ29uZmlnLFxuICBDaGF0UHJldmlld1dpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdWYXJpYW50LFxuICBDb2xvck1hcHBpbmcsXG4gIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uLFxuICBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWcsXG4gIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbixcbiAgSWRFeHRyYWN0b3IsXG4gIEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnLFxuICBJbWFnZVByb21wdFdpZGdldENvbmZpZyxcbiAgSW5zZXJ0aW9uUG9pbnQsXG4gIE11bHRpSW1hZ2VDb25maWcsXG4gIE9yZ1VJQ29uZmlnLFxuICBQYWdlQ2FyZENvbmZpZyxcbiAgUGFnZUNhcmRWYXJpYW50LFxuICBQYWdlQ2FyZEhvdmVyVmFyaWFudCxcbiAgUGFnZUNhcmRJY29uVmFyaWFudCxcbiAgUHJvZHVjdENhcmRDb25maWcsXG4gIFByb2R1Y3RDYXJkVmFyaWFudCxcbiAgUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50LFxuICBQcm9kdWN0Q2FyZEhvdmVyVmFyaWFudCxcbiAgUHJvZHVjdExpbmtIb3ZlclZhcmlhbnQsXG4gIFByb2R1Y3RMaW5rSWNvblZhcmlhbnQsXG4gIFByb2R1Y3RMaW5rVmFyaWFudCxcbiAgUHJvZHVjdFJldmlld0NvbmZpZyxcbiAgUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudCxcbiAgUHJvZHVjdFJldmlld0NvbG9yVmFyaWFudCxcbiAgU2VhcmNoUHJvbXB0VmFyaWFudCxcbiAgU2VhcmNoUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZyxcbiAgU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucyxcbiAgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcsXG4gIFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnLFxuICBTb2NpYWxQcm9vZkNvbmZpZyxcbiAgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnLFxuICBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudCxcbiAgVVJMVGVzdCxcbiAgVXNlclF1ZXJ5QnV0dG9uQ29uZmlnLFxuICBVc2VyUXVlcnlCdXR0b25JY29uLFxuICBXZWxjb21lU2VjdGlvbkNvbmZpZyxcbiAgV2VsY29tZVNlY3Rpb25WYXJpYW50LFxuICBXZWxjb21lU2VjdGlvbkNvbG9yVmFyaWFudCxcbiAgV2lkZ2V0Q29uZmlnLFxuICBXcmFwcGluZ0VsZW1lbnQsXG4gIFNlYXJjaENhcmRWYXJpYW50LFxuICBXaWRnZXREaXNwbGF5VGVzdHMsXG4gIE5vT3BXaWRnZXRDb25maWcsXG4gIFdpZGdldE1vdW50aW5nLFxuICBTdGF0aWNXaWRnZXRNb3VudGluZyxcbiAgRHluYW1pY1dpZGdldE1vdW50aW5nLFxuICBQRFBQYWdlVmFyaWFudCxcbiAgUExQUGFnZVZhcmlhbnQsXG4gIFZpc2l0UGFnZVZhcmlhbnQsXG4gIE90aGVyUGFnZVZhcmlhbnQsXG4gIEhvbWVQYWdlVmFyaWFudCxcbiAgU2VhcmNoUGFnZVZhcmlhbnQsXG4gIE51bVJvd3MsXG59O1xuIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBSyxvREFBTDtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7RUFsQkc7QUF5QkwsTUFBTSxZQUFZLFVBQThCLHVCQUF1QixNQUFNOzs7O0FDMmI3RSxJQUFLLDBFQUFMO0FBQ0U7QUFDQTs7RUFGRztBQStCTCxJQUFLLHNFQUFMO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0VBbkJHO0FBd0xMLElBQUssb0RBQUw7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7RUFoQkcifQ==
@@ -0,0 +1,48 @@
1
+
2
+ //#region src/atoms/search/types.ts
3
+ let ProductSorting = /* @__PURE__ */ function(ProductSorting$1) {
4
+ ProductSorting$1["FEATURED"] = "featured";
5
+ ProductSorting$1["PRICE_ASC"] = "price_asc";
6
+ ProductSorting$1["PRICE_DESC"] = "price_desc";
7
+ return ProductSorting$1;
8
+ }({});
9
+ const ProductSortingNames = {
10
+ [ProductSorting.FEATURED]: "Featured",
11
+ [ProductSorting.PRICE_ASC]: "Price Low to High",
12
+ [ProductSorting.PRICE_DESC]: "Price High to Low"
13
+ };
14
+ let ChatSearchSortOverrides = /* @__PURE__ */ function(ChatSearchSortOverrides$1) {
15
+ ChatSearchSortOverrides$1["DESKTOP_FILTER_CONTAINER"] = "spiffy-chat-search-filter-container";
16
+ ChatSearchSortOverrides$1["DESKTOP_FILTER_SELECT_COMPONENT"] = "spiffy-chat-search-filter-select-component";
17
+ ChatSearchSortOverrides$1["DESKTOP_FILTER_SELECT_ICON"] = "spiffy-chat-search-filter-select-icon";
18
+ ChatSearchSortOverrides$1["MOBILE_FILTER_BUTTON"] = "spiffy-chat-search-filter-button";
19
+ ChatSearchSortOverrides$1["MOBILE_FILTER_MODAL_CONTAINER"] = "spiffy-chat-search-filter-modal-container";
20
+ ChatSearchSortOverrides$1["MOBILE_FILTER_MODAL_HEADER"] = "spiffy-chat-search-filter-modal-header";
21
+ ChatSearchSortOverrides$1["MOBILE_FILTER_MODAL_SELECTION"] = "spiffy-chat-search-filter-modal-selection";
22
+ ChatSearchSortOverrides$1["MOBILE_FILTER_MODAL_OPTION"] = "spiffy-chat-search-filter-modal-option";
23
+ ChatSearchSortOverrides$1["MOBILE_FILTER_MODAL_OPTION_PILL"] = "spiffy-chat-search-filter-modal-option-pill";
24
+ ChatSearchSortOverrides$1["MOBILE_FILTER_MODAL_OPTION_DESCRIPTION"] = "spiffy-chat-search-filter-modal-option-desc";
25
+ ChatSearchSortOverrides$1["MOBILE_FILTER_MODAL_APPLY_BUTTON"] = "spiffy-chat-search-filter-modal-apply-button";
26
+ return ChatSearchSortOverrides$1;
27
+ }({});
28
+
29
+ //#endregion
30
+ Object.defineProperty(exports, 'ChatSearchSortOverrides', {
31
+ enumerable: true,
32
+ get: function () {
33
+ return ChatSearchSortOverrides;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, 'ProductSorting', {
37
+ enumerable: true,
38
+ get: function () {
39
+ return ProductSorting;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, 'ProductSortingNames', {
43
+ enumerable: true,
44
+ get: function () {
45
+ return ProductSortingNames;
46
+ }
47
+ });
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMtQ3hPYnhMS3MuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9hdG9tcy9zZWFyY2gvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gUHJvZHVjdFNvcnRpbmcge1xuICBGRUFUVVJFRCA9ICdmZWF0dXJlZCcsXG4gIFBSSUNFX0FTQyA9ICdwcmljZV9hc2MnLFxuICBQUklDRV9ERVNDID0gJ3ByaWNlX2Rlc2MnLFxufVxuXG5leHBvcnQgY29uc3QgUHJvZHVjdFNvcnRpbmdOYW1lcyA9IHtcbiAgW1Byb2R1Y3RTb3J0aW5nLkZFQVRVUkVEXTogJ0ZlYXR1cmVkJyxcbiAgW1Byb2R1Y3RTb3J0aW5nLlBSSUNFX0FTQ106ICdQcmljZSBMb3cgdG8gSGlnaCcsXG4gIFtQcm9kdWN0U29ydGluZy5QUklDRV9ERVNDXTogJ1ByaWNlIEhpZ2ggdG8gTG93Jyxcbn07XG5cbmV4cG9ydCB0eXBlIENoYXRTZWFyY2hTdGF0ZVR5cGUgPSAnZW50cnlwb2ludCcgfCAnaW5pdGlhbGl6aW5nLXNlYXJjaCcgfCAncHJvZHVjdC1wYWdlJztcblxuZXhwb3J0IHR5cGUgQ2hhdFNlYXJjaEZpbHRlciA9IHtcbiAgZmlsdGVySWQ6IHN0cmluZztcbiAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgaXRlbXM6IENoYXRTZWFyY2hGaWx0ZXJJdGVtW107XG59O1xuXG5leHBvcnQgdHlwZSBDaGF0U2VhcmNoRmlsdGVySXRlbSA9IHtcbiAgZmlsdGVySXRlbUlkOiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIHByb2R1Y3RDb3VudDogbnVtYmVyO1xuICBpc1NlbGVjdGVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBDaGF0U2VhcmNoU29ydFByb3BzIHtcbiAgb3B0aW9uczogUHJvZHVjdFNvcnRpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGF0U2VhcmNoU29ydE1vZGFsUHJvcHMgZXh0ZW5kcyBDaGF0U2VhcmNoU29ydFByb3BzIHtcbiAgb3BlbjogYm9vbGVhbjtcbiAgaGFuZGxlUG9wdXBTdGF0ZTogKHN0YXRlOiBib29sZWFuKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRPcHRpb24ge1xuICB2YWx1ZTogUHJvZHVjdFNvcnRpbmc7XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gIG9uU2VsZWN0OiAob3B0aW9uOiBQcm9kdWN0U29ydGluZykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGVudW0gQ2hhdFNlYXJjaFNvcnRPdmVycmlkZXMge1xuICBERVNLVE9QX0ZJTFRFUl9DT05UQUlORVIgPSAnc3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1jb250YWluZXInLFxuICBERVNLVE9QX0ZJTFRFUl9TRUxFQ1RfQ09NUE9ORU5UID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItc2VsZWN0LWNvbXBvbmVudCcsXG4gIERFU0tUT1BfRklMVEVSX1NFTEVDVF9JQ09OID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItc2VsZWN0LWljb24nLFxuICBNT0JJTEVfRklMVEVSX0JVVFRPTiA9ICdzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLWJ1dHRvbicsXG4gIE1PQklMRV9GSUxURVJfTU9EQUxfQ09OVEFJTkVSID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtY29udGFpbmVyJyxcbiAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9IRUFERVIgPSAnc3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1oZWFkZXInLFxuICBNT0JJTEVfRklMVEVSX01PREFMX1NFTEVDVElPTiA9ICdzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLXNlbGVjdGlvbicsXG4gIE1PQklMRV9GSUxURVJfTU9EQUxfT1BUSU9OID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtb3B0aW9uJyxcbiAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9PUFRJT05fUElMTCA9ICdzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLW9wdGlvbi1waWxsJyxcbiAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9PUFRJT05fREVTQ1JJUFRJT04gPSAnc3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1vcHRpb24tZGVzYycsXG4gIE1PQklMRV9GSUxURVJfTU9EQUxfQVBQTFlfQlVUVE9OID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtYXBwbHktYnV0dG9uJyxcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFZLDREQUFMO0FBQ0w7QUFDQTtBQUNBOzs7QUFHRixNQUFhLHNCQUFzQjtFQUNoQyxlQUFlLFdBQVc7RUFDMUIsZUFBZSxZQUFZO0VBQzNCLGVBQWUsYUFBYTtDQUM5QjtBQWdDRCxJQUFZLDhFQUFMO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSJ9
@@ -0,0 +1,10 @@
1
+ import { Response } from "./index-CCa4tZuO.js";
2
+
3
+ //#region src/interceptors/types.d.ts
4
+ interface MessageInterceptor {
5
+ execute: (response: Response) => void | Promise<void>;
6
+ blockExecution: () => boolean;
7
+ }
8
+ //#endregion
9
+ export { MessageInterceptor };
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMtRGI1RXV4NksuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvaW50ZXJjZXB0b3JzL3R5cGVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzcG9uc2UgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZUludGVyY2VwdG9yIHtcbiAgICBleGVjdXRlOiAocmVzcG9uc2U6IFJlc3BvbnNlKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcbiAgICBibG9ja0V4ZWN1dGlvbjogKCkgPT4gYm9vbGVhbjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsSUFBVyxxQkFBcUI7Q0FBQztPQUFHO09BQUE7Q0FBQSJ9
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,106 @@
1
+
2
+ //#region src/application/models/colorsConfig.ts
3
+ var ColorNames = /* @__PURE__ */ function(ColorNames$1) {
4
+ ColorNames$1["TextPrimary"] = "text-primary";
5
+ ColorNames$1["TextSecondary"] = "text-secondary";
6
+ ColorNames$1["TextAccent"] = "text-accent";
7
+ ColorNames$1["TextLink"] = "text-link";
8
+ ColorNames$1["TextLight"] = "text-light";
9
+ ColorNames$1["BackgroundPrimary"] = "background-primary";
10
+ ColorNames$1["BackgroundSecondary"] = "background-secondary";
11
+ ColorNames$1["BackgroundSecondaryDark"] = "background-secondary-dark";
12
+ ColorNames$1["BackgroundTertiary"] = "background-tertiary";
13
+ ColorNames$1["BackgroundDark"] = "background-dark";
14
+ ColorNames$1["BackgroundLight"] = "background-light";
15
+ ColorNames$1["BackgroundSaturated"] = "background-saturated";
16
+ ColorNames$1["BorderLight"] = "border-light";
17
+ ColorNames$1["BorderMedium"] = "border-medium";
18
+ ColorNames$1["BorderDark"] = "border-dark";
19
+ ColorNames$1["BorderOutline"] = "border-outline";
20
+ ColorNames$1["AccentPrimary"] = "accent-primary";
21
+ ColorNames$1["AccentSecondary"] = "accent-secondary";
22
+ return ColorNames$1;
23
+ }(ColorNames || {});
24
+ const colorVar = (color) => `var(--spiffy-colors-${color})`;
25
+
26
+ //#endregion
27
+ //#region src/contexts/types.ts
28
+ var CategoryExtractorType = /* @__PURE__ */ function(CategoryExtractorType$1) {
29
+ CategoryExtractorType$1["VisitCategoryMap"] = "VisitCategoryMap";
30
+ CategoryExtractorType$1["VisitCategoryDefault"] = "VisitCategoryDefault";
31
+ return CategoryExtractorType$1;
32
+ }(CategoryExtractorType || {});
33
+ var PageVariantTestType = /* @__PURE__ */ function(PageVariantTestType$1) {
34
+ PageVariantTestType$1["ShopifyPLP"] = "ShopifyPLP";
35
+ PageVariantTestType$1["ShopifyPDP"] = "ShopifyPDP";
36
+ PageVariantTestType$1["PageCategory"] = "PageCategory";
37
+ PageVariantTestType$1["CatalogCategory"] = "CatalogCategory";
38
+ PageVariantTestType$1["TopCatalogCategory"] = "TopCatalogCategory";
39
+ PageVariantTestType$1["HasReviews"] = "HasReviews";
40
+ PageVariantTestType$1["InCollection"] = "InCollection";
41
+ PageVariantTestType$1["HasMerchantTag"] = "HasMerchantTag";
42
+ PageVariantTestType$1["FeatureGate"] = "FeatureGate";
43
+ PageVariantTestType$1["PlpId"] = "PlpId";
44
+ PageVariantTestType$1["QueryParam"] = "QueryParam";
45
+ PageVariantTestType$1["ProductId"] = "ProductId";
46
+ PageVariantTestType$1["UserHasInteracted"] = "UserHasInteracted";
47
+ PageVariantTestType$1["UserHasNotInteracted"] = "UserHasNotInteracted";
48
+ PageVariantTestType$1["isLoading"] = "isLoading";
49
+ PageVariantTestType$1["isProductComparison"] = "isProductComparison";
50
+ PageVariantTestType$1["Fallback"] = "Fallback";
51
+ PageVariantTestType$1["UrlResolver"] = "UrlResolver";
52
+ PageVariantTestType$1["Null"] = "null";
53
+ return PageVariantTestType$1;
54
+ }(PageVariantTestType || {});
55
+ var WidgetType = /* @__PURE__ */ function(WidgetType$1) {
56
+ WidgetType$1["ChatPreview"] = "ChatPreview";
57
+ WidgetType$1["SocialProofV2"] = "SocialProofV2";
58
+ WidgetType$1["ChatPreviewV2"] = "ChatPreviewV2";
59
+ WidgetType$1["ChatPreviewIsLoading"] = "ChatPreviewIsLoading";
60
+ WidgetType$1["ChatPreviewPostInteraction"] = "ChatPreviewPostInteraction";
61
+ WidgetType$1["ChatPreviewProductComparison"] = "ChatPreviewProductComparison";
62
+ WidgetType$1["SuggestionBar"] = "SuggestionBar";
63
+ WidgetType$1["SuggestionBarV2"] = "SuggestionBarV2";
64
+ WidgetType$1["ImagePromptCard"] = "ImagePromptCard";
65
+ WidgetType$1["ImageBanner"] = "ImageBanner";
66
+ WidgetType$1["SingleImagePrompt"] = "SingleImagePrompt";
67
+ WidgetType$1["SearchPrompt"] = "SearchPrompt";
68
+ WidgetType$1["SearchZeroStateEntryPoint"] = "SearchZeroStateEntryPoint";
69
+ WidgetType$1["SearchResultsEntryPoint"] = "SearchResultsEntryPoint";
70
+ WidgetType$1["SearchOverlayHost"] = "SearchOverlayHost";
71
+ WidgetType$1["NoOp"] = "NoOp";
72
+ return WidgetType$1;
73
+ }(WidgetType || {});
74
+
75
+ //#endregion
76
+ Object.defineProperty(exports, 'CategoryExtractorType', {
77
+ enumerable: true,
78
+ get: function () {
79
+ return CategoryExtractorType;
80
+ }
81
+ });
82
+ Object.defineProperty(exports, 'ColorNames', {
83
+ enumerable: true,
84
+ get: function () {
85
+ return ColorNames;
86
+ }
87
+ });
88
+ Object.defineProperty(exports, 'PageVariantTestType', {
89
+ enumerable: true,
90
+ get: function () {
91
+ return PageVariantTestType;
92
+ }
93
+ });
94
+ Object.defineProperty(exports, 'WidgetType', {
95
+ enumerable: true,
96
+ get: function () {
97
+ return WidgetType;
98
+ }
99
+ });
100
+ Object.defineProperty(exports, 'colorVar', {
101
+ enumerable: true,
102
+ get: function () {
103
+ return colorVar;
104
+ }
105
+ });
106
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMtVVV2QjZoMDUuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY29sb3JzQ29uZmlnLnRzIiwiLi4vc3JjL2NvbnRleHRzL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImVudW0gQ29sb3JOYW1lcyB7XG4gIFRleHRQcmltYXJ5ID0gXCJ0ZXh0LXByaW1hcnlcIixcbiAgVGV4dFNlY29uZGFyeSA9IFwidGV4dC1zZWNvbmRhcnlcIixcbiAgVGV4dEFjY2VudCA9IFwidGV4dC1hY2NlbnRcIixcbiAgVGV4dExpbmsgPSBcInRleHQtbGlua1wiLFxuICBUZXh0TGlnaHQgPSBcInRleHQtbGlnaHRcIixcbiAgQmFja2dyb3VuZFByaW1hcnkgPSBcImJhY2tncm91bmQtcHJpbWFyeVwiLFxuICBCYWNrZ3JvdW5kU2Vjb25kYXJ5ID0gXCJiYWNrZ3JvdW5kLXNlY29uZGFyeVwiLFxuICBCYWNrZ3JvdW5kU2Vjb25kYXJ5RGFyayA9IFwiYmFja2dyb3VuZC1zZWNvbmRhcnktZGFya1wiLFxuICBCYWNrZ3JvdW5kVGVydGlhcnkgPSBcImJhY2tncm91bmQtdGVydGlhcnlcIixcbiAgQmFja2dyb3VuZERhcmsgPSBcImJhY2tncm91bmQtZGFya1wiLFxuICBCYWNrZ3JvdW5kTGlnaHQgPSBcImJhY2tncm91bmQtbGlnaHRcIixcbiAgQmFja2dyb3VuZFNhdHVyYXRlZCA9IFwiYmFja2dyb3VuZC1zYXR1cmF0ZWRcIixcbiAgQm9yZGVyTGlnaHQgPSBcImJvcmRlci1saWdodFwiLFxuICBCb3JkZXJNZWRpdW0gPSBcImJvcmRlci1tZWRpdW1cIixcbiAgQm9yZGVyRGFyayA9IFwiYm9yZGVyLWRhcmtcIixcbiAgQm9yZGVyT3V0bGluZSA9IFwiYm9yZGVyLW91dGxpbmVcIixcbiAgQWNjZW50UHJpbWFyeSA9IFwiYWNjZW50LXByaW1hcnlcIixcbiAgQWNjZW50U2Vjb25kYXJ5ID0gXCJhY2NlbnQtc2Vjb25kYXJ5XCIsXG59XG5cbnR5cGUgQ29sb3JNYXBwaW5nID0ge1xuICBba2V5IGluIENvbG9yTmFtZXNdOiBzdHJpbmc7XG59O1xuXG5jb25zdCBjb2xvclZhciA9IChjb2xvcjogQ29sb3JOYW1lcyk6IHN0cmluZyA9PiBgdmFyKC0tc3BpZmZ5LWNvbG9ycy0ke2NvbG9yfSlgO1xuZXhwb3J0IHsgQ29sb3JOYW1lcywgY29sb3JWYXIgfTtcbmV4cG9ydCB0eXBlIHsgQ29sb3JNYXBwaW5nIH07XG4iLCJpbXBvcnQgeyBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbiB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uXCI7XG5pbXBvcnQge1xuICBDb2xvck1hcHBpbmcsXG4gIENvbG9yTmFtZXMsXG4gIGNvbG9yVmFyLFxufSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy9jb2xvcnNDb25maWdcIjtcbmltcG9ydCB7IEZlYXR1cmVHYXRlcyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlc1wiO1xuaW1wb3J0IHtcbiAgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlLFxuICBDdXN0b21lclNlcnZpY2VUeXBlLFxufSBmcm9tIFwic3JjL3R5cGVzL2N1c3RvbWVyU2VydmljZVwiO1xuaW1wb3J0IHsgR3JpZEluc2VydGlvblR5cGUgfSBmcm9tIFwic3JjL21lcmNoYW50cy9ncmlkSW5zZXJ0aW9uXCI7XG5pbXBvcnQgeyBET01JbnNlcnRpb25UeXBlIH0gZnJvbSBcInNyYy9tZXJjaGFudHMvZG9tSW5zZXJ0aW9uXCI7XG5cbmltcG9ydCB0eXBlIHtcbiAgUGFnZVZpc2l0Q2F0ZWdvcnksXG4gIFN1cHBvcnRlZEV2ZW50UHJvZHVjdENhdGVnb3J5LFxufSBmcm9tIFwiQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50XCI7XG5pbXBvcnQgeyBDaGF0U3RhdGUgfSBmcm9tIFwic3JjL3R5cGVzL2N1c3RzZXJ2aWNlLXR5cGVzXCI7XG5pbXBvcnQgeyBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzIH0gZnJvbSBcInNyYy90eXBlcy9zdWdnZXN0aW9uQmFyVjItdHlwZXNcIjtcbmltcG9ydCB7IFRlc3RQcm9wcyB9IGZyb20gXCJzcmMvdHlwZXMvdGVzdC10eXBlc1wiO1xuaW1wb3J0IHsgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvb3JnQ29uZmlnUmVzdWx0c1wiO1xuXG50eXBlIFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnMgPVxuICB8IFwiYWx3YXlzXCJcbiAgfCBcImFmdGVyLWludGVyYWN0aW9uLW9uLW1vYmlsZS1hbHdheXMtZGVza3RvcFwiXG4gIHwgXCJhZnRlci1pbnRlcmFjdGlvbi1hbnl3aGVyZVwiXG4gIHwgXCJuZXZlclwiO1xuXG50eXBlIEZsb2F0aW5nRW50cnlQb2ludENvbmZpZyA9IHtcbiAgcG9zaXRpb246IFwiYm90dG9tLWxlZnRcIiB8IFwibWlkZGxlLWxlZnRcIiB8IFwibWlkZGxlLXJpZ2h0XCIgfCBcImJvdHRvbS1yaWdodFwiO1xuICBleHBhbnNpb25UZXh0Pzoge1xuICAgIHBkcDogc3RyaW5nO1xuICAgIHBscDogc3RyaW5nO1xuICB9O1xuICBtaW5pbWl6ZWRDb2xvcjogc3RyaW5nO1xuICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gIHRleHRDb2xvcj86IHN0cmluZztcbiAgc2hvd09wdGlvbjogU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucztcbiAgaWNvblNWR1NyYz86IHN0cmluZztcbiAgaWNvblNpemU/OiBudW1iZXI7XG4gIGljb25TdHJva2VDb2xvcj86IHN0cmluZztcbiAgaWNvbkZpbGxDb2xvcj86IHN0cmluZztcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBmb250U2l6ZT86IG51bWJlcjtcbiAgZXhwYW5kYWJsZT86IGJvb2xlYW47XG59O1xuXG50eXBlIFdlbGNvbWVTZWN0aW9uVmFyaWFudCA9IFwic3RhbmRhcmRcIiB8IFwib3V0bGluZWRcIjtcblxudHlwZSBXZWxjb21lU2VjdGlvbkNvbG9yVmFyaWFudCA9IFwic3RhbmRhcmRcIiB8IFwiYWNjZW50XCIgfCBcImJyYW5kXCIgfCBcImxpZ2h0XCI7XG5cbnR5cGUgV2VsY29tZVNlY3Rpb25Db25maWcgPSB7XG4gIHZhcmlhbnQ6IFdlbGNvbWVTZWN0aW9uVmFyaWFudDtcbiAgY29sb3JWYXJpYW50PzogV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQ7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBzdWJ0aXRsZT86IHN0cmluZztcbiAgLy8gaWNvbj86IFJlYWN0LkZ1bmN0aW9uQ29tcG9uZW50PFJlYWN0LlNWR1Byb3BzPFNWR1NWR0VsZW1lbnQ+PjtcbiAgLyogU2VyaWFsaXphYmxlIGljb24gbmFtZSB0aGF0IG1hcHMgdG8gYSBSZWFjdCBjb21wb25lbnQuIFByZWZlcnJlZCBvdmVyIGljb24gZm9yIGRhdGFiYXNlIHN0b3JhZ2UuICovXG4gIGljb25OYW1lPzogc3RyaW5nO1xuICBpbWFnZVNyYz86IHN0cmluZztcbn07XG5cbnR5cGUgQ2hhdFByZXZpZXdDb25maWcgPSB7XG4gIHZhcmlhbnQ6IFwiZmxhdFwiIHwgXCJmaWxsZWRcIiB8IFwib3V0bGluZWRcIjtcbiAgbGFyZ2VQcm9kdWN0Q29tcGFyaXNvbj86IGJvb2xlYW47XG4gIGZpbGxlZEJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICBpY29uRmlsbENvbG9yOiBzdHJpbmc7XG4gIGJ1dHRvblRleHRDb2xvcj86IHN0cmluZztcbiAgYnV0dG9uVGV4dFNlY29uZGFyeUNvbG9yPzogc3RyaW5nO1xuICBidXR0b25UZXh0SG92ZXJDb2xvcj86IHN0cmluZztcbiAgYnV0dG9uQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gIGJ1dHRvbkJhY2tncm91bmRIb3ZlckNvbG9yOiBzdHJpbmc7XG4gIGJ1dHRvbkJvcmRlckNvbG9yPzogc3RyaW5nO1xuICBidXR0b25Cb3JkZXJIb3ZlckNvbG9yPzogc3RyaW5nO1xuICBjb3BpZXM6IHsgcGRwOiBzdHJpbmdbXTsgcGxwOiBzdHJpbmdbXSB9O1xuICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzPzogeyBwZHA6IHN0cmluZ1tdOyBwbHA6IHN0cmluZ1tdIH07XG4gIHN0YXRpY1BMUEltYWdlcz86IHN0cmluZ1tdO1xuICBmb290ZXJDb25maWc/OiBDaGF0UHJldmlld0Zvb3RlckNvbmZpZztcbiAgaGVhZGVyQ29uZmlnPzogQ2hhdFByZXZpZXdIZWFkZXJDb25maWc7XG4gIHRvcE1hcmdpbj86IG51bWJlcjtcbn07XG5cbnR5cGUgQ2hhdFByZXZpZXdIZWFkZXJDb25maWcgPSB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBpbWFnZVNyYz86IHN0cmluZztcbiAgaW1hZ2VIZWlnaHQ/OiBudW1iZXI7XG4gIHNwYXJrbGVzQ29sb3I/OiBzdHJpbmc7IC8vIHVzZWQgYnk6IHNwYW54LCB1bmlxdWVWaW50YWdlLCBkcmVhbWxhbmRCYWJ5XG4gIGZvbnRTaXplPzogc3RyaW5nO1xuICBpY29uV2lkdGg/OiBzdHJpbmc7XG4gIGljb25IZWlnaHQ/OiBzdHJpbmc7XG59O1xuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdGb290ZXJDb25maWcge1xuICBoYXNGYWRlPzogYm9vbGVhbjsgLy8gdXNlZCBieTogc3BhbngsIHVuaXF1ZVZpbnRhZ2VcbiAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ/OiBcImRhcmtcIiB8IFwibGlnaHRcIiB8IFwib3V0bGluZWRcIjtcbiAgc3VnZ2VzdGlvbnNCYWNrZ3JvdW5kPzogc3RyaW5nOyAvLyB1c2VkIGJ5OiBjYXJiYWhuXG4gIHJlcGx5QnV0dG9uSWNvbj86XG4gIHwgXCJzZW5kXCJcbiAgfCBcIm1hZ25pZnlpbmdHbGFzc1wiXG4gIHwgXCJ0aGluTWFnbmlmeWluZ0dsYXNzXCJcbiAgfCBcInNlYXJjaEljb25cIjtcbiAgcmVwbHlCdXR0b25UZXh0Pzogc3RyaW5nO1xuICByZXBseUlucHV0SGFzU2hhZG93PzogYm9vbGVhbjsgLy8gdXNlZCBieTogc3BhbnhcbiAgcmVwbHlJbnB1dEhhc0JvcmRlcj86IGJvb2xlYW47IC8vIHVzZWQgYnk6IHNwYW54XG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZzsgLy8gdXNlZCBieSBzcGFueCwgdHVzaGJhYnksIHdpbGwgbmVlZCBjdXN0b20gQ1NTIHdoZW4gc3dpdGNoaW5nIG92ZXJcbn1cblxudHlwZSBQcm9kdWN0UmV2aWV3U3R5bGVWYXJpYW50ID0gXCJzdGFuZGFyZFwiIHwgXCJib3JkZXJlZFwiO1xuXG50eXBlIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQgPSBcIm5ldXRyYWxcIiB8IFwiYnJhbmRcIiB8IFwicHJlbWl1bVwiO1xuXG5pbnRlcmZhY2UgUHJvZHVjdFJldmlld0NvbmZpZyB7XG4gIHN0eWxlVmFyaWFudDogUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudDtcbiAgY29sb3JWYXJpYW50OiBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50O1xuICB2ZXJpZmllZEJ1eWVyVGl0bGU6IHN0cmluZztcbiAgaW5jZW50aXZpemVkUmV2aWV3RmxhZz86IGJvb2xlYW47XG59XG5cbnR5cGUgUGFnZUNhcmRWYXJpYW50ID0gXCJmaWxsZWRcIiB8IFwib3V0bGluZWRcIiB8IFwibWluaW1hbFwiO1xuXG50eXBlIFBhZ2VDYXJkSG92ZXJWYXJpYW50ID0gXCJub25lXCIgfCBcInNoYWRvd1wiIHwgXCJsaWZ0XCI7XG5cbnR5cGUgUGFnZUNhcmRJY29uVmFyaWFudCA9IFwicHJpbWFyeVwiIHwgXCJhY2NlbnRcIiB8IFwiYmFja2dyb3VuZFwiIHwgXCJub25lXCI7XG5cbnR5cGUgUGFnZUNhcmRDb25maWcgPSB7XG4gIHZhcmlhbnQ6IFBhZ2VDYXJkVmFyaWFudDtcbiAgaG92ZXJWYXJpYW50OiBQYWdlQ2FyZEhvdmVyVmFyaWFudDtcbiAgaWNvblZhcmlhbnQ6IFBhZ2VDYXJkSWNvblZhcmlhbnQ7XG59O1xuXG50eXBlIFByb2R1Y3RDYXJkVmFyaWFudCA9XG4gIHwgXCJmaWxsZWRcIlxuICB8IFwiYm9yZGVyZWRcIlxuICB8IFwibWluaW1hbFwiXG4gIHwgXCJ0cmFuc3BhcmVudEJvcmRlcmVkXCI7XG5cbnR5cGUgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQgPSBcImJhY2tncm91bmREYXJrXCIgfCBcIm5vbmVcIjtcblxudHlwZSBQcm9kdWN0Q2FyZExheW91dFZhcmlhbnQgPSBcIm5vcm1hbFwiIHwgXCJ0YWxsXCIgfCBcInNxdWFyZVwiO1xuXG5pbnRlcmZhY2UgUHJvZHVjdENhcmRDb25maWcge1xuICB2YXJpYW50OiBQcm9kdWN0Q2FyZFZhcmlhbnQ7XG4gIGhvdmVyVmFyaWFudDogUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQ7XG4gIGxheW91dFZhcmlhbnQ6IFByb2R1Y3RDYXJkTGF5b3V0VmFyaWFudDtcbiAgcHJpY2VQcmVmaXg/OiBzdHJpbmc7XG59XG5cbnR5cGUgQ1NTd2l0Y2hDb25maWcgPSB7XG4gIHZhcmlhbnQ6IFwiYXR0YWNoZWRcIiB8IFwiZGV0YWNoZWRcIjtcbiAgYmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gIGJvcmRlckNvbG9yOiBzdHJpbmc7XG4gIHNlbGVjdGVkVGV4dENvbG9yOiBzdHJpbmc7XG4gIHNlbGVjdGVkQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICB1bnNlbGVjdGVkVGV4dENvbG9yOiBzdHJpbmc7XG4gIHVuc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gIHN1cHBvcnRUaXRsZT86IHN0cmluZztcbiAgc3BpZmZ5VGl0bGU/OiBzdHJpbmc7XG4gIHNwaWZmeVRpdGxlSGFzTG9nbz86IGJvb2xlYW47XG59O1xuXG50eXBlIENoYXRIZWFkZXJDb25maWcgPSB7XG4gIGNvbGxhcHNlZENvbG9yOiBzdHJpbmc7XG4gIGV4cGFuZGVkQ29sb3I6IHN0cmluZztcbiAgY2hldnJvbkNvbG9yOiBzdHJpbmc7XG4gIGltYWdlU3JjPzogc3RyaW5nO1xuICBpY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICBjbG9zZUljb24/OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxSZWFjdC5TVkdQcm9wczxTVkdTVkdFbGVtZW50Pj47XG4gIGJvcmRlckJvdHRvbT86IHN0cmluZztcbiAgaGVhZGVyQmFySGVpZ2h0UGFydGlhbFZpZXc6IG51bWJlcjtcbiAgaGVhZGVyQmFySGVpZ2h0RnVsbFZpZXc6IG51bWJlcjtcbiAgY3VzdG9tZXJTdXBwb3J0U3dpdGNoQ29uZmlnPzogQ1NTd2l0Y2hDb25maWc7XG59O1xuXG50eXBlIFNpbXBsZUN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID0ge1xuICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgcHJvdmlkZXI6IEN1c3RvbWVyU2VydmljZVR5cGU7XG4gIHVzZVVuaWZpZWRCdXR0b24/OiBib29sZWFuO1xuICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcbn07XG5cbnR5cGUgRnVsbEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID0ge1xuICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgcHJvdmlkZXI6IEN1c3RvbWVyU2VydmljZVR5cGU7XG4gIHVzZVVuaWZpZWRCdXR0b24/OiBib29sZWFuO1xuICBjaGF0RW5hYmxlZER1cmluZ0J1c2luZXNzSG91cnM/OiBib29sZWFuO1xuICBzaG93TmFtZUlucHV0PzogYm9vbGVhbjtcbiAgZm9ybUFpTmFtZT86IHN0cmluZztcbiAgd2VsY29tZVRpdGxlOiBzdHJpbmc7XG4gIHdlbGNvbWVEZXNjcmlwdGlvbjogc3RyaW5nO1xuICBzaG93V2VsY29tZU9uRm9ybT86IGJvb2xlYW47XG4gIGNvbnRhY3RTdWJqZWN0T3B0aW9ucz86IHN0cmluZ1tdO1xuICBnZXRDdXN0b21XYWl0aW5nTWVzc2FnZT86IChuYW1lPzogc3RyaW5nKSA9PiBzdHJpbmc7XG4gIHdpdGhpbkJ1c2luZXNzSG91cnNNZXNzYWdlPzogc3RyaW5nO1xuICB3aXRoaW5CdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gIG91dHNpZGVCdXNpbmVzc0hvdXJzTWVzc2FnZT86IHN0cmluZztcbiAgb3V0c2lkZUJ1c2luZXNzSG91cnNXYWl0aW5nTWVzc2FnZT86IHN0cmluZztcbiAgd2l0aGluQnVzaW5lc3NIb3Vyc0Zvcm1NZXNzYWdlPzogc3RyaW5nO1xuICBvdXRzaWRlQnVzaW5lc3NIb3Vyc0Zvcm1NZXNzYWdlPzogc3RyaW5nO1xuICBzdWdnZXN0ZWRBSVF1ZXN0aW9ucz86IHN0cmluZ1tdO1xuICBidXNpbmVzc0hvdXJzUG9sbGluZz86IG51bWJlcjtcbiAgbWF4ZmlsZVVwbG9hZFNpemU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgaGFuZGxlZCBieSB0aGUgQkUuXG4gICAqL1xuICBidXNpbmVzc0hvdXJzU3RhcnRVVEM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgKi9cbiAgYnVzaW5lc3NIb3Vyc0VuZFVUQz86IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFRoaXMgaXMgaGFuZGxlZCBieSB0aGUgQkUuXG4gICAqL1xuICBidXNpbmVzc0hvdXJzVGltZXpvbmU/OiBzdHJpbmc7XG5cbiAgc2hvd0FJU3VnZ2VzdGlvbnNXaXRoaW5CdXNpbmVzc0hvdXJzPzogYm9vbGVhbjtcbiAgd2FpdGluZ01lc3NhZ2VQb3NpdGlvbj86IFwiQkVGT1JFX01FU1NBR0VTXCIgfCBcIkFGVEVSX01FU1NBR0VTXCI7XG4gIGxlZ2FsTWVzc2FnZT86IHN0cmluZztcbiAgd2l0aGluQnVzaW5lc3NIb3Vyc0luaXRpYWxTdGF0ZT86IENoYXRTdGF0ZTtcbiAgb3V0c2lkZUJ1c2luZXNzSG91cnNJbml0aWFsU3RhdGU/OiBDaGF0U3RhdGU7XG4gIHdpdGhpbkJ1c2luZXNzSG91cnNCdXR0b250ZXh0Pzogc3RyaW5nO1xuICBvdXRzaWRlQnVzaW5lc3NIb3Vyc0J1dHRvbnRleHQ/OiBzdHJpbmc7XG4gIHJlb3BlbkNoYXRNZXNzYWdlOiBzdHJpbmc7XG59O1xuXG50eXBlIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID1cbiAgfCBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvblxuICB8IEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjtcblxudHlwZSBDb252ZXJzYXRpb25hbFNlYWNoID0ge1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgcmVwbHlJbnB1dD86IFJlcGx5SW5wdXRDb25maWc7XG4gIHN1Z2dlc3Rpb25zPzogc3RyaW5nW107XG4gIGVudHJ5cG9pbnRCZ0NvbG9yPzogc3RyaW5nO1xuICBlbnRyeXBvaW50VGV4dENvbG9yPzogc3RyaW5nO1xuICBlbnRyeXBvaW50QnRuQ29sb3I/OiBzdHJpbmc7XG4gIGVudHJ5cG9pbnRCdG5UZXh0Q29sb3I/OiBzdHJpbmc7XG4gIGVudHJ5cG9pbnRCdG5Cb3JkZXJDb2xvcj86IHN0cmluZztcbiAgZW50cnlwb2ludENvbnRhaW5lcj86IHN0cmluZztcbiAgZW50cnlwb2ludFRyaWdnZXI/OiBzdHJpbmc7XG4gIHByb2R1Y3RHcmlkQ29udGFpbmVyPzogc3RyaW5nO1xuICBnZW5lcmFsU2VhcmNoQnRuPzogc3RyaW5nO1xuICBwYWdlQ29udGVudD86IHN0cmluZztcbiAgc2VhcmNoQ29udGVudD86IHN0cmluZztcbiAgc29ydGluZ1RpdGxlPzogc3RyaW5nO1xuICBzZWxlY3Rpb25UaXRsZT86IHN0cmluZztcbiAgc29ydGluZ0ZvbnQ/OiBzdHJpbmc7XG4gIG9wdGlvbnNGb250Pzogc3RyaW5nO1xuICBzb3J0aW5nQnV0dG9uVGV4dD86IHN0cmluZztcbn07XG5cbnR5cGUgQ2hhdE1lc3NhZ2VWYXJpYW50ID0gXCJzdGFuZGFyZFwiIHwgXCJwcmVtaXVtXCIgfCBcImFjY2VudFwiO1xuXG5pbnRlcmZhY2UgQ2hhdE1lc3NhZ2VDb25maWcge1xuICBhc3Npc3RhbnRDaGF0VGl0bGU6IHN0cmluZztcbiAgdmFyaWFudDogQ2hhdE1lc3NhZ2VWYXJpYW50O1xuICBwcm9kdWN0TGluazoge1xuICAgIHZhcmlhbnQ6IFByb2R1Y3RMaW5rVmFyaWFudDtcbiAgICBob3ZlclZhcmlhbnQ6IFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50O1xuICAgIGljb25WYXJpYW50OiBQcm9kdWN0TGlua0ljb25WYXJpYW50O1xuICB9O1xufVxuXG5pbnRlcmZhY2UgUmVwbHlJbnB1dENvbmZpZyB7XG4gIC8vIFRPRE8gY29uc2lkZXIgbWFraW5nIHRoaXMgYSBudW1iZXJcbiAgc2l6ZT86IFwibWRcIiB8IFwibGdcIjtcbiAgc2VuZEljb246IFwiYXJyb3dVcFwiIHwgXCJzZW5kXCIgfCBcInNlYXJjaFwiO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFBhcnRpYWxWaWV3Q29uZmlnIHtcbiAgLy8gbWF4aW11bSBoZWlnaHQgb2YgdGhlIHBhcnRpYWwgdmlldyBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHNjcmVlbiBoZWlnaHRcbiAgbWF4SGVpZ2h0OiBudW1iZXI7XG4gIGJvcmRlclJhZGl1cz86IHN0cmluZztcbn1cblxudHlwZSBQcm9kdWN0TGlua0ljb25WYXJpYW50ID1cbiAgfCBcImFjY2VudFByaW1hcnlcIlxuICB8IFwiYmFja2dyb3VuZFByaW1hcnlcIlxuICB8IFwiYmFja2dyb3VuZFByaW1hcnlEYXJrXCJcbiAgfCBcImJvcmRlckxpZ2h0XCJcbiAgfCBcImJhY2tncm91bmRTYXR1cmF0ZWRcIjtcblxudHlwZSBQcm9kdWN0TGlua1ZhcmlhbnQgPSBcInRleHRMaW5rXCI7XG5cbnR5cGUgUHJvZHVjdExpbmtIb3ZlclZhcmlhbnQgPSBcImJhY2tncm91bmREYXJrXCI7XG5cbnR5cGUgU2VhcmNoQ2FyZFZhcmlhbnQgPVxuICB8IFwiYmFja2dyb3VuZFByaW1hcnlcIlxuICB8IFwiYmFja2dyb3VuZFNlY29uZGFyeVwiXG4gIHwgXCJiYWNrZ3JvdW5kU2Vjb25kYXJ5RGFya1wiXG4gIHwgXCJiYWNrZ3JvdW5kTGlnaHRcIlxuICB8IFwiYmFja2dyb3VuZFNhdHVyYXRlZFwiO1xuXG50eXBlIFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50ID1cbiAgfCBcIm91dGxpbmVkXCJcbiAgfCBcIm91dGxpbmVkTGlnaHRcIlxuICB8IFwicHJpbWFyeVwiXG4gIHwgXCJzZWNvbmRhcnlcIlxuICB8IFwidGVydGlhcnlcIlxuICB8IFwiZGFya1wiXG4gIHwgXCJkYXJrQWNjZW50XCJcbiAgfCBcImRhcmtQcmltYXJ5XCJcbiAgfCBcInNlY29uZGFyeURhcmtcIlxuICB8IFwic2Vjb25kYXJ5QWNjZW50XCJcbiAgfCBcInRyYW5zcGFyZW50XCJcbiAgfCBcInRyYW5zcGFyZW50RGFya1wiXG4gIHwgXCJsaWdodERhcmtcIjtcblxuaW50ZXJmYWNlIFN1Z2dlc3Rpb25CdXR0b25Db25maWcge1xuICB2YXJpYW50PzogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIGhvdmVyVmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICBhbnN3ZXJWYXJpYW50PzogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIGJvcmRlclJhZGl1cz86IFwic21cIiB8IFwibWRcIiB8IFwibGdcIjtcbn1cblxudHlwZSBOdW1Sb3dzID0gXCJkZWZhdWx0XCIgfCBcImFsd2F5c09uZVJvd1wiIHwgXCJhbHdheXNUd29Sb3dzXCIgfCBcInR3b1Jvd3NPbk1vYmlsZVwiO1xuXG5pbnRlcmZhY2UgQWxwaGFiZXRpY0ZpbHRlclNvcnRpbmcge1xuICB0eXBlOiBcImFscGhhYmV0aWNcIjtcbn1cbmludGVyZmFjZSBQcm9kdWN0Q291bnRGaWx0ZXJTb3J0aW5nIHtcbiAgdHlwZTogXCJwcm9kdWN0Q291bnRcIjtcbn1cbmludGVyZmFjZSBDdXN0b21GaWx0ZXJTb3J0aW5nIHtcbiAgdHlwZTogXCJjdXN0b21cIjtcbiAgbWFwOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xufVxuXG50eXBlIEZpbHRlclNvcnRpbmcgPVxuICB8IEFscGhhYmV0aWNGaWx0ZXJTb3J0aW5nXG4gIHwgUHJvZHVjdENvdW50RmlsdGVyU29ydGluZ1xuICB8IEN1c3RvbUZpbHRlclNvcnRpbmc7XG5cbmludGVyZmFjZSBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgZmlsdGVySWQ6IHN0cmluZztcbiAgZGlzcGxheU5hbWU6IHN0cmluZztcbn1cbmludGVyZmFjZSBEeW5hbWljRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gIHR5cGU6IFwiZHluYW1pY1wiO1xuICBhdHRyaWJ1dGU6IHN0cmluZztcbiAgc29ydGluZzogRmlsdGVyU29ydGluZztcbn1cblxuaW50ZXJmYWNlIFByaWNlRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gIHR5cGU6IFwicHJpY2VcIjtcbiAgYnVja2V0U2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBGaWx0ZXJBdHRyaWJ1dGUgPSBEeW5hbWljRmlsdGVyQ29uZmlnIHwgUHJpY2VGaWx0ZXJDb25maWc7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFplcm9TdGF0ZVZhcmlhbnQgPVxuICB8IFwiYmFja2dyb3VuZFRlcnRpYXJ5XCJcbiAgfCBcImJhY2tncm91bmREYXJrXCJcbiAgfCBcImJhY2tncm91bmRQcmltYXJ5XCI7XG5leHBvcnQgdHlwZSBTZWFyY2haZXJvU3RhdGVMYXlvdXQgPSBcImlucHV0XCIgfCBcImljb25cIjtcblxuZXhwb3J0IHR5cGUgU2VhcmNoSW5wdXRWYXJpYW50ID0gXCJzdGFuZGFyZFwiO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hJY29uVmFyaWFudCA9IFwidGhpblwiIHwgXCJib2xkXCI7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50ID0gXCJkYXJrQnV0dG9uXCIgfCBcImxpZ2h0QnV0dG9uXCI7XG5cbmV4cG9ydCB0eXBlIFByb2R1Y3RHcmlkVmFyaWFudCA9IFwic3RhbmRhcmRcIiB8IFwic3F1YXJlXCI7XG5cbnR5cGUgVXNlclF1ZXJ5QnV0dG9uSWNvbiA9XG4gIHwgXCJtYWduaWZ5aW5nR2xhc3NcIlxuICB8IFwic2VuZFwiXG4gIHwgXCJtYWduaWZ5aW5nR2xhc3NUaGluXCJcbiAgfCBcInNlbmRBcnJvd1wiXG4gIHwgXCJzZWFyY2hJY29uXCI7XG5cbmludGVyZmFjZSBVc2VyUXVlcnlCdXR0b25Db25maWcge1xuICB2YXJpYW50PzogXCJib3hcIiB8IFwidW5kZXJsaW5lTGlnaHRcIiB8IFwidW5kZXJsaW5lRGFya1wiO1xuICBwbGFjZWhvbGRlclRleHQ/OiBzdHJpbmc7XG4gIGljb246IFVzZXJRdWVyeUJ1dHRvbkljb247XG59XG5cbi8vIFRPRE86IHRoaXMgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSB0b3AtbGV2ZWwgd2lkZ2V0IGNvbmZpZ1xuaW50ZXJmYWNlIFRlcm1zQW5kQ29uZGl0aW9uc0NvbmZpZyB7XG4gIGNvcHk6IHN0cmluZztcbiAgbGluazogc3RyaW5nO1xuICBsaW5rVGV4dDogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgTWVyY2hhbnRWYXJpYW50U2V0dGluZ3Mge1xuICBkeW5hbWljVmFyaWFudHM6IHtcbiAgICBlbmFibGVkOiBib29sZWFuOyAvLyBUaGlzIGZlYXR1cmUgd2lsbCBlbmFibGUgZHluYW1pYyB2YXJpYW50cyBmb3IgdGhlIG1lcmNoYW50LiBVc2VmdWwgZm9yIFNQQSdzXG4gICAgcmVmcmVzaEludGVydmFsPzogbnVtYmVyOyAvLyBUaGUgaW50ZXJ2YWwgaW4gbWlsbGlzZWNvbmRzIHRvIGNoZWNrIGZvciBjaGFuZ2VzIGluIHRoZSBVUkxcbiAgfTtcbn1cblxuaW50ZXJmYWNlIEZsb2F0aW5nQ2hhdENvbmZpZyB7XG4gIGVuYWJsZVdhdGVybWFyazogYm9vbGVhbjtcbiAgdXNlclF1ZXJ5SW5wdXRFbmFibGVkOiBib29sZWFuO1xuICBpZ25vcmVGaXJzdE1vZGVsUmVzcG9uc2U/OiBib29sZWFuO1xuICBuZXZlclNob3dTaW5nbGVQcm9kdWN0Q2FyZHM/OiBib29sZWFuO1xuICB0ZXJtc0FuZENvbmRpdGlvbnNDb25maWc/OiBUZXJtc0FuZENvbmRpdGlvbnNDb25maWc7XG5cbiAgLy8gRm9vdGVyIGNvbmZpZ1xuICBzdWdnZXN0aW9uQnV0dG9uQ29uZmlnPzogU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZztcbiAgcmVwbHlJbnB1dENvbmZpZzogUmVwbHlJbnB1dENvbmZpZztcbn1cblxuaW50ZXJmYWNlIFNlYXJjaENvbmZpZyB7XG4gIGVuYWJsZUdsb2JhbFNlYXJjaDogYm9vbGVhbjtcbiAgc2VhcmNoRmlsdGVyQ29uZmlnOiBGaWx0ZXJBdHRyaWJ1dGVbXTtcbiAgcmVkaXJlY3RTZWFyY2hSZXN1bHRzVXJsPzogc3RyaW5nO1xuICBhZGRpdGl2ZUR5bmFtaWNGaWx0ZXJzPzogYm9vbGVhbjtcbn1cblxudHlwZSBPcmdVSUNvbmZpZyA9IHtcbiAgc2hvcnROYW1lOiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBmbG9hdGluZ0VudHJ5cG9pbnRDb25maWc/OiBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWc7XG4gIC8vIERlcHJlY2F0ZWQgLSByZW1vdmUgd2l0aCBDaGF0UHJldmlldyByZXdyaXRlXG4gIGNoYXRQcmV2aWV3Q29uZmlnPzogQ2hhdFByZXZpZXdDb25maWc7XG5cbiAgY3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb246IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uO1xuICAvLyBEZXByZWNhdGVkIC0gcmVtb3ZlIHdoZW4gR2xvYmFsIFNlYXJjaCBpcyBmdWxseSBsYXVuY2hlZFxuICBjb252ZXJzYXRpb25hbFNlYXJjaD86IENvbnZlcnNhdGlvbmFsU2VhY2g7XG5cbiAgbWVyY2hhbnRPdmVycmlkZUNzcz86IHN0cmluZztcblxuICAvLyBEZXByZWNhdGVkIFRPRE86IFJlbW92ZSB0aGlzIGRlcHJlY2F0ZWQgdmFsdWUgd2hlbiBHcm9vdmUgQ1ggaGFzIHByb3BlciB1bmlmaWVkIGJ1dHRvbiBzdXBwb3J0XG4gIC8vIHNlbGVjdG9ycyBmb3IgZWxlbWVudHMgdGhhdCBzaG91bGQgYmUgaGlkZGVuIHdoZW4gdGhlIGNoYXQgaXMgb3BlblxuICAvLyBlLmcuIENTIHdpZGdldHMgd2l0aCBtYXggei1pbmRleCAoXCJkaXZbaWQqPSdjcy1jb250YWluZXInXVwiKVxuICBoaWRkZW5FbGVtZW50U2VsZWN0b3JzPzogc3RyaW5nW107XG5cbiAgbWVyY2hhbnRWYXJpYW50U2V0dGluZ3M/OiBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncztcbiAgLy8gVE9ETzogTWlncmF0ZSBhbGwgZmxvYXRpbmcgY2hhdCBjb25maWcgaW50byB0aGlzIHRvcC1sZXZlbCBrZXlcbiAgLy9cbiAgZmxvYXRpbmdDaGF0Q29uZmlnOiBGbG9hdGluZ0NoYXRDb25maWc7XG5cbiAgLy8gQ29udGFpbiBhbGwgc2VhcmNoIGNvbmZpZyBoZXJlXG4gIHNlYXJjaENvbmZpZzogU2VhcmNoQ29uZmlnO1xuICAvLyBUT0RPOiBNb3ZlIHRoZXNlIGludG8gRmxvYXRpbmdDaGF0Q29uZmlnXG4gIC8vIENoYXQgSGVhZGVyIHJlbGF0ZWQgdmFsdWVzXG4gIGNoYXRIZWFkZXI6IENoYXRIZWFkZXJDb25maWc7XG4gIHN0aWNreUFnZW50U3dpdGNoU3VnZ2VzdGlvbj86IGJvb2xlYW47XG4gIHBhcnRpYWxWaWV3Q29uZmlnOiBQYXJ0aWFsVmlld0NvbmZpZztcbiAgd2VsY29tZVNlY3Rpb25Db25maWc/OiBXZWxjb21lU2VjdGlvbkNvbmZpZztcbiAgLy8gRGlmZmVyZW50IHJlc3BvbnNlIHZhbHVlc1xuICBwcm9kdWN0Q2FyZENvbmZpZz86IFByb2R1Y3RDYXJkQ29uZmlnO1xuICBwcm9kdWN0UmV2aWV3Q29uZmlnPzogUHJvZHVjdFJldmlld0NvbmZpZztcbiAgcGFnZUNhcmRDb25maWc/OiBQYWdlQ2FyZENvbmZpZztcbiAgY2hhdE1lc3NhZ2VDb25maWc6IENoYXRNZXNzYWdlQ29uZmlnO1xufTtcblxudHlwZSBJbnNlcnRpb25Qb2ludCA9IHtcbiAgc2VsZWN0b3I6IHN0cmluZztcbiAgLy8gdGhpcyBpcyB0aGUgaW5kZXggb2YgdGhlIHRhcmdldCBlbGVtZW50LCAwIGlmIG1pc3NpbmdcbiAgc2VsZWN0aW9uSW5kZXg/OiBudW1iZXI7XG4gIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGU7XG59O1xuXG50eXBlIFVSTFRlc3QgPSBcInNob3BpZnlcIiB8IFwibnVsbFwiO1xuXG50eXBlIElkRXh0cmFjdG9yID1cbiAgfCBcInNob3BpZnktcHJvZHVjdC1pZFwiXG4gIHwgXCJzaG9waWZ5LWNvbGxlY3Rpb24taWRcIlxuICB8IFwic2hvcGlmeS1wcm9kdWN0LXZhcmlhbnQtaWRcIlxuICB8IFwidXJsLXJlc29sdmVyLXByb2R1Y3QtaWRcIlxuICB8IFwidXJsLXJlc29sdmVyLXBscC1pZFwiXG4gIHwgXCJudWxsXCI7XG5cbi8vIFRoaXMgY29udGFpbnMgYSBtYXAgYmV0d2VlbiBQYWdlVmlzaXRDYXRlZ29yeSBhbmQgYSBsaXN0IG9mIFVSTCdzIHRoYXQgYXJlIGNsYXNzaWZpZWQgYXMgdGhlIHZhbHVlXG5lbnVtIENhdGVnb3J5RXh0cmFjdG9yVHlwZSB7XG4gIFZpc2l0Q2F0ZWdvcnlNYXAgPSBcIlZpc2l0Q2F0ZWdvcnlNYXBcIixcbiAgVmlzaXRDYXRlZ29yeURlZmF1bHQgPSBcIlZpc2l0Q2F0ZWdvcnlEZWZhdWx0XCIsXG59XG5cbmludGVyZmFjZSBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8VCBleHRlbmRzIENhdGVnb3J5RXh0cmFjdG9yVHlwZT4ge1xuICB0eXBlOiBUO1xufVxuXG4vLyBUaGlzIG1hcCBiZXR3ZWVucyBhIGNhdGVnb3J5IGFuZCBhIGxpc3Qgb2YgdXJsIHBhdHRlcm5zXG5pbnRlcmZhY2UgVmlzaXRDYXRlZ29yeU1hcFxuICBleHRlbmRzIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxDYXRlZ29yeUV4dHJhY3RvclR5cGUuVmlzaXRDYXRlZ29yeU1hcD4ge1xuICBtYXA6IHtcbiAgICBba2V5IGluIFBhZ2VWaXNpdENhdGVnb3J5XT86IHN0cmluZ1tdO1xuICB9O1xufVxuXG4vLyBUaGlzIHdpbGwgcmV0dXJuIGEgaGFyZC1jb2RlZCBkZWZhdWx0IFBhZ2VWaXNpdENhdGVnb3J5LiBJdCBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGJ5IGZhbGxiYWNrIHBhZ2UgdHlwZXNcbmludGVyZmFjZSBWaXNpdENhdGVnb3J5RGVmYXVsdFxuICBleHRlbmRzIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxDYXRlZ29yeUV4dHJhY3RvclR5cGUuVmlzaXRDYXRlZ29yeURlZmF1bHQ+IHtcbiAgdmFsdWU6IFBhZ2VWaXNpdENhdGVnb3J5O1xufVxuXG50eXBlIENhdGVnb3J5RXh0cmFjdG9yID0gVmlzaXRDYXRlZ29yeU1hcCB8IFZpc2l0Q2F0ZWdvcnlEZWZhdWx0O1xuXG50eXBlIFdyYXBwaW5nRWxlbWVudCA9IHtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gIGVsZW1lbnQ6IHN0cmluZztcbiAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZTtcbn07XG5cbmVudW0gUGFnZVZhcmlhbnRUZXN0VHlwZSB7XG4gIFNob3BpZnlQTFAgPSBcIlNob3BpZnlQTFBcIixcbiAgU2hvcGlmeVBEUCA9IFwiU2hvcGlmeVBEUFwiLFxuICBQYWdlQ2F0ZWdvcnkgPSBcIlBhZ2VDYXRlZ29yeVwiLFxuICBDYXRhbG9nQ2F0ZWdvcnkgPSBcIkNhdGFsb2dDYXRlZ29yeVwiLFxuICBUb3BDYXRhbG9nQ2F0ZWdvcnkgPSBcIlRvcENhdGFsb2dDYXRlZ29yeVwiLFxuICBIYXNSZXZpZXdzID0gXCJIYXNSZXZpZXdzXCIsXG4gIEluQ29sbGVjdGlvbiA9IFwiSW5Db2xsZWN0aW9uXCIsXG4gIEhhc01lcmNoYW50VGFnID0gXCJIYXNNZXJjaGFudFRhZ1wiLFxuICBGZWF0dXJlR2F0ZSA9IFwiRmVhdHVyZUdhdGVcIixcbiAgUGxwSWQgPSBcIlBscElkXCIsXG4gIFF1ZXJ5UGFyYW0gPSBcIlF1ZXJ5UGFyYW1cIixcbiAgUHJvZHVjdElkID0gXCJQcm9kdWN0SWRcIixcbiAgVXNlckhhc0ludGVyYWN0ZWQgPSBcIlVzZXJIYXNJbnRlcmFjdGVkXCIsXG4gIFVzZXJIYXNOb3RJbnRlcmFjdGVkID0gXCJVc2VySGFzTm90SW50ZXJhY3RlZFwiLFxuICBpc0xvYWRpbmcgPSBcImlzTG9hZGluZ1wiLFxuICBpc1Byb2R1Y3RDb21wYXJpc29uID0gXCJpc1Byb2R1Y3RDb21wYXJpc29uXCIsXG4gIEZhbGxiYWNrID0gXCJGYWxsYmFja1wiLFxuICBVcmxSZXNvbHZlciA9IFwiVXJsUmVzb2x2ZXJcIixcbiAgTnVsbCA9IFwibnVsbFwiLFxufVxuXG5pbnRlcmZhY2UgQmFzZVBhZ2VWYXJpYW50VGVzdDxUIGV4dGVuZHMgUGFnZVZhcmlhbnRUZXN0VHlwZT4ge1xuICB0ZXN0VHlwZTogVDtcbn1cblxuaW50ZXJmYWNlIFRvcENhdGFsb2dDYXRlZ29yeVxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Ub3BDYXRhbG9nQ2F0ZWdvcnk+IHtcbiAgdG9wQ2F0ZWdvcnk6IHN0cmluZ1tdO1xufVxuXG5pbnRlcmZhY2UgQ2F0YWxvZ0NhdGVnb3J5VGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5DYXRhbG9nQ2F0ZWdvcnk+IHtcbiAgY2F0ZWdvcnk6IFN1cHBvcnRlZEV2ZW50UHJvZHVjdENhdGVnb3J5O1xufVxuXG5pbnRlcmZhY2UgSGFzUmV2aWV3c1Rlc3RcbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzUmV2aWV3cz4ge1xuICByZXZpZXdNaW5pbXVtPzogbnVtYmVyO1xufVxuXG4vLyBUaGlzIHdpbGwgcmV0dXJuIHRydWUgaWYgdGhlIHByb2R1Y3QgaXMgaW4gYW55IG9mIHRoZSBsaXN0ZWQgY29sbGVjdGlvbnNcbmludGVyZmFjZSBJbkNvbGxlY3Rpb25UZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbj4ge1xuICBjb2xsZWN0aW9uczogc3RyaW5nW107XG59XG5cbi8vIFRoaXMgd2lsbCByZXR1cm4gdHJ1ZSBpZiB0aGUgcHJvZHVjdCBoYXMgYW55IG9mIHRoZSBsaXN0ZWQgbWVyY2hhbnQgdGFnc1xuaW50ZXJmYWNlIEhhc01lcmNoYW50VGFnVGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNNZXJjaGFudFRhZz4ge1xuICBtZXJjaGFudFRhZ3M6IHN0cmluZ1tdO1xufVxuXG5pbnRlcmZhY2UgU2hvcGlmeVBMUFVSTFRlc3RcbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBMUD4ge31cblxuaW50ZXJmYWNlIFNob3BpZnlQRFBVUkxUZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQRFA+IHt9XG5cbmludGVyZmFjZSBQYWdlQ2F0ZWdvcnlUZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlBhZ2VDYXRlZ29yeT4ge1xuICBleHRyYWN0b3I6IENhdGVnb3J5RXh0cmFjdG9yO1xufVxuXG5pbnRlcmZhY2UgRmVhdHVyZUdhdGVUZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkZlYXR1cmVHYXRlPiB7XG4gIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXM7XG59XG5cbmludGVyZmFjZSBQcm9kdWN0SWRUZXN0XG4gIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlByb2R1Y3RJZD4ge1xuICBwcm9kdWN0SWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xuICBwcm9kdWN0SWRzOiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIFBscElkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZD4ge1xuICBwbHBJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG4gIHBscElkczogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBRdWVyeVBhcmFtVGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5RdWVyeVBhcmFtPiB7XG4gIHF1ZXJ5UGFyYW06IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFVzZXJIYXNJbnRlcmFjdGVkVGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzSW50ZXJhY3RlZD4ge31cblxuaW50ZXJmYWNlIFVzZXJIYXNOb3RJbnRlcmFjdGVkVGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzTm90SW50ZXJhY3RlZD4ge31cblxuaW50ZXJmYWNlIElzTG9hZGluZ1Rlc3RcbiAgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuaXNMb2FkaW5nPiB7fVxuXG5pbnRlcmZhY2UgSXNQcm9kdWN0Q29tcGFyaXNvblxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1Byb2R1Y3RDb21wYXJpc29uPiB7fVxuXG5pbnRlcmZhY2UgUGFnZUZhbGxiYWNrVGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5GYWxsYmFjaz4ge31cblxuaW50ZXJmYWNlIFVybFJlc29sdmVyVGVzdFxuICBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlcj4ge31cblxuZXhwb3J0IHR5cGUgUGFnZVZhcmlhbnRUZXN0ID1cbiAgfCBQYWdlQ2F0ZWdvcnlUZXN0XG4gIHwgU2hvcGlmeVBMUFVSTFRlc3RcbiAgfCBTaG9waWZ5UERQVVJMVGVzdFxuICB8IENhdGFsb2dDYXRlZ29yeVRlc3RcbiAgfCBUb3BDYXRhbG9nQ2F0ZWdvcnlcbiAgfCBIYXNSZXZpZXdzVGVzdFxuICB8IEluQ29sbGVjdGlvblRlc3RcbiAgfCBIYXNNZXJjaGFudFRhZ1Rlc3RcbiAgfCBGZWF0dXJlR2F0ZVRlc3RcbiAgfCBQcm9kdWN0SWRUZXN0XG4gIHwgUGxwSWRUZXN0XG4gIHwgUXVlcnlQYXJhbVRlc3RcbiAgfCBVc2VySGFzSW50ZXJhY3RlZFRlc3RcbiAgfCBVc2VySGFzTm90SW50ZXJhY3RlZFRlc3RcbiAgfCBJc0xvYWRpbmdUZXN0XG4gIHwgSXNQcm9kdWN0Q29tcGFyaXNvblxuICB8IFBhZ2VGYWxsYmFja1Rlc3RcbiAgfCBVcmxSZXNvbHZlclRlc3Q7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIHNvY2lhbCBwcm9vZiBlbWJlZGRlZCB3aWRnZXRcbiAqXG4gKiBAcGFyYW0gaGVhZGVyVGl0bGUgLSBUaGUgdGl0bGUgdGV4dCB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgaGVhZGVyXG4gKiBAcGFyYW0gc3RhdGljU3VnZ2VzdGlvbnMgLSBBIGxpc3Qgb2Ygc3RyaW5ncyB0byBkaXNwbGF5IGFzIHN1Z2dlc3Rpb25zIGluIHRoZSB3aWRnZXRcbiAqIEBwYXJhbSBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudERlZmF1bHQgLSBUaGUgdmFyaWFudCBvZiB0aGUgc3VnZ2VzdGlvbiBidXR0b24gdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGZvb3RlclxuICogQHBhcmFtIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50QWNjZW50IC0gVGhlIHZhcmlhbnQgb2YgdGhlIHN1Z2dlc3Rpb24gYnV0dG9uIHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBib2R5XG4gKiBAcGFyYW0gc3RhdGljSW1hZ2VJbmRleCAtIEluZGV4IG9mIHRoZSBpbWFnZVVybCB0byB1c2UgZnJvbSB0aGUgcHJvZHVjdCByZXNwb25zZVxuICovXG5pbnRlcmZhY2UgU29jaWFsUHJvb2ZDb25maWcge1xuICBjdXN0b21lclF1ZXJ5OiBzdHJpbmc7XG4gIGhlYWRlclRpdGxlOiBzdHJpbmc7XG4gIHN0YXRpY1BMUEltYWdlc0xheW91dD86IFwiZ3JpZFwiIHwgXCJob3Jpem9udGFsXCI7XG4gIGhlYWRlckZvbnRGYW1pbHk/OiBzdHJpbmc7XG4gIHN0YXRpY1BMUEltYWdlTmFtZXM/OiBzdHJpbmdbXTtcbiAgc3RhdGljSW1hZ2VJbmRleD86IG51bWJlcjtcbiAgc3VnZ2VzdGlvbkJ1dHRvblN0cmluZ3M6IHN0cmluZ1tdO1xuICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudERlZmF1bHQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICBzdWdnZXN0aW9uQnV0dG9uRGF0YUF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICB1c2VyUXVlcnlCdXR0b25Db25maWc/OiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG4gIGxvZ29OYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIGNyZWF0aW5nIHRoZSBtb3VudCBwb2ludCBmb3IgYSB3aWRnZXRcbiAqXG4gKiBAcGFyYW0gY2xhc3NOYW1lIC0gT3B0aW9uYWwgY2xhc3MgbmFtZSB0byBhcHBseSB0byB0aGUgbW91bnQgcG9pbnQuIFRhaWx3aW5kIGNsYXNzZXMgYXJlIHN1cHBvcnRlZFxuICogYW5kIGVuY291cmFnZWQuIFVzZSB0aGlzIHBhcmFtZXRlciB0byBzdHlsZSB0aGUgbW91bnRpbmcgY29udGFpbmVyIGZvciB0aGUgd2lkZ2V0LlxuICovXG5leHBvcnQgdHlwZSBXaWRnZXRNb3VudGluZ0NvbmZpZyA9IHtcbiAgbW91bnRpbmdDb25maWdJZDogc3RyaW5nO1xuICBjb250YWluZXJJZDogc3RyaW5nO1xuICB0ZXN0SWQ6IHN0cmluZztcbiAgcGFyZW50SW5zZXJ0aW9uUG9pbnQ/OiBJbnNlcnRpb25Qb2ludDtcbiAgaW5zZXJ0aW9uUG9pbnQ6IEluc2VydGlvblBvaW50O1xuICBncmlkSW5zZXJ0aW9uVHlwZT86IEdyaWRJbnNlcnRpb25UeXBlO1xuICB3cmFwcGluZ0VsZW1lbnQ/OiBXcmFwcGluZ0VsZW1lbnQ7XG4gIGRpdkNoZWNrU2VsZWN0b3I/OiBzdHJpbmc7XG4gIHN1cHByZXNzaW9uU2VsZWN0b3I/OiBzdHJpbmc7XG4gIHN0eWxlPzogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBkYXRhQXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59O1xuXG50eXBlIFN0YXRpY1dpZGdldE1vdW50aW5nID0ge1xuICBtb3VudGluZ0NvbmZpZ0lkOiBzdHJpbmc7XG4gIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG59O1xudHlwZSBEeW5hbWljV2lkZ2V0TW91bnRpbmcgPSB7XG4gIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgbW91bnRpbmdQb2ludFdpZGdldHM6IFdpZGdldERpc3BsYXlUZXN0c1tdO1xufTtcblxudHlwZSBXaWRnZXREaXNwbGF5VGVzdHMgPSB7XG4gIHRlc3RzOiBQYWdlVmFyaWFudFRlc3RbXTtcbiAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbn07XG5cbnR5cGUgV2lkZ2V0TW91bnRpbmcgPSBTdGF0aWNXaWRnZXRNb3VudGluZyB8IER5bmFtaWNXaWRnZXRNb3VudGluZztcblxuZW51bSBXaWRnZXRUeXBlIHtcbiAgQ2hhdFByZXZpZXcgPSBcIkNoYXRQcmV2aWV3XCIsXG4gIFNvY2lhbFByb29mVjIgPSBcIlNvY2lhbFByb29mVjJcIixcbiAgQ2hhdFByZXZpZXdWMiA9IFwiQ2hhdFByZXZpZXdWMlwiLFxuICBDaGF0UHJldmlld0lzTG9hZGluZyA9IFwiQ2hhdFByZXZpZXdJc0xvYWRpbmdcIixcbiAgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb24gPSBcIkNoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uXCIsXG4gIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb24gPSBcIkNoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25cIixcbiAgU3VnZ2VzdGlvbkJhciA9IFwiU3VnZ2VzdGlvbkJhclwiLFxuICBTdWdnZXN0aW9uQmFyVjIgPSBcIlN1Z2dlc3Rpb25CYXJWMlwiLFxuICBJbWFnZVByb21wdENhcmQgPSBcIkltYWdlUHJvbXB0Q2FyZFwiLFxuICBJbWFnZUJhbm5lciA9IFwiSW1hZ2VCYW5uZXJcIixcbiAgU2luZ2xlSW1hZ2VQcm9tcHQgPSBcIlNpbmdsZUltYWdlUHJvbXB0XCIsXG4gIFNlYXJjaFByb21wdCA9IFwiU2VhcmNoUHJvbXB0XCIsXG4gIFNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnQgPSBcIlNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnRcIixcbiAgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQgPSBcIlNlYXJjaFJlc3VsdHNFbnRyeVBvaW50XCIsXG4gIFNlYXJjaE92ZXJsYXlIb3N0ID0gXCJTZWFyY2hPdmVybGF5SG9zdFwiLFxuICBOb09wID0gXCJOb09wXCIsXG59XG5cbnR5cGUgV2lkZ2V0Q29uZmlnID1cbiAgfCBDaGF0UHJldmlld1dpZGdldENvbmZpZ1xuICB8IFNvY2lhbFByb29mVjJXaWRnZXRDb25maWdcbiAgfCBDaGF0UHJldmlld1YyV2lkZ2V0Q29uZmlnXG4gIHwgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWdcbiAgfCBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZ1xuICB8IENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWdcbiAgfCBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWdcbiAgfCBJbWFnZVByb21wdFdpZGdldENvbmZpZ1xuICB8IEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnXG4gIHwgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWdcbiAgfCBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWdcbiAgfCBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnXG4gIHwgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWdcbiAgfCBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZ1xuICB8IE5vT3BXaWRnZXRDb25maWc7XG5cbmludGVyZmFjZSBCYXNlV2lkZ2V0Q29uZmlnPFQgZXh0ZW5kcyBXaWRnZXRUeXBlPiB7XG4gIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG4gIHR5cGU6IFQ7XG4gIGNvbnRlbnRJZD86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkltYWdlQmFubmVyPiB7XG4gIGltYWdlU3JjOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHN1YnRpdGxlOiBzdHJpbmc7XG4gIGFzc2lzdGFudE1lc3NhZ2U6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3PiB7XG4gIHZhcmlhbnQ6IFwiZmlsbGVkXCIgfCBcImZsYXRcIiB8IFwib3V0bGluZWRcIjtcbiAgYWRkU2VwYXJhdG9ycz86IGJvb2xlYW47XG4gIHNvY2lhbFByb29mQ29uZmlnPzogU29jaWFsUHJvb2ZDb25maWc7XG4gIGZvb3RlckNvbmZpZz86IENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnO1xufVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZyB7XG4gIHRpdGxlPzogc3RyaW5nOyAvLyBEZWZhdWx0OiAnU2hvcHBpbmcgQXNzaXN0YW50J1xuICBpbWFnZVNyYz86IHN0cmluZztcbiAgaW1hZ2VIZWlnaHQ/OiBudW1iZXI7XG59XG5cbnR5cGUgU2luZ2xlSW1hZ2VDb25maWcgPSB7XG4gIGxheW91dDogXCJzaW5nbGVcIjtcbiAgaW1hZ2VJbmRleDogbnVtYmVyO1xufTtcbnR5cGUgTXVsdGlJbWFnZUNvbmZpZyA9IHtcbiAgbGF5b3V0OiBcImdyaWRcIiB8IFwiaG9yaXpvbnRhbFwiO1xuICBpbWFnZU5hbWVzOiBzdHJpbmdbXTtcbn07XG50eXBlIFNvY2lhbFByb29mSW1hZ2VDb25maWcgPSBTaW5nbGVJbWFnZUNvbmZpZyB8IE11bHRpSW1hZ2VDb25maWc7XG5cbnR5cGUgQ2hhdFByZXZpZXdTdWdnZXN0aW9uQnV0dG9uQ29uZmlnID0ge1xuICBidXR0b25TdHJpbmdzOiBzdHJpbmdbXTtcbiAgYWNjZW50QnV0dG9uVmFyaWFudHM/OiB7XG4gICAgYnV0dG9uOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBob3ZlcjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIH07XG4gIGJ1dHRvblZhcmlhbnRzOiB7XG4gICAgYnV0dG9uOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBob3ZlcjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIH07XG4gIG51bVJvd3M/OiBOdW1Sb3dzO1xufTtcblxudHlwZSBDaGF0UHJldmlld0FuaW1hdGVkVGV4dENvbmZpZyA9IHtcbiAgbGVhZGluZ1RleHQ6IHN0cmluZztcbiAgYW5pbWF0ZWRTdHJpbmdzOiBzdHJpbmdbXTtcbn07XG5cbnR5cGUgQ2hhdFByZXZpZXdWYXJpYW50ID1cbiAgfCB7IHZhcmlhbnQ6IFwiZmxhdFwiIH1cbiAgfCB7IHZhcmlhbnQ6IFwiZmlsbGVkXCI7IGJhY2tncm91bmRGaWxsQ29sb3I6IHN0cmluZyB9XG4gIHwgeyB2YXJpYW50OiBcIm91dGxpbmVkXCIgfTtcblxuLy8gQmFzZSBpbnRlcmZhY2UgZm9yIGNvbW1vbiBjaGF0IHByZXZpZXcgcHJvcGVydGllc1xuaW50ZXJmYWNlIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gIGhlYWRlckNvbmZpZzogQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZztcbiAgc3VnZ2VzdGlvbkJ1dHRvbnNDb25maWc6IENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZztcbiAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG4gIGNoYXRQcmV2aWV3VmFyaWFudDogQ2hhdFByZXZpZXdWYXJpYW50O1xuICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbn1cblxuLy8gU3BlY2lmaWMgY2hhdCBwcmV2aWV3IHdpZGdldCBjb25maWd1cmF0aW9uc1xuaW50ZXJmYWNlIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uPixcbiAgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgY2hhdFByZXZpZXdWYXJpYW50OiBDaGF0UHJldmlld1ZhcmlhbnQ7XG4gIGFkZFNlcGFyYXRvcnM/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdJc0xvYWRpbmc+LFxuICBCYXNlQ2hhdFByZXZpZXdDb25maWcge31cblxuaW50ZXJmYWNlIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbj4sXG4gIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gIHVzZUxhcmdlUHJvZHVjdENvbXBhcmlzb24/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1YyPixcbiAgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgYW5pbWF0ZWRUZXh0Q29uZmlnOiBDaGF0UHJldmlld0FuaW1hdGVkVGV4dENvbmZpZztcbn1cblxuaW50ZXJmYWNlIFNvY2lhbFByb29mVjJXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU29jaWFsUHJvb2ZWMj4sXG4gIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gIGN1c3RvbWVyUXVlcnk/OiBzdHJpbmc7IC8vIERlZmF1bHQ6ICdhc2tlZCB3aGljaCBwcm9kdWN0cyBhcmUgdGhlIGJlc3QnXG4gIGltYWdlQ29uZmlnOiBTb2NpYWxQcm9vZkltYWdlQ29uZmlnO1xufVxuXG5pbnRlcmZhY2UgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMj4ge1xuICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uO1xuICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcztcbiAgdmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIGhvdmVyVmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIGJ1dHRvblRleHRzOiB7XG4gICAgZGVmYXVsdDogc3RyaW5nW107XG4gICAgcHJvZHVjdFNwZWNpZmljPzogeyBbcHJvZHVjdElkOiBzdHJpbmddOiBzdHJpbmdbXSB9O1xuICB9O1xuICBib2xkRmlyc3RCdXR0b24/OiBib29sZWFuO1xuICB0d29Sb3dzT25Nb2JpbGU/OiBib29sZWFuO1xuICBhbmltYXRpb25TcGVlZD86IFwic3RhbmRhcmRcIiB8IFwic2xvd1wiIHwgXCJub25lXCI7XG4gIGJ1dHRvbkJvcmRlclJhZGl1cz86IFwic21cIiB8IFwibWRcIiB8IFwibGdcIjtcbn1cblxuaW50ZXJmYWNlIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZD4ge1xuICB1cmw6IHN0cmluZztcbiAgbGlnaHRUZXh0PzogYm9vbGVhbjtcbiAgdGl0bGU6IHN0cmluZztcbiAgc3VidGl0bGU6IHN0cmluZ1tdO1xuICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBzdHJpbmdbXTtcbiAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG4gIGZhbGxiYWNrQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2luZ2xlSW1hZ2VQcm9tcHQ+IHtcbiAgdGl0bGU6IHN0cmluZztcbiAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogc3RyaW5nW107XG4gIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xufVxuXG5pbnRlcmZhY2UgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50PiB7XG4gIHNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ6IFNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ7XG4gIHNlYXJjaElucHV0VmFyaWFudDogU2VhcmNoSW5wdXRWYXJpYW50O1xuICBzZWFyY2hJY29uVmFyaWFudD86IFNlYXJjaEljb25WYXJpYW50O1xuICBzZWFyY2hJY29uU2l6ZT86IG51bWJlcjtcbiAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZzogU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZztcbiAgbGF5b3V0OiBTZWFyY2haZXJvU3RhdGVMYXlvdXQ7XG4gIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIGFuaW1hdGlvblNwZWVkPzogXCJzdGFuZGFyZFwiIHwgXCJzbG93XCIgfCBcIm5vbmVcIjtcbiAgY29tcGFjdExhYmVsPzogc3RyaW5nO1xuICBpbml0aWFsU3VnZ2VzdGlvbnM/OiBzdHJpbmdbXTtcbiAgdXNpbmdQb3J0YWw/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgTm9PcFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5Ob09wPiB7fVxuaW50ZXJmYWNlIFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaE92ZXJsYXlIb3N0PiB7fVxuXG5pbnRlcmZhY2UgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQ+IHtcbiAgc2VhcmNoSW5wdXRWYXJpYW50OiBTZWFyY2hJbnB1dFZhcmlhbnQ7XG4gIHNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50OiBTZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudDtcbiAgcHJvZHVjdEdyaWRWYXJpYW50OiBQcm9kdWN0R3JpZFZhcmlhbnQ7XG4gIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIG5vUmVzdWx0c0ZvdW5kVGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaWRnZXRIZWFkZXJQcm9wcyBleHRlbmRzIFRlc3RQcm9wcyB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBsb2dvPzogc3RyaW5nO1xuICBsb2dvSGVpZ2h0PzogbnVtYmVyO1xuICBvcmdTaG9ydE5hbWU6IHN0cmluZztcbiAgdmFyaWFudD86IFNlYXJjaFByb21wdFZhcmlhbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclF1ZXJ5T3B0aW9ucyB7XG4gIGZvb3RlclZhcmlhbnQ/OiBcInN0YW5kYXJkXCI7XG4gIHJlcGx5QnV0dG9uVGV4dD86IHN0cmluZztcbiAgcmVwbHlCdXR0b25JY29uPzpcbiAgfCBcIm1hZ25pZnlpbmdHbGFzc1wiXG4gIHwgXCJzZW5kXCJcbiAgfCBcInRoaW5NYWduaWZ5aW5nR2xhc3NcIlxuICB8IFwiYWktc2VhcmNoXCI7XG59XG5cbnR5cGUgU2VhcmNoUHJvbXB0VmFyaWFudCA9IFwicHJpbWFyeVwiO1xuaW50ZXJmYWNlIFNlYXJjaFByb21wdFdpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2hQcm9tcHQ+IHtcbiAgdmFyaWFudDogU2VhcmNoUHJvbXB0VmFyaWFudDtcbiAgdGl0bGU6IHN0cmluZztcbiAgaGVhZGVyQ29uZmlnOiBXaWRnZXRIZWFkZXJQcm9wcztcbiAgc3VnZ2VzdGlvbkJ1dHRvbnM6IHtcbiAgICB2YXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBob3ZlclZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGJ1dHRvblRleHRzOiBzdHJpbmdbXTtcbiAgfTtcbiAgZm9vdGVyQ29uZmlnPzogVXNlclF1ZXJ5T3B0aW9ucztcbn1cblxudHlwZSBQYWdlVmFyaWFudEJhc2UgPSB7XG4gIC8vIFVuaXF1ZSBpZGVudGlmaWVyIGZvciBlYWNoIGVudHJ5IHdpdGhpbiB0aGUgcGFnZVZhcmlhbnRzLlxuICAvLyBVc2VmdWwgdG8gZGlmZmVyZW50aWF0ZSB3aGljaCB2YXJpYW50IGlzIGxvYWRlZCB3aGVuIHRoZXJlIGFyZSBtdWx0aXBsZXMgb2YgYSBzaW5nbGUgdHlwZS5cbiAgdmFyaWFudElkOiBzdHJpbmc7XG4gIHdpZGdldE1vdW50aW5nOiBXaWRnZXRNb3VudGluZ1tdO1xuICB2YXJpYW50VGVzdHM6IFBhZ2VWYXJpYW50VGVzdFtdO1xufTtcblxudHlwZSBQTFBQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgdmFyaWFudFR5cGU6IFwicGxwXCI7XG4gIHBscElkRXh0cmFjdG9yOiBJZEV4dHJhY3Rvcjtcbn07XG5cbnR5cGUgUERQUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gIHZhcmlhbnRUeXBlOiBcInBkcFwiO1xuICBwYXJlbnRQcm9kdWN0SWRFeHRyYWN0b3I/OiBJZEV4dHJhY3RvcjtcbiAgcHJvZHVjdElkRXh0cmFjdG9yOiBJZEV4dHJhY3Rvcjtcbn07XG5cbnR5cGUgVmlzaXRQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgdmFyaWFudFR5cGU6IFwicGFnZV92aXNpdFwiO1xufTtcblxudHlwZSBPdGhlclBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICB2YXJpYW50VHlwZTogXCJvdGhlclwiO1xufTtcblxudHlwZSBIb21lUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gIHZhcmlhbnRUeXBlOiBcImhvbWVwYWdlXCI7XG59O1xuXG50eXBlIFNlYXJjaFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICB2YXJpYW50VHlwZTogXCJzZWFyY2hcIjtcbn07XG5cbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50Q29uZmlnID1cbiAgfCBQTFBQYWdlVmFyaWFudFxuICB8IFBEUFBhZ2VWYXJpYW50XG4gIHwgVmlzaXRQYWdlVmFyaWFudFxuICB8IE90aGVyUGFnZVZhcmlhbnRcbiAgfCBIb21lUGFnZVZhcmlhbnRcbiAgfCBTZWFyY2hQYWdlVmFyaWFudDtcblxuZXhwb3J0IHR5cGUgT3JnUGFnZUNvbmZpZyA9IHtcbiAgLy8gcGFnZVZhcmlhbnRzIGlzIGEgbGlzdCBvZiBwYWdlIHZhcmlhbnRzIHRoYXQgd2Ugc3VwcG9ydC5cbiAgcGFnZVZhcmlhbnRzOiBQYWdlVmFyaWFudENvbmZpZ1tdO1xuICAvLyB3aWRnZXRDb25maWdzIGlzIGEgbmFtZWQgc2V0IG9mIHdpZGdldCBjb25maWdzXG4gIHdpZGdldENvbmZpZ3M6IFJlY29yZDxzdHJpbmcsIFdpZGdldENvbmZpZz47XG4gIG1vdW50aW5nQ29uZmlnczogUmVjb3JkPHN0cmluZywgV2lkZ2V0TW91bnRpbmdDb25maWc+O1xufTtcblxuZXhwb3J0IHR5cGUgT3JnQ29uZmlnID0gT3JnVUlDb25maWc7XG5cbmV4cG9ydCB7XG4gIENhdGVnb3J5RXh0cmFjdG9yVHlwZSxcbiAgQ29sb3JOYW1lcyxcbiAgY29sb3JWYXIsXG4gIFBhZ2VWYXJpYW50VGVzdFR5cGUsXG4gIFdpZGdldFR5cGUsXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudml2ZUNvbmZpZyB7XG4gIGFtcGxpdHVkZUFwaUtleT86IHN0cmluZztcbiAgZGF0YVJlc2lkZW5jeT86IHN0cmluZztcbiAgZW52Pzogc3RyaW5nO1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICByZWFjdEFwcE5hbWU/OiBzdHJpbmc7XG4gIGNkblVybD86IHN0cmluZztcbiAgY29udGV4dFNvdXJjZT86IHN0cmluZztcbiAgb3JnTGV2ZWxBcGlLZXk/OiBzdHJpbmc7XG4gIG9yZ1Nob3J0TmFtZT86IHN0cmluZztcbiAgaWRlbnRpZnlpbmdQcmVmaXg/OiBzdHJpbmc7XG4gIGZlYXR1cmVPdmVycmlkZXM/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgdmFyaWFudFVybE92ZXJyaWRlPzogc3RyaW5nO1xuICB2YXJpYW50SW5mb092ZXJyaWRlPzogYW55O1xuICBzaG93PzogYm9vbGVhbjtcbiAgcHVibGljS2V5Pzogc3RyaW5nO1xuICBmZWF0dXJlR2F0ZXM/OiBPcmdDb25maWdGZWF0dXJlR2F0ZVtdO1xufVxuXG5leHBvcnQgdHlwZSB7XG4gIENhdGVnb3J5RXh0cmFjdG9yLFxuICBDaGF0TWVzc2FnZVZhcmlhbnQsXG4gIENoYXRNZXNzYWdlQ29uZmlnLFxuICBDaGF0UHJldmlld0NvbmZpZyxcbiAgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWcsXG4gIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnLFxuICBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uV2lkZ2V0Q29uZmlnLFxuICBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWcsXG4gIFNvY2lhbFByb29mVjJXaWRnZXRDb25maWcsXG4gIENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWcsXG4gIENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWcsXG4gIENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnLFxuICBDaGF0UHJldmlld0hlYWRlckNvbmZpZyxcbiAgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsXG4gIENoYXRQcmV2aWV3VmFyaWFudCxcbiAgQ29sb3JNYXBwaW5nLFxuICBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbixcbiAgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnLFxuICBGdWxsQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24sXG4gIElkRXh0cmFjdG9yLFxuICBJbWFnZUJhbm5lcldpZGdldENvbmZpZyxcbiAgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gIEluc2VydGlvblBvaW50LFxuICBNdWx0aUltYWdlQ29uZmlnLFxuICBPcmdVSUNvbmZpZyxcbiAgUGFnZUNhcmRDb25maWcsXG4gIFBhZ2VDYXJkVmFyaWFudCxcbiAgUGFnZUNhcmRIb3ZlclZhcmlhbnQsXG4gIFBhZ2VDYXJkSWNvblZhcmlhbnQsXG4gIFByb2R1Y3RDYXJkQ29uZmlnLFxuICBQcm9kdWN0Q2FyZFZhcmlhbnQsXG4gIFByb2R1Y3RDYXJkTGF5b3V0VmFyaWFudCxcbiAgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQsXG4gIFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50LFxuICBQcm9kdWN0TGlua0ljb25WYXJpYW50LFxuICBQcm9kdWN0TGlua1ZhcmlhbnQsXG4gIFByb2R1Y3RSZXZpZXdDb25maWcsXG4gIFByb2R1Y3RSZXZpZXdTdHlsZVZhcmlhbnQsXG4gIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQsXG4gIFNlYXJjaFByb21wdFZhcmlhbnQsXG4gIFNlYXJjaFByb21wdFdpZGdldENvbmZpZyxcbiAgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcsXG4gIFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnMsXG4gIFNpbmdsZUltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLFxuICBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZyxcbiAgU29jaWFsUHJvb2ZDb25maWcsXG4gIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyxcbiAgU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQsXG4gIFVSTFRlc3QsXG4gIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZyxcbiAgVXNlclF1ZXJ5QnV0dG9uSWNvbixcbiAgV2VsY29tZVNlY3Rpb25Db25maWcsXG4gIFdlbGNvbWVTZWN0aW9uVmFyaWFudCxcbiAgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQsXG4gIFdpZGdldENvbmZpZyxcbiAgV3JhcHBpbmdFbGVtZW50LFxuICBTZWFyY2hDYXJkVmFyaWFudCxcbiAgV2lkZ2V0RGlzcGxheVRlc3RzLFxuICBOb09wV2lkZ2V0Q29uZmlnLFxuICBXaWRnZXRNb3VudGluZyxcbiAgU3RhdGljV2lkZ2V0TW91bnRpbmcsXG4gIER5bmFtaWNXaWRnZXRNb3VudGluZyxcbiAgUERQUGFnZVZhcmlhbnQsXG4gIFBMUFBhZ2VWYXJpYW50LFxuICBWaXNpdFBhZ2VWYXJpYW50LFxuICBPdGhlclBhZ2VWYXJpYW50LFxuICBIb21lUGFnZVZhcmlhbnQsXG4gIFNlYXJjaFBhZ2VWYXJpYW50LFxuICBOdW1Sb3dzLFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFLLG9EQUFMO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztFQWxCRztBQXlCTCxNQUFNLFlBQVksVUFBOEIsdUJBQXVCLE1BQU07Ozs7QUMyYjdFLElBQUssMEVBQUw7QUFDRTtBQUNBOztFQUZHO0FBK0JMLElBQUssc0VBQUw7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7RUFuQkc7QUF3TEwsSUFBSyxvREFBTDtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztFQWhCRyJ9
@@ -0,0 +1,10 @@
1
+ import { Response } from "./index-CiWEYzXl.cjs";
2
+
3
+ //#region src/interceptors/types.d.ts
4
+ interface MessageInterceptor {
5
+ execute: (response: Response) => void | Promise<void>;
6
+ blockExecution: () => boolean;
7
+ }
8
+ //#endregion
9
+ export { MessageInterceptor };
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMtelFHQkktWW8uZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2ludGVyY2VwdG9ycy90eXBlcy5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3BvbnNlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VJbnRlcmNlcHRvciB7XG4gICAgZXhlY3V0ZTogKHJlc3BvbnNlOiBSZXNwb25zZSkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD47XG4gICAgYmxvY2tFeGVjdXRpb246ICgpID0+IGJvb2xlYW47XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLElBQVcscUJBQXFCO0NBQUM7T0FBRztPQUFBO0NBQUEifQ==
package/dist/types.cjs ADDED
File without changes
@@ -0,0 +1,34 @@
1
+ import "./index-Bmub8e38.cjs";
2
+ import "./index-CiWEYzXl.cjs";
3
+ import "./index-CESxqFso.cjs";
4
+ import "./utils-B3x_9JTY.cjs";
5
+ import "./index-O33GSSRr.cjs";
6
+ import "./chatElementDisplayLocation-DWmfNX_u.cjs";
7
+ import { OrgPageConfig } from "./frontendConfig-OWWJmuPc.cjs";
8
+ import "./test-types-ThQiO_cc.cjs";
9
+ import "./spiffyWidgets-BuS00VaQ.cjs";
10
+ import "./search-y-ioX5Mz.cjs";
11
+ import { VariantInfo } from "./index-Cyq5HiC0.cjs";
12
+
13
+ //#region src/types.d.ts
14
+ type OrgInfo = {
15
+ name: string;
16
+ domain: string;
17
+ defaultProductId: string;
18
+ alwaysEnabledMerchants: boolean;
19
+ orgPageConfig?: () => OrgPageConfig;
20
+ };
21
+ type SpiffyInit = {
22
+ init: (apiKey: string, variantInfo?: VariantInfo) => Promise<boolean>;
23
+ };
24
+ declare global {
25
+ interface Window {
26
+ [key: string]: SpiffyInit;
27
+ _spiffy: {
28
+ selectedCustomizeOption?: string;
29
+ };
30
+ }
31
+ }
32
+ //#endregion
33
+ export { OrgInfo };
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL3R5cGVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFyaWFudEluZm8gfSBmcm9tIFwiLi9hcHBsaWNhdGlvbi9tb2RlbHNcIjtcbmltcG9ydCB7IE9yZ1BhZ2VDb25maWcgfSBmcm9tIFwiLi9jb250ZXh0cy90eXBlc1wiO1xuZXhwb3J0IHR5cGUgT3JnSW5mbyA9IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZG9tYWluOiBzdHJpbmc7XG4gICAgZGVmYXVsdFByb2R1Y3RJZDogc3RyaW5nO1xuICAgIGFsd2F5c0VuYWJsZWRNZXJjaGFudHM6IGJvb2xlYW47XG4gICAgb3JnUGFnZUNvbmZpZz86ICgpID0+IE9yZ1BhZ2VDb25maWc7XG59O1xudHlwZSBTcGlmZnlJbml0ID0ge1xuICAgIGluaXQ6IChhcGlLZXk6IHN0cmluZywgdmFyaWFudEluZm8/OiBWYXJpYW50SW5mbykgPT4gUHJvbWlzZTxib29sZWFuPjtcbn07XG5kZWNsYXJlIGdsb2JhbCB7XG4gICAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IFNwaWZmeUluaXQ7XG4gICAgICAgIF9zcGlmZnk6IHtcbiAgICAgICAgICAgIHNlbGVjdGVkQ3VzdG9taXplT3B0aW9uPzogc3RyaW5nO1xuICAgICAgICB9O1xuICAgIH1cbn1cbmV4cG9ydCB7fTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUVBLElBQVcsVUFBVSxDQUFDLFNBQUEsY0FBQTtBQUN0QixJQUFJLGFBQVk7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNoQixJQUFJLEtBQUs7Q0FBQztPQUFRO0NBQUEsV0FBQSxHQUFBO0NBQUEifQ==
@@ -0,0 +1,34 @@
1
+ import "./index-bjMvkcBF.js";
2
+ import "./index-CCa4tZuO.js";
3
+ import "./index-Dfwnna1j.js";
4
+ import "./utils-DpneNSJf.js";
5
+ import "./index-D4c-port.js";
6
+ import "./chatElementDisplayLocation-CpgV2wR1.js";
7
+ import { OrgPageConfig } from "./frontendConfig-CeWhVevA.js";
8
+ import "./test-types-y6kp-tiw.js";
9
+ import "./spiffyWidgets-B1uc84_g.js";
10
+ import "./search-1NQLQD9d.js";
11
+ import { VariantInfo } from "./index-DazMsEy_.js";
12
+
13
+ //#region src/types.d.ts
14
+ type OrgInfo = {
15
+ name: string;
16
+ domain: string;
17
+ defaultProductId: string;
18
+ alwaysEnabledMerchants: boolean;
19
+ orgPageConfig?: () => OrgPageConfig;
20
+ };
21
+ type SpiffyInit = {
22
+ init: (apiKey: string, variantInfo?: VariantInfo) => Promise<boolean>;
23
+ };
24
+ declare global {
25
+ interface Window {
26
+ [key: string]: SpiffyInit;
27
+ _spiffy: {
28
+ selectedCustomizeOption?: string;
29
+ };
30
+ }
31
+ }
32
+ //#endregion
33
+ export { OrgInfo };
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYXJpYW50SW5mbyB9IGZyb20gXCIuL2FwcGxpY2F0aW9uL21vZGVsc1wiO1xuaW1wb3J0IHsgT3JnUGFnZUNvbmZpZyB9IGZyb20gXCIuL2NvbnRleHRzL3R5cGVzXCI7XG5leHBvcnQgdHlwZSBPcmdJbmZvID0ge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkb21haW46IHN0cmluZztcbiAgICBkZWZhdWx0UHJvZHVjdElkOiBzdHJpbmc7XG4gICAgYWx3YXlzRW5hYmxlZE1lcmNoYW50czogYm9vbGVhbjtcbiAgICBvcmdQYWdlQ29uZmlnPzogKCkgPT4gT3JnUGFnZUNvbmZpZztcbn07XG50eXBlIFNwaWZmeUluaXQgPSB7XG4gICAgaW5pdDogKGFwaUtleTogc3RyaW5nLCB2YXJpYW50SW5mbz86IFZhcmlhbnRJbmZvKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xufTtcbmRlY2xhcmUgZ2xvYmFsIHtcbiAgICBpbnRlcmZhY2UgV2luZG93IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogU3BpZmZ5SW5pdDtcbiAgICAgICAgX3NwaWZmeToge1xuICAgICAgICAgICAgc2VsZWN0ZWRDdXN0b21pemVPcHRpb24/OiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgfVxufVxuZXhwb3J0IHt9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBRUEsSUFBVyxVQUFVLENBQUMsU0FBQSxjQUFBO0FBQ3RCLElBQUksYUFBWTtDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ2hCLElBQUksS0FBSztDQUFDO09BQVE7Q0FBQSxXQUFBLEdBQUE7Q0FBQSJ9
package/dist/types.js ADDED
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,78 @@
1
+
2
+ //#region src/application/utils/urlsParser.ts
3
+ const parseHref = (href) => {
4
+ try {
5
+ const url = new URL(href);
6
+ const urlSearchParams = new URLSearchParams(url.search);
7
+ return {
8
+ url,
9
+ urlSearchParams
10
+ };
11
+ } catch (e) {
12
+ return {
13
+ url: void 0,
14
+ urlSearchParams: void 0
15
+ };
16
+ }
17
+ };
18
+ const createUrlWithQueryParams = (url, queryParams) => {
19
+ const urlObj = new URL(url, window.location.href);
20
+ Object.entries(queryParams).forEach(([value, key]) => urlObj.searchParams.append(value, key));
21
+ return urlObj.href;
22
+ };
23
+ const getQueryParam = (key) => {
24
+ return new URL(window.location.href).searchParams.get(key);
25
+ };
26
+ const buildSearchHash = (message) => `#evs=true&s=${message.id}&q=${message.metadata.generatedQuery}`;
27
+ const buildSearchStartHash = (query) => `#evs=true&q=${query}`;
28
+ const parseSearchHash = (hash) => {
29
+ if (!hash.startsWith("#evs=true")) return {
30
+ id: null,
31
+ query: null
32
+ };
33
+ const params = Object.fromEntries(hash.split("&").map((param) => param.split("=")));
34
+ return {
35
+ id: params.s ? decodeURIComponent(params.s) : null,
36
+ query: params.q ? decodeURIComponent(params.q) : null
37
+ };
38
+ };
39
+ window.history.pushState(null, "");
40
+
41
+ //#endregion
42
+ Object.defineProperty(exports, 'buildSearchHash', {
43
+ enumerable: true,
44
+ get: function () {
45
+ return buildSearchHash;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, 'buildSearchStartHash', {
49
+ enumerable: true,
50
+ get: function () {
51
+ return buildSearchStartHash;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, 'createUrlWithQueryParams', {
55
+ enumerable: true,
56
+ get: function () {
57
+ return createUrlWithQueryParams;
58
+ }
59
+ });
60
+ Object.defineProperty(exports, 'getQueryParam', {
61
+ enumerable: true,
62
+ get: function () {
63
+ return getQueryParam;
64
+ }
65
+ });
66
+ Object.defineProperty(exports, 'parseHref', {
67
+ enumerable: true,
68
+ get: function () {
69
+ return parseHref;
70
+ }
71
+ });
72
+ Object.defineProperty(exports, 'parseSearchHash', {
73
+ enumerable: true,
74
+ get: function () {
75
+ return parseSearchHash;
76
+ }
77
+ });
78
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsc1BhcnNlci1DT3pNZEphWC5janMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2FwcGxpY2F0aW9uL3V0aWxzL3VybHNQYXJzZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZVJvbGUsIFByb2R1Y3RTZWFyY2hNZXNzYWdlTWV0YWRhdGEgfSBmcm9tICcuLi9tb2RlbHMvbWVzc2FnZSc7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUhyZWYgPSAoXG4gIGhyZWY6IHN0cmluZyxcbik6IHsgdXJsOiBVUkwgfCB1bmRlZmluZWQ7IHVybFNlYXJjaFBhcmFtczogVVJMU2VhcmNoUGFyYW1zIHwgdW5kZWZpbmVkIH0gPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoaHJlZik7XG4gICAgY29uc3QgdXJsU2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh1cmwuc2VhcmNoKTtcbiAgICByZXR1cm4geyB1cmwsIHVybFNlYXJjaFBhcmFtcyB9O1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHsgdXJsOiB1bmRlZmluZWQsIHVybFNlYXJjaFBhcmFtczogdW5kZWZpbmVkIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVVcmxXaXRoUXVlcnlQYXJhbXMgPSAoXG4gIHVybDogc3RyaW5nLFxuICBxdWVyeVBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHVybE9iaiA9IG5ldyBVUkwodXJsLCB3aW5kb3cubG9jYXRpb24uaHJlZik7XG4gIE9iamVjdC5lbnRyaWVzKHF1ZXJ5UGFyYW1zKS5mb3JFYWNoKChbdmFsdWUsIGtleV0pID0+IHVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKHZhbHVlLCBrZXkpKTtcblxuICByZXR1cm4gdXJsT2JqLmhyZWY7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UXVlcnlQYXJhbSA9IChrZXk6IHN0cmluZyk6IHN0cmluZyB8IG51bGwgPT4ge1xuICBjb25zdCB1cmxPYmogPSBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgcmV0dXJuIHVybE9iai5zZWFyY2hQYXJhbXMuZ2V0KGtleSk7XG59O1xuXG50eXBlIFNlYXJjaE1lc3NhZ2UgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIHJvbGU6IE1lc3NhZ2VSb2xlO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbn0gJiBQcm9kdWN0U2VhcmNoTWVzc2FnZU1ldGFkYXRhO1xuXG5leHBvcnQgY29uc3QgYnVpbGRTZWFyY2hIYXNoID0gKG1lc3NhZ2U6IFNlYXJjaE1lc3NhZ2UpOiBzdHJpbmcgPT5cbiAgYCNldnM9dHJ1ZSZzPSR7bWVzc2FnZS5pZH0mcT0ke21lc3NhZ2UubWV0YWRhdGEuZ2VuZXJhdGVkUXVlcnl9YDtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkU2VhcmNoU3RhcnRIYXNoID0gKHF1ZXJ5OiBzdHJpbmcpOiBzdHJpbmcgPT4gYCNldnM9dHJ1ZSZxPSR7cXVlcnl9YDtcblxuLy8gQmFzaWMgcGFyc2VyIGZvciB0aGUgc2VhcmNoIGhhc2hcbmV4cG9ydCBjb25zdCBwYXJzZVNlYXJjaEhhc2ggPSAoaGFzaDogc3RyaW5nKTogeyBpZDogc3RyaW5nIHwgbnVsbDsgcXVlcnk6IHN0cmluZyB8IG51bGwgfSA9PiB7XG4gIGlmICghaGFzaC5zdGFydHNXaXRoKCcjZXZzPXRydWUnKSkge1xuICAgIHJldHVybiB7IGlkOiBudWxsLCBxdWVyeTogbnVsbCB9O1xuICB9XG4gIGNvbnN0IHBhcmFtcyA9IE9iamVjdC5mcm9tRW50cmllcyhoYXNoLnNwbGl0KCcmJykubWFwKChwYXJhbSkgPT4gcGFyYW0uc3BsaXQoJz0nKSkpO1xuICByZXR1cm4ge1xuICAgIGlkOiBwYXJhbXMucyA/IGRlY29kZVVSSUNvbXBvbmVudChwYXJhbXMucykgOiBudWxsLFxuICAgIHF1ZXJ5OiBwYXJhbXMucSA/IGRlY29kZVVSSUNvbXBvbmVudChwYXJhbXMucSkgOiBudWxsLFxuICB9O1xufTtcblxud2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKG51bGwsICcnKTtcbiJdLCJtYXBwaW5ncyI6Ijs7QUFFQSxNQUFhLGFBQ1gsU0FDMkU7QUFDM0UsS0FBSTtFQUNGLE1BQU0sTUFBTSxJQUFJLElBQUksS0FBSztFQUN6QixNQUFNLGtCQUFrQixJQUFJLGdCQUFnQixJQUFJLE9BQU87QUFDdkQsU0FBTztHQUFFO0dBQUs7R0FBaUI7VUFDeEIsR0FBRztBQUNWLFNBQU87R0FBRSxLQUFLO0dBQVcsaUJBQWlCO0dBQVc7OztBQUl6RCxNQUFhLDRCQUNYLEtBQ0EsZ0JBQ1c7Q0FDWCxNQUFNLFNBQVMsSUFBSSxJQUFJLEtBQUssT0FBTyxTQUFTLEtBQUs7QUFDakQsUUFBTyxRQUFRLFlBQVksQ0FBQyxTQUFTLENBQUMsT0FBTyxTQUFTLE9BQU8sYUFBYSxPQUFPLE9BQU8sSUFBSSxDQUFDO0FBRTdGLFFBQU8sT0FBTzs7QUFHaEIsTUFBYSxpQkFBaUIsUUFBK0I7QUFFM0QsUUFEZSxJQUFJLElBQUksT0FBTyxTQUFTLEtBQUssQ0FDOUIsYUFBYSxJQUFJLElBQUk7O0FBU3JDLE1BQWEsbUJBQW1CLFlBQzlCLGVBQWUsUUFBUSxHQUFHLEtBQUssUUFBUSxTQUFTO0FBRWxELE1BQWEsd0JBQXdCLFVBQTBCLGVBQWU7QUFHOUUsTUFBYSxtQkFBbUIsU0FBOEQ7QUFDNUYsS0FBSSxDQUFDLEtBQUssV0FBVyxZQUFZLENBQy9CLFFBQU87RUFBRSxJQUFJO0VBQU0sT0FBTztFQUFNO0NBRWxDLE1BQU0sU0FBUyxPQUFPLFlBQVksS0FBSyxNQUFNLElBQUksQ0FBQyxLQUFLLFVBQVUsTUFBTSxNQUFNLElBQUksQ0FBQyxDQUFDO0FBQ25GLFFBQU87RUFDTCxJQUFJLE9BQU8sSUFBSSxtQkFBbUIsT0FBTyxFQUFFLEdBQUc7RUFDOUMsT0FBTyxPQUFPLElBQUksbUJBQW1CLE9BQU8sRUFBRSxHQUFHO0VBQ2xEOztBQUdILE9BQU8sUUFBUSxVQUFVLE1BQU0sR0FBRyJ9