@envive-ai/react-hooks 0.2.6-alpha-arthur-3 → 0.2.6-alpha-arthur-4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/dist/{AmplitudeOperations-BjC8DOqm.js → AmplitudeOperations-BNFYCh-W.js} +2 -2
  2. package/dist/{AmplitudeOperations-CQs4sVHN.cjs → AmplitudeOperations-CHlghWFQ.cjs} +2 -2
  3. package/dist/{NewOrgConfig-CRakarmw.js → NewOrgConfig-BeoqDaSB.js} +2 -2
  4. package/dist/{NewOrgConfig-D48KabOj.cjs → NewOrgConfig-DgWHQyUc.cjs} +2 -2
  5. package/dist/{TrackComponentVisibleEvent-C9RvfdS9.js → TrackComponentVisibleEvent-HbfzgXtF.js} +4 -4
  6. package/dist/{TrackComponentVisibleEvent-_Fb-JXkV.cjs → TrackComponentVisibleEvent-vsaQaHKi.cjs} +4 -4
  7. package/dist/amplitudeContext-Dp-Tm43M.cjs +253 -0
  8. package/dist/amplitudeContext-DwszOulA.js +237 -0
  9. package/dist/{amplitudeTrackEventAtom-f22P2U0u.cjs → amplitudeTrackEventAtom-nkZxYoLu.cjs} +1 -1
  10. package/dist/{amplitudeTrackEventAtom-D66l5oFp.js → amplitudeTrackEventAtom-pJbLG4En.js} +1 -1
  11. package/dist/app-BCuEBoPJ.cjs +36 -0
  12. package/dist/app-D73Rksby.js +14 -0
  13. package/dist/application/models/graphql/index.d.ts +1 -1
  14. package/dist/application/models/guards/api/index.d.ts +2 -2
  15. package/dist/application/models/guards/utils.d.ts +1 -1
  16. package/dist/application/models/index.cjs +2 -2
  17. package/dist/application/models/index.d.ts +4 -4
  18. package/dist/application/models/index.js +2 -2
  19. package/dist/application/utils/index.cjs +3 -3
  20. package/dist/application/utils/index.d.ts +4 -4
  21. package/dist/application/utils/index.js +3 -3
  22. package/dist/atoms/app/index.cjs +5 -17
  23. package/dist/atoms/app/index.d.cts +7 -8
  24. package/dist/atoms/app/index.d.ts +7 -8
  25. package/dist/atoms/app/index.js +5 -16
  26. package/dist/atoms/atomStore/index.d.cts +1 -1
  27. package/dist/atoms/chat/index.cjs +14 -11
  28. package/dist/atoms/chat/index.d.ts +33 -33
  29. package/dist/atoms/chat/index.js +14 -11
  30. package/dist/atoms/globalSearch/index.cjs +1 -1
  31. package/dist/atoms/globalSearch/index.d.cts +6 -6
  32. package/dist/atoms/globalSearch/index.d.ts +6 -6
  33. package/dist/atoms/globalSearch/index.js +1 -1
  34. package/dist/atoms/org/index.cjs +7 -6
  35. package/dist/atoms/org/index.d.cts +16 -16
  36. package/dist/atoms/org/index.d.ts +17 -17
  37. package/dist/atoms/org/index.js +3 -2
  38. package/dist/atoms/search/index.cjs +7 -6
  39. package/dist/atoms/search/index.d.cts +14 -14
  40. package/dist/atoms/search/index.d.ts +15 -15
  41. package/dist/atoms/search/index.js +7 -6
  42. package/dist/atoms/search/utils.cjs +1 -1
  43. package/dist/atoms/search/utils.d.cts +1 -1
  44. package/dist/atoms/search/utils.d.ts +1 -1
  45. package/dist/atoms/search/utils.js +1 -1
  46. package/dist/{cdnContext-BoPraJxf.cjs → cdnContext-Bs73r4Xd.cjs} +2 -2
  47. package/dist/{cdnContext-BJT_Wn9Z.js → cdnContext-DJ1pDg-l.js} +2 -2
  48. package/dist/chat-BqUkaIbS.js +226 -0
  49. package/dist/chat-zxjIy0qQ.cjs +326 -0
  50. package/dist/{chatState-DlJpHAsW.cjs → chatState-CMoQ1TMs.cjs} +2 -2
  51. package/dist/{chatState-BbI93m6r.js → chatState-DRJrYuno.js} +2 -2
  52. package/dist/config/index.d.ts +4 -4
  53. package/dist/config/locators/components/chat/index.d.ts +1 -1
  54. package/dist/config/locators/components/common/index.d.ts +1 -1
  55. package/dist/config/locators/components/index.d.ts +1 -1
  56. package/dist/config/locators/components/search/index.d.cts +1 -1
  57. package/dist/config/locators/index.d.ts +4 -4
  58. package/dist/contexts/amplitudeContext/index.cjs +7 -19
  59. package/dist/contexts/amplitudeContext/index.js +7 -19
  60. package/dist/contexts/cdnContext/index.cjs +3 -3
  61. package/dist/contexts/cdnContext/index.js +3 -3
  62. package/dist/contexts/enviveConfigContext/index.cjs +4 -4
  63. package/dist/contexts/enviveConfigContext/index.js +4 -4
  64. package/dist/contexts/enviveCssContext/index.cjs +12 -12
  65. package/dist/contexts/enviveCssContext/index.js +12 -12
  66. package/dist/contexts/featureFlagContext/index.cjs +4 -4
  67. package/dist/contexts/featureFlagContext/index.js +4 -4
  68. package/dist/contexts/featureFlagServiceContext/index.cjs +3 -3
  69. package/dist/contexts/featureFlagServiceContext/index.d.ts +1 -1
  70. package/dist/contexts/featureFlagServiceContext/index.js +3 -3
  71. package/dist/contexts/graphqlContext/index.cjs +6 -6
  72. package/dist/contexts/graphqlContext/index.d.cts +1 -1
  73. package/dist/contexts/graphqlContext/index.js +6 -6
  74. package/dist/contexts/localStorageContext/index.cjs +2 -2
  75. package/dist/contexts/localStorageContext/index.d.cts +1 -1
  76. package/dist/contexts/localStorageContext/index.js +2 -2
  77. package/dist/contexts/newOrgConfigContext/index.cjs +11 -11
  78. package/dist/contexts/newOrgConfigContext/index.js +11 -11
  79. package/dist/contexts/searchContext/index.cjs +18 -15
  80. package/dist/contexts/searchContext/index.js +18 -15
  81. package/dist/contexts/sessionStorageContext/index.cjs +1 -1
  82. package/dist/contexts/sessionStorageContext/index.js +1 -1
  83. package/dist/contexts/shopifyUrlContext/index.cjs +1 -1
  84. package/dist/contexts/shopifyUrlContext/index.d.cts +1 -1
  85. package/dist/contexts/shopifyUrlContext/index.js +1 -1
  86. package/dist/contexts/systemSettingsContext/index.cjs +3 -3
  87. package/dist/contexts/systemSettingsContext/index.d.cts +2 -2
  88. package/dist/contexts/systemSettingsContext/index.d.ts +2 -2
  89. package/dist/contexts/systemSettingsContext/index.js +3 -3
  90. package/dist/contexts/userIdentityContext/index.cjs +13 -10
  91. package/dist/contexts/userIdentityContext/index.d.ts +1 -1
  92. package/dist/contexts/userIdentityContext/index.js +11 -8
  93. package/dist/{dist-VxRI6eQv.cjs → dist-B7BErEyV.cjs} +1 -1
  94. package/dist/{dist-C38adNK1.js → dist-CtkINi1R.js} +1 -1
  95. package/dist/{enviveConfig-CHXb9xwk.cjs → enviveConfig-6XJa6HAF.cjs} +2 -2
  96. package/dist/{enviveConfig-CUJgI97-.js → enviveConfig-Cw7o9TLb.js} +2 -2
  97. package/dist/{enviveConfigContext-C91Air9z.js → enviveConfigContext-D_bCeK56.js} +2 -2
  98. package/dist/{enviveConfigContext-zZAJwv87.cjs → enviveConfigContext-DoBbJZp_.cjs} +2 -2
  99. package/dist/exceptions/index.d.cts +1 -1
  100. package/dist/exceptions/index.d.ts +1 -1
  101. package/dist/{featureFlagServiceContext-x-hAAKdL.d.ts → featureFlagServiceContext-C6nTNI_i.d.ts} +1 -1
  102. package/dist/featureFlagServiceContext-ClnlCJV5.d.cts +1 -1
  103. package/dist/{featureFlagServiceContext-DHtkQAtq.cjs → featureFlagServiceContext-DQYo0d6Q.cjs} +2 -2
  104. package/dist/{featureFlagServiceContext-Cvp7NlpC.js → featureFlagServiceContext-GIO9xKV0.js} +2 -2
  105. package/dist/{globalSearch-nmrfGLOn.js → globalSearch-B8jHLScz.js} +1 -1
  106. package/dist/{globalSearch-Cpc8egsM.cjs → globalSearch-JJI1Fijh.cjs} +1 -1
  107. package/dist/{graphqlContext-DqWvz7Op.cjs → graphqlContext-CXyZamIk.cjs} +3 -3
  108. package/dist/{graphqlContext-C3T_K97L.js → graphqlContext-cAZtpn-W.js} +3 -3
  109. package/dist/hooks/AmplitudeOperations/index.cjs +8 -20
  110. package/dist/hooks/AmplitudeOperations/index.js +8 -20
  111. package/dist/hooks/AppDetails/index.cjs +16 -13
  112. package/dist/hooks/AppDetails/index.d.cts +12 -3
  113. package/dist/hooks/AppDetails/index.d.ts +12 -3
  114. package/dist/hooks/AppDetails/index.js +16 -13
  115. package/dist/hooks/BlockBackButton/index.d.ts +1 -1
  116. package/dist/hooks/CdnOperations/index.cjs +3 -3
  117. package/dist/hooks/CdnOperations/index.js +3 -3
  118. package/dist/hooks/ChatToggle/index.cjs +18 -15
  119. package/dist/hooks/ChatToggle/index.d.cts +1 -1
  120. package/dist/hooks/ChatToggle/index.js +18 -15
  121. package/dist/hooks/ChatToggleAnalytics/index.cjs +10 -22
  122. package/dist/hooks/ChatToggleAnalytics/index.d.cts +1 -1
  123. package/dist/hooks/ChatToggleAnalytics/index.js +10 -22
  124. package/dist/hooks/CustomerSupportHandoff/index.d.cts +1 -1
  125. package/dist/hooks/Debounce/index.d.cts +1 -1
  126. package/dist/hooks/Debounce/index.d.ts +1 -1
  127. package/dist/hooks/ElementObserver/index.d.ts +1 -1
  128. package/dist/hooks/GrabAndScroll/index.d.cts +1 -1
  129. package/dist/hooks/GrabAndScroll/index.d.ts +2 -2
  130. package/dist/hooks/GraphQLConfig/index.cjs +7 -7
  131. package/dist/hooks/GraphQLConfig/index.js +7 -7
  132. package/dist/hooks/IdentifyUser/index.cjs +13 -10
  133. package/dist/hooks/IdentifyUser/index.js +12 -9
  134. package/dist/hooks/ImageResolver/index.cjs +2 -2
  135. package/dist/hooks/ImageResolver/index.js +2 -2
  136. package/dist/hooks/Intersection/index.cjs +1 -1
  137. package/dist/hooks/Intersection/index.d.ts +1 -1
  138. package/dist/hooks/Intersection/index.js +1 -1
  139. package/dist/hooks/IsSmallScreen/index.d.ts +1 -1
  140. package/dist/hooks/LocalStorageOperations/index.cjs +2 -2
  141. package/dist/hooks/LocalStorageOperations/index.d.cts +1 -1
  142. package/dist/hooks/LocalStorageOperations/index.js +2 -2
  143. package/dist/hooks/MessageFilter/index.cjs +1 -1
  144. package/dist/hooks/MessageFilter/index.d.cts +1 -1
  145. package/dist/hooks/MessageFilter/index.js +1 -1
  146. package/dist/hooks/NewOrgConfig/index.cjs +12 -12
  147. package/dist/hooks/NewOrgConfig/index.d.ts +2 -2
  148. package/dist/hooks/NewOrgConfig/index.js +12 -12
  149. package/dist/hooks/Search/index.cjs +19 -29
  150. package/dist/hooks/Search/index.d.cts +1 -1
  151. package/dist/hooks/Search/index.js +18 -28
  152. package/dist/hooks/SearchOperations/index.cjs +19 -16
  153. package/dist/hooks/SearchOperations/index.d.cts +1 -1
  154. package/dist/hooks/SearchOperations/index.js +19 -16
  155. package/dist/hooks/SessionStorageOperations/index.cjs +1 -1
  156. package/dist/hooks/SessionStorageOperations/index.js +1 -1
  157. package/dist/hooks/ShopifyUrlOperations/index.cjs +1 -1
  158. package/dist/hooks/ShopifyUrlOperations/index.d.cts +2 -2
  159. package/dist/hooks/ShopifyUrlOperations/index.d.ts +2 -2
  160. package/dist/hooks/ShopifyUrlOperations/index.js +1 -1
  161. package/dist/hooks/SystemSettingsContext/index.cjs +3 -3
  162. package/dist/hooks/SystemSettingsContext/index.d.cts +2 -2
  163. package/dist/hooks/SystemSettingsContext/index.d.ts +3 -3
  164. package/dist/hooks/SystemSettingsContext/index.js +3 -3
  165. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +9 -21
  166. package/dist/hooks/TrackComponentVisibleEvent/index.js +9 -21
  167. package/dist/hooks/UpdateAnalyticsProps/index.cjs +11 -21
  168. package/dist/hooks/UpdateAnalyticsProps/index.js +9 -19
  169. package/dist/hooks/utils.cjs +1 -1
  170. package/dist/hooks/utils.d.ts +1 -1
  171. package/dist/hooks/utils.js +1 -1
  172. package/dist/index-CMZcE7pk.d.cts +1 -1
  173. package/dist/{index-BiDHHLjr.d.ts → index-ChRMX2kc.d.ts} +2 -2
  174. package/dist/index-ChiZg0yw.d.cts +1 -1
  175. package/dist/{index-dc4j0jws.d.ts → index-CkaLTFlB.d.ts} +1 -1
  176. package/dist/{index-DywcCZdp.d.ts → index-Cl35ht05.d.ts} +1 -1
  177. package/dist/{index-B95cXAA4.d.ts → index-DIq5F_-r.d.ts} +1 -1
  178. package/dist/{index-DZU7c0jP.d.ts → index-DijHU7yp.d.ts} +1 -1
  179. package/dist/{index-CAXM2KiM.d.ts → index-PktRD1En.d.ts} +1 -1
  180. package/dist/index-npqPeJ1g.d.cts +1 -1
  181. package/dist/{index--OKiRCTl.d.ts → index-smzckpKv.d.ts} +1 -1
  182. package/dist/interceptors/index.cjs +1 -1
  183. package/dist/interceptors/index.d.cts +1 -1
  184. package/dist/interceptors/index.d.ts +1 -1
  185. package/dist/interceptors/index.js +1 -1
  186. package/dist/{localStorageContext-BFwvuEcf.js → localStorageContext-CvwraLEo.js} +2 -2
  187. package/dist/{localStorageContext-CWc5xJ6U.cjs → localStorageContext-DIIUUEvL.cjs} +2 -2
  188. package/dist/{models-Cw0QcbQv.js → models-DmsMlaHT.js} +2 -2
  189. package/dist/{models-Dl0_Ujgj.cjs → models-wh2gh_Qz.cjs} +2 -2
  190. package/dist/{newOrgConfigAtom-CDttTiuu.cjs → newOrgConfigAtom-vEChAMrW.cjs} +1 -1
  191. package/dist/{newOrgConfigAtom-C8h3w_Ji.js → newOrgConfigAtom-wQeGYEFq.js} +1 -1
  192. package/dist/{newOrgConfigContext-D1sgTmVU.cjs → newOrgConfigContext-C8uWGgkE.cjs} +5 -5
  193. package/dist/{newOrgConfigContext-B_rJMpwN.js → newOrgConfigContext-garCXaH1.js} +5 -5
  194. package/dist/{nodeSelector-NqW-FBED.d.ts → nodeSelector-DU-o1I1d.d.ts} +1 -1
  195. package/dist/org-DEzeBBk6.js +22 -0
  196. package/dist/org-Ky10pcuq.cjs +77 -0
  197. package/dist/orgAnalyticsConfig-Bxm8BZch.js +14 -0
  198. package/dist/orgAnalyticsConfig-DU1aESDh.cjs +39 -0
  199. package/dist/{search-OWKKaQQj.js → search-C4ZLnfzE.js} +5 -5
  200. package/dist/{search-CWkDtqQV.cjs → search-DUJiAeEo.cjs} +5 -5
  201. package/dist/{searchContext-Bhhp_q_P.js → searchContext-BrPSGjRo.js} +5 -5
  202. package/dist/{searchContext-3VsAb17A.cjs → searchContext-Ck94DuBO.cjs} +5 -5
  203. package/dist/{searchServiceAdapter-B0h7psvh.js → searchServiceAdapter-C3_FRUly.js} +1 -1
  204. package/dist/{searchServiceAdapter-BclWy4fE.cjs → searchServiceAdapter-tPd0NClV.cjs} +1 -1
  205. package/dist/{sessionStorageContext-kQJRbkHL.js → sessionStorageContext-CBwNI1Va.js} +1 -1
  206. package/dist/{sessionStorageContext-L3f_btsR.cjs → sessionStorageContext-CmHIsV7a.cjs} +1 -1
  207. package/dist/{shopifyUrlContext-CB9LQU_i.js → shopifyUrlContext-C3gw4ZIN.js} +1 -1
  208. package/dist/{shopifyUrlContext-BsYGfLvw.cjs → shopifyUrlContext-ZJtT_0XX.cjs} +1 -1
  209. package/dist/{systemSettingsContext-Cac6mmfA.js → systemSettingsContext-DzAyy0iP.js} +2 -2
  210. package/dist/{systemSettingsContext-B5plhu8S.cjs → systemSettingsContext-ru4nA9k_.cjs} +2 -2
  211. package/dist/types/index.d.ts +1 -1
  212. package/dist/useAppDetails-Bg1yCUZi.cjs +41 -0
  213. package/dist/useAppDetails-Buzm9yIj.js +33 -0
  214. package/dist/{useGraphQLConfig-Cm_lEb1T.cjs → useGraphQLConfig-B6CiGP57.cjs} +2 -2
  215. package/dist/{useGraphQLConfig-CeYY5maa.js → useGraphQLConfig-f2MK-FPn.js} +2 -2
  216. package/dist/{useIntersection-bCSteycU.js → useIntersection-UEO0Cezc.js} +1 -1
  217. package/dist/{useIntersection-DuwPFRY9.cjs → useIntersection-rV0Q8mBH.cjs} +1 -1
  218. package/dist/userIdentityContext-B8XLgxMQ.cjs +431 -0
  219. package/dist/userIdentityContext-DgFLendI.js +414 -0
  220. package/dist/{utils-DjhLO2vO.d.ts → utils-BLe5oreh.d.ts} +1 -1
  221. package/dist/{utils-DQhbbAnt.js → utils-B_cnJJAH.js} +1 -1
  222. package/dist/{utils-DMwh3QbT.js → utils-CxDOv-yL.js} +3 -3
  223. package/dist/{utils-BZT_oZ3n.js → utils-D_kATUj6.js} +1 -1
  224. package/dist/{utils-D3MjNkd3.cjs → utils-DucG4gQ7.cjs} +3 -3
  225. package/dist/{utils-CqVRbvfN.cjs → utils-_Q_-LvZS.cjs} +1 -1
  226. package/dist/{utils-qtHPLFby.cjs → utils-hYTjy7hJ.cjs} +1 -1
  227. package/dist/variant-Ben5gKtM.js +93 -0
  228. package/dist/variant-CvYVVCqU.cjs +107 -0
  229. package/package.json +1 -1
  230. package/src/application/commerce-api.ts +5 -2
  231. package/src/atoms/app/index.ts +2 -20
  232. package/src/atoms/chat/messageQueue.ts +8 -3
  233. package/src/contexts/amplitudeContext/amplitudeContext.tsx +2 -2
  234. package/src/contexts/chatContext/chatContext.tsx +512 -0
  235. package/src/hooks/AppDetails/useAppDetails.ts +15 -2
  236. package/dist/amplitudeContext-D5HSmIWg.cjs +0 -253
  237. package/dist/amplitudeContext-wW37Ziq-.js +0 -237
  238. package/dist/app-CGw4C9Bn.js +0 -515
  239. package/dist/app-Di_sBmzj.cjs +0 -570
  240. package/dist/chat-ZaY3KY-R.js +0 -226
  241. package/dist/chat-rhEjVfrd.cjs +0 -326
  242. package/dist/org-BNs_maoW.cjs +0 -111
  243. package/dist/org-CScQqL4k.js +0 -32
  244. package/dist/useAppDetails-B-lZpIPK.js +0 -30
  245. package/dist/useAppDetails-BAJjqvyF.cjs +0 -38
  246. /package/dist/{enviveConfigContext-CZPfJkcS.cjs → enviveConfigContext-DJLIdWAK.cjs} +0 -0
  247. /package/dist/{enviveConfigContext-Hc1JBLu-.js → enviveConfigContext-Qh6nF9qc.js} +0 -0
  248. /package/dist/{featureFlagServiceContext-CISyb90N.js → featureFlagServiceContext-CG3rFJov.js} +0 -0
  249. /package/dist/{featureFlagServiceContext-Csgo-MUv.cjs → featureFlagServiceContext-C_wrr2WY.cjs} +0 -0
@@ -0,0 +1,237 @@
1
+ import { EventsDispatcher } from "./events-WOOrnUAx.js";
2
+ import { FeatureGates, LocalStorageKeys, OrgShortName, SpiffyEvent, SpiffyMetricsEventName } from "./dist-CtkINi1R.js";
3
+ import { logger_default } from "./logger-BMVdhQOV.js";
4
+ import { amplitudeApiKeyAtom, contextSourceAtom, dataResidencyAtom, envAtom, identifyingPrefixAtom } from "./enviveConfig-Cw7o9TLb.js";
5
+ import { orgAnalyticsGoogleAnalyticsConfigAtom } from "./orgAnalyticsConfig-Bxm8BZch.js";
6
+ import { useLocalStorage } from "./localStorageContext-CvwraLEo.js";
7
+ import { EnviveConfigContext } from "./enviveConfigContext-D_bCeK56.js";
8
+ import { useFeatureFlagService } from "./featureFlagServiceContext-GIO9xKV0.js";
9
+ import React, { createContext, useCallback, useContext, useEffect, useMemo } from "react";
10
+ import { useAtomValue } from "jotai";
11
+ import { jsx } from "react/jsx-runtime";
12
+ import { createInstance } from "@amplitude/analytics-browser";
13
+
14
+ //#region src/contexts/amplitudeContext/amplitudeContext.tsx
15
+ const AmplitudeContext = createContext(null);
16
+ if (typeof window !== "undefined") {
17
+ logger_default.logInfo("AmplitudeContext: window is defined");
18
+ window.AmplitudeReact = React;
19
+ } else logger_default.logInfo("AmplitudeContext: window is not defined");
20
+ const AmplitudeProvider = ({ children }) => {
21
+ const { getUserIdOrDefault } = useUserIdentity();
22
+ const userId = getUserIdOrDefault();
23
+ const amplitudeApiKey = useAtomValue(amplitudeApiKeyAtom);
24
+ const dataResidency = useAtomValue(dataResidencyAtom);
25
+ const orgGaConfig = useAtomValue(orgAnalyticsGoogleAnalyticsConfigAtom);
26
+ const env = useAtomValue(envAtom);
27
+ const contextSource = useAtomValue(contextSourceAtom);
28
+ useAtomValue(identifyingPrefixAtom);
29
+ const { getItem } = useLocalStorage();
30
+ console.log("AmplitudeProvider: getting envive config");
31
+ const { publicKey, featureOverrides, variantUrlOverride, variantInfoOverride, show, orgShortName, featureGates } = useContext(EnviveConfigContext) || {};
32
+ const { featureFlagService } = useFeatureFlagService();
33
+ const [amplitudeClient, setAmplitudeClient] = React.useState(void 0);
34
+ const [internalEventTrackingEnrichment, setInternalEventTrackingEnrichment] = React.useState(void 0);
35
+ const [supplementalDefaultProps, setSupplementalDefaultProps] = React.useState({});
36
+ const isReady = Boolean(userId && featureFlagService && amplitudeApiKey && userId);
37
+ const getDefaultTrackingProps = useCallback(() => {
38
+ const gatesProps = featureGates ? featureGates.reduce((acc, curr) => {
39
+ if (curr.name && curr.value != null) return {
40
+ ...acc,
41
+ [`feature_gate.${curr.name}`]: curr.value
42
+ };
43
+ return acc;
44
+ }, {}) : {};
45
+ const experimentProps = {};
46
+ return {
47
+ ...gatesProps,
48
+ ...experimentProps,
49
+ ...supplementalDefaultProps,
50
+ app_id: "commerce-chat-react-component",
51
+ chat_id: getItem(LocalStorageKeys.ChatId),
52
+ env: env || "unknown",
53
+ app_source: contextSource,
54
+ "org.short_name": orgShortName,
55
+ "user.id": userId,
56
+ "cdp.user_id": null,
57
+ "cdp.provider": null,
58
+ "event.source": "web-browser",
59
+ "event.type": "user-activity",
60
+ "event.id": null,
61
+ "event.channel": "web",
62
+ "event.timestamp": null
63
+ };
64
+ }, [
65
+ featureGates,
66
+ supplementalDefaultProps,
67
+ env,
68
+ contextSource,
69
+ orgShortName,
70
+ userId
71
+ ]);
72
+ const eventPropsToPrefixedEventProps = useCallback((eventName, eventProps) => {
73
+ const prefix = eventName.toLowerCase().replace(/\s+/g, "_");
74
+ return Object.entries(eventProps).reduce((acc, [key, value$1]) => {
75
+ acc[`${prefix}.${key}`] = value$1;
76
+ return acc;
77
+ }, {});
78
+ }, []);
79
+ const amplitudeSessionReplayInit = useCallback(() => {
80
+ const isEnabled = Boolean(orgShortName === OrgShortName.UniqueVintage && featureFlagService?.isClientSessionEnabled() && featureFlagService?.isFeatureGateEnabled(FeatureGates.IsNewFeatureEnabled));
81
+ const sampleRate = 1;
82
+ try {
83
+ logger_default.logDebug(`[spiffy-ai] amplitude session-replay initializing isEnabled=${isEnabled} sampleRate=${sampleRate}`);
84
+ if (!isEnabled) return isEnabled;
85
+ return isEnabled;
86
+ } catch (e) {
87
+ logger_default.logError("[spiffy-ai] Error initializing amplitude session-replay", e);
88
+ return false;
89
+ }
90
+ }, [orgShortName, featureFlagService]);
91
+ const getEventTrackingEnrichment = useCallback(() => {
92
+ if (internalEventTrackingEnrichment !== void 0) return internalEventTrackingEnrichment;
93
+ const enrichment = {
94
+ name: "page-view-tracking-enrichment",
95
+ type: "enrichment",
96
+ setup: async () => void 0,
97
+ execute: async (event) => {
98
+ let enrichedEvent;
99
+ if (["[Amplitude] Page Viewed", `[Spiffy] ${SpiffyMetricsEventName.BundleLoaded}`].includes(event.event_type)) {
100
+ const globalProperties = {};
101
+ if (publicKey) globalProperties["globalProperties.publicKey"] = publicKey;
102
+ if (featureOverrides) Object.entries(featureOverrides).forEach(([key, value$1]) => {
103
+ globalProperties[`globalProperties.featureOverrides.${key}`] = String(value$1);
104
+ });
105
+ if (variantUrlOverride) globalProperties["globalProperties.variantUrlOverride"] = variantUrlOverride;
106
+ if (variantInfoOverride) globalProperties["globalProperties.variantInfoOverride"] = JSON.stringify(variantInfoOverride);
107
+ if (show != null) globalProperties["globalProperties.show"] = String(show);
108
+ const enabledFeatures = featureFlagService.getFeatureFlags();
109
+ const enabledFeaturesProperties = Object.entries(enabledFeatures).reduce((acc, [key, value$1]) => ({
110
+ ...acc,
111
+ [`enabledFeatures.${key}`]: `${value$1}`
112
+ }), {});
113
+ const timingProperties = { "timing.enriched_at_ms": window.performance?.now() };
114
+ enrichedEvent = {
115
+ ...event,
116
+ event_properties: {
117
+ ...event.event_properties,
118
+ ...getDefaultTrackingProps(),
119
+ ...globalProperties,
120
+ ...enabledFeaturesProperties,
121
+ ...timingProperties
122
+ }
123
+ };
124
+ } else enrichedEvent = event;
125
+ EventsDispatcher.dispatch(SpiffyEvent.AMPLITUDE_EVENT, enrichedEvent);
126
+ return enrichedEvent;
127
+ }
128
+ };
129
+ setInternalEventTrackingEnrichment(enrichment);
130
+ return enrichment;
131
+ }, [
132
+ internalEventTrackingEnrichment,
133
+ getDefaultTrackingProps,
134
+ featureFlagService,
135
+ publicKey,
136
+ featureOverrides,
137
+ variantUrlOverride,
138
+ variantInfoOverride,
139
+ show
140
+ ]);
141
+ useEffect(() => {
142
+ if (isReady && !amplitudeClient) {
143
+ const currentAmplitudeInstance = createInstance();
144
+ const isSessionsEnabled = amplitudeSessionReplayInit();
145
+ currentAmplitudeInstance.add(getEventTrackingEnrichment());
146
+ currentAmplitudeInstance.init(amplitudeApiKey, userId, {
147
+ serverZone: dataResidency,
148
+ trackingOptions: { ipAddress: true },
149
+ autocapture: {
150
+ attribution: true,
151
+ pageViews: { trackHistoryChanges: "pathOnly" },
152
+ sessions: isSessionsEnabled,
153
+ formInteractions: false,
154
+ fileDownloads: false
155
+ }
156
+ });
157
+ setAmplitudeClient(currentAmplitudeInstance);
158
+ }
159
+ }, [
160
+ isReady,
161
+ amplitudeClient,
162
+ amplitudeApiKey,
163
+ userId,
164
+ dataResidency,
165
+ amplitudeSessionReplayInit,
166
+ getEventTrackingEnrichment
167
+ ]);
168
+ const trackEvent = useCallback(async ({ eventName, eventProps, eventGroups, alsoSendToGoogleAnalytics = false }) => {
169
+ logger_default.logDebug("Submitting event", eventName);
170
+ try {
171
+ const decoratedEventName = `[Spiffy] ${eventName}`;
172
+ if (!amplitudeClient) {
173
+ logger_default.logWarn("amplitude client undefined", void 0, { event_name: decoratedEventName });
174
+ return;
175
+ }
176
+ const eventData = JSON.stringify({
177
+ eventName,
178
+ eventProps,
179
+ created_at: (/* @__PURE__ */ new Date()).toISOString()
180
+ });
181
+ const data = new TextEncoder().encode(eventData);
182
+ const hashBuffer = await crypto.subtle.digest("SHA-256", data);
183
+ const currentInsertId = Array.from(new Uint8Array(hashBuffer)).map((b) => b.toString(16).padStart(2, "0")).join("");
184
+ logger_default.logDebug(`amplitude tracking ${decoratedEventName}`, null, {
185
+ event_name: decoratedEventName,
186
+ props: eventProps
187
+ });
188
+ amplitudeClient.track(decoratedEventName, {
189
+ ...getDefaultTrackingProps(),
190
+ ...eventProps,
191
+ ...eventProps ? eventPropsToPrefixedEventProps(eventName, eventProps) : {}
192
+ }, {
193
+ ...eventGroups,
194
+ insert_id: currentInsertId
195
+ });
196
+ if (alsoSendToGoogleAnalytics && orgGaConfig) {
197
+ logger_default.logDebug("[spiffy-ai] GA tracking", decoratedEventName);
198
+ if (window.dataLayer) window.dataLayer.push({
199
+ event: decoratedEventName,
200
+ eventProps
201
+ });
202
+ }
203
+ } catch (err) {
204
+ logger_default.logError("[spiffy-ai] Error tracking event", err, {
205
+ eventName,
206
+ eventProps
207
+ });
208
+ }
209
+ }, [
210
+ amplitudeClient,
211
+ getDefaultTrackingProps,
212
+ eventPropsToPrefixedEventProps,
213
+ orgGaConfig
214
+ ]);
215
+ const value = useMemo(() => ({
216
+ trackEvent,
217
+ isReady,
218
+ setSupplementalDefaultProps: (props) => setSupplementalDefaultProps(props)
219
+ }), [
220
+ trackEvent,
221
+ isReady,
222
+ setSupplementalDefaultProps
223
+ ]);
224
+ return /* @__PURE__ */ jsx(AmplitudeContext.Provider, {
225
+ value,
226
+ children
227
+ });
228
+ };
229
+ const useAmplitude = () => {
230
+ const context = useContext(AmplitudeContext);
231
+ if (!context) throw new Error("useAmplitude must be used within AmplitudeProvider");
232
+ return context;
233
+ };
234
+
235
+ //#endregion
236
+ export { AmplitudeProvider, useAmplitude };
237
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlQ29udGV4dC1Ed3N6T3VsQS5qcyIsIm5hbWVzIjpbIkFtcGxpdHVkZVByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4iLCJ2YWx1ZSIsImVucmljaG1lbnQ6IEVucmljaG1lbnRQbHVnaW4iLCJlbnJpY2hlZEV2ZW50OiBFdmVudCIsImdsb2JhbFByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4iLCJjdXJyZW50QW1wbGl0dWRlSW5zdGFuY2U6IEJyb3dzZXJDbGllbnQiXSwic291cmNlcyI6WyIuLi9zcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dC9hbXBsaXR1ZGVDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcbiAgY3JlYXRlQ29udGV4dCxcbiAgdXNlQ29udGV4dCxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZU1lbW8sXG4gIHVzZUVmZmVjdCxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VBdG9tVmFsdWUgfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7IGNyZWF0ZUluc3RhbmNlIH0gZnJvbSBcIkBhbXBsaXR1ZGUvYW5hbHl0aWNzLWJyb3dzZXJcIjtcbmltcG9ydCB7XG4gIEZlYXR1cmVHYXRlcyxcbiAgT3JnU2hvcnROYW1lLFxuICBMb2NhbFN0b3JhZ2VLZXlzLFxuICBTcGlmZnlFdmVudCxcbiAgQW1wbGl0dWRlQ29udGV4dFR5cGUsXG4gIFNwaWZmeU1ldHJpY3NFdmVudE5hbWUsXG4gIFRyYWNrRXZlbnRQYXJhbXMsXG59IGZyb20gXCJAZW52aXZlLWFpL3R5cGVzXCI7XG5pbXBvcnQge1xuICBhbXBsaXR1ZGVBcGlLZXlBdG9tLFxuICBjb250ZXh0U291cmNlQXRvbSxcbiAgZGF0YVJlc2lkZW5jeUF0b20sXG4gIGlkZW50aWZ5aW5nUHJlZml4QXRvbSxcbn0gZnJvbSBcInNyYy9hdG9tcy9lbnZpdmUvZW52aXZlQ29uZmlnXCI7XG5pbXBvcnQgeyB1c2VMb2NhbFN0b3JhZ2UgfSBmcm9tIFwic3JjL2NvbnRleHRzL2xvY2FsU3RvcmFnZUNvbnRleHRcIjtcbmltcG9ydCB7IG9yZ0FuYWx5dGljc0dvb2dsZUFuYWx5dGljc0NvbmZpZ0F0b20gfSBmcm9tIFwic3JjL2F0b21zL29yZy9vcmdBbmFseXRpY3NDb25maWdcIjtcbmltcG9ydCB7IGVudkF0b20gfSBmcm9tIFwic3JjL2F0b21zL2Vudml2ZS9lbnZpdmVDb25maWdcIjtcbmltcG9ydCBMb2dnZXIgZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlclwiO1xuaW1wb3J0IHR5cGUge1xuICBCcm93c2VyQ2xpZW50LFxuICBFbnJpY2htZW50UGx1Z2luLFxuICBFdmVudCxcbiAgU2VydmVyWm9uZVR5cGUsXG59IGZyb20gXCJAYW1wbGl0dWRlL2FuYWx5dGljcy10eXBlc1wiO1xuaW1wb3J0IHsgRW52aXZlQ29uZmlnQ29udGV4dCwgdXNlRW52aXZlQ29uZmlnIH0gZnJvbSBcInNyYy9jb250ZXh0cy9lbnZpdmVDb25maWdDb250ZXh0L2Vudml2ZUNvbmZpZ0NvbnRleHRcIjtcbmltcG9ydCB7IHVzZUZlYXR1cmVGbGFnU2VydmljZSB9IGZyb20gXCJzcmMvY29udGV4dHMvZmVhdHVyZUZsYWdTZXJ2aWNlQ29udGV4dC9mZWF0dXJlRmxhZ1NlcnZpY2VDb250ZXh0XCI7XG5pbXBvcnQgeyBFdmVudHNEaXNwYXRjaGVyIH0gZnJvbSBcInNyYy9ldmVudHNcIjtcblxuY29uc3QgQW1wbGl0dWRlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8QW1wbGl0dWRlQ29udGV4dFR5cGUgfCBudWxsPihudWxsKTtcblxuaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gIExvZ2dlci5sb2dJbmZvKCdBbXBsaXR1ZGVDb250ZXh0OiB3aW5kb3cgaXMgZGVmaW5lZCcpO1xuICAod2luZG93IGFzIGFueSkuQW1wbGl0dWRlUmVhY3QgPSBSZWFjdDtcbn0gZWxzZSB7XG4gIExvZ2dlci5sb2dJbmZvKCdBbXBsaXR1ZGVDb250ZXh0OiB3aW5kb3cgaXMgbm90IGRlZmluZWQnKTtcbn1cblxuZXhwb3J0IGNvbnN0IEFtcGxpdHVkZVByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4gPSAoe1xuICBjaGlsZHJlbixcbn0pID0+IHtcbiAgY29uc3QgeyBnZXRVc2VySWRPckRlZmF1bHQgfSA9IHVzZVVzZXJJZGVudGl0eSgpO1xuICBjb25zdCB1c2VySWQgPSBnZXRVc2VySWRPckRlZmF1bHQoKTtcbiAgY29uc3QgYW1wbGl0dWRlQXBpS2V5ID0gdXNlQXRvbVZhbHVlKGFtcGxpdHVkZUFwaUtleUF0b20pO1xuICBjb25zdCBkYXRhUmVzaWRlbmN5ID0gdXNlQXRvbVZhbHVlKGRhdGFSZXNpZGVuY3lBdG9tKTtcbiAgY29uc3Qgb3JnR2FDb25maWcgPSB1c2VBdG9tVmFsdWUob3JnQW5hbHl0aWNzR29vZ2xlQW5hbHl0aWNzQ29uZmlnQXRvbSk7XG4gIGNvbnN0IGVudiA9IHVzZUF0b21WYWx1ZShlbnZBdG9tKTtcbiAgY29uc3QgY29udGV4dFNvdXJjZSA9IHVzZUF0b21WYWx1ZShjb250ZXh0U291cmNlQXRvbSk7XG4gIGNvbnN0IGlkZW50aWZ5aW5nUHJlZml4ID0gdXNlQXRvbVZhbHVlKGlkZW50aWZ5aW5nUHJlZml4QXRvbSk7XG4gIGNvbnN0IHsgZ2V0SXRlbSB9ID0gdXNlTG9jYWxTdG9yYWdlKCk7XG4gIGNvbnNvbGUubG9nKCdBbXBsaXR1ZGVQcm92aWRlcjogZ2V0dGluZyBlbnZpdmUgY29uZmlnJyk7XG5cbiAgY29uc3Qge3B1YmxpY0tleSxcbiAgICBmZWF0dXJlT3ZlcnJpZGVzLFxuICAgIHZhcmlhbnRVcmxPdmVycmlkZSxcbiAgICB2YXJpYW50SW5mb092ZXJyaWRlLFxuICAgIHNob3csXG4gICAgb3JnU2hvcnROYW1lLFxuICAgIGZlYXR1cmVHYXRlcyB9ID0gdXNlQ29udGV4dChFbnZpdmVDb25maWdDb250ZXh0KSB8fCB7fTtcblxuICBjb25zdCB7IGZlYXR1cmVGbGFnU2VydmljZSB9ID0gdXNlRmVhdHVyZUZsYWdTZXJ2aWNlKCk7XG5cbiAgY29uc3QgW2FtcGxpdHVkZUNsaWVudCwgc2V0QW1wbGl0dWRlQ2xpZW50XSA9IFJlYWN0LnVzZVN0YXRlPFxuICAgIEJyb3dzZXJDbGllbnQgfCB1bmRlZmluZWRcbiAgPih1bmRlZmluZWQpO1xuICBjb25zdCBbaW50ZXJuYWxFdmVudFRyYWNraW5nRW5yaWNobWVudCwgc2V0SW50ZXJuYWxFdmVudFRyYWNraW5nRW5yaWNobWVudF0gPVxuICAgIFJlYWN0LnVzZVN0YXRlPEVucmljaG1lbnRQbHVnaW4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IFtzdXBwbGVtZW50YWxEZWZhdWx0UHJvcHMsIHNldFN1cHBsZW1lbnRhbERlZmF1bHRQcm9wc10gPVxuICAgIFJlYWN0LnVzZVN0YXRlPFJlY29yZDxzdHJpbmcsIHVua25vd24+Pih7fSk7XG5cbiAgY29uc3QgaXNSZWFkeSA9IEJvb2xlYW4oXG4gICAgdXNlcklkICYmIGZlYXR1cmVGbGFnU2VydmljZSAmJiBhbXBsaXR1ZGVBcGlLZXkgJiYgdXNlcklkXG4gICk7XG5cbiAgY29uc3QgZ2V0RGVmYXVsdFRyYWNraW5nUHJvcHMgPSB1c2VDYWxsYmFjaygoKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4ge1xuICAgIGNvbnN0IGdhdGVzUHJvcHMgPSBmZWF0dXJlR2F0ZXNcbiAgICAgID8gZmVhdHVyZUdhdGVzLnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4oKGFjYywgY3VycikgPT4ge1xuICAgICAgICAgIGlmIChjdXJyLm5hbWUgJiYgY3Vyci52YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4geyAuLi5hY2MsIFtgZmVhdHVyZV9nYXRlLiR7Y3Vyci5uYW1lfWBdOiBjdXJyLnZhbHVlIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIHt9KVxuICAgICAgOiB7fTtcbiAgICBjb25zdCBleHBlcmltZW50UHJvcHMgPSB7fTsgLy8gTm8gZGlyZWN0IGVxdWl2YWxlbnQgZm9yIGV4cGVyaW1lbnRzIGluIEVudml2ZUNvbmZpZyB5ZXRcblxuICAgIGNvbnN0IG9yZ0xldmVsQW1wbGl0dWRlVHJhY2tpbmdQcm9wcyA9IHtcbiAgICAgIC4uLmdhdGVzUHJvcHMsXG4gICAgICAuLi5leHBlcmltZW50UHJvcHMsXG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5vcmdMZXZlbEFtcGxpdHVkZVRyYWNraW5nUHJvcHMsXG4gICAgICAuLi5zdXBwbGVtZW50YWxEZWZhdWx0UHJvcHMsXG4gICAgICAvLyBUT0RPOiBvcmdfaWQgaXMgbm90IGRpcmVjdGx5IGF2YWlsYWJsZSBpbiBFbnZpdmVDb25maWcuIE5lZWQgdG8gZmluZCBhIG5ldyBzb3VyY2Ugb3IgZGVyaXZlIGl0LlxuICAgICAgLy8gb3JnX2lkOiBvcmdDb25maWc/Lm9yZz8ub3JnPy5pZCxcbiAgICAgIGFwcF9pZDogXCJjb21tZXJjZS1jaGF0LXJlYWN0LWNvbXBvbmVudFwiLFxuICAgICAgY2hhdF9pZDogZ2V0SXRlbShMb2NhbFN0b3JhZ2VLZXlzLkNoYXRJZCksXG4gICAgICBlbnY6IGVudiB8fCBcInVua25vd25cIixcbiAgICAgIGFwcF9zb3VyY2U6IGNvbnRleHRTb3VyY2UsXG4gICAgICBcIm9yZy5zaG9ydF9uYW1lXCI6IG9yZ1Nob3J0TmFtZSxcbiAgICAgIFwidXNlci5pZFwiOiB1c2VySWQsXG4gICAgICBcImNkcC51c2VyX2lkXCI6IG51bGwsXG4gICAgICBcImNkcC5wcm92aWRlclwiOiBudWxsLFxuICAgICAgXCJldmVudC5zb3VyY2VcIjogXCJ3ZWItYnJvd3NlclwiLFxuICAgICAgXCJldmVudC50eXBlXCI6IFwidXNlci1hY3Rpdml0eVwiLFxuICAgICAgXCJldmVudC5pZFwiOiBudWxsLFxuICAgICAgXCJldmVudC5jaGFubmVsXCI6IFwid2ViXCIsXG4gICAgICBcImV2ZW50LnRpbWVzdGFtcFwiOiBudWxsLFxuICAgIH07XG4gIH0sIFtcbiAgICBmZWF0dXJlR2F0ZXMsXG4gICAgc3VwcGxlbWVudGFsRGVmYXVsdFByb3BzLFxuICAgIGVudixcbiAgICBjb250ZXh0U291cmNlLFxuICAgIG9yZ1Nob3J0TmFtZSxcbiAgICB1c2VySWQsXG4gIF0pO1xuXG4gIGNvbnN0IGV2ZW50UHJvcHNUb1ByZWZpeGVkRXZlbnRQcm9wcyA9IHVzZUNhbGxiYWNrKFxuICAgIChcbiAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSxcbiAgICAgIGV2ZW50UHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4ge1xuICAgICAgY29uc3QgcHJlZml4ID0gZXZlbnROYW1lLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXFxzKy9nLCBcIl9cIik7XG4gICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoZXZlbnRQcm9wcykucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBhY2NbYCR7cHJlZml4fS4ke2tleX1gXSA9IHZhbHVlO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pO1xuICAgIH0sXG4gICAgW11cbiAgKTtcblxuICBjb25zdCBhbXBsaXR1ZGVTZXNzaW9uUmVwbGF5SW5pdCA9IHVzZUNhbGxiYWNrKCgpOiBib29sZWFuID0+IHtcbiAgICBjb25zdCBpc0VuYWJsZWQgPSBCb29sZWFuKFxuICAgICAgb3JnU2hvcnROYW1lID09PSBPcmdTaG9ydE5hbWUuVW5pcXVlVmludGFnZSAmJlxuICAgICAgICBmZWF0dXJlRmxhZ1NlcnZpY2U/LmlzQ2xpZW50U2Vzc2lvbkVuYWJsZWQoKSAmJlxuICAgICAgICBmZWF0dXJlRmxhZ1NlcnZpY2U/LmlzRmVhdHVyZUdhdGVFbmFibGVkKFxuICAgICAgICAgIEZlYXR1cmVHYXRlcy5Jc05ld0ZlYXR1cmVFbmFibGVkXG4gICAgICAgIClcbiAgICApO1xuICAgIGNvbnN0IHNhbXBsZVJhdGUgPSAxO1xuXG4gICAgdHJ5IHtcbiAgICAgIExvZ2dlci5sb2dEZWJ1ZyhcbiAgICAgICAgYFtzcGlmZnktYWldIGFtcGxpdHVkZSBzZXNzaW9uLXJlcGxheSBpbml0aWFsaXppbmcgaXNFbmFibGVkPSR7aXNFbmFibGVkfSBzYW1wbGVSYXRlPSR7c2FtcGxlUmF0ZX1gXG4gICAgICApO1xuXG4gICAgICBpZiAoIWlzRW5hYmxlZCkge1xuICAgICAgICByZXR1cm4gaXNFbmFibGVkO1xuICAgICAgfVxuXG4gICAgICAvLyBhbXBsaXR1ZGVJbnN0YW5jZS5hZGQoc2Vzc2lvblJlcGxheVBsdWdpbih7IHNhbXBsZVJhdGUgfSkpO1xuXG4gICAgICByZXR1cm4gaXNFbmFibGVkO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIExvZ2dlci5sb2dFcnJvcihcbiAgICAgICAgXCJbc3BpZmZ5LWFpXSBFcnJvciBpbml0aWFsaXppbmcgYW1wbGl0dWRlIHNlc3Npb24tcmVwbGF5XCIsXG4gICAgICAgIGVcbiAgICAgICk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9LCBbb3JnU2hvcnROYW1lLCBmZWF0dXJlRmxhZ1NlcnZpY2VdKTtcblxuICBjb25zdCBnZXRFdmVudFRyYWNraW5nRW5yaWNobWVudCA9IHVzZUNhbGxiYWNrKCgpOiBFbnJpY2htZW50UGx1Z2luID0+IHtcbiAgICBpZiAoaW50ZXJuYWxFdmVudFRyYWNraW5nRW5yaWNobWVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gaW50ZXJuYWxFdmVudFRyYWNraW5nRW5yaWNobWVudDtcbiAgICB9XG5cbiAgICBjb25zdCBlbnJpY2htZW50OiBFbnJpY2htZW50UGx1Z2luID0ge1xuICAgICAgbmFtZTogXCJwYWdlLXZpZXctdHJhY2tpbmctZW5yaWNobWVudFwiLFxuICAgICAgdHlwZTogXCJlbnJpY2htZW50XCIsXG4gICAgICBzZXR1cDogYXN5bmMgKCkgPT4gdW5kZWZpbmVkLFxuICAgICAgZXhlY3V0ZTogYXN5bmMgKGV2ZW50OiBFdmVudCk6IFByb21pc2U8RXZlbnQ+ID0+IHtcbiAgICAgICAgbGV0IGVucmljaGVkRXZlbnQ6IEV2ZW50O1xuXG4gICAgICAgIGNvbnN0IGV2ZW50c1RvRW5yaWNoID0gW1xuICAgICAgICAgIFwiW0FtcGxpdHVkZV0gUGFnZSBWaWV3ZWRcIixcbiAgICAgICAgICBgW1NwaWZmeV0gJHtTcGlmZnlNZXRyaWNzRXZlbnROYW1lLkJ1bmRsZUxvYWRlZH1gLFxuICAgICAgICBdO1xuXG4gICAgICAgIGlmIChldmVudHNUb0VucmljaC5pbmNsdWRlcyhldmVudC5ldmVudF90eXBlKSkge1xuICAgICAgICAgIGNvbnN0IGdsb2JhbFByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAgICAgICAgIGlmIChwdWJsaWNLZXkpIHtcbiAgICAgICAgICAgIGdsb2JhbFByb3BlcnRpZXNbXCJnbG9iYWxQcm9wZXJ0aWVzLnB1YmxpY0tleVwiXSA9IHB1YmxpY0tleTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGZlYXR1cmVPdmVycmlkZXMpIHtcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGZlYXR1cmVPdmVycmlkZXMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgICAgICBnbG9iYWxQcm9wZXJ0aWVzW2BnbG9iYWxQcm9wZXJ0aWVzLmZlYXR1cmVPdmVycmlkZXMuJHtrZXl9YF0gPVxuICAgICAgICAgICAgICAgIFN0cmluZyh2YWx1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHZhcmlhbnRVcmxPdmVycmlkZSkge1xuICAgICAgICAgICAgZ2xvYmFsUHJvcGVydGllc1tcImdsb2JhbFByb3BlcnRpZXMudmFyaWFudFVybE92ZXJyaWRlXCJdID1cbiAgICAgICAgICAgICAgdmFyaWFudFVybE92ZXJyaWRlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodmFyaWFudEluZm9PdmVycmlkZSkge1xuICAgICAgICAgICAgZ2xvYmFsUHJvcGVydGllc1tcImdsb2JhbFByb3BlcnRpZXMudmFyaWFudEluZm9PdmVycmlkZVwiXSA9XG4gICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHZhcmlhbnRJbmZvT3ZlcnJpZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoc2hvdyAhPSBudWxsKSB7XG4gICAgICAgICAgICBnbG9iYWxQcm9wZXJ0aWVzW1wiZ2xvYmFsUHJvcGVydGllcy5zaG93XCJdID0gU3RyaW5nKHNob3cpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGVuYWJsZWRGZWF0dXJlcyA9IGZlYXR1cmVGbGFnU2VydmljZSEuZ2V0RmVhdHVyZUZsYWdzKCk7XG4gICAgICAgICAgY29uc3QgZW5hYmxlZEZlYXR1cmVzUHJvcGVydGllcyA9IE9iamVjdC5lbnRyaWVzKFxuICAgICAgICAgICAgZW5hYmxlZEZlYXR1cmVzXG4gICAgICAgICAgKS5yZWR1Y2U8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4oXG4gICAgICAgICAgICAoYWNjLCBba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAgICAgW2BlbmFibGVkRmVhdHVyZXMuJHtrZXl9YF06IGAke3ZhbHVlfWAsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHt9XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGNvbnN0IHRpbWluZ1Byb3BlcnRpZXMgPSB7XG4gICAgICAgICAgICBcInRpbWluZy5lbnJpY2hlZF9hdF9tc1wiOiB3aW5kb3cucGVyZm9ybWFuY2U/Lm5vdygpLFxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBlbnJpY2hlZEV2ZW50ID0ge1xuICAgICAgICAgICAgLi4uZXZlbnQsXG4gICAgICAgICAgICBldmVudF9wcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgIC4uLmV2ZW50LmV2ZW50X3Byb3BlcnRpZXMsXG4gICAgICAgICAgICAgIC4uLmdldERlZmF1bHRUcmFja2luZ1Byb3BzKCksXG4gICAgICAgICAgICAgIC4uLmdsb2JhbFByb3BlcnRpZXMsXG4gICAgICAgICAgICAgIC4uLmVuYWJsZWRGZWF0dXJlc1Byb3BlcnRpZXMsXG4gICAgICAgICAgICAgIC4uLnRpbWluZ1Byb3BlcnRpZXMsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZW5yaWNoZWRFdmVudCA9IGV2ZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgRXZlbnRzRGlzcGF0Y2hlci5kaXNwYXRjaChTcGlmZnlFdmVudC5BTVBMSVRVREVfRVZFTlQsIGVucmljaGVkRXZlbnQpO1xuXG4gICAgICAgIHJldHVybiBlbnJpY2hlZEV2ZW50O1xuICAgICAgfSxcbiAgICB9O1xuICAgIHNldEludGVybmFsRXZlbnRUcmFja2luZ0VucmljaG1lbnQoZW5yaWNobWVudCk7XG4gICAgcmV0dXJuIGVucmljaG1lbnQ7XG4gIH0sIFtcbiAgICBpbnRlcm5hbEV2ZW50VHJhY2tpbmdFbnJpY2htZW50LFxuICAgIGdldERlZmF1bHRUcmFja2luZ1Byb3BzLFxuICAgIGZlYXR1cmVGbGFnU2VydmljZSxcbiAgICBwdWJsaWNLZXksXG4gICAgZmVhdHVyZU92ZXJyaWRlcyxcbiAgICB2YXJpYW50VXJsT3ZlcnJpZGUsXG4gICAgdmFyaWFudEluZm9PdmVycmlkZSxcbiAgICBzaG93LFxuICBdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc1JlYWR5ICYmICFhbXBsaXR1ZGVDbGllbnQpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRBbXBsaXR1ZGVJbnN0YW5jZTogQnJvd3NlckNsaWVudCA9IGNyZWF0ZUluc3RhbmNlKCk7XG4gICAgICBjb25zdCBpc1Nlc3Npb25zRW5hYmxlZCA9IGFtcGxpdHVkZVNlc3Npb25SZXBsYXlJbml0KCk7XG4gICAgICBjdXJyZW50QW1wbGl0dWRlSW5zdGFuY2UuYWRkKGdldEV2ZW50VHJhY2tpbmdFbnJpY2htZW50KCkpO1xuICAgICAgY3VycmVudEFtcGxpdHVkZUluc3RhbmNlLmluaXQoYW1wbGl0dWRlQXBpS2V5ISwgdXNlcklkISwge1xuICAgICAgICBzZXJ2ZXJab25lOiBkYXRhUmVzaWRlbmN5IGFzIFNlcnZlclpvbmVUeXBlLFxuICAgICAgICB0cmFja2luZ09wdGlvbnM6IHtcbiAgICAgICAgICBpcEFkZHJlc3M6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGF1dG9jYXB0dXJlOiB7XG4gICAgICAgICAgYXR0cmlidXRpb246IHRydWUsXG4gICAgICAgICAgcGFnZVZpZXdzOiB7XG4gICAgICAgICAgICB0cmFja0hpc3RvcnlDaGFuZ2VzOiBcInBhdGhPbmx5XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXNzaW9uczogaXNTZXNzaW9uc0VuYWJsZWQsXG4gICAgICAgICAgZm9ybUludGVyYWN0aW9uczogZmFsc2UsXG4gICAgICAgICAgZmlsZURvd25sb2FkczogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHNldEFtcGxpdHVkZUNsaWVudChjdXJyZW50QW1wbGl0dWRlSW5zdGFuY2UpO1xuICAgIH1cbiAgfSwgW1xuICAgIGlzUmVhZHksXG4gICAgYW1wbGl0dWRlQ2xpZW50LFxuICAgIGFtcGxpdHVkZUFwaUtleSxcbiAgICB1c2VySWQsXG4gICAgZGF0YVJlc2lkZW5jeSxcbiAgICBhbXBsaXR1ZGVTZXNzaW9uUmVwbGF5SW5pdCxcbiAgICBnZXRFdmVudFRyYWNraW5nRW5yaWNobWVudCxcbiAgXSk7XG5cbiAgY29uc3QgdHJhY2tFdmVudCA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jICh7XG4gICAgICBldmVudE5hbWUsXG4gICAgICBldmVudFByb3BzLFxuICAgICAgZXZlbnRHcm91cHMsXG4gICAgICBhbHNvU2VuZFRvR29vZ2xlQW5hbHl0aWNzID0gZmFsc2UsXG4gICAgfTogVHJhY2tFdmVudFBhcmFtcyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgTG9nZ2VyLmxvZ0RlYnVnKFwiU3VibWl0dGluZyBldmVudFwiLCBldmVudE5hbWUpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZGVjb3JhdGVkRXZlbnROYW1lID0gYFtTcGlmZnldICR7ZXZlbnROYW1lfWA7XG5cbiAgICAgICAgaWYgKCFhbXBsaXR1ZGVDbGllbnQpIHtcbiAgICAgICAgICBMb2dnZXIubG9nV2FybihcImFtcGxpdHVkZSBjbGllbnQgdW5kZWZpbmVkXCIsIHVuZGVmaW5lZCwge1xuICAgICAgICAgICAgZXZlbnRfbmFtZTogZGVjb3JhdGVkRXZlbnROYW1lLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGV2ZW50RGF0YSA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBldmVudE5hbWUsXG4gICAgICAgICAgZXZlbnRQcm9wcyxcbiAgICAgICAgICBjcmVhdGVkX2F0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBlbmNvZGVyID0gbmV3IFRleHRFbmNvZGVyKCk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBlbmNvZGVyLmVuY29kZShldmVudERhdGEpO1xuICAgICAgICAvLyBjYWxjdWxhdGUgYSBoYXNoIG9mIHRoZSBldmVudCBwcm9wZXJ0aWVzIHRvIHVzZSBhcyB0aGUgaW5zZXJ0X2lkIHNvIHRoYXQgZHVwbGljYXRlIGV2ZW50c1xuICAgICAgICAvLyBhcmUgYXV0b21hdGljYWxseSBkcm9wcGVkIGJ5IEFtcGxpdHVkZVxuICAgICAgICBjb25zdCBoYXNoQnVmZmVyID0gYXdhaXQgY3J5cHRvLnN1YnRsZS5kaWdlc3QoXCJTSEEtMjU2XCIsIGRhdGEpO1xuICAgICAgICBjb25zdCBoYXNoQXJyYXkgPSBBcnJheS5mcm9tKG5ldyBVaW50OEFycmF5KGhhc2hCdWZmZXIpKTtcbiAgICAgICAgY29uc3QgY3VycmVudEluc2VydElkID0gaGFzaEFycmF5XG4gICAgICAgICAgLm1hcCgoYikgPT4gYi50b1N0cmluZygxNikucGFkU3RhcnQoMiwgXCIwXCIpKVxuICAgICAgICAgIC5qb2luKFwiXCIpO1xuXG4gICAgICAgIExvZ2dlci5sb2dEZWJ1ZyhgYW1wbGl0dWRlIHRyYWNraW5nICR7ZGVjb3JhdGVkRXZlbnROYW1lfWAsIG51bGwsIHtcbiAgICAgICAgICBldmVudF9uYW1lOiBkZWNvcmF0ZWRFdmVudE5hbWUsXG4gICAgICAgICAgcHJvcHM6IGV2ZW50UHJvcHMsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGFtcGxpdHVkZUNsaWVudC50cmFjayhcbiAgICAgICAgICBkZWNvcmF0ZWRFdmVudE5hbWUsXG4gICAgICAgICAge1xuICAgICAgICAgICAgLi4uZ2V0RGVmYXVsdFRyYWNraW5nUHJvcHMoKSxcbiAgICAgICAgICAgIC4uLmV2ZW50UHJvcHMsXG4gICAgICAgICAgICAuLi4oZXZlbnRQcm9wc1xuICAgICAgICAgICAgICA/IGV2ZW50UHJvcHNUb1ByZWZpeGVkRXZlbnRQcm9wcyhldmVudE5hbWUsIGV2ZW50UHJvcHMpXG4gICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgLi4uZXZlbnRHcm91cHMsXG4gICAgICAgICAgICBpbnNlcnRfaWQ6IGN1cnJlbnRJbnNlcnRJZCxcbiAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGFsc29TZW5kVG9Hb29nbGVBbmFseXRpY3MgJiYgb3JnR2FDb25maWcpIHtcbiAgICAgICAgICAvLyBUT0RPOiBBZGQgaW4gd2luZG93RGF0YUxheWVyU2VydmljZSBvciBjb250ZXh0IGFsdGVybmF0aXZlIGFuZCBob29rIGl0IHVwIGhlcmVcbiAgICAgICAgICBMb2dnZXIubG9nRGVidWcoXCJbc3BpZmZ5LWFpXSBHQSB0cmFja2luZ1wiLCBkZWNvcmF0ZWRFdmVudE5hbWUpO1xuICAgICAgICAgIGlmICh3aW5kb3cuZGF0YUxheWVyKSB7XG4gICAgICAgICAgICAod2luZG93LmRhdGFMYXllciBhcyBhbnlbXSkucHVzaCh7XG4gICAgICAgICAgICAgIGV2ZW50OiBkZWNvcmF0ZWRFdmVudE5hbWUsXG4gICAgICAgICAgICAgIGV2ZW50UHJvcHM6IGV2ZW50UHJvcHMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBMb2dnZXIubG9nRXJyb3IoXCJbc3BpZmZ5LWFpXSBFcnJvciB0cmFja2luZyBldmVudFwiLCBlcnIsIHtcbiAgICAgICAgICBldmVudE5hbWUsXG4gICAgICAgICAgZXZlbnRQcm9wcyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbXG4gICAgICBhbXBsaXR1ZGVDbGllbnQsXG4gICAgICBnZXREZWZhdWx0VHJhY2tpbmdQcm9wcyxcbiAgICAgIGV2ZW50UHJvcHNUb1ByZWZpeGVkRXZlbnRQcm9wcyxcbiAgICAgIG9yZ0dhQ29uZmlnLFxuICAgIF1cbiAgKTtcblxuICBjb25zdCB2YWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIHRyYWNrRXZlbnQsXG4gICAgICBpc1JlYWR5LFxuICAgICAgc2V0U3VwcGxlbWVudGFsRGVmYXVsdFByb3BzOiAocHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PlxuICAgICAgICBzZXRTdXBwbGVtZW50YWxEZWZhdWx0UHJvcHMocHJvcHMpLFxuICAgIH0pLFxuICAgIFt0cmFja0V2ZW50LCBpc1JlYWR5LCBzZXRTdXBwbGVtZW50YWxEZWZhdWx0UHJvcHNdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8QW1wbGl0dWRlQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQW1wbGl0dWRlQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VBbXBsaXR1ZGUgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KEFtcGxpdHVkZUNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1c2VBbXBsaXR1ZGUgbXVzdCBiZSB1c2VkIHdpdGhpbiBBbXBsaXR1ZGVQcm92aWRlclwiKTtcbiAgfVxuICByZXR1cm4gY29udGV4dDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBc0NBLE1BQU0sbUJBQW1CLGNBQTJDLEtBQUs7QUFFekUsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUNqQyxnQkFBTyxRQUFRLHNDQUFzQztBQUNyRCxDQUFDLE9BQWUsaUJBQWlCO01BRWpDLGdCQUFPLFFBQVEsMENBQTBDO0FBRzNELE1BQWFBLHFCQUE4RCxFQUN6RSxlQUNJO0NBQ0osTUFBTSxFQUFFLHVCQUF1QixpQkFBaUI7Q0FDaEQsTUFBTSxTQUFTLG9CQUFvQjtDQUNuQyxNQUFNLGtCQUFrQixhQUFhLG9CQUFvQjtDQUN6RCxNQUFNLGdCQUFnQixhQUFhLGtCQUFrQjtDQUNyRCxNQUFNLGNBQWMsYUFBYSxzQ0FBc0M7Q0FDdkUsTUFBTSxNQUFNLGFBQWEsUUFBUTtDQUNqQyxNQUFNLGdCQUFnQixhQUFhLGtCQUFrQjtBQUMzQixjQUFhLHNCQUFzQjtDQUM3RCxNQUFNLEVBQUUsWUFBWSxpQkFBaUI7QUFDckMsU0FBUSxJQUFJLDJDQUEyQztDQUV2RCxNQUFNLEVBQUMsV0FDTCxrQkFDQSxvQkFDQSxxQkFDQSxNQUNBLGNBQ0EsaUJBQWlCLFdBQVcsb0JBQW9CLElBQUksRUFBRTtDQUV4RCxNQUFNLEVBQUUsdUJBQXVCLHVCQUF1QjtDQUV0RCxNQUFNLENBQUMsaUJBQWlCLHNCQUFzQixNQUFNLFNBRWxELE9BQVU7Q0FDWixNQUFNLENBQUMsaUNBQWlDLHNDQUN0QyxNQUFNLFNBQXVDLE9BQVU7Q0FDekQsTUFBTSxDQUFDLDBCQUEwQiwrQkFDL0IsTUFBTSxTQUFrQyxFQUFFLENBQUM7Q0FFN0MsTUFBTSxVQUFVLFFBQ2QsVUFBVSxzQkFBc0IsbUJBQW1CLE9BQ3BEO0NBRUQsTUFBTSwwQkFBMEIsa0JBQTJDO0VBQ3pFLE1BQU0sYUFBYSxlQUNmLGFBQWEsUUFBaUMsS0FBSyxTQUFTO0FBQzFELE9BQUksS0FBSyxRQUFRLEtBQUssU0FBUyxLQUM3QixRQUFPO0lBQUUsR0FBRztLQUFNLGdCQUFnQixLQUFLLFNBQVMsS0FBSztJQUFPO0FBRTlELFVBQU87S0FDTixFQUFFLENBQUMsR0FDTixFQUFFO0VBQ04sTUFBTSxrQkFBa0IsRUFBRTtBQU8xQixTQUFPO0dBSkwsR0FBRztHQUNILEdBQUc7R0FLSCxHQUFHO0dBR0gsUUFBUTtHQUNSLFNBQVMsUUFBUSxpQkFBaUIsT0FBTztHQUN6QyxLQUFLLE9BQU87R0FDWixZQUFZO0dBQ1osa0JBQWtCO0dBQ2xCLFdBQVc7R0FDWCxlQUFlO0dBQ2YsZ0JBQWdCO0dBQ2hCLGdCQUFnQjtHQUNoQixjQUFjO0dBQ2QsWUFBWTtHQUNaLGlCQUFpQjtHQUNqQixtQkFBbUI7R0FDcEI7SUFDQTtFQUNEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNELENBQUM7Q0FFRixNQUFNLGlDQUFpQyxhQUVuQyxXQUNBLGVBQzRCO0VBQzVCLE1BQU0sU0FBUyxVQUFVLGFBQWEsQ0FBQyxRQUFRLFFBQVEsSUFBSTtBQUMzRCxTQUFPLE9BQU8sUUFBUSxXQUFXLENBQUMsUUFBUSxLQUFLLENBQUMsS0FBS0MsYUFBVztBQUM5RCxPQUFJLEdBQUcsT0FBTyxHQUFHLFNBQVNBO0FBQzFCLFVBQU87S0FDTixFQUFFLENBQTRCO0lBRW5DLEVBQUUsQ0FDSDtDQUVELE1BQU0sNkJBQTZCLGtCQUEyQjtFQUM1RCxNQUFNLFlBQVksUUFDaEIsaUJBQWlCLGFBQWEsaUJBQzVCLG9CQUFvQix3QkFBd0IsSUFDNUMsb0JBQW9CLHFCQUNsQixhQUFhLG9CQUNkLENBQ0o7RUFDRCxNQUFNLGFBQWE7QUFFbkIsTUFBSTtBQUNGLGtCQUFPLFNBQ0wsK0RBQStELFVBQVUsY0FBYyxhQUN4RjtBQUVELE9BQUksQ0FBQyxVQUNILFFBQU87QUFLVCxVQUFPO1dBQ0EsR0FBRztBQUNWLGtCQUFPLFNBQ0wsMkRBQ0EsRUFDRDtBQUNELFVBQU87O0lBRVIsQ0FBQyxjQUFjLG1CQUFtQixDQUFDO0NBRXRDLE1BQU0sNkJBQTZCLGtCQUFvQztBQUNyRSxNQUFJLG9DQUFvQyxPQUN0QyxRQUFPO0VBR1QsTUFBTUMsYUFBK0I7R0FDbkMsTUFBTTtHQUNOLE1BQU07R0FDTixPQUFPLFlBQVk7R0FDbkIsU0FBUyxPQUFPLFVBQWlDO0lBQy9DLElBQUlDO0FBT0osUUFMdUIsQ0FDckIsMkJBQ0EsWUFBWSx1QkFBdUIsZUFDcEMsQ0FFa0IsU0FBUyxNQUFNLFdBQVcsRUFBRTtLQUM3QyxNQUFNQyxtQkFBMkMsRUFBRTtBQUVuRCxTQUFJLFVBQ0Ysa0JBQWlCLGdDQUFnQztBQUVuRCxTQUFJLGlCQUNGLFFBQU8sUUFBUSxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsS0FBS0gsYUFBVztBQUN6RCx1QkFBaUIscUNBQXFDLFNBQ3BELE9BQU9BLFFBQU07T0FDZjtBQUVKLFNBQUksbUJBQ0Ysa0JBQWlCLHlDQUNmO0FBRUosU0FBSSxvQkFDRixrQkFBaUIsMENBQ2YsS0FBSyxVQUFVLG9CQUFvQjtBQUV2QyxTQUFJLFFBQVEsS0FDVixrQkFBaUIsMkJBQTJCLE9BQU8sS0FBSztLQUcxRCxNQUFNLGtCQUFrQixtQkFBb0IsaUJBQWlCO0tBQzdELE1BQU0sNEJBQTRCLE9BQU8sUUFDdkMsZ0JBQ0QsQ0FBQyxRQUNDLEtBQUssQ0FBQyxLQUFLQSxjQUFZO01BQ3RCLEdBQUc7T0FDRixtQkFBbUIsUUFBUSxHQUFHQTtNQUNoQyxHQUNELEVBQUUsQ0FDSDtLQUVELE1BQU0sbUJBQW1CLEVBQ3ZCLHlCQUF5QixPQUFPLGFBQWEsS0FBSyxFQUNuRDtBQUVELHFCQUFnQjtNQUNkLEdBQUc7TUFDSCxrQkFBa0I7T0FDaEIsR0FBRyxNQUFNO09BQ1QsR0FBRyx5QkFBeUI7T0FDNUIsR0FBRztPQUNILEdBQUc7T0FDSCxHQUFHO09BQ0o7TUFDRjtVQUVELGlCQUFnQjtBQUdsQixxQkFBaUIsU0FBUyxZQUFZLGlCQUFpQixjQUFjO0FBRXJFLFdBQU87O0dBRVY7QUFDRCxxQ0FBbUMsV0FBVztBQUM5QyxTQUFPO0lBQ047RUFDRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0QsQ0FBQztBQUVGLGlCQUFnQjtBQUNkLE1BQUksV0FBVyxDQUFDLGlCQUFpQjtHQUMvQixNQUFNSSwyQkFBMEMsZ0JBQWdCO0dBQ2hFLE1BQU0sb0JBQW9CLDRCQUE0QjtBQUN0RCw0QkFBeUIsSUFBSSw0QkFBNEIsQ0FBQztBQUMxRCw0QkFBeUIsS0FBSyxpQkFBa0IsUUFBUztJQUN2RCxZQUFZO0lBQ1osaUJBQWlCLEVBQ2YsV0FBVyxNQUNaO0lBQ0QsYUFBYTtLQUNYLGFBQWE7S0FDYixXQUFXLEVBQ1QscUJBQXFCLFlBQ3RCO0tBQ0QsVUFBVTtLQUNWLGtCQUFrQjtLQUNsQixlQUFlO0tBQ2hCO0lBQ0YsQ0FBQztBQUNGLHNCQUFtQix5QkFBeUI7O0lBRTdDO0VBQ0Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDRCxDQUFDO0NBRUYsTUFBTSxhQUFhLFlBQ2pCLE9BQU8sRUFDTCxXQUNBLFlBQ0EsYUFDQSw0QkFBNEIsWUFDUztBQUNyQyxpQkFBTyxTQUFTLG9CQUFvQixVQUFVO0FBQzlDLE1BQUk7R0FDRixNQUFNLHFCQUFxQixZQUFZO0FBRXZDLE9BQUksQ0FBQyxpQkFBaUI7QUFDcEIsbUJBQU8sUUFBUSw4QkFBOEIsUUFBVyxFQUN0RCxZQUFZLG9CQUNiLENBQUM7QUFDRjs7R0FHRixNQUFNLFlBQVksS0FBSyxVQUFVO0lBQy9CO0lBQ0E7SUFDQSw2QkFBWSxJQUFJLE1BQU0sRUFBQyxhQUFhO0lBQ3JDLENBQUM7R0FFRixNQUFNLE9BRFUsSUFBSSxhQUFhLENBQ1osT0FBTyxVQUFVO0dBR3RDLE1BQU0sYUFBYSxNQUFNLE9BQU8sT0FBTyxPQUFPLFdBQVcsS0FBSztHQUU5RCxNQUFNLGtCQURZLE1BQU0sS0FBSyxJQUFJLFdBQVcsV0FBVyxDQUFDLENBRXJELEtBQUssTUFBTSxFQUFFLFNBQVMsR0FBRyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FDM0MsS0FBSyxHQUFHO0FBRVgsa0JBQU8sU0FBUyxzQkFBc0Isc0JBQXNCLE1BQU07SUFDaEUsWUFBWTtJQUNaLE9BQU87SUFDUixDQUFDO0FBRUYsbUJBQWdCLE1BQ2Qsb0JBQ0E7SUFDRSxHQUFHLHlCQUF5QjtJQUM1QixHQUFHO0lBQ0gsR0FBSSxhQUNBLCtCQUErQixXQUFXLFdBQVcsR0FDckQsRUFBRTtJQUNQLEVBQ0Q7SUFDRSxHQUFHO0lBQ0gsV0FBVztJQUNaLENBQ0Y7QUFFRCxPQUFJLDZCQUE2QixhQUFhO0FBRTVDLG1CQUFPLFNBQVMsMkJBQTJCLG1CQUFtQjtBQUM5RCxRQUFJLE9BQU8sVUFDVCxDQUFDLE9BQU8sVUFBb0IsS0FBSztLQUMvQixPQUFPO0tBQ0s7S0FDYixDQUFDOztXQUdDLEtBQUs7QUFDWixrQkFBTyxTQUFTLG9DQUFvQyxLQUFLO0lBQ3ZEO0lBQ0E7SUFDRCxDQUFDOztJQUdOO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDRCxDQUNGO0NBRUQsTUFBTSxRQUFRLGVBQ0w7RUFDTDtFQUNBO0VBQ0EsOEJBQThCLFVBQzVCLDRCQUE0QixNQUFNO0VBQ3JDLEdBQ0Q7RUFBQztFQUFZO0VBQVM7RUFBNEIsQ0FDbkQ7QUFFRCxRQUNFLG9CQUFDLGlCQUFpQjtFQUFnQjtFQUMvQjtHQUN5Qjs7QUFJaEMsTUFBYSxxQkFBcUI7Q0FDaEMsTUFBTSxVQUFVLFdBQVcsaUJBQWlCO0FBQzVDLEtBQUksQ0FBQyxRQUNILE9BQU0sSUFBSSxNQUFNLHFEQUFxRDtBQUV2RSxRQUFPIn0=
@@ -12,4 +12,4 @@ Object.defineProperty(exports, 'amplitudeTrackEventAtom', {
12
12
  return amplitudeTrackEventAtom;
13
13
  }
14
14
  });
15
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlVHJhY2tFdmVudEF0b20tZjIyUDJVMHUuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9hdG9tcy9hbXBsaXR1ZGUvYW1wbGl0dWRlVHJhY2tFdmVudEF0b20udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB9IGZyb20gXCJAZW52aXZlLWFpL3R5cGVzXCI7XG5pbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5cbmludGVyZmFjZSBUcmFja0V2ZW50UGFyYW1zIHtcbiAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lO1xuICBldmVudFByb3BzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGV2ZW50R3JvdXBzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGFsc29TZW5kVG9Hb29nbGVBbmFseXRpY3M/OiBib29sZWFuO1xufVxuXG4vLyBUaGlzIGF0b20gd2lsbCBob2xkIHRoZSB0cmFja0V2ZW50IGZ1bmN0aW9uIGZyb20gdGhlIEFtcGxpdHVkZSBjb250ZXh0LlxuLy8gSXQgbmVlZHMgdG8gYmUgaW5pdGlhbGl6ZWQgYnkgYSBSZWFjdCBjb21wb25lbnQgdGhhdCBoYXMgYWNjZXNzIHRvIHRoZSB1c2VBbXBsaXR1ZGUgaG9vay5cbmV4cG9ydCBjb25zdCBhbXBsaXR1ZGVUcmFja0V2ZW50QXRvbSA9IGF0b208XG4gICgocGFyYW1zOiBUcmFja0V2ZW50UGFyYW1zKSA9PiBQcm9taXNlPHZvaWQ+KSB8IG51bGxcbj4obnVsbCk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBWUEsTUFBYSwwQ0FFWCxLQUFLIn0=
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlVHJhY2tFdmVudEF0b20tbmtaeFlvTHUuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9hdG9tcy9hbXBsaXR1ZGUvYW1wbGl0dWRlVHJhY2tFdmVudEF0b20udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB9IGZyb20gXCJAZW52aXZlLWFpL3R5cGVzXCI7XG5pbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5cbmludGVyZmFjZSBUcmFja0V2ZW50UGFyYW1zIHtcbiAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lO1xuICBldmVudFByb3BzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGV2ZW50R3JvdXBzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGFsc29TZW5kVG9Hb29nbGVBbmFseXRpY3M/OiBib29sZWFuO1xufVxuXG4vLyBUaGlzIGF0b20gd2lsbCBob2xkIHRoZSB0cmFja0V2ZW50IGZ1bmN0aW9uIGZyb20gdGhlIEFtcGxpdHVkZSBjb250ZXh0LlxuLy8gSXQgbmVlZHMgdG8gYmUgaW5pdGlhbGl6ZWQgYnkgYSBSZWFjdCBjb21wb25lbnQgdGhhdCBoYXMgYWNjZXNzIHRvIHRoZSB1c2VBbXBsaXR1ZGUgaG9vay5cbmV4cG9ydCBjb25zdCBhbXBsaXR1ZGVUcmFja0V2ZW50QXRvbSA9IGF0b208XG4gICgocGFyYW1zOiBUcmFja0V2ZW50UGFyYW1zKSA9PiBQcm9taXNlPHZvaWQ+KSB8IG51bGxcbj4obnVsbCk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBWUEsTUFBYSwwQ0FFWCxLQUFLIn0=
@@ -5,4 +5,4 @@ const amplitudeTrackEventAtom = atom(null);
5
5
 
6
6
  //#endregion
7
7
  export { amplitudeTrackEventAtom };
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlVHJhY2tFdmVudEF0b20tRDY2bDVvRnAuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2F0b21zL2FtcGxpdHVkZS9hbXBsaXR1ZGVUcmFja0V2ZW50QXRvbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSBcIkBlbnZpdmUtYWkvdHlwZXNcIjtcbmltcG9ydCB7IGF0b20gfSBmcm9tIFwiam90YWlcIjtcblxuaW50ZXJmYWNlIFRyYWNrRXZlbnRQYXJhbXMge1xuICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWU7XG4gIGV2ZW50UHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgZXZlbnRHcm91cHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljcz86IGJvb2xlYW47XG59XG5cbi8vIFRoaXMgYXRvbSB3aWxsIGhvbGQgdGhlIHRyYWNrRXZlbnQgZnVuY3Rpb24gZnJvbSB0aGUgQW1wbGl0dWRlIGNvbnRleHQuXG4vLyBJdCBuZWVkcyB0byBiZSBpbml0aWFsaXplZCBieSBhIFJlYWN0IGNvbXBvbmVudCB0aGF0IGhhcyBhY2Nlc3MgdG8gdGhlIHVzZUFtcGxpdHVkZSBob29rLlxuZXhwb3J0IGNvbnN0IGFtcGxpdHVkZVRyYWNrRXZlbnRBdG9tID0gYXRvbTxcbiAgKChwYXJhbXM6IFRyYWNrRXZlbnRQYXJhbXMpID0+IFByb21pc2U8dm9pZD4pIHwgbnVsbFxuPihudWxsKTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBWUEsTUFBYSwwQkFBMEIsS0FFckMsS0FBSyJ9
8
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGl0dWRlVHJhY2tFdmVudEF0b20tcEpiTEc0RW4uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2F0b21zL2FtcGxpdHVkZS9hbXBsaXR1ZGVUcmFja0V2ZW50QXRvbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSBcIkBlbnZpdmUtYWkvdHlwZXNcIjtcbmltcG9ydCB7IGF0b20gfSBmcm9tIFwiam90YWlcIjtcblxuaW50ZXJmYWNlIFRyYWNrRXZlbnRQYXJhbXMge1xuICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWU7XG4gIGV2ZW50UHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgZXZlbnRHcm91cHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljcz86IGJvb2xlYW47XG59XG5cbi8vIFRoaXMgYXRvbSB3aWxsIGhvbGQgdGhlIHRyYWNrRXZlbnQgZnVuY3Rpb24gZnJvbSB0aGUgQW1wbGl0dWRlIGNvbnRleHQuXG4vLyBJdCBuZWVkcyB0byBiZSBpbml0aWFsaXplZCBieSBhIFJlYWN0IGNvbXBvbmVudCB0aGF0IGhhcyBhY2Nlc3MgdG8gdGhlIHVzZUFtcGxpdHVkZSBob29rLlxuZXhwb3J0IGNvbnN0IGFtcGxpdHVkZVRyYWNrRXZlbnRBdG9tID0gYXRvbTxcbiAgKChwYXJhbXM6IFRyYWNrRXZlbnRQYXJhbXMpID0+IFByb21pc2U8dm9pZD4pIHwgbnVsbFxuPihudWxsKTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBWUEsTUFBYSwwQkFBMEIsS0FFckMsS0FBSyJ9
@@ -0,0 +1,36 @@
1
+ const require_chunk = require('./chunk-CUT6urMc.cjs');
2
+ const require_enviveConfig = require('./enviveConfig-6XJa6HAF.cjs');
3
+ let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
4
+ __spiffy_ai_commerce_api_client = require_chunk.__toESM(__spiffy_ai_commerce_api_client);
5
+ let uuid = require("uuid");
6
+ uuid = require_chunk.__toESM(uuid);
7
+ let jotai = require("jotai");
8
+ jotai = require_chunk.__toESM(jotai);
9
+ let jotai_utils = require("jotai/utils");
10
+ jotai_utils = require_chunk.__toESM(jotai_utils);
11
+
12
+ //#region src/atoms/app/index.ts
13
+ const userIdentityAtom = (0, jotai.atom)(void 0);
14
+ const appSourceAtom = (0, jotai.atom)((get) => get(require_enviveConfig.contextSourceAtom) ?? __spiffy_ai_commerce_api_client.ContextSourceEnum.App);
15
+ const chatIdAtom = (0, jotai_utils.atomWithStorage)("v1-spiffy-chat-session-id", (0, uuid.v4)(), void 0, { getOnInit: true });
16
+
17
+ //#endregion
18
+ Object.defineProperty(exports, 'appSourceAtom', {
19
+ enumerable: true,
20
+ get: function () {
21
+ return appSourceAtom;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, 'chatIdAtom', {
25
+ enumerable: true,
26
+ get: function () {
27
+ return chatIdAtom;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, 'userIdentityAtom', {
31
+ enumerable: true,
32
+ get: function () {
33
+ return userIdentityAtom;
34
+ }
35
+ });
36
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLUJDdUVCb1BKLmNqcyIsIm5hbWVzIjpbImNvbnRleHRTb3VyY2VBdG9tIiwiQ29udGV4dFNvdXJjZUVudW0iXSwic291cmNlcyI6WyIuLi9zcmMvYXRvbXMvYXBwL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRleHRFbnZFbnVtLCBDb250ZXh0U291cmNlRW51bSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBhdG9tIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgYXRvbVdpdGhTdG9yYWdlIH0gZnJvbSAnam90YWkvdXRpbHMnO1xuaW1wb3J0IHsgVmFyaWFudEluZm8sIFVzZXJJZGVudGl0eUNvbnRleHRUeXBlIH0gZnJvbSAnQGVudml2ZS1haS90eXBlcyc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBjb250ZXh0U291cmNlQXRvbSB9IGZyb20gJy4uL2Vudml2ZS9lbnZpdmVDb25maWcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwcERldGFpbHMge1xuICBvcmdJZDogc3RyaW5nO1xuICBvcmdTaG9ydE5hbWU6IHN0cmluZztcbiAgY2hhdElkOiBzdHJpbmc7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBzb3VyY2U6IENvbnRleHRTb3VyY2VFbnVtO1xuICBlbnY6IENvbnRleHRFbnZFbnVtO1xuICB2YXJpYW50SW5mbzogVmFyaWFudEluZm87XG59XG5cbmV4cG9ydCB7IHZhcmlhbnRJbmZvQXRvbSB9IGZyb20gJy4vdmFyaWFudCc7XG5cbmV4cG9ydCBjb25zdCB1c2VySWRlbnRpdHlBdG9tID0gYXRvbTxVc2VySWRlbnRpdHlDb250ZXh0VHlwZSB8IHVuZGVmaW5lZD4oXG4gIHVuZGVmaW5lZFxuKTtcblxuZXhwb3J0IGNvbnN0IGFwcFNvdXJjZUF0b20gPSBhdG9tPENvbnRleHRTb3VyY2VFbnVtPihcbiAgKGdldCk6IENvbnRleHRTb3VyY2VFbnVtID0+IGdldChjb250ZXh0U291cmNlQXRvbSkgPz8gQ29udGV4dFNvdXJjZUVudW0uQXBwLFxuKTtcbmV4cG9ydCBjb25zdCBjaGF0SWRBdG9tID0gYXRvbVdpdGhTdG9yYWdlPHN0cmluZz4oJ3YxLXNwaWZmeS1jaGF0LXNlc3Npb24taWQnLCB1dWlkKCksIHVuZGVmaW5lZCwge1xuICBnZXRPbkluaXQ6IHRydWUsXG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBbUJBLE1BQWEsbUNBQ1gsT0FDRDtBQUVELE1BQWEsaUNBQ1YsUUFBMkIsSUFBSUEsdUNBQWtCLElBQUlDLGtEQUFrQixJQUN6RTtBQUNELE1BQWEsOENBQXFDLDJDQUFtQyxFQUFFLFFBQVcsRUFDaEcsV0FBVyxNQUNaLENBQUMifQ==
@@ -0,0 +1,14 @@
1
+ import { contextSourceAtom } from "./enviveConfig-Cw7o9TLb.js";
2
+ import { ContextSourceEnum } from "@spiffy-ai/commerce-api-client";
3
+ import { v4 } from "uuid";
4
+ import { atom } from "jotai";
5
+ import { atomWithStorage } from "jotai/utils";
6
+
7
+ //#region src/atoms/app/index.ts
8
+ const userIdentityAtom = atom(void 0);
9
+ const appSourceAtom = atom((get) => get(contextSourceAtom) ?? ContextSourceEnum.App);
10
+ const chatIdAtom = atomWithStorage("v1-spiffy-chat-session-id", v4(), void 0, { getOnInit: true });
11
+
12
+ //#endregion
13
+ export { appSourceAtom, chatIdAtom, userIdentityAtom };
14
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLUQ3M1Jrc2J5LmpzIiwibmFtZXMiOlsidXVpZCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9hdG9tcy9hcHAvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGV4dEVudkVudW0sIENvbnRleHRTb3VyY2VFbnVtIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IGF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBhdG9tV2l0aFN0b3JhZ2UgfSBmcm9tICdqb3RhaS91dGlscyc7XG5pbXBvcnQgeyBWYXJpYW50SW5mbywgVXNlcklkZW50aXR5Q29udGV4dFR5cGUgfSBmcm9tICdAZW52aXZlLWFpL3R5cGVzJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IGNvbnRleHRTb3VyY2VBdG9tIH0gZnJvbSAnLi4vZW52aXZlL2Vudml2ZUNvbmZpZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwRGV0YWlscyB7XG4gIG9yZ0lkOiBzdHJpbmc7XG4gIG9yZ1Nob3J0TmFtZTogc3RyaW5nO1xuICBjaGF0SWQ6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIHNvdXJjZTogQ29udGV4dFNvdXJjZUVudW07XG4gIGVudjogQ29udGV4dEVudkVudW07XG4gIHZhcmlhbnRJbmZvOiBWYXJpYW50SW5mbztcbn1cblxuZXhwb3J0IHsgdmFyaWFudEluZm9BdG9tIH0gZnJvbSAnLi92YXJpYW50JztcblxuZXhwb3J0IGNvbnN0IHVzZXJJZGVudGl0eUF0b20gPSBhdG9tPFVzZXJJZGVudGl0eUNvbnRleHRUeXBlIHwgdW5kZWZpbmVkPihcbiAgdW5kZWZpbmVkXG4pO1xuXG5leHBvcnQgY29uc3QgYXBwU291cmNlQXRvbSA9IGF0b208Q29udGV4dFNvdXJjZUVudW0+KFxuICAoZ2V0KTogQ29udGV4dFNvdXJjZUVudW0gPT4gZ2V0KGNvbnRleHRTb3VyY2VBdG9tKSA/PyBDb250ZXh0U291cmNlRW51bS5BcHAsXG4pO1xuZXhwb3J0IGNvbnN0IGNoYXRJZEF0b20gPSBhdG9tV2l0aFN0b3JhZ2U8c3RyaW5nPigndjEtc3BpZmZ5LWNoYXQtc2Vzc2lvbi1pZCcsIHV1aWQoKSwgdW5kZWZpbmVkLCB7XG4gIGdldE9uSW5pdDogdHJ1ZSxcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBbUJBLE1BQWEsbUJBQW1CLEtBQzlCLE9BQ0Q7QUFFRCxNQUFhLGdCQUFnQixNQUMxQixRQUEyQixJQUFJLGtCQUFrQixJQUFJLGtCQUFrQixJQUN6RTtBQUNELE1BQWEsYUFBYSxnQkFBd0IsNkJBQTZCQSxJQUFNLEVBQUUsUUFBVyxFQUNoRyxXQUFXLE1BQ1osQ0FBQyJ9
@@ -1,2 +1,2 @@
1
- import { getMerchantColorsQuery, getMerchantFrontendConfigQuery, getMerchantOrgIdQuery } from "../../../index-CAXM2KiM.js";
1
+ import { getMerchantColorsQuery, getMerchantFrontendConfigQuery, getMerchantOrgIdQuery } from "../../../index-PktRD1En.js";
2
2
  export { getMerchantColorsQuery, getMerchantFrontendConfigQuery, getMerchantOrgIdQuery };
@@ -1,3 +1,3 @@
1
- import { isApiPDPAttributes, isApiProductResponseAttributes, isApiProductSearchResponseAttributes, isApiQueryTypedAttributes, isApiResponse, isApiReviewResponseAttributes, isApiReviewRichInformation, isApiSearchAttributes, isApiSuggestionClickedAttributes, isApiTextResponseAttributes, isApiUserEvent, isSuggestion } from "../../../../index-BiDHHLjr.js";
2
- import "../../../../index--OKiRCTl.js";
1
+ import { isApiPDPAttributes, isApiProductResponseAttributes, isApiProductSearchResponseAttributes, isApiQueryTypedAttributes, isApiResponse, isApiReviewResponseAttributes, isApiReviewRichInformation, isApiSearchAttributes, isApiSuggestionClickedAttributes, isApiTextResponseAttributes, isApiUserEvent, isSuggestion } from "../../../../index-ChRMX2kc.js";
2
+ import "../../../../index-smzckpKv.js";
3
3
  export { isApiPDPAttributes, isApiProductResponseAttributes, isApiProductSearchResponseAttributes, isApiQueryTypedAttributes, isApiResponse, isApiReviewResponseAttributes, isApiReviewRichInformation, isApiSearchAttributes, isApiSuggestionClickedAttributes, isApiTextResponseAttributes, isApiUserEvent, isSuggestion };
@@ -1,2 +1,2 @@
1
- import { hasPropertyOfType } from "../../../utils-DjhLO2vO.js";
1
+ import { hasPropertyOfType } from "../../../utils-BLe5oreh.js";
2
2
  export { hasPropertyOfType };
@@ -1,6 +1,6 @@
1
- require('../../dist-VxRI6eQv.cjs');
1
+ require('../../dist-B7BErEyV.cjs');
2
2
  const require_graphql = require('../../graphql-JaGqsToc.cjs');
3
- const require_models = require('../../models-Dl0_Ujgj.cjs');
3
+ const require_models = require('../../models-wh2gh_Qz.cjs');
4
4
  const require_utils = require('../../utils-CiJLDPjY.cjs');
5
5
  const require_api = require('../../api-D4Xoibs9.cjs');
6
6
  require('../../logger-BqHq67zN.cjs');
@@ -1,7 +1,7 @@
1
- import { getMerchantColorsQuery, getMerchantFrontendConfigQuery, getMerchantOrgIdQuery } from "../../index-CAXM2KiM.js";
2
- import { isApiPDPAttributes, isApiProductResponseAttributes, isApiProductSearchResponseAttributes, isApiQueryTypedAttributes, isApiResponse, isApiReviewResponseAttributes, isApiReviewRichInformation, isApiSearchAttributes, isApiSuggestionClickedAttributes, isApiTextResponseAttributes, isApiUserEvent, isSuggestion } from "../../index-BiDHHLjr.js";
3
- import "../../index--OKiRCTl.js";
4
- import { hasPropertyOfType } from "../../utils-DjhLO2vO.js";
1
+ import { getMerchantColorsQuery, getMerchantFrontendConfigQuery, getMerchantOrgIdQuery } from "../../index-PktRD1En.js";
2
+ import { isApiPDPAttributes, isApiProductResponseAttributes, isApiProductSearchResponseAttributes, isApiQueryTypedAttributes, isApiResponse, isApiReviewResponseAttributes, isApiReviewRichInformation, isApiSearchAttributes, isApiSuggestionClickedAttributes, isApiTextResponseAttributes, isApiUserEvent, isSuggestion } from "../../index-ChRMX2kc.js";
3
+ import "../../index-smzckpKv.js";
4
+ import { hasPropertyOfType } from "../../utils-BLe5oreh.js";
5
5
  import { FormSubmittedAttributes, FulfillmentDisplayStatus, PLPAttributes, PLPIdAttributes, ProductSearchFilterResponseAttributes } from "@spiffy-ai/commerce-api-client";
6
6
  import { ApiOrderResponseAttributes, ApiOrgConfigResults, ApiOrganizationConfig, ApiPageResponseAttributes, ApiResponse, BaseEcommerceEvent, ColorMapping, FormResponseAttributes, FrontendConfig, GA4EcommerceEvent, GetMerchantColorsQueryData, MobilePlpChatPlacementParameter, OrgConfig, OrganizationConfig, PageVariantConfig, Suggestion as Suggestion$1, UAEcommerceEvent, UserEvent as UserEvent$1, VariantInfo, WidgetConfig, WidgetMountingConfig } from "@envive-ai/types";
7
7
 
@@ -1,6 +1,6 @@
1
- import "../../dist-C38adNK1.js";
1
+ import "../../dist-CtkINi1R.js";
2
2
  import { getMerchantColorsQuery, getMerchantFrontendConfigQuery, getMerchantOrgIdQuery } from "../../graphql-CvAHWmel.js";
3
- import { isApiFormResponseAttributes, isApiFormSubmittedResponseAttributes, isApiOrderResponseAttributes, isApiOrgConfigResults, isApiOrganizationConfig, isApiPLPEventAttributes, isApiPLPIdAttribute, isApiPageResponseAttributes, isApiProductSearchFilterResponseAttributes, isBaseEcommerceEvent, isGA4EcommerceEvent, isGraphQLColorsConfig, isLegacyUAEcommerceEvent, isMobilePLPChatPlacementParameter, isSpanxTakeAQuizCtaParameter, isVariantInfo, stringToFulfillmentDisplayStatusEnumValue, transformCamelToSnake, transformSnakeToCamel, validateAndTransformMountingConfig, validateAndTransformPageVariants, validateAndTransformWidgetConfig, validateGraphQLColorsConfig, validateGraphQLFrontendConfig, validateGraphQLOrgId, validateMobilePLPChatPlacementParameter, validateOrgConfigResults, validateOrganizationConfig, validateResponse, validateSuggestion, validateUserEvent } from "../../models-Cw0QcbQv.js";
3
+ import { isApiFormResponseAttributes, isApiFormSubmittedResponseAttributes, isApiOrderResponseAttributes, isApiOrgConfigResults, isApiOrganizationConfig, isApiPLPEventAttributes, isApiPLPIdAttribute, isApiPageResponseAttributes, isApiProductSearchFilterResponseAttributes, isBaseEcommerceEvent, isGA4EcommerceEvent, isGraphQLColorsConfig, isLegacyUAEcommerceEvent, isMobilePLPChatPlacementParameter, isSpanxTakeAQuizCtaParameter, isVariantInfo, stringToFulfillmentDisplayStatusEnumValue, transformCamelToSnake, transformSnakeToCamel, validateAndTransformMountingConfig, validateAndTransformPageVariants, validateAndTransformWidgetConfig, validateGraphQLColorsConfig, validateGraphQLFrontendConfig, validateGraphQLOrgId, validateMobilePLPChatPlacementParameter, validateOrgConfigResults, validateOrganizationConfig, validateResponse, validateSuggestion, validateUserEvent } from "../../models-DmsMlaHT.js";
4
4
  import { hasPropertyOfType } from "../../utils-B1LVzQYK.js";
5
5
  import { isApiPDPAttributes, isApiProductResponseAttributes, isApiProductSearchResponseAttributes, isApiQueryTypedAttributes, isApiResponse, isApiReviewResponseAttributes, isApiReviewRichInformation, isApiSearchAttributes, isApiSuggestionClickedAttributes, isApiTextResponseAttributes, isApiUserEvent, isSuggestion } from "../../api-D4HaU2Gf.js";
6
6
  import "../../logger-BMVdhQOV.js";
@@ -1,11 +1,11 @@
1
- require('../../dist-VxRI6eQv.cjs');
1
+ require('../../dist-B7BErEyV.cjs');
2
2
  require('../../types-1iJ_FnQQ.cjs');
3
3
  require('../../graphql-JaGqsToc.cjs');
4
- require('../../models-Dl0_Ujgj.cjs');
4
+ require('../../models-wh2gh_Qz.cjs');
5
5
  require('../../utils-CiJLDPjY.cjs');
6
6
  require('../../api-D4Xoibs9.cjs');
7
7
  require('../../logger-BqHq67zN.cjs');
8
- const require_utils$1 = require('../../utils-D3MjNkd3.cjs');
8
+ const require_utils$1 = require('../../utils-DucG4gQ7.cjs');
9
9
  const require_domObserver = require('../../domObserver-LCBj1xw4.cjs');
10
10
  const require_urlsParser = require('../../urlsParser-Dax4iVNC.cjs');
11
11
 
@@ -1,7 +1,7 @@
1
- import { ApiResponse as ApiResponse$1, Message as Message$1, Suggestion as Suggestion$2 } from "../../index--OKiRCTl.js";
2
- import { NodeSelector, SelectorFactory } from "../../nodeSelector-NqW-FBED.js";
1
+ import { ApiResponse as ApiResponse$1, Message as Message$1, Suggestion as Suggestion$2 } from "../../index-smzckpKv.js";
2
+ import { NodeSelector, SelectorFactory } from "../../nodeSelector-DU-o1I1d.js";
3
3
  import { Context, NextMessageRequest, SupportedEventRequest, UserEvent } from "@spiffy-ai/commerce-api-client";
4
- import * as react3 from "react";
4
+ import * as react2 from "react";
5
5
  import { ReactElement } from "react";
6
6
  import { CamelCasedPropertiesDeep, FormResponseAttributes, MergeOptions, Message, MouseEventTypes, NextMessageRequest as NextMessageRequest$1, NoInfer, Override, SearchMessage, SpiffyMetricsEventName, SupportedEventRequest as SupportedEventRequest$1, UserEvent as UserEvent$1 } from "@envive-ai/types";
7
7
 
@@ -67,7 +67,7 @@ declare class ElementObserver {
67
67
  init(): void;
68
68
  watch(node: Node): void;
69
69
  destroy(): void;
70
- render(fn: () => ReactElement): react3.ReactPortal | undefined;
70
+ render(fn: () => ReactElement): react2.ReactPortal | undefined;
71
71
  fire(event: MouseEventTypes): void;
72
72
  show(): void;
73
73
  hide(): void;
@@ -1,11 +1,11 @@
1
- import "../../dist-C38adNK1.js";
1
+ import "../../dist-CtkINi1R.js";
2
2
  import "../../types-D5du68Vp.js";
3
3
  import "../../graphql-CvAHWmel.js";
4
- import "../../models-Cw0QcbQv.js";
4
+ import "../../models-DmsMlaHT.js";
5
5
  import "../../utils-B1LVzQYK.js";
6
6
  import "../../api-D4HaU2Gf.js";
7
7
  import "../../logger-BMVdhQOV.js";
8
- import { NodeSelector, SelectorFactory, StringUtils, applyOverrides, coreContextToApiContext, coreSupportedEventRequestToApiRequest, coreUserEventToApiUserEvent, divideArray, getRecentProductImageUrls, initAmplitude, initDataLayerWrapper, messageFromFormSubmittedEvent, messageFromQueryEvent, messageFromResponse, messageFromSuggestionEvent, messageRequestToCommerceMessageRequest, prepareMerchantPage, validateEmail } from "../../utils-DMwh3QbT.js";
8
+ import { NodeSelector, SelectorFactory, StringUtils, applyOverrides, coreContextToApiContext, coreSupportedEventRequestToApiRequest, coreUserEventToApiUserEvent, divideArray, getRecentProductImageUrls, initAmplitude, initDataLayerWrapper, messageFromFormSubmittedEvent, messageFromQueryEvent, messageFromResponse, messageFromSuggestionEvent, messageRequestToCommerceMessageRequest, prepareMerchantPage, validateEmail } from "../../utils-CxDOv-yL.js";
9
9
  import { DOMObserver, ElementObserver, MutationHelper } from "../../domObserver-CVhsCSkS.js";
10
10
  import { buildSearchHash, buildSearchStartHash, createUrlWithQueryParams, getQueryParam, parseHref, parseSearchHash } from "../../urlsParser-NAp2LwWP.js";
11
11
 
@@ -1,23 +1,11 @@
1
- require('../../exceptions-BjDgLzGi.cjs');
2
- require('../../dist-VxRI6eQv.cjs');
3
- require('../../types-1iJ_FnQQ.cjs');
4
- require('../../graphql-JaGqsToc.cjs');
5
- require('../../models-Dl0_Ujgj.cjs');
6
- require('../../utils-CiJLDPjY.cjs');
7
- require('../../api-D4Xoibs9.cjs');
1
+ require('../../dist-B7BErEyV.cjs');
8
2
  require('../../logger-BqHq67zN.cjs');
9
- require('../../utils-D3MjNkd3.cjs');
10
- require('../../domObserver-LCBj1xw4.cjs');
11
- require('../../urlsParser-Dax4iVNC.cjs');
12
3
  require('../../atomStore-CZKe3itM.cjs');
13
- require('../../enviveConfig-CHXb9xwk.cjs');
14
- require('../../org-BNs_maoW.cjs');
15
- require('../../newOrgConfigAtom-CDttTiuu.cjs');
16
- const require_app = require('../../app-Di_sBmzj.cjs');
17
- require('../../localStorageContext-CWc5xJ6U.cjs');
4
+ require('../../enviveConfig-6XJa6HAF.cjs');
5
+ const require_variant = require('../../variant-CvYVVCqU.cjs');
6
+ const require_app = require('../../app-BCuEBoPJ.cjs');
18
7
 
19
8
  exports.appSourceAtom = require_app.appSourceAtom;
20
9
  exports.chatIdAtom = require_app.chatIdAtom;
21
- exports.userIdAtom = require_app.userIdAtom;
22
10
  exports.userIdentityAtom = require_app.userIdentityAtom;
23
- exports.variantInfoAtom = require_app.variantInfoAtom;
11
+ exports.variantInfoAtom = require_variant.variantInfoAtom;
@@ -1,11 +1,11 @@
1
1
  import { ContextEnvEnum, ContextSourceEnum } from "@spiffy-ai/commerce-api-client";
2
2
  import { UserIdentityContextType, VariantInfo } from "@envive-ai/types";
3
- import * as jotai16 from "jotai";
3
+ import * as jotai21 from "jotai";
4
4
  import * as jotai_utils0 from "jotai/utils";
5
5
 
6
6
  //#region src/atoms/app/variant.d.ts
7
7
 
8
- declare const variantInfoAtom: jotai16.WritableAtom<VariantInfo, [newVariant: VariantInfo], void>;
8
+ declare const variantInfoAtom: jotai21.WritableAtom<VariantInfo, [newVariant: VariantInfo], void>;
9
9
  //#endregion
10
10
  //#region src/atoms/app/index.d.ts
11
11
  interface AppDetails {
@@ -17,12 +17,11 @@ interface AppDetails {
17
17
  env: ContextEnvEnum;
18
18
  variantInfo: VariantInfo;
19
19
  }
20
- declare const userIdAtom: jotai16.WritableAtom<string, [value: string | undefined], void>;
21
- declare const userIdentityAtom: jotai16.PrimitiveAtom<UserIdentityContextType | undefined> & {
20
+ declare const userIdentityAtom: jotai21.PrimitiveAtom<UserIdentityContextType | undefined> & {
22
21
  init: UserIdentityContextType | undefined;
23
22
  };
24
- declare const appSourceAtom: jotai16.Atom<ContextSourceEnum>;
25
- declare const chatIdAtom: jotai16.WritableAtom<string, [string | typeof jotai_utils0.RESET | ((prev: string) => string | typeof jotai_utils0.RESET)], void>;
23
+ declare const appSourceAtom: jotai21.Atom<ContextSourceEnum>;
24
+ declare const chatIdAtom: jotai21.WritableAtom<string, [string | typeof jotai_utils0.RESET | ((prev: string) => string | typeof jotai_utils0.RESET)], void>;
26
25
  //#endregion
27
- export { AppDetails, appSourceAtom, chatIdAtom, userIdAtom, userIdentityAtom, variantInfoAtom };
28
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F0b21zL2FwcC92YXJpYW50LmQudHMiLCIuLi8uLi8uLi9zcmMvYXRvbXMvYXBwL2luZGV4LmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3VwcG9ydGVkRXZlbnRSZXNwb25zZSwgUGFnZVZpc2l0Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgVmFyaWFudEluZm8gfSBmcm9tICdAZW52aXZlLWFpL3R5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgU3VwcG9ydGVkRXZlbnQgZXh0ZW5kcyBQaWNrPFN1cHBvcnRlZEV2ZW50UmVzcG9uc2UsICdzdXBwb3J0ZWQnIHwgJ3JlYWR5JyB8ICdjYXRlZ29yeScgfCAnY29sbGVjdGlvbnMnIHwgJ3RvcF9jYXRlZ29yeSc+IHtcbiAgICBudW1iZXJPZlJldmlld3M6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBtZXJjaGFudF90YWdzPzogc3RyaW5nW107XG59XG5pbnRlcmZhY2UgUERQQXR0cmlidXRlcyB7XG4gICAgcHJvZHVjdF9pZD86IHN0cmluZztcbn1cbmludGVyZmFjZSBQTFBBdHRyaWJ1dGVzIHtcbiAgICBhdHRyaWJ1dGVzPzoge1xuICAgICAgICBpZD86IHN0cmluZztcbiAgICB9O1xufVxuZXhwb3J0IGludGVyZmFjZSBVcmxSZXNvbHZpbmdQRFBDb25maWcge1xuICAgIHBkcF9hdHRyaWJ1dGVzOiBQRFBBdHRyaWJ1dGVzO1xuICAgIG51bWJlcl9vZl9yZXZpZXdzPzogbnVtYmVyO1xuICAgIGNvbGxlY3Rpb25zPzogc3RyaW5nW107XG4gICAgbWVyY2hhbnRfdGFncz86IHN0cmluZ1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBVcmxSZXNvbHZpbmdQTFBDb25maWcge1xuICAgIHBscF9hdHRyaWJ1dGVzOiBQTFBBdHRyaWJ1dGVzO1xuICAgIHRvcF9jYXRlZ29yeT86IHN0cmluZztcbn1cbmludGVyZmFjZSBVcmxSZXNvbHZpbmdHZW5lcmljQ29uZmlnIHtcbiAgICBkZXRhaWxzPzogc3RyaW5nO1xufVxuZXhwb3J0IHR5cGUgUGFnZVZhcmlhbnRDaGVja0NvbmZpZyA9IHtcbiAgICBjaGVja190eXBlOiBzdHJpbmc7XG4gICAgZmVhdHVyZV9nYXRlPzogc3RyaW5nO1xuICAgIGV4dHJhY3Rvcj86IHtcbiAgICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgICBtYXA/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT47XG4gICAgICAgIHZhbHVlPzogc3RyaW5nO1xuICAgIH07XG4gICAgcHJvZHVjdF9pZF9leHRyYWN0b3I/OiBzdHJpbmc7XG4gICAgcHJvZHVjdF9pZHM/OiBzdHJpbmdbXTtcbiAgICBwbHBfaWRfZXh0cmFjdG9yPzogc3RyaW5nO1xuICAgIHBscF9pZHM/OiBzdHJpbmdbXTtcbiAgICBjb2xsZWN0aW9ucz86IHN0cmluZ1tdO1xuICAgIHF1ZXJ5X3BhcmFtPzogc3RyaW5nO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIHRvcF9jYXRlZ29yeT86IHN0cmluZ1tdO1xuICAgIHJldmlld19taW5pbXVtPzogbnVtYmVyO1xuICAgIG1lcmNoYW50X3RhZ3M/OiBzdHJpbmdbXTtcbn07XG5leHBvcnQgdHlwZSBCYWNrZW5kV2lkZ2V0TW91bnRpbmdDb25maWcgPSB7XG4gICAgbW91bnRpbmdfY29uZmlnX2lkOiBzdHJpbmc7XG4gICAgd2lkZ2V0X2NvbmZpZ19pZD86IHN0cmluZztcbiAgICBtb3VudGluZ19wb2ludF93aWRnZXRzPzogQXJyYXk8e1xuICAgICAgICBjaGVja3M6IFBhZ2VWYXJpYW50Q2hlY2tDb25maWdbXTtcbiAgICAgICAgd2lkZ2V0X2NvbmZpZ19pZDogc3RyaW5nO1xuICAgIH0+O1xufTtcbmV4cG9ydCB0eXBlIEJhY2tlbmRQYWdlVmFyaWFudENvbmZpZyA9IHtcbiAgICB2YXJpYW50X2lkOiBzdHJpbmc7XG4gICAgdmFyaWFudF90eXBlOiBzdHJpbmc7XG4gICAgdmFyaWFudF9jaGVja3M6IFBhZ2VWYXJpYW50Q2hlY2tDb25maWdbXTtcbiAgICB3aWRnZXRfbW91bnRpbmc6IEJhY2tlbmRXaWRnZXRNb3VudGluZ0NvbmZpZ1tdO1xuICAgIHBscF9pZF9leHRyYWN0b3I/OiBzdHJpbmc7XG4gICAgcHJvZHVjdF9pZF9leHRyYWN0b3I/OiBzdHJpbmc7XG4gICAgcGFyZW50X3Byb2R1Y3RfaWRfZXh0cmFjdG9yPzogc3RyaW5nO1xufTtcbmV4cG9ydCBpbnRlcmZhY2UgVXJsUmVzb2x2ZXJSZXNwb25zZSB7XG4gICAgdmFyaWFudF90eXBlOiBzdHJpbmc7XG4gICAgc3BlY2lmaWNfZGV0YWlsczogVXJsUmVzb2x2aW5nUERQQ29uZmlnIHwgVXJsUmVzb2x2aW5nUExQQ29uZmlnIHwgVXJsUmVzb2x2aW5nR2VuZXJpY0NvbmZpZztcbiAgICByZWFkeTogYm9vbGVhbjtcbiAgICB1c2VyX2V2ZW50Pzoge1xuICAgICAgICBldmVudF9pZD86IHN0cmluZztcbiAgICAgICAgYXR0cmlidXRlcz86IFBEUEF0dHJpYnV0ZXMgfCBQTFBBdHRyaWJ1dGVzO1xuICAgICAgICBjYXRlZ29yeT86IHN0cmluZztcbiAgICAgICAgY3JlYXRlZF9hdD86IHN0cmluZztcbiAgICB9O1xuICAgIHBhZ2VfdmFyaWFudD86IEJhY2tlbmRQYWdlVmFyaWFudENvbmZpZztcbn1cbmV4cG9ydCB0eXBlIFVybFJlc29sdmVyQ2FjaGUgPSBSZWNvcmQ8c3RyaW5nLCBVcmxSZXNvbHZlclJlc3BvbnNlIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVybFJlc29sdmVyQXRvbTogaW1wb3J0KFwiam90YWlcIikuV3JpdGFibGVBdG9tPFVybFJlc29sdmVyQ2FjaGUsIFt2YWx1ZToge1xuICAgIHVybDogc3RyaW5nO1xuICAgIHJlc3BvbnNlOiBVcmxSZXNvbHZlclJlc3BvbnNlIHwgdW5kZWZpbmVkO1xufV0sIHZvaWQ+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3Qgc3VwcG9ydGVkRXZlbnRBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208U3VwcG9ydGVkRXZlbnQgfCB1bmRlZmluZWQsIFt2YWx1ZTogU3VwcG9ydGVkRXZlbnQgfCB1bmRlZmluZWRdLCB2b2lkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhcmlhbnRJZEF0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208c3RyaW5nIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHByb2R1Y3RJZEF0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208c3RyaW5nIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHBhcmVudFByb2R1Y3RJZEF0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208c3RyaW5nIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHByb2R1Y3RVcmxBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPHN0cmluZyB8IHVuZGVmaW5lZD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBwbHBJZEF0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208c3RyaW5nIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVybEF0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208c3RyaW5nIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHBhZ2VWaXNpdENhdGVnb3J5QXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxQYWdlVmlzaXRDYXRlZ29yeSB8IHVuZGVmaW5lZD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YXJpYW50QXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxcInNlYXJjaFwiIHwgXCJwZHBcIiB8IFwicGxwXCIgfCBcInBhZ2VfdmlzaXRcIj47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBoYXNQYXJzZWRWYXJpYW50SW5mb0F0b206IGltcG9ydChcImpvdGFpXCIpLlByaW1pdGl2ZUF0b208Ym9vbGVhbj4gJiB7XG4gICAgaW5pdDogYm9vbGVhbjtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YXJpYW50SW5mb0F0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxWYXJpYW50SW5mbywgW25ld1ZhcmlhbnQ6IFZhcmlhbnRJbmZvXSwgdm9pZD47XG5leHBvcnQge307XG4iLCJpbXBvcnQgeyBDb250ZXh0RW52RW51bSwgQ29udGV4dFNvdXJjZUVudW0gfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgVmFyaWFudEluZm8sIFVzZXJJZGVudGl0eUNvbnRleHRUeXBlIH0gZnJvbSAnQGVudml2ZS1haS90eXBlcyc7XG5leHBvcnQgaW50ZXJmYWNlIEFwcERldGFpbHMge1xuICAgIG9yZ0lkOiBzdHJpbmc7XG4gICAgb3JnU2hvcnROYW1lOiBzdHJpbmc7XG4gICAgY2hhdElkOiBzdHJpbmc7XG4gICAgdXNlcklkOiBzdHJpbmc7XG4gICAgc291cmNlOiBDb250ZXh0U291cmNlRW51bTtcbiAgICBlbnY6IENvbnRleHRFbnZFbnVtO1xuICAgIHZhcmlhbnRJbmZvOiBWYXJpYW50SW5mbztcbn1cbmV4cG9ydCB7IHZhcmlhbnRJbmZvQXRvbSB9IGZyb20gJy4vdmFyaWFudCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB1c2VySWRBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208c3RyaW5nLCBbdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZF0sIHZvaWQ+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlcklkZW50aXR5QXRvbTogaW1wb3J0KFwiam90YWlcIikuUHJpbWl0aXZlQXRvbTxVc2VySWRlbnRpdHlDb250ZXh0VHlwZSB8IHVuZGVmaW5lZD4gJiB7XG4gICAgaW5pdDogVXNlcklkZW50aXR5Q29udGV4dFR5cGUgfCB1bmRlZmluZWQ7XG59O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgYXBwU291cmNlQXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxDb250ZXh0U291cmNlRW51bT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjaGF0SWRBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208c3RyaW5nLCBbc3RyaW5nIHwgdHlwZW9mIGltcG9ydChcImpvdGFpL3V0aWxzXCIpLlJFU0VUIHwgKChwcmV2OiBzdHJpbmcpID0+IHN0cmluZyB8IHR5cGVvZiBpbXBvcnQoXCJqb3RhaS91dGlsc1wiKS5SRVNFVCldLCB2b2lkPjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBeUJBLElBQVcsa0JBQVM7Q0FBQTtPQUFBO09BQUE7T0FBQSxRQUFBO0NBQUE7Ozs7QUNyQnBCLElBQVcsYUFBYTtDQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFFeEIsSUFBVyxhQUFPLENBQUEsVUFBQSxRQUFBLGFBQUE7QUFDbEIsSUFBVyxtQkFBa0I7Q0FBQTtPQUFBO09BQUEsUUFBQTtPQUFBO0NBQUE7QUFDN0IsSUFBVyxnQkFBWTtDQUFBO09BQUE7T0FBQSxRQUFBO0NBQUE7QUFDdkIsSUFBVyxhQUFhO0NBQUM7T0FBRyxhQUFBO09BQUEsYUFBQTtPQUFBLFFBQUE7Q0FBQSJ9
26
+ export { AppDetails, appSourceAtom, chatIdAtom, userIdentityAtom, variantInfoAtom };
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F0b21zL2FwcC92YXJpYW50LmQudHMiLCIuLi8uLi8uLi9zcmMvYXRvbXMvYXBwL2luZGV4LmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3VwcG9ydGVkRXZlbnRSZXNwb25zZSwgUGFnZVZpc2l0Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgVmFyaWFudEluZm8gfSBmcm9tICdAZW52aXZlLWFpL3R5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgU3VwcG9ydGVkRXZlbnQgZXh0ZW5kcyBQaWNrPFN1cHBvcnRlZEV2ZW50UmVzcG9uc2UsICdzdXBwb3J0ZWQnIHwgJ3JlYWR5JyB8ICdjYXRlZ29yeScgfCAnY29sbGVjdGlvbnMnIHwgJ3RvcF9jYXRlZ29yeSc+IHtcbiAgICBudW1iZXJPZlJldmlld3M6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBtZXJjaGFudF90YWdzPzogc3RyaW5nW107XG59XG5pbnRlcmZhY2UgUERQQXR0cmlidXRlcyB7XG4gICAgcHJvZHVjdF9pZD86IHN0cmluZztcbn1cbmludGVyZmFjZSBQTFBBdHRyaWJ1dGVzIHtcbiAgICBhdHRyaWJ1dGVzPzoge1xuICAgICAgICBpZD86IHN0cmluZztcbiAgICB9O1xufVxuZXhwb3J0IGludGVyZmFjZSBVcmxSZXNvbHZpbmdQRFBDb25maWcge1xuICAgIHBkcF9hdHRyaWJ1dGVzOiBQRFBBdHRyaWJ1dGVzO1xuICAgIG51bWJlcl9vZl9yZXZpZXdzPzogbnVtYmVyO1xuICAgIGNvbGxlY3Rpb25zPzogc3RyaW5nW107XG4gICAgbWVyY2hhbnRfdGFncz86IHN0cmluZ1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBVcmxSZXNvbHZpbmdQTFBDb25maWcge1xuICAgIHBscF9hdHRyaWJ1dGVzOiBQTFBBdHRyaWJ1dGVzO1xuICAgIHRvcF9jYXRlZ29yeT86IHN0cmluZztcbn1cbmludGVyZmFjZSBVcmxSZXNvbHZpbmdHZW5lcmljQ29uZmlnIHtcbiAgICBkZXRhaWxzPzogc3RyaW5nO1xufVxuZXhwb3J0IHR5cGUgUGFnZVZhcmlhbnRDaGVja0NvbmZpZyA9IHtcbiAgICBjaGVja190eXBlOiBzdHJpbmc7XG4gICAgZmVhdHVyZV9nYXRlPzogc3RyaW5nO1xuICAgIGV4dHJhY3Rvcj86IHtcbiAgICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgICBtYXA/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT47XG4gICAgICAgIHZhbHVlPzogc3RyaW5nO1xuICAgIH07XG4gICAgcHJvZHVjdF9pZF9leHRyYWN0b3I/OiBzdHJpbmc7XG4gICAgcHJvZHVjdF9pZHM/OiBzdHJpbmdbXTtcbiAgICBwbHBfaWRfZXh0cmFjdG9yPzogc3RyaW5nO1xuICAgIHBscF9pZHM/OiBzdHJpbmdbXTtcbiAgICBjb2xsZWN0aW9ucz86IHN0cmluZ1tdO1xuICAgIHF1ZXJ5X3BhcmFtPzogc3RyaW5nO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIHRvcF9jYXRlZ29yeT86IHN0cmluZ1tdO1xuICAgIHJldmlld19taW5pbXVtPzogbnVtYmVyO1xuICAgIG1lcmNoYW50X3RhZ3M/OiBzdHJpbmdbXTtcbn07XG5leHBvcnQgdHlwZSBCYWNrZW5kV2lkZ2V0TW91bnRpbmdDb25maWcgPSB7XG4gICAgbW91bnRpbmdfY29uZmlnX2lkOiBzdHJpbmc7XG4gICAgd2lkZ2V0X2NvbmZpZ19pZD86IHN0cmluZztcbiAgICBtb3VudGluZ19wb2ludF93aWRnZXRzPzogQXJyYXk8e1xuICAgICAgICBjaGVja3M6IFBhZ2VWYXJpYW50Q2hlY2tDb25maWdbXTtcbiAgICAgICAgd2lkZ2V0X2NvbmZpZ19pZDogc3RyaW5nO1xuICAgIH0+O1xufTtcbmV4cG9ydCB0eXBlIEJhY2tlbmRQYWdlVmFyaWFudENvbmZpZyA9IHtcbiAgICB2YXJpYW50X2lkOiBzdHJpbmc7XG4gICAgdmFyaWFudF90eXBlOiBzdHJpbmc7XG4gICAgdmFyaWFudF9jaGVja3M6IFBhZ2VWYXJpYW50Q2hlY2tDb25maWdbXTtcbiAgICB3aWRnZXRfbW91bnRpbmc6IEJhY2tlbmRXaWRnZXRNb3VudGluZ0NvbmZpZ1tdO1xuICAgIHBscF9pZF9leHRyYWN0b3I/OiBzdHJpbmc7XG4gICAgcHJvZHVjdF9pZF9leHRyYWN0b3I/OiBzdHJpbmc7XG4gICAgcGFyZW50X3Byb2R1Y3RfaWRfZXh0cmFjdG9yPzogc3RyaW5nO1xufTtcbmV4cG9ydCBpbnRlcmZhY2UgVXJsUmVzb2x2ZXJSZXNwb25zZSB7XG4gICAgdmFyaWFudF90eXBlOiBzdHJpbmc7XG4gICAgc3BlY2lmaWNfZGV0YWlsczogVXJsUmVzb2x2aW5nUERQQ29uZmlnIHwgVXJsUmVzb2x2aW5nUExQQ29uZmlnIHwgVXJsUmVzb2x2aW5nR2VuZXJpY0NvbmZpZztcbiAgICByZWFkeTogYm9vbGVhbjtcbiAgICB1c2VyX2V2ZW50Pzoge1xuICAgICAgICBldmVudF9pZD86IHN0cmluZztcbiAgICAgICAgYXR0cmlidXRlcz86IFBEUEF0dHJpYnV0ZXMgfCBQTFBBdHRyaWJ1dGVzO1xuICAgICAgICBjYXRlZ29yeT86IHN0cmluZztcbiAgICAgICAgY3JlYXRlZF9hdD86IHN0cmluZztcbiAgICB9O1xuICAgIHBhZ2VfdmFyaWFudD86IEJhY2tlbmRQYWdlVmFyaWFudENvbmZpZztcbn1cbmV4cG9ydCB0eXBlIFVybFJlc29sdmVyQ2FjaGUgPSBSZWNvcmQ8c3RyaW5nLCBVcmxSZXNvbHZlclJlc3BvbnNlIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVybFJlc29sdmVyQXRvbTogaW1wb3J0KFwiam90YWlcIikuV3JpdGFibGVBdG9tPFVybFJlc29sdmVyQ2FjaGUsIFt2YWx1ZToge1xuICAgIHVybDogc3RyaW5nO1xuICAgIHJlc3BvbnNlOiBVcmxSZXNvbHZlclJlc3BvbnNlIHwgdW5kZWZpbmVkO1xufV0sIHZvaWQ+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3Qgc3VwcG9ydGVkRXZlbnRBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208U3VwcG9ydGVkRXZlbnQgfCB1bmRlZmluZWQsIFt2YWx1ZTogU3VwcG9ydGVkRXZlbnQgfCB1bmRlZmluZWRdLCB2b2lkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhcmlhbnRJZEF0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208c3RyaW5nIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHByb2R1Y3RJZEF0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208c3RyaW5nIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHBhcmVudFByb2R1Y3RJZEF0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208c3RyaW5nIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHByb2R1Y3RVcmxBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPHN0cmluZyB8IHVuZGVmaW5lZD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBwbHBJZEF0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208c3RyaW5nIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVybEF0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208c3RyaW5nIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHBhZ2VWaXNpdENhdGVnb3J5QXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxQYWdlVmlzaXRDYXRlZ29yeSB8IHVuZGVmaW5lZD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YXJpYW50QXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxcInNlYXJjaFwiIHwgXCJwZHBcIiB8IFwicGxwXCIgfCBcInBhZ2VfdmlzaXRcIj47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBoYXNQYXJzZWRWYXJpYW50SW5mb0F0b206IGltcG9ydChcImpvdGFpXCIpLlByaW1pdGl2ZUF0b208Ym9vbGVhbj4gJiB7XG4gICAgaW5pdDogYm9vbGVhbjtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YXJpYW50SW5mb0F0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxWYXJpYW50SW5mbywgW25ld1ZhcmlhbnQ6IFZhcmlhbnRJbmZvXSwgdm9pZD47XG5leHBvcnQge307XG4iLCJpbXBvcnQgeyBDb250ZXh0RW52RW51bSwgQ29udGV4dFNvdXJjZUVudW0gfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgVmFyaWFudEluZm8sIFVzZXJJZGVudGl0eUNvbnRleHRUeXBlIH0gZnJvbSAnQGVudml2ZS1haS90eXBlcyc7XG5leHBvcnQgaW50ZXJmYWNlIEFwcERldGFpbHMge1xuICAgIG9yZ0lkOiBzdHJpbmc7XG4gICAgb3JnU2hvcnROYW1lOiBzdHJpbmc7XG4gICAgY2hhdElkOiBzdHJpbmc7XG4gICAgdXNlcklkOiBzdHJpbmc7XG4gICAgc291cmNlOiBDb250ZXh0U291cmNlRW51bTtcbiAgICBlbnY6IENvbnRleHRFbnZFbnVtO1xuICAgIHZhcmlhbnRJbmZvOiBWYXJpYW50SW5mbztcbn1cbmV4cG9ydCB7IHZhcmlhbnRJbmZvQXRvbSB9IGZyb20gJy4vdmFyaWFudCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB1c2VySWRlbnRpdHlBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5QcmltaXRpdmVBdG9tPFVzZXJJZGVudGl0eUNvbnRleHRUeXBlIHwgdW5kZWZpbmVkPiAmIHtcbiAgICBpbml0OiBVc2VySWRlbnRpdHlDb250ZXh0VHlwZSB8IHVuZGVmaW5lZDtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBhcHBTb3VyY2VBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPENvbnRleHRTb3VyY2VFbnVtPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNoYXRJZEF0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxzdHJpbmcsIFtzdHJpbmcgfCB0eXBlb2YgaW1wb3J0KFwiam90YWkvdXRpbHNcIikuUkVTRVQgfCAoKHByZXY6IHN0cmluZykgPT4gc3RyaW5nIHwgdHlwZW9mIGltcG9ydChcImpvdGFpL3V0aWxzXCIpLlJFU0VUKV0sIHZvaWQ+O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUF5QkEsSUFBVyxrQkFBUztDQUFBO09BQUE7T0FBQTtPQUFBLFFBQUE7Q0FBQTs7OztBQ3JCcEIsSUFBVyxhQUFhO0NBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUV4QixJQUFXLG1CQUFPO0NBQUE7T0FBQTtPQUFBLFFBQUE7T0FBQTtDQUFBO0FBQ2xCLElBQVcsZ0JBQWdCO0NBQUM7T0FBQztPQUFBLFFBQUE7Q0FBQTtBQUM3QixJQUFXLGFBQVk7Q0FBQTtPQUFBLGFBQUE7T0FBQSxhQUFBO09BQUEsUUFBQTtDQUFBIn0=