@envive-ai/react-hooks 0.1.4 → 0.1.6

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 (488) hide show
  1. package/dist/amplitudeContext-CHzas7Cf.d.cts +52 -0
  2. package/dist/amplitudeContext-D-7fmVh1.cjs +356 -0
  3. package/dist/amplitudeContext-hY3caPC6.js +322 -0
  4. package/dist/amplitudeContext-tJ4y-SzX.d.ts +52 -0
  5. package/dist/api-DjeZXxl_.js +207 -0
  6. package/dist/api-_JaUnIUj.cjs +292 -0
  7. package/dist/app-CjsQ2_n-.js +132 -0
  8. package/dist/app-CnKRZ9RW.cjs +178 -0
  9. package/dist/application/models/graphql/index.cjs +3 -12
  10. package/dist/application/models/graphql/index.d.cts +1 -1
  11. package/dist/application/models/graphql/index.d.ts +1 -1
  12. package/dist/application/models/graphql/index.js +1 -10
  13. package/dist/application/models/guards/api/index.cjs +1 -2
  14. package/dist/application/models/guards/api/index.d.cts +2 -2
  15. package/dist/application/models/guards/api/index.d.ts +2 -2
  16. package/dist/application/models/guards/api/index.js +1 -2
  17. package/dist/application/models/index.cjs +48 -54
  18. package/dist/application/models/index.d.cts +7 -9
  19. package/dist/application/models/index.d.ts +7 -9
  20. package/dist/application/models/index.js +7 -11
  21. package/dist/application/models/utilityTypes/index.cjs +1 -1
  22. package/dist/application/models/utilityTypes/index.d.cts +1 -1
  23. package/dist/application/models/utilityTypes/index.d.ts +1 -1
  24. package/dist/application/models/utilityTypes/index.js +1 -1
  25. package/dist/application/models/variantInfo/index.cjs +1 -1
  26. package/dist/application/models/variantInfo/index.d.cts +1 -1
  27. package/dist/application/models/variantInfo/index.d.ts +1 -1
  28. package/dist/application/models/variantInfo/index.js +1 -1
  29. package/dist/application/utils/index.cjs +40 -37
  30. package/dist/application/utils/index.d.cts +18 -14
  31. package/dist/application/utils/index.d.ts +17 -13
  32. package/dist/application/utils/index.js +13 -10
  33. package/dist/{atomStore-JwGb7pcy.cjs → atomStore-B4jIaDPd.cjs} +1 -1
  34. package/dist/{atomStore-B1cgmbP0.js → atomStore-D8pjE1vL.js} +1 -1
  35. package/dist/atoms/app/index.cjs +14 -16
  36. package/dist/atoms/app/index.d.cts +20 -19
  37. package/dist/atoms/app/index.d.ts +20 -19
  38. package/dist/atoms/app/index.js +10 -11
  39. package/dist/atoms/atomStore/index.cjs +2 -1
  40. package/dist/atoms/atomStore/index.d.cts +1 -1
  41. package/dist/atoms/atomStore/index.js +2 -1
  42. package/dist/atoms/chat/index.cjs +44 -40
  43. package/dist/atoms/chat/index.d.cts +35 -36
  44. package/dist/atoms/chat/index.d.ts +35 -36
  45. package/dist/atoms/chat/index.js +14 -10
  46. package/dist/atoms/globalSearch/index.cjs +1 -1
  47. package/dist/atoms/globalSearch/index.d.cts +5 -5
  48. package/dist/atoms/globalSearch/index.d.ts +5 -5
  49. package/dist/atoms/globalSearch/index.js +1 -1
  50. package/dist/atoms/org/index.cjs +26 -37
  51. package/dist/atoms/org/index.d.cts +37 -47
  52. package/dist/atoms/org/index.d.ts +37 -47
  53. package/dist/atoms/org/index.js +11 -11
  54. package/dist/atoms/search/index.cjs +47 -41
  55. package/dist/atoms/search/index.d.cts +7 -9
  56. package/dist/atoms/search/index.d.ts +7 -9
  57. package/dist/atoms/search/index.js +16 -10
  58. package/dist/bandolier-DYEz4-8C.js +1229 -0
  59. package/dist/bandolier-o_-xrbOV.cjs +1229 -0
  60. package/dist/carpe-CsG5jCcl.cjs +607 -0
  61. package/dist/carpe-DONk00bZ.js +605 -0
  62. package/dist/cdnUtils-32v8bDX9.cjs +16 -0
  63. package/dist/cdnUtils-E4tLBt2g.js +11 -0
  64. package/dist/{chat-BgONoYU7.cjs → chat-BubCW1as.cjs} +1 -1
  65. package/dist/chat-CO7cRkaq.cjs +506 -0
  66. package/dist/{chat-CLJ4NWcN.js → chat-CV6MXeID.js} +1 -1
  67. package/dist/chat-hcRc4RRd.js +285 -0
  68. package/dist/{components-CV1fhAkj.js → components-B4T3Uzth.js} +1 -1
  69. package/dist/{components-BKZbet67.cjs → components-Cw9WjA6g.cjs} +1 -1
  70. package/dist/config/locators/components/chat/index.cjs +1 -1
  71. package/dist/config/locators/components/chat/index.d.cts +1 -1
  72. package/dist/config/locators/components/chat/index.d.ts +1 -1
  73. package/dist/config/locators/components/chat/index.js +1 -1
  74. package/dist/config/locators/components/chat/variants/index.d.ts +1 -1
  75. package/dist/config/locators/components/index.cjs +1 -1
  76. package/dist/config/locators/components/index.d.cts +1 -1
  77. package/dist/config/locators/components/index.d.ts +1 -1
  78. package/dist/config/locators/components/index.js +1 -1
  79. package/dist/config/locators/index.cjs +4 -4
  80. package/dist/config/locators/index.d.cts +2 -2
  81. package/dist/config/locators/index.d.ts +3 -3
  82. package/dist/config/locators/index.js +4 -4
  83. package/dist/contexts/index.cjs +45 -14
  84. package/dist/contexts/index.d.cts +10 -78
  85. package/dist/contexts/index.d.ts +10 -78
  86. package/dist/contexts/index.js +22 -11
  87. package/dist/contexts-B4ihTBsV.cjs +2980 -0
  88. package/dist/contexts-DGlr7M1o.js +2596 -0
  89. package/dist/coterie-CKB93qfz.cjs +239 -0
  90. package/dist/{coterie-yQ-_JXSw.cjs → coterie-DHcj2fRE.js} +64 -65
  91. package/dist/{custservice-types-C83itZmy.cjs → custservice-types-Dy0kc9TW.cjs} +1 -1
  92. package/dist/{custservice-types-DPQ-4TI6.js → custservice-types-mnIunabv.js} +1 -1
  93. package/dist/default-BnB4p0Se.cjs +234 -0
  94. package/dist/default-D6f5Dyt7.js +199 -0
  95. package/dist/default-ZKkE5zT4.cjs +4 -0
  96. package/dist/default-legGZJwI.js +4 -0
  97. package/dist/{divIds-DEL_-qU0.cjs → divIds-2dJlU3z8.cjs} +1 -15
  98. package/dist/{divIds-CWkntTsx.js → divIds-BUrN2vY-.js} +2 -4
  99. package/dist/dreamlandBaby-BiRYYFav.js +346 -0
  100. package/dist/dreamlandBaby-zuvmfzfD.cjs +346 -0
  101. package/dist/{embedded-C5uJqmuD.js → embedded-BJLWIriJ.js} +1 -1
  102. package/dist/{embedded--2L0F4b5.cjs → embedded-Dl79TJLC.cjs} +1 -1
  103. package/dist/{entrypoints-CNUvSgnk.js → entrypoints-Bs3pn6EV.js} +1 -1
  104. package/dist/{entrypoints-DM9Sm18O.cjs → entrypoints-Dqi5pzWH.cjs} +1 -1
  105. package/dist/enviveConfig-BccuzS2a.cjs +240 -0
  106. package/dist/enviveConfig-CzhTz8Aa.js +152 -0
  107. package/dist/events/index.cjs +1 -1
  108. package/dist/events/index.d.cts +1 -1
  109. package/dist/events/index.js +1 -1
  110. package/dist/{events-ClCDFK7t.js → events-BrLpaNxh.js} +1 -1
  111. package/dist/{events-Da7gpmGv.cjs → events-DwT6cEwI.cjs} +1 -1
  112. package/dist/fiveCbd-DwTTwC2j.cjs +613 -0
  113. package/dist/fiveCbd-Dz2NouOF.js +613 -0
  114. package/dist/forLoveAndLemons-DqSdyD6S.js +665 -0
  115. package/dist/forLoveAndLemons-Ud6mPrV3.cjs +667 -0
  116. package/dist/{globalSearch-b0wC7ZEO.js → globalSearch-B6THR7Jx.js} +1 -1
  117. package/dist/{globalSearch-BTeZxvk1.cjs → globalSearch-BFvEg53C.cjs} +1 -1
  118. package/dist/graphql-BNW60InJ.cjs +128 -0
  119. package/dist/graphql-CjB8wHzm.js +74 -0
  120. package/dist/graphqlConfig-CYt6tWII.js +30 -0
  121. package/dist/graphqlConfig-DicykC-o.cjs +61 -0
  122. package/dist/greenpan-B_EbPkSP.js +397 -0
  123. package/dist/greenpan-kPE4fJgd.cjs +397 -0
  124. package/dist/grooveLife-Ckuir319.js +342 -0
  125. package/dist/grooveLife-DKSEQp1F.cjs +342 -0
  126. package/dist/homegrownCannabis-BVPa2pqe.js +410 -0
  127. package/dist/homegrownCannabis-BwIAkxuA.cjs +410 -0
  128. package/dist/hooks/index.cjs +40 -16
  129. package/dist/hooks/index.d.cts +122 -95
  130. package/dist/hooks/index.d.ts +122 -95
  131. package/dist/hooks/index.js +22 -11
  132. package/dist/{index-D46Rd0io.d.cts → index-B0NW9KTj.d.cts} +1 -1
  133. package/dist/{index-jBATkcc_.d.cts → index-BDPWBU3h.d.cts} +1 -1
  134. package/dist/index-BMPtlgac.d.ts +191 -0
  135. package/dist/{index-BTK5uzs6.d.cts → index-Bmub8e38.d.cts} +1 -1
  136. package/dist/{index-C62lPpy4.d.cts → index-Byb45OPg.d.cts} +1 -1
  137. package/dist/{index-DPx8s5YH.d.ts → index-C6KdON7d.d.ts} +1 -1
  138. package/dist/index-C7pGDl1A.d.ts +1609 -0
  139. package/dist/{index-CYtsPztZ.d.cts → index-C9lgsCWp.d.cts} +32 -32
  140. package/dist/{index-BzgkfbNO.d.cts → index-CESxqFso.d.cts} +1 -1
  141. package/dist/{index-C_C0tLeD.d.ts → index-Cc-wBCn6.d.ts} +32 -32
  142. package/dist/{index-Cx9e-fRi.d.ts → index-CcIG01PJ.d.ts} +2 -2
  143. package/dist/{index-ClJ0nMsR.d.cts → index-CiWEYzXl.d.cts} +2 -2
  144. package/dist/{index-CKKkTsms.d.ts → index-Cqg6ltII.d.ts} +1 -1
  145. package/dist/{index-CExtydIH.d.ts → index-DOii3C6b.d.ts} +1 -1
  146. package/dist/index-DTu2X-YS.d.cts +1609 -0
  147. package/dist/index-OEifcBsm.d.cts +191 -0
  148. package/dist/{index-Dxpscrvz.d.ts → index-PGF8BvxQ.d.ts} +1 -1
  149. package/dist/{index-D2VaMPA3.d.ts → index-ylUiJvnr.d.ts} +1 -1
  150. package/dist/interceptors/index.cjs +2 -12
  151. package/dist/interceptors/index.d.cts +8 -13
  152. package/dist/interceptors/index.d.ts +8 -13
  153. package/dist/interceptors/index.js +2 -11
  154. package/dist/jackArcher-B39OEIj6.cjs +727 -0
  155. package/dist/{jackArcher-CXf_IAmC.js → jackArcher-BwkWGybC.js} +24 -25
  156. package/dist/jordanCraig-CxRH_jLi.js +1786 -0
  157. package/dist/jordanCraig-RwmWw-jM.cjs +1786 -0
  158. package/dist/kindredBravely-D78VwL20.cjs +490 -0
  159. package/dist/kindredBravely-DQDpAzdl.js +490 -0
  160. package/dist/kutFromTheKloth-TcXQkIti.js +369 -0
  161. package/dist/kutFromTheKloth-dXRrNti0.cjs +369 -0
  162. package/dist/larryAndSerges-Bh5XEXsZ.js +262 -0
  163. package/dist/larryAndSerges-COdBzOzu.cjs +262 -0
  164. package/dist/leapsAndRebounds-BbXnqkl5.cjs +360 -0
  165. package/dist/leapsAndRebounds-mjCaH1k-.js +360 -0
  166. package/dist/longevityrx-DdV3v26F.cjs +320 -0
  167. package/dist/longevityrx-DfPDfvAt.js +320 -0
  168. package/dist/lookOptic-DgXFGBPP.cjs +282 -0
  169. package/dist/{lookOptic-BGhU4910.js → lookOptic-FgVW1afF.js} +19 -20
  170. package/dist/mantraBrand-C5gVm3rk.cjs +750 -0
  171. package/dist/{mantraBrand-DrqG9uqO.js → mantraBrand-uV8HCDR8.js} +22 -23
  172. package/dist/medterra-BtDpr1Hw.cjs +583 -0
  173. package/dist/medterra-DgzE7-mj.js +583 -0
  174. package/dist/modells-CJjsxOIR.js +484 -0
  175. package/dist/modells-Ck5KbRFj.cjs +484 -0
  176. package/dist/models-BkXg5eIP.cjs +1534 -0
  177. package/dist/models-UZ6HszfZ.js +1281 -0
  178. package/dist/{nodeSelector-BiCDowlK.d.ts → nodeSelector-BxrS2S_k.d.ts} +1 -1
  179. package/dist/{nodeSelector-B3bPtEjX.d.cts → nodeSelector-Dm4S-10n.d.cts} +1 -1
  180. package/dist/org-C2RrBVQR.cjs +81 -0
  181. package/dist/org-xMytX--e.js +38 -0
  182. package/dist/orgAnalyticsConfig-BJ2A1RZ-.cjs +39 -0
  183. package/dist/orgAnalyticsConfig-ClrFy2qH.js +14 -0
  184. package/dist/pressedFloral-Bteoboms.js +661 -0
  185. package/dist/pressedFloral-CexgV-xy.cjs +661 -0
  186. package/dist/search-BMOAmrmY.js +459 -0
  187. package/dist/search-Df0Ifneg.cjs +672 -0
  188. package/dist/{search-filter-types-BNTLVXqQ.d.cts → search-filter-types-DosbseF3.d.cts} +1 -1
  189. package/dist/{search-filter-types-DkmH1TxJ.d.ts → search-filter-types-fZf91Pdw.d.ts} +1 -1
  190. package/dist/skinPerfection-BGzq9lq-.cjs +334 -0
  191. package/dist/skinPerfection-BlvcEcUE.js +334 -0
  192. package/dist/snapSupplements-CbbGzAgO.cjs +285 -0
  193. package/dist/snapSupplements-kcsPAOm9.js +285 -0
  194. package/dist/{socialProofClasses-ky69yppk.cjs → socialProofClasses-Db8gzsfi.cjs} +1 -1
  195. package/dist/{socialProofClasses-DdzG1tZy.js → socialProofClasses-kwDvwLOZ.js} +1 -1
  196. package/dist/spanx-B4WFA_rI.js +661 -0
  197. package/dist/spanx-BWoE4F8b.cjs +663 -0
  198. package/dist/spanxStaging-BOrOjhXn.js +845 -0
  199. package/dist/spanxStaging-BfdfIug4.cjs +848 -0
  200. package/dist/{suggestionBarV2-types-CwOXzIKq.js → suggestionBarV2-types-IMMOmCir.js} +1 -1
  201. package/dist/{suggestionBarV2-types-Dc4-zJlV.cjs → suggestionBarV2-types-nnGNgFvR.cjs} +1 -1
  202. package/dist/supergoop-22dd5_BS.js +323 -0
  203. package/dist/supergoop-B-a4cku2.cjs +323 -0
  204. package/dist/{test-types-CXVJxTeu.d.ts → test-types-C9b_OdfO.d.ts} +1 -1
  205. package/dist/{test-types-CuOq25VT.d.cts → test-types-CgVJtwUr.d.cts} +1 -1
  206. package/dist/types/index.cjs +2 -2
  207. package/dist/types/index.d.cts +2 -2
  208. package/dist/types/index.d.ts +2 -2
  209. package/dist/types/index.js +2 -2
  210. package/dist/types--pr1GQQx.js +154 -0
  211. package/dist/types-BVSyY3Hk.cjs +196 -0
  212. package/dist/{uniqueVintage-Cui74mlJ.js → uniqueVintage-CJXiNNe7.js} +19 -20
  213. package/dist/uniqueVintage-D0jzJWlo.cjs +1213 -0
  214. package/dist/useMessageInterceptor-B87e3yu3.cjs +33 -0
  215. package/dist/useMessageInterceptor-Bb7YRaWk.js +25 -0
  216. package/dist/userIdentityContext-BPqvVIg0.d.cts +20 -0
  217. package/dist/userIdentityContext-wbCRmlzp.d.ts +20 -0
  218. package/dist/utils-C9ZSCx12.js +888 -0
  219. package/dist/utils-D5HO61hG.cjs +1016 -0
  220. package/dist/variantInfo-DbVxA1yE.js +1 -0
  221. package/dist/variantInfo-orXoPBCU.cjs +0 -0
  222. package/dist/venaCbd-Bhhu_qUf.cjs +365 -0
  223. package/dist/venaCbd-CanovPS_.js +365 -0
  224. package/dist/westonJonBoucher-BC0x1ktI.cjs +422 -0
  225. package/dist/{westonJonBoucher-C95EuCl-.js → westonJonBoucher-BUu1_wP1.js} +19 -20
  226. package/dist/wineEnthusiast-BlCryfil.cjs +940 -0
  227. package/dist/{wineEnthusiast-DeTFY8Gm.js → wineEnthusiast-Ck1x5iJq.js} +19 -20
  228. package/dist/wolfMattress-D9Mjq-HP.js +372 -0
  229. package/dist/wolfMattress-JssghhC-.cjs +372 -0
  230. package/dist/wolfTactical-C6exYhL7.cjs +349 -0
  231. package/dist/wolfTactical-CnV3KQdI.js +349 -0
  232. package/package.json +101 -19
  233. package/src/{adapters/spiffy/commerce/api.ts → application/commerce-api.ts} +31 -23
  234. package/src/application/models/colorsConfig.ts +18 -18
  235. package/src/application/models/frontendConfig.ts +3 -3
  236. package/src/application/models/graphql/queries/getMerchantColorsQuery.ts +1 -1
  237. package/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.ts +1 -1
  238. package/src/application/models/index.ts +0 -2
  239. package/src/application/models/localStorageEventListener.ts +2 -2
  240. package/src/application/models/supportedOrgs.ts +1 -1
  241. package/src/application/models/utils/snakeToCamelTransformer.ts +8 -8
  242. package/src/application/models/validators/validateGraphQLColorsConfig.ts +0 -21
  243. package/src/application/models/validators/validateGraphQLFrontendConfig.ts +2 -2
  244. package/src/application/utils/analyticsUtils.ts +53 -22
  245. package/src/application/utils/cdnUtils.ts +11 -0
  246. package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +15 -0
  247. package/src/atoms/app/index.ts +7 -17
  248. package/src/atoms/app/variant.ts +13 -4
  249. package/src/atoms/chat/chatState.ts +28 -18
  250. package/src/atoms/chat/messageQueue.ts +36 -5
  251. package/src/atoms/chat/replies.ts +45 -37
  252. package/src/atoms/envive/enviveConfig.ts +10 -6
  253. package/src/atoms/org/graphqlConfig.ts +21 -4
  254. package/src/atoms/org/index.ts +7 -7
  255. package/src/atoms/org/newOrgConfigAtom.ts +8 -0
  256. package/src/atoms/org/orgPageConfig.ts +6 -5
  257. package/src/atoms/search/chatSearch.ts +11 -5
  258. package/src/atoms/search/searchAPI.ts +68 -48
  259. package/src/atoms/search/searchServiceAdapter.ts +25 -0
  260. package/src/contexts/amplitudeContext.tsx +466 -0
  261. package/src/contexts/cdnContext.tsx +48 -0
  262. package/src/contexts/chatContext.tsx +15 -12
  263. package/src/contexts/enviveConfigContext.tsx +22 -17
  264. package/src/contexts/enviveCssContext.tsx +34 -5
  265. package/src/contexts/featureFlagContext.tsx +193 -0
  266. package/src/contexts/featureFlagServiceContext.tsx +87 -0
  267. package/src/contexts/graphqlContext.tsx +165 -0
  268. package/src/contexts/index.ts +13 -3
  269. package/src/contexts/localStorageContext.tsx +159 -0
  270. package/src/contexts/newOrgConfigContext.tsx +104 -0
  271. package/src/contexts/orgConfigContext.tsx +92 -92
  272. package/src/contexts/searchContext.tsx +187 -0
  273. package/src/contexts/sessionStorageContext.tsx +80 -0
  274. package/src/contexts/shopifyUrlContext.tsx +97 -0
  275. package/src/contexts/types.ts +12 -8
  276. package/src/contexts/userIdentityContext.tsx +197 -0
  277. package/src/events/registerAnalyticsListeners.ts +32 -38
  278. package/src/hooks/index.ts +10 -6
  279. package/src/hooks/useAmplitudeOperations.ts +35 -0
  280. package/src/hooks/useAppDetails.ts +49 -0
  281. package/src/hooks/useCdnOperations.ts +16 -0
  282. package/src/hooks/useChatToggle.ts +5 -4
  283. package/src/hooks/useChatToggleAnalytics.ts +15 -0
  284. package/src/hooks/useGraphQLConfig.ts +63 -0
  285. package/src/hooks/useIdentifyUser.ts +33 -0
  286. package/src/hooks/useImageResolver.ts +18 -10
  287. package/src/hooks/useLocalStorageOperations.ts +92 -0
  288. package/src/hooks/useNewOrgConfig.ts +7 -0
  289. package/src/hooks/useSearch.tsx +21 -18
  290. package/src/hooks/useSearchOperations.ts +97 -0
  291. package/src/hooks/useSessionStorageOperations.ts +28 -0
  292. package/src/hooks/useShopifyUrlOperations.ts +45 -0
  293. package/src/hooks/useTrackComponentVisibleEvent.ts +12 -8
  294. package/src/hooks/useUpdateAnalyticsProps.ts +28 -17
  295. package/src/interceptors/index.ts +0 -1
  296. package/src/interceptors/useMessageInterceptor.ts +5 -8
  297. package/src/merchants/bandolier/bandolier.ts +10 -28
  298. package/src/merchants/carpe/carpe.ts +5 -8
  299. package/src/merchants/coterie/coterie.ts +3 -6
  300. package/src/merchants/default.ts +73 -70
  301. package/src/merchants/domInsertion.ts +30 -0
  302. package/src/merchants/dreamlandBaby/dreamlandBaby.ts +12 -6
  303. package/src/merchants/fiveCbd/fiveCbd.ts +7 -13
  304. package/src/merchants/forLoveAndLemons/forLoveAndLemons.ts +44 -14
  305. package/src/merchants/greenpan/greenpan.ts +6 -12
  306. package/src/merchants/gridInsertion.ts +19 -0
  307. package/src/merchants/grooveLife/grooveLife.ts +13 -7
  308. package/src/merchants/homegrownCannabis/homegrownCannabis.ts +12 -6
  309. package/src/merchants/jackArcher/jackArcher.ts +26 -11
  310. package/src/merchants/jordanCraig/jordanCraig.ts +5 -5
  311. package/src/merchants/kindredBravely/kindredBravely.ts +16 -7
  312. package/src/merchants/kutFromTheKloth/kutFromTheKloth.ts +9 -6
  313. package/src/merchants/larryAndSerges/larryAndSerges.ts +6 -2
  314. package/src/merchants/leapsAndRebounds/leapsAndRebounds.ts +7 -7
  315. package/src/merchants/longevityrx/longevityrx.ts +14 -8
  316. package/src/merchants/lookOptic/lookOptic.ts +6 -6
  317. package/src/merchants/mantraBrand/mantraBrand.ts +14 -8
  318. package/src/merchants/medterra/medterra.ts +14 -11
  319. package/src/merchants/modells/modells.ts +6 -9
  320. package/src/merchants/pressedFloral/pressedFloral.ts +7 -13
  321. package/src/merchants/skinPerfection/skinPerfection.ts +13 -7
  322. package/src/merchants/snapSupplements/snapSupplements.ts +13 -10
  323. package/src/merchants/spanx/spanx.ts +6 -6
  324. package/src/merchants/spanx/spanxStaging.ts +6 -12
  325. package/src/merchants/supergoop/supergoop.ts +11 -12
  326. package/src/merchants/uniqueVintage/uniqueVintage.ts +6 -6
  327. package/src/merchants/venaCbd/venaCbd.ts +6 -9
  328. package/src/merchants/westonJonBoucher/westonJonBoucher.ts +6 -6
  329. package/src/merchants/wineEnthusiast/wineEnthusiast.ts +6 -6
  330. package/src/merchants/wolfMattress/wolfMattress.ts +3 -3
  331. package/src/merchants/wolfTactical/wolfTactical.ts +5 -11
  332. package/src/types/config-versions.ts +6 -0
  333. package/src/types.ts +0 -53
  334. package/dist/adapters/amplitude/index.cjs +0 -14
  335. package/dist/adapters/amplitude/index.d.cts +0 -6
  336. package/dist/adapters/amplitude/index.d.ts +0 -6
  337. package/dist/adapters/amplitude/index.js +0 -12
  338. package/dist/api-B2euFL-5.cjs +0 -269
  339. package/dist/api-XRr_lAG6.js +0 -190
  340. package/dist/application/config/index.cjs +0 -43
  341. package/dist/application/config/index.d.cts +0 -15
  342. package/dist/application/config/index.d.ts +0 -15
  343. package/dist/application/config/index.js +0 -41
  344. package/dist/application/service/customerService/index.cjs +0 -4
  345. package/dist/application/service/customerService/index.d.cts +0 -3
  346. package/dist/application/service/customerService/index.d.ts +0 -3
  347. package/dist/application/service/customerService/index.js +0 -4
  348. package/dist/application/service/index.cjs +0 -41
  349. package/dist/application/service/index.d.cts +0 -399
  350. package/dist/application/service/index.d.ts +0 -399
  351. package/dist/application/service/index.js +0 -12
  352. package/dist/bandolier-B76-OE75.cjs +0 -1230
  353. package/dist/bandolier-DRn_x1g1.js +0 -1230
  354. package/dist/carpe-kHi4RLB5.cjs +0 -608
  355. package/dist/carpe-qrSU99gq.js +0 -606
  356. package/dist/contexts-CQDwe3rK.cjs +0 -14333
  357. package/dist/contexts-e2sM-B9g.js +0 -12919
  358. package/dist/coterie-mMirPcHP.js +0 -240
  359. package/dist/customerService-BG1uNZZ1.cjs +0 -36
  360. package/dist/customerService-BHQRnLhC.js +0 -23
  361. package/dist/default-8Jfv8ehQ.cjs +0 -199
  362. package/dist/default-C8PQf-38.js +0 -176
  363. package/dist/default-LukSiCz1.js +0 -4
  364. package/dist/default-rJSJ887P.cjs +0 -4
  365. package/dist/dreamlandBaby-DHltv12Z.cjs +0 -347
  366. package/dist/dreamlandBaby-cG0HM9bt.js +0 -347
  367. package/dist/featureFlagService-5wdmW02z.d.ts +0 -18
  368. package/dist/featureFlagService-DaelrXEk.d.cts +0 -18
  369. package/dist/fiveCbd-Cvnwh03g.cjs +0 -614
  370. package/dist/fiveCbd-DhYMlsf9.js +0 -614
  371. package/dist/forLoveAndLemons-C8DuUexW.js +0 -666
  372. package/dist/forLoveAndLemons-DR6a1zjJ.cjs +0 -668
  373. package/dist/greenpan-B4Pu65kV.js +0 -398
  374. package/dist/greenpan-BL5p6j7f.cjs +0 -398
  375. package/dist/grooveLife-DjKWHoN3.cjs +0 -343
  376. package/dist/grooveLife-JK0TyaPz.js +0 -343
  377. package/dist/homegrownCannabis-DxqSDkmS.js +0 -411
  378. package/dist/homegrownCannabis-ZnfCqW-m.cjs +0 -411
  379. package/dist/index-BfuO9b0Q.d.ts +0 -749
  380. package/dist/index-CNsGWfS6.d.cts +0 -749
  381. package/dist/index-DFL1dIT_.d.ts +0 -7
  382. package/dist/index-MFbPQ8Ji.d.ts +0 -95
  383. package/dist/index-VSFakgAI.d.cts +0 -95
  384. package/dist/index-zZjcds15.d.cts +0 -7
  385. package/dist/jackArcher-mGkojXek.cjs +0 -728
  386. package/dist/jordanCraig-BvCvPRoR.js +0 -1787
  387. package/dist/jordanCraig-Dv8pVCiS.cjs +0 -1787
  388. package/dist/kindredBravely-UQP7wiNu.cjs +0 -491
  389. package/dist/kindredBravely-X8F_LNph.js +0 -491
  390. package/dist/kutFromTheKloth-BhYKk3CN.cjs +0 -370
  391. package/dist/kutFromTheKloth-D1xsTSJr.js +0 -370
  392. package/dist/larryAndSerges-1411NuZa.cjs +0 -262
  393. package/dist/larryAndSerges-DVIRLItu.js +0 -262
  394. package/dist/leapsAndRebounds-BJ8mwr33.js +0 -361
  395. package/dist/leapsAndRebounds-UcP9EJVO.cjs +0 -361
  396. package/dist/logger-Dln20ans.cjs +0 -26
  397. package/dist/logger-pdEEY8T2.js +0 -20
  398. package/dist/longevityrx-BFSv9GF5.cjs +0 -321
  399. package/dist/longevityrx-Cp6wleWr.js +0 -321
  400. package/dist/lookOptic-KieSqskd.cjs +0 -283
  401. package/dist/mantraBrand-CHQw-0nw.cjs +0 -751
  402. package/dist/medterra-CLG6Co1C.cjs +0 -584
  403. package/dist/medterra-D8ZX9NZC.js +0 -584
  404. package/dist/modells-BzyPwN2m.cjs +0 -485
  405. package/dist/modells-CAfqOCW4.js +0 -485
  406. package/dist/orgConfigResults--dAwtw3W.d.ts +0 -881
  407. package/dist/orgConfigResults-BL0XBA6x.d.cts +0 -881
  408. package/dist/pressedFloral-DULBuQwR.cjs +0 -662
  409. package/dist/pressedFloral-Dp-7Fk3S.js +0 -662
  410. package/dist/skinPerfection-BxuYCeJX.js +0 -335
  411. package/dist/skinPerfection-Cd3XZ6By.cjs +0 -335
  412. package/dist/snapSupplements-Bf6htPM0.js +0 -286
  413. package/dist/snapSupplements-ZFnXyMuZ.cjs +0 -286
  414. package/dist/spanx-CwDPQaGj.js +0 -662
  415. package/dist/spanx-Cyd4qDlK.cjs +0 -664
  416. package/dist/spanxStaging-D43nyAGy.js +0 -846
  417. package/dist/spanxStaging-ijbYnHzr.cjs +0 -849
  418. package/dist/supergoop-BnbFG7hm.cjs +0 -338
  419. package/dist/supergoop-CY043wIg.js +0 -336
  420. package/dist/types-BF_CJeck.js +0 -177
  421. package/dist/types-CD4LFta-.d.cts +0 -33
  422. package/dist/types-CNH4sfF-.cjs +0 -231
  423. package/dist/types-DBdI0j89.d.ts +0 -33
  424. package/dist/uniqueVintage-R2Jcu1y1.cjs +0 -1214
  425. package/dist/variant-CKVRF2-W.d.ts +0 -13
  426. package/dist/variant-raYuOP4L.d.cts +0 -13
  427. package/dist/venaCbd-o5_vOp4e.js +0 -366
  428. package/dist/venaCbd-r-IxEVc1.cjs +0 -366
  429. package/dist/westonJonBoucher-DjGEW3ZB.cjs +0 -423
  430. package/dist/wineEnthusiast-DvfcV5B3.cjs +0 -941
  431. package/dist/wolfMattress-6xPfOJt3.js +0 -373
  432. package/dist/wolfMattress-BjGnGKjP.cjs +0 -373
  433. package/dist/wolfTactical-Bi3WZu0m.cjs +0 -350
  434. package/dist/wolfTactical-C_F9-oPX.js +0 -350
  435. package/src/adapters/amplitude/amplitudeAdapter.ts +0 -477
  436. package/src/adapters/amplitude/index.ts +0 -2
  437. package/src/adapters/amplitude/stubAmplitudeAdapter.ts +0 -34
  438. package/src/adapters/spiffy/commerce/graphql.ts +0 -219
  439. package/src/application/config/generalStaticConfig.ts +0 -40
  440. package/src/application/config/index.ts +0 -1
  441. package/src/application/models/domMutationContinuation.ts +0 -7
  442. package/src/application/models/domObservationStrategy.ts +0 -9
  443. package/src/application/service/cachingService.ts +0 -84
  444. package/src/application/service/cdnService.ts +0 -20
  445. package/src/application/service/customerService/index.ts +0 -8
  446. package/src/application/service/customerService/providers/UnsupportedCustomerService.ts +0 -15
  447. package/src/application/service/domMutationObserver.ts +0 -320
  448. package/src/application/service/domMutations/GridInsertionService.ts +0 -123
  449. package/src/application/service/domMutations/dataLayer/dataLayerEventsListener.ts +0 -99
  450. package/src/application/service/domMutations/domInsertionService.ts +0 -90
  451. package/src/application/service/domMutations/domMutationListener.ts +0 -15
  452. package/src/application/service/domMutations/domMutationListenerState.ts +0 -52
  453. package/src/application/service/domMutations/floatingChat/embeddedChatsPlacementsListener.ts +0 -41
  454. package/src/application/service/domMutations/gladly/gladlyListener.ts +0 -61
  455. package/src/application/service/domMutations/spiffy/orgs/common/kustomerVisibilityListener.ts +0 -41
  456. package/src/application/service/domMutations/spiffy/orgs/common/orgsCommonDataLayerListener.ts +0 -119
  457. package/src/application/service/featureFlagService.ts +0 -130
  458. package/src/application/service/index.ts +0 -31
  459. package/src/application/service/kustomerIntegrationService.ts +0 -111
  460. package/src/application/service/localStorageService.ts +0 -77
  461. package/src/application/service/pageVariantService.ts +0 -866
  462. package/src/application/service/searchService.ts +0 -147
  463. package/src/application/service/sessionStorageService.ts +0 -27
  464. package/src/application/service/shopifyUrlService.ts +0 -63
  465. package/src/application/service/userIdentityService.ts +0 -114
  466. package/src/application/service/windowChatToggleService.ts +0 -80
  467. package/src/application/service/windowDataLayerService.ts +0 -181
  468. package/src/application/service/windowFrontendConfigService.ts +0 -129
  469. package/src/atoms/org/merchantCss.ts +0 -158
  470. package/src/atoms/org/org.ts +0 -291
  471. package/src/atoms/org/orgUIConfig.ts +0 -142
  472. package/src/enabled-features.ts +0 -83
  473. package/src/hooks/useDynamicVariants.ts +0 -210
  474. package/src/hooks/useFileUpload.ts +0 -63
  475. package/src/hooks/useHideElements.ts +0 -82
  476. package/src/hooks/useHorizontalScrollAnimation.ts +0 -115
  477. package/src/hooks/useReducedMotionWithOverride.ts +0 -15
  478. package/src/hooks/useSnapControl.ts +0 -155
  479. package/src/interceptors/useFormEscalation.ts +0 -57
  480. /package/dist/{variantInfo-CzhR5W6h.js → atomStore-CZnUUsrr.js} +0 -0
  481. /package/dist/{variantInfo-CNRTY0gH.cjs → atomStore-KSoFS3Jj.cjs} +0 -0
  482. /package/dist/{utilityTypes-C4h2wgAK.cjs → locators-0YYZu9n4.cjs} +0 -0
  483. /package/dist/{utilityTypes-BVikejDo.js → locators-fBXS_pxP.js} +0 -0
  484. /package/dist/{locators-Dc5ZT0aF.js → utilityTypes-8sETsYPk.js} +0 -0
  485. /package/dist/{locators-lQMJj830.cjs → utilityTypes-COShxVir.cjs} +0 -0
  486. /package/src/{application/service/customerService/types.ts → types/customerService.ts} +0 -0
  487. /package/src/{adapters/spiffy/commerce → types}/exceptions/sessionExceptions.ts +0 -0
  488. /package/src/{adapters/spiffy/commerce → types}/exceptions/unsupportedProductExceptions.ts +0 -0
@@ -0,0 +1,240 @@
1
+ const require_chunk = require('./chunk-CUT6urMc.cjs');
2
+ const require_api = require('./api-_JaUnIUj.cjs');
3
+ let react = require("react");
4
+ react = require_chunk.__toESM(react);
5
+ let jotai = require("jotai");
6
+ jotai = require_chunk.__toESM(jotai);
7
+ let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
8
+ __spiffy_ai_commerce_api_client = require_chunk.__toESM(__spiffy_ai_commerce_api_client);
9
+ let react_jsx_runtime = require("react/jsx-runtime");
10
+ react_jsx_runtime = require_chunk.__toESM(react_jsx_runtime);
11
+
12
+ //#region src/contexts/localStorageContext.tsx
13
+ let LocalStorageKeys = /* @__PURE__ */ function(LocalStorageKeys$1) {
14
+ LocalStorageKeys$1["ChatId"] = "v1-spiffy-chat-session-id";
15
+ LocalStorageKeys$1["SpiffyOnOverride"] = "spiffy_on";
16
+ LocalStorageKeys$1["EnviveOnOverride"] = "envive_on";
17
+ return LocalStorageKeys$1;
18
+ }({});
19
+ const LocalStorageContext = (0, react.createContext)(null);
20
+ const LocalStorageProvider = ({ children }) => {
21
+ const isAvailable = (0, react.useMemo)(() => {
22
+ try {
23
+ return typeof window !== "undefined" && !!window.localStorage;
24
+ } catch {
25
+ return false;
26
+ }
27
+ }, []);
28
+ (0, react.useEffect)(() => {
29
+ if (!isAvailable) require_api.logger_default.logError("localStorage is not available", void 0);
30
+ }, [isAvailable]);
31
+ const setItem = (0, react.useCallback)((key, value$1) => {
32
+ if (!isAvailable) return;
33
+ localStorage.setItem(key, value$1);
34
+ window.dispatchEvent(new StorageEvent("storage", {
35
+ key,
36
+ newValue: value$1
37
+ }));
38
+ }, [isAvailable]);
39
+ const getItem = (0, react.useCallback)((key) => {
40
+ if (!isAvailable) return null;
41
+ return localStorage.getItem(key);
42
+ }, [isAvailable]);
43
+ const setSpiffyOnFeatureFlag = (0, react.useCallback)((value$1) => {
44
+ if (!isAvailable) return;
45
+ if (value$1 === true) localStorage.setItem(LocalStorageKeys.SpiffyOnOverride, "true");
46
+ else if (value$1 === false) localStorage.setItem(LocalStorageKeys.SpiffyOnOverride, "false");
47
+ }, [isAvailable]);
48
+ const getSpiffyOnFeatureFlag = (0, react.useCallback)(() => {
49
+ if (!isAvailable) return null;
50
+ return localStorage.getItem(LocalStorageKeys.SpiffyOnOverride);
51
+ }, [isAvailable]);
52
+ const listenersCache = (0, react.useMemo)(() => /* @__PURE__ */ new Map(), []);
53
+ const listenerForKey = (0, react.useCallback)((listener) => {
54
+ if (!listenersCache.has(listener.storageKey)) {
55
+ const handler = (event) => {
56
+ if (event.key !== listener.storageKey) return;
57
+ require_api.logger_default.logDebug(`[spiffy-ai] Storage event key=${event.key}, value=`, event.newValue);
58
+ listener.listener(event);
59
+ };
60
+ listenersCache.set(listener.storageKey, handler);
61
+ }
62
+ return listenersCache.get(listener.storageKey);
63
+ }, [listenersCache]);
64
+ const attachListener = (0, react.useCallback)((listener) => {
65
+ if (!isAvailable) return;
66
+ window.addEventListener("storage", listenerForKey(listener));
67
+ }, [isAvailable, listenerForKey]);
68
+ const detachListener = (0, react.useCallback)((listener) => {
69
+ if (!isAvailable) return;
70
+ window.removeEventListener("storage", listenerForKey(listener));
71
+ }, [isAvailable, listenerForKey]);
72
+ const value = (0, react.useMemo)(() => ({
73
+ setItem,
74
+ getItem,
75
+ setSpiffyOnFeatureFlag,
76
+ getSpiffyOnFeatureFlag,
77
+ attachListener,
78
+ detachListener,
79
+ isAvailable
80
+ }), [
81
+ setItem,
82
+ getItem,
83
+ setSpiffyOnFeatureFlag,
84
+ getSpiffyOnFeatureFlag,
85
+ attachListener,
86
+ detachListener,
87
+ isAvailable
88
+ ]);
89
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LocalStorageContext.Provider, {
90
+ value,
91
+ children
92
+ });
93
+ };
94
+ const useLocalStorage = () => {
95
+ const context = (0, react.useContext)(LocalStorageContext);
96
+ if (!context) throw new Error("useLocalStorage must be used within a LocalStorageProvider");
97
+ return context;
98
+ };
99
+
100
+ //#endregion
101
+ //#region src/atoms/envive/enviveConfig.ts
102
+ const internalEnviveConfigAtom = (0, jotai.atom)(void 0);
103
+ const enviveConfigAtom = (0, jotai.atom)((get) => {
104
+ const config = get(internalEnviveConfigAtom);
105
+ require_api.logger_default.logDebug("enviveConfig.ts: Accessing internalEnviveConfigAtom", config);
106
+ return config;
107
+ }, (_, set, value) => {
108
+ set(internalEnviveConfigAtom, value);
109
+ });
110
+ const amplitudeApiKeyAtom = (0, jotai.atom)((get) => {
111
+ return get(enviveConfigAtom)?.amplitudeApiKey;
112
+ });
113
+ const dataResidencyAtom = (0, jotai.atom)((get) => {
114
+ return get(enviveConfigAtom)?.dataResidency;
115
+ });
116
+ const envAtom = (0, jotai.atom)((get) => {
117
+ return get(enviveConfigAtom)?.env;
118
+ });
119
+ const baseUrlAtom = (0, jotai.atom)((get) => {
120
+ return get(enviveConfigAtom)?.baseUrl || "https://commerce-api.dev.spiffy.ai";
121
+ });
122
+ const reactAppNameAtom = (0, jotai.atom)((get) => {
123
+ return get(enviveConfigAtom)?.reactAppName;
124
+ });
125
+ const cdnUrlAtom = (0, jotai.atom)((get) => {
126
+ return get(enviveConfigAtom)?.cdnUrl;
127
+ });
128
+ const contextSourceAtom = (0, jotai.atom)((get) => {
129
+ const config = get(enviveConfigAtom);
130
+ if (config?.contextSource) return config.contextSource;
131
+ if (window.localStorage.getItem(LocalStorageKeys.SpiffyOnOverride) === "true") return __spiffy_ai_commerce_api_client.ContextSourceEnum.Playground;
132
+ return __spiffy_ai_commerce_api_client.ContextSourceEnum.App;
133
+ });
134
+ const orgLevelApiKeyAtom = (0, jotai.atom)((get) => {
135
+ const config = get(enviveConfigAtom);
136
+ require_api.logger_default.logDebug("enviveConfig.ts: Accessing orgLevelApiKey", config);
137
+ return config?.orgLevelApiKey;
138
+ });
139
+ const orgShortNameAtom = (0, jotai.atom)((get) => {
140
+ const config = get(enviveConfigAtom);
141
+ require_api.logger_default.logDebug("enviveConfig.ts: Accessing orgShortName", config);
142
+ return config?.orgShortName;
143
+ });
144
+ const identifyingPrefixAtom = (0, jotai.atom)((get) => {
145
+ const config = get(enviveConfigAtom);
146
+ require_api.logger_default.logDebug("enviveConfig.ts: Accessing identifyingPrefix", config);
147
+ return config?.identifyingPrefix || "spiffy";
148
+ });
149
+ const publicKeyAtom = (0, jotai.atom)((get) => {
150
+ const config = get(enviveConfigAtom);
151
+ require_api.logger_default.logDebug("enviveConfig.ts: Accessing publicKey", config);
152
+ return config?.publicKey;
153
+ });
154
+
155
+ //#endregion
156
+ Object.defineProperty(exports, 'LocalStorageKeys', {
157
+ enumerable: true,
158
+ get: function () {
159
+ return LocalStorageKeys;
160
+ }
161
+ });
162
+ Object.defineProperty(exports, 'LocalStorageProvider', {
163
+ enumerable: true,
164
+ get: function () {
165
+ return LocalStorageProvider;
166
+ }
167
+ });
168
+ Object.defineProperty(exports, 'amplitudeApiKeyAtom', {
169
+ enumerable: true,
170
+ get: function () {
171
+ return amplitudeApiKeyAtom;
172
+ }
173
+ });
174
+ Object.defineProperty(exports, 'baseUrlAtom', {
175
+ enumerable: true,
176
+ get: function () {
177
+ return baseUrlAtom;
178
+ }
179
+ });
180
+ Object.defineProperty(exports, 'cdnUrlAtom', {
181
+ enumerable: true,
182
+ get: function () {
183
+ return cdnUrlAtom;
184
+ }
185
+ });
186
+ Object.defineProperty(exports, 'contextSourceAtom', {
187
+ enumerable: true,
188
+ get: function () {
189
+ return contextSourceAtom;
190
+ }
191
+ });
192
+ Object.defineProperty(exports, 'dataResidencyAtom', {
193
+ enumerable: true,
194
+ get: function () {
195
+ return dataResidencyAtom;
196
+ }
197
+ });
198
+ Object.defineProperty(exports, 'envAtom', {
199
+ enumerable: true,
200
+ get: function () {
201
+ return envAtom;
202
+ }
203
+ });
204
+ Object.defineProperty(exports, 'enviveConfigAtom', {
205
+ enumerable: true,
206
+ get: function () {
207
+ return enviveConfigAtom;
208
+ }
209
+ });
210
+ Object.defineProperty(exports, 'identifyingPrefixAtom', {
211
+ enumerable: true,
212
+ get: function () {
213
+ return identifyingPrefixAtom;
214
+ }
215
+ });
216
+ Object.defineProperty(exports, 'orgLevelApiKeyAtom', {
217
+ enumerable: true,
218
+ get: function () {
219
+ return orgLevelApiKeyAtom;
220
+ }
221
+ });
222
+ Object.defineProperty(exports, 'orgShortNameAtom', {
223
+ enumerable: true,
224
+ get: function () {
225
+ return orgShortNameAtom;
226
+ }
227
+ });
228
+ Object.defineProperty(exports, 'reactAppNameAtom', {
229
+ enumerable: true,
230
+ get: function () {
231
+ return reactAppNameAtom;
232
+ }
233
+ });
234
+ Object.defineProperty(exports, 'useLocalStorage', {
235
+ enumerable: true,
236
+ get: function () {
237
+ return useLocalStorage;
238
+ }
239
+ });
240
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnLUJjY3V6UzJhLmNqcyIsIm5hbWVzIjpbIkxvY2FsU3RvcmFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4iLCJ2YWx1ZSIsIkNvbnRleHRTb3VyY2VFbnVtIl0sInNvdXJjZXMiOlsiLi4vc3JjL2NvbnRleHRzL2xvY2FsU3RvcmFnZUNvbnRleHQudHN4IiwiLi4vc3JjL2F0b21zL2Vudml2ZS9lbnZpdmVDb25maWcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIGNyZWF0ZUNvbnRleHQsXG4gIHVzZUNvbnRleHQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VNZW1vLFxuICB1c2VFZmZlY3QsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IExvZ2dlciBmcm9tIFwiLi4vYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXJcIjtcbmltcG9ydCB7IExvY2FsU3RvcmFnZUV2ZW50TGlzdGVuZXIgfSBmcm9tIFwiLi4vYXBwbGljYXRpb24vbW9kZWxzL2xvY2FsU3RvcmFnZUV2ZW50TGlzdGVuZXJcIjtcblxuZXhwb3J0IGVudW0gTG9jYWxTdG9yYWdlS2V5cyB7XG4gIENoYXRJZCA9IFwidjEtc3BpZmZ5LWNoYXQtc2Vzc2lvbi1pZFwiLFxuICBTcGlmZnlPbk92ZXJyaWRlID0gXCJzcGlmZnlfb25cIixcbiAgRW52aXZlT25PdmVycmlkZSA9IFwiZW52aXZlX29uXCIsXG59XG5cbmludGVyZmFjZSBMb2NhbFN0b3JhZ2VDb250ZXh0VHlwZSB7XG4gIHNldEl0ZW06IChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgZ2V0SXRlbTogKGtleTogc3RyaW5nKSA9PiBzdHJpbmcgfCBudWxsO1xuICBzZXRTcGlmZnlPbkZlYXR1cmVGbGFnOiAodmFsdWU6IGJvb2xlYW4gfCBudWxsKSA9PiB2b2lkO1xuICBnZXRTcGlmZnlPbkZlYXR1cmVGbGFnOiAoKSA9PiBzdHJpbmcgfCBudWxsO1xuICBhdHRhY2hMaXN0ZW5lcjogKGxpc3RlbmVyOiBMb2NhbFN0b3JhZ2VFdmVudExpc3RlbmVyKSA9PiB2b2lkO1xuICBkZXRhY2hMaXN0ZW5lcjogKGxpc3RlbmVyOiBMb2NhbFN0b3JhZ2VFdmVudExpc3RlbmVyKSA9PiB2b2lkO1xuICBpc0F2YWlsYWJsZTogYm9vbGVhbjtcbn1cblxuY29uc3QgTG9jYWxTdG9yYWdlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8TG9jYWxTdG9yYWdlQ29udGV4dFR5cGUgfCBudWxsPihudWxsKTtcblxuZXhwb3J0IGNvbnN0IExvY2FsU3RvcmFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4gPSAoe1xuICBjaGlsZHJlbixcbn0pID0+IHtcbiAgY29uc3QgaXNBdmFpbGFibGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgISF3aW5kb3cubG9jYWxTdG9yYWdlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0F2YWlsYWJsZSkge1xuICAgICAgTG9nZ2VyLmxvZ0Vycm9yKFwibG9jYWxTdG9yYWdlIGlzIG5vdCBhdmFpbGFibGVcIiwgdW5kZWZpbmVkKTtcbiAgICB9XG4gIH0sIFtpc0F2YWlsYWJsZV0pO1xuXG4gIGNvbnN0IHNldEl0ZW0gPSB1c2VDYWxsYmFjayhcbiAgICAoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgIGlmICghaXNBdmFpbGFibGUpIHJldHVybjtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWUpO1xuICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBTdG9yYWdlRXZlbnQoXCJzdG9yYWdlXCIsIHsga2V5LCBuZXdWYWx1ZTogdmFsdWUgfSlcbiAgICAgICk7XG4gICAgfSxcbiAgICBbaXNBdmFpbGFibGVdXG4gICk7XG5cbiAgY29uc3QgZ2V0SXRlbSA9IHVzZUNhbGxiYWNrKFxuICAgIChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuIG51bGw7XG4gICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICB9LFxuICAgIFtpc0F2YWlsYWJsZV1cbiAgKTtcblxuICBjb25zdCBzZXRTcGlmZnlPbkZlYXR1cmVGbGFnID0gdXNlQ2FsbGJhY2soXG4gICAgKHZhbHVlOiBib29sZWFuIHwgbnVsbCk6IHZvaWQgPT4ge1xuICAgICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuO1xuICAgICAgaWYgKHZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKExvY2FsU3RvcmFnZUtleXMuU3BpZmZ5T25PdmVycmlkZSwgXCJ0cnVlXCIpO1xuICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oTG9jYWxTdG9yYWdlS2V5cy5TcGlmZnlPbk92ZXJyaWRlLCBcImZhbHNlXCIpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2lzQXZhaWxhYmxlXVxuICApO1xuXG4gIGNvbnN0IGdldFNwaWZmeU9uRmVhdHVyZUZsYWcgPSB1c2VDYWxsYmFjaygoKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZUtleXMuU3BpZmZ5T25PdmVycmlkZSk7XG4gIH0sIFtpc0F2YWlsYWJsZV0pO1xuXG4gIGNvbnN0IGxpc3RlbmVyc0NhY2hlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBuZXcgTWFwPHN0cmluZywgKGV2ZW50OiBTdG9yYWdlRXZlbnQpID0+IHZvaWQ+KCksXG4gICAgW11cbiAgKTtcblxuICBjb25zdCBsaXN0ZW5lckZvcktleSA9IHVzZUNhbGxiYWNrKFxuICAgIChsaXN0ZW5lcjogTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcik6ICgoZXZlbnQ6IFN0b3JhZ2VFdmVudCkgPT4gdm9pZCkgPT4ge1xuICAgICAgaWYgKCFsaXN0ZW5lcnNDYWNoZS5oYXMobGlzdGVuZXIuc3RvcmFnZUtleSkpIHtcbiAgICAgICAgY29uc3QgaGFuZGxlciA9IChldmVudDogU3RvcmFnZUV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50LmtleSAhPT0gbGlzdGVuZXIuc3RvcmFnZUtleSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBMb2dnZXIubG9nRGVidWcoXG4gICAgICAgICAgICBgW3NwaWZmeS1haV0gU3RvcmFnZSBldmVudCBrZXk9JHtldmVudC5rZXl9LCB2YWx1ZT1gLFxuICAgICAgICAgICAgZXZlbnQubmV3VmFsdWVcbiAgICAgICAgICApO1xuICAgICAgICAgIGxpc3RlbmVyLmxpc3RlbmVyKGV2ZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgbGlzdGVuZXJzQ2FjaGUuc2V0KGxpc3RlbmVyLnN0b3JhZ2VLZXksIGhhbmRsZXIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGxpc3RlbmVyc0NhY2hlLmdldChsaXN0ZW5lci5zdG9yYWdlS2V5KSE7XG4gICAgfSxcbiAgICBbbGlzdGVuZXJzQ2FjaGVdXG4gICk7XG5cbiAgY29uc3QgYXR0YWNoTGlzdGVuZXIgPSB1c2VDYWxsYmFjayhcbiAgICAobGlzdGVuZXI6IExvY2FsU3RvcmFnZUV2ZW50TGlzdGVuZXIpOiB2b2lkID0+IHtcbiAgICAgIGlmICghaXNBdmFpbGFibGUpIHJldHVybjtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwic3RvcmFnZVwiLCBsaXN0ZW5lckZvcktleShsaXN0ZW5lcikpO1xuICAgIH0sXG4gICAgW2lzQXZhaWxhYmxlLCBsaXN0ZW5lckZvcktleV1cbiAgKTtcblxuICBjb25zdCBkZXRhY2hMaXN0ZW5lciA9IHVzZUNhbGxiYWNrKFxuICAgIChsaXN0ZW5lcjogTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcik6IHZvaWQgPT4ge1xuICAgICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuO1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzdG9yYWdlXCIsIGxpc3RlbmVyRm9yS2V5KGxpc3RlbmVyKSk7XG4gICAgfSxcbiAgICBbaXNBdmFpbGFibGUsIGxpc3RlbmVyRm9yS2V5XVxuICApO1xuXG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgc2V0SXRlbSxcbiAgICAgIGdldEl0ZW0sXG4gICAgICBzZXRTcGlmZnlPbkZlYXR1cmVGbGFnLFxuICAgICAgZ2V0U3BpZmZ5T25GZWF0dXJlRmxhZyxcbiAgICAgIGF0dGFjaExpc3RlbmVyLFxuICAgICAgZGV0YWNoTGlzdGVuZXIsXG4gICAgICBpc0F2YWlsYWJsZSxcbiAgICB9KSxcbiAgICBbXG4gICAgICBzZXRJdGVtLFxuICAgICAgZ2V0SXRlbSxcbiAgICAgIHNldFNwaWZmeU9uRmVhdHVyZUZsYWcsXG4gICAgICBnZXRTcGlmZnlPbkZlYXR1cmVGbGFnLFxuICAgICAgYXR0YWNoTGlzdGVuZXIsXG4gICAgICBkZXRhY2hMaXN0ZW5lcixcbiAgICAgIGlzQXZhaWxhYmxlLFxuICAgIF1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxMb2NhbFN0b3JhZ2VDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Mb2NhbFN0b3JhZ2VDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZUxvY2FsU3RvcmFnZSA9ICgpID0+IHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoTG9jYWxTdG9yYWdlQ29udGV4dCk7XG4gIGlmICghY29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwidXNlTG9jYWxTdG9yYWdlIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBMb2NhbFN0b3JhZ2VQcm92aWRlclwiXG4gICAgKTtcbiAgfVxuICByZXR1cm4gY29udGV4dDtcbn07XG4iLCJpbXBvcnQgTG9nZ2VyIGZyb20gXCJzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXJcIjtcbmltcG9ydCB7IGF0b20gfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7IEVudml2ZUNvbmZpZyB9IGZyb20gXCJzcmMvY29udGV4dHMvdHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHRTb3VyY2VFbnVtIH0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlS2V5cyB9IGZyb20gXCJzcmMvY29udGV4dHMvbG9jYWxTdG9yYWdlQ29udGV4dFwiO1xuXG5jb25zdCBpbnRlcm5hbEVudml2ZUNvbmZpZ0F0b20gPSBhdG9tPEVudml2ZUNvbmZpZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IGVudml2ZUNvbmZpZ0F0b20gPSBhdG9tKFxuICAoZ2V0KSA9PiB7XG4gICAgY29uc3QgY29uZmlnID0gZ2V0KGludGVybmFsRW52aXZlQ29uZmlnQXRvbSk7XG4gICAgTG9nZ2VyLmxvZ0RlYnVnKFxuICAgICAgXCJlbnZpdmVDb25maWcudHM6IEFjY2Vzc2luZyBpbnRlcm5hbEVudml2ZUNvbmZpZ0F0b21cIixcbiAgICAgIGNvbmZpZ1xuICAgICk7XG4gICAgcmV0dXJuIGNvbmZpZzsgLy8gUmV0dXJuIHVuZGVmaW5lZCBpZiBub3Qgc2V0IGluc3RlYWQgb2YgdGhyb3dpbmdcbiAgfSxcbiAgKF8sIHNldCwgdmFsdWU6IEVudml2ZUNvbmZpZykgPT4ge1xuICAgIHNldChpbnRlcm5hbEVudml2ZUNvbmZpZ0F0b20sIHZhbHVlKTtcbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGFtcGxpdHVkZUFwaUtleUF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgY29uZmlnID0gZ2V0KGVudml2ZUNvbmZpZ0F0b20pO1xuICByZXR1cm4gY29uZmlnPy5hbXBsaXR1ZGVBcGlLZXk7XG59KTtcbmV4cG9ydCBjb25zdCBkYXRhUmVzaWRlbmN5QXRvbSA9IGF0b20oKGdldCkgPT4ge1xuICBjb25zdCBjb25maWcgPSBnZXQoZW52aXZlQ29uZmlnQXRvbSk7XG4gIHJldHVybiBjb25maWc/LmRhdGFSZXNpZGVuY3k7XG59KTtcbmV4cG9ydCBjb25zdCBlbnZBdG9tID0gYXRvbSgoZ2V0KSA9PiB7XG4gIGNvbnN0IGNvbmZpZyA9IGdldChlbnZpdmVDb25maWdBdG9tKTtcbiAgcmV0dXJuIGNvbmZpZz8uZW52O1xufSk7XG5leHBvcnQgY29uc3QgYmFzZVVybEF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgY29uZmlnID0gZ2V0KGVudml2ZUNvbmZpZ0F0b20pO1xuICByZXR1cm4gY29uZmlnPy5iYXNlVXJsIHx8IFwiaHR0cHM6Ly9jb21tZXJjZS1hcGkuZGV2LnNwaWZmeS5haVwiO1xufSk7XG5leHBvcnQgY29uc3QgcmVhY3RBcHBOYW1lQXRvbSA9IGF0b20oKGdldCkgPT4ge1xuICBjb25zdCBjb25maWcgPSBnZXQoZW52aXZlQ29uZmlnQXRvbSk7XG4gIHJldHVybiBjb25maWc/LnJlYWN0QXBwTmFtZTtcbn0pO1xuZXhwb3J0IGNvbnN0IGNkblVybEF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgY29uZmlnID0gZ2V0KGVudml2ZUNvbmZpZ0F0b20pO1xuICByZXR1cm4gY29uZmlnPy5jZG5Vcmw7XG59KTtcblxuZXhwb3J0IGNvbnN0IGNvbnRleHRTb3VyY2VBdG9tID0gYXRvbSgoZ2V0KSA9PiB7XG4gIGNvbnN0IGNvbmZpZyA9IGdldChlbnZpdmVDb25maWdBdG9tKTtcblxuICBpZiAoY29uZmlnPy5jb250ZXh0U291cmNlKSB7XG4gICAgcmV0dXJuIGNvbmZpZy5jb250ZXh0U291cmNlIGFzIENvbnRleHRTb3VyY2VFbnVtO1xuICB9XG5cbiAgY29uc3Qgc3BpZmZ5T25GZWF0dXJlRmxhZ1NldCA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcbiAgICBMb2NhbFN0b3JhZ2VLZXlzLlNwaWZmeU9uT3ZlcnJpZGVcbiAgKTtcbiAgaWYgKHNwaWZmeU9uRmVhdHVyZUZsYWdTZXQgPT09IFwidHJ1ZVwiKSB7XG4gICAgcmV0dXJuIENvbnRleHRTb3VyY2VFbnVtLlBsYXlncm91bmQ7XG4gIH1cblxuICByZXR1cm4gQ29udGV4dFNvdXJjZUVudW0uQXBwO1xufSk7XG5cbmV4cG9ydCBjb25zdCBvcmdMZXZlbEFwaUtleUF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgY29uZmlnID0gZ2V0KGVudml2ZUNvbmZpZ0F0b20pO1xuICBMb2dnZXIubG9nRGVidWcoXCJlbnZpdmVDb25maWcudHM6IEFjY2Vzc2luZyBvcmdMZXZlbEFwaUtleVwiLCBjb25maWcpO1xuICByZXR1cm4gY29uZmlnPy5vcmdMZXZlbEFwaUtleTtcbn0pO1xuZXhwb3J0IGNvbnN0IG9yZ1Nob3J0TmFtZUF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgY29uZmlnID0gZ2V0KGVudml2ZUNvbmZpZ0F0b20pO1xuICBMb2dnZXIubG9nRGVidWcoXCJlbnZpdmVDb25maWcudHM6IEFjY2Vzc2luZyBvcmdTaG9ydE5hbWVcIiwgY29uZmlnKTtcbiAgcmV0dXJuIGNvbmZpZz8ub3JnU2hvcnROYW1lO1xufSk7XG5leHBvcnQgY29uc3QgaWRlbnRpZnlpbmdQcmVmaXhBdG9tID0gYXRvbSgoZ2V0KSA9PiB7XG4gIGNvbnN0IGNvbmZpZyA9IGdldChlbnZpdmVDb25maWdBdG9tKTtcbiAgTG9nZ2VyLmxvZ0RlYnVnKFwiZW52aXZlQ29uZmlnLnRzOiBBY2Nlc3NpbmcgaWRlbnRpZnlpbmdQcmVmaXhcIiwgY29uZmlnKTtcbiAgcmV0dXJuIGNvbmZpZz8uaWRlbnRpZnlpbmdQcmVmaXggfHwgXCJzcGlmZnlcIjtcbn0pO1xuXG5leHBvcnQgY29uc3QgcHVibGljS2V5QXRvbSA9IGF0b20oKGdldCkgPT4ge1xuICBjb25zdCBjb25maWcgPSBnZXQoZW52aXZlQ29uZmlnQXRvbSk7XG4gIExvZ2dlci5sb2dEZWJ1ZyhcImVudml2ZUNvbmZpZy50czogQWNjZXNzaW5nIHB1YmxpY0tleVwiLCBjb25maWcpO1xuICByZXR1cm4gY29uZmlnPy5wdWJsaWNLZXk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBVUEsSUFBWSxnRUFBTDtBQUNMO0FBQ0E7QUFDQTs7O0FBYUYsTUFBTSwrQ0FBb0UsS0FBSztBQUUvRSxNQUFhQSx3QkFBaUUsRUFDNUUsZUFDSTtDQUNKLE1BQU0sdUNBQTRCO0FBQ2hDLE1BQUk7QUFDRixVQUFPLE9BQU8sV0FBVyxlQUFlLENBQUMsQ0FBQyxPQUFPO1VBQzNDO0FBQ04sVUFBTzs7SUFFUixFQUFFLENBQUM7QUFFTiw0QkFBZ0I7QUFDZCxNQUFJLENBQUMsWUFDSCw0QkFBTyxTQUFTLGlDQUFpQyxPQUFVO0lBRTVELENBQUMsWUFBWSxDQUFDO0NBRWpCLE1BQU0sa0NBQ0gsS0FBYSxZQUFrQjtBQUM5QixNQUFJLENBQUMsWUFBYTtBQUNsQixlQUFhLFFBQVEsS0FBS0MsUUFBTTtBQUNoQyxTQUFPLGNBQ0wsSUFBSSxhQUFhLFdBQVc7R0FBRTtHQUFLLFVBQVVBO0dBQU8sQ0FBQyxDQUN0RDtJQUVILENBQUMsWUFBWSxDQUNkO0NBRUQsTUFBTSxrQ0FDSCxRQUFnQjtBQUNmLE1BQUksQ0FBQyxZQUFhLFFBQU87QUFDekIsU0FBTyxhQUFhLFFBQVEsSUFBSTtJQUVsQyxDQUFDLFlBQVksQ0FDZDtDQUVELE1BQU0saURBQ0gsWUFBZ0M7QUFDL0IsTUFBSSxDQUFDLFlBQWE7QUFDbEIsTUFBSUEsWUFBVSxLQUNaLGNBQWEsUUFBUSxpQkFBaUIsa0JBQWtCLE9BQU87V0FDdERBLFlBQVUsTUFDbkIsY0FBYSxR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
@@ -0,0 +1,152 @@
1
+ import { logger_default } from "./api-DjeZXxl_.js";
2
+ import React, { createContext, useCallback, useContext, useEffect, useMemo } from "react";
3
+ import { atom } from "jotai";
4
+ import { ContextSourceEnum } from "@spiffy-ai/commerce-api-client";
5
+ import { jsx } from "react/jsx-runtime";
6
+
7
+ //#region src/contexts/localStorageContext.tsx
8
+ let LocalStorageKeys = /* @__PURE__ */ function(LocalStorageKeys$1) {
9
+ LocalStorageKeys$1["ChatId"] = "v1-spiffy-chat-session-id";
10
+ LocalStorageKeys$1["SpiffyOnOverride"] = "spiffy_on";
11
+ LocalStorageKeys$1["EnviveOnOverride"] = "envive_on";
12
+ return LocalStorageKeys$1;
13
+ }({});
14
+ const LocalStorageContext = createContext(null);
15
+ const LocalStorageProvider = ({ children }) => {
16
+ const isAvailable = useMemo(() => {
17
+ try {
18
+ return typeof window !== "undefined" && !!window.localStorage;
19
+ } catch {
20
+ return false;
21
+ }
22
+ }, []);
23
+ useEffect(() => {
24
+ if (!isAvailable) logger_default.logError("localStorage is not available", void 0);
25
+ }, [isAvailable]);
26
+ const setItem = useCallback((key, value$1) => {
27
+ if (!isAvailable) return;
28
+ localStorage.setItem(key, value$1);
29
+ window.dispatchEvent(new StorageEvent("storage", {
30
+ key,
31
+ newValue: value$1
32
+ }));
33
+ }, [isAvailable]);
34
+ const getItem = useCallback((key) => {
35
+ if (!isAvailable) return null;
36
+ return localStorage.getItem(key);
37
+ }, [isAvailable]);
38
+ const setSpiffyOnFeatureFlag = useCallback((value$1) => {
39
+ if (!isAvailable) return;
40
+ if (value$1 === true) localStorage.setItem(LocalStorageKeys.SpiffyOnOverride, "true");
41
+ else if (value$1 === false) localStorage.setItem(LocalStorageKeys.SpiffyOnOverride, "false");
42
+ }, [isAvailable]);
43
+ const getSpiffyOnFeatureFlag = useCallback(() => {
44
+ if (!isAvailable) return null;
45
+ return localStorage.getItem(LocalStorageKeys.SpiffyOnOverride);
46
+ }, [isAvailable]);
47
+ const listenersCache = useMemo(() => /* @__PURE__ */ new Map(), []);
48
+ const listenerForKey = useCallback((listener) => {
49
+ if (!listenersCache.has(listener.storageKey)) {
50
+ const handler = (event) => {
51
+ if (event.key !== listener.storageKey) return;
52
+ logger_default.logDebug(`[spiffy-ai] Storage event key=${event.key}, value=`, event.newValue);
53
+ listener.listener(event);
54
+ };
55
+ listenersCache.set(listener.storageKey, handler);
56
+ }
57
+ return listenersCache.get(listener.storageKey);
58
+ }, [listenersCache]);
59
+ const attachListener = useCallback((listener) => {
60
+ if (!isAvailable) return;
61
+ window.addEventListener("storage", listenerForKey(listener));
62
+ }, [isAvailable, listenerForKey]);
63
+ const detachListener = useCallback((listener) => {
64
+ if (!isAvailable) return;
65
+ window.removeEventListener("storage", listenerForKey(listener));
66
+ }, [isAvailable, listenerForKey]);
67
+ const value = useMemo(() => ({
68
+ setItem,
69
+ getItem,
70
+ setSpiffyOnFeatureFlag,
71
+ getSpiffyOnFeatureFlag,
72
+ attachListener,
73
+ detachListener,
74
+ isAvailable
75
+ }), [
76
+ setItem,
77
+ getItem,
78
+ setSpiffyOnFeatureFlag,
79
+ getSpiffyOnFeatureFlag,
80
+ attachListener,
81
+ detachListener,
82
+ isAvailable
83
+ ]);
84
+ return /* @__PURE__ */ jsx(LocalStorageContext.Provider, {
85
+ value,
86
+ children
87
+ });
88
+ };
89
+ const useLocalStorage = () => {
90
+ const context = useContext(LocalStorageContext);
91
+ if (!context) throw new Error("useLocalStorage must be used within a LocalStorageProvider");
92
+ return context;
93
+ };
94
+
95
+ //#endregion
96
+ //#region src/atoms/envive/enviveConfig.ts
97
+ const internalEnviveConfigAtom = atom(void 0);
98
+ const enviveConfigAtom = atom((get) => {
99
+ const config = get(internalEnviveConfigAtom);
100
+ logger_default.logDebug("enviveConfig.ts: Accessing internalEnviveConfigAtom", config);
101
+ return config;
102
+ }, (_, set, value) => {
103
+ set(internalEnviveConfigAtom, value);
104
+ });
105
+ const amplitudeApiKeyAtom = atom((get) => {
106
+ return get(enviveConfigAtom)?.amplitudeApiKey;
107
+ });
108
+ const dataResidencyAtom = atom((get) => {
109
+ return get(enviveConfigAtom)?.dataResidency;
110
+ });
111
+ const envAtom = atom((get) => {
112
+ return get(enviveConfigAtom)?.env;
113
+ });
114
+ const baseUrlAtom = atom((get) => {
115
+ return get(enviveConfigAtom)?.baseUrl || "https://commerce-api.dev.spiffy.ai";
116
+ });
117
+ const reactAppNameAtom = atom((get) => {
118
+ return get(enviveConfigAtom)?.reactAppName;
119
+ });
120
+ const cdnUrlAtom = atom((get) => {
121
+ return get(enviveConfigAtom)?.cdnUrl;
122
+ });
123
+ const contextSourceAtom = atom((get) => {
124
+ const config = get(enviveConfigAtom);
125
+ if (config?.contextSource) return config.contextSource;
126
+ if (window.localStorage.getItem(LocalStorageKeys.SpiffyOnOverride) === "true") return ContextSourceEnum.Playground;
127
+ return ContextSourceEnum.App;
128
+ });
129
+ const orgLevelApiKeyAtom = atom((get) => {
130
+ const config = get(enviveConfigAtom);
131
+ logger_default.logDebug("enviveConfig.ts: Accessing orgLevelApiKey", config);
132
+ return config?.orgLevelApiKey;
133
+ });
134
+ const orgShortNameAtom = atom((get) => {
135
+ const config = get(enviveConfigAtom);
136
+ logger_default.logDebug("enviveConfig.ts: Accessing orgShortName", config);
137
+ return config?.orgShortName;
138
+ });
139
+ const identifyingPrefixAtom = atom((get) => {
140
+ const config = get(enviveConfigAtom);
141
+ logger_default.logDebug("enviveConfig.ts: Accessing identifyingPrefix", config);
142
+ return config?.identifyingPrefix || "spiffy";
143
+ });
144
+ const publicKeyAtom = atom((get) => {
145
+ const config = get(enviveConfigAtom);
146
+ logger_default.logDebug("enviveConfig.ts: Accessing publicKey", config);
147
+ return config?.publicKey;
148
+ });
149
+
150
+ //#endregion
151
+ export { LocalStorageKeys, LocalStorageProvider, amplitudeApiKeyAtom, baseUrlAtom, cdnUrlAtom, contextSourceAtom, dataResidencyAtom, envAtom, enviveConfigAtom, identifyingPrefixAtom, orgLevelApiKeyAtom, orgShortNameAtom, reactAppNameAtom, useLocalStorage };
152
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnLUN6aFR6OEFhLmpzIiwibmFtZXMiOlsiTG9jYWxTdG9yYWdlUHJvdmlkZXI6IFJlYWN0LkZDPHsgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSB9PiIsInZhbHVlIl0sInNvdXJjZXMiOlsiLi4vc3JjL2NvbnRleHRzL2xvY2FsU3RvcmFnZUNvbnRleHQudHN4IiwiLi4vc3JjL2F0b21zL2Vudml2ZS9lbnZpdmVDb25maWcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIGNyZWF0ZUNvbnRleHQsXG4gIHVzZUNvbnRleHQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VNZW1vLFxuICB1c2VFZmZlY3QsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IExvZ2dlciBmcm9tIFwiLi4vYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXJcIjtcbmltcG9ydCB7IExvY2FsU3RvcmFnZUV2ZW50TGlzdGVuZXIgfSBmcm9tIFwiLi4vYXBwbGljYXRpb24vbW9kZWxzL2xvY2FsU3RvcmFnZUV2ZW50TGlzdGVuZXJcIjtcblxuZXhwb3J0IGVudW0gTG9jYWxTdG9yYWdlS2V5cyB7XG4gIENoYXRJZCA9IFwidjEtc3BpZmZ5LWNoYXQtc2Vzc2lvbi1pZFwiLFxuICBTcGlmZnlPbk92ZXJyaWRlID0gXCJzcGlmZnlfb25cIixcbiAgRW52aXZlT25PdmVycmlkZSA9IFwiZW52aXZlX29uXCIsXG59XG5cbmludGVyZmFjZSBMb2NhbFN0b3JhZ2VDb250ZXh0VHlwZSB7XG4gIHNldEl0ZW06IChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgZ2V0SXRlbTogKGtleTogc3RyaW5nKSA9PiBzdHJpbmcgfCBudWxsO1xuICBzZXRTcGlmZnlPbkZlYXR1cmVGbGFnOiAodmFsdWU6IGJvb2xlYW4gfCBudWxsKSA9PiB2b2lkO1xuICBnZXRTcGlmZnlPbkZlYXR1cmVGbGFnOiAoKSA9PiBzdHJpbmcgfCBudWxsO1xuICBhdHRhY2hMaXN0ZW5lcjogKGxpc3RlbmVyOiBMb2NhbFN0b3JhZ2VFdmVudExpc3RlbmVyKSA9PiB2b2lkO1xuICBkZXRhY2hMaXN0ZW5lcjogKGxpc3RlbmVyOiBMb2NhbFN0b3JhZ2VFdmVudExpc3RlbmVyKSA9PiB2b2lkO1xuICBpc0F2YWlsYWJsZTogYm9vbGVhbjtcbn1cblxuY29uc3QgTG9jYWxTdG9yYWdlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8TG9jYWxTdG9yYWdlQ29udGV4dFR5cGUgfCBudWxsPihudWxsKTtcblxuZXhwb3J0IGNvbnN0IExvY2FsU3RvcmFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4gPSAoe1xuICBjaGlsZHJlbixcbn0pID0+IHtcbiAgY29uc3QgaXNBdmFpbGFibGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgISF3aW5kb3cubG9jYWxTdG9yYWdlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0F2YWlsYWJsZSkge1xuICAgICAgTG9nZ2VyLmxvZ0Vycm9yKFwibG9jYWxTdG9yYWdlIGlzIG5vdCBhdmFpbGFibGVcIiwgdW5kZWZpbmVkKTtcbiAgICB9XG4gIH0sIFtpc0F2YWlsYWJsZV0pO1xuXG4gIGNvbnN0IHNldEl0ZW0gPSB1c2VDYWxsYmFjayhcbiAgICAoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgIGlmICghaXNBdmFpbGFibGUpIHJldHVybjtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWUpO1xuICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBTdG9yYWdlRXZlbnQoXCJzdG9yYWdlXCIsIHsga2V5LCBuZXdWYWx1ZTogdmFsdWUgfSlcbiAgICAgICk7XG4gICAgfSxcbiAgICBbaXNBdmFpbGFibGVdXG4gICk7XG5cbiAgY29uc3QgZ2V0SXRlbSA9IHVzZUNhbGxiYWNrKFxuICAgIChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuIG51bGw7XG4gICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICB9LFxuICAgIFtpc0F2YWlsYWJsZV1cbiAgKTtcblxuICBjb25zdCBzZXRTcGlmZnlPbkZlYXR1cmVGbGFnID0gdXNlQ2FsbGJhY2soXG4gICAgKHZhbHVlOiBib29sZWFuIHwgbnVsbCk6IHZvaWQgPT4ge1xuICAgICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuO1xuICAgICAgaWYgKHZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKExvY2FsU3RvcmFnZUtleXMuU3BpZmZ5T25PdmVycmlkZSwgXCJ0cnVlXCIpO1xuICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oTG9jYWxTdG9yYWdlS2V5cy5TcGlmZnlPbk92ZXJyaWRlLCBcImZhbHNlXCIpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2lzQXZhaWxhYmxlXVxuICApO1xuXG4gIGNvbnN0IGdldFNwaWZmeU9uRmVhdHVyZUZsYWcgPSB1c2VDYWxsYmFjaygoKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZUtleXMuU3BpZmZ5T25PdmVycmlkZSk7XG4gIH0sIFtpc0F2YWlsYWJsZV0pO1xuXG4gIGNvbnN0IGxpc3RlbmVyc0NhY2hlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBuZXcgTWFwPHN0cmluZywgKGV2ZW50OiBTdG9yYWdlRXZlbnQpID0+IHZvaWQ+KCksXG4gICAgW11cbiAgKTtcblxuICBjb25zdCBsaXN0ZW5lckZvcktleSA9IHVzZUNhbGxiYWNrKFxuICAgIChsaXN0ZW5lcjogTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcik6ICgoZXZlbnQ6IFN0b3JhZ2VFdmVudCkgPT4gdm9pZCkgPT4ge1xuICAgICAgaWYgKCFsaXN0ZW5lcnNDYWNoZS5oYXMobGlzdGVuZXIuc3RvcmFnZUtleSkpIHtcbiAgICAgICAgY29uc3QgaGFuZGxlciA9IChldmVudDogU3RvcmFnZUV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50LmtleSAhPT0gbGlzdGVuZXIuc3RvcmFnZUtleSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBMb2dnZXIubG9nRGVidWcoXG4gICAgICAgICAgICBgW3NwaWZmeS1haV0gU3RvcmFnZSBldmVudCBrZXk9JHtldmVudC5rZXl9LCB2YWx1ZT1gLFxuICAgICAgICAgICAgZXZlbnQubmV3VmFsdWVcbiAgICAgICAgICApO1xuICAgICAgICAgIGxpc3RlbmVyLmxpc3RlbmVyKGV2ZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgbGlzdGVuZXJzQ2FjaGUuc2V0KGxpc3RlbmVyLnN0b3JhZ2VLZXksIGhhbmRsZXIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGxpc3RlbmVyc0NhY2hlLmdldChsaXN0ZW5lci5zdG9yYWdlS2V5KSE7XG4gICAgfSxcbiAgICBbbGlzdGVuZXJzQ2FjaGVdXG4gICk7XG5cbiAgY29uc3QgYXR0YWNoTGlzdGVuZXIgPSB1c2VDYWxsYmFjayhcbiAgICAobGlzdGVuZXI6IExvY2FsU3RvcmFnZUV2ZW50TGlzdGVuZXIpOiB2b2lkID0+IHtcbiAgICAgIGlmICghaXNBdmFpbGFibGUpIHJldHVybjtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwic3RvcmFnZVwiLCBsaXN0ZW5lckZvcktleShsaXN0ZW5lcikpO1xuICAgIH0sXG4gICAgW2lzQXZhaWxhYmxlLCBsaXN0ZW5lckZvcktleV1cbiAgKTtcblxuICBjb25zdCBkZXRhY2hMaXN0ZW5lciA9IHVzZUNhbGxiYWNrKFxuICAgIChsaXN0ZW5lcjogTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcik6IHZvaWQgPT4ge1xuICAgICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuO1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzdG9yYWdlXCIsIGxpc3RlbmVyRm9yS2V5KGxpc3RlbmVyKSk7XG4gICAgfSxcbiAgICBbaXNBdmFpbGFibGUsIGxpc3RlbmVyRm9yS2V5XVxuICApO1xuXG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgc2V0SXRlbSxcbiAgICAgIGdldEl0ZW0sXG4gICAgICBzZXRTcGlmZnlPbkZlYXR1cmVGbGFnLFxuICAgICAgZ2V0U3BpZmZ5T25GZWF0dXJlRmxhZyxcbiAgICAgIGF0dGFjaExpc3RlbmVyLFxuICAgICAgZGV0YWNoTGlzdGVuZXIsXG4gICAgICBpc0F2YWlsYWJsZSxcbiAgICB9KSxcbiAgICBbXG4gICAgICBzZXRJdGVtLFxuICAgICAgZ2V0SXRlbSxcbiAgICAgIHNldFNwaWZmeU9uRmVhdHVyZUZsYWcsXG4gICAgICBnZXRTcGlmZnlPbkZlYXR1cmVGbGFnLFxuICAgICAgYXR0YWNoTGlzdGVuZXIsXG4gICAgICBkZXRhY2hMaXN0ZW5lcixcbiAgICAgIGlzQXZhaWxhYmxlLFxuICAgIF1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxMb2NhbFN0b3JhZ2VDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Mb2NhbFN0b3JhZ2VDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZUxvY2FsU3RvcmFnZSA9ICgpID0+IHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoTG9jYWxTdG9yYWdlQ29udGV4dCk7XG4gIGlmICghY29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwidXNlTG9jYWxTdG9yYWdlIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBMb2NhbFN0b3JhZ2VQcm92aWRlclwiXG4gICAgKTtcbiAgfVxuICByZXR1cm4gY29udGV4dDtcbn07XG4iLCJpbXBvcnQgTG9nZ2VyIGZyb20gXCJzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXJcIjtcbmltcG9ydCB7IGF0b20gfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7IEVudml2ZUNvbmZpZyB9IGZyb20gXCJzcmMvY29udGV4dHMvdHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHRTb3VyY2VFbnVtIH0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlS2V5cyB9IGZyb20gXCJzcmMvY29udGV4dHMvbG9jYWxTdG9yYWdlQ29udGV4dFwiO1xuXG5jb25zdCBpbnRlcm5hbEVudml2ZUNvbmZpZ0F0b20gPSBhdG9tPEVudml2ZUNvbmZpZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IGVudml2ZUNvbmZpZ0F0b20gPSBhdG9tKFxuICAoZ2V0KSA9PiB7XG4gICAgY29uc3QgY29uZmlnID0gZ2V0KGludGVybmFsRW52aXZlQ29uZmlnQXRvbSk7XG4gICAgTG9nZ2VyLmxvZ0RlYnVnKFxuICAgICAgXCJlbnZpdmVDb25maWcudHM6IEFjY2Vzc2luZyBpbnRlcm5hbEVudml2ZUNvbmZpZ0F0b21cIixcbiAgICAgIGNvbmZpZ1xuICAgICk7XG4gICAgcmV0dXJuIGNvbmZpZzsgLy8gUmV0dXJuIHVuZGVmaW5lZCBpZiBub3Qgc2V0IGluc3RlYWQgb2YgdGhyb3dpbmdcbiAgfSxcbiAgKF8sIHNldCwgdmFsdWU6IEVudml2ZUNvbmZpZykgPT4ge1xuICAgIHNldChpbnRlcm5hbEVudml2ZUNvbmZpZ0F0b20sIHZhbHVlKTtcbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGFtcGxpdHVkZUFwaUtleUF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgY29uZmlnID0gZ2V0KGVudml2ZUNvbmZpZ0F0b20pO1xuICByZXR1cm4gY29uZmlnPy5hbXBsaXR1ZGVBcGlLZXk7XG59KTtcbmV4cG9ydCBjb25zdCBkYXRhUmVzaWRlbmN5QXRvbSA9IGF0b20oKGdldCkgPT4ge1xuICBjb25zdCBjb25maWcgPSBnZXQoZW52aXZlQ29uZmlnQXRvbSk7XG4gIHJldHVybiBjb25maWc/LmRhdGFSZXNpZGVuY3k7XG59KTtcbmV4cG9ydCBjb25zdCBlbnZBdG9tID0gYXRvbSgoZ2V0KSA9PiB7XG4gIGNvbnN0IGNvbmZpZyA9IGdldChlbnZpdmVDb25maWdBdG9tKTtcbiAgcmV0dXJuIGNvbmZpZz8uZW52O1xufSk7XG5leHBvcnQgY29uc3QgYmFzZVVybEF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgY29uZmlnID0gZ2V0KGVudml2ZUNvbmZpZ0F0b20pO1xuICByZXR1cm4gY29uZmlnPy5iYXNlVXJsIHx8IFwiaHR0cHM6Ly9jb21tZXJjZS1hcGkuZGV2LnNwaWZmeS5haVwiO1xufSk7XG5leHBvcnQgY29uc3QgcmVhY3RBcHBOYW1lQXRvbSA9IGF0b20oKGdldCkgPT4ge1xuICBjb25zdCBjb25maWcgPSBnZXQoZW52aXZlQ29uZmlnQXRvbSk7XG4gIHJldHVybiBjb25maWc/LnJlYWN0QXBwTmFtZTtcbn0pO1xuZXhwb3J0IGNvbnN0IGNkblVybEF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgY29uZmlnID0gZ2V0KGVudml2ZUNvbmZpZ0F0b20pO1xuICByZXR1cm4gY29uZmlnPy5jZG5Vcmw7XG59KTtcblxuZXhwb3J0IGNvbnN0IGNvbnRleHRTb3VyY2VBdG9tID0gYXRvbSgoZ2V0KSA9PiB7XG4gIGNvbnN0IGNvbmZpZyA9IGdldChlbnZpdmVDb25maWdBdG9tKTtcblxuICBpZiAoY29uZmlnPy5jb250ZXh0U291cmNlKSB7XG4gICAgcmV0dXJuIGNvbmZpZy5jb250ZXh0U291cmNlIGFzIENvbnRleHRTb3VyY2VFbnVtO1xuICB9XG5cbiAgY29uc3Qgc3BpZmZ5T25GZWF0dXJlRmxhZ1NldCA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcbiAgICBMb2NhbFN0b3JhZ2VLZXlzLlNwaWZmeU9uT3ZlcnJpZGVcbiAgKTtcbiAgaWYgKHNwaWZmeU9uRmVhdHVyZUZsYWdTZXQgPT09IFwidHJ1ZVwiKSB7XG4gICAgcmV0dXJuIENvbnRleHRTb3VyY2VFbnVtLlBsYXlncm91bmQ7XG4gIH1cblxuICByZXR1cm4gQ29udGV4dFNvdXJjZUVudW0uQXBwO1xufSk7XG5cbmV4cG9ydCBjb25zdCBvcmdMZXZlbEFwaUtleUF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgY29uZmlnID0gZ2V0KGVudml2ZUNvbmZpZ0F0b20pO1xuICBMb2dnZXIubG9nRGVidWcoXCJlbnZpdmVDb25maWcudHM6IEFjY2Vzc2luZyBvcmdMZXZlbEFwaUtleVwiLCBjb25maWcpO1xuICByZXR1cm4gY29uZmlnPy5vcmdMZXZlbEFwaUtleTtcbn0pO1xuZXhwb3J0IGNvbnN0IG9yZ1Nob3J0TmFtZUF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgY29uZmlnID0gZ2V0KGVudml2ZUNvbmZpZ0F0b20pO1xuICBMb2dnZXIubG9nRGVidWcoXCJlbnZpdmVDb25maWcudHM6IEFjY2Vzc2luZyBvcmdTaG9ydE5hbWVcIiwgY29uZmlnKTtcbiAgcmV0dXJuIGNvbmZpZz8ub3JnU2hvcnROYW1lO1xufSk7XG5leHBvcnQgY29uc3QgaWRlbnRpZnlpbmdQcmVmaXhBdG9tID0gYXRvbSgoZ2V0KSA9PiB7XG4gIGNvbnN0IGNvbmZpZyA9IGdldChlbnZpdmVDb25maWdBdG9tKTtcbiAgTG9nZ2VyLmxvZ0RlYnVnKFwiZW52aXZlQ29uZmlnLnRzOiBBY2Nlc3NpbmcgaWRlbnRpZnlpbmdQcmVmaXhcIiwgY29uZmlnKTtcbiAgcmV0dXJuIGNvbmZpZz8uaWRlbnRpZnlpbmdQcmVmaXggfHwgXCJzcGlmZnlcIjtcbn0pO1xuXG5leHBvcnQgY29uc3QgcHVibGljS2V5QXRvbSA9IGF0b20oKGdldCkgPT4ge1xuICBjb25zdCBjb25maWcgPSBnZXQoZW52aXZlQ29uZmlnQXRvbSk7XG4gIExvZ2dlci5sb2dEZWJ1ZyhcImVudml2ZUNvbmZpZy50czogQWNjZXNzaW5nIHB1YmxpY0tleVwiLCBjb25maWcpO1xuICByZXR1cm4gY29uZmlnPy5wdWJsaWNLZXk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQVVBLElBQVksZ0VBQUw7QUFDTDtBQUNBO0FBQ0E7OztBQWFGLE1BQU0sc0JBQXNCLGNBQThDLEtBQUs7QUFFL0UsTUFBYUEsd0JBQWlFLEVBQzVFLGVBQ0k7Q0FDSixNQUFNLGNBQWMsY0FBYztBQUNoQyxNQUFJO0FBQ0YsVUFBTyxPQUFPLFdBQVcsZUFBZSxDQUFDLENBQUMsT0FBTztVQUMzQztBQUNOLFVBQU87O0lBRVIsRUFBRSxDQUFDO0FBRU4saUJBQWdCO0FBQ2QsTUFBSSxDQUFDLFlBQ0gsZ0JBQU8sU0FBUyxpQ0FBaUMsT0FBVTtJQUU1RCxDQUFDLFlBQVksQ0FBQztDQUVqQixNQUFNLFVBQVUsYUFDYixLQUFhLFlBQWtCO0FBQzlCLE1BQUksQ0FBQyxZQUFhO0FBQ2xCLGVBQWEsUUFBUSxLQUFLQyxRQUFNO0FBQ2hDLFNBQU8sY0FDTCxJQUFJLGFBQWEsV0FBVztHQUFFO0dBQUssVUFBVUE7R0FBTyxDQUFDLENBQ3REO0lBRUgsQ0FBQyxZQUFZLENBQ2Q7Q0FFRCxNQUFNLFVBQVUsYUFDYixRQUFnQjtBQUNmLE1BQUksQ0FBQyxZQUFhLFFBQU87QUFDekIsU0FBTyxhQUFhLFFBQVEsSUFBSTtJQUVsQyxDQUFDLFlBQVksQ0FDZDtDQUVELE1BQU0seUJBQXlCLGFBQzVCLFlBQWdDO0FBQy9CLE1BQUksQ0FBQyxZQUFhO0FBQ2xCLE1BQUlBLFlBQVUsS0FDWixjQUFhLFFBQVEsaUJBQWlCLGtCQUFrQixPQUFPO1dBQ3REQSxZQUFVLE1BQ25CLGNBQWEsUUFBUSxpQkFBaUIsa0JBQWtCLFFBQVE7SUFHcEUsQ0FBQyxZQUFZLENBQ2Q7Q0FFRCxNQUFNLHlCQUF5QixrQkFBaUM7QUFDOUQsTUFBSSxDQUFDLFlBQWEsUUFBTztBQUN6QixTQUFPLGFBQWEsUUFBUSxpQkFBaUIsaUJBQWlCO0lBQzdELENBQUMsWUFBWSxDQUFDO0NBRWpCLE1BQU0saUJBQWlCLDhCQUNmLElBQUksS0FBNEMsRUFDdEQsRUFBRSxDQUNIO0NBRUQsTUFBTSxpQkFBaUIsYUFDcEIsYUFBeUU7QUFDeEUsTUFBSSxDQUFDLGVBQWUsSUFBSSxTQUFTLFdBQVcsRUFBRTtHQUM1QyxNQUFNLFdBQVcsVUFBd0I7QUFDdkMsUUFBSSxNQUFNLFFBQVEsU0FBUyxXQUN6QjtBQUVGLG1CQUFPLFNBQ0wsaUNBQWlDLE1BQU0sSUFBSSxXQUMzQyxNQUFNLFNBQ1A7QUFDRCxhQUFTLFNBQVMsTUFBTTs7QUFFMUIsa0JBQWUsSUFBSSxTQUFTLFlBQVksUUFBUTs7QUFFbEQsU0FBTyxlQUFlLElBQUksU0FBUyxXQUFXO0lBRWhELENBQUMsZUFBZSxDQUNqQjtDQUVELE1BQU0saUJBQWlCLGFBQ3BCLGFBQThDO0FBQzdDLE1BQUksQ0FBQyxZQUFhO0FBQ2xCLFNBQU8saUJBQWlCLFdBQVcsZUFBZSxTQUFTLENBQUM7SUFFOUQsQ0FBQyxhQUFhLGVBQWUsQ0FDOUI7Q0FFRCxNQUFNLGlCQUFpQixhQUNwQixhQUE4QztBQUM3QyxNQUFJLENBQUMsWUFBYTtBQUNsQixTQUFPLG9CQUFvQixXQUFXLGVBQWUsU0FBUyxDQUFDO0lBRWpFLENBQUMsYUFBYSxlQUFlLENBQzlCO0NBRUQsTUFBTSxRQUFRLGVBQ0w7RUFDTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNELEdBQ0Q7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNELENBQ0Y7QUFFRCxRQUNFLG9CQUFDLG9CQUFvQjtFQUFnQjtFQUNsQztHQUM0Qjs7QUFJbkMsTUFBYSx3QkFBd0I7Q0FDbkMsTUFBTSxVQUFVLFdBQVcsb0JBQW9CO0FBQy9DLEtBQUksQ0FBQyxRQUNILE9BQU0sSUFBSSxNQUNSLDZEQUNEO0FBRUgsUUFBTzs7Ozs7QUN2SlQsTUFBTSwyQkFBMkIsS0FBK0IsT0FBVTtBQUUxRSxNQUFhLG1CQUFtQixNQUM3QixRQUFRO0NBQ1AsTUFBTSxTQUFTLElBQUkseUJBQXlCO0FBQzVDLGdCQUFPLFNBQ0wsdURBQ0EsT0FDRDtBQUNELFFBQU87SUFFUixHQUFHLEtBQUssVUFBd0I7QUFDL0IsS0FBSSwwQkFBMEIsTUFBTTtFQUV2QztBQUVELE1BQWEsc0JBQXNCLE1BQU0sUUFBUTtBQUUvQyxRQURlLElBQUksaUJBQWlCLEVBQ3JCO0VBQ2Y7QUFDRixNQUFhLG9CQUFvQixNQUFNLFFBQVE7QUFFN0MsUUFEZSxJQUFJLGlCQUFpQixFQUNyQjtFQUNmO0FBQ0YsTUFBYSxVQUFVLE1BQU0sUUFBUTtBQUVuQyxRQURlLElBQUksaUJBQWlCLEVBQ3JCO0VBQ2Y7QUFDRixNQUFhLGNBQWMsTUFBTSxRQUFRO0FBRXZDLFFBRGUsSUFBSSxpQkFBaUIsRUFDckIsV0FBVztFQUMxQjtBQUNGLE1BQWEsbUJBQW1CLE1BQU0sUUFBUTtBQUU1QyxRQURlLElBQUksaUJBQWlCLEVBQ3JCO0VBQ2Y7QUFDRixNQUFhLGFBQWEsTUFBTSxRQUFRO0FBRXRDLFFBRGUsSUFBSSxpQkFBaUIsRUFDckI7RUFDZjtBQUVGLE1BQWEsb0JBQW9CLE1BQU0sUUFBUTtDQUM3QyxNQUFNLFNBQVMsSUFBSSxpQkFBaUI7QUFFcEMsS0FBSSxRQUFRLGNBQ1YsUUFBTyxPQUFPO0FBTWhCLEtBSCtCLE9BQU8sYUFBYSxRQUNqRCxpQkFBaUIsaUJBQ2xCLEtBQzhCLE9BQzdCLFFBQU8sa0JBQWtCO0FBRzNCLFFBQU8sa0JBQWtCO0VBQ3pCO0FBRUYsTUFBYSxxQkFBcUIsTUFBTSxRQUFRO0NBQzlDLE1BQU0sU0FBUyxJQUFJLGlCQUFpQjtBQUNwQyxnQkFBTyxTQUFTLDZDQUE2QyxPQUFPO0FBQ3BFLFFBQU8sUUFBUTtFQUNmO0FBQ0YsTUFBYSxtQkFBbUIsTUFBTSxRQUFRO0NBQzVDLE1BQU0sU0FBUyxJQUFJLGlCQUFpQjtBQUNwQyxnQkFBTyxTQUFTLDJDQUEyQyxPQUFPO0FBQ2xFLFFBQU8sUUFBUTtFQUNmO0FBQ0YsTUFBYSx3QkFBd0IsTUFBTSxRQUFRO0NBQ2pELE1BQU0sU0FBUyxJQUFJLGlCQUFpQjtBQUNwQyxnQkFBTyxTQUFTLGdEQUFnRCxPQUFPO0FBQ3ZFLFFBQU8sUUFBUSxxQkFBcUI7RUFDcEM7QUFFRixNQUFhLGdCQUFnQixNQUFNLFFBQVE7Q0FDekMsTUFBTSxTQUFTLElBQUksaUJBQWlCO0FBQ3BDLGdCQUFPLFNBQVMsd0NBQXdDLE9BQU87QUFDL0QsUUFBTyxRQUFRO0VBQ2YifQ==
@@ -1,4 +1,4 @@
1
- const require_events = require('../events-Da7gpmGv.cjs');
1
+ const require_events = require('../events-DwT6cEwI.cjs');
2
2
 
3
3
  exports.EventsDispatcher = require_events.EventsDispatcher;
4
4
  exports.SpiffyEvent = require_events.SpiffyEvent;
@@ -43,4 +43,4 @@ declare class EventsDispatcher {
43
43
  }
44
44
  //#endregion
45
45
  export { EventsDispatcher, SpiffyEvent };
46
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V2ZW50cy9ldmVudC10eXBlcy5kLnRzIiwiLi4vLi4vc3JjL2V2ZW50cy9pbmRleC5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWNsYXJlIGVudW0gU3BpZmZ5RXZlbnQge1xuICAgIEFNUExJVFVERV9FVkVOVCA9IFwiU1BJRkZZX0FNUExJVFVERV9FVkVOVFwiLFxuICAgIEFQUF9JTklUSUFMSVpFRCA9IFwiU1BJRkZZX0FQUF9JTklUSUFMSVpFRFwiLFxuICAgIENBTExfTUVSQ0hBTlRfQVBQID0gXCJTUElGRllfQ0FMTF9NRVJDSEFOVF9BUFBcIixcbiAgICBNT1VOVElOR19NRVJDSEFOVF9BUFAgPSBcIlNQSUZGWV9NT1VOVElOR19NRVJDSEFOVF9BUFBcIixcbiAgICBDSEFUX0ZBQ1RPUllfSU5JVElBTElaRUQgPSBcIlNQSUZGWV9DSEFUX0ZBQ1RPUllfSU5JVElBTElaRURcIixcbiAgICBGTE9BVElOR19DSEFUX1JFTkRFUklORyA9IFwiU1BJRkZZX0ZMT0FUSU5HX0NIQVRfUkVOREVSSU5HXCIsXG4gICAgRkxPQVRJTkdfQ0hBVF9OT1RfUkVOREVSSU5HID0gXCJTUElGRllfRkxPQVRJTkdfQ0hBVF9OT1RfUkVOREVSSU5HXCIsXG4gICAgRkxPQVRJTkdfQ0hBVF9CVVRUT05fUkVOREVSSU5HID0gXCJTUElGRllfRkxPQVRJTkdfQ0hBVF9CVVRUT05fUkVOREVSSU5HXCIsXG4gICAgU0hBRE9XX0RPTV9DT05UQUlORVJfUkVBRFkgPSBcIlNQSUZGWV9TSEFET1dfRE9NX0NPTlRBSU5FUl9SRUFEWVwiXG59XG4iLCJleHBvcnQgeyBTcGlmZnlFdmVudCB9IGZyb20gJy4vZXZlbnQtdHlwZXMnO1xuLyoqXG4gKiBBIHNpbmdsZXRvbiBjbGFzcyBmb3IgZGlzcGF0Y2hpbmcgU3BpZmZ5IGV2ZW50cyB0byB0aGUgZG9jdW1lbnQgb2JqZWN0LlxuICogUHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBmb3IgYWRkaW5nIGRlZmF1bHQgZXZlbnQgZGF0YSwgbWFuYWdpbmcgbGlzdGVuZXJzLFxuICogYW5kIGRpc3BhdGNoaW5nIGV2ZW50cy5cbiAqXG4gKiBUT0RPOiBjb3VsZCBhZGQgb2JzZXJ2YWJpbGl0eSB0byB0aGUgbGlzdGVuZXJzLCB3b3VsZCBuZWVkIHRvIHRyYWNrIGxpc3RlbmVyc1xuICogaW50ZXJuYWxseS5cbiAqL1xuZXhwb3J0IGRlY2xhcmUgY2xhc3MgRXZlbnRzRGlzcGF0Y2hlciB7XG4gICAgc3RhdGljIGV2ZW50RGF0YTogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICAvKipcbiAgICAgKiBBZGRzIGV2ZW50IGRhdGEgdG8gdGhlIGV2ZW50RGF0YSBvYmplY3QsIHdoaWNoIGlzIGluY2x1ZGVkIGJ5IGRlZmF1bHQgZm9yXG4gICAgICogZXZlcnkgZXZlbnQgZGlzcGF0Y2hlZC4gRS5nLiBjb3VsZCBhZGQgaW4gdXNlcklkLCB2YXJpYW50SW5mbywgZXRjLiBCdXRcbiAgICAgKiBtYWtlIHN1cmUgaXQgaXMgSlNPTiBzZXJpYWxpemFibGUuXG4gICAgICovXG4gICAgc3RhdGljIGFkZEV2ZW50RGF0YShkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogdm9pZDtcbiAgICAvKipcbiAgICAgKiBEaXNwYXRjaGVzIGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRldGFpbC4gSWYgaW5jbHVkZURlZmF1bHQgaXNcbiAgICAgKiBmYWxzZSwgdGhlIGRlZmF1bHQgZXZlbnQgZGF0YSBpcyBleGNsdWRlZC5cbiAgICAgKiBAcGFyYW0gZXZlbnROYW1lIC0gdGhlIG5hbWUgb2YgdGhlIGV2ZW50IHRvIGRpc3BhdGNoLCBzaG91bGQgYmUgYWxsIGNhcHNcbiAgICAgKiAgIGFuZCBzdGFydCB3aXRoIFNQSUZGWV8sIGUuZy4gXCJTUElGRllfRkxPQVRJTkdfQ09OVEFJTkVSX0NSRUFURURcIlxuICAgICAqIEBwYXJhbSBkZXRhaWwgLSBvcHRpb25hbCBwYXJhbWV0ZXIgdG8gaW5jbHVkZSBleHRyYSBldmVudCBkYXRhXG4gICAgICogQHBhcmFtIGluY2x1ZGVEZWZhdWx0IC0gb3B0aW9uYWwgcGFyYW1ldGVyIHRvIGV4Y2x1ZGUgdGhlIGRlZmF1bHQgZXZlbnRcbiAgICAgKiAgIGRhdGFcbiAgICAgKi9cbiAgICBzdGF0aWMgZGlzcGF0Y2goZXZlbnROYW1lOiBzdHJpbmcsIGRldGFpbD86IFJlY29yZDxzdHJpbmcsIGFueT4sIGluY2x1ZGVEZWZhdWx0PzogYm9vbGVhbik6IHZvaWQ7XG4gICAgc3RhdGljIGFkZExpc3RlbmVyKGV2ZW50TmFtZTogc3RyaW5nLCBsaXN0ZW5lcjogKGV2ZW50OiBFdmVudCkgPT4gdm9pZCk6IHZvaWQ7XG4gICAgc3RhdGljIHJlbW92ZUxpc3RlbmVyKGV2ZW50TmFtZTogc3RyaW5nLCBsaXN0ZW5lcjogKGV2ZW50OiBFdmVudCkgPT4gdm9pZCk6IHZvaWQ7XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFXLGNBQWMsQ0FBQyxHQUFHOzs7O0FDQzdCLElBQUUsbUJBQUE7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQSJ9
46
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V2ZW50cy9ldmVudC10eXBlcy5kLnRzIiwiLi4vLi4vc3JjL2V2ZW50cy9pbmRleC5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWNsYXJlIGVudW0gU3BpZmZ5RXZlbnQge1xuICAgIEFNUExJVFVERV9FVkVOVCA9IFwiU1BJRkZZX0FNUExJVFVERV9FVkVOVFwiLFxuICAgIEFQUF9JTklUSUFMSVpFRCA9IFwiU1BJRkZZX0FQUF9JTklUSUFMSVpFRFwiLFxuICAgIENBTExfTUVSQ0hBTlRfQVBQID0gXCJTUElGRllfQ0FMTF9NRVJDSEFOVF9BUFBcIixcbiAgICBNT1VOVElOR19NRVJDSEFOVF9BUFAgPSBcIlNQSUZGWV9NT1VOVElOR19NRVJDSEFOVF9BUFBcIixcbiAgICBDSEFUX0ZBQ1RPUllfSU5JVElBTElaRUQgPSBcIlNQSUZGWV9DSEFUX0ZBQ1RPUllfSU5JVElBTElaRURcIixcbiAgICBGTE9BVElOR19DSEFUX1JFTkRFUklORyA9IFwiU1BJRkZZX0ZMT0FUSU5HX0NIQVRfUkVOREVSSU5HXCIsXG4gICAgRkxPQVRJTkdfQ0hBVF9OT1RfUkVOREVSSU5HID0gXCJTUElGRllfRkxPQVRJTkdfQ0hBVF9OT1RfUkVOREVSSU5HXCIsXG4gICAgRkxPQVRJTkdfQ0hBVF9CVVRUT05fUkVOREVSSU5HID0gXCJTUElGRllfRkxPQVRJTkdfQ0hBVF9CVVRUT05fUkVOREVSSU5HXCIsXG4gICAgU0hBRE9XX0RPTV9DT05UQUlORVJfUkVBRFkgPSBcIlNQSUZGWV9TSEFET1dfRE9NX0NPTlRBSU5FUl9SRUFEWVwiXG59XG4iLCJleHBvcnQgeyBTcGlmZnlFdmVudCB9IGZyb20gJy4vZXZlbnQtdHlwZXMnO1xuLyoqXG4gKiBBIHNpbmdsZXRvbiBjbGFzcyBmb3IgZGlzcGF0Y2hpbmcgU3BpZmZ5IGV2ZW50cyB0byB0aGUgZG9jdW1lbnQgb2JqZWN0LlxuICogUHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBmb3IgYWRkaW5nIGRlZmF1bHQgZXZlbnQgZGF0YSwgbWFuYWdpbmcgbGlzdGVuZXJzLFxuICogYW5kIGRpc3BhdGNoaW5nIGV2ZW50cy5cbiAqXG4gKiBUT0RPOiBjb3VsZCBhZGQgb2JzZXJ2YWJpbGl0eSB0byB0aGUgbGlzdGVuZXJzLCB3b3VsZCBuZWVkIHRvIHRyYWNrIGxpc3RlbmVyc1xuICogaW50ZXJuYWxseS5cbiAqL1xuZXhwb3J0IGRlY2xhcmUgY2xhc3MgRXZlbnRzRGlzcGF0Y2hlciB7XG4gICAgc3RhdGljIGV2ZW50RGF0YTogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICAvKipcbiAgICAgKiBBZGRzIGV2ZW50IGRhdGEgdG8gdGhlIGV2ZW50RGF0YSBvYmplY3QsIHdoaWNoIGlzIGluY2x1ZGVkIGJ5IGRlZmF1bHQgZm9yXG4gICAgICogZXZlcnkgZXZlbnQgZGlzcGF0Y2hlZC4gRS5nLiBjb3VsZCBhZGQgaW4gdXNlcklkLCB2YXJpYW50SW5mbywgZXRjLiBCdXRcbiAgICAgKiBtYWtlIHN1cmUgaXQgaXMgSlNPTiBzZXJpYWxpemFibGUuXG4gICAgICovXG4gICAgc3RhdGljIGFkZEV2ZW50RGF0YShkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogdm9pZDtcbiAgICAvKipcbiAgICAgKiBEaXNwYXRjaGVzIGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRldGFpbC4gSWYgaW5jbHVkZURlZmF1bHQgaXNcbiAgICAgKiBmYWxzZSwgdGhlIGRlZmF1bHQgZXZlbnQgZGF0YSBpcyBleGNsdWRlZC5cbiAgICAgKiBAcGFyYW0gZXZlbnROYW1lIC0gdGhlIG5hbWUgb2YgdGhlIGV2ZW50IHRvIGRpc3BhdGNoLCBzaG91bGQgYmUgYWxsIGNhcHNcbiAgICAgKiAgIGFuZCBzdGFydCB3aXRoIFNQSUZGWV8sIGUuZy4gXCJTUElGRllfRkxPQVRJTkdfQ09OVEFJTkVSX0NSRUFURURcIlxuICAgICAqIEBwYXJhbSBkZXRhaWwgLSBvcHRpb25hbCBwYXJhbWV0ZXIgdG8gaW5jbHVkZSBleHRyYSBldmVudCBkYXRhXG4gICAgICogQHBhcmFtIGluY2x1ZGVEZWZhdWx0IC0gb3B0aW9uYWwgcGFyYW1ldGVyIHRvIGV4Y2x1ZGUgdGhlIGRlZmF1bHQgZXZlbnRcbiAgICAgKiAgIGRhdGFcbiAgICAgKi9cbiAgICBzdGF0aWMgZGlzcGF0Y2goZXZlbnROYW1lOiBzdHJpbmcsIGRldGFpbD86IFJlY29yZDxzdHJpbmcsIGFueT4sIGluY2x1ZGVEZWZhdWx0PzogYm9vbGVhbik6IHZvaWQ7XG4gICAgc3RhdGljIGFkZExpc3RlbmVyKGV2ZW50TmFtZTogc3RyaW5nLCBsaXN0ZW5lcjogKGV2ZW50OiBFdmVudCkgPT4gdm9pZCk6IHZvaWQ7XG4gICAgc3RhdGljIHJlbW92ZUxpc3RlbmVyKGV2ZW50TmFtZTogc3RyaW5nLCBsaXN0ZW5lcjogKGV2ZW50OiBFdmVudCkgPT4gdm9pZCk6IHZvaWQ7XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFXLGNBQWMsQ0FBQyxJQUFJOzs7O0FDQzlCLElBQUUsbUJBQUE7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQSJ9
@@ -1,3 +1,3 @@
1
- import { EventsDispatcher, SpiffyEvent } from "../events-ClCDFK7t.js";
1
+ import { EventsDispatcher, SpiffyEvent } from "../events-BrLpaNxh.js";
2
2
 
3
3
  export { EventsDispatcher, SpiffyEvent };
@@ -75,4 +75,4 @@ var EventsDispatcher = class {
75
75
 
76
76
  //#endregion
77
77
  export { EventsDispatcher, SpiffyEvent };
78
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLUNsQ0RGSzd0LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9ldmVudHMvZXZlbnQtdHlwZXMudHMiLCIuLi9zcmMvZXZlbnRzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNwaWZmeUV2ZW50IHtcbiAgQU1QTElUVURFX0VWRU5UID0gJ1NQSUZGWV9BTVBMSVRVREVfRVZFTlQnLFxuICBBUFBfSU5JVElBTElaRUQgPSAnU1BJRkZZX0FQUF9JTklUSUFMSVpFRCcsXG4gIENBTExfTUVSQ0hBTlRfQVBQID0gJ1NQSUZGWV9DQUxMX01FUkNIQU5UX0FQUCcsXG4gIE1PVU5USU5HX01FUkNIQU5UX0FQUCA9ICdTUElGRllfTU9VTlRJTkdfTUVSQ0hBTlRfQVBQJyxcbiAgQ0hBVF9GQUNUT1JZX0lOSVRJQUxJWkVEID0gJ1NQSUZGWV9DSEFUX0ZBQ1RPUllfSU5JVElBTElaRUQnLFxuICBGTE9BVElOR19DSEFUX1JFTkRFUklORyA9ICdTUElGRllfRkxPQVRJTkdfQ0hBVF9SRU5ERVJJTkcnLFxuICBGTE9BVElOR19DSEFUX05PVF9SRU5ERVJJTkcgPSAnU1BJRkZZX0ZMT0FUSU5HX0NIQVRfTk9UX1JFTkRFUklORycsXG4gIEZMT0FUSU5HX0NIQVRfQlVUVE9OX1JFTkRFUklORyA9ICdTUElGRllfRkxPQVRJTkdfQ0hBVF9CVVRUT05fUkVOREVSSU5HJyxcbiAgU0hBRE9XX0RPTV9DT05UQUlORVJfUkVBRFkgPSAnU1BJRkZZX1NIQURPV19ET01fQ09OVEFJTkVSX1JFQURZJyxcbn1cbiIsImV4cG9ydCB7IFNwaWZmeUV2ZW50IH0gZnJvbSAnLi9ldmVudC10eXBlcyc7XG5cbi8qKlxuICogQSBzaW5nbGV0b24gY2xhc3MgZm9yIGRpc3BhdGNoaW5nIFNwaWZmeSBldmVudHMgdG8gdGhlIGRvY3VtZW50IG9iamVjdC5cbiAqIFByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgZm9yIGFkZGluZyBkZWZhdWx0IGV2ZW50IGRhdGEsIG1hbmFnaW5nIGxpc3RlbmVycyxcbiAqIGFuZCBkaXNwYXRjaGluZyBldmVudHMuXG4gKiBcbiAqIFRPRE86IGNvdWxkIGFkZCBvYnNlcnZhYmlsaXR5IHRvIHRoZSBsaXN0ZW5lcnMsIHdvdWxkIG5lZWQgdG8gdHJhY2sgbGlzdGVuZXJzXG4gKiBpbnRlcm5hbGx5LlxuICovXG5leHBvcnQgY2xhc3MgRXZlbnRzRGlzcGF0Y2hlciB7XG5cbiAgc3RhdGljIGV2ZW50RGF0YTogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG4gIC8qKlxuICAgKiBBZGRzIGV2ZW50IGRhdGEgdG8gdGhlIGV2ZW50RGF0YSBvYmplY3QsIHdoaWNoIGlzIGluY2x1ZGVkIGJ5IGRlZmF1bHQgZm9yXG4gICAqIGV2ZXJ5IGV2ZW50IGRpc3BhdGNoZWQuIEUuZy4gY291bGQgYWRkIGluIHVzZXJJZCwgdmFyaWFudEluZm8sIGV0Yy4gQnV0XG4gICAqIG1ha2Ugc3VyZSBpdCBpcyBKU09OIHNlcmlhbGl6YWJsZS5cbiAgICovXG4gIHN0YXRpYyBhZGRFdmVudERhdGEoZGF0YTogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIHRoaXMuZXZlbnREYXRhID0geyAuLi50aGlzLmV2ZW50RGF0YSwgLi4uZGF0YSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BhdGNoZXMgYW4gZXZlbnQgd2l0aCB0aGUgZ2l2ZW4gbmFtZSBhbmQgZGV0YWlsLiBJZiBpbmNsdWRlRGVmYXVsdCBpc1xuICAgKiBmYWxzZSwgdGhlIGRlZmF1bHQgZXZlbnQgZGF0YSBpcyBleGNsdWRlZC5cbiAgICogQHBhcmFtIGV2ZW50TmFtZSAtIHRoZSBuYW1lIG9mIHRoZSBldmVudCB0byBkaXNwYXRjaCwgc2hvdWxkIGJlIGFsbCBjYXBzXG4gICAqICAgYW5kIHN0YXJ0IHdpdGggU1BJRkZZXywgZS5nLiBcIlNQSUZGWV9GTE9BVElOR19DT05UQUlORVJfQ1JFQVRFRFwiXG4gICAqIEBwYXJhbSBkZXRhaWwgLSBvcHRpb25hbCBwYXJhbWV0ZXIgdG8gaW5jbHVkZSBleHRyYSBldmVudCBkYXRhXG4gICAqIEBwYXJhbSBpbmNsdWRlRGVmYXVsdCAtIG9wdGlvbmFsIHBhcmFtZXRlciB0byBleGNsdWRlIHRoZSBkZWZhdWx0IGV2ZW50XG4gICAqICAgZGF0YVxuICAgKi9cbiAgc3RhdGljIGRpc3BhdGNoKGV2ZW50TmFtZTogc3RyaW5nLCBkZXRhaWw/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBpbmNsdWRlRGVmYXVsdD86IGJvb2xlYW4pIHtcbiAgICBpZiAoZGV0YWlsID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGRldGFpbCA9IHt9O1xuICAgIH1cbiAgICBpZiAoaW5jbHVkZURlZmF1bHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgaW5jbHVkZURlZmF1bHQgPSB0cnVlO1xuICAgIH1cbiAgICBjb25zdCBldmVudERhdGEgPSBpbmNsdWRlRGVmYXVsdCA/IHsgLi4udGhpcy5ldmVudERhdGEsIC4uLmRldGFpbCB9IDogZGV0YWlsO1xuICAgIGNvbnN0IGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KGV2ZW50TmFtZSwgeyBkZXRhaWw6IGV2ZW50RGF0YSwgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUsIGNhbmNlbGFibGU6IGZhbHNlIH0pO1xuICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgfVxuXG4gIHN0YXRpYyBhZGRMaXN0ZW5lcihldmVudE5hbWU6IHN0cmluZywgbGlzdGVuZXI6IChldmVudDogRXZlbnQpID0+IHZvaWQpIHtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGxpc3RlbmVyLCB7IG9uY2U6IGZhbHNlLCBwYXNzaXZlOiBmYWxzZSwgY2FwdHVyZTogZmFsc2UgfSk7XG4gIH1cblxuICBzdGF0aWMgcmVtb3ZlTGlzdGVuZXIoZXZlbnROYW1lOiBzdHJpbmcsIGxpc3RlbmVyOiAoZXZlbnQ6IEV2ZW50KSA9PiB2b2lkKSB7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBsaXN0ZW5lcik7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQVksc0RBQUw7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7O0FDQ0YsSUFBYSxtQkFBYixNQUE4Qjs7bUJBRVksRUFBRTs7Ozs7OztDQU8xQyxPQUFPLGFBQWEsTUFBMkI7QUFDN0MsT0FBSyxZQUFZO0dBQUUsR0FBRyxLQUFLO0dBQVcsR0FBRztHQUFNOzs7Ozs7Ozs7OztDQVlqRCxPQUFPLFNBQVMsV0FBbUIsUUFBOEIsZ0JBQTBCO0FBQ3pGLE1BQUksV0FBVyxPQUNiLFVBQVMsRUFBRTtBQUViLE1BQUksbUJBQW1CLE9BQ3JCLGtCQUFpQjtFQUVuQixNQUFNLFlBQVksaUJBQWlCO0dBQUUsR0FBRyxLQUFLO0dBQVcsR0FBRztHQUFRLEdBQUc7RUFDdEUsTUFBTSxRQUFRLElBQUksWUFBWSxXQUFXO0dBQUUsUUFBUTtHQUFXLFNBQVM7R0FBTSxVQUFVO0dBQU0sWUFBWTtHQUFPLENBQUM7QUFDakgsU0FBTyxjQUFjLE1BQU07O0NBRzdCLE9BQU8sWUFBWSxXQUFtQixVQUFrQztBQUN0RSxTQUFPLGlCQUFpQixXQUFXLFVBQVU7R0FBRSxNQUFNO0dBQU8sU0FBUztHQUFPLFNBQVM7R0FBTyxDQUFDOztDQUcvRixPQUFPLGVBQWUsV0FBbUIsVUFBa0M7QUFDekUsU0FBTyxvQkFBb0IsV0FBVyxTQUFTIn0=
78
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLUJyTHBhTnhoLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9ldmVudHMvZXZlbnQtdHlwZXMudHMiLCIuLi9zcmMvZXZlbnRzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNwaWZmeUV2ZW50IHtcbiAgQU1QTElUVURFX0VWRU5UID0gJ1NQSUZGWV9BTVBMSVRVREVfRVZFTlQnLFxuICBBUFBfSU5JVElBTElaRUQgPSAnU1BJRkZZX0FQUF9JTklUSUFMSVpFRCcsXG4gIENBTExfTUVSQ0hBTlRfQVBQID0gJ1NQSUZGWV9DQUxMX01FUkNIQU5UX0FQUCcsXG4gIE1PVU5USU5HX01FUkNIQU5UX0FQUCA9ICdTUElGRllfTU9VTlRJTkdfTUVSQ0hBTlRfQVBQJyxcbiAgQ0hBVF9GQUNUT1JZX0lOSVRJQUxJWkVEID0gJ1NQSUZGWV9DSEFUX0ZBQ1RPUllfSU5JVElBTElaRUQnLFxuICBGTE9BVElOR19DSEFUX1JFTkRFUklORyA9ICdTUElGRllfRkxPQVRJTkdfQ0hBVF9SRU5ERVJJTkcnLFxuICBGTE9BVElOR19DSEFUX05PVF9SRU5ERVJJTkcgPSAnU1BJRkZZX0ZMT0FUSU5HX0NIQVRfTk9UX1JFTkRFUklORycsXG4gIEZMT0FUSU5HX0NIQVRfQlVUVE9OX1JFTkRFUklORyA9ICdTUElGRllfRkxPQVRJTkdfQ0hBVF9CVVRUT05fUkVOREVSSU5HJyxcbiAgU0hBRE9XX0RPTV9DT05UQUlORVJfUkVBRFkgPSAnU1BJRkZZX1NIQURPV19ET01fQ09OVEFJTkVSX1JFQURZJyxcbn1cbiIsImV4cG9ydCB7IFNwaWZmeUV2ZW50IH0gZnJvbSAnLi9ldmVudC10eXBlcyc7XG5cbi8qKlxuICogQSBzaW5nbGV0b24gY2xhc3MgZm9yIGRpc3BhdGNoaW5nIFNwaWZmeSBldmVudHMgdG8gdGhlIGRvY3VtZW50IG9iamVjdC5cbiAqIFByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgZm9yIGFkZGluZyBkZWZhdWx0IGV2ZW50IGRhdGEsIG1hbmFnaW5nIGxpc3RlbmVycyxcbiAqIGFuZCBkaXNwYXRjaGluZyBldmVudHMuXG4gKiBcbiAqIFRPRE86IGNvdWxkIGFkZCBvYnNlcnZhYmlsaXR5IHRvIHRoZSBsaXN0ZW5lcnMsIHdvdWxkIG5lZWQgdG8gdHJhY2sgbGlzdGVuZXJzXG4gKiBpbnRlcm5hbGx5LlxuICovXG5leHBvcnQgY2xhc3MgRXZlbnRzRGlzcGF0Y2hlciB7XG5cbiAgc3RhdGljIGV2ZW50RGF0YTogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG4gIC8qKlxuICAgKiBBZGRzIGV2ZW50IGRhdGEgdG8gdGhlIGV2ZW50RGF0YSBvYmplY3QsIHdoaWNoIGlzIGluY2x1ZGVkIGJ5IGRlZmF1bHQgZm9yXG4gICAqIGV2ZXJ5IGV2ZW50IGRpc3BhdGNoZWQuIEUuZy4gY291bGQgYWRkIGluIHVzZXJJZCwgdmFyaWFudEluZm8sIGV0Yy4gQnV0XG4gICAqIG1ha2Ugc3VyZSBpdCBpcyBKU09OIHNlcmlhbGl6YWJsZS5cbiAgICovXG4gIHN0YXRpYyBhZGRFdmVudERhdGEoZGF0YTogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIHRoaXMuZXZlbnREYXRhID0geyAuLi50aGlzLmV2ZW50RGF0YSwgLi4uZGF0YSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BhdGNoZXMgYW4gZXZlbnQgd2l0aCB0aGUgZ2l2ZW4gbmFtZSBhbmQgZGV0YWlsLiBJZiBpbmNsdWRlRGVmYXVsdCBpc1xuICAgKiBmYWxzZSwgdGhlIGRlZmF1bHQgZXZlbnQgZGF0YSBpcyBleGNsdWRlZC5cbiAgICogQHBhcmFtIGV2ZW50TmFtZSAtIHRoZSBuYW1lIG9mIHRoZSBldmVudCB0byBkaXNwYXRjaCwgc2hvdWxkIGJlIGFsbCBjYXBzXG4gICAqICAgYW5kIHN0YXJ0IHdpdGggU1BJRkZZXywgZS5nLiBcIlNQSUZGWV9GTE9BVElOR19DT05UQUlORVJfQ1JFQVRFRFwiXG4gICAqIEBwYXJhbSBkZXRhaWwgLSBvcHRpb25hbCBwYXJhbWV0ZXIgdG8gaW5jbHVkZSBleHRyYSBldmVudCBkYXRhXG4gICAqIEBwYXJhbSBpbmNsdWRlRGVmYXVsdCAtIG9wdGlvbmFsIHBhcmFtZXRlciB0byBleGNsdWRlIHRoZSBkZWZhdWx0IGV2ZW50XG4gICAqICAgZGF0YVxuICAgKi9cbiAgc3RhdGljIGRpc3BhdGNoKGV2ZW50TmFtZTogc3RyaW5nLCBkZXRhaWw/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBpbmNsdWRlRGVmYXVsdD86IGJvb2xlYW4pIHtcbiAgICBpZiAoZGV0YWlsID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGRldGFpbCA9IHt9O1xuICAgIH1cbiAgICBpZiAoaW5jbHVkZURlZmF1bHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgaW5jbHVkZURlZmF1bHQgPSB0cnVlO1xuICAgIH1cbiAgICBjb25zdCBldmVudERhdGEgPSBpbmNsdWRlRGVmYXVsdCA/IHsgLi4udGhpcy5ldmVudERhdGEsIC4uLmRldGFpbCB9IDogZGV0YWlsO1xuICAgIGNvbnN0IGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KGV2ZW50TmFtZSwgeyBkZXRhaWw6IGV2ZW50RGF0YSwgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUsIGNhbmNlbGFibGU6IGZhbHNlIH0pO1xuICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgfVxuXG4gIHN0YXRpYyBhZGRMaXN0ZW5lcihldmVudE5hbWU6IHN0cmluZywgbGlzdGVuZXI6IChldmVudDogRXZlbnQpID0+IHZvaWQpIHtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGxpc3RlbmVyLCB7IG9uY2U6IGZhbHNlLCBwYXNzaXZlOiBmYWxzZSwgY2FwdHVyZTogZmFsc2UgfSk7XG4gIH1cblxuICBzdGF0aWMgcmVtb3ZlTGlzdGVuZXIoZXZlbnROYW1lOiBzdHJpbmcsIGxpc3RlbmVyOiAoZXZlbnQ6IEV2ZW50KSA9PiB2b2lkKSB7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBsaXN0ZW5lcik7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQVksc0RBQUw7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7O0FDQ0YsSUFBYSxtQkFBYixNQUE4Qjs7bUJBRVksRUFBRTs7Ozs7OztDQU8xQyxPQUFPLGFBQWEsTUFBMkI7QUFDN0MsT0FBSyxZQUFZO0dBQUUsR0FBRyxLQUFLO0dBQVcsR0FBRztHQUFNOzs7Ozs7Ozs7OztDQVlqRCxPQUFPLFNBQVMsV0FBbUIsUUFBOEIsZ0JBQTBCO0FBQ3pGLE1BQUksV0FBVyxPQUNiLFVBQVMsRUFBRTtBQUViLE1BQUksbUJBQW1CLE9BQ3JCLGtCQUFpQjtFQUVuQixNQUFNLFlBQVksaUJBQWlCO0dBQUUsR0FBRyxLQUFLO0dBQVcsR0FBRztHQUFRLEdBQUc7RUFDdEUsTUFBTSxRQUFRLElBQUksWUFBWSxXQUFXO0dBQUUsUUFBUTtHQUFXLFNBQVM7R0FBTSxVQUFVO0dBQU0sWUFBWTtHQUFPLENBQUM7QUFDakgsU0FBTyxjQUFjLE1BQU07O0NBRzdCLE9BQU8sWUFBWSxXQUFtQixVQUFrQztBQUN0RSxTQUFPLGlCQUFpQixXQUFXLFVBQVU7R0FBRSxNQUFNO0dBQU8sU0FBUztHQUFPLFNBQVM7R0FBTyxDQUFDOztDQUcvRixPQUFPLGVBQWUsV0FBbUIsVUFBa0M7QUFDekUsU0FBTyxvQkFBb0IsV0FBVyxTQUFTIn0=
@@ -87,4 +87,4 @@ Object.defineProperty(exports, 'SpiffyEvent', {
87
87
  return SpiffyEvent;
88
88
  }
89
89
  });
90
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLURhN2dwbUd2LmNqcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvZXZlbnRzL2V2ZW50LXR5cGVzLnRzIiwiLi4vc3JjL2V2ZW50cy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTcGlmZnlFdmVudCB7XG4gIEFNUExJVFVERV9FVkVOVCA9ICdTUElGRllfQU1QTElUVURFX0VWRU5UJyxcbiAgQVBQX0lOSVRJQUxJWkVEID0gJ1NQSUZGWV9BUFBfSU5JVElBTElaRUQnLFxuICBDQUxMX01FUkNIQU5UX0FQUCA9ICdTUElGRllfQ0FMTF9NRVJDSEFOVF9BUFAnLFxuICBNT1VOVElOR19NRVJDSEFOVF9BUFAgPSAnU1BJRkZZX01PVU5USU5HX01FUkNIQU5UX0FQUCcsXG4gIENIQVRfRkFDVE9SWV9JTklUSUFMSVpFRCA9ICdTUElGRllfQ0hBVF9GQUNUT1JZX0lOSVRJQUxJWkVEJyxcbiAgRkxPQVRJTkdfQ0hBVF9SRU5ERVJJTkcgPSAnU1BJRkZZX0ZMT0FUSU5HX0NIQVRfUkVOREVSSU5HJyxcbiAgRkxPQVRJTkdfQ0hBVF9OT1RfUkVOREVSSU5HID0gJ1NQSUZGWV9GTE9BVElOR19DSEFUX05PVF9SRU5ERVJJTkcnLFxuICBGTE9BVElOR19DSEFUX0JVVFRPTl9SRU5ERVJJTkcgPSAnU1BJRkZZX0ZMT0FUSU5HX0NIQVRfQlVUVE9OX1JFTkRFUklORycsXG4gIFNIQURPV19ET01fQ09OVEFJTkVSX1JFQURZID0gJ1NQSUZGWV9TSEFET1dfRE9NX0NPTlRBSU5FUl9SRUFEWScsXG59XG4iLCJleHBvcnQgeyBTcGlmZnlFdmVudCB9IGZyb20gJy4vZXZlbnQtdHlwZXMnO1xuXG4vKipcbiAqIEEgc2luZ2xldG9uIGNsYXNzIGZvciBkaXNwYXRjaGluZyBTcGlmZnkgZXZlbnRzIHRvIHRoZSBkb2N1bWVudCBvYmplY3QuXG4gKiBQcm92aWRlcyBmdW5jdGlvbmFsaXR5IGZvciBhZGRpbmcgZGVmYXVsdCBldmVudCBkYXRhLCBtYW5hZ2luZyBsaXN0ZW5lcnMsXG4gKiBhbmQgZGlzcGF0Y2hpbmcgZXZlbnRzLlxuICogXG4gKiBUT0RPOiBjb3VsZCBhZGQgb2JzZXJ2YWJpbGl0eSB0byB0aGUgbGlzdGVuZXJzLCB3b3VsZCBuZWVkIHRvIHRyYWNrIGxpc3RlbmVyc1xuICogaW50ZXJuYWxseS5cbiAqL1xuZXhwb3J0IGNsYXNzIEV2ZW50c0Rpc3BhdGNoZXIge1xuXG4gIHN0YXRpYyBldmVudERhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcblxuICAvKipcbiAgICogQWRkcyBldmVudCBkYXRhIHRvIHRoZSBldmVudERhdGEgb2JqZWN0LCB3aGljaCBpcyBpbmNsdWRlZCBieSBkZWZhdWx0IGZvclxuICAgKiBldmVyeSBldmVudCBkaXNwYXRjaGVkLiBFLmcuIGNvdWxkIGFkZCBpbiB1c2VySWQsIHZhcmlhbnRJbmZvLCBldGMuIEJ1dFxuICAgKiBtYWtlIHN1cmUgaXQgaXMgSlNPTiBzZXJpYWxpemFibGUuXG4gICAqL1xuICBzdGF0aWMgYWRkRXZlbnREYXRhKGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICB0aGlzLmV2ZW50RGF0YSA9IHsgLi4udGhpcy5ldmVudERhdGEsIC4uLmRhdGEgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwYXRjaGVzIGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRldGFpbC4gSWYgaW5jbHVkZURlZmF1bHQgaXNcbiAgICogZmFsc2UsIHRoZSBkZWZhdWx0IGV2ZW50IGRhdGEgaXMgZXhjbHVkZWQuXG4gICAqIEBwYXJhbSBldmVudE5hbWUgLSB0aGUgbmFtZSBvZiB0aGUgZXZlbnQgdG8gZGlzcGF0Y2gsIHNob3VsZCBiZSBhbGwgY2Fwc1xuICAgKiAgIGFuZCBzdGFydCB3aXRoIFNQSUZGWV8sIGUuZy4gXCJTUElGRllfRkxPQVRJTkdfQ09OVEFJTkVSX0NSRUFURURcIlxuICAgKiBAcGFyYW0gZGV0YWlsIC0gb3B0aW9uYWwgcGFyYW1ldGVyIHRvIGluY2x1ZGUgZXh0cmEgZXZlbnQgZGF0YVxuICAgKiBAcGFyYW0gaW5jbHVkZURlZmF1bHQgLSBvcHRpb25hbCBwYXJhbWV0ZXIgdG8gZXhjbHVkZSB0aGUgZGVmYXVsdCBldmVudFxuICAgKiAgIGRhdGFcbiAgICovXG4gIHN0YXRpYyBkaXNwYXRjaChldmVudE5hbWU6IHN0cmluZywgZGV0YWlsPzogUmVjb3JkPHN0cmluZywgYW55PiwgaW5jbHVkZURlZmF1bHQ/OiBib29sZWFuKSB7XG4gICAgaWYgKGRldGFpbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZXRhaWwgPSB7fTtcbiAgICB9XG4gICAgaWYgKGluY2x1ZGVEZWZhdWx0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGluY2x1ZGVEZWZhdWx0ID0gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgZXZlbnREYXRhID0gaW5jbHVkZURlZmF1bHQgPyB7IC4uLnRoaXMuZXZlbnREYXRhLCAuLi5kZXRhaWwgfSA6IGRldGFpbDtcbiAgICBjb25zdCBldmVudCA9IG5ldyBDdXN0b21FdmVudChldmVudE5hbWUsIHsgZGV0YWlsOiBldmVudERhdGEsIGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlLCBjYW5jZWxhYmxlOiBmYWxzZSB9KTtcbiAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gIH1cblxuICBzdGF0aWMgYWRkTGlzdGVuZXIoZXZlbnROYW1lOiBzdHJpbmcsIGxpc3RlbmVyOiAoZXZlbnQ6IEV2ZW50KSA9PiB2b2lkKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBsaXN0ZW5lciwgeyBvbmNlOiBmYWxzZSwgcGFzc2l2ZTogZmFsc2UsIGNhcHR1cmU6IGZhbHNlIH0pO1xuICB9XG5cbiAgc3RhdGljIHJlbW92ZUxpc3RlbmVyKGV2ZW50TmFtZTogc3RyaW5nLCBsaXN0ZW5lcjogKGV2ZW50OiBFdmVudCkgPT4gdm9pZCkge1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgbGlzdGVuZXIpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBWSxzREFBTDtBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7QUNDRixJQUFhLG1CQUFiLE1BQThCOzttQkFFWSxFQUFFOzs7Ozs7O0NBTzFDLE9BQU8sYUFBYSxNQUEyQjtBQUM3QyxPQUFLLFlBQVk7R0FBRSxHQUFHLEtBQUs7R0FBVyxHQUFHO0dBQU07Ozs7Ozs7Ozs7O0NBWWpELE9BQU8sU0FBUyxXQUFtQixRQUE4QixnQkFBMEI7QUFDekYsTUFBSSxXQUFXLE9BQ2IsVUFBUyxFQUFFO0FBRWIsTUFBSSxtQkFBbUIsT0FDckIsa0JBQWlCO0VBRW5CLE1BQU0sWUFBWSxpQkFBaUI7R0FBRSxHQUFHLEtBQUs7R0FBVyxHQUFHO0dBQVEsR0FBRztFQUN0RSxNQUFNLFFBQVEsSUFBSSxZQUFZLFdBQVc7R0FBRSxRQUFRO0dBQVcsU0FBUztHQUFNLFVBQVU7R0FBTSxZQUFZO0dBQU8sQ0FBQztBQUNqSCxTQUFPLGNBQWMsTUFBTTs7Q0FHN0IsT0FBTyxZQUFZLFdBQW1CLFVBQWtDO0FBQ3RFLFNBQU8saUJBQWlCLFdBQVcsVUFBVTtHQUFFLE1BQU07R0FBTyxTQUFTO0dBQU8sU0FBUztHQUFPLENBQUM7O0NBRy9GLE9BQU8sZUFBZSxXQUFtQixVQUFrQztBQUN6RSxTQUFPLG9CQUFvQixXQUFXLFNBQVMifQ==
90
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLUR3VDZjRXdJLmNqcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvZXZlbnRzL2V2ZW50LXR5cGVzLnRzIiwiLi4vc3JjL2V2ZW50cy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTcGlmZnlFdmVudCB7XG4gIEFNUExJVFVERV9FVkVOVCA9ICdTUElGRllfQU1QTElUVURFX0VWRU5UJyxcbiAgQVBQX0lOSVRJQUxJWkVEID0gJ1NQSUZGWV9BUFBfSU5JVElBTElaRUQnLFxuICBDQUxMX01FUkNIQU5UX0FQUCA9ICdTUElGRllfQ0FMTF9NRVJDSEFOVF9BUFAnLFxuICBNT1VOVElOR19NRVJDSEFOVF9BUFAgPSAnU1BJRkZZX01PVU5USU5HX01FUkNIQU5UX0FQUCcsXG4gIENIQVRfRkFDVE9SWV9JTklUSUFMSVpFRCA9ICdTUElGRllfQ0hBVF9GQUNUT1JZX0lOSVRJQUxJWkVEJyxcbiAgRkxPQVRJTkdfQ0hBVF9SRU5ERVJJTkcgPSAnU1BJRkZZX0ZMT0FUSU5HX0NIQVRfUkVOREVSSU5HJyxcbiAgRkxPQVRJTkdfQ0hBVF9OT1RfUkVOREVSSU5HID0gJ1NQSUZGWV9GTE9BVElOR19DSEFUX05PVF9SRU5ERVJJTkcnLFxuICBGTE9BVElOR19DSEFUX0JVVFRPTl9SRU5ERVJJTkcgPSAnU1BJRkZZX0ZMT0FUSU5HX0NIQVRfQlVUVE9OX1JFTkRFUklORycsXG4gIFNIQURPV19ET01fQ09OVEFJTkVSX1JFQURZID0gJ1NQSUZGWV9TSEFET1dfRE9NX0NPTlRBSU5FUl9SRUFEWScsXG59XG4iLCJleHBvcnQgeyBTcGlmZnlFdmVudCB9IGZyb20gJy4vZXZlbnQtdHlwZXMnO1xuXG4vKipcbiAqIEEgc2luZ2xldG9uIGNsYXNzIGZvciBkaXNwYXRjaGluZyBTcGlmZnkgZXZlbnRzIHRvIHRoZSBkb2N1bWVudCBvYmplY3QuXG4gKiBQcm92aWRlcyBmdW5jdGlvbmFsaXR5IGZvciBhZGRpbmcgZGVmYXVsdCBldmVudCBkYXRhLCBtYW5hZ2luZyBsaXN0ZW5lcnMsXG4gKiBhbmQgZGlzcGF0Y2hpbmcgZXZlbnRzLlxuICogXG4gKiBUT0RPOiBjb3VsZCBhZGQgb2JzZXJ2YWJpbGl0eSB0byB0aGUgbGlzdGVuZXJzLCB3b3VsZCBuZWVkIHRvIHRyYWNrIGxpc3RlbmVyc1xuICogaW50ZXJuYWxseS5cbiAqL1xuZXhwb3J0IGNsYXNzIEV2ZW50c0Rpc3BhdGNoZXIge1xuXG4gIHN0YXRpYyBldmVudERhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcblxuICAvKipcbiAgICogQWRkcyBldmVudCBkYXRhIHRvIHRoZSBldmVudERhdGEgb2JqZWN0LCB3aGljaCBpcyBpbmNsdWRlZCBieSBkZWZhdWx0IGZvclxuICAgKiBldmVyeSBldmVudCBkaXNwYXRjaGVkLiBFLmcuIGNvdWxkIGFkZCBpbiB1c2VySWQsIHZhcmlhbnRJbmZvLCBldGMuIEJ1dFxuICAgKiBtYWtlIHN1cmUgaXQgaXMgSlNPTiBzZXJpYWxpemFibGUuXG4gICAqL1xuICBzdGF0aWMgYWRkRXZlbnREYXRhKGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICB0aGlzLmV2ZW50RGF0YSA9IHsgLi4udGhpcy5ldmVudERhdGEsIC4uLmRhdGEgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwYXRjaGVzIGFuIGV2ZW50IHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIGRldGFpbC4gSWYgaW5jbHVkZURlZmF1bHQgaXNcbiAgICogZmFsc2UsIHRoZSBkZWZhdWx0IGV2ZW50IGRhdGEgaXMgZXhjbHVkZWQuXG4gICAqIEBwYXJhbSBldmVudE5hbWUgLSB0aGUgbmFtZSBvZiB0aGUgZXZlbnQgdG8gZGlzcGF0Y2gsIHNob3VsZCBiZSBhbGwgY2Fwc1xuICAgKiAgIGFuZCBzdGFydCB3aXRoIFNQSUZGWV8sIGUuZy4gXCJTUElGRllfRkxPQVRJTkdfQ09OVEFJTkVSX0NSRUFURURcIlxuICAgKiBAcGFyYW0gZGV0YWlsIC0gb3B0aW9uYWwgcGFyYW1ldGVyIHRvIGluY2x1ZGUgZXh0cmEgZXZlbnQgZGF0YVxuICAgKiBAcGFyYW0gaW5jbHVkZURlZmF1bHQgLSBvcHRpb25hbCBwYXJhbWV0ZXIgdG8gZXhjbHVkZSB0aGUgZGVmYXVsdCBldmVudFxuICAgKiAgIGRhdGFcbiAgICovXG4gIHN0YXRpYyBkaXNwYXRjaChldmVudE5hbWU6IHN0cmluZywgZGV0YWlsPzogUmVjb3JkPHN0cmluZywgYW55PiwgaW5jbHVkZURlZmF1bHQ/OiBib29sZWFuKSB7XG4gICAgaWYgKGRldGFpbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZXRhaWwgPSB7fTtcbiAgICB9XG4gICAgaWYgKGluY2x1ZGVEZWZhdWx0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGluY2x1ZGVEZWZhdWx0ID0gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgZXZlbnREYXRhID0gaW5jbHVkZURlZmF1bHQgPyB7IC4uLnRoaXMuZXZlbnREYXRhLCAuLi5kZXRhaWwgfSA6IGRldGFpbDtcbiAgICBjb25zdCBldmVudCA9IG5ldyBDdXN0b21FdmVudChldmVudE5hbWUsIHsgZGV0YWlsOiBldmVudERhdGEsIGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlLCBjYW5jZWxhYmxlOiBmYWxzZSB9KTtcbiAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gIH1cblxuICBzdGF0aWMgYWRkTGlzdGVuZXIoZXZlbnROYW1lOiBzdHJpbmcsIGxpc3RlbmVyOiAoZXZlbnQ6IEV2ZW50KSA9PiB2b2lkKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBsaXN0ZW5lciwgeyBvbmNlOiBmYWxzZSwgcGFzc2l2ZTogZmFsc2UsIGNhcHR1cmU6IGZhbHNlIH0pO1xuICB9XG5cbiAgc3RhdGljIHJlbW92ZUxpc3RlbmVyKGV2ZW50TmFtZTogc3RyaW5nLCBsaXN0ZW5lcjogKGV2ZW50OiBFdmVudCkgPT4gdm9pZCkge1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgbGlzdGVuZXIpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBWSxzREFBTDtBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7QUNDRixJQUFhLG1CQUFiLE1BQThCOzttQkFFWSxFQUFFOzs7Ozs7O0NBTzFDLE9BQU8sYUFBYSxNQUEyQjtBQUM3QyxPQUFLLFlBQVk7R0FBRSxHQUFHLEtBQUs7R0FBVyxHQUFHO0dBQU07Ozs7Ozs7Ozs7O0NBWWpELE9BQU8sU0FBUyxXQUFtQixRQUE4QixnQkFBMEI7QUFDekYsTUFBSSxXQUFXLE9BQ2IsVUFBUyxFQUFFO0FBRWIsTUFBSSxtQkFBbUIsT0FDckIsa0JBQWlCO0VBRW5CLE1BQU0sWUFBWSxpQkFBaUI7R0FBRSxHQUFHLEtBQUs7R0FBVyxHQUFHO0dBQVEsR0FBRztFQUN0RSxNQUFNLFFBQVEsSUFBSSxZQUFZLFdBQVc7R0FBRSxRQUFRO0dBQVcsU0FBUztHQUFNLFVBQVU7R0FBTSxZQUFZO0dBQU8sQ0FBQztBQUNqSCxTQUFPLGNBQWMsTUFBTTs7Q0FHN0IsT0FBTyxZQUFZLFdBQW1CLFVBQWtDO0FBQ3RFLFNBQU8saUJBQWlCLFdBQVcsVUFBVTtHQUFFLE1BQU07R0FBTyxTQUFTO0dBQU8sU0FBUztHQUFPLENBQUM7O0NBRy9GLE9BQU8sZUFBZSxXQUFtQixVQUFrQztBQUN6RSxTQUFPLG9CQUFvQixXQUFXLFNBQVMifQ==