@envive-ai/react-hooks 0.2.6-alpha-5 → 0.2.6-alpha-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 (251) hide show
  1. package/dist/{AmplitudeOperations-cmAprPCA.js → AmplitudeOperations-CaA5jTCq.js} +2 -2
  2. package/dist/{AmplitudeOperations-CNFlPr53.cjs → AmplitudeOperations-CufFJLkn.cjs} +3 -3
  3. package/dist/{NewOrgConfig-Bicbf8I7.js → NewOrgConfig-BnLPlU6Z.js} +2 -2
  4. package/dist/{NewOrgConfig-6dFyYjJG.cjs → NewOrgConfig-CKHO6QW_.cjs} +2 -2
  5. package/dist/{TrackComponentVisibleEvent-COwxsJRE.cjs → TrackComponentVisibleEvent-BvrgpJuY.cjs} +5 -5
  6. package/dist/{TrackComponentVisibleEvent-BebTjNtS.js → TrackComponentVisibleEvent-CKELFJhI.js} +4 -4
  7. package/dist/amplitudeContext-Bh4SVVse.js +227 -0
  8. package/dist/amplitudeContext-CjFkl5yr.cjs +243 -0
  9. package/dist/amplitudeTrackEventAtom-D66l5oFp.js +8 -0
  10. package/dist/amplitudeTrackEventAtom-f22P2U0u.cjs +15 -0
  11. package/dist/app-CrmrUsr6.js +514 -0
  12. package/dist/app-DudAJOe4.cjs +569 -0
  13. package/dist/application/models/graphql/index.d.ts +1 -1
  14. package/dist/application/models/guards/api/index.d.ts +2 -2
  15. package/dist/application/models/guards/utils.d.ts +1 -1
  16. package/dist/application/models/index.cjs +2 -2
  17. package/dist/application/models/index.d.cts +1 -1
  18. package/dist/application/models/index.d.ts +4 -4
  19. package/dist/application/models/index.js +2 -2
  20. package/dist/application/utils/index.cjs +6 -15
  21. package/dist/application/utils/index.d.cts +5 -6
  22. package/dist/application/utils/index.d.ts +8 -9
  23. package/dist/application/utils/index.js +6 -15
  24. package/dist/atoms/app/index.cjs +17 -19
  25. package/dist/atoms/app/index.d.cts +7 -7
  26. package/dist/atoms/app/index.d.ts +6 -6
  27. package/dist/atoms/app/index.js +12 -14
  28. package/dist/atoms/atomStore/index.d.cts +1 -1
  29. package/dist/atoms/chat/index.cjs +15 -17
  30. package/dist/atoms/chat/index.d.cts +33 -34
  31. package/dist/atoms/chat/index.d.ts +34 -35
  32. package/dist/atoms/chat/index.js +15 -17
  33. package/dist/atoms/globalSearch/index.cjs +1 -1
  34. package/dist/atoms/globalSearch/index.d.cts +6 -6
  35. package/dist/atoms/globalSearch/index.d.ts +6 -6
  36. package/dist/atoms/globalSearch/index.js +1 -1
  37. package/dist/atoms/org/index.cjs +2 -2
  38. package/dist/atoms/org/index.d.cts +17 -17
  39. package/dist/atoms/org/index.d.ts +16 -16
  40. package/dist/atoms/org/index.js +2 -2
  41. package/dist/atoms/search/index.cjs +6 -6
  42. package/dist/atoms/search/index.d.cts +14 -14
  43. package/dist/atoms/search/index.d.ts +14 -14
  44. package/dist/atoms/search/index.js +6 -6
  45. package/dist/atoms/search/utils.cjs +1 -1
  46. package/dist/atoms/search/utils.d.cts +1 -1
  47. package/dist/atoms/search/utils.js +1 -1
  48. package/dist/{cdnContext-ClAEcKhO.cjs → cdnContext-B9s1XSTE.cjs} +2 -2
  49. package/dist/{cdnContext-CuZwc-PI.js → cdnContext-BKQT9bPr.js} +2 -2
  50. package/dist/{chat-BJL3nXR7.cjs → chat-B87y65R0.cjs} +6 -7
  51. package/dist/chat-DfVncvc2.js +226 -0
  52. package/dist/chatState-AYi1RPOJ.js +33 -0
  53. package/dist/chatState-COd-Dczh.cjs +119 -0
  54. package/dist/config/index.d.cts +4 -4
  55. package/dist/config/index.d.ts +4 -4
  56. package/dist/config/locators/components/chat/index.d.cts +1 -1
  57. package/dist/config/locators/components/chat/index.d.ts +1 -1
  58. package/dist/config/locators/components/common/index.d.cts +1 -1
  59. package/dist/config/locators/components/common/index.d.ts +1 -1
  60. package/dist/config/locators/components/index.d.cts +1 -1
  61. package/dist/config/locators/components/index.d.ts +1 -1
  62. package/dist/config/locators/index.d.cts +4 -4
  63. package/dist/config/locators/index.d.ts +4 -4
  64. package/dist/contexts/amplitudeContext/index.cjs +18 -17
  65. package/dist/contexts/amplitudeContext/index.d.cts +11 -2
  66. package/dist/contexts/amplitudeContext/index.d.ts +11 -2
  67. package/dist/contexts/amplitudeContext/index.js +17 -15
  68. package/dist/contexts/cdnContext/index.cjs +3 -3
  69. package/dist/contexts/cdnContext/index.js +3 -3
  70. package/dist/contexts/enviveConfigContext/index.cjs +3 -3
  71. package/dist/contexts/enviveConfigContext/index.js +3 -3
  72. package/dist/contexts/enviveCssContext/index.cjs +10 -10
  73. package/dist/contexts/enviveCssContext/index.js +10 -10
  74. package/dist/contexts/featureFlagContext/index.cjs +4 -4
  75. package/dist/contexts/featureFlagContext/index.js +4 -4
  76. package/dist/contexts/featureFlagServiceContext/index.cjs +3 -3
  77. package/dist/contexts/featureFlagServiceContext/index.d.cts +1 -1
  78. package/dist/contexts/featureFlagServiceContext/index.d.ts +1 -1
  79. package/dist/contexts/featureFlagServiceContext/index.js +3 -3
  80. package/dist/contexts/graphqlContext/index.cjs +4 -4
  81. package/dist/contexts/graphqlContext/index.d.cts +1 -1
  82. package/dist/contexts/graphqlContext/index.js +4 -4
  83. package/dist/contexts/localStorageContext/index.cjs +2 -2
  84. package/dist/contexts/localStorageContext/index.js +2 -2
  85. package/dist/contexts/newOrgConfigContext/index.cjs +9 -9
  86. package/dist/contexts/newOrgConfigContext/index.d.cts +1 -1
  87. package/dist/contexts/newOrgConfigContext/index.js +9 -9
  88. package/dist/contexts/searchContext/index.cjs +18 -19
  89. package/dist/contexts/searchContext/index.js +18 -19
  90. package/dist/contexts/sessionStorageContext/index.cjs +1 -1
  91. package/dist/contexts/sessionStorageContext/index.js +1 -1
  92. package/dist/contexts/shopifyUrlContext/index.cjs +2 -2
  93. package/dist/contexts/shopifyUrlContext/index.js +2 -2
  94. package/dist/contexts/systemSettingsContext/index.cjs +3 -3
  95. package/dist/contexts/systemSettingsContext/index.d.cts +2 -2
  96. package/dist/contexts/systemSettingsContext/index.d.ts +2 -2
  97. package/dist/contexts/systemSettingsContext/index.js +3 -3
  98. package/dist/contexts/userIdentityContext/index.cjs +14 -16
  99. package/dist/contexts/userIdentityContext/index.js +12 -14
  100. package/dist/{dist-BZX_Mgfn.cjs → dist-B7BErEyV.cjs} +1 -1
  101. package/dist/{dist-CIM4YRqp.js → dist-CtkINi1R.js} +1 -1
  102. package/dist/{domObserver-B19-69gW.js → domObserver-CVhsCSkS.js} +1 -1
  103. package/dist/{domObserver-CwieVNgj.cjs → domObserver-LCBj1xw4.cjs} +1 -1
  104. package/dist/{enviveConfig-BwIaVAAm.cjs → enviveConfig-D3hmiaPh.cjs} +2 -2
  105. package/dist/{enviveConfig-CBnoutoK.js → enviveConfig-DyvNVrxm.js} +2 -2
  106. package/dist/{enviveConfigContext-DgewMgYS.cjs → enviveConfigContext-BADXcRZr.cjs} +2 -2
  107. package/dist/{enviveConfigContext-B4nejwV9.js → enviveConfigContext-D8ijWYZf.js} +2 -2
  108. package/dist/events/index.cjs +1 -1
  109. package/dist/events/index.js +1 -1
  110. package/dist/{events-C8LA-0Tp.cjs → events-CgFGtanE.cjs} +1 -1
  111. package/dist/{events-BHBRLPWS.js → events-WOOrnUAx.js} +1 -1
  112. package/dist/exceptions/index.cjs +1 -1
  113. package/dist/exceptions/index.js +1 -1
  114. package/dist/{exceptions-BBXmiU8P.cjs → exceptions-BjDgLzGi.cjs} +1 -1
  115. package/dist/{exceptions--fSXOzkB.js → exceptions-CUGY31Ua.js} +1 -1
  116. package/dist/{featureFlagServiceContext-B7je7VZV.d.cts → featureFlagServiceContext-ClnlCJV5.d.cts} +1 -1
  117. package/dist/{featureFlagServiceContext-DiYIv0jI.d.ts → featureFlagServiceContext-CyPGEe2d.d.ts} +1 -1
  118. package/dist/{featureFlagServiceContext-BkamHViU.cjs → featureFlagServiceContext-DQYo0d6Q.cjs} +2 -2
  119. package/dist/{featureFlagServiceContext-CZj3qPX7.js → featureFlagServiceContext-GIO9xKV0.js} +2 -2
  120. package/dist/{globalSearch-C94-vEVh.cjs → globalSearch-Cpc8egsM.cjs} +1 -1
  121. package/dist/{globalSearch-Dlbnfasm.js → globalSearch-nmrfGLOn.js} +1 -1
  122. package/dist/{graphqlContext-C3HXFiHx.cjs → graphqlContext-BXdtsubh.cjs} +3 -3
  123. package/dist/{graphqlContext-Capum8x6.js → graphqlContext-i_3n2qoK.js} +3 -3
  124. package/dist/hooks/AmplitudeOperations/index.cjs +17 -15
  125. package/dist/hooks/AmplitudeOperations/index.js +17 -15
  126. package/dist/hooks/AppDetails/index.cjs +15 -17
  127. package/dist/hooks/AppDetails/index.js +15 -17
  128. package/dist/hooks/CdnOperations/index.cjs +3 -3
  129. package/dist/hooks/CdnOperations/index.js +3 -3
  130. package/dist/hooks/ChatToggle/index.cjs +21 -19
  131. package/dist/hooks/ChatToggle/index.js +20 -18
  132. package/dist/hooks/ChatToggleAnalytics/index.cjs +19 -17
  133. package/dist/hooks/ChatToggleAnalytics/index.js +19 -17
  134. package/dist/hooks/ElementObserver/index.cjs +1 -1
  135. package/dist/hooks/ElementObserver/index.d.cts +1 -1
  136. package/dist/hooks/ElementObserver/index.d.ts +1 -1
  137. package/dist/hooks/ElementObserver/index.js +1 -1
  138. package/dist/hooks/GrabAndScroll/index.d.cts +2 -2
  139. package/dist/hooks/GrabAndScroll/index.d.ts +2 -2
  140. package/dist/hooks/GraphQLConfig/index.cjs +5 -5
  141. package/dist/hooks/GraphQLConfig/index.js +5 -5
  142. package/dist/hooks/IdentifyUser/index.cjs +14 -16
  143. package/dist/hooks/IdentifyUser/index.js +13 -15
  144. package/dist/hooks/ImageResolver/index.cjs +2 -2
  145. package/dist/hooks/ImageResolver/index.js +2 -2
  146. package/dist/hooks/Intersection/index.cjs +1 -1
  147. package/dist/hooks/Intersection/index.js +1 -1
  148. package/dist/hooks/LocalStorageOperations/index.cjs +2 -2
  149. package/dist/hooks/LocalStorageOperations/index.js +2 -2
  150. package/dist/hooks/MessageFilter/index.cjs +1 -1
  151. package/dist/hooks/MessageFilter/index.js +1 -1
  152. package/dist/hooks/NewOrgConfig/index.cjs +10 -10
  153. package/dist/hooks/NewOrgConfig/index.d.cts +2 -2
  154. package/dist/hooks/NewOrgConfig/index.js +10 -10
  155. package/dist/hooks/Search/index.cjs +24 -22
  156. package/dist/hooks/Search/index.js +24 -22
  157. package/dist/hooks/SearchOperations/index.cjs +19 -20
  158. package/dist/hooks/SearchOperations/index.js +19 -20
  159. package/dist/hooks/SessionStorageOperations/index.cjs +1 -1
  160. package/dist/hooks/SessionStorageOperations/index.js +1 -1
  161. package/dist/hooks/ShopifyUrlOperations/index.cjs +2 -2
  162. package/dist/hooks/ShopifyUrlOperations/index.d.cts +2 -2
  163. package/dist/hooks/ShopifyUrlOperations/index.d.ts +2 -2
  164. package/dist/hooks/ShopifyUrlOperations/index.js +2 -2
  165. package/dist/hooks/SystemSettingsContext/index.cjs +3 -3
  166. package/dist/hooks/SystemSettingsContext/index.d.cts +3 -3
  167. package/dist/hooks/SystemSettingsContext/index.d.ts +4 -4
  168. package/dist/hooks/SystemSettingsContext/index.js +3 -3
  169. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +18 -16
  170. package/dist/hooks/TrackComponentVisibleEvent/index.js +18 -16
  171. package/dist/hooks/UpdateAnalyticsProps/index.cjs +20 -18
  172. package/dist/hooks/UpdateAnalyticsProps/index.js +17 -15
  173. package/dist/hooks/utils.d.cts +1 -1
  174. package/dist/{index-CAhGZxMI.d.ts → index-5li6ZMDu.d.ts} +1 -1
  175. package/dist/index-BVZbvpx_.d.cts +1 -1
  176. package/dist/{index-ca7Qn8o0.d.cts → index-BbqT4BQv.d.cts} +1 -1
  177. package/dist/{index-w64il54a.d.cts → index-CAJq_8bO.d.cts} +1 -1
  178. package/dist/index-CMZcE7pk.d.cts +1 -1
  179. package/dist/{index-BQpWG3Jm.d.cts → index-ChiZg0yw.d.cts} +1 -1
  180. package/dist/{index-DNccxbJi.d.ts → index-CsmO1rDH.d.ts} +1 -1
  181. package/dist/{index-Dgu085Lu.d.ts → index-CuihhoIF.d.ts} +2 -2
  182. package/dist/{index-BR1G8yyg.d.ts → index-DtzPIcQp.d.ts} +1 -1
  183. package/dist/{index-ZQMda2Iu.d.ts → index-bEjLKG_Q.d.ts} +1 -1
  184. package/dist/{index-DiIHuPq2.d.ts → index-jFQefHda.d.ts} +1 -1
  185. package/dist/{index-BO-ZLYtR.d.ts → index-mv7KvWDq.d.ts} +1 -1
  186. package/dist/{index-ClVBVK15.d.cts → index-npqPeJ1g.d.cts} +1 -1
  187. package/dist/interceptors/index.cjs +1 -1
  188. package/dist/interceptors/index.d.ts +1 -1
  189. package/dist/interceptors/index.js +1 -1
  190. package/dist/{localStorageContext-CPrkpt8i.cjs → localStorageContext-CMQMTX56.cjs} +2 -2
  191. package/dist/{localStorageContext-p_4U0RPI.js → localStorageContext-znToxGBM.js} +2 -2
  192. package/dist/{models-L2w8FYCa.js → models-DmsMlaHT.js} +2 -2
  193. package/dist/{models-OyYkll03.cjs → models-wh2gh_Qz.cjs} +2 -2
  194. package/dist/{newOrgConfigAtom-Dsk0fJNR.js → newOrgConfigAtom-CKuuohFM.js} +1 -1
  195. package/dist/{newOrgConfigAtom-hs5A1pbZ.cjs → newOrgConfigAtom-Cy66eryV.cjs} +1 -1
  196. package/dist/{newOrgConfigContext-BuqDUkPz.js → newOrgConfigContext-UdjemITl.js} +5 -5
  197. package/dist/{newOrgConfigContext-N4CQzvlH.cjs → newOrgConfigContext-kCipbRua.cjs} +5 -5
  198. package/dist/{nodeSelector-0gJ8Xayf.d.ts → nodeSelector-BAKg1h_y.d.ts} +1 -1
  199. package/dist/{nodeSelector-Cj-Xl1LP.d.cts → nodeSelector-BYEAyrsj.d.cts} +1 -1
  200. package/dist/org-D_QTp1ex.js +32 -0
  201. package/dist/org-DnpLYVzD.cjs +111 -0
  202. package/dist/{search-C_N_oRVZ.js → search-CP6Tnjsb.js} +5 -5
  203. package/dist/{search-8bPfo07V.cjs → search-JN-IYDIE.cjs} +5 -5
  204. package/dist/{searchContext-DdJbpDsU.cjs → searchContext-BrymLMqU.cjs} +6 -6
  205. package/dist/{searchContext-BohH5i8s.js → searchContext-CgXwm6aL.js} +6 -6
  206. package/dist/{searchServiceAdapter-BSPZOg1r.js → searchServiceAdapter-B0h7psvh.js} +1 -1
  207. package/dist/{searchServiceAdapter-DrjFCiw8.cjs → searchServiceAdapter-BclWy4fE.cjs} +1 -1
  208. package/dist/{sessionStorageContext-CH37Dkb-.cjs → sessionStorageContext-BuWrJQwc.cjs} +1 -1
  209. package/dist/{sessionStorageContext-CqrutoVq.js → sessionStorageContext-DvFHbk81.js} +1 -1
  210. package/dist/{shopifyUrlContext-Ba6MQdNV.cjs → shopifyUrlContext-COc1eDR_.cjs} +2 -2
  211. package/dist/{shopifyUrlContext-BI3fVtA5.js → shopifyUrlContext-CToAt_98.js} +2 -2
  212. package/dist/{systemSettingsContext-D9BZ9EwQ.js → systemSettingsContext-B8a7vEqE.js} +2 -2
  213. package/dist/{systemSettingsContext-CYce8iqH.cjs → systemSettingsContext-D-4ma13L.cjs} +2 -2
  214. package/dist/types/index.cjs +1 -1
  215. package/dist/types/index.d.ts +1 -1
  216. package/dist/types/index.js +1 -1
  217. package/dist/{types-B8HZYWV3.cjs → types-1iJ_FnQQ.cjs} +1 -1
  218. package/dist/{types-y3mhxOUA.js → types-D5du68Vp.js} +1 -1
  219. package/dist/{urlsParser-C-Vzs--G.cjs → urlsParser-Dax4iVNC.cjs} +1 -1
  220. package/dist/{urlsParser-G7Ocwg0M.js → urlsParser-NAp2LwWP.js} +1 -1
  221. package/dist/{useAppDetails-DNG_-DI9.cjs → useAppDetails-BkTsIODv.cjs} +7 -7
  222. package/dist/{useAppDetails-CSpw8teP.js → useAppDetails-HS5GtU5O.js} +4 -4
  223. package/dist/{useGraphQLConfig-CKtaLlQ-.cjs → useGraphQLConfig-DCd-kR81.cjs} +2 -2
  224. package/dist/{useGraphQLConfig-D1REGfFB.js → useGraphQLConfig-arTbYTKS.js} +2 -2
  225. package/dist/{useIntersection-BQMfiS4x.cjs → useIntersection-BcBCa890.cjs} +1 -1
  226. package/dist/{useIntersection-D-ol9eH8.js → useIntersection-BkMkuJcZ.js} +1 -1
  227. package/dist/{utils-sosM0bEk.d.ts → utils-BitIIghf.d.ts} +1 -1
  228. package/dist/{utils-BBICrPjW.cjs → utils-CqVRbvfN.cjs} +1 -1
  229. package/dist/utils-CxDOv-yL.js +607 -0
  230. package/dist/{utils-w4-xONRA.js → utils-DQhbbAnt.js} +1 -1
  231. package/dist/utils-DucG4gQ7.cjs +716 -0
  232. package/package.json +1 -1
  233. package/src/application/commerce-api.ts +2 -0
  234. package/src/application/utils/analyticsUtils.ts +31 -16
  235. package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +1 -1
  236. package/src/atoms/chat/chatState.ts +12 -7
  237. package/src/atoms/chat/replies.ts +42 -40
  238. package/src/contexts/amplitudeContext/amplitudeContext.tsx +116 -130
  239. package/dist/amplitudeContext-CMTvCsJC.d.ts +0 -52
  240. package/dist/amplitudeContext-ZkerrMUa.d.cts +0 -52
  241. package/dist/amplitudeTrackEventAtom-D9vs8dpE.cjs +0 -15
  242. package/dist/amplitudeTrackEventAtom-iEIu11Om.js +0 -8
  243. package/dist/chat-ChCtIEwh.js +0 -227
  244. package/dist/chatState-BYB77nbx.cjs +0 -120
  245. package/dist/chatState-CzH7APPP.js +0 -34
  246. package/dist/org-C2kLSSe9.cjs +0 -111
  247. package/dist/org-CIczyLRP.js +0 -32
  248. package/dist/utils-DGpMn2pp.js +0 -1364
  249. package/dist/utils-DqxtxrFe.cjs +0 -1546
  250. /package/dist/{featureFlagServiceContext-DgoR6euC.js → featureFlagServiceContext-CISyb90N.js} +0 -0
  251. /package/dist/{featureFlagServiceContext-b-rYgf0u.cjs → featureFlagServiceContext-Csgo-MUv.cjs} +0 -0
@@ -1,12 +1,12 @@
1
- require('../../dist-BZX_Mgfn.cjs');
1
+ require('../../dist-B7BErEyV.cjs');
2
2
  require('../../graphql-JaGqsToc.cjs');
3
- require('../../models-OyYkll03.cjs');
3
+ require('../../models-wh2gh_Qz.cjs');
4
4
  require('../../utils-CiJLDPjY.cjs');
5
5
  require('../../api-D4Xoibs9.cjs');
6
6
  require('../../logger-BqHq67zN.cjs');
7
- require('../../enviveConfig-BwIaVAAm.cjs');
8
- require('../../graphqlContext-C3HXFiHx.cjs');
9
- const require_useGraphQLConfig = require('../../useGraphQLConfig-CKtaLlQ-.cjs');
7
+ require('../../enviveConfig-D3hmiaPh.cjs');
8
+ require('../../graphqlContext-BXdtsubh.cjs');
9
+ const require_useGraphQLConfig = require('../../useGraphQLConfig-DCd-kR81.cjs');
10
10
 
11
11
  exports.useColorsAndFrontendConfig = require_useGraphQLConfig.useColorsAndFrontendConfig;
12
12
  exports.useOrgId = require_useGraphQLConfig.useOrgId;
@@ -1,11 +1,11 @@
1
- import "../../dist-CIM4YRqp.js";
1
+ import "../../dist-CtkINi1R.js";
2
2
  import "../../graphql-CvAHWmel.js";
3
- import "../../models-L2w8FYCa.js";
3
+ import "../../models-DmsMlaHT.js";
4
4
  import "../../utils-B1LVzQYK.js";
5
5
  import "../../api-D4HaU2Gf.js";
6
6
  import "../../logger-BMVdhQOV.js";
7
- import "../../enviveConfig-CBnoutoK.js";
8
- import "../../graphqlContext-Capum8x6.js";
9
- import { useColorsAndFrontendConfig, useOrgId } from "../../useGraphQLConfig-D1REGfFB.js";
7
+ import "../../enviveConfig-DyvNVrxm.js";
8
+ import "../../graphqlContext-i_3n2qoK.js";
9
+ import { useColorsAndFrontendConfig, useOrgId } from "../../useGraphQLConfig-arTbYTKS.js";
10
10
 
11
11
  export { useColorsAndFrontendConfig, useOrgId };
@@ -1,29 +1,27 @@
1
1
  const require_chunk = require('../../chunk-CUT6urMc.cjs');
2
- require('../../exceptions-BBXmiU8P.cjs');
3
- require('../../dist-BZX_Mgfn.cjs');
4
- require('../../types-B8HZYWV3.cjs');
5
- require('../../events-C8LA-0Tp.cjs');
2
+ require('../../exceptions-BjDgLzGi.cjs');
3
+ require('../../dist-B7BErEyV.cjs');
4
+ require('../../types-1iJ_FnQQ.cjs');
6
5
  require('../../graphql-JaGqsToc.cjs');
7
- require('../../models-OyYkll03.cjs');
6
+ require('../../models-wh2gh_Qz.cjs');
8
7
  require('../../utils-CiJLDPjY.cjs');
9
8
  require('../../api-D4Xoibs9.cjs');
10
9
  require('../../logger-BqHq67zN.cjs');
11
- require('../../enviveConfig-BwIaVAAm.cjs');
12
- require('../../localStorageContext-CPrkpt8i.cjs');
13
- require('../../org-C2kLSSe9.cjs');
10
+ require('../../utils-DucG4gQ7.cjs');
11
+ require('../../domObserver-LCBj1xw4.cjs');
12
+ require('../../urlsParser-Dax4iVNC.cjs');
14
13
  require('../../atomStore-CZKe3itM.cjs');
15
- require('../../newOrgConfigAtom-hs5A1pbZ.cjs');
16
- const require_utils$1 = require('../../utils-DqxtxrFe.cjs');
17
- require('../../enviveConfigContext-DgewMgYS.cjs');
18
- require('../../featureFlagServiceContext-BkamHViU.cjs');
19
- require('../../domObserver-CwieVNgj.cjs');
20
- require('../../urlsParser-C-Vzs--G.cjs');
14
+ require('../../enviveConfig-D3hmiaPh.cjs');
15
+ require('../../org-DnpLYVzD.cjs');
16
+ require('../../newOrgConfigAtom-Cy66eryV.cjs');
17
+ const require_app = require('../../app-DudAJOe4.cjs');
18
+ require('../../localStorageContext-CMQMTX56.cjs');
21
19
  let react = require("react");
22
20
  react = require_chunk.__toESM(react);
23
21
 
24
22
  //#region src/hooks/IdentifyUser/useIdentifyUser.ts
25
23
  const useIdentifyUser = () => {
26
- const { identifyUser, isReady } = require_utils$1.useUserIdentity();
24
+ const { identifyUser, isReady } = require_app.useUserIdentity();
27
25
  const [loading, setLoading] = (0, react.useState)(false);
28
26
  const [error, setError] = (0, react.useState)(null);
29
27
  const executeIdentifyUser = (0, react.useCallback)(async () => {
@@ -52,4 +50,4 @@ const useIdentifyUser = () => {
52
50
 
53
51
  //#endregion
54
52
  exports.useIdentifyUser = useIdentifyUser;
55
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2pzIiwibmFtZXMiOlsidXNlVXNlcklkZW50aXR5Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL0lkZW50aWZ5VXNlci91c2VJZGVudGlmeVVzZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VVc2VySWRlbnRpdHkgfSBmcm9tIFwic3JjL2NvbnRleHRzL3VzZXJJZGVudGl0eUNvbnRleHQvdXNlcklkZW50aXR5Q29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgdXNlSWRlbnRpZnlVc2VyID0gKCkgPT4ge1xuICBjb25zdCB7IGlkZW50aWZ5VXNlciwgaXNSZWFkeSB9ID0gdXNlVXNlcklkZW50aXR5KCk7XG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxFcnJvciB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0IGV4ZWN1dGVJZGVudGlmeVVzZXIgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFpc1JlYWR5KSB7XG4gICAgICBzZXRFcnJvcihuZXcgRXJyb3IoXCJVc2VySWRlbnRpdHlDb250ZXh0IG5vdCByZWFkeS5cIikpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgc2V0RXJyb3IobnVsbCk7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgaWRlbnRpZnlVc2VyKCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBzZXRFcnJvcihcbiAgICAgICAgZXJyIGluc3RhbmNlb2YgRXJyb3JcbiAgICAgICAgICA/IGVyclxuICAgICAgICAgIDogbmV3IEVycm9yKFwiVW5rbm93biBlcnJvciBkdXJpbmcgdXNlciBpZGVudGlmaWNhdGlvbi5cIilcbiAgICAgICk7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfSwgW2lkZW50aWZ5VXNlciwgaXNSZWFkeV0pO1xuXG4gIHJldHVybiB7IGxvYWRpbmcsIGVycm9yLCBleGVjdXRlSWRlbnRpZnlVc2VyLCBpc1JlYWR5IH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxNQUFhLHdCQUF3QjtDQUNuQyxNQUFNLEVBQUUsY0FBYyxZQUFZQSxpQ0FBaUI7Q0FDbkQsTUFBTSxDQUFDLFNBQVMsa0NBQXVCLE1BQU07Q0FDN0MsTUFBTSxDQUFDLE9BQU8sZ0NBQW1DLEtBQUs7Q0FFdEQsTUFBTSw2Q0FBa0MsWUFBWTtBQUNsRCxNQUFJLENBQUMsU0FBUztBQUNaLDRCQUFTLElBQUksTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRDs7QUFHRixhQUFXLEtBQUs7QUFDaEIsV0FBUyxLQUFLO0FBRWQsTUFBSTtBQUNGLFNBQU0sY0FBYztXQUNiLEtBQUs7QUFDWixZQUNFLGVBQWUsUUFDWCxzQkFDQSxJQUFJLE1BQU0sNENBQTRDLENBQzNEO0FBQ0QsU0FBTTtZQUNFO0FBQ1IsY0FBVyxNQUFNOztJQUVsQixDQUFDLGNBQWMsUUFBUSxDQUFDO0FBRTNCLFFBQU87RUFBRTtFQUFTO0VBQU87RUFBcUI7RUFBUyJ9
53
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2pzIiwibmFtZXMiOlsidXNlVXNlcklkZW50aXR5Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL0lkZW50aWZ5VXNlci91c2VJZGVudGlmeVVzZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VVc2VySWRlbnRpdHkgfSBmcm9tIFwic3JjL2NvbnRleHRzL3VzZXJJZGVudGl0eUNvbnRleHQvdXNlcklkZW50aXR5Q29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgdXNlSWRlbnRpZnlVc2VyID0gKCkgPT4ge1xuICBjb25zdCB7IGlkZW50aWZ5VXNlciwgaXNSZWFkeSB9ID0gdXNlVXNlcklkZW50aXR5KCk7XG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxFcnJvciB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0IGV4ZWN1dGVJZGVudGlmeVVzZXIgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFpc1JlYWR5KSB7XG4gICAgICBzZXRFcnJvcihuZXcgRXJyb3IoXCJVc2VySWRlbnRpdHlDb250ZXh0IG5vdCByZWFkeS5cIikpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgc2V0RXJyb3IobnVsbCk7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgaWRlbnRpZnlVc2VyKCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBzZXRFcnJvcihcbiAgICAgICAgZXJyIGluc3RhbmNlb2YgRXJyb3JcbiAgICAgICAgICA/IGVyclxuICAgICAgICAgIDogbmV3IEVycm9yKFwiVW5rbm93biBlcnJvciBkdXJpbmcgdXNlciBpZGVudGlmaWNhdGlvbi5cIilcbiAgICAgICk7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfSwgW2lkZW50aWZ5VXNlciwgaXNSZWFkeV0pO1xuXG4gIHJldHVybiB7IGxvYWRpbmcsIGVycm9yLCBleGVjdXRlSWRlbnRpZnlVc2VyLCBpc1JlYWR5IH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsTUFBYSx3QkFBd0I7Q0FDbkMsTUFBTSxFQUFFLGNBQWMsWUFBWUEsNkJBQWlCO0NBQ25ELE1BQU0sQ0FBQyxTQUFTLGtDQUF1QixNQUFNO0NBQzdDLE1BQU0sQ0FBQyxPQUFPLGdDQUFtQyxLQUFLO0NBRXRELE1BQU0sNkNBQWtDLFlBQVk7QUFDbEQsTUFBSSxDQUFDLFNBQVM7QUFDWiw0QkFBUyxJQUFJLE1BQU0saUNBQWlDLENBQUM7QUFDckQ7O0FBR0YsYUFBVyxLQUFLO0FBQ2hCLFdBQVMsS0FBSztBQUVkLE1BQUk7QUFDRixTQUFNLGNBQWM7V0FDYixLQUFLO0FBQ1osWUFDRSxlQUFlLFFBQ1gsc0JBQ0EsSUFBSSxNQUFNLDRDQUE0QyxDQUMzRDtBQUNELFNBQU07WUFDRTtBQUNSLGNBQVcsTUFBTTs7SUFFbEIsQ0FBQyxjQUFjLFFBQVEsQ0FBQztBQUUzQixRQUFPO0VBQUU7RUFBUztFQUFPO0VBQXFCO0VBQVMifQ==
@@ -1,22 +1,20 @@
1
- import "../../exceptions--fSXOzkB.js";
2
- import "../../dist-CIM4YRqp.js";
3
- import "../../types-y3mhxOUA.js";
4
- import "../../events-BHBRLPWS.js";
1
+ import "../../exceptions-CUGY31Ua.js";
2
+ import "../../dist-CtkINi1R.js";
3
+ import "../../types-D5du68Vp.js";
5
4
  import "../../graphql-CvAHWmel.js";
6
- import "../../models-L2w8FYCa.js";
5
+ import "../../models-DmsMlaHT.js";
7
6
  import "../../utils-B1LVzQYK.js";
8
7
  import "../../api-D4HaU2Gf.js";
9
8
  import "../../logger-BMVdhQOV.js";
10
- import "../../enviveConfig-CBnoutoK.js";
11
- import "../../localStorageContext-p_4U0RPI.js";
12
- import "../../org-CIczyLRP.js";
9
+ import "../../utils-CxDOv-yL.js";
10
+ import "../../domObserver-CVhsCSkS.js";
11
+ import "../../urlsParser-NAp2LwWP.js";
13
12
  import "../../atomStore-BuopbV9k.js";
14
- import "../../newOrgConfigAtom-Dsk0fJNR.js";
15
- import { useUserIdentity } from "../../utils-DGpMn2pp.js";
16
- import "../../enviveConfigContext-B4nejwV9.js";
17
- import "../../featureFlagServiceContext-CZj3qPX7.js";
18
- import "../../domObserver-B19-69gW.js";
19
- import "../../urlsParser-G7Ocwg0M.js";
13
+ import "../../enviveConfig-DyvNVrxm.js";
14
+ import "../../org-D_QTp1ex.js";
15
+ import "../../newOrgConfigAtom-CKuuohFM.js";
16
+ import { useUserIdentity } from "../../app-CrmrUsr6.js";
17
+ import "../../localStorageContext-znToxGBM.js";
20
18
  import { useCallback, useState } from "react";
21
19
 
22
20
  //#region src/hooks/IdentifyUser/useIdentifyUser.ts
@@ -50,4 +48,4 @@ const useIdentifyUser = () => {
50
48
 
51
49
  //#endregion
52
50
  export { useIdentifyUser };
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL0lkZW50aWZ5VXNlci91c2VJZGVudGlmeVVzZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VVc2VySWRlbnRpdHkgfSBmcm9tIFwic3JjL2NvbnRleHRzL3VzZXJJZGVudGl0eUNvbnRleHQvdXNlcklkZW50aXR5Q29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgdXNlSWRlbnRpZnlVc2VyID0gKCkgPT4ge1xuICBjb25zdCB7IGlkZW50aWZ5VXNlciwgaXNSZWFkeSB9ID0gdXNlVXNlcklkZW50aXR5KCk7XG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxFcnJvciB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0IGV4ZWN1dGVJZGVudGlmeVVzZXIgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFpc1JlYWR5KSB7XG4gICAgICBzZXRFcnJvcihuZXcgRXJyb3IoXCJVc2VySWRlbnRpdHlDb250ZXh0IG5vdCByZWFkeS5cIikpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgc2V0RXJyb3IobnVsbCk7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgaWRlbnRpZnlVc2VyKCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBzZXRFcnJvcihcbiAgICAgICAgZXJyIGluc3RhbmNlb2YgRXJyb3JcbiAgICAgICAgICA/IGVyclxuICAgICAgICAgIDogbmV3IEVycm9yKFwiVW5rbm93biBlcnJvciBkdXJpbmcgdXNlciBpZGVudGlmaWNhdGlvbi5cIilcbiAgICAgICk7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfSwgW2lkZW50aWZ5VXNlciwgaXNSZWFkeV0pO1xuXG4gIHJldHVybiB7IGxvYWRpbmcsIGVycm9yLCBleGVjdXRlSWRlbnRpZnlVc2VyLCBpc1JlYWR5IH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsTUFBYSx3QkFBd0I7Q0FDbkMsTUFBTSxFQUFFLGNBQWMsWUFBWSxpQkFBaUI7Q0FDbkQsTUFBTSxDQUFDLFNBQVMsY0FBYyxTQUFTLE1BQU07Q0FDN0MsTUFBTSxDQUFDLE9BQU8sWUFBWSxTQUF1QixLQUFLO0NBRXRELE1BQU0sc0JBQXNCLFlBQVksWUFBWTtBQUNsRCxNQUFJLENBQUMsU0FBUztBQUNaLDRCQUFTLElBQUksTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRDs7QUFHRixhQUFXLEtBQUs7QUFDaEIsV0FBUyxLQUFLO0FBRWQsTUFBSTtBQUNGLFNBQU0sY0FBYztXQUNiLEtBQUs7QUFDWixZQUNFLGVBQWUsUUFDWCxzQkFDQSxJQUFJLE1BQU0sNENBQTRDLENBQzNEO0FBQ0QsU0FBTTtZQUNFO0FBQ1IsY0FBVyxNQUFNOztJQUVsQixDQUFDLGNBQWMsUUFBUSxDQUFDO0FBRTNCLFFBQU87RUFBRTtFQUFTO0VBQU87RUFBcUI7RUFBUyJ9
51
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL0lkZW50aWZ5VXNlci91c2VJZGVudGlmeVVzZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VVc2VySWRlbnRpdHkgfSBmcm9tIFwic3JjL2NvbnRleHRzL3VzZXJJZGVudGl0eUNvbnRleHQvdXNlcklkZW50aXR5Q29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgdXNlSWRlbnRpZnlVc2VyID0gKCkgPT4ge1xuICBjb25zdCB7IGlkZW50aWZ5VXNlciwgaXNSZWFkeSB9ID0gdXNlVXNlcklkZW50aXR5KCk7XG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxFcnJvciB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0IGV4ZWN1dGVJZGVudGlmeVVzZXIgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFpc1JlYWR5KSB7XG4gICAgICBzZXRFcnJvcihuZXcgRXJyb3IoXCJVc2VySWRlbnRpdHlDb250ZXh0IG5vdCByZWFkeS5cIikpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgc2V0RXJyb3IobnVsbCk7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgaWRlbnRpZnlVc2VyKCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBzZXRFcnJvcihcbiAgICAgICAgZXJyIGluc3RhbmNlb2YgRXJyb3JcbiAgICAgICAgICA/IGVyclxuICAgICAgICAgIDogbmV3IEVycm9yKFwiVW5rbm93biBlcnJvciBkdXJpbmcgdXNlciBpZGVudGlmaWNhdGlvbi5cIilcbiAgICAgICk7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfSwgW2lkZW50aWZ5VXNlciwgaXNSZWFkeV0pO1xuXG4gIHJldHVybiB7IGxvYWRpbmcsIGVycm9yLCBleGVjdXRlSWRlbnRpZnlVc2VyLCBpc1JlYWR5IH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLE1BQWEsd0JBQXdCO0NBQ25DLE1BQU0sRUFBRSxjQUFjLFlBQVksaUJBQWlCO0NBQ25ELE1BQU0sQ0FBQyxTQUFTLGNBQWMsU0FBUyxNQUFNO0NBQzdDLE1BQU0sQ0FBQyxPQUFPLFlBQVksU0FBdUIsS0FBSztDQUV0RCxNQUFNLHNCQUFzQixZQUFZLFlBQVk7QUFDbEQsTUFBSSxDQUFDLFNBQVM7QUFDWiw0QkFBUyxJQUFJLE1BQU0saUNBQWlDLENBQUM7QUFDckQ7O0FBR0YsYUFBVyxLQUFLO0FBQ2hCLFdBQVMsS0FBSztBQUVkLE1BQUk7QUFDRixTQUFNLGNBQWM7V0FDYixLQUFLO0FBQ1osWUFDRSxlQUFlLFFBQ1gsc0JBQ0EsSUFBSSxNQUFNLDRDQUE0QyxDQUMzRDtBQUNELFNBQU07WUFDRTtBQUNSLGNBQVcsTUFBTTs7SUFFbEIsQ0FBQyxjQUFjLFFBQVEsQ0FBQztBQUUzQixRQUFPO0VBQUU7RUFBUztFQUFPO0VBQXFCO0VBQVMifQ==
@@ -1,7 +1,7 @@
1
1
  const require_chunk = require('../../chunk-CUT6urMc.cjs');
2
- const require_dist = require('../../dist-BZX_Mgfn.cjs');
2
+ const require_dist = require('../../dist-B7BErEyV.cjs');
3
3
  require('../../logger-BqHq67zN.cjs');
4
- const require_enviveConfig = require('../../enviveConfig-BwIaVAAm.cjs');
4
+ const require_enviveConfig = require('../../enviveConfig-D3hmiaPh.cjs');
5
5
  let jotai = require("jotai");
6
6
  jotai = require_chunk.__toESM(jotai);
7
7
 
@@ -1,6 +1,6 @@
1
- import { OrgShortName } from "../../dist-CIM4YRqp.js";
1
+ import { OrgShortName } from "../../dist-CtkINi1R.js";
2
2
  import "../../logger-BMVdhQOV.js";
3
- import { orgShortNameAtom } from "../../enviveConfig-CBnoutoK.js";
3
+ import { orgShortNameAtom } from "../../enviveConfig-DyvNVrxm.js";
4
4
  import { useAtomValue } from "jotai";
5
5
 
6
6
  //#region src/hooks/ImageResolver/useImageResolver.ts
@@ -1,3 +1,3 @@
1
- const require_useIntersection = require('../../useIntersection-BQMfiS4x.cjs');
1
+ const require_useIntersection = require('../../useIntersection-BcBCa890.cjs');
2
2
 
3
3
  exports.useIntersection = require_useIntersection.useIntersection;
@@ -1,3 +1,3 @@
1
- import { useIntersection } from "../../useIntersection-D-ol9eH8.js";
1
+ import { useIntersection } from "../../useIntersection-BkMkuJcZ.js";
2
2
 
3
3
  export { useIntersection };
@@ -1,7 +1,7 @@
1
1
  const require_chunk = require('../../chunk-CUT6urMc.cjs');
2
- const require_dist = require('../../dist-BZX_Mgfn.cjs');
2
+ const require_dist = require('../../dist-B7BErEyV.cjs');
3
3
  require('../../logger-BqHq67zN.cjs');
4
- const require_localStorageContext = require('../../localStorageContext-CPrkpt8i.cjs');
4
+ const require_localStorageContext = require('../../localStorageContext-CMQMTX56.cjs');
5
5
  let react = require("react");
6
6
  react = require_chunk.__toESM(react);
7
7
 
@@ -1,6 +1,6 @@
1
- import { LocalStorageKeys } from "../../dist-CIM4YRqp.js";
1
+ import { LocalStorageKeys } from "../../dist-CtkINi1R.js";
2
2
  import "../../logger-BMVdhQOV.js";
3
- import { useLocalStorage } from "../../localStorageContext-p_4U0RPI.js";
3
+ import { useLocalStorage } from "../../localStorageContext-znToxGBM.js";
4
4
  import { useCallback, useEffect, useState } from "react";
5
5
 
6
6
  //#region src/hooks/LocalStorageOperations/useLocalStorageOperations.ts
@@ -1,4 +1,4 @@
1
- const require_dist = require('../../dist-BZX_Mgfn.cjs');
1
+ const require_dist = require('../../dist-B7BErEyV.cjs');
2
2
 
3
3
  //#region src/hooks/MessageFilter/useMessageFilter.ts
4
4
  const useMessageFilter = () => {
@@ -1,4 +1,4 @@
1
- import { MessageType } from "../../dist-CIM4YRqp.js";
1
+ import { MessageType } from "../../dist-CtkINi1R.js";
2
2
 
3
3
  //#region src/hooks/MessageFilter/useMessageFilter.ts
4
4
  const useMessageFilter = () => {
@@ -1,16 +1,16 @@
1
- require('../../dist-BZX_Mgfn.cjs');
1
+ require('../../dist-B7BErEyV.cjs');
2
2
  require('../../graphql-JaGqsToc.cjs');
3
- require('../../models-OyYkll03.cjs');
3
+ require('../../models-wh2gh_Qz.cjs');
4
4
  require('../../utils-CiJLDPjY.cjs');
5
5
  require('../../api-D4Xoibs9.cjs');
6
6
  require('../../logger-BqHq67zN.cjs');
7
- require('../../enviveConfig-BwIaVAAm.cjs');
8
- require('../../newOrgConfigAtom-hs5A1pbZ.cjs');
9
- require('../../featureFlagServiceContext-BkamHViU.cjs');
10
- require('../../featureFlagServiceContext-b-rYgf0u.cjs');
11
- require('../../graphqlContext-C3HXFiHx.cjs');
12
- require('../../useGraphQLConfig-CKtaLlQ-.cjs');
13
- require('../../newOrgConfigContext-N4CQzvlH.cjs');
14
- const require_NewOrgConfig = require('../../NewOrgConfig-6dFyYjJG.cjs');
7
+ require('../../enviveConfig-D3hmiaPh.cjs');
8
+ require('../../newOrgConfigAtom-Cy66eryV.cjs');
9
+ require('../../featureFlagServiceContext-DQYo0d6Q.cjs');
10
+ require('../../graphqlContext-BXdtsubh.cjs');
11
+ require('../../useGraphQLConfig-DCd-kR81.cjs');
12
+ require('../../featureFlagServiceContext-Csgo-MUv.cjs');
13
+ require('../../newOrgConfigContext-kCipbRua.cjs');
14
+ const require_NewOrgConfig = require('../../NewOrgConfig-CKHO6QW_.cjs');
15
15
 
16
16
  exports.useNewOrgConfig = require_NewOrgConfig.useNewOrgConfig;
@@ -1,7 +1,7 @@
1
- import * as _envive_ai_types7 from "@envive-ai/types";
1
+ import * as _envive_ai_types5 from "@envive-ai/types";
2
2
 
3
3
  //#region src/hooks/NewOrgConfig/useNewOrgConfig.d.ts
4
- declare const useNewOrgConfig: () => _envive_ai_types7.NewOrgConfigContextType;
4
+ declare const useNewOrgConfig: () => _envive_ai_types5.NewOrgConfigContextType;
5
5
  //#endregion
6
6
  export { useNewOrgConfig };
7
7
  //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL05ld09yZ0NvbmZpZy91c2VOZXdPcmdDb25maWcuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVjbGFyZSBjb25zdCB1c2VOZXdPcmdDb25maWc6ICgpID0+IGltcG9ydChcIkBlbnZpdmUtYWkvdHlwZXNcIikuTmV3T3JnQ29uZmlnQ29udGV4dFR5cGU7XG4iXSwibWFwcGluZ3MiOiIifQ==
@@ -1,16 +1,16 @@
1
- import "../../dist-CIM4YRqp.js";
1
+ import "../../dist-CtkINi1R.js";
2
2
  import "../../graphql-CvAHWmel.js";
3
- import "../../models-L2w8FYCa.js";
3
+ import "../../models-DmsMlaHT.js";
4
4
  import "../../utils-B1LVzQYK.js";
5
5
  import "../../api-D4HaU2Gf.js";
6
6
  import "../../logger-BMVdhQOV.js";
7
- import "../../enviveConfig-CBnoutoK.js";
8
- import "../../newOrgConfigAtom-Dsk0fJNR.js";
9
- import "../../featureFlagServiceContext-CZj3qPX7.js";
10
- import "../../featureFlagServiceContext-DgoR6euC.js";
11
- import "../../graphqlContext-Capum8x6.js";
12
- import "../../useGraphQLConfig-D1REGfFB.js";
13
- import "../../newOrgConfigContext-BuqDUkPz.js";
14
- import { useNewOrgConfig } from "../../NewOrgConfig-Bicbf8I7.js";
7
+ import "../../enviveConfig-DyvNVrxm.js";
8
+ import "../../newOrgConfigAtom-CKuuohFM.js";
9
+ import "../../featureFlagServiceContext-GIO9xKV0.js";
10
+ import "../../graphqlContext-i_3n2qoK.js";
11
+ import "../../useGraphQLConfig-arTbYTKS.js";
12
+ import "../../featureFlagServiceContext-CISyb90N.js";
13
+ import "../../newOrgConfigContext-UdjemITl.js";
14
+ import { useNewOrgConfig } from "../../NewOrgConfig-BnLPlU6Z.js";
15
15
 
16
16
  export { useNewOrgConfig };
@@ -1,31 +1,33 @@
1
1
  const require_chunk = require('../../chunk-CUT6urMc.cjs');
2
- require('../../exceptions-BBXmiU8P.cjs');
3
- const require_dist = require('../../dist-BZX_Mgfn.cjs');
2
+ require('../../events-CgFGtanE.cjs');
3
+ require('../../exceptions-BjDgLzGi.cjs');
4
4
  const require_utils = require('../../utils-hYTjy7hJ.cjs');
5
- require('../../types-B8HZYWV3.cjs');
6
- require('../../events-C8LA-0Tp.cjs');
5
+ const require_dist = require('../../dist-B7BErEyV.cjs');
6
+ require('../../types-1iJ_FnQQ.cjs');
7
7
  require('../../graphql-JaGqsToc.cjs');
8
- require('../../models-OyYkll03.cjs');
8
+ require('../../models-wh2gh_Qz.cjs');
9
9
  require('../../utils-CiJLDPjY.cjs');
10
10
  require('../../api-D4Xoibs9.cjs');
11
11
  require('../../logger-BqHq67zN.cjs');
12
- const require_enviveConfig = require('../../enviveConfig-BwIaVAAm.cjs');
13
- require('../../localStorageContext-CPrkpt8i.cjs');
14
- require('../../org-C2kLSSe9.cjs');
12
+ require('../../utils-DucG4gQ7.cjs');
13
+ require('../../domObserver-LCBj1xw4.cjs');
14
+ require('../../urlsParser-Dax4iVNC.cjs');
15
15
  require('../../atomStore-CZKe3itM.cjs');
16
- const require_newOrgConfigAtom = require('../../newOrgConfigAtom-hs5A1pbZ.cjs');
17
- require('../../utils-DqxtxrFe.cjs');
18
- require('../../enviveConfigContext-DgewMgYS.cjs');
19
- require('../../featureFlagServiceContext-BkamHViU.cjs');
20
- require('../../domObserver-CwieVNgj.cjs');
21
- require('../../urlsParser-C-Vzs--G.cjs');
22
- const require_amplitudeTrackEventAtom = require('../../amplitudeTrackEventAtom-D9vs8dpE.cjs');
23
- const require_globalSearch = require('../../globalSearch-C94-vEVh.cjs');
24
- const require_utils$3 = require('../../utils-BBICrPjW.cjs');
25
- const require_search = require('../../search-8bPfo07V.cjs');
26
- require('../../searchServiceAdapter-DrjFCiw8.cjs');
27
- require('../../useIntersection-BQMfiS4x.cjs');
28
- const require_TrackComponentVisibleEvent = require('../../TrackComponentVisibleEvent-COwxsJRE.cjs');
16
+ const require_enviveConfig = require('../../enviveConfig-D3hmiaPh.cjs');
17
+ require('../../org-DnpLYVzD.cjs');
18
+ const require_newOrgConfigAtom = require('../../newOrgConfigAtom-Cy66eryV.cjs');
19
+ require('../../app-DudAJOe4.cjs');
20
+ require('../../localStorageContext-CMQMTX56.cjs');
21
+ const require_amplitudeTrackEventAtom = require('../../amplitudeTrackEventAtom-f22P2U0u.cjs');
22
+ const require_globalSearch = require('../../globalSearch-Cpc8egsM.cjs');
23
+ const require_utils$3 = require('../../utils-CqVRbvfN.cjs');
24
+ const require_search = require('../../search-JN-IYDIE.cjs');
25
+ require('../../searchServiceAdapter-BclWy4fE.cjs');
26
+ require('../../enviveConfigContext-BADXcRZr.cjs');
27
+ require('../../featureFlagServiceContext-DQYo0d6Q.cjs');
28
+ require('../../amplitudeContext-CjFkl5yr.cjs');
29
+ require('../../useIntersection-BcBCa890.cjs');
30
+ const require_TrackComponentVisibleEvent = require('../../TrackComponentVisibleEvent-BvrgpJuY.cjs');
29
31
  let react = require("react");
30
32
  react = require_chunk.__toESM(react);
31
33
  let jotai = require("jotai");
@@ -461,4 +463,4 @@ const useSearch = () => {
461
463
 
462
464
  //#endregion
463
465
  exports.useSearch = useSearch;
464
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2pzIiwibmFtZXMiOlsicHJvZHVjdFJldHJpZXZhbEZ1bmN0aW9uOlxuICB8ICgocGFyYW1zOiBQcm9kdWN0UmV0cmlldmFsUGFyYW1zKSA9PiBQcm9taXNlPFByb2R1Y3RSZXRyaWV2YWxSZXN1bHQ+KVxuICB8IG51bGwiLCJlcnJvcjogdW5rbm93biIsImFtcGxpdHVkZVRyYWNrRXZlbnRBdG9tIiwiYXV0b2NvbXBsZXRlU3RhdGVBdG9tIiwiRnVzZSIsIlNwaWZmeU1ldHJpY3NFdmVudE5hbWUiLCJhbXBsaXR1ZGVUcmFja0V2ZW50QXRvbSIsIm5ld09yZ0NvbmZpZ0F0b20iLCJvcmdTaG9ydE5hbWVBdG9tIiwic2VhcmNoQXRvbSIsImZpbHRlcmVkU2VhcmNoUHJvZHVjdHNBdG9tIiwicGVyZm9ybVNlYXJjaEF0b20iLCJzZWFyY2hQYXJhbXNBdG9tIiwiaXNGaWx0ZXJPcGVuQXRvbSIsInNlYXJjaFNlbGVjdGVkRmlsdGVyc0F0b20iLCJhZGRTZWFyY2hGaWx0ZXJBdG9tIiwicmVtb3ZlU2VhcmNoRmlsdGVyQXRvbSIsInNlYXJjaFByb2R1Y3RTb3J0aW5nQXRvbSIsImNsZWFyU2VhcmNoRmlsdGVyc0F0b20iLCJzZWFyY2hGaWx0ZXJzQXRvbSIsIlNwaWZmeVdpZGdldHMiLCJnZXRTZWFyY2hSZXN1bHRzU3RhdGUiLCJmb3JtYXRGaWx0ZXJEaXNwbGF5TmFtZSIsIlByb2R1Y3RTb3J0aW5nIiwiU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSIsImNyZWF0ZUZpbHRlck9wdGlvbiIsImhhbmRsZVNlbGVjdEZpbHRlckl0ZW06IFNlbGVjdEZpbHRlckl0ZW0iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXRvbXMvc2VhcmNoL3Byb2R1Y3RSZXRyaWV2YWxBZGFwdGVyLnRzIiwiLi4vLi4vLi4vc3JjL2F0b21zL3NlYXJjaC9wcm9kdWN0UmV0cmlldmFsQVBJLnRzIiwiLi4vLi4vLi4vc3JjL2hvb2tzL1NlYXJjaC91c2VTZWFyY2hJbnB1dC50cyIsIi4uLy4uLy4uL3NyYy9ob29rcy9TZWFyY2gvdXNlU2VhcmNoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBQcm9kdWN0UmV0cmlldmFsUGFyYW1zLFxuICBQcm9kdWN0UmV0cmlldmFsUmVzdWx0LFxufSBmcm9tIFwiQGVudml2ZS1haS90eXBlc1wiO1xuXG4vLyBUaGlzIHdpbGwgYmUgc2V0IGJ5IHRoZSBQcm9kdWN0UmV0cmlldmFsUHJvdmlkZXIgd2hlbiBpdCBpbml0aWFsaXplc1xubGV0IHByb2R1Y3RSZXRyaWV2YWxGdW5jdGlvbjpcbiAgfCAoKHBhcmFtczogUHJvZHVjdFJldHJpZXZhbFBhcmFtcykgPT4gUHJvbWlzZTxQcm9kdWN0UmV0cmlldmFsUmVzdWx0PilcbiAgfCBudWxsID0gbnVsbDtcblxuZXhwb3J0IGNvbnN0IHNldFByb2R1Y3RSZXRyaWV2YWxGdW5jdGlvbiA9IChcbiAgZm46IChwYXJhbXM6IFByb2R1Y3RSZXRyaWV2YWxQYXJhbXMpID0+IFByb21pc2U8UHJvZHVjdFJldHJpZXZhbFJlc3VsdD5cbikgPT4ge1xuICBwcm9kdWN0UmV0cmlldmFsRnVuY3Rpb24gPSBmbjtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRQcm9kdWN0UmV0cmlldmFsRnVuY3Rpb24gPSAoKSA9PiB7XG4gIGlmICghcHJvZHVjdFJldHJpZXZhbEZ1bmN0aW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgXCJQcm9kdWN0IHJldHJpZXZhbCBmdW5jdGlvbiBub3QgaW5pdGlhbGl6ZWQuIE1ha2Ugc3VyZSBQcm9kdWN0UmV0cmlldmFsUHJvdmlkZXIgaXMgbW91bnRlZC5cIlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHByb2R1Y3RSZXRyaWV2YWxGdW5jdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBjbGVhclByb2R1Y3RSZXRyaWV2YWxGdW5jdGlvbiA9ICgpID0+IHtcbiAgcHJvZHVjdFJldHJpZXZhbEZ1bmN0aW9uID0gbnVsbDtcbn07XG4iLCJpbXBvcnQge1xuICBQcm9kdWN0UmV0cmlldmFsUGFyYW1zLFxuICBQcm9kdWN0UmV0cmlldmFsUmVzdWx0LFxufSBmcm9tIFwiQGVudml2ZS1haS90eXBlc1wiO1xuaW1wb3J0IHsgYXRvbSB9IGZyb20gXCJqb3RhaVwiO1xuaW1wb3J0IHsgZ2V0UHJvZHVjdFJldHJpZXZhbEZ1bmN0aW9uIH0gZnJvbSBcIi4vcHJvZHVjdFJldHJpZXZhbEFkYXB0ZXJcIjtcblxuaW50ZXJmYWNlIFByb2R1Y3RSZXRyaWV2YWxTdGF0ZSB7XG4gIGRhdGE6IFByb2R1Y3RSZXRyaWV2YWxSZXN1bHQgfCBudWxsO1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBlcnJvcjogc3RyaW5nIHwgbnVsbDtcbiAgbGFzdFByb2R1Y3RJZHM6IHN0cmluZ1tdIHwgbnVsbDtcbn1cblxuZXhwb3J0IGNvbnN0IHByb2R1Y3RSZXRyaWV2YWxBdG9tID0gYXRvbTxQcm9kdWN0UmV0cmlldmFsU3RhdGU+KHtcbiAgZGF0YTogbnVsbCxcbiAgbG9hZGluZzogZmFsc2UsXG4gIGVycm9yOiBudWxsLFxuICBsYXN0UHJvZHVjdElkczogbnVsbCxcbn0pO1xuXG5leHBvcnQgY29uc3QgcGVyZm9ybVByb2R1Y3RSZXRyaWV2YWxBdG9tID0gYXRvbShcbiAgbnVsbCxcbiAgYXN5bmMgKGdldCwgc2V0LCBwYXJhbXM6IFByb2R1Y3RSZXRyaWV2YWxQYXJhbXMpID0+IHtcbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSBnZXQocHJvZHVjdFJldHJpZXZhbEF0b20pO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0ZS5sb2FkaW5nKSB7XG4gICAgICByZXR1cm47IC8vIFByZXZlbnQgY29uY3VycmVudCByZXRyaWV2YWxzXG4gICAgfVxuXG4gICAgc2V0KHByb2R1Y3RSZXRyaWV2YWxBdG9tLCB7XG4gICAgICBkYXRhOiBudWxsLFxuICAgICAgbG9hZGluZzogdHJ1ZSxcbiAgICAgIGVycm9yOiBudWxsLFxuICAgICAgbGFzdFByb2R1Y3RJZHM6IHBhcmFtcy5wcm9kdWN0SWRzLFxuICAgIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJldHJpZXZlUHJvZHVjdHMgPSBnZXRQcm9kdWN0UmV0cmlldmFsRnVuY3Rpb24oKTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJldHJpZXZlUHJvZHVjdHMocGFyYW1zKTtcbiAgICAgIHNldChwcm9kdWN0UmV0cmlldmFsQXRvbSwge1xuICAgICAgICBkYXRhOiByZXN1bHQsXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgICAgbGFzdFByb2R1Y3RJZHM6IHBhcmFtcy5wcm9kdWN0SWRzLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9XG4gICAgICAgIGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogXCJBbiB1bmtub3duIGVycm9yIG9jY3VycmVkXCI7XG4gICAgICBzZXQocHJvZHVjdFJldHJpZXZhbEF0b20sIHtcbiAgICAgICAgZGF0YTogbnVsbCxcbiAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgIGVycm9yOiBlcnJvck1lc3NhZ2UsXG4gICAgICAgIGxhc3RQcm9kdWN0SWRzOiBwYXJhbXMucHJvZHVjdElkcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuKTtcblxuLy8gR2V0IGp1c3QgdGhlIHByb2R1Y3RzIGFycmF5IChhbHJlYWR5IG5vcm1hbGl6ZWQgYnkgc2VydmljZSlcbmV4cG9ydCBjb25zdCByZXRyaWV2ZWRQcm9kdWN0c0F0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgcmV0cmlldmFsRGF0YSA9IGdldChwcm9kdWN0UmV0cmlldmFsQXRvbSkuZGF0YTtcbiAgcmV0dXJuIHJldHJpZXZhbERhdGE/LnByb2R1Y3RzIHx8IFtdO1xufSk7XG5cbmV4cG9ydCBjb25zdCBwcm9kdWN0UmV0cmlldmFsTG9hZGluZ0F0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgcmV0dXJuIGdldChwcm9kdWN0UmV0cmlldmFsQXRvbSkubG9hZGluZztcbn0pO1xuXG5leHBvcnQgY29uc3QgcHJvZHVjdFJldHJpZXZhbEVycm9yQXRvbSA9IGF0b20oKGdldCkgPT4ge1xuICByZXR1cm4gZ2V0KHByb2R1Y3RSZXRyaWV2YWxBdG9tKS5lcnJvcjtcbn0pO1xuIiwiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VSZWYsIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUF0b21WYWx1ZSB9IGZyb20gXCJqb3RhaVwiO1xuaW1wb3J0IEZ1c2UgZnJvbSBcImZ1c2UuanNcIjtcbmltcG9ydCB7XG4gIFNwaWZmeU1ldHJpY3NFdmVudE5hbWUsXG4gIFVzZVNlYXJjaElucHV0UHJvcHMsXG4gIFVzZVNlYXJjaElucHV0UmV0dXJuLFxufSBmcm9tIFwiQGVudml2ZS1haS90eXBlc1wiO1xuaW1wb3J0IHsgdXNlQW1wbGl0dWRlVHJhY2tpbmcgfSBmcm9tIFwiLi4vQW1wbGl0dWRlT3BlcmF0aW9uc1wiO1xuaW1wb3J0IHsgYXV0b2NvbXBsZXRlU3RhdGVBdG9tIH0gZnJvbSBcInNyYy9hdG9tcy9nbG9iYWxTZWFyY2hcIjtcbmltcG9ydCB7IGFtcGxpdHVkZVRyYWNrRXZlbnRBdG9tIH0gZnJvbSBcInNyYy9hdG9tcy9hbXBsaXR1ZGUvYW1wbGl0dWRlVHJhY2tFdmVudEF0b21cIjtcblxuZXhwb3J0IGNvbnN0IHVzZVNlYXJjaElucHV0ID0gKHtcbiAgaW5pdGlhbFNlYXJjaFRleHQgPSBcIlwiLFxuICBzZWFyY2hPcmlnaW4sXG4gIG9uU2VhcmNoU3VibWl0LFxufTogVXNlU2VhcmNoSW5wdXRQcm9wcyk6IFVzZVNlYXJjaElucHV0UmV0dXJuID0+IHtcbiAgY29uc3QgdHJhY2sgPSB1c2VBdG9tVmFsdWUoYW1wbGl0dWRlVHJhY2tFdmVudEF0b20pO1xuXG4gIC8vIFN0YXRlXG4gIGNvbnN0IFtzZWFyY2hUZXh0LCBzZXRTZWFyY2hUZXh0XSA9IHVzZVN0YXRlKGluaXRpYWxTZWFyY2hUZXh0KTtcbiAgY29uc3QgW2hhc1RleHQsIHNldEhhc1RleHRdID0gdXNlU3RhdGUoaW5pdGlhbFNlYXJjaFRleHQudHJpbSgpLmxlbmd0aCA+IDApO1xuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbZm9jdXNlZEluZGV4LCBzZXRGb2N1c2VkSW5kZXhdID0gdXNlU3RhdGUoLTEpO1xuICBjb25zdCBbZm9jdXNlZE9wdGlvbklkLCBzZXRGb2N1c2VkT3B0aW9uSWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPihcbiAgICB1bmRlZmluZWRcbiAgKTtcbiAgY29uc3QgYXV0b2NvbXBsZXRlU3RhdGUgPSB1c2VBdG9tVmFsdWUoYXV0b2NvbXBsZXRlU3RhdGVBdG9tKTtcbiAgY29uc3QgZ2xvYmFsQXV0b2NvbXBsZXRlUmVzdWx0cyA9IGF1dG9jb21wbGV0ZVN0YXRlLnJlc3VsdHM7XG4gIGNvbnN0IGlzQXV0b2NvbXBsZXRlRW5hYmxlZCA9IGdsb2JhbEF1dG9jb21wbGV0ZVJlc3VsdHMubGVuZ3RoID4gMDtcblxuICAvLyBSZWZzXG4gIGNvbnN0IGlzU2VsZWN0aW5nQXV0b2NvbXBsZXRlID0gdXNlUmVmKGZhbHNlKTtcblxuICAvLyBDb21wdXRlZFxuICBjb25zdCBzaG91bGRTaG93QXV0b2NvbXBsZXRlID0gaGFzVGV4dCAmJiBpc0ZvY3VzZWQgJiYgaXNBdXRvY29tcGxldGVFbmFibGVkO1xuXG4gIGNvbnN0IGF1dG9jb21wbGV0ZVJlc3VsdHNMaW1pdCA9IDU7XG5cbiAgLy8gQ29uZmlndXJlIEZ1c2UuanMgZm9yIGZ1enp5IHNlYXJjaCB3aXRoIGN1c3RvbSBzY29yaW5nXG4gIGNvbnN0IGZ1c2VPcHRpb25zID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgaW5jbHVkZVNjb3JlOiB0cnVlLFxuICAgICAgaW5jbHVkZU1hdGNoZXM6IHRydWUsXG4gICAgICAvLyBGdXp6eSBtYXRjaGluZyB0aHJlc2hvbGQgKDAuMCA9IHBlcmZlY3QgbWF0Y2gsIDEuMCA9IG1hdGNoIGFueXRoaW5nKVxuICAgICAgdGhyZXNob2xkOiAwLjMsXG4gICAgICAvLyBMb2NhdGlvbiB3aGVyZSBtYXRjaCBpcyBleHBlY3RlZCAoMCA9IGJlZ2lubmluZylcbiAgICAgIGxvY2F0aW9uOiAwLFxuICAgICAgLy8gRGlzdGFuY2UgZnJvbSBsb2NhdGlvbiB3aGVyZSBtYXRjaCBjYW4gYmUgZm91bmQgLSBzbWFsbGVyIGZvciBwcmVmaXggcHJlZmVyZW5jZVxuICAgICAgZGlzdGFuY2U6IDQsXG4gICAgICAvLyBNaW5pbXVtIGNoYXJhY3RlciBsZW5ndGggYmVmb3JlIGZ1enp5IG1hdGNoaW5nIHN0YXJ0c1xuICAgICAgbWluTWF0Y2hDaGFyTGVuZ3RoOiAxLFxuICAgICAgLy8gS2V5cyB0byBzZWFyY2ggKHdlJ3JlIHNlYXJjaGluZyBzdHJpbmdzIGRpcmVjdGx5LCBzbyBubyBrZXlzIG5lZWRlZClcbiAgICAgIGtleXM6IFtdLFxuICAgICAgLy8gVXNlIGV4dGVuZGVkIHNlYXJjaCBmb3IgZXhhY3QgbWF0Y2hlcyBhbmQgcHJlZml4IG1hdGNoaW5nXG4gICAgICB1c2VFeHRlbmRlZFNlYXJjaDogZmFsc2UsXG4gICAgICAvLyBEb24ndCBpZ25vcmUgbG9jYXRpb24gLSB0aGlzIGhlbHBzIHByaW9yaXRpemUgbWF0Y2hlcyBhdCB0aGUgYmVnaW5uaW5nXG4gICAgICBpZ25vcmVMb2NhdGlvbjogZmFsc2UsXG4gICAgfSksXG4gICAgW11cbiAgKTtcblxuICBjb25zdCBmdXNlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFnbG9iYWxBdXRvY29tcGxldGVSZXN1bHRzLmxlbmd0aCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIG5ldyBGdXNlKGdsb2JhbEF1dG9jb21wbGV0ZVJlc3VsdHMsIGZ1c2VPcHRpb25zKTtcbiAgfSwgW2dsb2JhbEF1dG9jb21wbGV0ZVJlc3VsdHMsIGZ1c2VPcHRpb25zXSk7XG5cbiAgLy8gQXV0b2NvbXBsZXRlIGZ1enp5IHNlYXJjaCB1c2luZyBGdXNlLmpzXG4gIGNvbnN0IGF1dG9jb21wbGV0ZVJlc3VsdHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIWlzQXV0b2NvbXBsZXRlRW5hYmxlZCB8fCAhZnVzZSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGlmICghc2VhcmNoVGV4dC50cmltKCkpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBmdXNlUmVzdWx0cyA9IGZ1c2Uuc2VhcmNoKHNlYXJjaFRleHQpO1xuXG4gICAgLy8gVXNlIG9ubHkgRnVzZS5qcyBzY29yaW5nIChyZXN1bHRzIGFyZSBhbHJlYWR5IHNvcnRlZCBieSByZWxldmFuY2UpXG4gICAgcmV0dXJuIGZ1c2VSZXN1bHRzXG4gICAgICAuc2xpY2UoMCwgYXV0b2NvbXBsZXRlUmVzdWx0c0xpbWl0KVxuICAgICAgLm1hcCgocmVzdWx0KSA9PiByZXN1bHQuaXRlbSk7XG4gIH0sIFtpc0F1dG9jb21wbGV0ZUVuYWJsZWQsIGZ1c2UsIHNlYXJjaFRleHQsIGF1dG9jb21wbGV0ZVJlc3VsdHNMaW1pdF0pO1xuXG4gIC8vIEhhbmRsZXJzXG4gIGNvbnN0IGhhbmRsZVNlYXJjaElucHV0Q2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKG5ld1ZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgIC8vIElmIHRoZSB1c2VyIGlzIGNoYW5naW5nIHRleHQsIHRoZXkgbXVzdCBiZSBpbnRlcmFjdGluZyB3aXRoIHRoZSBpbnB1dFxuICAgICAgLy8gU28gd2UgY2FuIHNhZmVseSBhc3N1bWUgdGhleSdyZSBmb2N1c2VkXG4gICAgICBpZiAobmV3VmFsdWUgIT09IHNlYXJjaFRleHQpIHtcbiAgICAgICAgc2V0SXNGb2N1c2VkKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAobmV3VmFsdWUubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHRyYWNrPy4oe1xuICAgICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hJbnB1dFN0YXJ0ZWQsXG4gICAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgICAgc2VhcmNoT3JpZ2luLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgc2V0U2VhcmNoVGV4dChuZXdWYWx1ZSk7XG4gICAgICBzZXRIYXNUZXh0KG5ld1ZhbHVlLnRyaW0oKS5sZW5ndGggPiAwKTtcbiAgICAgIHNldEZvY3VzZWRJbmRleCgtMSk7XG4gICAgICBzZXRGb2N1c2VkT3B0aW9uSWQodW5kZWZpbmVkKTtcbiAgICB9LFxuICAgIFtzZWFyY2hPcmlnaW4sIHNlYXJjaFRleHQsIHRyYWNrXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVNlYXJjaElucHV0Rm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNGb2N1c2VkKHRydWUpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgaGFuZGxlU2VhcmNoSW5wdXRCbHVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCFpc1NlbGVjdGluZ0F1dG9jb21wbGV0ZS5jdXJyZW50KSB7XG4gICAgICAgIHNldElzRm9jdXNlZChmYWxzZSk7XG4gICAgICAgIHNldEZvY3VzZWRJbmRleCgtMSk7XG4gICAgICAgIHNldEZvY3VzZWRPcHRpb25JZCh1bmRlZmluZWQpO1xuICAgICAgfVxuICAgIH0sIDE1MCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXRTZWFyY2ggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNGb2N1c2VkKGZhbHNlKTtcbiAgICBpZiAoc2VhcmNoVGV4dC50cmltKCkgJiYgb25TZWFyY2hTdWJtaXQpIHtcbiAgICAgIHRyYWNrPy4oe1xuICAgICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuU2VhcmNoUXVlcnlTdWJtaXR0ZWQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBzZWFyY2hPcmlnaW4sXG4gICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LnRyaW0oKSxcbiAgICAgICAgfSxcbiAgICAgICAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljczogdHJ1ZSxcbiAgICAgIH0pO1xuICAgICAgb25TZWFyY2hTdWJtaXQoc2VhcmNoVGV4dC50cmltKCkpO1xuICAgIH1cbiAgfSwgW3NlYXJjaFRleHQsIG9uU2VhcmNoU3VibWl0LCBzZWFyY2hPcmlnaW4sIHRyYWNrXSk7XG5cbiAgY29uc3QgaGFuZGxlQXV0b2NvbXBsZXRlU2VsZWN0ID0gdXNlQ2FsbGJhY2soXG4gICAgKHN1Z2dlc3Rpb246IHN0cmluZywgcmFua1Bvc2l0aW9uPzogbnVtYmVyKSA9PiB7XG4gICAgICBpc1NlbGVjdGluZ0F1dG9jb21wbGV0ZS5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIHNldFNlYXJjaFRleHQoc3VnZ2VzdGlvbik7XG4gICAgICBzZXRIYXNUZXh0KHN1Z2dlc3Rpb24udHJpbSgpLmxlbmd0aCA+IDApO1xuICAgICAgc2V0SXNGb2N1c2VkKGZhbHNlKTtcblxuICAgICAgdHJhY2s/Lih7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hJbnB1dFN0YXJ0ZWQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBzZWFyY2hPcmlnaW4sXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgaWYgKG9uU2VhcmNoU3VibWl0KSB7XG4gICAgICAgIG9uU2VhcmNoU3VibWl0KHN1Z2dlc3Rpb24udHJpbSgpKTtcbiAgICAgIH1cblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlzU2VsZWN0aW5nQXV0b2NvbXBsZXRlLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH0sIDEwMCk7XG4gICAgfSxcbiAgICBbb25TZWFyY2hTdWJtaXQsIHNlYXJjaE9yaWdpbiwgdHJhY2tdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gXCJBcnJvd0Rvd25cIikge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjb25zdCBuZXdJbmRleCA9IChmb2N1c2VkSW5kZXggKyAxKSAlIGF1dG9jb21wbGV0ZVJlc3VsdHMubGVuZ3RoO1xuICAgICAgICBzZXRGb2N1c2VkSW5kZXgobmV3SW5kZXgpO1xuICAgICAgICBzZXRGb2N1c2VkT3B0aW9uSWQoYG9wdGlvbi0ke25ld0luZGV4fWApO1xuICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09IFwiQXJyb3dVcFwiKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IG5ld0luZGV4ID1cbiAgICAgICAgICAoZm9jdXNlZEluZGV4IC0gMSArIGF1dG9jb21wbGV0ZVJlc3VsdHMubGVuZ3RoKSAlXG4gICAgICAgICAgYXV0b2NvbXBsZXRlUmVzdWx0cy5sZW5ndGg7XG4gICAgICAgIHNldEZvY3VzZWRJbmRleChuZXdJbmRleCk7XG4gICAgICAgIHNldEZvY3VzZWRPcHRpb25JZChgb3B0aW9uLSR7bmV3SW5kZXh9YCk7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gXCJFbnRlclwiKSB7XG4gICAgICAgIGlmIChmb2N1c2VkSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBoYW5kbGVTdWJtaXRTZWFyY2goKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGNvbnN0IHN1Z2dlc3Rpb25UZXh0ID0gYXV0b2NvbXBsZXRlUmVzdWx0c1tmb2N1c2VkSW5kZXhdO1xuICAgICAgICAgIGhhbmRsZUF1dG9jb21wbGV0ZVNlbGVjdChzdWdnZXN0aW9uVGV4dCwgZm9jdXNlZEluZGV4KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09IFwiRXNjYXBlXCIpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgc2V0Rm9jdXNlZEluZGV4KC0xKTtcbiAgICAgICAgc2V0Rm9jdXNlZE9wdGlvbklkKHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbXG4gICAgICBhdXRvY29tcGxldGVSZXN1bHRzLFxuICAgICAgZm9jdXNlZEluZGV4LFxuICAgICAgaGFuZGxlQXV0b2NvbXBsZXRlU2VsZWN0LFxuICAgICAgaGFuZGxlU3VibWl0U2VhcmNoLFxuICAgIF1cbiAgKTtcblxuICBjb25zdCBzZXRTZWFyY2hUZXh0VXRpbGl0eSA9IHVzZUNhbGxiYWNrKCh0ZXh0OiBzdHJpbmcpID0+IHtcbiAgICBzZXRTZWFyY2hUZXh0KHRleHQpO1xuICAgIHNldEhhc1RleHQodGV4dC50cmltKCkubGVuZ3RoID4gMCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCByZXNldFNlYXJjaCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRTZWFyY2hUZXh0KFwiXCIpO1xuICAgIHNldEhhc1RleHQoZmFsc2UpO1xuICAgIHNldElzRm9jdXNlZChmYWxzZSk7XG4gICAgc2V0Rm9jdXNlZEluZGV4KC0xKTtcbiAgICBzZXRGb2N1c2VkT3B0aW9uSWQodW5kZWZpbmVkKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiB7XG4gICAgLy8gU3RhdGVcbiAgICBzZWFyY2hUZXh0LFxuICAgIGhhc1RleHQsXG4gICAgaXNGb2N1c2VkLFxuICAgIGZvY3VzZWRJbmRleCxcbiAgICBmb2N1c2VkT3B0aW9uSWQsXG4gICAgYXV0b2NvbXBsZXRlUmVzdWx0cyxcbiAgICBzaG91bGRTaG93QXV0b2NvbXBsZXRlLFxuXG4gICAgLy8gSGFuZGxlcnNcbiAgICBoYW5kbGVTZWFyY2hJbnB1dENoYW5nZSxcbiAgICBoYW5kbGVTZWFyY2hJbnB1dEZvY3VzLFxuICAgIGhhbmRsZVNlYXJjaElucHV0Qmx1cixcbiAgICBoYW5kbGVLZXlEb3duLFxuICAgIGhhbmRsZUF1dG9jb21wbGV0ZVNlbGVjdCxcbiAgICBoYW5kbGVTdWJtaXRTZWFyY2gsXG5cbiAgICAvLyBVdGlsaXRpZXNcbiAgICBzZXRTZWFyY2hUZXh0OiBzZXRTZWFyY2hUZXh0VXRpbGl0eSxcbiAgICByZXNldFNlYXJjaCxcbiAgfTtcbn07XG4iLCJpbXBvcnQgeyB1c2VBdG9tLCB1c2VBdG9tVmFsdWUsIHVzZVNldEF0b20gfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgU2VhcmNoUmVzdWx0c0hvY1Byb3BzLFxuICBQcm9kdWN0U29ydGluZyxcbiAgU2VhcmNoRmlsdGVyRGF0dW0sXG4gIFNwaWZmeU1ldHJpY3NFdmVudE5hbWUsXG4gIFNlbGVjdGVkRmlsdGVyT3B0aW9uLFxuICBTZWxlY3RGaWx0ZXJJdGVtLFxuICBTcGlmZnlXaWRnZXRzLFxufSBmcm9tIFwiQGVudml2ZS1haS90eXBlc1wiO1xuaW1wb3J0IHtcbiAgYWRkU2VhcmNoRmlsdGVyQXRvbSxcbiAgY2xlYXJTZWFyY2hGaWx0ZXJzQXRvbSxcbiAgY3JlYXRlRmlsdGVyT3B0aW9uLFxuICBmaWx0ZXJlZFNlYXJjaFByb2R1Y3RzQXRvbSxcbiAgcGVyZm9ybVNlYXJjaEF0b20sXG4gIHJlbW92ZVNlYXJjaEZpbHRlckF0b20sXG4gIHNlYXJjaEF0b20sXG4gIHNlYXJjaEZpbHRlcnNBdG9tLFxuICBzZWFyY2hQYXJhbXNBdG9tLFxuICBzZWFyY2hQcm9kdWN0U29ydGluZ0F0b20sXG4gIHNlYXJjaFNlbGVjdGVkRmlsdGVyc0F0b20sXG59IGZyb20gXCIuLi8uLi9hdG9tcy9zZWFyY2hcIjtcbmltcG9ydCB7IGlzRmlsdGVyT3BlbkF0b20gfSBmcm9tIFwiLi4vLi4vYXRvbXMvZ2xvYmFsU2VhcmNoL2dsb2JhbFNlYXJjaFwiO1xuaW1wb3J0IHsgZm9ybWF0RmlsdGVyRGlzcGxheU5hbWUgfSBmcm9tIFwiLi4vLi4vYXRvbXMvc2VhcmNoL3V0aWxzXCI7XG5pbXBvcnQgeyBhbXBsaXR1ZGVUcmFja0V2ZW50QXRvbSB9IGZyb20gXCIuLi8uLi9hdG9tcy9hbXBsaXR1ZGUvYW1wbGl0dWRlVHJhY2tFdmVudEF0b21cIjtcbmltcG9ydCB7IG9yZ1Nob3J0TmFtZUF0b20gfSBmcm9tIFwiLi4vLi4vYXRvbXMvZW52aXZlL2Vudml2ZUNvbmZpZ1wiO1xuaW1wb3J0IHsgbmV3T3JnQ29uZmlnQXRvbSB9IGZyb20gXCIuLi8uLi9hdG9tcy9vcmcvbmV3T3JnQ29uZmlnQXRvbVwiO1xuaW1wb3J0IHsgcmV0cmlldmVkUHJvZHVjdHNBdG9tIH0gZnJvbSBcIi4uLy4uL2F0b21zL3NlYXJjaC9wcm9kdWN0UmV0cmlldmFsQVBJXCI7XG5pbXBvcnQgeyB1c2VUcmFja0NvbXBvbmVudFZpc2libGVFdmVudCB9IGZyb20gXCIuLi9UcmFja0NvbXBvbmVudFZpc2libGVFdmVudFwiO1xuaW1wb3J0IHsgZ2V0U2VhcmNoUmVzdWx0c1N0YXRlIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgeyB1c2VTZWFyY2hJbnB1dCB9IGZyb20gXCIuL3VzZVNlYXJjaElucHV0XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VTZWFyY2ggPSAoKTogU2VhcmNoUmVzdWx0c0hvY1Byb3BzID0+IHtcbiAgLy8gQXRvbXNcbiAgY29uc3QgdHJhY2tFdmVudCA9IHVzZUF0b21WYWx1ZShhbXBsaXR1ZGVUcmFja0V2ZW50QXRvbSk7XG4gIGNvbnN0IGNvbmZpZyA9IHVzZUF0b21WYWx1ZShuZXdPcmdDb25maWdBdG9tKTtcbiAgY29uc3Qgb3JnU2hvcnROYW1lID0gdXNlQXRvbVZhbHVlKG9yZ1Nob3J0TmFtZUF0b20pO1xuICBjb25zdCB7IGRhdGE6IHNlYXJjaERhdGEsIGxvYWRpbmc6IGlzTG9hZGluZ1NlYXJjaCB9ID1cbiAgICB1c2VBdG9tVmFsdWUoc2VhcmNoQXRvbSk7XG4gIGNvbnN0IHByb2R1Y3RMaXN0ID0gdXNlQXRvbVZhbHVlKGZpbHRlcmVkU2VhcmNoUHJvZHVjdHNBdG9tKTtcbiAgY29uc3QgcGVyZm9ybVNlYXJjaCA9IHVzZVNldEF0b20ocGVyZm9ybVNlYXJjaEF0b20pO1xuICBjb25zdCBbeyBxdWVyeSB9XSA9IHVzZUF0b20oc2VhcmNoUGFyYW1zQXRvbSk7XG4gIGNvbnN0IFtpc0ZpbHRlck9wZW4sIHNldElzRmlsdGVyT3Blbl0gPSB1c2VBdG9tKGlzRmlsdGVyT3BlbkF0b20pO1xuICBjb25zdCBbc2VsZWN0ZWRGaWx0ZXJPcHRpb25zXSA9IHVzZUF0b20oc2VhcmNoU2VsZWN0ZWRGaWx0ZXJzQXRvbSk7XG4gIGNvbnN0IGFkZEZpbHRlciA9IHVzZVNldEF0b20oYWRkU2VhcmNoRmlsdGVyQXRvbSk7XG4gIGNvbnN0IHJlbW92ZUZpbHRlciA9IHVzZVNldEF0b20ocmVtb3ZlU2VhcmNoRmlsdGVyQXRvbSk7XG4gIGNvbnN0IFtwcm9kdWN0U29ydGluZywgc2V0UHJvZHVjdFNvcnRpbmddID0gdXNlQXRvbShzZWFyY2hQcm9kdWN0U29ydGluZ0F0b20pO1xuICBjb25zdCBjbGVhckZpbHRlcnMgPSB1c2VTZXRBdG9tKGNsZWFyU2VhcmNoRmlsdGVyc0F0b20pO1xuICBjb25zdCBzZWFyY2hGaWx0ZXJzID0gdXNlQXRvbVZhbHVlKHNlYXJjaEZpbHRlcnNBdG9tKTtcbiAgY29uc3QgcmVjb21tZW5kZWRQcm9kdWN0cyA9IHVzZUF0b21WYWx1ZShyZXRyaWV2ZWRQcm9kdWN0c0F0b20pO1xuXG4gIC8vIFJlZnNcbiAgY29uc3Qgc2VhcmNoUmVzdWx0c1JlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG5cbiAgLy8gVXRpbGl0aWVzXG4gIGNvbnN0IHNjcm9sbFRvVG9wID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHNlYXJjaFJlc3VsdHNSZWYuY3VycmVudDtcbiAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICBjb250YWluZXIuc2Nyb2xsVG8oeyB0b3A6IDAsIGJlaGF2aW9yOiBcInNtb290aFwiIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IDAsIGJlaGF2aW9yOiBcInNtb290aFwiIH0pO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIC8vIFNlYXJjaCBJbnB1dCBIb29rXG4gIGNvbnN0IHNlYXJjaElucHV0ID0gdXNlU2VhcmNoSW5wdXQoe1xuICAgIGluaXRpYWxTZWFyY2hUZXh0OiBxdWVyeSB8fCBcIlwiLFxuICAgIHNlYXJjaE9yaWdpbjogU3BpZmZ5V2lkZ2V0cy5TZWFyY2hSZXN1bHRzLFxuICAgIG9uU2VhcmNoU3VibWl0OiAoc2VhcmNoUXVlcnkpID0+IHtcbiAgICAgIHBlcmZvcm1TZWFyY2goeyBxdWVyeTogc2VhcmNoUXVlcnkgfSk7XG4gICAgfSxcbiAgfSk7XG5cbiAgY29uc3Qge1xuICAgIHNlYXJjaFRleHQsXG4gICAgZm9jdXNlZEluZGV4LFxuICAgIGZvY3VzZWRPcHRpb25JZCxcbiAgICBhdXRvY29tcGxldGVSZXN1bHRzLFxuICAgIHNob3VsZFNob3dBdXRvY29tcGxldGUsXG4gICAgaGFuZGxlU2VhcmNoSW5wdXRDaGFuZ2UsXG4gICAgaGFuZGxlU2VhcmNoSW5wdXRGb2N1cyxcbiAgICBoYW5kbGVTZWFyY2hJbnB1dEJsdXIsXG4gICAgaGFuZGxlS2V5RG93bixcbiAgICBoYW5kbGVBdXRvY29tcGxldGVTZWxlY3QsXG4gICAgaGFuZGxlU3VibWl0U2VhcmNoLFxuICAgIHNldFNlYXJjaFRleHQsXG4gIH0gPSBzZWFyY2hJbnB1dDtcbiAgY29uc3Qgc2VhcmNoUmVzdWx0c1N0YXRlID0gZ2V0U2VhcmNoUmVzdWx0c1N0YXRlKGlzTG9hZGluZ1NlYXJjaCwgc2VhcmNoRGF0YSk7XG5cbiAgY29uc3QgZHluYW1pY0ZpbHRlcnMgPSBzZWFyY2hEYXRhPy5maWx0ZXJzIHx8IFtdO1xuXG4gIC8vIFByb3ZpZGUgZmFsbGJhY2sgdmFsdWVzIHdoZW4gY29uZmlnIGlzIG5vdCB5ZXQgYXZhaWxhYmxlXG4gIGNvbnN0IHNhZmVQcm9kdWN0Q2FyZENvbmZpZyA9IGNvbmZpZz8uZnJvbnRlbmRDb25maWc/LnVpQ29uZmlnc1xuICAgID8ucHJvZHVjdENhcmRDb25maWcgfHwge1xuICAgIHZhcmlhbnQ6IFwibWluaW1hbFwiLFxuICAgIGhvdmVyVmFyaWFudDogXCJub25lXCIsXG4gICAgbGF5b3V0VmFyaWFudDogXCJzcXVhcmVcIixcbiAgfTtcbiAgY29uc3Qgc2FmZU1lcmNoYW50U2hvcnROYW1lID0gb3JnU2hvcnROYW1lIHx8IFwiXCI7XG5cbiAgY29uc3QgYXZhaWxhYmxlRHluYW1pY0ZpbHRlcnMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gZHluYW1pY0ZpbHRlcnNcbiAgICAgIC5maWx0ZXIoXG4gICAgICAgIChkeW5hbWljRmlsdGVyTmFtZSkgPT5cbiAgICAgICAgICAhc2VsZWN0ZWRGaWx0ZXJPcHRpb25zLnNvbWUoXG4gICAgICAgICAgICAob3B0aW9uKSA9PiBvcHRpb24uaWQgPT09IGBkeW5hbWljOiR7ZHluYW1pY0ZpbHRlck5hbWV9YFxuICAgICAgICAgIClcbiAgICAgIClcbiAgICAgIC5tYXAoKGR5bmFtaWNGaWx0ZXJOYW1lKSA9PiAoe1xuICAgICAgICBuYW1lOiBkeW5hbWljRmlsdGVyTmFtZSxcbiAgICAgICAgZGlzcGxheU5hbWU6IGZvcm1hdEZpbHRlckRpc3BsYXlOYW1lKGR5bmFtaWNGaWx0ZXJOYW1lKSxcbiAgICAgIH0pKTtcbiAgfSwgW2R5bmFtaWNGaWx0ZXJzLCBzZWxlY3RlZEZpbHRlck9wdGlvbnNdKTtcblxuICBjb25zdCBmaWx0ZXJzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3Qgc29ydE9wdGlvbnMgPSBbXG4gICAgICB7XG4gICAgICAgIGZpbHRlckl0ZW1JZDogU3RyaW5nKFByb2R1Y3RTb3J0aW5nLkZFQVRVUkVEKSxcbiAgICAgICAgZGlzcGxheU5hbWU6IFwiUmVsZXZhbmNlXCIsXG4gICAgICAgIHByb2R1Y3RDb3VudDogMCxcbiAgICAgICAgaXNTZWxlY3RlZDogcHJvZHVjdFNvcnRpbmcgPT09IFByb2R1Y3RTb3J0aW5nLkZFQVRVUkVELFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZmlsdGVySXRlbUlkOiBTdHJpbmcoUHJvZHVjdFNvcnRpbmcuUFJJQ0VfQVNDKSxcbiAgICAgICAgZGlzcGxheU5hbWU6IFwiUHJpY2U6IExvdyB0byBIaWdoXCIsXG4gICAgICAgIHByb2R1Y3RDb3VudDogMCxcbiAgICAgICAgaXNTZWxlY3RlZDogcHJvZHVjdFNvcnRpbmcgPT09IFByb2R1Y3RTb3J0aW5nLlBSSUNFX0FTQyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGZpbHRlckl0ZW1JZDogU3RyaW5nKFByb2R1Y3RTb3J0aW5nLlBSSUNFX0RFU0MpLFxuICAgICAgICBkaXNwbGF5TmFtZTogXCJQcmljZTogSGlnaCB0byBMb3dcIixcbiAgICAgICAgcHJvZHVjdENvdW50OiAwLFxuICAgICAgICBpc1NlbGVjdGVkOiBwcm9kdWN0U29ydGluZyA9PT0gUHJvZHVjdFNvcnRpbmcuUFJJQ0VfREVTQyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIHJldHVybiBbXG4gICAgICB7IGZpbHRlcklkOiBcInNvcnRcIiwgZGlzcGxheU5hbWU6IFwiU09SVFwiLCBpdGVtczogc29ydE9wdGlvbnMgfSxcbiAgICAgIC4uLnNlYXJjaEZpbHRlcnMsXG4gICAgXSBhcyBTZWFyY2hGaWx0ZXJEYXR1bVtdO1xuICB9LCBbcHJvZHVjdFNvcnRpbmcsIHNlYXJjaEZpbHRlcnNdKTtcblxuICBjb25zdCBmaWx0ZXJCdXR0b25UZXh0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRDb3VudCA9IGZpbHRlcnMucmVkdWNlKChhY2M6IG51bWJlciwgZmlsdGVyKSA9PiB7XG4gICAgICBpZiAoZmlsdGVyLmZpbHRlcklkID09PSBcInNvcnRcIikge1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYyArIGZpbHRlci5pdGVtcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaXNTZWxlY3RlZCkubGVuZ3RoO1xuICAgIH0sIDApO1xuICAgIGlmIChzZWxlY3RlZENvdW50ID09PSAwKSB7XG4gICAgICByZXR1cm4gXCJGaWx0ZXIgJiBTb3J0XCI7XG4gICAgfVxuICAgIHJldHVybiBgRmlsdGVyICYgU29ydCAoJHtzZWxlY3RlZENvdW50fSlgO1xuICB9LCBbZmlsdGVyc10pO1xuXG4gIC8vIENhbGxiYWNrc1xuICBjb25zdCBoYW5kbGVUb2dnbGVEeW5hbWljRmlsdGVyID0gdXNlQ2FsbGJhY2soXG4gICAgKHtcbiAgICAgIGZpbHRlcixcbiAgICAgIGR5bmFtaWNGaWx0ZXJEaXNwbGF5TmFtZSxcbiAgICB9OiB7XG4gICAgICBmaWx0ZXI6IHN0cmluZztcbiAgICAgIGR5bmFtaWNGaWx0ZXJEaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIH0pID0+IHtcbiAgICAgIHRyYWNrRXZlbnQ/Lih7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hGaWx0ZXJDbGlja2VkLFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgZmlsdGVyVHlwZTogXCJEeW5hbWljXCIsXG4gICAgICAgICAgZmlsdGVyVmFsdWU6IGZpbHRlcixcbiAgICAgICAgICBxdWVyeVRleHQ6IHNlYXJjaFRleHQsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGFkZEZpbHRlcihcbiAgICAgICAgY3JlYXRlRmlsdGVyT3B0aW9uKFwiZHluYW1pY1wiLCBmaWx0ZXIsIGR5bmFtaWNGaWx0ZXJEaXNwbGF5TmFtZSlcbiAgICAgICk7XG4gICAgICBzY3JvbGxUb1RvcCgpO1xuICAgIH0sXG4gICAgW2FkZEZpbHRlciwgc2VhcmNoVGV4dCwgc2Nyb2xsVG9Ub3AsIHRyYWNrRXZlbnRdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlUmVtb3ZlRmlsdGVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGZpbHRlcjogU2VsZWN0ZWRGaWx0ZXJPcHRpb24pID0+IHtcbiAgICAgIHJlbW92ZUZpbHRlcihmaWx0ZXIuaWQpO1xuICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICB9LFxuICAgIFtyZW1vdmVGaWx0ZXIsIHNjcm9sbFRvVG9wXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEZpbHRlckl0ZW06IFNlbGVjdEZpbHRlckl0ZW0gPSB1c2VDYWxsYmFjayhcbiAgICAoe1xuICAgICAgZmlsdGVySWQsXG4gICAgICBmaWx0ZXJJdGVtSWQsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgZGlzcGxheU5hbWUsXG4gICAgfToge1xuICAgICAgZmlsdGVySWQ6IHN0cmluZztcbiAgICAgIGZpbHRlckl0ZW1JZDogc3RyaW5nO1xuICAgICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgfSkgPT4ge1xuICAgICAgaWYgKGZpbHRlcklkID09PSBcInNvcnRcIikge1xuICAgICAgICBjb25zdCBuZXdTb3J0ID0gZmlsdGVySXRlbUlkIGFzIFByb2R1Y3RTb3J0aW5nO1xuICAgICAgICB0cmFja0V2ZW50Py4oe1xuICAgICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hTb3J0Q2xpY2tlZCxcbiAgICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgICBzb3J0VHlwZTogbmV3U29ydCxcbiAgICAgICAgICAgIHF1ZXJ5VGV4dDogc2VhcmNoVGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgc2V0UHJvZHVjdFNvcnRpbmcobmV3U29ydCk7XG4gICAgICAgIHNjcm9sbFRvVG9wKCk7XG4gICAgICB9IGVsc2UgaWYgKCFpc1NlbGVjdGVkKSB7XG4gICAgICAgIHJlbW92ZUZpbHRlcihgJHtmaWx0ZXJJZH06JHtmaWx0ZXJJdGVtSWR9YCk7XG4gICAgICAgIHNjcm9sbFRvVG9wKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0cmFja0V2ZW50Py4oe1xuICAgICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hGaWx0ZXJDbGlja2VkLFxuICAgICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAgIGZpbHRlclR5cGU6IFwiU3RhdGljXCIsXG4gICAgICAgICAgICBmaWx0ZXJDYXRlZ29yeTogZmlsdGVySWQsXG4gICAgICAgICAgICBmaWx0ZXJWYWx1ZTogZmlsdGVySXRlbUlkLFxuICAgICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBhZGRGaWx0ZXIoY3JlYXRlRmlsdGVyT3B0aW9uKGZpbHRlcklkLCBmaWx0ZXJJdGVtSWQsIGRpc3BsYXlOYW1lKSk7XG4gICAgICAgIHNjcm9sbFRvVG9wKCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbXG4gICAgICBhZGRGaWx0ZXIsXG4gICAgICByZW1vdmVGaWx0ZXIsXG4gICAgICBzZXRQcm9kdWN0U29ydGluZyxcbiAgICAgIHNlYXJjaFRleHQsXG4gICAgICBzY3JvbGxUb1RvcCxcbiAgICAgIHRyYWNrRXZlbnQsXG4gICAgXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZUNsZWFyQWxsRmlsdGVycyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRQcm9kdWN0U29ydGluZyhQcm9kdWN0U29ydGluZy5GRUFUVVJFRCk7XG4gICAgY2xlYXJGaWx0ZXJzKCk7XG4gICAgc2Nyb2xsVG9Ub3AoKTtcbiAgfSwgW3NldFByb2R1Y3RTb3J0aW5nLCBjbGVhckZpbHRlcnMsIHNjcm9sbFRvVG9wXSk7XG5cbiAgLy8gU2lkZSBFZmZlY3RzXG4gIHVzZVRyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50KFxuICAgIFNwaWZmeVdpZGdldHMuU2VhcmNoUmVzdWx0cyxcbiAgICBzZWFyY2hSZXN1bHRzUmVmLFxuICAgIHt9LFxuICAgIFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuU2VhcmNoQ29tcG9uZW50VmlzaWJsZVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHByb2R1Y3RMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRyYWNrRXZlbnQ/Lih7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hSZXN1bHRzVmlld2VkLFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LFxuICAgICAgICAgIHJlc3VsdHNDb3VudDogcHJvZHVjdExpc3QubGVuZ3RoLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbcHJvZHVjdExpc3QubGVuZ3RoLCBzZWFyY2hUZXh0LCB0cmFja0V2ZW50XSk7XG5cbiAgLy8gVGhpcyBpcyB0aGUgc2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBmb3IgdGhlIHNlYXJjaCB0ZXh0IHRyaWdnZXJpbmcgYSBzZWFyY2hcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocXVlcnkgJiYgcXVlcnkgIT09IHNlYXJjaFRleHQpIHtcbiAgICAgIGNvbnN0IGVzcSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KFwiZXNxXCIpO1xuICAgICAgc2V0U2VhcmNoVGV4dChxdWVyeSk7XG4gICAgICBwZXJmb3JtU2VhcmNoKHsgcXVlcnk6IGVzcSA/PyBxdWVyeSB9KTtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbcGVyZm9ybVNlYXJjaCwgcXVlcnksIHNldFNlYXJjaFRleHRdKTtcblxuICByZXR1cm4ge1xuICAgIHNlYXJjaERhdGEsXG4gICAgc2VhcmNoUmVzcG9uc2VJZDogc2VhcmNoRGF0YT8uc2VhcmNoUmVzcG9uc2VJZCA/PyBcIlwiLFxuICAgIG1lcmNoYW50U2hvcnROYW1lOiBzYWZlTWVyY2hhbnRTaG9ydE5hbWUsXG4gICAgcHJvZHVjdENhcmRDb25maWc6IHNhZmVQcm9kdWN0Q2FyZENvbmZpZyxcbiAgICBwcm9kdWN0TGlzdCxcbiAgICByZWNvbW1lbmRlZFByb2R1Y3RzLFxuICAgIGF1dG9jb21wbGV0ZVJlc3VsdHMsXG4gICAgc2VhcmNoRmlsdGVyczogZmlsdGVycyxcbiAgICBhdmFpbGFibGVEeW5hbWljRmlsdGVycyxcbiAgICBzZWxlY3RlZEZpbHRlck9wdGlvbnMsXG4gICAgc2VhcmNoVGV4dCxcbiAgICBxdWVyeTogcXVlcnkgfHwgXCJcIixcbiAgICBzZWFyY2hSZXN1bHRzU3RhdGUsXG4gICAgaXNMb2FkaW5nU2VhcmNoLFxuICAgIGlzTG9hZGluZ0F1dG9jb21wbGV0ZTogZmFsc2UsXG4gICAgaXNGaWx0ZXJPcGVuLFxuICAgIHNob3VsZFNob3dBdXRvY29tcGxldGUsXG4gICAgZm9jdXNlZEluZGV4LFxuICAgIGZvY3VzZWRPcHRpb25JZCxcbiAgICBmaWx0ZXJCdXR0b25UZXh0LFxuICAgIG9uU2VhcmNoSW5wdXRDaGFuZ2U6IGhhbmRsZVNlYXJjaElucHV0Q2hhbmdlLFxuICAgIG9uU3VibWl0U2VhcmNoOiBoYW5kbGVTdWJtaXRTZWFyY2gsXG4gICAgb25BdXRvY29tcGxldGVTZWxlY3Q6IGhhbmRsZUF1dG9jb21wbGV0ZVNlbGVjdCxcbiAgICBvbktleURvd246IGhhbmRsZUtleURvd24sXG4gICAgb25TZWFyY2hJbnB1dEZvY3VzOiBoYW5kbGVTZWFyY2hJbnB1dEZvY3VzLFxuICAgIG9uU2VhcmNoSW5wdXRCbHVyOiBoYW5kbGVTZWFyY2hJbnB1dEJsdXIsXG4gICAgb25Ub2dnbGVEeW5hbWljRmlsdGVyOiBoYW5kbGVUb2dnbGVEeW5hbWljRmlsdGVyLFxuICAgIG9uU2VsZWN0RmlsdGVySXRlbTogaGFuZGxlU2VsZWN0RmlsdGVySXRlbSxcbiAgICBvblJlbW92ZUZpbHRlcjogaGFuZGxlUmVtb3ZlRmlsdGVyLFxuICAgIG9uQ2xlYXJBbGxGaWx0ZXJzOiBoYW5kbGVDbGVhckFsbEZpbHRlcnMsXG4gICAgc2V0SXNGaWx0ZXJPcGVuLFxuICAgIHNlYXJjaFJlc3VsdHNSZWYsXG4gIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNQSxJQUFJQSwyQkFFTztBQVFYLE1BQWEsb0NBQW9DO0FBQy9DLEtBQUksQ0FBQyx5QkFDSCxPQUFNLElBQUksTUFDUiw2RkFDRDtBQUVILFFBQU87Ozs7O0FDUlQsTUFBYSx1Q0FBbUQ7Q0FDOUQsTUFBTTtDQUNOLFNBQVM7Q0FDVCxPQUFPO0NBQ1AsZ0JBQWdCO0NBQ2pCLENBQUM7QUFFRixNQUFhLDhDQUNYLE1BQ0EsT0FBTyxLQUFLLEtBQUssV0FBbUM7QUFHbEQsS0FGcUIsSUFBSSxxQkFBcUIsQ0FFN0IsUUFDZjtBQUdGLEtBQUksc0JBQXNCO0VBQ3hCLE1BQU07RUFDTixTQUFTO0VBQ1QsT0FBTztFQUNQLGdCQUFnQixPQUFPO0VBQ3hCLENBQUM7QUFFRixLQUFJO0VBRUYsTUFBTSxTQUFTLE1BRFUsNkJBQTZCLENBQ2hCLE9BQU87QUFDN0MsTUFBSSxzQkFBc0I7R0FDeEIsTUFBTTtHQUNOLFNBQVM7R0FDVCxPQUFPO0dBQ1AsZ0JBQWdCLE9BQU87R0FDeEIsQ0FBQztVQUNLQyxPQUFnQjtFQUN2QixNQUFNLGVBQ0osaUJBQWlCLFFBQVEsTUFBTSxVQUFVO0FBQzNDLE1BQUksc0JBQXNCO0dBQ3hCLE1BQU07R0FDTixTQUFTO0dBQ1QsT0FBTztHQUNQLGdCQUFnQixPQUFPO0dBQ3hCLENBQUM7O0VBR1A7QUFHRCxNQUFhLHlDQUE4QixRQUFRO0FBRWpELFFBRHNCLElBQUkscUJBQXFCLENBQUMsTUFD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
466
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2pzIiwibmFtZXMiOlsicHJvZHVjdFJldHJpZXZhbEZ1bmN0aW9uOlxuICB8ICgocGFyYW1zOiBQcm9kdWN0UmV0cmlldmFsUGFyYW1zKSA9PiBQcm9taXNlPFByb2R1Y3RSZXRyaWV2YWxSZXN1bHQ+KVxuICB8IG51bGwiLCJlcnJvcjogdW5rbm93biIsImFtcGxpdHVkZVRyYWNrRXZlbnRBdG9tIiwiYXV0b2NvbXBsZXRlU3RhdGVBdG9tIiwiRnVzZSIsIlNwaWZmeU1ldHJpY3NFdmVudE5hbWUiLCJhbXBsaXR1ZGVUcmFja0V2ZW50QXRvbSIsIm5ld09yZ0NvbmZpZ0F0b20iLCJvcmdTaG9ydE5hbWVBdG9tIiwic2VhcmNoQXRvbSIsImZpbHRlcmVkU2VhcmNoUHJvZHVjdHNBdG9tIiwicGVyZm9ybVNlYXJjaEF0b20iLCJzZWFyY2hQYXJhbXNBdG9tIiwiaXNGaWx0ZXJPcGVuQXRvbSIsInNlYXJjaFNlbGVjdGVkRmlsdGVyc0F0b20iLCJhZGRTZWFyY2hGaWx0ZXJBdG9tIiwicmVtb3ZlU2VhcmNoRmlsdGVyQXRvbSIsInNlYXJjaFByb2R1Y3RTb3J0aW5nQXRvbSIsImNsZWFyU2VhcmNoRmlsdGVyc0F0b20iLCJzZWFyY2hGaWx0ZXJzQXRvbSIsIlNwaWZmeVdpZGdldHMiLCJnZXRTZWFyY2hSZXN1bHRzU3RhdGUiLCJmb3JtYXRGaWx0ZXJEaXNwbGF5TmFtZSIsIlByb2R1Y3RTb3J0aW5nIiwiU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSIsImNyZWF0ZUZpbHRlck9wdGlvbiIsImhhbmRsZVNlbGVjdEZpbHRlckl0ZW06IFNlbGVjdEZpbHRlckl0ZW0iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXRvbXMvc2VhcmNoL3Byb2R1Y3RSZXRyaWV2YWxBZGFwdGVyLnRzIiwiLi4vLi4vLi4vc3JjL2F0b21zL3NlYXJjaC9wcm9kdWN0UmV0cmlldmFsQVBJLnRzIiwiLi4vLi4vLi4vc3JjL2hvb2tzL1NlYXJjaC91c2VTZWFyY2hJbnB1dC50cyIsIi4uLy4uLy4uL3NyYy9ob29rcy9TZWFyY2gvdXNlU2VhcmNoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBQcm9kdWN0UmV0cmlldmFsUGFyYW1zLFxuICBQcm9kdWN0UmV0cmlldmFsUmVzdWx0LFxufSBmcm9tIFwiQGVudml2ZS1haS90eXBlc1wiO1xuXG4vLyBUaGlzIHdpbGwgYmUgc2V0IGJ5IHRoZSBQcm9kdWN0UmV0cmlldmFsUHJvdmlkZXIgd2hlbiBpdCBpbml0aWFsaXplc1xubGV0IHByb2R1Y3RSZXRyaWV2YWxGdW5jdGlvbjpcbiAgfCAoKHBhcmFtczogUHJvZHVjdFJldHJpZXZhbFBhcmFtcykgPT4gUHJvbWlzZTxQcm9kdWN0UmV0cmlldmFsUmVzdWx0PilcbiAgfCBudWxsID0gbnVsbDtcblxuZXhwb3J0IGNvbnN0IHNldFByb2R1Y3RSZXRyaWV2YWxGdW5jdGlvbiA9IChcbiAgZm46IChwYXJhbXM6IFByb2R1Y3RSZXRyaWV2YWxQYXJhbXMpID0+IFByb21pc2U8UHJvZHVjdFJldHJpZXZhbFJlc3VsdD5cbikgPT4ge1xuICBwcm9kdWN0UmV0cmlldmFsRnVuY3Rpb24gPSBmbjtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRQcm9kdWN0UmV0cmlldmFsRnVuY3Rpb24gPSAoKSA9PiB7XG4gIGlmICghcHJvZHVjdFJldHJpZXZhbEZ1bmN0aW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgXCJQcm9kdWN0IHJldHJpZXZhbCBmdW5jdGlvbiBub3QgaW5pdGlhbGl6ZWQuIE1ha2Ugc3VyZSBQcm9kdWN0UmV0cmlldmFsUHJvdmlkZXIgaXMgbW91bnRlZC5cIlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHByb2R1Y3RSZXRyaWV2YWxGdW5jdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBjbGVhclByb2R1Y3RSZXRyaWV2YWxGdW5jdGlvbiA9ICgpID0+IHtcbiAgcHJvZHVjdFJldHJpZXZhbEZ1bmN0aW9uID0gbnVsbDtcbn07XG4iLCJpbXBvcnQge1xuICBQcm9kdWN0UmV0cmlldmFsUGFyYW1zLFxuICBQcm9kdWN0UmV0cmlldmFsUmVzdWx0LFxufSBmcm9tIFwiQGVudml2ZS1haS90eXBlc1wiO1xuaW1wb3J0IHsgYXRvbSB9IGZyb20gXCJqb3RhaVwiO1xuaW1wb3J0IHsgZ2V0UHJvZHVjdFJldHJpZXZhbEZ1bmN0aW9uIH0gZnJvbSBcIi4vcHJvZHVjdFJldHJpZXZhbEFkYXB0ZXJcIjtcblxuaW50ZXJmYWNlIFByb2R1Y3RSZXRyaWV2YWxTdGF0ZSB7XG4gIGRhdGE6IFByb2R1Y3RSZXRyaWV2YWxSZXN1bHQgfCBudWxsO1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBlcnJvcjogc3RyaW5nIHwgbnVsbDtcbiAgbGFzdFByb2R1Y3RJZHM6IHN0cmluZ1tdIHwgbnVsbDtcbn1cblxuZXhwb3J0IGNvbnN0IHByb2R1Y3RSZXRyaWV2YWxBdG9tID0gYXRvbTxQcm9kdWN0UmV0cmlldmFsU3RhdGU+KHtcbiAgZGF0YTogbnVsbCxcbiAgbG9hZGluZzogZmFsc2UsXG4gIGVycm9yOiBudWxsLFxuICBsYXN0UHJvZHVjdElkczogbnVsbCxcbn0pO1xuXG5leHBvcnQgY29uc3QgcGVyZm9ybVByb2R1Y3RSZXRyaWV2YWxBdG9tID0gYXRvbShcbiAgbnVsbCxcbiAgYXN5bmMgKGdldCwgc2V0LCBwYXJhbXM6IFByb2R1Y3RSZXRyaWV2YWxQYXJhbXMpID0+IHtcbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSBnZXQocHJvZHVjdFJldHJpZXZhbEF0b20pO1xuXG4gICAgaWYgKGN1cnJlbnRTdGF0ZS5sb2FkaW5nKSB7XG4gICAgICByZXR1cm47IC8vIFByZXZlbnQgY29uY3VycmVudCByZXRyaWV2YWxzXG4gICAgfVxuXG4gICAgc2V0KHByb2R1Y3RSZXRyaWV2YWxBdG9tLCB7XG4gICAgICBkYXRhOiBudWxsLFxuICAgICAgbG9hZGluZzogdHJ1ZSxcbiAgICAgIGVycm9yOiBudWxsLFxuICAgICAgbGFzdFByb2R1Y3RJZHM6IHBhcmFtcy5wcm9kdWN0SWRzLFxuICAgIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJldHJpZXZlUHJvZHVjdHMgPSBnZXRQcm9kdWN0UmV0cmlldmFsRnVuY3Rpb24oKTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJldHJpZXZlUHJvZHVjdHMocGFyYW1zKTtcbiAgICAgIHNldChwcm9kdWN0UmV0cmlldmFsQXRvbSwge1xuICAgICAgICBkYXRhOiByZXN1bHQsXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgICAgbGFzdFByb2R1Y3RJZHM6IHBhcmFtcy5wcm9kdWN0SWRzLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9XG4gICAgICAgIGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogXCJBbiB1bmtub3duIGVycm9yIG9jY3VycmVkXCI7XG4gICAgICBzZXQocHJvZHVjdFJldHJpZXZhbEF0b20sIHtcbiAgICAgICAgZGF0YTogbnVsbCxcbiAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgIGVycm9yOiBlcnJvck1lc3NhZ2UsXG4gICAgICAgIGxhc3RQcm9kdWN0SWRzOiBwYXJhbXMucHJvZHVjdElkcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuKTtcblxuLy8gR2V0IGp1c3QgdGhlIHByb2R1Y3RzIGFycmF5IChhbHJlYWR5IG5vcm1hbGl6ZWQgYnkgc2VydmljZSlcbmV4cG9ydCBjb25zdCByZXRyaWV2ZWRQcm9kdWN0c0F0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgcmV0cmlldmFsRGF0YSA9IGdldChwcm9kdWN0UmV0cmlldmFsQXRvbSkuZGF0YTtcbiAgcmV0dXJuIHJldHJpZXZhbERhdGE/LnByb2R1Y3RzIHx8IFtdO1xufSk7XG5cbmV4cG9ydCBjb25zdCBwcm9kdWN0UmV0cmlldmFsTG9hZGluZ0F0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgcmV0dXJuIGdldChwcm9kdWN0UmV0cmlldmFsQXRvbSkubG9hZGluZztcbn0pO1xuXG5leHBvcnQgY29uc3QgcHJvZHVjdFJldHJpZXZhbEVycm9yQXRvbSA9IGF0b20oKGdldCkgPT4ge1xuICByZXR1cm4gZ2V0KHByb2R1Y3RSZXRyaWV2YWxBdG9tKS5lcnJvcjtcbn0pO1xuIiwiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VSZWYsIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUF0b21WYWx1ZSB9IGZyb20gXCJqb3RhaVwiO1xuaW1wb3J0IEZ1c2UgZnJvbSBcImZ1c2UuanNcIjtcbmltcG9ydCB7XG4gIFNwaWZmeU1ldHJpY3NFdmVudE5hbWUsXG4gIFVzZVNlYXJjaElucHV0UHJvcHMsXG4gIFVzZVNlYXJjaElucHV0UmV0dXJuLFxufSBmcm9tIFwiQGVudml2ZS1haS90eXBlc1wiO1xuaW1wb3J0IHsgdXNlQW1wbGl0dWRlVHJhY2tpbmcgfSBmcm9tIFwiLi4vQW1wbGl0dWRlT3BlcmF0aW9uc1wiO1xuaW1wb3J0IHsgYXV0b2NvbXBsZXRlU3RhdGVBdG9tIH0gZnJvbSBcInNyYy9hdG9tcy9nbG9iYWxTZWFyY2hcIjtcbmltcG9ydCB7IGFtcGxpdHVkZVRyYWNrRXZlbnRBdG9tIH0gZnJvbSBcInNyYy9hdG9tcy9hbXBsaXR1ZGUvYW1wbGl0dWRlVHJhY2tFdmVudEF0b21cIjtcblxuZXhwb3J0IGNvbnN0IHVzZVNlYXJjaElucHV0ID0gKHtcbiAgaW5pdGlhbFNlYXJjaFRleHQgPSBcIlwiLFxuICBzZWFyY2hPcmlnaW4sXG4gIG9uU2VhcmNoU3VibWl0LFxufTogVXNlU2VhcmNoSW5wdXRQcm9wcyk6IFVzZVNlYXJjaElucHV0UmV0dXJuID0+IHtcbiAgY29uc3QgdHJhY2sgPSB1c2VBdG9tVmFsdWUoYW1wbGl0dWRlVHJhY2tFdmVudEF0b20pO1xuXG4gIC8vIFN0YXRlXG4gIGNvbnN0IFtzZWFyY2hUZXh0LCBzZXRTZWFyY2hUZXh0XSA9IHVzZVN0YXRlKGluaXRpYWxTZWFyY2hUZXh0KTtcbiAgY29uc3QgW2hhc1RleHQsIHNldEhhc1RleHRdID0gdXNlU3RhdGUoaW5pdGlhbFNlYXJjaFRleHQudHJpbSgpLmxlbmd0aCA+IDApO1xuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbZm9jdXNlZEluZGV4LCBzZXRGb2N1c2VkSW5kZXhdID0gdXNlU3RhdGUoLTEpO1xuICBjb25zdCBbZm9jdXNlZE9wdGlvbklkLCBzZXRGb2N1c2VkT3B0aW9uSWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPihcbiAgICB1bmRlZmluZWRcbiAgKTtcbiAgY29uc3QgYXV0b2NvbXBsZXRlU3RhdGUgPSB1c2VBdG9tVmFsdWUoYXV0b2NvbXBsZXRlU3RhdGVBdG9tKTtcbiAgY29uc3QgZ2xvYmFsQXV0b2NvbXBsZXRlUmVzdWx0cyA9IGF1dG9jb21wbGV0ZVN0YXRlLnJlc3VsdHM7XG4gIGNvbnN0IGlzQXV0b2NvbXBsZXRlRW5hYmxlZCA9IGdsb2JhbEF1dG9jb21wbGV0ZVJlc3VsdHMubGVuZ3RoID4gMDtcblxuICAvLyBSZWZzXG4gIGNvbnN0IGlzU2VsZWN0aW5nQXV0b2NvbXBsZXRlID0gdXNlUmVmKGZhbHNlKTtcblxuICAvLyBDb21wdXRlZFxuICBjb25zdCBzaG91bGRTaG93QXV0b2NvbXBsZXRlID0gaGFzVGV4dCAmJiBpc0ZvY3VzZWQgJiYgaXNBdXRvY29tcGxldGVFbmFibGVkO1xuXG4gIGNvbnN0IGF1dG9jb21wbGV0ZVJlc3VsdHNMaW1pdCA9IDU7XG5cbiAgLy8gQ29uZmlndXJlIEZ1c2UuanMgZm9yIGZ1enp5IHNlYXJjaCB3aXRoIGN1c3RvbSBzY29yaW5nXG4gIGNvbnN0IGZ1c2VPcHRpb25zID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgaW5jbHVkZVNjb3JlOiB0cnVlLFxuICAgICAgaW5jbHVkZU1hdGNoZXM6IHRydWUsXG4gICAgICAvLyBGdXp6eSBtYXRjaGluZyB0aHJlc2hvbGQgKDAuMCA9IHBlcmZlY3QgbWF0Y2gsIDEuMCA9IG1hdGNoIGFueXRoaW5nKVxuICAgICAgdGhyZXNob2xkOiAwLjMsXG4gICAgICAvLyBMb2NhdGlvbiB3aGVyZSBtYXRjaCBpcyBleHBlY3RlZCAoMCA9IGJlZ2lubmluZylcbiAgICAgIGxvY2F0aW9uOiAwLFxuICAgICAgLy8gRGlzdGFuY2UgZnJvbSBsb2NhdGlvbiB3aGVyZSBtYXRjaCBjYW4gYmUgZm91bmQgLSBzbWFsbGVyIGZvciBwcmVmaXggcHJlZmVyZW5jZVxuICAgICAgZGlzdGFuY2U6IDQsXG4gICAgICAvLyBNaW5pbXVtIGNoYXJhY3RlciBsZW5ndGggYmVmb3JlIGZ1enp5IG1hdGNoaW5nIHN0YXJ0c1xuICAgICAgbWluTWF0Y2hDaGFyTGVuZ3RoOiAxLFxuICAgICAgLy8gS2V5cyB0byBzZWFyY2ggKHdlJ3JlIHNlYXJjaGluZyBzdHJpbmdzIGRpcmVjdGx5LCBzbyBubyBrZXlzIG5lZWRlZClcbiAgICAgIGtleXM6IFtdLFxuICAgICAgLy8gVXNlIGV4dGVuZGVkIHNlYXJjaCBmb3IgZXhhY3QgbWF0Y2hlcyBhbmQgcHJlZml4IG1hdGNoaW5nXG4gICAgICB1c2VFeHRlbmRlZFNlYXJjaDogZmFsc2UsXG4gICAgICAvLyBEb24ndCBpZ25vcmUgbG9jYXRpb24gLSB0aGlzIGhlbHBzIHByaW9yaXRpemUgbWF0Y2hlcyBhdCB0aGUgYmVnaW5uaW5nXG4gICAgICBpZ25vcmVMb2NhdGlvbjogZmFsc2UsXG4gICAgfSksXG4gICAgW11cbiAgKTtcblxuICBjb25zdCBmdXNlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFnbG9iYWxBdXRvY29tcGxldGVSZXN1bHRzLmxlbmd0aCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIG5ldyBGdXNlKGdsb2JhbEF1dG9jb21wbGV0ZVJlc3VsdHMsIGZ1c2VPcHRpb25zKTtcbiAgfSwgW2dsb2JhbEF1dG9jb21wbGV0ZVJlc3VsdHMsIGZ1c2VPcHRpb25zXSk7XG5cbiAgLy8gQXV0b2NvbXBsZXRlIGZ1enp5IHNlYXJjaCB1c2luZyBGdXNlLmpzXG4gIGNvbnN0IGF1dG9jb21wbGV0ZVJlc3VsdHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIWlzQXV0b2NvbXBsZXRlRW5hYmxlZCB8fCAhZnVzZSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGlmICghc2VhcmNoVGV4dC50cmltKCkpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBmdXNlUmVzdWx0cyA9IGZ1c2Uuc2VhcmNoKHNlYXJjaFRleHQpO1xuXG4gICAgLy8gVXNlIG9ubHkgRnVzZS5qcyBzY29yaW5nIChyZXN1bHRzIGFyZSBhbHJlYWR5IHNvcnRlZCBieSByZWxldmFuY2UpXG4gICAgcmV0dXJuIGZ1c2VSZXN1bHRzXG4gICAgICAuc2xpY2UoMCwgYXV0b2NvbXBsZXRlUmVzdWx0c0xpbWl0KVxuICAgICAgLm1hcCgocmVzdWx0KSA9PiByZXN1bHQuaXRlbSk7XG4gIH0sIFtpc0F1dG9jb21wbGV0ZUVuYWJsZWQsIGZ1c2UsIHNlYXJjaFRleHQsIGF1dG9jb21wbGV0ZVJlc3VsdHNMaW1pdF0pO1xuXG4gIC8vIEhhbmRsZXJzXG4gIGNvbnN0IGhhbmRsZVNlYXJjaElucHV0Q2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKG5ld1ZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgIC8vIElmIHRoZSB1c2VyIGlzIGNoYW5naW5nIHRleHQsIHRoZXkgbXVzdCBiZSBpbnRlcmFjdGluZyB3aXRoIHRoZSBpbnB1dFxuICAgICAgLy8gU28gd2UgY2FuIHNhZmVseSBhc3N1bWUgdGhleSdyZSBmb2N1c2VkXG4gICAgICBpZiAobmV3VmFsdWUgIT09IHNlYXJjaFRleHQpIHtcbiAgICAgICAgc2V0SXNGb2N1c2VkKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAobmV3VmFsdWUubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHRyYWNrPy4oe1xuICAgICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hJbnB1dFN0YXJ0ZWQsXG4gICAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgICAgc2VhcmNoT3JpZ2luLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgc2V0U2VhcmNoVGV4dChuZXdWYWx1ZSk7XG4gICAgICBzZXRIYXNUZXh0KG5ld1ZhbHVlLnRyaW0oKS5sZW5ndGggPiAwKTtcbiAgICAgIHNldEZvY3VzZWRJbmRleCgtMSk7XG4gICAgICBzZXRGb2N1c2VkT3B0aW9uSWQodW5kZWZpbmVkKTtcbiAgICB9LFxuICAgIFtzZWFyY2hPcmlnaW4sIHNlYXJjaFRleHQsIHRyYWNrXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVNlYXJjaElucHV0Rm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNGb2N1c2VkKHRydWUpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgaGFuZGxlU2VhcmNoSW5wdXRCbHVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCFpc1NlbGVjdGluZ0F1dG9jb21wbGV0ZS5jdXJyZW50KSB7XG4gICAgICAgIHNldElzRm9jdXNlZChmYWxzZSk7XG4gICAgICAgIHNldEZvY3VzZWRJbmRleCgtMSk7XG4gICAgICAgIHNldEZvY3VzZWRPcHRpb25JZCh1bmRlZmluZWQpO1xuICAgICAgfVxuICAgIH0sIDE1MCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXRTZWFyY2ggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNGb2N1c2VkKGZhbHNlKTtcbiAgICBpZiAoc2VhcmNoVGV4dC50cmltKCkgJiYgb25TZWFyY2hTdWJtaXQpIHtcbiAgICAgIHRyYWNrPy4oe1xuICAgICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuU2VhcmNoUXVlcnlTdWJtaXR0ZWQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBzZWFyY2hPcmlnaW4sXG4gICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LnRyaW0oKSxcbiAgICAgICAgfSxcbiAgICAgICAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljczogdHJ1ZSxcbiAgICAgIH0pO1xuICAgICAgb25TZWFyY2hTdWJtaXQoc2VhcmNoVGV4dC50cmltKCkpO1xuICAgIH1cbiAgfSwgW3NlYXJjaFRleHQsIG9uU2VhcmNoU3VibWl0LCBzZWFyY2hPcmlnaW4sIHRyYWNrXSk7XG5cbiAgY29uc3QgaGFuZGxlQXV0b2NvbXBsZXRlU2VsZWN0ID0gdXNlQ2FsbGJhY2soXG4gICAgKHN1Z2dlc3Rpb246IHN0cmluZywgcmFua1Bvc2l0aW9uPzogbnVtYmVyKSA9PiB7XG4gICAgICBpc1NlbGVjdGluZ0F1dG9jb21wbGV0ZS5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIHNldFNlYXJjaFRleHQoc3VnZ2VzdGlvbik7XG4gICAgICBzZXRIYXNUZXh0KHN1Z2dlc3Rpb24udHJpbSgpLmxlbmd0aCA+IDApO1xuICAgICAgc2V0SXNGb2N1c2VkKGZhbHNlKTtcblxuICAgICAgdHJhY2s/Lih7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hJbnB1dFN0YXJ0ZWQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBzZWFyY2hPcmlnaW4sXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgaWYgKG9uU2VhcmNoU3VibWl0KSB7XG4gICAgICAgIG9uU2VhcmNoU3VibWl0KHN1Z2dlc3Rpb24udHJpbSgpKTtcbiAgICAgIH1cblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlzU2VsZWN0aW5nQXV0b2NvbXBsZXRlLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH0sIDEwMCk7XG4gICAgfSxcbiAgICBbb25TZWFyY2hTdWJtaXQsIHNlYXJjaE9yaWdpbiwgdHJhY2tdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gXCJBcnJvd0Rvd25cIikge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjb25zdCBuZXdJbmRleCA9IChmb2N1c2VkSW5kZXggKyAxKSAlIGF1dG9jb21wbGV0ZVJlc3VsdHMubGVuZ3RoO1xuICAgICAgICBzZXRGb2N1c2VkSW5kZXgobmV3SW5kZXgpO1xuICAgICAgICBzZXRGb2N1c2VkT3B0aW9uSWQoYG9wdGlvbi0ke25ld0luZGV4fWApO1xuICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09IFwiQXJyb3dVcFwiKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IG5ld0luZGV4ID1cbiAgICAgICAgICAoZm9jdXNlZEluZGV4IC0gMSArIGF1dG9jb21wbGV0ZVJlc3VsdHMubGVuZ3RoKSAlXG4gICAgICAgICAgYXV0b2NvbXBsZXRlUmVzdWx0cy5sZW5ndGg7XG4gICAgICAgIHNldEZvY3VzZWRJbmRleChuZXdJbmRleCk7XG4gICAgICAgIHNldEZvY3VzZWRPcHRpb25JZChgb3B0aW9uLSR7bmV3SW5kZXh9YCk7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gXCJFbnRlclwiKSB7XG4gICAgICAgIGlmIChmb2N1c2VkSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBoYW5kbGVTdWJtaXRTZWFyY2goKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGNvbnN0IHN1Z2dlc3Rpb25UZXh0ID0gYXV0b2NvbXBsZXRlUmVzdWx0c1tmb2N1c2VkSW5kZXhdO1xuICAgICAgICAgIGhhbmRsZUF1dG9jb21wbGV0ZVNlbGVjdChzdWdnZXN0aW9uVGV4dCwgZm9jdXNlZEluZGV4KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09IFwiRXNjYXBlXCIpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgc2V0Rm9jdXNlZEluZGV4KC0xKTtcbiAgICAgICAgc2V0Rm9jdXNlZE9wdGlvbklkKHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbXG4gICAgICBhdXRvY29tcGxldGVSZXN1bHRzLFxuICAgICAgZm9jdXNlZEluZGV4LFxuICAgICAgaGFuZGxlQXV0b2NvbXBsZXRlU2VsZWN0LFxuICAgICAgaGFuZGxlU3VibWl0U2VhcmNoLFxuICAgIF1cbiAgKTtcblxuICBjb25zdCBzZXRTZWFyY2hUZXh0VXRpbGl0eSA9IHVzZUNhbGxiYWNrKCh0ZXh0OiBzdHJpbmcpID0+IHtcbiAgICBzZXRTZWFyY2hUZXh0KHRleHQpO1xuICAgIHNldEhhc1RleHQodGV4dC50cmltKCkubGVuZ3RoID4gMCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCByZXNldFNlYXJjaCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRTZWFyY2hUZXh0KFwiXCIpO1xuICAgIHNldEhhc1RleHQoZmFsc2UpO1xuICAgIHNldElzRm9jdXNlZChmYWxzZSk7XG4gICAgc2V0Rm9jdXNlZEluZGV4KC0xKTtcbiAgICBzZXRGb2N1c2VkT3B0aW9uSWQodW5kZWZpbmVkKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiB7XG4gICAgLy8gU3RhdGVcbiAgICBzZWFyY2hUZXh0LFxuICAgIGhhc1RleHQsXG4gICAgaXNGb2N1c2VkLFxuICAgIGZvY3VzZWRJbmRleCxcbiAgICBmb2N1c2VkT3B0aW9uSWQsXG4gICAgYXV0b2NvbXBsZXRlUmVzdWx0cyxcbiAgICBzaG91bGRTaG93QXV0b2NvbXBsZXRlLFxuXG4gICAgLy8gSGFuZGxlcnNcbiAgICBoYW5kbGVTZWFyY2hJbnB1dENoYW5nZSxcbiAgICBoYW5kbGVTZWFyY2hJbnB1dEZvY3VzLFxuICAgIGhhbmRsZVNlYXJjaElucHV0Qmx1cixcbiAgICBoYW5kbGVLZXlEb3duLFxuICAgIGhhbmRsZUF1dG9jb21wbGV0ZVNlbGVjdCxcbiAgICBoYW5kbGVTdWJtaXRTZWFyY2gsXG5cbiAgICAvLyBVdGlsaXRpZXNcbiAgICBzZXRTZWFyY2hUZXh0OiBzZXRTZWFyY2hUZXh0VXRpbGl0eSxcbiAgICByZXNldFNlYXJjaCxcbiAgfTtcbn07XG4iLCJpbXBvcnQgeyB1c2VBdG9tLCB1c2VBdG9tVmFsdWUsIHVzZVNldEF0b20gfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgU2VhcmNoUmVzdWx0c0hvY1Byb3BzLFxuICBQcm9kdWN0U29ydGluZyxcbiAgU2VhcmNoRmlsdGVyRGF0dW0sXG4gIFNwaWZmeU1ldHJpY3NFdmVudE5hbWUsXG4gIFNlbGVjdGVkRmlsdGVyT3B0aW9uLFxuICBTZWxlY3RGaWx0ZXJJdGVtLFxuICBTcGlmZnlXaWRnZXRzLFxufSBmcm9tIFwiQGVudml2ZS1haS90eXBlc1wiO1xuaW1wb3J0IHtcbiAgYWRkU2VhcmNoRmlsdGVyQXRvbSxcbiAgY2xlYXJTZWFyY2hGaWx0ZXJzQXRvbSxcbiAgY3JlYXRlRmlsdGVyT3B0aW9uLFxuICBmaWx0ZXJlZFNlYXJjaFByb2R1Y3RzQXRvbSxcbiAgcGVyZm9ybVNlYXJjaEF0b20sXG4gIHJlbW92ZVNlYXJjaEZpbHRlckF0b20sXG4gIHNlYXJjaEF0b20sXG4gIHNlYXJjaEZpbHRlcnNBdG9tLFxuICBzZWFyY2hQYXJhbXNBdG9tLFxuICBzZWFyY2hQcm9kdWN0U29ydGluZ0F0b20sXG4gIHNlYXJjaFNlbGVjdGVkRmlsdGVyc0F0b20sXG59IGZyb20gXCIuLi8uLi9hdG9tcy9zZWFyY2hcIjtcbmltcG9ydCB7IGlzRmlsdGVyT3BlbkF0b20gfSBmcm9tIFwiLi4vLi4vYXRvbXMvZ2xvYmFsU2VhcmNoL2dsb2JhbFNlYXJjaFwiO1xuaW1wb3J0IHsgZm9ybWF0RmlsdGVyRGlzcGxheU5hbWUgfSBmcm9tIFwiLi4vLi4vYXRvbXMvc2VhcmNoL3V0aWxzXCI7XG5pbXBvcnQgeyBhbXBsaXR1ZGVUcmFja0V2ZW50QXRvbSB9IGZyb20gXCIuLi8uLi9hdG9tcy9hbXBsaXR1ZGUvYW1wbGl0dWRlVHJhY2tFdmVudEF0b21cIjtcbmltcG9ydCB7IG9yZ1Nob3J0TmFtZUF0b20gfSBmcm9tIFwiLi4vLi4vYXRvbXMvZW52aXZlL2Vudml2ZUNvbmZpZ1wiO1xuaW1wb3J0IHsgbmV3T3JnQ29uZmlnQXRvbSB9IGZyb20gXCIuLi8uLi9hdG9tcy9vcmcvbmV3T3JnQ29uZmlnQXRvbVwiO1xuaW1wb3J0IHsgcmV0cmlldmVkUHJvZHVjdHNBdG9tIH0gZnJvbSBcIi4uLy4uL2F0b21zL3NlYXJjaC9wcm9kdWN0UmV0cmlldmFsQVBJXCI7XG5pbXBvcnQgeyB1c2VUcmFja0NvbXBvbmVudFZpc2libGVFdmVudCB9IGZyb20gXCIuLi9UcmFja0NvbXBvbmVudFZpc2libGVFdmVudFwiO1xuaW1wb3J0IHsgZ2V0U2VhcmNoUmVzdWx0c1N0YXRlIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgeyB1c2VTZWFyY2hJbnB1dCB9IGZyb20gXCIuL3VzZVNlYXJjaElucHV0XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VTZWFyY2ggPSAoKTogU2VhcmNoUmVzdWx0c0hvY1Byb3BzID0+IHtcbiAgLy8gQXRvbXNcbiAgY29uc3QgdHJhY2tFdmVudCA9IHVzZUF0b21WYWx1ZShhbXBsaXR1ZGVUcmFja0V2ZW50QXRvbSk7XG4gIGNvbnN0IGNvbmZpZyA9IHVzZUF0b21WYWx1ZShuZXdPcmdDb25maWdBdG9tKTtcbiAgY29uc3Qgb3JnU2hvcnROYW1lID0gdXNlQXRvbVZhbHVlKG9yZ1Nob3J0TmFtZUF0b20pO1xuICBjb25zdCB7IGRhdGE6IHNlYXJjaERhdGEsIGxvYWRpbmc6IGlzTG9hZGluZ1NlYXJjaCB9ID1cbiAgICB1c2VBdG9tVmFsdWUoc2VhcmNoQXRvbSk7XG4gIGNvbnN0IHByb2R1Y3RMaXN0ID0gdXNlQXRvbVZhbHVlKGZpbHRlcmVkU2VhcmNoUHJvZHVjdHNBdG9tKTtcbiAgY29uc3QgcGVyZm9ybVNlYXJjaCA9IHVzZVNldEF0b20ocGVyZm9ybVNlYXJjaEF0b20pO1xuICBjb25zdCBbeyBxdWVyeSB9XSA9IHVzZUF0b20oc2VhcmNoUGFyYW1zQXRvbSk7XG4gIGNvbnN0IFtpc0ZpbHRlck9wZW4sIHNldElzRmlsdGVyT3Blbl0gPSB1c2VBdG9tKGlzRmlsdGVyT3BlbkF0b20pO1xuICBjb25zdCBbc2VsZWN0ZWRGaWx0ZXJPcHRpb25zXSA9IHVzZUF0b20oc2VhcmNoU2VsZWN0ZWRGaWx0ZXJzQXRvbSk7XG4gIGNvbnN0IGFkZEZpbHRlciA9IHVzZVNldEF0b20oYWRkU2VhcmNoRmlsdGVyQXRvbSk7XG4gIGNvbnN0IHJlbW92ZUZpbHRlciA9IHVzZVNldEF0b20ocmVtb3ZlU2VhcmNoRmlsdGVyQXRvbSk7XG4gIGNvbnN0IFtwcm9kdWN0U29ydGluZywgc2V0UHJvZHVjdFNvcnRpbmddID0gdXNlQXRvbShzZWFyY2hQcm9kdWN0U29ydGluZ0F0b20pO1xuICBjb25zdCBjbGVhckZpbHRlcnMgPSB1c2VTZXRBdG9tKGNsZWFyU2VhcmNoRmlsdGVyc0F0b20pO1xuICBjb25zdCBzZWFyY2hGaWx0ZXJzID0gdXNlQXRvbVZhbHVlKHNlYXJjaEZpbHRlcnNBdG9tKTtcbiAgY29uc3QgcmVjb21tZW5kZWRQcm9kdWN0cyA9IHVzZUF0b21WYWx1ZShyZXRyaWV2ZWRQcm9kdWN0c0F0b20pO1xuXG4gIC8vIFJlZnNcbiAgY29uc3Qgc2VhcmNoUmVzdWx0c1JlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG5cbiAgLy8gVXRpbGl0aWVzXG4gIGNvbnN0IHNjcm9sbFRvVG9wID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHNlYXJjaFJlc3VsdHNSZWYuY3VycmVudDtcbiAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICBjb250YWluZXIuc2Nyb2xsVG8oeyB0b3A6IDAsIGJlaGF2aW9yOiBcInNtb290aFwiIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IDAsIGJlaGF2aW9yOiBcInNtb290aFwiIH0pO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIC8vIFNlYXJjaCBJbnB1dCBIb29rXG4gIGNvbnN0IHNlYXJjaElucHV0ID0gdXNlU2VhcmNoSW5wdXQoe1xuICAgIGluaXRpYWxTZWFyY2hUZXh0OiBxdWVyeSB8fCBcIlwiLFxuICAgIHNlYXJjaE9yaWdpbjogU3BpZmZ5V2lkZ2V0cy5TZWFyY2hSZXN1bHRzLFxuICAgIG9uU2VhcmNoU3VibWl0OiAoc2VhcmNoUXVlcnkpID0+IHtcbiAgICAgIHBlcmZvcm1TZWFyY2goeyBxdWVyeTogc2VhcmNoUXVlcnkgfSk7XG4gICAgfSxcbiAgfSk7XG5cbiAgY29uc3Qge1xuICAgIHNlYXJjaFRleHQsXG4gICAgZm9jdXNlZEluZGV4LFxuICAgIGZvY3VzZWRPcHRpb25JZCxcbiAgICBhdXRvY29tcGxldGVSZXN1bHRzLFxuICAgIHNob3VsZFNob3dBdXRvY29tcGxldGUsXG4gICAgaGFuZGxlU2VhcmNoSW5wdXRDaGFuZ2UsXG4gICAgaGFuZGxlU2VhcmNoSW5wdXRGb2N1cyxcbiAgICBoYW5kbGVTZWFyY2hJbnB1dEJsdXIsXG4gICAgaGFuZGxlS2V5RG93bixcbiAgICBoYW5kbGVBdXRvY29tcGxldGVTZWxlY3QsXG4gICAgaGFuZGxlU3VibWl0U2VhcmNoLFxuICAgIHNldFNlYXJjaFRleHQsXG4gIH0gPSBzZWFyY2hJbnB1dDtcbiAgY29uc3Qgc2VhcmNoUmVzdWx0c1N0YXRlID0gZ2V0U2VhcmNoUmVzdWx0c1N0YXRlKGlzTG9hZGluZ1NlYXJjaCwgc2VhcmNoRGF0YSk7XG5cbiAgY29uc3QgZHluYW1pY0ZpbHRlcnMgPSBzZWFyY2hEYXRhPy5maWx0ZXJzIHx8IFtdO1xuXG4gIC8vIFByb3ZpZGUgZmFsbGJhY2sgdmFsdWVzIHdoZW4gY29uZmlnIGlzIG5vdCB5ZXQgYXZhaWxhYmxlXG4gIGNvbnN0IHNhZmVQcm9kdWN0Q2FyZENvbmZpZyA9IGNvbmZpZz8uZnJvbnRlbmRDb25maWc/LnVpQ29uZmlnc1xuICAgID8ucHJvZHVjdENhcmRDb25maWcgfHwge1xuICAgIHZhcmlhbnQ6IFwibWluaW1hbFwiLFxuICAgIGhvdmVyVmFyaWFudDogXCJub25lXCIsXG4gICAgbGF5b3V0VmFyaWFudDogXCJzcXVhcmVcIixcbiAgfTtcbiAgY29uc3Qgc2FmZU1lcmNoYW50U2hvcnROYW1lID0gb3JnU2hvcnROYW1lIHx8IFwiXCI7XG5cbiAgY29uc3QgYXZhaWxhYmxlRHluYW1pY0ZpbHRlcnMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gZHluYW1pY0ZpbHRlcnNcbiAgICAgIC5maWx0ZXIoXG4gICAgICAgIChkeW5hbWljRmlsdGVyTmFtZSkgPT5cbiAgICAgICAgICAhc2VsZWN0ZWRGaWx0ZXJPcHRpb25zLnNvbWUoXG4gICAgICAgICAgICAob3B0aW9uKSA9PiBvcHRpb24uaWQgPT09IGBkeW5hbWljOiR7ZHluYW1pY0ZpbHRlck5hbWV9YFxuICAgICAgICAgIClcbiAgICAgIClcbiAgICAgIC5tYXAoKGR5bmFtaWNGaWx0ZXJOYW1lKSA9PiAoe1xuICAgICAgICBuYW1lOiBkeW5hbWljRmlsdGVyTmFtZSxcbiAgICAgICAgZGlzcGxheU5hbWU6IGZvcm1hdEZpbHRlckRpc3BsYXlOYW1lKGR5bmFtaWNGaWx0ZXJOYW1lKSxcbiAgICAgIH0pKTtcbiAgfSwgW2R5bmFtaWNGaWx0ZXJzLCBzZWxlY3RlZEZpbHRlck9wdGlvbnNdKTtcblxuICBjb25zdCBmaWx0ZXJzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3Qgc29ydE9wdGlvbnMgPSBbXG4gICAgICB7XG4gICAgICAgIGZpbHRlckl0ZW1JZDogU3RyaW5nKFByb2R1Y3RTb3J0aW5nLkZFQVRVUkVEKSxcbiAgICAgICAgZGlzcGxheU5hbWU6IFwiUmVsZXZhbmNlXCIsXG4gICAgICAgIHByb2R1Y3RDb3VudDogMCxcbiAgICAgICAgaXNTZWxlY3RlZDogcHJvZHVjdFNvcnRpbmcgPT09IFByb2R1Y3RTb3J0aW5nLkZFQVRVUkVELFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZmlsdGVySXRlbUlkOiBTdHJpbmcoUHJvZHVjdFNvcnRpbmcuUFJJQ0VfQVNDKSxcbiAgICAgICAgZGlzcGxheU5hbWU6IFwiUHJpY2U6IExvdyB0byBIaWdoXCIsXG4gICAgICAgIHByb2R1Y3RDb3VudDogMCxcbiAgICAgICAgaXNTZWxlY3RlZDogcHJvZHVjdFNvcnRpbmcgPT09IFByb2R1Y3RTb3J0aW5nLlBSSUNFX0FTQyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGZpbHRlckl0ZW1JZDogU3RyaW5nKFByb2R1Y3RTb3J0aW5nLlBSSUNFX0RFU0MpLFxuICAgICAgICBkaXNwbGF5TmFtZTogXCJQcmljZTogSGlnaCB0byBMb3dcIixcbiAgICAgICAgcHJvZHVjdENvdW50OiAwLFxuICAgICAgICBpc1NlbGVjdGVkOiBwcm9kdWN0U29ydGluZyA9PT0gUHJvZHVjdFNvcnRpbmcuUFJJQ0VfREVTQyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIHJldHVybiBbXG4gICAgICB7IGZpbHRlcklkOiBcInNvcnRcIiwgZGlzcGxheU5hbWU6IFwiU09SVFwiLCBpdGVtczogc29ydE9wdGlvbnMgfSxcbiAgICAgIC4uLnNlYXJjaEZpbHRlcnMsXG4gICAgXSBhcyBTZWFyY2hGaWx0ZXJEYXR1bVtdO1xuICB9LCBbcHJvZHVjdFNvcnRpbmcsIHNlYXJjaEZpbHRlcnNdKTtcblxuICBjb25zdCBmaWx0ZXJCdXR0b25UZXh0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRDb3VudCA9IGZpbHRlcnMucmVkdWNlKChhY2M6IG51bWJlciwgZmlsdGVyKSA9PiB7XG4gICAgICBpZiAoZmlsdGVyLmZpbHRlcklkID09PSBcInNvcnRcIikge1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYyArIGZpbHRlci5pdGVtcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaXNTZWxlY3RlZCkubGVuZ3RoO1xuICAgIH0sIDApO1xuICAgIGlmIChzZWxlY3RlZENvdW50ID09PSAwKSB7XG4gICAgICByZXR1cm4gXCJGaWx0ZXIgJiBTb3J0XCI7XG4gICAgfVxuICAgIHJldHVybiBgRmlsdGVyICYgU29ydCAoJHtzZWxlY3RlZENvdW50fSlgO1xuICB9LCBbZmlsdGVyc10pO1xuXG4gIC8vIENhbGxiYWNrc1xuICBjb25zdCBoYW5kbGVUb2dnbGVEeW5hbWljRmlsdGVyID0gdXNlQ2FsbGJhY2soXG4gICAgKHtcbiAgICAgIGZpbHRlcixcbiAgICAgIGR5bmFtaWNGaWx0ZXJEaXNwbGF5TmFtZSxcbiAgICB9OiB7XG4gICAgICBmaWx0ZXI6IHN0cmluZztcbiAgICAgIGR5bmFtaWNGaWx0ZXJEaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIH0pID0+IHtcbiAgICAgIHRyYWNrRXZlbnQ/Lih7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hGaWx0ZXJDbGlja2VkLFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgZmlsdGVyVHlwZTogXCJEeW5hbWljXCIsXG4gICAgICAgICAgZmlsdGVyVmFsdWU6IGZpbHRlcixcbiAgICAgICAgICBxdWVyeVRleHQ6IHNlYXJjaFRleHQsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGFkZEZpbHRlcihcbiAgICAgICAgY3JlYXRlRmlsdGVyT3B0aW9uKFwiZHluYW1pY1wiLCBmaWx0ZXIsIGR5bmFtaWNGaWx0ZXJEaXNwbGF5TmFtZSlcbiAgICAgICk7XG4gICAgICBzY3JvbGxUb1RvcCgpO1xuICAgIH0sXG4gICAgW2FkZEZpbHRlciwgc2VhcmNoVGV4dCwgc2Nyb2xsVG9Ub3AsIHRyYWNrRXZlbnRdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlUmVtb3ZlRmlsdGVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGZpbHRlcjogU2VsZWN0ZWRGaWx0ZXJPcHRpb24pID0+IHtcbiAgICAgIHJlbW92ZUZpbHRlcihmaWx0ZXIuaWQpO1xuICAgICAgc2Nyb2xsVG9Ub3AoKTtcbiAgICB9LFxuICAgIFtyZW1vdmVGaWx0ZXIsIHNjcm9sbFRvVG9wXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEZpbHRlckl0ZW06IFNlbGVjdEZpbHRlckl0ZW0gPSB1c2VDYWxsYmFjayhcbiAgICAoe1xuICAgICAgZmlsdGVySWQsXG4gICAgICBmaWx0ZXJJdGVtSWQsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgZGlzcGxheU5hbWUsXG4gICAgfToge1xuICAgICAgZmlsdGVySWQ6IHN0cmluZztcbiAgICAgIGZpbHRlckl0ZW1JZDogc3RyaW5nO1xuICAgICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgfSkgPT4ge1xuICAgICAgaWYgKGZpbHRlcklkID09PSBcInNvcnRcIikge1xuICAgICAgICBjb25zdCBuZXdTb3J0ID0gZmlsdGVySXRlbUlkIGFzIFByb2R1Y3RTb3J0aW5nO1xuICAgICAgICB0cmFja0V2ZW50Py4oe1xuICAgICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hTb3J0Q2xpY2tlZCxcbiAgICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgICBzb3J0VHlwZTogbmV3U29ydCxcbiAgICAgICAgICAgIHF1ZXJ5VGV4dDogc2VhcmNoVGV4dCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgc2V0UHJvZHVjdFNvcnRpbmcobmV3U29ydCk7XG4gICAgICAgIHNjcm9sbFRvVG9wKCk7XG4gICAgICB9IGVsc2UgaWYgKCFpc1NlbGVjdGVkKSB7XG4gICAgICAgIHJlbW92ZUZpbHRlcihgJHtmaWx0ZXJJZH06JHtmaWx0ZXJJdGVtSWR9YCk7XG4gICAgICAgIHNjcm9sbFRvVG9wKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0cmFja0V2ZW50Py4oe1xuICAgICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hGaWx0ZXJDbGlja2VkLFxuICAgICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAgIGZpbHRlclR5cGU6IFwiU3RhdGljXCIsXG4gICAgICAgICAgICBmaWx0ZXJDYXRlZ29yeTogZmlsdGVySWQsXG4gICAgICAgICAgICBmaWx0ZXJWYWx1ZTogZmlsdGVySXRlbUlkLFxuICAgICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBhZGRGaWx0ZXIoY3JlYXRlRmlsdGVyT3B0aW9uKGZpbHRlcklkLCBmaWx0ZXJJdGVtSWQsIGRpc3BsYXlOYW1lKSk7XG4gICAgICAgIHNjcm9sbFRvVG9wKCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbXG4gICAgICBhZGRGaWx0ZXIsXG4gICAgICByZW1vdmVGaWx0ZXIsXG4gICAgICBzZXRQcm9kdWN0U29ydGluZyxcbiAgICAgIHNlYXJjaFRleHQsXG4gICAgICBzY3JvbGxUb1RvcCxcbiAgICAgIHRyYWNrRXZlbnQsXG4gICAgXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZUNsZWFyQWxsRmlsdGVycyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRQcm9kdWN0U29ydGluZyhQcm9kdWN0U29ydGluZy5GRUFUVVJFRCk7XG4gICAgY2xlYXJGaWx0ZXJzKCk7XG4gICAgc2Nyb2xsVG9Ub3AoKTtcbiAgfSwgW3NldFByb2R1Y3RTb3J0aW5nLCBjbGVhckZpbHRlcnMsIHNjcm9sbFRvVG9wXSk7XG5cbiAgLy8gU2lkZSBFZmZlY3RzXG4gIHVzZVRyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50KFxuICAgIFNwaWZmeVdpZGdldHMuU2VhcmNoUmVzdWx0cyxcbiAgICBzZWFyY2hSZXN1bHRzUmVmLFxuICAgIHt9LFxuICAgIFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuU2VhcmNoQ29tcG9uZW50VmlzaWJsZVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHByb2R1Y3RMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRyYWNrRXZlbnQ/Lih7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5TZWFyY2hSZXN1bHRzVmlld2VkLFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgcXVlcnlUZXh0OiBzZWFyY2hUZXh0LFxuICAgICAgICAgIHJlc3VsdHNDb3VudDogcHJvZHVjdExpc3QubGVuZ3RoLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbcHJvZHVjdExpc3QubGVuZ3RoLCBzZWFyY2hUZXh0LCB0cmFja0V2ZW50XSk7XG5cbiAgLy8gVGhpcyBpcyB0aGUgc2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBmb3IgdGhlIHNlYXJjaCB0ZXh0IHRyaWdnZXJpbmcgYSBzZWFyY2hcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocXVlcnkgJiYgcXVlcnkgIT09IHNlYXJjaFRleHQpIHtcbiAgICAgIGNvbnN0IGVzcSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KFwiZXNxXCIpO1xuICAgICAgc2V0U2VhcmNoVGV4dChxdWVyeSk7XG4gICAgICBwZXJmb3JtU2VhcmNoKHsgcXVlcnk6IGVzcSA/PyBxdWVyeSB9KTtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbcGVyZm9ybVNlYXJjaCwgcXVlcnksIHNldFNlYXJjaFRleHRdKTtcblxuICByZXR1cm4ge1xuICAgIHNlYXJjaERhdGEsXG4gICAgc2VhcmNoUmVzcG9uc2VJZDogc2VhcmNoRGF0YT8uc2VhcmNoUmVzcG9uc2VJZCA/PyBcIlwiLFxuICAgIG1lcmNoYW50U2hvcnROYW1lOiBzYWZlTWVyY2hhbnRTaG9ydE5hbWUsXG4gICAgcHJvZHVjdENhcmRDb25maWc6IHNhZmVQcm9kdWN0Q2FyZENvbmZpZyxcbiAgICBwcm9kdWN0TGlzdCxcbiAgICByZWNvbW1lbmRlZFByb2R1Y3RzLFxuICAgIGF1dG9jb21wbGV0ZVJlc3VsdHMsXG4gICAgc2VhcmNoRmlsdGVyczogZmlsdGVycyxcbiAgICBhdmFpbGFibGVEeW5hbWljRmlsdGVycyxcbiAgICBzZWxlY3RlZEZpbHRlck9wdGlvbnMsXG4gICAgc2VhcmNoVGV4dCxcbiAgICBxdWVyeTogcXVlcnkgfHwgXCJcIixcbiAgICBzZWFyY2hSZXN1bHRzU3RhdGUsXG4gICAgaXNMb2FkaW5nU2VhcmNoLFxuICAgIGlzTG9hZGluZ0F1dG9jb21wbGV0ZTogZmFsc2UsXG4gICAgaXNGaWx0ZXJPcGVuLFxuICAgIHNob3VsZFNob3dBdXRvY29tcGxldGUsXG4gICAgZm9jdXNlZEluZGV4LFxuICAgIGZvY3VzZWRPcHRpb25JZCxcbiAgICBmaWx0ZXJCdXR0b25UZXh0LFxuICAgIG9uU2VhcmNoSW5wdXRDaGFuZ2U6IGhhbmRsZVNlYXJjaElucHV0Q2hhbmdlLFxuICAgIG9uU3VibWl0U2VhcmNoOiBoYW5kbGVTdWJtaXRTZWFyY2gsXG4gICAgb25BdXRvY29tcGxldGVTZWxlY3Q6IGhhbmRsZUF1dG9jb21wbGV0ZVNlbGVjdCxcbiAgICBvbktleURvd246IGhhbmRsZUtleURvd24sXG4gICAgb25TZWFyY2hJbnB1dEZvY3VzOiBoYW5kbGVTZWFyY2hJbnB1dEZvY3VzLFxuICAgIG9uU2VhcmNoSW5wdXRCbHVyOiBoYW5kbGVTZWFyY2hJbnB1dEJsdXIsXG4gICAgb25Ub2dnbGVEeW5hbWljRmlsdGVyOiBoYW5kbGVUb2dnbGVEeW5hbWljRmlsdGVyLFxuICAgIG9uU2VsZWN0RmlsdGVySXRlbTogaGFuZGxlU2VsZWN0RmlsdGVySXRlbSxcbiAgICBvblJlbW92ZUZpbHRlcjogaGFuZGxlUmVtb3ZlRmlsdGVyLFxuICAgIG9uQ2xlYXJBbGxGaWx0ZXJzOiBoYW5kbGVDbGVhckFsbEZpbHRlcnMsXG4gICAgc2V0SXNGaWx0ZXJPcGVuLFxuICAgIHNlYXJjaFJlc3VsdHNSZWYsXG4gIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BLElBQUlBLDJCQUVPO0FBUVgsTUFBYSxvQ0FBb0M7QUFDL0MsS0FBSSxDQUFDLHlCQUNILE9BQU0sSUFBSSxNQUNSLDZGQUNEO0FBRUgsUUFBTzs7Ozs7QUNSVCxNQUFhLHVDQUFtRDtDQUM5RCxNQUFNO0NBQ04sU0FBUztDQUNULE9BQU87Q0FDUCxnQkFBZ0I7Q0FDakIsQ0FBQztBQUVGLE1BQWEsOENBQ1gsTUFDQSxPQUFPLEtBQUssS0FBSyxXQUFtQztBQUdsRCxLQUZxQixJQUFJLHFCQUFxQixDQUU3QixRQUNmO0FBR0YsS0FBSSxzQkFBc0I7RUFDeEIsTUFBTTtFQUNOLFNBQVM7RUFDVCxPQUFPO0VBQ1AsZ0JBQWdCLE9BQU87RUFDeEIsQ0FBQztBQUVGLEtBQUk7RUFFRixNQUFNLFNBQVMsTUFEVSw2QkFBNkIsQ0FDaEIsT0FBTztBQUM3QyxNQUFJLHNCQUFzQjtHQUN4QixNQUFNO0dBQ04sU0FBUztHQUNULE9BQU87R0FDUCxnQkFBZ0IsT0FBTztHQUN4QixDQUFDO1VBQ0tDLE9BQWdCO0VBQ3ZCLE1BQU0sZUFDSixpQkFBaUIsUUFBUSxNQUFNLFVBQVU7QUFDM0MsTUFBSSxzQkFBc0I7R0FDeEIsTUFBTTtHQUNOLFNBQVM7R0FDVCxPQUFPO0dBQ1AsZ0JBQWdCLE9BQU87R0FDeEIsQ0FBQzs7RUFHUDtBQUdELE1BQWEseUNBQThCLFFBQVE7QUFFakQsUUFEc0IsSUFBSSxxQkFBcUIsQ0FBQyxN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