@envive-ai/react-hooks 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -0
- package/dist/{NewOrgConfig-sLsJcSn8.cjs → NewOrgConfig-B_1A1d9q.cjs} +2 -2
- package/dist/{NewOrgConfig-CbqBTHzG.js → NewOrgConfig-xNlcpcF_.js} +2 -2
- package/dist/{SystemSettingsContext-BLRfTbCC.js → SystemSettingsContext-CCuS3kWH.js} +2 -2
- package/dist/{SystemSettingsContext-BHi2YaQp.cjs → SystemSettingsContext-Dh_35fES.cjs} +2 -2
- package/dist/{TrackComponentVisibleEvent-CftWp8QR.js → TrackComponentVisibleEvent-B828giM-.js} +3 -3
- package/dist/{TrackComponentVisibleEvent-Dag8vFhb.cjs → TrackComponentVisibleEvent-DsTIH7Yt.cjs} +7 -7
- package/dist/{amplitudeContext-BhhYPJSL.d.ts → amplitudeContext-BfRDG5CX.d.ts} +1 -1
- package/dist/application/models/graphql/index.d.ts +1 -1
- package/dist/application/models/guards/api/index.d.ts +2 -2
- package/dist/application/models/guards/utils.d.ts +1 -1
- package/dist/application/models/index.cjs +3 -2
- package/dist/application/models/index.d.cts +4 -4
- package/dist/application/models/index.d.ts +12 -12
- package/dist/application/models/index.js +3 -3
- package/dist/application/models/utilityTypes/index.d.ts +1 -1
- package/dist/application/models/variantInfo/index.cjs +3 -1
- package/dist/application/models/variantInfo/index.d.cts +2 -2
- package/dist/application/models/variantInfo/index.d.ts +2 -2
- package/dist/application/models/variantInfo/index.js +2 -2
- package/dist/application/utils/index.cjs +7 -8
- package/dist/application/utils/index.d.cts +5 -5
- package/dist/application/utils/index.d.ts +15 -15
- package/dist/application/utils/index.js +7 -8
- package/dist/{atomStore-CZKe3itM.cjs → atomStore-8ppNkJ_n.cjs} +1 -1
- package/dist/{atomStore-BuopbV9k.js → atomStore-BLYJ2ZoQ.js} +1 -1
- package/dist/atoms/app/index.cjs +14 -9
- package/dist/atoms/app/index.d.cts +10 -10
- package/dist/atoms/app/index.d.ts +19 -19
- package/dist/atoms/app/index.js +9 -4
- package/dist/atoms/atomStore/index.cjs +1 -2
- package/dist/atoms/atomStore/index.js +1 -2
- package/dist/atoms/chat/index.cjs +9 -9
- package/dist/atoms/chat/index.d.cts +30 -30
- package/dist/atoms/chat/index.d.ts +39 -39
- package/dist/atoms/chat/index.js +9 -9
- package/dist/atoms/globalSearch/index.cjs +1 -1
- package/dist/atoms/globalSearch/index.d.cts +5 -5
- package/dist/atoms/globalSearch/index.d.ts +6 -6
- package/dist/atoms/globalSearch/index.js +1 -1
- package/dist/atoms/org/index.cjs +7 -8
- package/dist/atoms/org/index.d.cts +21 -21
- package/dist/atoms/org/index.d.ts +30 -30
- package/dist/atoms/org/index.js +3 -4
- package/dist/atoms/search/index.cjs +16 -16
- package/dist/atoms/search/index.d.cts +4 -4
- package/dist/atoms/search/index.d.ts +13 -13
- package/dist/atoms/search/index.js +16 -16
- package/dist/atoms/search/types.cjs +1 -1
- package/dist/atoms/search/types.d.ts +1 -1
- package/dist/atoms/search/types.js +1 -1
- package/dist/atoms/search/utils.cjs +1 -1
- package/dist/atoms/search/utils.d.cts +1 -1
- package/dist/atoms/search/utils.js +1 -1
- package/dist/{cdnContext-ShKWLgKA.cjs → cdnContext-BlRI74F-.cjs} +1 -1
- package/dist/{cdnContext-pfrZ6lfu.js → cdnContext-D26C8Y4H.js} +1 -1
- package/dist/{chat-KkJYXdfZ.cjs → chat-2NGrmU_Z.cjs} +8 -9
- package/dist/{chat-DQq8RR5E.js → chat-Bg3wEfNd.js} +5 -6
- package/dist/{chat-CV6MXeID.js → chat-pXCsesuS.js} +2 -3
- package/dist/{chat-BubCW1as.cjs → chat-sCX7aTrz.cjs} +1 -8
- package/dist/{chatElementDisplayLocation-BwiXrkN7.d.ts → chatElementDisplayLocation-D6oLuQS4.d.ts} +1 -1
- package/dist/{chatSearch-OgBQtu3u.cjs → chatSearch-B4dsxGth.cjs} +6 -6
- package/dist/{chatSearch-xO4HYEBI.js → chatSearch-Cvc_eBFV.js} +6 -6
- package/dist/{chatState-CkMgQSse.js → chatState-2bMtvPgG.js} +2 -2
- package/dist/{chatState-CTwPHEJG.cjs → chatState-fP1r34CN.cjs} +4 -4
- package/dist/common-4xhjcUbt.cjs +189 -0
- package/dist/common-DhKoZ6jN.js +39 -0
- package/dist/{components-B4T3Uzth.js → components-BUisjl4v.js} +1 -1
- package/dist/{components-Cw9WjA6g.cjs → components-DVaYBroL.cjs} +1 -1
- package/dist/config/locators/components/chat/index.cjs +1 -2
- package/dist/config/locators/components/chat/index.d.cts +2 -2
- package/dist/config/locators/components/chat/index.d.ts +2 -2
- package/dist/config/locators/components/chat/index.js +2 -2
- package/dist/config/locators/components/common/index.cjs +27 -0
- package/dist/config/locators/components/common/index.d.cts +2 -0
- package/dist/config/locators/components/common/index.d.ts +2 -0
- package/dist/config/locators/components/common/index.js +3 -0
- package/dist/config/locators/components/index.cjs +1 -1
- package/dist/config/locators/components/index.d.cts +1 -1
- package/dist/config/locators/components/index.d.ts +1 -1
- package/dist/config/locators/components/index.js +1 -1
- package/dist/config/locators/index.cjs +29 -4
- package/dist/config/locators/index.d.cts +5 -4
- package/dist/config/locators/index.d.ts +5 -4
- package/dist/config/locators/index.js +5 -4
- package/dist/contexts/amplitudeContext/index.cjs +10 -9
- package/dist/contexts/amplitudeContext/index.d.ts +1 -1
- package/dist/contexts/amplitudeContext/index.js +7 -6
- package/dist/contexts/cdnContext/index.cjs +1 -1
- package/dist/contexts/cdnContext/index.js +1 -1
- package/dist/contexts/chatContext/index.cjs +32 -37
- package/dist/contexts/chatContext/index.d.cts +2 -2
- package/dist/contexts/chatContext/index.d.ts +2 -2
- package/dist/contexts/chatContext/index.js +21 -26
- package/dist/contexts/enviveConfigContext/index.d.cts +1 -1
- package/dist/contexts/enviveConfigContext/index.d.ts +3 -3
- package/dist/contexts/enviveCssContext/index.cjs +8 -8
- package/dist/contexts/enviveCssContext/index.js +8 -8
- package/dist/contexts/featureFlagContext/index.cjs +2 -2
- package/dist/contexts/featureFlagContext/index.d.cts +1 -1
- package/dist/contexts/featureFlagContext/index.d.ts +3 -3
- package/dist/contexts/featureFlagContext/index.js +2 -2
- package/dist/contexts/featureFlagServiceContext/index.cjs +3 -2
- package/dist/contexts/featureFlagServiceContext/index.d.cts +3 -3
- package/dist/contexts/featureFlagServiceContext/index.d.ts +5 -5
- package/dist/contexts/featureFlagServiceContext/index.js +3 -3
- package/dist/contexts/graphqlContext/index.cjs +3 -3
- package/dist/contexts/graphqlContext/index.d.cts +4 -4
- package/dist/contexts/graphqlContext/index.d.ts +13 -13
- package/dist/contexts/graphqlContext/index.js +3 -3
- package/dist/contexts/newOrgConfigContext/index.cjs +7 -7
- package/dist/contexts/newOrgConfigContext/index.d.cts +5 -5
- package/dist/contexts/newOrgConfigContext/index.d.ts +14 -14
- package/dist/contexts/newOrgConfigContext/index.js +7 -7
- package/dist/contexts/searchContext/index.cjs +13 -10
- package/dist/contexts/searchContext/index.d.ts +2 -2
- package/dist/contexts/searchContext/index.js +13 -10
- package/dist/contexts/sessionStorageContext/index.cjs +1 -1
- package/dist/contexts/sessionStorageContext/index.js +1 -1
- package/dist/contexts/shopifyUrlContext/index.cjs +1 -1
- package/dist/contexts/shopifyUrlContext/index.d.cts +1 -1
- package/dist/contexts/shopifyUrlContext/index.d.ts +3 -3
- package/dist/contexts/shopifyUrlContext/index.js +1 -1
- package/dist/contexts/systemSettingsContext/index.cjs +1 -1
- package/dist/contexts/systemSettingsContext/index.d.cts +7 -7
- package/dist/contexts/systemSettingsContext/index.d.ts +13 -13
- package/dist/contexts/systemSettingsContext/index.js +1 -1
- package/dist/contexts/types.d.cts +1 -1
- package/dist/contexts/types.d.ts +3 -3
- package/dist/contexts/userIdentityContext/index.cjs +9 -14
- package/dist/contexts/userIdentityContext/index.d.ts +1 -1
- package/dist/contexts/userIdentityContext/index.js +7 -12
- package/dist/{domObserver-B19-69gW.js → domObserver-DKcas6tl.js} +1 -1
- package/dist/{domObserver-CwieVNgj.cjs → domObserver-Do6RAJdf.cjs} +1 -1
- package/dist/featureFlagServiceContext-C2Yj-Uyh.d.ts +23 -0
- package/dist/featureFlagServiceContext-CiKWV306.d.cts +23 -0
- package/dist/featureFlagServiceContext-DFb-uLHN.cjs +62 -0
- package/dist/featureFlagServiceContext-Dd_Hbq6e.js +42 -0
- package/dist/featureGates-BdvOVv8N.cjs +32 -0
- package/dist/featureGates-DhoJq4io.js +26 -0
- package/dist/frontendConfig-CbyjUXZW.d.ts +856 -0
- package/dist/frontendConfig-tVg0hsWZ.d.cts +856 -0
- package/dist/{globalSearch-B8jHLScz.js → globalSearch-B_v9qfCT.js} +1 -1
- package/dist/{globalSearch-JJI1Fijh.cjs → globalSearch-OiF96VLG.cjs} +1 -1
- package/dist/graphqlConfig-DZHeFKDY.cjs +73 -0
- package/dist/graphqlConfig-Xk--JbPl.js +24 -0
- package/dist/{graphqlContext-EhYZM1v_.d.ts → graphqlContext-BotK7KCg.d.ts} +5 -5
- package/dist/{graphqlContext-ChRuFVxO.d.cts → graphqlContext-CMav2igl.d.cts} +4 -4
- package/dist/{graphqlContext-8kw4aLRc.js → graphqlContext-CSVwhCnP.js} +1 -1
- package/dist/{graphqlContext-Fwc6Upvh.cjs → graphqlContext-aaOOb79d.cjs} +1 -1
- package/dist/hooks/AmplitudeOperations/index.cjs +9 -8
- package/dist/hooks/AmplitudeOperations/index.d.ts +1 -1
- package/dist/hooks/AmplitudeOperations/index.js +9 -8
- package/dist/hooks/AppDetails/index.cjs +12 -7
- package/dist/hooks/AppDetails/index.d.cts +3 -3
- package/dist/hooks/AppDetails/index.d.ts +11 -11
- package/dist/hooks/AppDetails/index.js +12 -7
- package/dist/hooks/CdnOperations/index.cjs +1 -1
- package/dist/hooks/CdnOperations/index.js +1 -1
- package/dist/hooks/ChatToggle/index.cjs +13 -13
- package/dist/hooks/ChatToggle/index.d.ts +1 -1
- package/dist/hooks/ChatToggle/index.js +9 -9
- package/dist/hooks/ChatToggleAnalytics/index.cjs +11 -10
- package/dist/hooks/ChatToggleAnalytics/index.d.ts +1 -1
- package/dist/hooks/ChatToggleAnalytics/index.js +11 -10
- package/dist/hooks/Debounce/index.cjs +1 -1
- package/dist/hooks/Debounce/index.js +1 -1
- package/dist/hooks/ElementObserver/index.cjs +1 -1
- package/dist/hooks/ElementObserver/index.d.ts +1 -1
- package/dist/hooks/ElementObserver/index.js +1 -1
- package/dist/hooks/GrabAndScroll/index.d.cts +2 -2
- package/dist/hooks/GraphQLConfig/index.cjs +4 -4
- package/dist/hooks/GraphQLConfig/index.d.cts +4 -4
- package/dist/hooks/GraphQLConfig/index.d.ts +12 -12
- package/dist/hooks/GraphQLConfig/index.js +4 -4
- package/dist/hooks/IdentifyUser/index.cjs +9 -14
- package/dist/hooks/IdentifyUser/index.js +8 -13
- package/dist/hooks/ImageResolver/index.cjs +2 -2
- package/dist/hooks/ImageResolver/index.js +2 -2
- package/dist/hooks/Intersection/index.cjs +1 -1
- package/dist/hooks/Intersection/index.js +1 -1
- package/dist/hooks/MessageFilter/index.cjs +2 -2
- package/dist/hooks/MessageFilter/index.d.cts +3 -3
- package/dist/hooks/MessageFilter/index.d.ts +11 -11
- package/dist/hooks/MessageFilter/index.js +2 -2
- package/dist/hooks/NewOrgConfig/index.cjs +8 -8
- package/dist/hooks/NewOrgConfig/index.d.cts +5 -5
- package/dist/hooks/NewOrgConfig/index.d.ts +14 -14
- package/dist/hooks/NewOrgConfig/index.js +8 -8
- package/dist/hooks/Search/index.cjs +35 -36
- package/dist/hooks/Search/index.d.cts +6 -6
- package/dist/hooks/Search/index.d.ts +15 -15
- package/dist/hooks/Search/index.js +26 -27
- package/dist/hooks/SearchOperations/index.cjs +14 -11
- package/dist/hooks/SearchOperations/index.d.ts +2 -2
- package/dist/hooks/SearchOperations/index.js +14 -11
- package/dist/hooks/SessionStorageOperations/index.cjs +1 -1
- package/dist/hooks/SessionStorageOperations/index.js +1 -1
- package/dist/hooks/ShopifyUrlOperations/index.cjs +1 -1
- package/dist/hooks/ShopifyUrlOperations/index.d.cts +3 -3
- package/dist/hooks/ShopifyUrlOperations/index.d.ts +5 -5
- package/dist/hooks/ShopifyUrlOperations/index.js +1 -1
- package/dist/hooks/SystemSettingsContext/index.cjs +2 -2
- package/dist/hooks/SystemSettingsContext/index.d.cts +5 -5
- package/dist/hooks/SystemSettingsContext/index.d.ts +13 -13
- package/dist/hooks/SystemSettingsContext/index.js +2 -2
- package/dist/hooks/TrackComponentVisibleEvent/index.cjs +9 -8
- package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +2 -2
- package/dist/hooks/TrackComponentVisibleEvent/index.js +9 -8
- package/dist/hooks/UpdateAnalyticsProps/index.cjs +12 -11
- package/dist/hooks/UpdateAnalyticsProps/index.js +8 -7
- package/dist/hooks/utils.cjs +1 -1
- package/dist/hooks/utils.d.cts +4 -4
- package/dist/hooks/utils.d.ts +12 -12
- package/dist/hooks/utils.js +1 -1
- package/dist/{index-BN-3ctk_.d.ts → index-7VOYQNo5.d.ts} +2 -2
- package/dist/index-9NE86em3.d.cts +35 -0
- package/dist/index-C1nwLU6Q.d.ts +35 -0
- package/dist/{index-C_MIfxF0.d.cts → index-CG3P8xE1.d.cts} +3 -3
- package/dist/{index-hdbCEjYy.d.cts → index-Cyq5HiC0.d.cts} +10 -5
- package/dist/{index-B5qslMv7.d.cts → index-D9SzePCE.d.cts} +31 -31
- package/dist/{index-C4_vohah.d.ts → index-DDZmV951.d.ts} +34 -34
- package/dist/{index-CVa3DeXJ.d.cts → index-Da1s8h5C.d.cts} +1 -1
- package/dist/{index-C6KdON7d.d.ts → index-Dy22w7kg.d.ts} +2 -3
- package/dist/{index-C12-NmS7.d.cts → index-DzbkQtaK.d.cts} +2 -3
- package/dist/{index-DOii3C6b.d.ts → index-DzzKdrcZ.d.ts} +1 -1
- package/dist/{index-DsiilEj-.d.ts → index-L7SEpDLz.d.ts} +1 -1
- package/dist/{index-CK_J3QMY.d.ts → index-YrhxAGtH.d.ts} +6 -6
- package/dist/{index-BoYC9XLW.d.ts → index-exSzn3SP.d.ts} +10 -5
- package/dist/{index-Dr_c2DDq.d.ts → index-hebsV7fc.d.ts} +1 -1
- package/dist/interceptors/index.cjs +2 -2
- package/dist/interceptors/index.d.cts +4 -4
- package/dist/interceptors/index.d.ts +12 -12
- package/dist/interceptors/index.js +2 -2
- package/dist/interceptors/types.cjs +1 -1
- package/dist/interceptors/types.d.cts +4 -4
- package/dist/interceptors/types.d.ts +12 -12
- package/dist/interceptors/types.js +1 -1
- package/dist/{newOrgConfigAtom-DxILMn2I.cjs → newOrgConfigAtom-B9FW3fDc.cjs} +1 -1
- package/dist/{newOrgConfigAtom-sqve6LZU.js → newOrgConfigAtom-CMeY5c6t.js} +1 -1
- package/dist/{newOrgConfigContext-BzIpdpd6.js → newOrgConfigContext-1uwWWCPa.js} +4 -4
- package/dist/{newOrgConfigContext-wTQVvOaX.cjs → newOrgConfigContext-B0v1q3dk.cjs} +4 -4
- package/dist/{newOrgConfigContext-CiwteVzM.d.cts → newOrgConfigContext-C8wBmK3q.d.cts} +2 -2
- package/dist/{newOrgConfigContext-D9PpVqyW.d.ts → newOrgConfigContext-D180PO0t.d.ts} +2 -2
- package/dist/{nodeSelector-D5gjDWZ3.d.ts → nodeSelector-DQicm08Y.d.ts} +1 -1
- package/dist/{org-DlAesvQ_.cjs → org-DU3Wck0R.cjs} +1 -1
- package/dist/{org-vi0njpBh.js → org-DptftvB6.js} +1 -1
- package/dist/{search-0-pfy0cc.js → search-BtYKpiNB.js} +5 -5
- package/dist/{search-BLShhjvR.d.ts → search-DYVQuYti.d.ts} +2 -2
- package/dist/{search-BQn1pW2M.cjs → search-Du6HZpO6.cjs} +5 -5
- package/dist/{search-filter-types-BlmWOnlA.d.ts → search-filter-types-B5xcaEit.d.ts} +1 -1
- package/dist/{search-filter-types-BBIjvwJV.d.cts → search-filter-types-DZPTzUK9.d.cts} +1 -1
- package/dist/{searchContext-DmXo2rpU.cjs → searchContext-BK43ArCs.cjs} +6 -6
- package/dist/{searchContext-5qTU8CbH.js → searchContext-JjZZhDCe.js} +4 -4
- package/dist/{searchServiceAdapter-WyCU55NV.js → searchServiceAdapter-BSPZOg1r.js} +1 -1
- package/dist/{searchServiceAdapter-DEv1tTn0.cjs → searchServiceAdapter-DrjFCiw8.cjs} +1 -1
- package/dist/{sessionStorageContext-DnuKi3Gk.js → sessionStorageContext-BQY9r8zz.js} +1 -1
- package/dist/{sessionStorageContext-B-UFXyJR.cjs → sessionStorageContext-R2yUAkd9.cjs} +1 -1
- package/dist/{shopifyUrlContext-jLW63VLY.js → shopifyUrlContext-Bon8_SUJ.js} +1 -1
- package/dist/{shopifyUrlContext-Lm-Xcut2.cjs → shopifyUrlContext-DUdw1xUH.cjs} +1 -1
- package/dist/{spiffyWidgets-GILaqHv6.d.ts → spiffyWidgets-DZqG5plz.d.ts} +1 -1
- package/dist/{systemSettingsContext--LcXOVJz.js → systemSettingsContext-BjbhIz6y.js} +1 -1
- package/dist/{systemSettingsContext-CafaP6Zh.cjs → systemSettingsContext-Dv9EmjmZ.cjs} +1 -1
- package/dist/{test-types-EzMFw_U3.d.ts → test-types-Dl5puRHC.d.ts} +1 -1
- package/dist/types/index.d.cts +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types-CKMMb_gX.d.cts +1 -1
- package/dist/{types-BN2z0HcL.d.ts → types-Csgpt7EV.d.ts} +1 -1
- package/dist/{types-CS0Hrzja.js → types-DIk0FLwd.js} +1 -1
- package/dist/{types-CxObxLKs.cjs → types-DNLkuGWZ.cjs} +1 -1
- package/dist/{types-D4aa7_7x.d.cts → types-DSW9XODe.d.cts} +1 -1
- package/dist/{types-6siNDmGv.d.ts → types-oSg-AkO5.d.ts} +2 -2
- package/dist/types.d.cts +1 -1
- package/dist/types.d.ts +4 -4
- package/dist/{useAmplitudeOperations-aGOqxc4V.cjs → useAmplitudeOperations-C9o_wDU6.cjs} +3 -3
- package/dist/{useAmplitudeOperations-wQnkMaDm.js → useAmplitudeOperations-COq3L1no.js} +2 -2
- package/dist/{useAppDetails-9WXEc3mg.cjs → useAppDetails-C4GTLEIR.cjs} +6 -6
- package/dist/{useAppDetails-mNC2PBqH.js → useAppDetails-CEksA88Q.js} +3 -3
- package/dist/{useDebounce-CxPj9WmE.js → useDebounce--rPGMuE7.js} +1 -1
- package/dist/{useDebounce-BaIp-A1W.cjs → useDebounce-DECHWSTn.cjs} +1 -1
- package/dist/{useGraphQLConfig-CTsRsKd2.js → useGraphQLConfig-DQoMmpNM.js} +2 -2
- package/dist/{useGraphQLConfig-D7naV2RD.cjs → useGraphQLConfig-DzH1nVBh.cjs} +2 -2
- package/dist/{useIntersection-B4J9UhaG.js → useIntersection-UEO0Cezc.js} +1 -1
- package/dist/{useIntersection-DKWc5MY6.cjs → useIntersection-rV0Q8mBH.cjs} +1 -1
- package/dist/{useMessageInterceptor-C9p9No1n.cjs → useMessageInterceptor-CstX10ih.cjs} +1 -1
- package/dist/{useMessageInterceptor-tntd2rvB.js → useMessageInterceptor-D5oAekXn.js} +1 -1
- package/dist/{userIdentityContext-wYRpgkaJ.d.ts → userIdentityContext-8kfKQRFx.d.ts} +1 -1
- package/dist/{utils-FU_r-pTj.d.ts → utils-B8rATLoc.d.ts} +4 -4
- package/dist/{utils-B1xLx9S8.d.ts → utils-BLe5oreh.d.ts} +1 -1
- package/dist/{utils-_97oEqyL.js → utils-Bcz5kAgP.js} +1 -1
- package/dist/{utils-C8vYQhLV.cjs → utils-CMqFfqZx.cjs} +1 -1
- package/dist/{utils-2SWrJ12w.cjs → utils-CqVRbvfN.cjs} +1 -1
- package/dist/{utils-CqBxIpEV.js → utils-DQhbbAnt.js} +1 -1
- package/dist/{utils-BSYichA7.d.cts → utils-EDgzCG3Q.d.cts} +3 -3
- package/dist/utils-V1YTUQng.js +1385 -0
- package/dist/utils-VI19AC8S.cjs +1591 -0
- package/dist/variantInfo-BRmDpamJ.cjs +17 -0
- package/dist/variantInfo-BwBBEWSA.js +11 -0
- package/package.json +3 -2
- package/src/application/models/featureGates.ts +18 -20
- package/src/application/models/variantInfo/variantInfo.ts +9 -3
- package/src/atoms/app/index.ts +3 -2
- package/src/atoms/app/variant.ts +27 -89
- package/src/config/locators/components/chat/index.ts +0 -1
- package/src/config/locators/components/chat/preview.ts +0 -1
- package/src/config/locators/components/common/index.ts +4 -0
- package/src/config/locators/index.ts +1 -0
- package/src/contexts/amplitudeContext/amplitudeContext.tsx +12 -45
- package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +1 -1
- package/dist/amplitudeContext-CwPtBPhg.js +0 -287
- package/dist/amplitudeContext-DTC6maR0.cjs +0 -309
- package/dist/app-CoQ1nC-j.js +0 -132
- package/dist/app-DN72spgQ.cjs +0 -178
- package/dist/commerce-api-BVy49Qk8.js +0 -311
- package/dist/commerce-api-Pclc9ZBQ.cjs +0 -318
- package/dist/featureFlagServiceContext-CUBoBV2i.cjs +0 -56
- package/dist/featureFlagServiceContext-Cpw8omUr.d.ts +0 -23
- package/dist/featureFlagServiceContext-Cvn6fcdB.d.cts +0 -23
- package/dist/featureFlagServiceContext-Dg8okVk1.js +0 -42
- package/dist/featureGates-Blx10fwB.js +0 -27
- package/dist/featureGates-DcZNrUma.cjs +0 -33
- package/dist/frontendConfig-DnMZfvcA.d.cts +0 -857
- package/dist/frontendConfig-Dqxbqo8G.d.ts +0 -857
- package/dist/graphqlConfig-BWqLgZ6v.cjs +0 -39
- package/dist/graphqlConfig-Dn-hO_SQ.js +0 -14
- package/dist/orgAnalyticsConfig-BC4_sEmn.js +0 -14
- package/dist/orgAnalyticsConfig-DsGbyFhO.cjs +0 -39
- package/dist/types-DQoXDiso.js +0 -1
- package/dist/types-o3zWarRp.cjs +0 -0
- package/dist/unsupportedProductExceptions-CKiri_vO.cjs +0 -32
- package/dist/unsupportedProductExceptions-ClxlJ6cU.js +0 -20
- package/dist/userIdentityContext-BWzqWXPI.cjs +0 -125
- package/dist/userIdentityContext-BoNYqrTf.js +0 -109
- package/dist/utils-BgMcvG6l.js +0 -606
- package/dist/utils-D_aOvxMg.cjs +0 -715
- package/dist/variantInfo-B7IwRpCg.cjs +0 -0
- package/dist/variantInfo-BtOYUGWa.js +0 -1
- /package/dist/{AmplitudeOperations-CNyxbBY6.cjs → AmplitudeOperations-CEwp7tPJ.cjs} +0 -0
- /package/dist/{AmplitudeOperations-Oa2efWtF.js → AmplitudeOperations-uF2zIi_1.js} +0 -0
- /package/dist/{index-BPxqQmpF.d.ts → index-CalyvQj_.d.ts} +0 -0
- /package/dist/{atomStore-DKlaDbMx.js → types-DtTnp0o0.js} +0 -0
- /package/dist/{atomStore-CdFkEC8s.cjs → types-a8gm_IaQ.cjs} +0 -0
|
@@ -1,24 +1,27 @@
|
|
|
1
1
|
require('../../types-BwNrLPSZ.cjs');
|
|
2
|
+
require('../../events-B_fJZf9E.cjs');
|
|
2
3
|
require('../../models-B1P-dSCW.cjs');
|
|
3
|
-
require('../../featureGates-
|
|
4
|
+
require('../../featureGates-BdvOVv8N.cjs');
|
|
4
5
|
require('../../urlsParser-BV5yF8sa.cjs');
|
|
5
6
|
require('../../graphql-B9HhDXYt.cjs');
|
|
6
7
|
require('../../utils-Cavu4XiM.cjs');
|
|
7
8
|
require('../../api-Bc3_julZ.cjs');
|
|
8
9
|
require('../../logger-Cp7J4YJT.cjs');
|
|
9
10
|
require('../../utilityTypes-xb8SjKSV.cjs');
|
|
10
|
-
require('../../variantInfo-
|
|
11
|
+
require('../../variantInfo-BRmDpamJ.cjs');
|
|
11
12
|
require('../../localStorageContext-cnMYDllE.cjs');
|
|
12
13
|
require('../../enviveConfig-D8vcVPWD.cjs');
|
|
13
|
-
require('../../
|
|
14
|
-
require('../../
|
|
14
|
+
require('../../graphqlConfig-DZHeFKDY.cjs');
|
|
15
|
+
require('../../utils-VI19AC8S.cjs');
|
|
16
|
+
require('../../atomStore-8ppNkJ_n.cjs');
|
|
15
17
|
require('../../enviveConfigContext-C8cCcdKU.cjs');
|
|
16
|
-
require('../../
|
|
17
|
-
require('../../
|
|
18
|
-
require('../../
|
|
19
|
-
require('../../
|
|
20
|
-
require('../../
|
|
21
|
-
|
|
18
|
+
require('../../featureFlagServiceContext-DFb-uLHN.cjs');
|
|
19
|
+
require('../../domObserver-Do6RAJdf.cjs');
|
|
20
|
+
require('../../searchServiceAdapter-DrjFCiw8.cjs');
|
|
21
|
+
require('../../graphqlContext-aaOOb79d.cjs');
|
|
22
|
+
require('../../useGraphQLConfig-DzH1nVBh.cjs');
|
|
23
|
+
require('../../useAppDetails-C4GTLEIR.cjs');
|
|
24
|
+
const require_searchContext = require('../../searchContext-BK43ArCs.cjs');
|
|
22
25
|
|
|
23
26
|
exports.SearchProvider = require_searchContext.SearchProvider;
|
|
24
27
|
exports.useSearchService = require_searchContext.useSearchService;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "../../index-
|
|
2
|
-
import { SearchParams, SearchResult } from "../../search-
|
|
1
|
+
import "../../index-L7SEpDLz.js";
|
|
2
|
+
import { SearchParams, SearchResult } from "../../search-DYVQuYti.js";
|
|
3
3
|
import React from "react";
|
|
4
4
|
|
|
5
5
|
//#region src/contexts/searchContext/searchContext.d.ts
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import "../../types-D3uOF0Oy.js";
|
|
2
|
+
import "../../events-BHJJjPDN.js";
|
|
2
3
|
import "../../models-CgvSM2fW.js";
|
|
3
|
-
import "../../featureGates-
|
|
4
|
+
import "../../featureGates-DhoJq4io.js";
|
|
4
5
|
import "../../urlsParser-DUgV_Qy9.js";
|
|
5
6
|
import "../../graphql-W7GMIHUu.js";
|
|
6
7
|
import "../../utils-ARmpTh1O.js";
|
|
7
8
|
import "../../api-D9gmGNAV.js";
|
|
8
9
|
import "../../logger-oAgZx2-m.js";
|
|
9
10
|
import "../../utilityTypes-DynzxjK3.js";
|
|
10
|
-
import "../../variantInfo-
|
|
11
|
+
import "../../variantInfo-BwBBEWSA.js";
|
|
11
12
|
import "../../localStorageContext-Dwgto93_.js";
|
|
12
13
|
import "../../enviveConfig-BSfyz_pm.js";
|
|
13
|
-
import "../../
|
|
14
|
-
import "../../
|
|
14
|
+
import "../../graphqlConfig-Xk--JbPl.js";
|
|
15
|
+
import "../../utils-V1YTUQng.js";
|
|
16
|
+
import "../../atomStore-BLYJ2ZoQ.js";
|
|
15
17
|
import "../../enviveConfigContext-CJqpRSKu.js";
|
|
16
|
-
import "../../
|
|
17
|
-
import "../../
|
|
18
|
-
import "../../
|
|
19
|
-
import "../../
|
|
20
|
-
import "../../
|
|
21
|
-
import
|
|
18
|
+
import "../../featureFlagServiceContext-Dd_Hbq6e.js";
|
|
19
|
+
import "../../domObserver-DKcas6tl.js";
|
|
20
|
+
import "../../searchServiceAdapter-BSPZOg1r.js";
|
|
21
|
+
import "../../graphqlContext-CSVwhCnP.js";
|
|
22
|
+
import "../../useGraphQLConfig-DQoMmpNM.js";
|
|
23
|
+
import "../../useAppDetails-CEksA88Q.js";
|
|
24
|
+
import { SearchProvider, useSearchService } from "../../searchContext-JjZZhDCe.js";
|
|
22
25
|
|
|
23
26
|
export { SearchProvider, useSearchService };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require('../../logger-Cp7J4YJT.cjs');
|
|
2
|
-
const require_sessionStorageContext = require('../../sessionStorageContext-
|
|
2
|
+
const require_sessionStorageContext = require('../../sessionStorageContext-R2yUAkd9.cjs');
|
|
3
3
|
|
|
4
4
|
exports.SessionStorageProvider = require_sessionStorageContext.SessionStorageProvider;
|
|
5
5
|
exports.useSessionStorage = require_sessionStorageContext.useSessionStorage;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import "../../logger-oAgZx2-m.js";
|
|
2
|
-
import { SessionStorageProvider, useSessionStorage } from "../../sessionStorageContext-
|
|
2
|
+
import { SessionStorageProvider, useSessionStorage } from "../../sessionStorageContext-BQY9r8zz.js";
|
|
3
3
|
|
|
4
4
|
export { SessionStorageProvider, useSessionStorage };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require('../../urlsParser-BV5yF8sa.cjs');
|
|
2
|
-
const require_shopifyUrlContext = require('../../shopifyUrlContext-
|
|
2
|
+
const require_shopifyUrlContext = require('../../shopifyUrlContext-DUdw1xUH.cjs');
|
|
3
3
|
|
|
4
4
|
exports.ShopifyUrlProvider = require_shopifyUrlContext.ShopifyUrlProvider;
|
|
5
5
|
exports.useShopifyUrl = require_shopifyUrlContext.useShopifyUrl;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import "../../chatElementDisplayLocation-
|
|
2
|
-
import { IdExtractor } from "../../frontendConfig-
|
|
3
|
-
import "../../test-types-
|
|
1
|
+
import "../../chatElementDisplayLocation-D6oLuQS4.js";
|
|
2
|
+
import { IdExtractor } from "../../frontendConfig-CbyjUXZW.js";
|
|
3
|
+
import "../../test-types-Dl5puRHC.js";
|
|
4
4
|
import React from "react";
|
|
5
5
|
|
|
6
6
|
//#region src/contexts/shopifyUrlContext/shopifyUrlContext.d.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require('../../logger-Cp7J4YJT.cjs');
|
|
2
2
|
require('../../localStorageContext-cnMYDllE.cjs');
|
|
3
3
|
require('../../enviveConfig-D8vcVPWD.cjs');
|
|
4
|
-
const require_systemSettingsContext = require('../../systemSettingsContext-
|
|
4
|
+
const require_systemSettingsContext = require('../../systemSettingsContext-Dv9EmjmZ.cjs');
|
|
5
5
|
|
|
6
6
|
exports.SystemSettingsContext = require_systemSettingsContext.SystemSettingsContext;
|
|
7
7
|
exports.SystemSettingsContextProvider = require_systemSettingsContext.SystemSettingsContextProvider;
|
|
@@ -2,16 +2,16 @@ import "../../index-Bmub8e38.cjs";
|
|
|
2
2
|
import "../../index-CiWEYzXl.cjs";
|
|
3
3
|
import "../../index-CESxqFso.cjs";
|
|
4
4
|
import "../../utils-B3x_9JTY.cjs";
|
|
5
|
-
import { GenerationParams } from "../../index-
|
|
5
|
+
import { GenerationParams } from "../../index-CG3P8xE1.cjs";
|
|
6
6
|
import "../../chatElementDisplayLocation-DWmfNX_u.cjs";
|
|
7
|
-
import "../../frontendConfig-
|
|
7
|
+
import "../../frontendConfig-tVg0hsWZ.cjs";
|
|
8
8
|
import "../../test-types-ThQiO_cc.cjs";
|
|
9
9
|
import "../../spiffyWidgets-BuS00VaQ.cjs";
|
|
10
10
|
import "../../search-y-ioX5Mz.cjs";
|
|
11
|
-
import "../../index-
|
|
12
|
-
import * as
|
|
11
|
+
import "../../index-Cyq5HiC0.cjs";
|
|
12
|
+
import * as react0 from "react";
|
|
13
13
|
import { Dispatch, ReactNode, SetStateAction } from "react";
|
|
14
|
-
import * as
|
|
14
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
15
15
|
|
|
16
16
|
//#region src/contexts/systemSettingsContext/systemSettingsContext.d.ts
|
|
17
17
|
declare const defaultGenerationParams: GenerationParams;
|
|
@@ -26,12 +26,12 @@ interface SystemSettingsContextProviderProps {
|
|
|
26
26
|
generationParams?: GenerationParams;
|
|
27
27
|
showDebugBar?: boolean;
|
|
28
28
|
}
|
|
29
|
-
declare const SystemSettingsContext:
|
|
29
|
+
declare const SystemSettingsContext: react0.Context<SystemSettingsContextParams | undefined>;
|
|
30
30
|
declare const SystemSettingsContextProvider: ({
|
|
31
31
|
children,
|
|
32
32
|
generationParams,
|
|
33
33
|
showDebugBar
|
|
34
|
-
}: SystemSettingsContextProviderProps) =>
|
|
34
|
+
}: SystemSettingsContextProviderProps) => react_jsx_runtime0.JSX.Element;
|
|
35
35
|
//#endregion
|
|
36
36
|
export { SystemSettingsContext, SystemSettingsContextProvider, defaultGenerationParams };
|
|
37
37
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3N5c3RlbVNldHRpbmdzQ29udGV4dC9zeXN0ZW1TZXR0aW5nc0NvbnRleHQuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXNwYXRjaCwgUmVhY3ROb2RlLCBTZXRTdGF0ZUFjdGlvbiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgR2VuZXJhdGlvblBhcmFtcyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzXCI7XG5kZWNsYXJlIGNvbnN0IGRlZmF1bHRHZW5lcmF0aW9uUGFyYW1zOiBHZW5lcmF0aW9uUGFyYW1zO1xuaW50ZXJmYWNlIFN5c3RlbVNldHRpbmdzQ29udGV4dFBhcmFtcyB7XG4gICAgZ2VuZXJhdGlvblBhcmFtcz86IEdlbmVyYXRpb25QYXJhbXM7XG4gICAgc2hvd0RlYnVnQmFyPzogYm9vbGVhbjtcbiAgICBlbmRwb2ludFVSTD86IHN0cmluZztcbiAgICBzZXRHZW5lcmF0aW9uUGFyYW1zOiBEaXNwYXRjaDxTZXRTdGF0ZUFjdGlvbjxHZW5lcmF0aW9uUGFyYW1zIHwgdW5kZWZpbmVkPj47XG59XG5pbnRlcmZhY2UgU3lzdGVtU2V0dGluZ3NDb250ZXh0UHJvdmlkZXJQcm9wcyB7XG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgICBnZW5lcmF0aW9uUGFyYW1zPzogR2VuZXJhdGlvblBhcmFtcztcbiAgICBzaG93RGVidWdCYXI/OiBib29sZWFuO1xufVxuZGVjbGFyZSBjb25zdCBTeXN0ZW1TZXR0aW5nc0NvbnRleHQ6IGltcG9ydChcInJlYWN0XCIpLkNvbnRleHQ8U3lzdGVtU2V0dGluZ3NDb250ZXh0UGFyYW1zIHwgdW5kZWZpbmVkPjtcbmRlY2xhcmUgY29uc3QgU3lzdGVtU2V0dGluZ3NDb250ZXh0UHJvdmlkZXI6ICh7IGNoaWxkcmVuLCBnZW5lcmF0aW9uUGFyYW1zLCBzaG93RGVidWdCYXIsIH06IFN5c3RlbVNldHRpbmdzQ29udGV4dFByb3ZpZGVyUHJvcHMpID0+IGltcG9ydChcInJlYWN0L2pzeC1ydW50aW1lXCIpLkpTWC5FbGVtZW50O1xuZXhwb3J0IHsgU3lzdGVtU2V0dGluZ3NDb250ZXh0UHJvdmlkZXIsIFN5c3RlbVNldHRpbmdzQ29udGV4dCwgZGVmYXVsdEdlbmVyYXRpb25QYXJhbXMsIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJQSxJQUFJLDBCQUEwQixDQUFDLFdBQVEsaUJBQUE7QUFDdkMsSUFBSSw4QkFBc0I7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDMUIsSUFBSSxxQ0FBb0I7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUN4QixJQUFJLHdCQUF3QjtDQUFDO09BQVc7T0FBbUMsT0FBSTtDQUFBO0FBQy9FLElBQUEsZ0NBQUE7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUEsbUJBQUEsSUFBQTtDQUFBIn0=
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import "../../index-
|
|
2
|
-
import "../../index-
|
|
3
|
-
import "../../index-
|
|
4
|
-
import "../../utils-
|
|
5
|
-
import { GenerationParams } from "../../index-
|
|
6
|
-
import "../../chatElementDisplayLocation-
|
|
7
|
-
import "../../frontendConfig-
|
|
8
|
-
import "../../test-types-
|
|
9
|
-
import "../../spiffyWidgets-
|
|
10
|
-
import "../../search-
|
|
11
|
-
import "../../index-
|
|
12
|
-
import * as
|
|
1
|
+
import "../../index-hebsV7fc.js";
|
|
2
|
+
import "../../index-7VOYQNo5.js";
|
|
3
|
+
import "../../index-L7SEpDLz.js";
|
|
4
|
+
import "../../utils-BLe5oreh.js";
|
|
5
|
+
import { GenerationParams } from "../../index-YrhxAGtH.js";
|
|
6
|
+
import "../../chatElementDisplayLocation-D6oLuQS4.js";
|
|
7
|
+
import "../../frontendConfig-CbyjUXZW.js";
|
|
8
|
+
import "../../test-types-Dl5puRHC.js";
|
|
9
|
+
import "../../spiffyWidgets-DZqG5plz.js";
|
|
10
|
+
import "../../search-DYVQuYti.js";
|
|
11
|
+
import "../../index-exSzn3SP.js";
|
|
12
|
+
import * as react1 from "react";
|
|
13
13
|
import { Dispatch, ReactNode, SetStateAction } from "react";
|
|
14
14
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
15
15
|
|
|
@@ -26,7 +26,7 @@ interface SystemSettingsContextProviderProps {
|
|
|
26
26
|
generationParams?: GenerationParams;
|
|
27
27
|
showDebugBar?: boolean;
|
|
28
28
|
}
|
|
29
|
-
declare const SystemSettingsContext:
|
|
29
|
+
declare const SystemSettingsContext: react1.Context<SystemSettingsContextParams | undefined>;
|
|
30
30
|
declare const SystemSettingsContextProvider: ({
|
|
31
31
|
children,
|
|
32
32
|
generationParams,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "../../logger-oAgZx2-m.js";
|
|
2
2
|
import "../../localStorageContext-Dwgto93_.js";
|
|
3
3
|
import "../../enviveConfig-BSfyz_pm.js";
|
|
4
|
-
import { SystemSettingsContext, SystemSettingsContextProvider, defaultGenerationParams } from "../../systemSettingsContext
|
|
4
|
+
import { SystemSettingsContext, SystemSettingsContextProvider, defaultGenerationParams } from "../../systemSettingsContext-BjbhIz6y.js";
|
|
5
5
|
|
|
6
6
|
export { SystemSettingsContext, SystemSettingsContextProvider, defaultGenerationParams };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import "../chatElementDisplayLocation-DWmfNX_u.cjs";
|
|
2
|
-
import { CategoryExtractor, CategoryExtractorType, ChatMessageConfig, ChatMessageVariant, ChatPreviewConfig, ChatPreviewFooterConfig, ChatPreviewHeaderConfig, ChatPreviewHeaderV2Config, ChatPreviewIsLoadingWidgetConfig, ChatPreviewPostInteractionWidgetConfig, ChatPreviewProductComparisonWidgetConfig, ChatPreviewSuggestionButtonConfig, ChatPreviewV2WidgetConfig, ChatPreviewVariant, ChatPreviewWidgetConfig, ColorMapping, ColorNames, CustomerServiceIntegration, DynamicWidgetMounting, EnviveConfig, FilterAttribute, FloatingEntryPointConfig, FullCustomerServiceIntegration, HomePageVariant, IdExtractor, ImageBannerWidgetConfig, ImagePromptWidgetConfig, InsertionPoint, MultiImageConfig, NoOpWidgetConfig, NumRows, OrgConfig, OrgPageConfig, OrgUIConfig, OtherPageVariant, PDPPageVariant, PLPPageVariant, PageCardConfig, PageCardHoverVariant, PageCardIconVariant, PageCardVariant, PageVariantConfig, PageVariantTest, PageVariantTestType, ProductCardConfig, ProductCardHoverVariant, ProductCardLayoutVariant, ProductCardVariant, ProductGridVariant, ProductLinkHoverVariant, ProductLinkIconVariant, ProductLinkVariant, ProductReviewColorVariant, ProductReviewConfig, ProductReviewStyleVariant, SearchCardVariant, SearchEntryPointWidgetConfig, SearchFilterSidebarVariant, SearchIconVariant, SearchInputVariant, SearchOverlayHostWidgetConfig, SearchPageVariant, SearchPromptVariant, SearchPromptWidgetConfig, SearchResultsEntryPointWidgetConfig, SearchZeroStateLayout, SearchZeroStateVariant, ShowFloatingButtonOptions, SingleImagePromptWidgetConfig, SocialProofConfig, SocialProofV2WidgetConfig, StaticWidgetMounting, SuggestionBarWidgetV2Config, SuggestionButtonConfig, SuggestionButtonVariant, URLTest, UserQueryButtonConfig, UserQueryButtonIcon, UserQueryOptions, VisitPageVariant, WelcomeSectionColorVariant, WelcomeSectionConfig, WelcomeSectionVariant, WidgetConfig, WidgetDisplayTests, WidgetHeaderProps, WidgetMounting, WidgetMountingConfig, WidgetType, WrappingElement, colorVar } from "../frontendConfig-
|
|
2
|
+
import { CategoryExtractor, CategoryExtractorType, ChatMessageConfig, ChatMessageVariant, ChatPreviewConfig, ChatPreviewFooterConfig, ChatPreviewHeaderConfig, ChatPreviewHeaderV2Config, ChatPreviewIsLoadingWidgetConfig, ChatPreviewPostInteractionWidgetConfig, ChatPreviewProductComparisonWidgetConfig, ChatPreviewSuggestionButtonConfig, ChatPreviewV2WidgetConfig, ChatPreviewVariant, ChatPreviewWidgetConfig, ColorMapping, ColorNames, CustomerServiceIntegration, DynamicWidgetMounting, EnviveConfig, FilterAttribute, FloatingEntryPointConfig, FullCustomerServiceIntegration, HomePageVariant, IdExtractor, ImageBannerWidgetConfig, ImagePromptWidgetConfig, InsertionPoint, MultiImageConfig, NoOpWidgetConfig, NumRows, OrgConfig, OrgPageConfig, OrgUIConfig, OtherPageVariant, PDPPageVariant, PLPPageVariant, PageCardConfig, PageCardHoverVariant, PageCardIconVariant, PageCardVariant, PageVariantConfig, PageVariantTest, PageVariantTestType, ProductCardConfig, ProductCardHoverVariant, ProductCardLayoutVariant, ProductCardVariant, ProductGridVariant, ProductLinkHoverVariant, ProductLinkIconVariant, ProductLinkVariant, ProductReviewColorVariant, ProductReviewConfig, ProductReviewStyleVariant, SearchCardVariant, SearchEntryPointWidgetConfig, SearchFilterSidebarVariant, SearchIconVariant, SearchInputVariant, SearchOverlayHostWidgetConfig, SearchPageVariant, SearchPromptVariant, SearchPromptWidgetConfig, SearchResultsEntryPointWidgetConfig, SearchZeroStateLayout, SearchZeroStateVariant, ShowFloatingButtonOptions, SingleImagePromptWidgetConfig, SocialProofConfig, SocialProofV2WidgetConfig, StaticWidgetMounting, SuggestionBarWidgetV2Config, SuggestionButtonConfig, SuggestionButtonVariant, URLTest, UserQueryButtonConfig, UserQueryButtonIcon, UserQueryOptions, VisitPageVariant, WelcomeSectionColorVariant, WelcomeSectionConfig, WelcomeSectionVariant, WidgetConfig, WidgetDisplayTests, WidgetHeaderProps, WidgetMounting, WidgetMountingConfig, WidgetType, WrappingElement, colorVar } from "../frontendConfig-tVg0hsWZ.cjs";
|
|
3
3
|
import "../test-types-ThQiO_cc.cjs";
|
|
4
4
|
export { CategoryExtractor, CategoryExtractorType, ChatMessageConfig, ChatMessageVariant, ChatPreviewConfig, ChatPreviewFooterConfig, ChatPreviewHeaderConfig, ChatPreviewHeaderV2Config, ChatPreviewIsLoadingWidgetConfig, ChatPreviewPostInteractionWidgetConfig, ChatPreviewProductComparisonWidgetConfig, ChatPreviewSuggestionButtonConfig, ChatPreviewV2WidgetConfig, ChatPreviewVariant, ChatPreviewWidgetConfig, ColorMapping, ColorNames, CustomerServiceIntegration, DynamicWidgetMounting, EnviveConfig, FilterAttribute, FloatingEntryPointConfig, FullCustomerServiceIntegration, HomePageVariant, IdExtractor, ImageBannerWidgetConfig, ImagePromptWidgetConfig, InsertionPoint, MultiImageConfig, NoOpWidgetConfig, NumRows, OrgConfig, OrgPageConfig, OrgUIConfig, OtherPageVariant, PDPPageVariant, PLPPageVariant, PageCardConfig, PageCardHoverVariant, PageCardIconVariant, PageCardVariant, PageVariantConfig, PageVariantTest, PageVariantTestType, ProductCardConfig, ProductCardHoverVariant, ProductCardLayoutVariant, ProductCardVariant, ProductGridVariant, ProductLinkHoverVariant, ProductLinkIconVariant, ProductLinkVariant, ProductReviewColorVariant, ProductReviewConfig, ProductReviewStyleVariant, SearchCardVariant, SearchEntryPointWidgetConfig, SearchFilterSidebarVariant, SearchIconVariant, SearchInputVariant, SearchOverlayHostWidgetConfig, SearchPageVariant, SearchPromptVariant, SearchPromptWidgetConfig, SearchResultsEntryPointWidgetConfig, SearchZeroStateLayout, SearchZeroStateVariant, ShowFloatingButtonOptions, SingleImagePromptWidgetConfig, SocialProofConfig, SocialProofV2WidgetConfig, StaticWidgetMounting, SuggestionBarWidgetV2Config, SuggestionButtonConfig, SuggestionButtonVariant, URLTest, UserQueryButtonConfig, UserQueryButtonIcon, UserQueryOptions, VisitPageVariant, WelcomeSectionColorVariant, WelcomeSectionConfig, WelcomeSectionVariant, WidgetConfig, WidgetDisplayTests, WidgetHeaderProps, WidgetMounting, WidgetMountingConfig, WidgetType, WrappingElement, colorVar };
|
package/dist/contexts/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "../chatElementDisplayLocation-
|
|
2
|
-
import { CategoryExtractor, CategoryExtractorType, ChatMessageConfig, ChatMessageVariant, ChatPreviewConfig, ChatPreviewFooterConfig, ChatPreviewHeaderConfig, ChatPreviewHeaderV2Config, ChatPreviewIsLoadingWidgetConfig, ChatPreviewPostInteractionWidgetConfig, ChatPreviewProductComparisonWidgetConfig, ChatPreviewSuggestionButtonConfig, ChatPreviewV2WidgetConfig, ChatPreviewVariant, ChatPreviewWidgetConfig, ColorMapping, ColorNames, CustomerServiceIntegration, DynamicWidgetMounting, EnviveConfig, FilterAttribute, FloatingEntryPointConfig, FullCustomerServiceIntegration, HomePageVariant, IdExtractor, ImageBannerWidgetConfig, ImagePromptWidgetConfig, InsertionPoint, MultiImageConfig, NoOpWidgetConfig, NumRows, OrgConfig, OrgPageConfig, OrgUIConfig, OtherPageVariant, PDPPageVariant, PLPPageVariant, PageCardConfig, PageCardHoverVariant, PageCardIconVariant, PageCardVariant, PageVariantConfig, PageVariantTest, PageVariantTestType, ProductCardConfig, ProductCardHoverVariant, ProductCardLayoutVariant, ProductCardVariant, ProductGridVariant, ProductLinkHoverVariant, ProductLinkIconVariant, ProductLinkVariant, ProductReviewColorVariant, ProductReviewConfig, ProductReviewStyleVariant, SearchCardVariant, SearchEntryPointWidgetConfig, SearchFilterSidebarVariant, SearchIconVariant, SearchInputVariant, SearchOverlayHostWidgetConfig, SearchPageVariant, SearchPromptVariant, SearchPromptWidgetConfig, SearchResultsEntryPointWidgetConfig, SearchZeroStateLayout, SearchZeroStateVariant, ShowFloatingButtonOptions, SingleImagePromptWidgetConfig, SocialProofConfig, SocialProofV2WidgetConfig, StaticWidgetMounting, SuggestionBarWidgetV2Config, SuggestionButtonConfig, SuggestionButtonVariant, URLTest, UserQueryButtonConfig, UserQueryButtonIcon, UserQueryOptions, VisitPageVariant, WelcomeSectionColorVariant, WelcomeSectionConfig, WelcomeSectionVariant, WidgetConfig, WidgetDisplayTests, WidgetHeaderProps, WidgetMounting, WidgetMountingConfig, WidgetType, WrappingElement, colorVar } from "../frontendConfig-
|
|
3
|
-
import "../test-types-
|
|
1
|
+
import "../chatElementDisplayLocation-D6oLuQS4.js";
|
|
2
|
+
import { CategoryExtractor, CategoryExtractorType, ChatMessageConfig, ChatMessageVariant, ChatPreviewConfig, ChatPreviewFooterConfig, ChatPreviewHeaderConfig, ChatPreviewHeaderV2Config, ChatPreviewIsLoadingWidgetConfig, ChatPreviewPostInteractionWidgetConfig, ChatPreviewProductComparisonWidgetConfig, ChatPreviewSuggestionButtonConfig, ChatPreviewV2WidgetConfig, ChatPreviewVariant, ChatPreviewWidgetConfig, ColorMapping, ColorNames, CustomerServiceIntegration, DynamicWidgetMounting, EnviveConfig, FilterAttribute, FloatingEntryPointConfig, FullCustomerServiceIntegration, HomePageVariant, IdExtractor, ImageBannerWidgetConfig, ImagePromptWidgetConfig, InsertionPoint, MultiImageConfig, NoOpWidgetConfig, NumRows, OrgConfig, OrgPageConfig, OrgUIConfig, OtherPageVariant, PDPPageVariant, PLPPageVariant, PageCardConfig, PageCardHoverVariant, PageCardIconVariant, PageCardVariant, PageVariantConfig, PageVariantTest, PageVariantTestType, ProductCardConfig, ProductCardHoverVariant, ProductCardLayoutVariant, ProductCardVariant, ProductGridVariant, ProductLinkHoverVariant, ProductLinkIconVariant, ProductLinkVariant, ProductReviewColorVariant, ProductReviewConfig, ProductReviewStyleVariant, SearchCardVariant, SearchEntryPointWidgetConfig, SearchFilterSidebarVariant, SearchIconVariant, SearchInputVariant, SearchOverlayHostWidgetConfig, SearchPageVariant, SearchPromptVariant, SearchPromptWidgetConfig, SearchResultsEntryPointWidgetConfig, SearchZeroStateLayout, SearchZeroStateVariant, ShowFloatingButtonOptions, SingleImagePromptWidgetConfig, SocialProofConfig, SocialProofV2WidgetConfig, StaticWidgetMounting, SuggestionBarWidgetV2Config, SuggestionButtonConfig, SuggestionButtonVariant, URLTest, UserQueryButtonConfig, UserQueryButtonIcon, UserQueryOptions, VisitPageVariant, WelcomeSectionColorVariant, WelcomeSectionConfig, WelcomeSectionVariant, WidgetConfig, WidgetDisplayTests, WidgetHeaderProps, WidgetMounting, WidgetMountingConfig, WidgetType, WrappingElement, colorVar } from "../frontendConfig-CbyjUXZW.js";
|
|
3
|
+
import "../test-types-Dl5puRHC.js";
|
|
4
4
|
export { CategoryExtractor, CategoryExtractorType, ChatMessageConfig, ChatMessageVariant, ChatPreviewConfig, ChatPreviewFooterConfig, ChatPreviewHeaderConfig, ChatPreviewHeaderV2Config, ChatPreviewIsLoadingWidgetConfig, ChatPreviewPostInteractionWidgetConfig, ChatPreviewProductComparisonWidgetConfig, ChatPreviewSuggestionButtonConfig, ChatPreviewV2WidgetConfig, ChatPreviewVariant, ChatPreviewWidgetConfig, ColorMapping, ColorNames, CustomerServiceIntegration, DynamicWidgetMounting, EnviveConfig, FilterAttribute, FloatingEntryPointConfig, FullCustomerServiceIntegration, HomePageVariant, IdExtractor, ImageBannerWidgetConfig, ImagePromptWidgetConfig, InsertionPoint, MultiImageConfig, NoOpWidgetConfig, NumRows, OrgConfig, OrgPageConfig, OrgUIConfig, OtherPageVariant, PDPPageVariant, PLPPageVariant, PageCardConfig, PageCardHoverVariant, PageCardIconVariant, PageCardVariant, PageVariantConfig, PageVariantTest, PageVariantTestType, ProductCardConfig, ProductCardHoverVariant, ProductCardLayoutVariant, ProductCardVariant, ProductGridVariant, ProductLinkHoverVariant, ProductLinkIconVariant, ProductLinkVariant, ProductReviewColorVariant, ProductReviewConfig, ProductReviewStyleVariant, SearchCardVariant, SearchEntryPointWidgetConfig, SearchFilterSidebarVariant, SearchIconVariant, SearchInputVariant, SearchOverlayHostWidgetConfig, SearchPageVariant, SearchPromptVariant, SearchPromptWidgetConfig, SearchResultsEntryPointWidgetConfig, SearchZeroStateLayout, SearchZeroStateVariant, ShowFloatingButtonOptions, SingleImagePromptWidgetConfig, SocialProofConfig, SocialProofV2WidgetConfig, StaticWidgetMounting, SuggestionBarWidgetV2Config, SuggestionButtonConfig, SuggestionButtonVariant, URLTest, UserQueryButtonConfig, UserQueryButtonIcon, UserQueryOptions, VisitPageVariant, WelcomeSectionColorVariant, WelcomeSectionConfig, WelcomeSectionVariant, WidgetConfig, WidgetDisplayTests, WidgetHeaderProps, WidgetMounting, WidgetMountingConfig, WidgetType, WrappingElement, colorVar };
|
|
@@ -1,27 +1,22 @@
|
|
|
1
1
|
require('../../types-BwNrLPSZ.cjs');
|
|
2
2
|
require('../../events-B_fJZf9E.cjs');
|
|
3
3
|
require('../../models-B1P-dSCW.cjs');
|
|
4
|
-
require('../../featureGates-
|
|
4
|
+
require('../../featureGates-BdvOVv8N.cjs');
|
|
5
5
|
require('../../urlsParser-BV5yF8sa.cjs');
|
|
6
6
|
require('../../graphql-B9HhDXYt.cjs');
|
|
7
7
|
require('../../utils-Cavu4XiM.cjs');
|
|
8
8
|
require('../../api-Bc3_julZ.cjs');
|
|
9
9
|
require('../../logger-Cp7J4YJT.cjs');
|
|
10
10
|
require('../../utilityTypes-xb8SjKSV.cjs');
|
|
11
|
-
require('../../variantInfo-
|
|
11
|
+
require('../../variantInfo-BRmDpamJ.cjs');
|
|
12
12
|
require('../../localStorageContext-cnMYDllE.cjs');
|
|
13
13
|
require('../../enviveConfig-D8vcVPWD.cjs');
|
|
14
|
-
require('../../
|
|
15
|
-
require('../../
|
|
16
|
-
require('../../
|
|
14
|
+
require('../../graphqlConfig-DZHeFKDY.cjs');
|
|
15
|
+
const require_utils$1 = require('../../utils-VI19AC8S.cjs');
|
|
16
|
+
require('../../atomStore-8ppNkJ_n.cjs');
|
|
17
17
|
require('../../enviveConfigContext-C8cCcdKU.cjs');
|
|
18
|
-
require('../../
|
|
19
|
-
require('../../
|
|
20
|
-
require('../../domObserver-CwieVNgj.cjs');
|
|
21
|
-
require('../../graphqlConfig-BWqLgZ6v.cjs');
|
|
22
|
-
require('../../unsupportedProductExceptions-CKiri_vO.cjs');
|
|
23
|
-
require('../../commerce-api-Pclc9ZBQ.cjs');
|
|
24
|
-
const require_userIdentityContext = require('../../userIdentityContext-BWzqWXPI.cjs');
|
|
18
|
+
require('../../featureFlagServiceContext-DFb-uLHN.cjs');
|
|
19
|
+
require('../../domObserver-Do6RAJdf.cjs');
|
|
25
20
|
|
|
26
|
-
exports.UserIdentityProvider =
|
|
27
|
-
exports.useUserIdentity =
|
|
21
|
+
exports.UserIdentityProvider = require_utils$1.UserIdentityProvider;
|
|
22
|
+
exports.useUserIdentity = require_utils$1.useUserIdentity;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { UserIdentityContextType, UserIdentityProvider, useUserIdentity } from "../../userIdentityContext-
|
|
1
|
+
import { UserIdentityContextType, UserIdentityProvider, useUserIdentity } from "../../userIdentityContext-8kfKQRFx.js";
|
|
2
2
|
export { UserIdentityContextType, UserIdentityProvider, useUserIdentity };
|
|
@@ -1,26 +1,21 @@
|
|
|
1
1
|
import "../../types-D3uOF0Oy.js";
|
|
2
2
|
import "../../events-BHJJjPDN.js";
|
|
3
3
|
import "../../models-CgvSM2fW.js";
|
|
4
|
-
import "../../featureGates-
|
|
4
|
+
import "../../featureGates-DhoJq4io.js";
|
|
5
5
|
import "../../urlsParser-DUgV_Qy9.js";
|
|
6
6
|
import "../../graphql-W7GMIHUu.js";
|
|
7
7
|
import "../../utils-ARmpTh1O.js";
|
|
8
8
|
import "../../api-D9gmGNAV.js";
|
|
9
9
|
import "../../logger-oAgZx2-m.js";
|
|
10
10
|
import "../../utilityTypes-DynzxjK3.js";
|
|
11
|
-
import "../../variantInfo-
|
|
11
|
+
import "../../variantInfo-BwBBEWSA.js";
|
|
12
12
|
import "../../localStorageContext-Dwgto93_.js";
|
|
13
13
|
import "../../enviveConfig-BSfyz_pm.js";
|
|
14
|
-
import "../../
|
|
15
|
-
import "../../
|
|
16
|
-
import "../../
|
|
14
|
+
import "../../graphqlConfig-Xk--JbPl.js";
|
|
15
|
+
import { UserIdentityProvider, useUserIdentity } from "../../utils-V1YTUQng.js";
|
|
16
|
+
import "../../atomStore-BLYJ2ZoQ.js";
|
|
17
17
|
import "../../enviveConfigContext-CJqpRSKu.js";
|
|
18
|
-
import "../../
|
|
19
|
-
import "../../
|
|
20
|
-
import "../../domObserver-B19-69gW.js";
|
|
21
|
-
import "../../graphqlConfig-Dn-hO_SQ.js";
|
|
22
|
-
import "../../unsupportedProductExceptions-ClxlJ6cU.js";
|
|
23
|
-
import "../../commerce-api-BVy49Qk8.js";
|
|
24
|
-
import { UserIdentityProvider, useUserIdentity } from "../../userIdentityContext-BoNYqrTf.js";
|
|
18
|
+
import "../../featureFlagServiceContext-Dd_Hbq6e.js";
|
|
19
|
+
import "../../domObserver-DKcas6tl.js";
|
|
25
20
|
|
|
26
21
|
export { UserIdentityProvider, useUserIdentity };
|
|
@@ -282,4 +282,4 @@ var DOMObserver = class {
|
|
|
282
282
|
|
|
283
283
|
//#endregion
|
|
284
284
|
export { DOMObserver, ElementObserver, MutationHelper };
|
|
285
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tT2JzZXJ2ZXItQjE5LTY5Z1cuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2FwcGxpY2F0aW9uL3V0aWxzL211dGF0aW9uSGVscGVyLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL3V0aWxzL2VsZW1lbnRPYnNlcnZlci50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi91dGlscy9kb21PYnNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb21wYXJlVG9rZW5zID0gKG9yaWdpbmFsOiBzdHJpbmcsIGNvbXBhcmlzb246IHN0cmluZykgPT4ge1xuICBjb25zdCBvcmlnaW5hbFRva2VucyA9IG5ldyBTZXQob3JpZ2luYWwuc3BsaXQoJyAnKSk7XG4gIGNvbnN0IGNvbXBhcmlzb25Ub2tlbnMgPSBuZXcgU2V0KGNvbXBhcmlzb24uc3BsaXQoJyAnKSk7XG4gIHJldHVybiBbLi4ub3JpZ2luYWxUb2tlbnNdLmZpbHRlcigodG9rZW4pID0+ICFjb21wYXJpc29uVG9rZW5zLmhhcyh0b2tlbikpO1xufTtcblxuZXhwb3J0IGNsYXNzIE11dGF0aW9uSGVscGVyIHtcbiAgc3RhdGljIGZpcmVDbGFzc0NoYW5nZShcbiAgICByZWNvcmQ6IE11dGF0aW9uUmVjb3JkLFxuICAgIG5vZGU6IEhUTUxFbGVtZW50IHwgbnVsbCxcbiAgICBmbjogKGNsYXNzZXM6IERPTVRva2VuTGlzdCkgPT4gdm9pZCxcbiAgKSB7XG4gICAgaWYgKG5vZGUgJiYgcmVjb3JkLm9sZFZhbHVlICE9PSBub2RlPy5jbGFzc0xpc3QudmFsdWUpIHtcbiAgICAgIGZuKG5vZGU/LmNsYXNzTGlzdCk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGZpcmVDbGFzc0FkZGVkKFxuICAgIHJlY29yZDogTXV0YXRpb25SZWNvcmQsXG4gICAgbm9kZTogSFRNTEVsZW1lbnQgfCBudWxsLFxuICAgIGNsYXNzTWFwOiBNYXA8c3RyaW5nLCAoKSA9PiB2b2lkPixcbiAgKSB7XG4gICAgaWYgKG5vZGUgJiYgcmVjb3JkLm9sZFZhbHVlKSB7XG4gICAgICBjb25zdCB0b2tlbnMgPSBjb21wYXJlVG9rZW5zKG5vZGU/LmNsYXNzTGlzdC52YWx1ZSwgcmVjb3JkLm9sZFZhbHVlKTtcbiAgICAgIHRva2Vucy5mb3JFYWNoKChjbGFzc05hbWUpID0+IGNsYXNzTWFwLmdldChjbGFzc05hbWUpPy4oKSk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGZpcmVDbGFzc1JlbW92ZWQoXG4gICAgcmVjb3JkOiBNdXRhdGlvblJlY29yZCxcbiAgICBub2RlOiBIVE1MRWxlbWVudCB8IG51bGwsXG4gICAgY2xhc3NNYXA6IE1hcDxzdHJpbmcsICgpID0+IHZvaWQ+LFxuICApIHtcbiAgICBpZiAobm9kZSAmJiByZWNvcmQub2xkVmFsdWUpIHtcbiAgICAgIGNvbnN0IHRva2VucyA9IGNvbXBhcmVUb2tlbnMocmVjb3JkLm9sZFZhbHVlLCBub2RlPy5jbGFzc0xpc3QudmFsdWUpO1xuICAgICAgdG9rZW5zLmZvckVhY2goKGNsYXNzTmFtZSkgPT4gY2xhc3NNYXAuZ2V0KGNsYXNzTmFtZSk/LigpKTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZmlyZVN1YnRyZWVDaGFuZ2Uobm9kZXM6IE5vZGVMaXN0LCBmbj86IChub2RlczogTm9kZUxpc3QpID0+IHZvaWQpIHtcbiAgICBub2Rlcy5sZW5ndGggJiYgZm4/Lihub2Rlcyk7XG4gIH1cblxuICBzdGF0aWMgaXNDbGFzcyhtdXRhdGlvbjogTXV0YXRpb25SZWNvcmQpIHtcbiAgICByZXR1cm4gbXV0YXRpb24udHlwZSA9PT0gJ2F0dHJpYnV0ZXMnICYmIG11dGF0aW9uLmF0dHJpYnV0ZU5hbWUgPT09ICdjbGFzcyc7XG4gIH1cblxuICBzdGF0aWMgaXNDaGlsZExpc3QobXV0YXRpb246IE11dGF0aW9uUmVjb3JkKSB7XG4gICAgcmV0dXJuIG11dGF0aW9uLnR5cGUgPT09ICdjaGlsZExpc3QnO1xuICB9XG59XG4iLCJpbXBvcnQgeyBSZWFjdEVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHsgTW91c2VFdmVudFR5cGVzIH0gZnJvbSAnLi9tb3VzZUV2ZW50VHlwZXMnO1xuaW1wb3J0IHsgTXV0YXRpb25IZWxwZXIgfSBmcm9tICcuL211dGF0aW9uSGVscGVyJztcbmltcG9ydCB7IE5vZGVTZWxlY3RvciB9IGZyb20gJy4vbm9kZVNlbGVjdG9yJztcblxuLyoqXG4gKiBUaGUgYEVsZW1lbnRPYnNlcnZlcmAgY2xhc3MgbW9uaXRvcnMgYWxsIGNoYW5nZXMgcmVsYXRlZCB0byB0aGUgc3BlY2lmaWMgZWxlbWVudCBpdCBpcyByZXNwb25zaWJsZSBmb3IuXG4gKiBJdCBpcyBhdXRvbWF0aWNhbGx5IGluc3RhbnRpYXRlZCBieSB0aGUgYHVzZUVsZW1lbnRPYnNlcnZlcmAgaG9vaywgd2hpY2ggbWFuYWdlcyBhbGwgaW5zdGFuY2VzIG9mIHRoaXMgY2xhc3MuXG4gKlxuICogSG93IGl0IHdvcmtzOlxuICpcbiAqIEVhY2ggaW5zdGFuY2Ugb2YgYEVsZW1lbnRPYnNlcnZlcmAgaG9sZHMgc2V2ZXJhbCBwaWVjZXMgb2YgaW5mb3JtYXRpb24gcmVsYXRlZCB0byB0aGUgbm9kZSBpdCBpcyBtb25pdG9yaW5nLFxuICogc3VjaCBhcyB0aGUgbm9kZSdzIHNlbGVjdG9yIGFuZCBpdHMgYE11dGF0aW9uT2JzZXJ2ZXJgLiBUaGlzIGNsYXNzIGlzIHJlc3BvbnNpYmxlIGZvciB0cmFuc2xhdGluZyByYXcgbm9kZVxuICogY2hhbmdlcyBpbnRvIGEgbW9yZSB1c2VyLWZyaWVuZGx5IGZvcm1hdC4gRm9yIGV4YW1wbGUsIHdoZW4gdGhlIG5vZGUgaXMgYWRkZWQgdG8gdGhlIERPTSwgdGhlIGBFbGVtZW50T2JzZXJ2ZXJgXG4gKiBpcyBub3RpZmllZCBieSB0aGUgYERPTU9ic2VydmVyYCwgd2hpY2ggdHJpZ2dlcnMgdGhlIGBvbkFkZGAgY2FsbGJhY2sgZnVuY3Rpb24gb24gdGhlIHJlc3BlY3RpdmUgYHVzZUVsZW1lbnRPYnNlcnZlcmBcbiAqIGluc3RhbmNlLlxuICpcbiAqIEluc3RhbmNlcyBvZiBgRWxlbWVudE9ic2VydmVyYCBhcmUgZnVsbHkgbWFuYWdlZCBieSB0aGUgYHVzZUVsZW1lbnRPYnNlcnZlcmAgaG9vaywgcmVxdWlyaW5nIG5vIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbi5cbiAqIFdoZW4gdGhlIGhvb2sgaXMgZGVzdHJveWVkLCBpdHMgY29ycmVzcG9uZGluZyBgRWxlbWVudE9ic2VydmVyYCBpbnN0YW5jZSBpcyBhdXRvbWF0aWNhbGx5IHJlbW92ZWQuXG4gKlxuICovXG5leHBvcnQgY2xhc3MgRWxlbWVudE9ic2VydmVyIHtcbiAgcHJpdmF0ZSBtdXRhdGlvbjogTXV0YXRpb25PYnNlcnZlciB8IG51bGw7XG5cbiAgcHJpdmF0ZSBub2RlOiBIVE1MRWxlbWVudCB8IG51bGw7XG5cbiAgcHJpdmF0ZSBzZWxlY3RvcjogTm9kZVNlbGVjdG9yO1xuXG4gIHByaXZhdGUgZXZlbnRMaXN0ZW5lcnM6IE1hcDxrZXlvZiBIVE1MRWxlbWVudEV2ZW50TWFwLCBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0PjtcblxuICBwcml2YXRlIGNsYXNzQWRkZWQ6IE1hcDxzdHJpbmcsICgpID0+IHZvaWQ+O1xuXG4gIHByaXZhdGUgY2xhc3NSZW1vdmVkOiBNYXA8c3RyaW5nLCAoKSA9PiB2b2lkPjtcblxuICBwcml2YXRlIG5vZGVEaXNwbGF5OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBhZGRGbjogKGVsOiBIVE1MRWxlbWVudCB8IG51bGwpID0+IHZvaWQ7XG5cbiAgcHJpdmF0ZSByZW1vdmVGbjogKGVsOiBIVE1MRWxlbWVudCB8IG51bGwpID0+IHZvaWQ7XG5cbiAgcHJpdmF0ZSBjaGFuZ2VGbjogKGVsOiBIVE1MRWxlbWVudCB8IG51bGwpID0+IHZvaWQ7XG5cbiAgcHJpdmF0ZSBjbGFzc0NoYW5nZUZuOiAoY2xhc3Nlcz86IERPTVRva2VuTGlzdCkgPT4gdm9pZDtcblxuICBwcml2YXRlIGFkZENoaWxkRm4/OiAoKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgcmVtb3ZlQ2hpbGRGbj86ICgpID0+IHZvaWQ7XG5cbiAgcHJpdmF0ZSByZXNldEZuOiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKHNlbGVjdG9yOiBOb2RlU2VsZWN0b3IpIHtcbiAgICB0aGlzLnNlbGVjdG9yID0gc2VsZWN0b3I7XG4gICAgdGhpcy5tdXRhdGlvbiA9IG51bGw7XG4gICAgdGhpcy5ub2RlID0gbnVsbDtcbiAgICB0aGlzLmV2ZW50TGlzdGVuZXJzID0gbmV3IE1hcCgpO1xuICAgIHRoaXMuY2xhc3NBZGRlZCA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLmNsYXNzUmVtb3ZlZCA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLm5vZGVEaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICB0aGlzLmFkZEZuID0gKCkgPT4ge307XG4gICAgdGhpcy5yZW1vdmVGbiA9ICgpID0+IHt9O1xuICAgIHRoaXMuY2hhbmdlRm4gPSAoKSA9PiB7fTtcbiAgICB0aGlzLmNsYXNzQ2hhbmdlRm4gPSAoKSA9PiB7fTtcbiAgICB0aGlzLmFkZENoaWxkRm4gPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5yZW1vdmVDaGlsZEZuID0gdW5kZWZpbmVkO1xuICAgIHRoaXMucmVzZXRGbiA9ICgpID0+IHt9O1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVBdHRyaWJ1dGVzKG11dGF0aW9uUmVjb3JkOiBNdXRhdGlvblJlY29yZFtdKSB7XG4gICAgbXV0YXRpb25SZWNvcmQuZmlsdGVyKE11dGF0aW9uSGVscGVyLmlzQ2xhc3MpLmZvckVhY2goKG11dGF0aW9uKSA9PiB7XG4gICAgICBNdXRhdGlvbkhlbHBlci5maXJlQ2xhc3NDaGFuZ2UobXV0YXRpb24sIHRoaXMubm9kZSwgdGhpcy5jbGFzc0NoYW5nZUZuKTtcbiAgICAgIE11dGF0aW9uSGVscGVyLmZpcmVDbGFzc0FkZGVkKG11dGF0aW9uLCB0aGlzLm5vZGUsIHRoaXMuY2xhc3NBZGRlZCk7XG4gICAgICBNdXRhdGlvbkhlbHBlci5maXJlQ2xhc3NSZW1vdmVkKG11dGF0aW9uLCB0aGlzLm5vZGUsIHRoaXMuY2xhc3NSZW1vdmVkKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ2hpbGRMaXN0KG11dGF0aW9uUmVjb3JkOiBNdXRhdGlvblJlY29yZFtdKSB7XG4gICAgaWYgKCF0aGlzLmFkZENoaWxkRm4gJiYgIXRoaXMucmVtb3ZlQ2hpbGRGbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG11dGF0aW9uUmVjb3JkLmZpbHRlcihNdXRhdGlvbkhlbHBlci5pc0NoaWxkTGlzdCkuZm9yRWFjaCgobXV0YXRpb24pID0+IHtcbiAgICAgIE11dGF0aW9uSGVscGVyLmZpcmVTdWJ0cmVlQ2hhbmdlKG11dGF0aW9uLmFkZGVkTm9kZXMsIHRoaXMuYWRkQ2hpbGRGbik7XG4gICAgICBNdXRhdGlvbkhlbHBlci5maXJlU3VidHJlZUNoYW5nZShtdXRhdGlvbi5yZW1vdmVkTm9kZXMsIHRoaXMucmVtb3ZlQ2hpbGRGbik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFkZEluaXRpYWxMaXN0ZW5lcnMoKSB7XG4gICAgdGhpcy5ldmVudExpc3RlbmVycy5mb3JFYWNoKCh2LCBrKSA9PiB0aGlzLm5vZGU/LmFkZEV2ZW50TGlzdGVuZXIoaywgdikpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckV2ZW50TGlzdGVuZXJzKCkge1xuICAgIHRoaXMuZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgodiwgaykgPT4gdGhpcy5ub2RlPy5yZW1vdmVFdmVudExpc3RlbmVyKGssIHYpKTtcbiAgICB0aGlzLmV2ZW50TGlzdGVuZXJzLmNsZWFyKCk7XG4gIH1cblxuICBwcml2YXRlIHJlbmV3KG5ld05vZGU6IE5vZGUgfCBudWxsKSB7XG4gICAgaWYgKG5ld05vZGUpIHtcbiAgICAgIHRoaXMuZGVzdHJveSgpO1xuICAgICAgdGhpcy53YXRjaChuZXdOb2RlKTtcbiAgICB9XG4gIH1cblxuICBnZXRTZWxlY3RvcigpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RvcjtcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIHN5bmNocm9uaXplKCkge1xuICAgIGNvbnN0IHBhcnNlZE5vZGUgPSB0aGlzLmdldFNlbGVjdG9yKCkucGFyc2UoKTtcblxuICAgIGlmICh0aGlzLmdldE5vZGUoKSAhPT0gcGFyc2VkTm9kZSkge1xuICAgICAgdGhpcy5yZW5ldyhwYXJzZWROb2RlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuZ2V0Tm9kZSgpICYmIHBhcnNlZE5vZGUpIHtcbiAgICAgIHRoaXMud2F0Y2gocGFyc2VkTm9kZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZ2V0Tm9kZSgpICYmICFwYXJzZWROb2RlKSB7XG4gICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICB9XG4gIH1cblxuICBpbml0KCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldFNlbGVjdG9yKCkucGFyc2UoKTtcbiAgICBpZiAobm9kZSkge1xuICAgICAgdGhpcy53YXRjaChub2RlKTtcbiAgICB9XG4gIH1cblxuICB3YXRjaChub2RlOiBOb2RlKSB7XG4gICAgaWYgKCF0aGlzLm11dGF0aW9uKSB7XG4gICAgICB0aGlzLm11dGF0aW9uID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9uUmVjb3JkKSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlQXR0cmlidXRlcyhtdXRhdGlvblJlY29yZCk7XG4gICAgICAgIHRoaXMuaGFuZGxlQ2hpbGRMaXN0KG11dGF0aW9uUmVjb3JkKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VGbih0aGlzLm5vZGUpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLm11dGF0aW9uLm9ic2VydmUobm9kZSwge1xuICAgICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICAgIGF0dHJpYnV0ZU9sZFZhbHVlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLm5vZGUgPSBub2RlIGFzIEhUTUxFbGVtZW50O1xuICAgICAgdGhpcy5hZGRGbih0aGlzLm5vZGUpO1xuICAgICAgdGhpcy5hZGRJbml0aWFsTGlzdGVuZXJzKCk7XG4gICAgfVxuICB9XG5cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLnJlc2V0Rm4oKTtcbiAgICB0aGlzLnJlbW92ZUZuKHRoaXMubm9kZSk7XG4gICAgdGhpcy5tdXRhdGlvbj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuY2xlYXJFdmVudExpc3RlbmVycygpO1xuICAgIHRoaXMuY2xhc3NBZGRlZC5jbGVhcigpO1xuICAgIHRoaXMuY2xhc3NSZW1vdmVkLmNsZWFyKCk7XG4gICAgdGhpcy5tdXRhdGlvbiA9IG51bGw7XG4gICAgdGhpcy5ub2RlID0gbnVsbDtcbiAgfVxuXG4gIHJlbmRlcihmbjogKCkgPT4gUmVhY3RFbGVtZW50KSB7XG4gICAgaWYgKHRoaXMubm9kZSkge1xuICAgICAgcmV0dXJuIGNyZWF0ZVBvcnRhbChmbigpLCB0aGlzLm5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIGZpcmUoZXZlbnQ6IE1vdXNlRXZlbnRUeXBlcykge1xuICAgIGlmICh0aGlzLm5vZGUpIHtcbiAgICAgIHRoaXMubm9kZS5kaXNwYXRjaEV2ZW50KFxuICAgICAgICBuZXcgTW91c2VFdmVudChldmVudCwge1xuICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgICAgICB2aWV3OiB3aW5kb3csXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBzaG93KCkge1xuICAgIGNvbnN0IGRpc3BsYXkgPSB0aGlzLm5vZGU/LnN0eWxlLmRpc3BsYXk7XG4gICAgaWYgKHRoaXMubm9kZSAmJiBkaXNwbGF5ID09PSAnbm9uZScpIHtcbiAgICAgIHRoaXMubm9kZS5zdHlsZS5kaXNwbGF5ID0gdGhpcy5ub2RlRGlzcGxheSB8fCAnYmxvY2snO1xuICAgIH1cbiAgfVxuXG4gIGhpZGUoKSB7XG4gICAgY29uc3QgZGlzcGxheSA9IHRoaXMubm9kZT8uc3R5bGUuZGlzcGxheTtcbiAgICBpZiAodGhpcy5ub2RlICYmIGRpc3BsYXkgIT09ICdub25lJykge1xuICAgICAgdGhpcy5ub2RlRGlzcGxheSA9IGRpc3BsYXkgfHwgJ2Jsb2NrJztcbiAgICAgIHRoaXMubm9kZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyRXZlbnQoZXZlbnQ6IGtleW9mIEhUTUxFbGVtZW50RXZlbnRNYXAsIGZuOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0KSB7XG4gICAgaWYgKHRoaXMubm9kZSkge1xuICAgICAgY29uc3QgcHJldmlvdXNGbiA9IHRoaXMuZXZlbnRMaXN0ZW5lcnMuZ2V0KGV2ZW50KTtcbiAgICAgIGlmIChwcmV2aW91c0ZuKSB7XG4gICAgICAgIHRoaXMubm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCBwcmV2aW91c0ZuKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubm9kZS5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBmbik7XG4gICAgfVxuICAgIHRoaXMuZXZlbnRMaXN0ZW5lcnMuc2V0KGV2ZW50LCBmbik7XG4gIH1cblxuICByZWdpc3Rlck9uUmVzZXQoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLnJlc2V0Rm4gPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5jaGFuZ2VGbiA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkFkZChmbjogKGVsOiBIVE1MRWxlbWVudCB8IG51bGwpID0+IHZvaWQpIHtcbiAgICB0aGlzLmFkZEZuID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uUmVtb3ZlKGZuOiAoZWw6IEhUTUxFbGVtZW50IHwgbnVsbCkgPT4gdm9pZCkge1xuICAgIHRoaXMucmVtb3ZlRm4gPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25jbGFzc0NoYW5nZShmbjogKGNsYXNzZXM/OiBET01Ub2tlbkxpc3QpID0+IHZvaWQpIHtcbiAgICB0aGlzLmNsYXNzQ2hhbmdlRm4gPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25BZGRDaGlsZChmbjogKGNsYXNzZXM/OiBET01Ub2tlbkxpc3QpID0+IHZvaWQpIHtcbiAgICB0aGlzLmFkZENoaWxkRm4gPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25SZW1vdmVDaGlsZChmbjogKGNsYXNzZXM/OiBET01Ub2tlbkxpc3QpID0+IHZvaWQpIHtcbiAgICB0aGlzLnJlbW92ZUNoaWxkRm4gPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DbGFzc0FkZGVkKGNsYXNzTmFtZTogc3RyaW5nLCBmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMuY2xhc3NBZGRlZC5zZXQoY2xhc3NOYW1lLCBmbik7XG4gIH1cblxuICByZWdpc3Rlck9uQ2xhc3NSZW1vdmVkKGNsYXNzTmFtZTogc3RyaW5nLCBmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMuY2xhc3NSZW1vdmVkLnNldChjbGFzc05hbWUsIGZuKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgRWxlbWVudE9ic2VydmVyIH0gZnJvbSAnLi9lbGVtZW50T2JzZXJ2ZXInO1xuaW1wb3J0IHsgTm9kZVNlbGVjdG9yIH0gZnJvbSAnLi9ub2RlU2VsZWN0b3InO1xuXG4vKipcbiAqIFRoaXMgY2xhc3MgbWFuYWdlcyBhIGBNdXRhdGlvbk9ic2VydmVyYCBmb3IgdGhlIGBkb2N1bWVudC5ib2R5YC4gSXQgbW9uaXRvcnMgbm9kZXMgdGhhdCBhcmVcbiAqIGFkZGVkIG9yIHJlbW92ZWQgZnJvbSB0aGUgRE9NIGFuZCBub3RpZmllcyB0aGUgb2JzZXJ2ZXJzIGZvciBlYWNoIG9ic2VydmFibGUgZWxlbWVudFxuICogd2hlbiB0aGV5IGFyZSByZWFkeSB0byBiZSB3YXRjaGVkLlxuICpcbiAqIEhvdyB0aGF0IHdvcmtzOlxuICpcbiAqIFdoZW4gdGhlIGBvYnNlcnZlYCBmdW5jdGlvbiBpcyBjYWxsZWQsIGl0IGF0dGFjaGVzIGEgYE11dGF0aW9uT2JzZXJ2ZXJgIHRvIHRoZSBgZG9jdW1lbnQuYm9keWAgZWxlbWVudC5cbiAqIEFsbCBjaGFuZ2VzIHRvIGBkb2N1bWVudC5ib2R5YCBhcmUgdHJhY2tlZCBieSB0aGlzIG9ic2VydmVyLiBXaGVuIGNoYW5nZXMgYXJlIGRldGVjdGVkLCB0aGUgYE11dGF0aW9uT2JzZXJ2ZXJgXG4gKiBpdGVyYXRlcyB0aHJvdWdoIGFsbCBhZGRlZCBhbmQgcmVtb3ZlZCBub2RlcyBhbmQgY2hlY2tzIGlmIGVhY2ggbm9kZSBleGlzdHMgaW4gdGhlIG1haW4gbWFwIG9mIG9ic2VydmFibGUgZWxlbWVudHMuXG4gKlxuICogSWYgYSBtYXRjaCBpcyBmb3VuZCwgaXQgbm90aWZpZXMgdGhlIGNvcnJlc3BvbmRpbmcgYEVsZW1lbnRPYnNlcnZlcmAgaW5zdGFuY2UgdG8gc3RhcnQgbW9uaXRvcmluZyBjaGFuZ2VzIGZvciB0aGF0IGVsZW1lbnQuXG4gKlxuICogVGhlIHByaW1hcnkgYE11dGF0aW9uT2JzZXJ2ZXJgIHJlbWFpbnMgYWN0aXZlIHVudGlsIHRoZSBgZGVzdHJveWAgZnVuY3Rpb24gaXMgY2FsbGVkLiBDYWxsaW5nIGBkZXN0cm95YCB3aWxsIGRpc2Nvbm5lY3QgYWxsXG4gKiBpbmRpdmlkdWFsIGVsZW1lbnQgb2JzZXJ2ZXJzIGFuZCByZWxlYXNlIGFueSBhc3NvY2lhdGVkIHJlc291cmNlcy5cbiAqXG4gKiBUaGVyZSBpcyBubyBuZWVkIHRvIGV4cGxpY2l0bHkgY2FsbCB0aGUgYG9ic2VydmVgIGZ1bmN0aW9uLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGludm9rZWQgd2hlbiBhIGB1c2VFbGVtZW50T2JzZXJ2ZXJgIGhvb2sgaXMgaW5zdGFudGlhdGVkLlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIERPTU9ic2VydmVyIHtcbiAgcHJpdmF0ZSBzdGF0aWMgZG9jdW1lbnRPYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB8IG51bGw7XG4gIHByaXZhdGUgc3RhdGljIGxpc3RlbmVyczogTWFwPHN0cmluZywgRWxlbWVudE9ic2VydmVyPiA9IG5ldyBNYXAoKTtcblxuICBwcml2YXRlIHN0YXRpYyBub3RpZnlBZGl0aW9uKHJlY29yZHM6IE11dGF0aW9uUmVjb3JkW10sIG5vZGVNYXBwaW5nOiBNYXA8Tm9kZSwgRWxlbWVudE9ic2VydmVyPikge1xuICAgIHJlY29yZHMuZm9yRWFjaCgocmVjb3JkKSA9PlxuICAgICAgcmVjb3JkLmFkZGVkTm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICBub2RlTWFwcGluZy5nZXQobm9kZSk/LndhdGNoKG5vZGUpO1xuICAgICAgICBub2RlTWFwcGluZy5kZWxldGUobm9kZSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbm90aWZ5UmVtb3ZhbChyZWNvcmRzOiBNdXRhdGlvblJlY29yZFtdLCBub2RlTWFwcGluZzogTWFwPE5vZGUsIEVsZW1lbnRPYnNlcnZlcj4pIHtcbiAgICByZWNvcmRzLmZvckVhY2goKHJlY29yZCkgPT5cbiAgICAgIHJlY29yZC5yZW1vdmVkTm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICBub2RlTWFwcGluZy5nZXQobm9kZSk/LmRlc3Ryb3koKTtcbiAgICAgICAgbm9kZU1hcHBpbmcuZGVsZXRlKG5vZGUpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG5vdGlmeUNoaWxkcmVuQ2hhbmdlcyhub2RlTWFwcGluZzogTWFwPE5vZGUsIEVsZW1lbnRPYnNlcnZlcj4pIHtcbiAgICBBcnJheS5mcm9tKG5vZGVNYXBwaW5nLnZhbHVlcygpKS5mb3JFYWNoKChvYnNlcnZlcikgPT4gb2JzZXJ2ZXIuc3luY2hyb25pemUoKSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBtYXBOb2RlSW5zdGFuY2VzVG9MaXN0ZW5lcnMoKTogTWFwPE5vZGUsIEVsZW1lbnRPYnNlcnZlcj4ge1xuICAgIGNvbnN0IG5vZGVNYXBwaW5nID0gbmV3IE1hcDxOb2RlLCBFbGVtZW50T2JzZXJ2ZXI+KCk7XG4gICAgdGhpcy5saXN0ZW5lcnMuZm9yRWFjaCgob2JzZXJ2ZXIpID0+IHtcbiAgICAgIGNvbnN0IG5vZGUgPSBvYnNlcnZlci5nZXROb2RlKCkgfHwgb2JzZXJ2ZXIuZ2V0U2VsZWN0b3IoKT8ucGFyc2UoKTtcbiAgICAgIGlmIChub2RlKSB7XG4gICAgICAgIG5vZGVNYXBwaW5nLnNldChub2RlLCBvYnNlcnZlcik7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG5vZGVNYXBwaW5nO1xuICB9XG5cbiAgc3RhdGljIGFkZChzZWxlY3RvcjogTm9kZVNlbGVjdG9yKTogRWxlbWVudE9ic2VydmVyIHtcbiAgICBjb25zdCBub2RlID0gc2VsZWN0b3IuZ2V0UGF0dGVybigpO1xuICAgIGxldCBlbGVtZW50T2JzZXJ2ZXIgPSB0aGlzLmxpc3RlbmVycy5nZXQobm9kZSk7XG4gICAgaWYgKGVsZW1lbnRPYnNlcnZlcikge1xuICAgICAgcmV0dXJuIGVsZW1lbnRPYnNlcnZlcjtcbiAgICB9XG5cbiAgICBlbGVtZW50T2JzZXJ2ZXIgPSBuZXcgRWxlbWVudE9ic2VydmVyKHNlbGVjdG9yKTtcbiAgICB0aGlzLmxpc3RlbmVycy5zZXQobm9kZSwgZWxlbWVudE9ic2VydmVyKTtcbiAgICByZXR1cm4gZWxlbWVudE9ic2VydmVyO1xuICB9XG5cbiAgc3RhdGljIHJlbW92ZShzZWxlY3RvcjogTm9kZVNlbGVjdG9yKSB7XG4gICAgY29uc3Qgbm9kZSA9IHNlbGVjdG9yLmdldFBhdHRlcm4oKTtcbiAgICB0aGlzLmxpc3RlbmVycy5nZXQobm9kZSk/LmRlc3Ryb3koKTtcbiAgICB0aGlzLmxpc3RlbmVycy5kZWxldGUobm9kZSk7XG4gIH1cblxuICBzdGF0aWMgb2JzZXJ2ZSgpIHtcbiAgICBpZiAoIXRoaXMuZG9jdW1lbnRPYnNlcnZlcikge1xuICAgICAgdGhpcy5kb2N1bWVudE9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xuICAgICAgICBjb25zdCBub2RlTWFwcGluZyA9IHRoaXMubWFwTm9kZUluc3RhbmNlc1RvTGlzdGVuZXJzKCk7XG4gICAgICAgIHRoaXMubm90aWZ5QWRpdGlvbihtdXRhdGlvbnMsIG5vZGVNYXBwaW5nKTtcbiAgICAgICAgdGhpcy5ub3RpZnlSZW1vdmFsKG11dGF0aW9ucywgbm9kZU1hcHBpbmcpO1xuICAgICAgICB0aGlzLm5vdGlmeUNoaWxkcmVuQ2hhbmdlcyhub2RlTWFwcGluZyk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZG9jdW1lbnRPYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJvZHksIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBkZXN0cm95KCkge1xuICAgIHRoaXMuZG9jdW1lbnRPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMubGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiBsaXN0ZW5lci5kZXN0cm95KCkpO1xuICAgIHRoaXMubGlzdGVuZXJzLmNsZWFyKCk7XG4gICAgdGhpcy5kb2N1bWVudE9ic2VydmVyID0gbnVsbDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFNLGlCQUFpQixVQUFrQixlQUF1QjtDQUM5RCxNQUFNLGlCQUFpQixJQUFJLElBQUksU0FBUyxNQUFNLElBQUksQ0FBQztDQUNuRCxNQUFNLG1CQUFtQixJQUFJLElBQUksV0FBVyxNQUFNLElBQUksQ0FBQztBQUN2RCxRQUFPLENBQUMsR0FBRyxlQUFlLENBQUMsUUFBUSxVQUFVLENBQUMsaUJBQWlCLElBQUksTUFBTSxDQUFDOztBQUc1RSxJQUFhLGlC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
|
|
285
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tT2JzZXJ2ZXItREtjYXM2dGwuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2FwcGxpY2F0aW9uL3V0aWxzL211dGF0aW9uSGVscGVyLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL3V0aWxzL2VsZW1lbnRPYnNlcnZlci50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi91dGlscy9kb21PYnNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjb21wYXJlVG9rZW5zID0gKG9yaWdpbmFsOiBzdHJpbmcsIGNvbXBhcmlzb246IHN0cmluZykgPT4ge1xuICBjb25zdCBvcmlnaW5hbFRva2VucyA9IG5ldyBTZXQob3JpZ2luYWwuc3BsaXQoJyAnKSk7XG4gIGNvbnN0IGNvbXBhcmlzb25Ub2tlbnMgPSBuZXcgU2V0KGNvbXBhcmlzb24uc3BsaXQoJyAnKSk7XG4gIHJldHVybiBbLi4ub3JpZ2luYWxUb2tlbnNdLmZpbHRlcigodG9rZW4pID0+ICFjb21wYXJpc29uVG9rZW5zLmhhcyh0b2tlbikpO1xufTtcblxuZXhwb3J0IGNsYXNzIE11dGF0aW9uSGVscGVyIHtcbiAgc3RhdGljIGZpcmVDbGFzc0NoYW5nZShcbiAgICByZWNvcmQ6IE11dGF0aW9uUmVjb3JkLFxuICAgIG5vZGU6IEhUTUxFbGVtZW50IHwgbnVsbCxcbiAgICBmbjogKGNsYXNzZXM6IERPTVRva2VuTGlzdCkgPT4gdm9pZCxcbiAgKSB7XG4gICAgaWYgKG5vZGUgJiYgcmVjb3JkLm9sZFZhbHVlICE9PSBub2RlPy5jbGFzc0xpc3QudmFsdWUpIHtcbiAgICAgIGZuKG5vZGU/LmNsYXNzTGlzdCk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGZpcmVDbGFzc0FkZGVkKFxuICAgIHJlY29yZDogTXV0YXRpb25SZWNvcmQsXG4gICAgbm9kZTogSFRNTEVsZW1lbnQgfCBudWxsLFxuICAgIGNsYXNzTWFwOiBNYXA8c3RyaW5nLCAoKSA9PiB2b2lkPixcbiAgKSB7XG4gICAgaWYgKG5vZGUgJiYgcmVjb3JkLm9sZFZhbHVlKSB7XG4gICAgICBjb25zdCB0b2tlbnMgPSBjb21wYXJlVG9rZW5zKG5vZGU/LmNsYXNzTGlzdC52YWx1ZSwgcmVjb3JkLm9sZFZhbHVlKTtcbiAgICAgIHRva2Vucy5mb3JFYWNoKChjbGFzc05hbWUpID0+IGNsYXNzTWFwLmdldChjbGFzc05hbWUpPy4oKSk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGZpcmVDbGFzc1JlbW92ZWQoXG4gICAgcmVjb3JkOiBNdXRhdGlvblJlY29yZCxcbiAgICBub2RlOiBIVE1MRWxlbWVudCB8IG51bGwsXG4gICAgY2xhc3NNYXA6IE1hcDxzdHJpbmcsICgpID0+IHZvaWQ+LFxuICApIHtcbiAgICBpZiAobm9kZSAmJiByZWNvcmQub2xkVmFsdWUpIHtcbiAgICAgIGNvbnN0IHRva2VucyA9IGNvbXBhcmVUb2tlbnMocmVjb3JkLm9sZFZhbHVlLCBub2RlPy5jbGFzc0xpc3QudmFsdWUpO1xuICAgICAgdG9rZW5zLmZvckVhY2goKGNsYXNzTmFtZSkgPT4gY2xhc3NNYXAuZ2V0KGNsYXNzTmFtZSk/LigpKTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZmlyZVN1YnRyZWVDaGFuZ2Uobm9kZXM6IE5vZGVMaXN0LCBmbj86IChub2RlczogTm9kZUxpc3QpID0+IHZvaWQpIHtcbiAgICBub2Rlcy5sZW5ndGggJiYgZm4/Lihub2Rlcyk7XG4gIH1cblxuICBzdGF0aWMgaXNDbGFzcyhtdXRhdGlvbjogTXV0YXRpb25SZWNvcmQpIHtcbiAgICByZXR1cm4gbXV0YXRpb24udHlwZSA9PT0gJ2F0dHJpYnV0ZXMnICYmIG11dGF0aW9uLmF0dHJpYnV0ZU5hbWUgPT09ICdjbGFzcyc7XG4gIH1cblxuICBzdGF0aWMgaXNDaGlsZExpc3QobXV0YXRpb246IE11dGF0aW9uUmVjb3JkKSB7XG4gICAgcmV0dXJuIG11dGF0aW9uLnR5cGUgPT09ICdjaGlsZExpc3QnO1xuICB9XG59XG4iLCJpbXBvcnQgeyBSZWFjdEVsZW1lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHsgTW91c2VFdmVudFR5cGVzIH0gZnJvbSAnLi9tb3VzZUV2ZW50VHlwZXMnO1xuaW1wb3J0IHsgTXV0YXRpb25IZWxwZXIgfSBmcm9tICcuL211dGF0aW9uSGVscGVyJztcbmltcG9ydCB7IE5vZGVTZWxlY3RvciB9IGZyb20gJy4vbm9kZVNlbGVjdG9yJztcblxuLyoqXG4gKiBUaGUgYEVsZW1lbnRPYnNlcnZlcmAgY2xhc3MgbW9uaXRvcnMgYWxsIGNoYW5nZXMgcmVsYXRlZCB0byB0aGUgc3BlY2lmaWMgZWxlbWVudCBpdCBpcyByZXNwb25zaWJsZSBmb3IuXG4gKiBJdCBpcyBhdXRvbWF0aWNhbGx5IGluc3RhbnRpYXRlZCBieSB0aGUgYHVzZUVsZW1lbnRPYnNlcnZlcmAgaG9vaywgd2hpY2ggbWFuYWdlcyBhbGwgaW5zdGFuY2VzIG9mIHRoaXMgY2xhc3MuXG4gKlxuICogSG93IGl0IHdvcmtzOlxuICpcbiAqIEVhY2ggaW5zdGFuY2Ugb2YgYEVsZW1lbnRPYnNlcnZlcmAgaG9sZHMgc2V2ZXJhbCBwaWVjZXMgb2YgaW5mb3JtYXRpb24gcmVsYXRlZCB0byB0aGUgbm9kZSBpdCBpcyBtb25pdG9yaW5nLFxuICogc3VjaCBhcyB0aGUgbm9kZSdzIHNlbGVjdG9yIGFuZCBpdHMgYE11dGF0aW9uT2JzZXJ2ZXJgLiBUaGlzIGNsYXNzIGlzIHJlc3BvbnNpYmxlIGZvciB0cmFuc2xhdGluZyByYXcgbm9kZVxuICogY2hhbmdlcyBpbnRvIGEgbW9yZSB1c2VyLWZyaWVuZGx5IGZvcm1hdC4gRm9yIGV4YW1wbGUsIHdoZW4gdGhlIG5vZGUgaXMgYWRkZWQgdG8gdGhlIERPTSwgdGhlIGBFbGVtZW50T2JzZXJ2ZXJgXG4gKiBpcyBub3RpZmllZCBieSB0aGUgYERPTU9ic2VydmVyYCwgd2hpY2ggdHJpZ2dlcnMgdGhlIGBvbkFkZGAgY2FsbGJhY2sgZnVuY3Rpb24gb24gdGhlIHJlc3BlY3RpdmUgYHVzZUVsZW1lbnRPYnNlcnZlcmBcbiAqIGluc3RhbmNlLlxuICpcbiAqIEluc3RhbmNlcyBvZiBgRWxlbWVudE9ic2VydmVyYCBhcmUgZnVsbHkgbWFuYWdlZCBieSB0aGUgYHVzZUVsZW1lbnRPYnNlcnZlcmAgaG9vaywgcmVxdWlyaW5nIG5vIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbi5cbiAqIFdoZW4gdGhlIGhvb2sgaXMgZGVzdHJveWVkLCBpdHMgY29ycmVzcG9uZGluZyBgRWxlbWVudE9ic2VydmVyYCBpbnN0YW5jZSBpcyBhdXRvbWF0aWNhbGx5IHJlbW92ZWQuXG4gKlxuICovXG5leHBvcnQgY2xhc3MgRWxlbWVudE9ic2VydmVyIHtcbiAgcHJpdmF0ZSBtdXRhdGlvbjogTXV0YXRpb25PYnNlcnZlciB8IG51bGw7XG5cbiAgcHJpdmF0ZSBub2RlOiBIVE1MRWxlbWVudCB8IG51bGw7XG5cbiAgcHJpdmF0ZSBzZWxlY3RvcjogTm9kZVNlbGVjdG9yO1xuXG4gIHByaXZhdGUgZXZlbnRMaXN0ZW5lcnM6IE1hcDxrZXlvZiBIVE1MRWxlbWVudEV2ZW50TWFwLCBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0PjtcblxuICBwcml2YXRlIGNsYXNzQWRkZWQ6IE1hcDxzdHJpbmcsICgpID0+IHZvaWQ+O1xuXG4gIHByaXZhdGUgY2xhc3NSZW1vdmVkOiBNYXA8c3RyaW5nLCAoKSA9PiB2b2lkPjtcblxuICBwcml2YXRlIG5vZGVEaXNwbGF5OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBhZGRGbjogKGVsOiBIVE1MRWxlbWVudCB8IG51bGwpID0+IHZvaWQ7XG5cbiAgcHJpdmF0ZSByZW1vdmVGbjogKGVsOiBIVE1MRWxlbWVudCB8IG51bGwpID0+IHZvaWQ7XG5cbiAgcHJpdmF0ZSBjaGFuZ2VGbjogKGVsOiBIVE1MRWxlbWVudCB8IG51bGwpID0+IHZvaWQ7XG5cbiAgcHJpdmF0ZSBjbGFzc0NoYW5nZUZuOiAoY2xhc3Nlcz86IERPTVRva2VuTGlzdCkgPT4gdm9pZDtcblxuICBwcml2YXRlIGFkZENoaWxkRm4/OiAoKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgcmVtb3ZlQ2hpbGRGbj86ICgpID0+IHZvaWQ7XG5cbiAgcHJpdmF0ZSByZXNldEZuOiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKHNlbGVjdG9yOiBOb2RlU2VsZWN0b3IpIHtcbiAgICB0aGlzLnNlbGVjdG9yID0gc2VsZWN0b3I7XG4gICAgdGhpcy5tdXRhdGlvbiA9IG51bGw7XG4gICAgdGhpcy5ub2RlID0gbnVsbDtcbiAgICB0aGlzLmV2ZW50TGlzdGVuZXJzID0gbmV3IE1hcCgpO1xuICAgIHRoaXMuY2xhc3NBZGRlZCA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLmNsYXNzUmVtb3ZlZCA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLm5vZGVEaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICB0aGlzLmFkZEZuID0gKCkgPT4ge307XG4gICAgdGhpcy5yZW1vdmVGbiA9ICgpID0+IHt9O1xuICAgIHRoaXMuY2hhbmdlRm4gPSAoKSA9PiB7fTtcbiAgICB0aGlzLmNsYXNzQ2hhbmdlRm4gPSAoKSA9PiB7fTtcbiAgICB0aGlzLmFkZENoaWxkRm4gPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5yZW1vdmVDaGlsZEZuID0gdW5kZWZpbmVkO1xuICAgIHRoaXMucmVzZXRGbiA9ICgpID0+IHt9O1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVBdHRyaWJ1dGVzKG11dGF0aW9uUmVjb3JkOiBNdXRhdGlvblJlY29yZFtdKSB7XG4gICAgbXV0YXRpb25SZWNvcmQuZmlsdGVyKE11dGF0aW9uSGVscGVyLmlzQ2xhc3MpLmZvckVhY2goKG11dGF0aW9uKSA9PiB7XG4gICAgICBNdXRhdGlvbkhlbHBlci5maXJlQ2xhc3NDaGFuZ2UobXV0YXRpb24sIHRoaXMubm9kZSwgdGhpcy5jbGFzc0NoYW5nZUZuKTtcbiAgICAgIE11dGF0aW9uSGVscGVyLmZpcmVDbGFzc0FkZGVkKG11dGF0aW9uLCB0aGlzLm5vZGUsIHRoaXMuY2xhc3NBZGRlZCk7XG4gICAgICBNdXRhdGlvbkhlbHBlci5maXJlQ2xhc3NSZW1vdmVkKG11dGF0aW9uLCB0aGlzLm5vZGUsIHRoaXMuY2xhc3NSZW1vdmVkKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ2hpbGRMaXN0KG11dGF0aW9uUmVjb3JkOiBNdXRhdGlvblJlY29yZFtdKSB7XG4gICAgaWYgKCF0aGlzLmFkZENoaWxkRm4gJiYgIXRoaXMucmVtb3ZlQ2hpbGRGbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG11dGF0aW9uUmVjb3JkLmZpbHRlcihNdXRhdGlvbkhlbHBlci5pc0NoaWxkTGlzdCkuZm9yRWFjaCgobXV0YXRpb24pID0+IHtcbiAgICAgIE11dGF0aW9uSGVscGVyLmZpcmVTdWJ0cmVlQ2hhbmdlKG11dGF0aW9uLmFkZGVkTm9kZXMsIHRoaXMuYWRkQ2hpbGRGbik7XG4gICAgICBNdXRhdGlvbkhlbHBlci5maXJlU3VidHJlZUNoYW5nZShtdXRhdGlvbi5yZW1vdmVkTm9kZXMsIHRoaXMucmVtb3ZlQ2hpbGRGbik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFkZEluaXRpYWxMaXN0ZW5lcnMoKSB7XG4gICAgdGhpcy5ldmVudExpc3RlbmVycy5mb3JFYWNoKCh2LCBrKSA9PiB0aGlzLm5vZGU/LmFkZEV2ZW50TGlzdGVuZXIoaywgdikpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckV2ZW50TGlzdGVuZXJzKCkge1xuICAgIHRoaXMuZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgodiwgaykgPT4gdGhpcy5ub2RlPy5yZW1vdmVFdmVudExpc3RlbmVyKGssIHYpKTtcbiAgICB0aGlzLmV2ZW50TGlzdGVuZXJzLmNsZWFyKCk7XG4gIH1cblxuICBwcml2YXRlIHJlbmV3KG5ld05vZGU6IE5vZGUgfCBudWxsKSB7XG4gICAgaWYgKG5ld05vZGUpIHtcbiAgICAgIHRoaXMuZGVzdHJveSgpO1xuICAgICAgdGhpcy53YXRjaChuZXdOb2RlKTtcbiAgICB9XG4gIH1cblxuICBnZXRTZWxlY3RvcigpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RvcjtcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIHN5bmNocm9uaXplKCkge1xuICAgIGNvbnN0IHBhcnNlZE5vZGUgPSB0aGlzLmdldFNlbGVjdG9yKCkucGFyc2UoKTtcblxuICAgIGlmICh0aGlzLmdldE5vZGUoKSAhPT0gcGFyc2VkTm9kZSkge1xuICAgICAgdGhpcy5yZW5ldyhwYXJzZWROb2RlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuZ2V0Tm9kZSgpICYmIHBhcnNlZE5vZGUpIHtcbiAgICAgIHRoaXMud2F0Y2gocGFyc2VkTm9kZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZ2V0Tm9kZSgpICYmICFwYXJzZWROb2RlKSB7XG4gICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICB9XG4gIH1cblxuICBpbml0KCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldFNlbGVjdG9yKCkucGFyc2UoKTtcbiAgICBpZiAobm9kZSkge1xuICAgICAgdGhpcy53YXRjaChub2RlKTtcbiAgICB9XG4gIH1cblxuICB3YXRjaChub2RlOiBOb2RlKSB7XG4gICAgaWYgKCF0aGlzLm11dGF0aW9uKSB7XG4gICAgICB0aGlzLm11dGF0aW9uID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9uUmVjb3JkKSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlQXR0cmlidXRlcyhtdXRhdGlvblJlY29yZCk7XG4gICAgICAgIHRoaXMuaGFuZGxlQ2hpbGRMaXN0KG11dGF0aW9uUmVjb3JkKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VGbih0aGlzLm5vZGUpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLm11dGF0aW9uLm9ic2VydmUobm9kZSwge1xuICAgICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICAgIGF0dHJpYnV0ZU9sZFZhbHVlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLm5vZGUgPSBub2RlIGFzIEhUTUxFbGVtZW50O1xuICAgICAgdGhpcy5hZGRGbih0aGlzLm5vZGUpO1xuICAgICAgdGhpcy5hZGRJbml0aWFsTGlzdGVuZXJzKCk7XG4gICAgfVxuICB9XG5cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLnJlc2V0Rm4oKTtcbiAgICB0aGlzLnJlbW92ZUZuKHRoaXMubm9kZSk7XG4gICAgdGhpcy5tdXRhdGlvbj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuY2xlYXJFdmVudExpc3RlbmVycygpO1xuICAgIHRoaXMuY2xhc3NBZGRlZC5jbGVhcigpO1xuICAgIHRoaXMuY2xhc3NSZW1vdmVkLmNsZWFyKCk7XG4gICAgdGhpcy5tdXRhdGlvbiA9IG51bGw7XG4gICAgdGhpcy5ub2RlID0gbnVsbDtcbiAgfVxuXG4gIHJlbmRlcihmbjogKCkgPT4gUmVhY3RFbGVtZW50KSB7XG4gICAgaWYgKHRoaXMubm9kZSkge1xuICAgICAgcmV0dXJuIGNyZWF0ZVBvcnRhbChmbigpLCB0aGlzLm5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIGZpcmUoZXZlbnQ6IE1vdXNlRXZlbnRUeXBlcykge1xuICAgIGlmICh0aGlzLm5vZGUpIHtcbiAgICAgIHRoaXMubm9kZS5kaXNwYXRjaEV2ZW50KFxuICAgICAgICBuZXcgTW91c2VFdmVudChldmVudCwge1xuICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgICAgICB2aWV3OiB3aW5kb3csXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBzaG93KCkge1xuICAgIGNvbnN0IGRpc3BsYXkgPSB0aGlzLm5vZGU/LnN0eWxlLmRpc3BsYXk7XG4gICAgaWYgKHRoaXMubm9kZSAmJiBkaXNwbGF5ID09PSAnbm9uZScpIHtcbiAgICAgIHRoaXMubm9kZS5zdHlsZS5kaXNwbGF5ID0gdGhpcy5ub2RlRGlzcGxheSB8fCAnYmxvY2snO1xuICAgIH1cbiAgfVxuXG4gIGhpZGUoKSB7XG4gICAgY29uc3QgZGlzcGxheSA9IHRoaXMubm9kZT8uc3R5bGUuZGlzcGxheTtcbiAgICBpZiAodGhpcy5ub2RlICYmIGRpc3BsYXkgIT09ICdub25lJykge1xuICAgICAgdGhpcy5ub2RlRGlzcGxheSA9IGRpc3BsYXkgfHwgJ2Jsb2NrJztcbiAgICAgIHRoaXMubm9kZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyRXZlbnQoZXZlbnQ6IGtleW9mIEhUTUxFbGVtZW50RXZlbnRNYXAsIGZuOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0KSB7XG4gICAgaWYgKHRoaXMubm9kZSkge1xuICAgICAgY29uc3QgcHJldmlvdXNGbiA9IHRoaXMuZXZlbnRMaXN0ZW5lcnMuZ2V0KGV2ZW50KTtcbiAgICAgIGlmIChwcmV2aW91c0ZuKSB7XG4gICAgICAgIHRoaXMubm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCBwcmV2aW91c0ZuKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubm9kZS5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBmbik7XG4gICAgfVxuICAgIHRoaXMuZXZlbnRMaXN0ZW5lcnMuc2V0KGV2ZW50LCBmbik7XG4gIH1cblxuICByZWdpc3Rlck9uUmVzZXQoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLnJlc2V0Rm4gPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5jaGFuZ2VGbiA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkFkZChmbjogKGVsOiBIVE1MRWxlbWVudCB8IG51bGwpID0+IHZvaWQpIHtcbiAgICB0aGlzLmFkZEZuID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uUmVtb3ZlKGZuOiAoZWw6IEhUTUxFbGVtZW50IHwgbnVsbCkgPT4gdm9pZCkge1xuICAgIHRoaXMucmVtb3ZlRm4gPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25jbGFzc0NoYW5nZShmbjogKGNsYXNzZXM/OiBET01Ub2tlbkxpc3QpID0+IHZvaWQpIHtcbiAgICB0aGlzLmNsYXNzQ2hhbmdlRm4gPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25BZGRDaGlsZChmbjogKGNsYXNzZXM/OiBET01Ub2tlbkxpc3QpID0+IHZvaWQpIHtcbiAgICB0aGlzLmFkZENoaWxkRm4gPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25SZW1vdmVDaGlsZChmbjogKGNsYXNzZXM/OiBET01Ub2tlbkxpc3QpID0+IHZvaWQpIHtcbiAgICB0aGlzLnJlbW92ZUNoaWxkRm4gPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DbGFzc0FkZGVkKGNsYXNzTmFtZTogc3RyaW5nLCBmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMuY2xhc3NBZGRlZC5zZXQoY2xhc3NOYW1lLCBmbik7XG4gIH1cblxuICByZWdpc3Rlck9uQ2xhc3NSZW1vdmVkKGNsYXNzTmFtZTogc3RyaW5nLCBmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMuY2xhc3NSZW1vdmVkLnNldChjbGFzc05hbWUsIGZuKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgRWxlbWVudE9ic2VydmVyIH0gZnJvbSAnLi9lbGVtZW50T2JzZXJ2ZXInO1xuaW1wb3J0IHsgTm9kZVNlbGVjdG9yIH0gZnJvbSAnLi9ub2RlU2VsZWN0b3InO1xuXG4vKipcbiAqIFRoaXMgY2xhc3MgbWFuYWdlcyBhIGBNdXRhdGlvbk9ic2VydmVyYCBmb3IgdGhlIGBkb2N1bWVudC5ib2R5YC4gSXQgbW9uaXRvcnMgbm9kZXMgdGhhdCBhcmVcbiAqIGFkZGVkIG9yIHJlbW92ZWQgZnJvbSB0aGUgRE9NIGFuZCBub3RpZmllcyB0aGUgb2JzZXJ2ZXJzIGZvciBlYWNoIG9ic2VydmFibGUgZWxlbWVudFxuICogd2hlbiB0aGV5IGFyZSByZWFkeSB0byBiZSB3YXRjaGVkLlxuICpcbiAqIEhvdyB0aGF0IHdvcmtzOlxuICpcbiAqIFdoZW4gdGhlIGBvYnNlcnZlYCBmdW5jdGlvbiBpcyBjYWxsZWQsIGl0IGF0dGFjaGVzIGEgYE11dGF0aW9uT2JzZXJ2ZXJgIHRvIHRoZSBgZG9jdW1lbnQuYm9keWAgZWxlbWVudC5cbiAqIEFsbCBjaGFuZ2VzIHRvIGBkb2N1bWVudC5ib2R5YCBhcmUgdHJhY2tlZCBieSB0aGlzIG9ic2VydmVyLiBXaGVuIGNoYW5nZXMgYXJlIGRldGVjdGVkLCB0aGUgYE11dGF0aW9uT2JzZXJ2ZXJgXG4gKiBpdGVyYXRlcyB0aHJvdWdoIGFsbCBhZGRlZCBhbmQgcmVtb3ZlZCBub2RlcyBhbmQgY2hlY2tzIGlmIGVhY2ggbm9kZSBleGlzdHMgaW4gdGhlIG1haW4gbWFwIG9mIG9ic2VydmFibGUgZWxlbWVudHMuXG4gKlxuICogSWYgYSBtYXRjaCBpcyBmb3VuZCwgaXQgbm90aWZpZXMgdGhlIGNvcnJlc3BvbmRpbmcgYEVsZW1lbnRPYnNlcnZlcmAgaW5zdGFuY2UgdG8gc3RhcnQgbW9uaXRvcmluZyBjaGFuZ2VzIGZvciB0aGF0IGVsZW1lbnQuXG4gKlxuICogVGhlIHByaW1hcnkgYE11dGF0aW9uT2JzZXJ2ZXJgIHJlbWFpbnMgYWN0aXZlIHVudGlsIHRoZSBgZGVzdHJveWAgZnVuY3Rpb24gaXMgY2FsbGVkLiBDYWxsaW5nIGBkZXN0cm95YCB3aWxsIGRpc2Nvbm5lY3QgYWxsXG4gKiBpbmRpdmlkdWFsIGVsZW1lbnQgb2JzZXJ2ZXJzIGFuZCByZWxlYXNlIGFueSBhc3NvY2lhdGVkIHJlc291cmNlcy5cbiAqXG4gKiBUaGVyZSBpcyBubyBuZWVkIHRvIGV4cGxpY2l0bHkgY2FsbCB0aGUgYG9ic2VydmVgIGZ1bmN0aW9uLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGludm9rZWQgd2hlbiBhIGB1c2VFbGVtZW50T2JzZXJ2ZXJgIGhvb2sgaXMgaW5zdGFudGlhdGVkLlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIERPTU9ic2VydmVyIHtcbiAgcHJpdmF0ZSBzdGF0aWMgZG9jdW1lbnRPYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB8IG51bGw7XG4gIHByaXZhdGUgc3RhdGljIGxpc3RlbmVyczogTWFwPHN0cmluZywgRWxlbWVudE9ic2VydmVyPiA9IG5ldyBNYXAoKTtcblxuICBwcml2YXRlIHN0YXRpYyBub3RpZnlBZGl0aW9uKHJlY29yZHM6IE11dGF0aW9uUmVjb3JkW10sIG5vZGVNYXBwaW5nOiBNYXA8Tm9kZSwgRWxlbWVudE9ic2VydmVyPikge1xuICAgIHJlY29yZHMuZm9yRWFjaCgocmVjb3JkKSA9PlxuICAgICAgcmVjb3JkLmFkZGVkTm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICBub2RlTWFwcGluZy5nZXQobm9kZSk/LndhdGNoKG5vZGUpO1xuICAgICAgICBub2RlTWFwcGluZy5kZWxldGUobm9kZSk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbm90aWZ5UmVtb3ZhbChyZWNvcmRzOiBNdXRhdGlvblJlY29yZFtdLCBub2RlTWFwcGluZzogTWFwPE5vZGUsIEVsZW1lbnRPYnNlcnZlcj4pIHtcbiAgICByZWNvcmRzLmZvckVhY2goKHJlY29yZCkgPT5cbiAgICAgIHJlY29yZC5yZW1vdmVkTm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICBub2RlTWFwcGluZy5nZXQobm9kZSk/LmRlc3Ryb3koKTtcbiAgICAgICAgbm9kZU1hcHBpbmcuZGVsZXRlKG5vZGUpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG5vdGlmeUNoaWxkcmVuQ2hhbmdlcyhub2RlTWFwcGluZzogTWFwPE5vZGUsIEVsZW1lbnRPYnNlcnZlcj4pIHtcbiAgICBBcnJheS5mcm9tKG5vZGVNYXBwaW5nLnZhbHVlcygpKS5mb3JFYWNoKChvYnNlcnZlcikgPT4gb2JzZXJ2ZXIuc3luY2hyb25pemUoKSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBtYXBOb2RlSW5zdGFuY2VzVG9MaXN0ZW5lcnMoKTogTWFwPE5vZGUsIEVsZW1lbnRPYnNlcnZlcj4ge1xuICAgIGNvbnN0IG5vZGVNYXBwaW5nID0gbmV3IE1hcDxOb2RlLCBFbGVtZW50T2JzZXJ2ZXI+KCk7XG4gICAgdGhpcy5saXN0ZW5lcnMuZm9yRWFjaCgob2JzZXJ2ZXIpID0+IHtcbiAgICAgIGNvbnN0IG5vZGUgPSBvYnNlcnZlci5nZXROb2RlKCkgfHwgb2JzZXJ2ZXIuZ2V0U2VsZWN0b3IoKT8ucGFyc2UoKTtcbiAgICAgIGlmIChub2RlKSB7XG4gICAgICAgIG5vZGVNYXBwaW5nLnNldChub2RlLCBvYnNlcnZlcik7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG5vZGVNYXBwaW5nO1xuICB9XG5cbiAgc3RhdGljIGFkZChzZWxlY3RvcjogTm9kZVNlbGVjdG9yKTogRWxlbWVudE9ic2VydmVyIHtcbiAgICBjb25zdCBub2RlID0gc2VsZWN0b3IuZ2V0UGF0dGVybigpO1xuICAgIGxldCBlbGVtZW50T2JzZXJ2ZXIgPSB0aGlzLmxpc3RlbmVycy5nZXQobm9kZSk7XG4gICAgaWYgKGVsZW1lbnRPYnNlcnZlcikge1xuICAgICAgcmV0dXJuIGVsZW1lbnRPYnNlcnZlcjtcbiAgICB9XG5cbiAgICBlbGVtZW50T2JzZXJ2ZXIgPSBuZXcgRWxlbWVudE9ic2VydmVyKHNlbGVjdG9yKTtcbiAgICB0aGlzLmxpc3RlbmVycy5zZXQobm9kZSwgZWxlbWVudE9ic2VydmVyKTtcbiAgICByZXR1cm4gZWxlbWVudE9ic2VydmVyO1xuICB9XG5cbiAgc3RhdGljIHJlbW92ZShzZWxlY3RvcjogTm9kZVNlbGVjdG9yKSB7XG4gICAgY29uc3Qgbm9kZSA9IHNlbGVjdG9yLmdldFBhdHRlcm4oKTtcbiAgICB0aGlzLmxpc3RlbmVycy5nZXQobm9kZSk/LmRlc3Ryb3koKTtcbiAgICB0aGlzLmxpc3RlbmVycy5kZWxldGUobm9kZSk7XG4gIH1cblxuICBzdGF0aWMgb2JzZXJ2ZSgpIHtcbiAgICBpZiAoIXRoaXMuZG9jdW1lbnRPYnNlcnZlcikge1xuICAgICAgdGhpcy5kb2N1bWVudE9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xuICAgICAgICBjb25zdCBub2RlTWFwcGluZyA9IHRoaXMubWFwTm9kZUluc3RhbmNlc1RvTGlzdGVuZXJzKCk7XG4gICAgICAgIHRoaXMubm90aWZ5QWRpdGlvbihtdXRhdGlvbnMsIG5vZGVNYXBwaW5nKTtcbiAgICAgICAgdGhpcy5ub3RpZnlSZW1vdmFsKG11dGF0aW9ucywgbm9kZU1hcHBpbmcpO1xuICAgICAgICB0aGlzLm5vdGlmeUNoaWxkcmVuQ2hhbmdlcyhub2RlTWFwcGluZyk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuZG9jdW1lbnRPYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmJvZHksIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBkZXN0cm95KCkge1xuICAgIHRoaXMuZG9jdW1lbnRPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIHRoaXMubGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiBsaXN0ZW5lci5kZXN0cm95KCkpO1xuICAgIHRoaXMubGlzdGVuZXJzLmNsZWFyKCk7XG4gICAgdGhpcy5kb2N1bWVudE9ic2VydmVyID0gbnVsbDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFNLGlCQUFpQixVQUFrQixlQUF1QjtDQUM5RCxNQUFNLGlCQUFpQixJQUFJLElBQUksU0FBUyxNQUFNLElBQUksQ0FBQztDQUNuRCxNQUFNLG1CQUFtQixJQUFJLElBQUksV0FBVyxNQUFNLElBQUksQ0FBQztBQUN2RCxRQUFPLENBQUMsR0FBRyxlQUFlLENBQUMsUUFBUSxVQUFVLENBQUMsaUJBQWlCLElBQUksTUFBTSxDQUFDOztBQUc1RSxJQUFhLGlC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
|
|
@@ -301,4 +301,4 @@ Object.defineProperty(exports, 'MutationHelper', {
|
|
|
301
301
|
return MutationHelper;
|
|
302
302
|
}
|
|
303
303
|
});
|
|
304
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tT2JzZXJ2ZXItQ3dpZVZOZ2ouY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9hcHBsaWNhdGlvbi91dGlscy9tdXRhdGlvbkhlbHBlci50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi91dGlscy9lbGVtZW50T2JzZXJ2ZXIudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vdXRpbHMvZG9tT2JzZXJ2ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tcGFyZVRva2VucyA9IChvcmlnaW5hbDogc3RyaW5nLCBjb21wYXJpc29uOiBzdHJpbmcpID0+IHtcbiAgY29uc3Qgb3JpZ2luYWxUb2tlbnMgPSBuZXcgU2V0KG9yaWdpbmFsLnNwbGl0KCcgJykpO1xuICBjb25zdCBjb21wYXJpc29uVG9rZW5zID0gbmV3IFNldChjb21wYXJpc29uLnNwbGl0KCcgJykpO1xuICByZXR1cm4gWy4uLm9yaWdpbmFsVG9rZW5zXS5maWx0ZXIoKHRva2VuKSA9PiAhY29tcGFyaXNvblRva2Vucy5oYXModG9rZW4pKTtcbn07XG5cbmV4cG9ydCBjbGFzcyBNdXRhdGlvbkhlbHBlciB7XG4gIHN0YXRpYyBmaXJlQ2xhc3NDaGFuZ2UoXG4gICAgcmVjb3JkOiBNdXRhdGlvblJlY29yZCxcbiAgICBub2RlOiBIVE1MRWxlbWVudCB8IG51bGwsXG4gICAgZm46IChjbGFzc2VzOiBET01Ub2tlbkxpc3QpID0+IHZvaWQsXG4gICkge1xuICAgIGlmIChub2RlICYmIHJlY29yZC5vbGRWYWx1ZSAhPT0gbm9kZT8uY2xhc3NMaXN0LnZhbHVlKSB7XG4gICAgICBmbihub2RlPy5jbGFzc0xpc3QpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmaXJlQ2xhc3NBZGRlZChcbiAgICByZWNvcmQ6IE11dGF0aW9uUmVjb3JkLFxuICAgIG5vZGU6IEhUTUxFbGVtZW50IHwgbnVsbCxcbiAgICBjbGFzc01hcDogTWFwPHN0cmluZywgKCkgPT4gdm9pZD4sXG4gICkge1xuICAgIGlmIChub2RlICYmIHJlY29yZC5vbGRWYWx1ZSkge1xuICAgICAgY29uc3QgdG9rZW5zID0gY29tcGFyZVRva2Vucyhub2RlPy5jbGFzc0xpc3QudmFsdWUsIHJlY29yZC5vbGRWYWx1ZSk7XG4gICAgICB0b2tlbnMuZm9yRWFjaCgoY2xhc3NOYW1lKSA9PiBjbGFzc01hcC5nZXQoY2xhc3NOYW1lKT8uKCkpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmaXJlQ2xhc3NSZW1vdmVkKFxuICAgIHJlY29yZDogTXV0YXRpb25SZWNvcmQsXG4gICAgbm9kZTogSFRNTEVsZW1lbnQgfCBudWxsLFxuICAgIGNsYXNzTWFwOiBNYXA8c3RyaW5nLCAoKSA9PiB2b2lkPixcbiAgKSB7XG4gICAgaWYgKG5vZGUgJiYgcmVjb3JkLm9sZFZhbHVlKSB7XG4gICAgICBjb25zdCB0b2tlbnMgPSBjb21wYXJlVG9rZW5zKHJlY29yZC5vbGRWYWx1ZSwgbm9kZT8uY2xhc3NMaXN0LnZhbHVlKTtcbiAgICAgIHRva2Vucy5mb3JFYWNoKChjbGFzc05hbWUpID0+IGNsYXNzTWFwLmdldChjbGFzc05hbWUpPy4oKSk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGZpcmVTdWJ0cmVlQ2hhbmdlKG5vZGVzOiBOb2RlTGlzdCwgZm4/OiAobm9kZXM6IE5vZGVMaXN0KSA9PiB2b2lkKSB7XG4gICAgbm9kZXMubGVuZ3RoICYmIGZuPy4obm9kZXMpO1xuICB9XG5cbiAgc3RhdGljIGlzQ2xhc3MobXV0YXRpb246IE11dGF0aW9uUmVjb3JkKSB7XG4gICAgcmV0dXJuIG11dGF0aW9uLnR5cGUgPT09ICdhdHRyaWJ1dGVzJyAmJiBtdXRhdGlvbi5hdHRyaWJ1dGVOYW1lID09PSAnY2xhc3MnO1xuICB9XG5cbiAgc3RhdGljIGlzQ2hpbGRMaXN0KG11dGF0aW9uOiBNdXRhdGlvblJlY29yZCkge1xuICAgIHJldHVybiBtdXRhdGlvbi50eXBlID09PSAnY2hpbGRMaXN0JztcbiAgfVxufVxuIiwiaW1wb3J0IHsgUmVhY3RFbGVtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IE1vdXNlRXZlbnRUeXBlcyB9IGZyb20gJy4vbW91c2VFdmVudFR5cGVzJztcbmltcG9ydCB7IE11dGF0aW9uSGVscGVyIH0gZnJvbSAnLi9tdXRhdGlvbkhlbHBlcic7XG5pbXBvcnQgeyBOb2RlU2VsZWN0b3IgfSBmcm9tICcuL25vZGVTZWxlY3Rvcic7XG5cbi8qKlxuICogVGhlIGBFbGVtZW50T2JzZXJ2ZXJgIGNsYXNzIG1vbml0b3JzIGFsbCBjaGFuZ2VzIHJlbGF0ZWQgdG8gdGhlIHNwZWNpZmljIGVsZW1lbnQgaXQgaXMgcmVzcG9uc2libGUgZm9yLlxuICogSXQgaXMgYXV0b21hdGljYWxseSBpbnN0YW50aWF0ZWQgYnkgdGhlIGB1c2VFbGVtZW50T2JzZXJ2ZXJgIGhvb2ssIHdoaWNoIG1hbmFnZXMgYWxsIGluc3RhbmNlcyBvZiB0aGlzIGNsYXNzLlxuICpcbiAqIEhvdyBpdCB3b3JrczpcbiAqXG4gKiBFYWNoIGluc3RhbmNlIG9mIGBFbGVtZW50T2JzZXJ2ZXJgIGhvbGRzIHNldmVyYWwgcGllY2VzIG9mIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gdGhlIG5vZGUgaXQgaXMgbW9uaXRvcmluZyxcbiAqIHN1Y2ggYXMgdGhlIG5vZGUncyBzZWxlY3RvciBhbmQgaXRzIGBNdXRhdGlvbk9ic2VydmVyYC4gVGhpcyBjbGFzcyBpcyByZXNwb25zaWJsZSBmb3IgdHJhbnNsYXRpbmcgcmF3IG5vZGVcbiAqIGNoYW5nZXMgaW50byBhIG1vcmUgdXNlci1mcmllbmRseSBmb3JtYXQuIEZvciBleGFtcGxlLCB3aGVuIHRoZSBub2RlIGlzIGFkZGVkIHRvIHRoZSBET00sIHRoZSBgRWxlbWVudE9ic2VydmVyYFxuICogaXMgbm90aWZpZWQgYnkgdGhlIGBET01PYnNlcnZlcmAsIHdoaWNoIHRyaWdnZXJzIHRoZSBgb25BZGRgIGNhbGxiYWNrIGZ1bmN0aW9uIG9uIHRoZSByZXNwZWN0aXZlIGB1c2VFbGVtZW50T2JzZXJ2ZXJgXG4gKiBpbnN0YW5jZS5cbiAqXG4gKiBJbnN0YW5jZXMgb2YgYEVsZW1lbnRPYnNlcnZlcmAgYXJlIGZ1bGx5IG1hbmFnZWQgYnkgdGhlIGB1c2VFbGVtZW50T2JzZXJ2ZXJgIGhvb2ssIHJlcXVpcmluZyBubyBhZGRpdGlvbmFsIGNvbmZpZ3VyYXRpb24uXG4gKiBXaGVuIHRoZSBob29rIGlzIGRlc3Ryb3llZCwgaXRzIGNvcnJlc3BvbmRpbmcgYEVsZW1lbnRPYnNlcnZlcmAgaW5zdGFuY2UgaXMgYXV0b21hdGljYWxseSByZW1vdmVkLlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIEVsZW1lbnRPYnNlcnZlciB7XG4gIHByaXZhdGUgbXV0YXRpb246IE11dGF0aW9uT2JzZXJ2ZXIgfCBudWxsO1xuXG4gIHByaXZhdGUgbm9kZTogSFRNTEVsZW1lbnQgfCBudWxsO1xuXG4gIHByaXZhdGUgc2VsZWN0b3I6IE5vZGVTZWxlY3RvcjtcblxuICBwcml2YXRlIGV2ZW50TGlzdGVuZXJzOiBNYXA8a2V5b2YgSFRNTEVsZW1lbnRFdmVudE1hcCwgRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdD47XG5cbiAgcHJpdmF0ZSBjbGFzc0FkZGVkOiBNYXA8c3RyaW5nLCAoKSA9PiB2b2lkPjtcblxuICBwcml2YXRlIGNsYXNzUmVtb3ZlZDogTWFwPHN0cmluZywgKCkgPT4gdm9pZD47XG5cbiAgcHJpdmF0ZSBub2RlRGlzcGxheTogc3RyaW5nO1xuXG4gIHByaXZhdGUgYWRkRm46IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgcmVtb3ZlRm46IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgY2hhbmdlRm46IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgY2xhc3NDaGFuZ2VGbjogKGNsYXNzZXM/OiBET01Ub2tlbkxpc3QpID0+IHZvaWQ7XG5cbiAgcHJpdmF0ZSBhZGRDaGlsZEZuPzogKCkgPT4gdm9pZDtcblxuICBwcml2YXRlIHJlbW92ZUNoaWxkRm4/OiAoKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgcmVzZXRGbjogKCkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcihzZWxlY3RvcjogTm9kZVNlbGVjdG9yKSB7XG4gICAgdGhpcy5zZWxlY3RvciA9IHNlbGVjdG9yO1xuICAgIHRoaXMubXV0YXRpb24gPSBudWxsO1xuICAgIHRoaXMubm9kZSA9IG51bGw7XG4gICAgdGhpcy5ldmVudExpc3RlbmVycyA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLmNsYXNzQWRkZWQgPSBuZXcgTWFwKCk7XG4gICAgdGhpcy5jbGFzc1JlbW92ZWQgPSBuZXcgTWFwKCk7XG4gICAgdGhpcy5ub2RlRGlzcGxheSA9ICdibG9jayc7XG4gICAgdGhpcy5hZGRGbiA9ICgpID0+IHt9O1xuICAgIHRoaXMucmVtb3ZlRm4gPSAoKSA9PiB7fTtcbiAgICB0aGlzLmNoYW5nZUZuID0gKCkgPT4ge307XG4gICAgdGhpcy5jbGFzc0NoYW5nZUZuID0gKCkgPT4ge307XG4gICAgdGhpcy5hZGRDaGlsZEZuID0gdW5kZWZpbmVkO1xuICAgIHRoaXMucmVtb3ZlQ2hpbGRGbiA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnJlc2V0Rm4gPSAoKSA9PiB7fTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQXR0cmlidXRlcyhtdXRhdGlvblJlY29yZDogTXV0YXRpb25SZWNvcmRbXSkge1xuICAgIG11dGF0aW9uUmVjb3JkLmZpbHRlcihNdXRhdGlvbkhlbHBlci5pc0NsYXNzKS5mb3JFYWNoKChtdXRhdGlvbikgPT4ge1xuICAgICAgTXV0YXRpb25IZWxwZXIuZmlyZUNsYXNzQ2hhbmdlKG11dGF0aW9uLCB0aGlzLm5vZGUsIHRoaXMuY2xhc3NDaGFuZ2VGbik7XG4gICAgICBNdXRhdGlvbkhlbHBlci5maXJlQ2xhc3NBZGRlZChtdXRhdGlvbiwgdGhpcy5ub2RlLCB0aGlzLmNsYXNzQWRkZWQpO1xuICAgICAgTXV0YXRpb25IZWxwZXIuZmlyZUNsYXNzUmVtb3ZlZChtdXRhdGlvbiwgdGhpcy5ub2RlLCB0aGlzLmNsYXNzUmVtb3ZlZCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNoaWxkTGlzdChtdXRhdGlvblJlY29yZDogTXV0YXRpb25SZWNvcmRbXSkge1xuICAgIGlmICghdGhpcy5hZGRDaGlsZEZuICYmICF0aGlzLnJlbW92ZUNoaWxkRm4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBtdXRhdGlvblJlY29yZC5maWx0ZXIoTXV0YXRpb25IZWxwZXIuaXNDaGlsZExpc3QpLmZvckVhY2goKG11dGF0aW9uKSA9PiB7XG4gICAgICBNdXRhdGlvbkhlbHBlci5maXJlU3VidHJlZUNoYW5nZShtdXRhdGlvbi5hZGRlZE5vZGVzLCB0aGlzLmFkZENoaWxkRm4pO1xuICAgICAgTXV0YXRpb25IZWxwZXIuZmlyZVN1YnRyZWVDaGFuZ2UobXV0YXRpb24ucmVtb3ZlZE5vZGVzLCB0aGlzLnJlbW92ZUNoaWxkRm4pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRJbml0aWFsTGlzdGVuZXJzKCkge1xuICAgIHRoaXMuZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgodiwgaykgPT4gdGhpcy5ub2RlPy5hZGRFdmVudExpc3RlbmVyKGssIHYpKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJFdmVudExpc3RlbmVycygpIHtcbiAgICB0aGlzLmV2ZW50TGlzdGVuZXJzLmZvckVhY2goKHYsIGspID0+IHRoaXMubm9kZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcihrLCB2KSk7XG4gICAgdGhpcy5ldmVudExpc3RlbmVycy5jbGVhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5ldyhuZXdOb2RlOiBOb2RlIHwgbnVsbCkge1xuICAgIGlmIChuZXdOb2RlKSB7XG4gICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMud2F0Y2gobmV3Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0U2VsZWN0b3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0b3I7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBzeW5jaHJvbml6ZSgpIHtcbiAgICBjb25zdCBwYXJzZWROb2RlID0gdGhpcy5nZXRTZWxlY3RvcigpLnBhcnNlKCk7XG5cbiAgICBpZiAodGhpcy5nZXROb2RlKCkgIT09IHBhcnNlZE5vZGUpIHtcbiAgICAgIHRoaXMucmVuZXcocGFyc2VkTm9kZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmdldE5vZGUoKSAmJiBwYXJzZWROb2RlKSB7XG4gICAgICB0aGlzLndhdGNoKHBhcnNlZE5vZGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmdldE5vZGUoKSAmJiAhcGFyc2VkTm9kZSkge1xuICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgfVxuICB9XG5cbiAgaW5pdCgpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5nZXRTZWxlY3RvcigpLnBhcnNlKCk7XG4gICAgaWYgKG5vZGUpIHtcbiAgICAgIHRoaXMud2F0Y2gobm9kZSk7XG4gICAgfVxuICB9XG5cbiAgd2F0Y2gobm9kZTogTm9kZSkge1xuICAgIGlmICghdGhpcy5tdXRhdGlvbikge1xuICAgICAgdGhpcy5tdXRhdGlvbiA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvblJlY29yZCkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZUF0dHJpYnV0ZXMobXV0YXRpb25SZWNvcmQpO1xuICAgICAgICB0aGlzLmhhbmRsZUNoaWxkTGlzdChtdXRhdGlvblJlY29yZCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRm4odGhpcy5ub2RlKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5tdXRhdGlvbi5vYnNlcnZlKG5vZGUsIHtcbiAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICBhdHRyaWJ1dGVPbGRWYWx1ZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5ub2RlID0gbm9kZSBhcyBIVE1MRWxlbWVudDtcbiAgICAgIHRoaXMuYWRkRm4odGhpcy5ub2RlKTtcbiAgICAgIHRoaXMuYWRkSW5pdGlhbExpc3RlbmVycygpO1xuICAgIH1cbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5yZXNldEZuKCk7XG4gICAgdGhpcy5yZW1vdmVGbih0aGlzLm5vZGUpO1xuICAgIHRoaXMubXV0YXRpb24/LmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLmNsZWFyRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLmNsYXNzQWRkZWQuY2xlYXIoKTtcbiAgICB0aGlzLmNsYXNzUmVtb3ZlZC5jbGVhcigpO1xuICAgIHRoaXMubXV0YXRpb24gPSBudWxsO1xuICAgIHRoaXMubm9kZSA9IG51bGw7XG4gIH1cblxuICByZW5kZXIoZm46ICgpID0+IFJlYWN0RWxlbWVudCkge1xuICAgIGlmICh0aGlzLm5vZGUpIHtcbiAgICAgIHJldHVybiBjcmVhdGVQb3J0YWwoZm4oKSwgdGhpcy5ub2RlKTtcbiAgICB9XG4gIH1cblxuICBmaXJlKGV2ZW50OiBNb3VzZUV2ZW50VHlwZXMpIHtcbiAgICBpZiAodGhpcy5ub2RlKSB7XG4gICAgICB0aGlzLm5vZGUuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgbmV3IE1vdXNlRXZlbnQoZXZlbnQsIHtcbiAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgICAgdmlldzogd2luZG93LFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgc2hvdygpIHtcbiAgICBjb25zdCBkaXNwbGF5ID0gdGhpcy5ub2RlPy5zdHlsZS5kaXNwbGF5O1xuICAgIGlmICh0aGlzLm5vZGUgJiYgZGlzcGxheSA9PT0gJ25vbmUnKSB7XG4gICAgICB0aGlzLm5vZGUuc3R5bGUuZGlzcGxheSA9IHRoaXMubm9kZURpc3BsYXkgfHwgJ2Jsb2NrJztcbiAgICB9XG4gIH1cblxuICBoaWRlKCkge1xuICAgIGNvbnN0IGRpc3BsYXkgPSB0aGlzLm5vZGU/LnN0eWxlLmRpc3BsYXk7XG4gICAgaWYgKHRoaXMubm9kZSAmJiBkaXNwbGF5ICE9PSAnbm9uZScpIHtcbiAgICAgIHRoaXMubm9kZURpc3BsYXkgPSBkaXNwbGF5IHx8ICdibG9jayc7XG4gICAgICB0aGlzLm5vZGUuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICB9XG4gIH1cblxuICByZWdpc3RlckV2ZW50KGV2ZW50OiBrZXlvZiBIVE1MRWxlbWVudEV2ZW50TWFwLCBmbjogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCkge1xuICAgIGlmICh0aGlzLm5vZGUpIHtcbiAgICAgIGNvbnN0IHByZXZpb3VzRm4gPSB0aGlzLmV2ZW50TGlzdGVuZXJzLmdldChldmVudCk7XG4gICAgICBpZiAocHJldmlvdXNGbikge1xuICAgICAgICB0aGlzLm5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudCwgcHJldmlvdXNGbik7XG4gICAgICB9XG4gICAgICB0aGlzLm5vZGUuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgZm4pO1xuICAgIH1cbiAgICB0aGlzLmV2ZW50TGlzdGVuZXJzLnNldChldmVudCwgZm4pO1xuICB9XG5cbiAgcmVnaXN0ZXJPblJlc2V0KGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5yZXNldEZuID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoZWw6IEhUTUxFbGVtZW50IHwgbnVsbCkgPT4gdm9pZCkge1xuICAgIHRoaXMuY2hhbmdlRm4gPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25BZGQoZm46IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5hZGRGbiA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblJlbW92ZShmbjogKGVsOiBIVE1MRWxlbWVudCB8IG51bGwpID0+IHZvaWQpIHtcbiAgICB0aGlzLnJlbW92ZUZuID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uY2xhc3NDaGFuZ2UoZm46IChjbGFzc2VzPzogRE9NVG9rZW5MaXN0KSA9PiB2b2lkKSB7XG4gICAgdGhpcy5jbGFzc0NoYW5nZUZuID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uQWRkQ2hpbGQoZm46IChjbGFzc2VzPzogRE9NVG9rZW5MaXN0KSA9PiB2b2lkKSB7XG4gICAgdGhpcy5hZGRDaGlsZEZuID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uUmVtb3ZlQ2hpbGQoZm46IChjbGFzc2VzPzogRE9NVG9rZW5MaXN0KSA9PiB2b2lkKSB7XG4gICAgdGhpcy5yZW1vdmVDaGlsZEZuID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uQ2xhc3NBZGRlZChjbGFzc05hbWU6IHN0cmluZywgZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLmNsYXNzQWRkZWQuc2V0KGNsYXNzTmFtZSwgZm4pO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNsYXNzUmVtb3ZlZChjbGFzc05hbWU6IHN0cmluZywgZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLmNsYXNzUmVtb3ZlZC5zZXQoY2xhc3NOYW1lLCBmbik7XG4gIH1cbn1cbiIsImltcG9ydCB7IEVsZW1lbnRPYnNlcnZlciB9IGZyb20gJy4vZWxlbWVudE9ic2VydmVyJztcbmltcG9ydCB7IE5vZGVTZWxlY3RvciB9IGZyb20gJy4vbm9kZVNlbGVjdG9yJztcblxuLyoqXG4gKiBUaGlzIGNsYXNzIG1hbmFnZXMgYSBgTXV0YXRpb25PYnNlcnZlcmAgZm9yIHRoZSBgZG9jdW1lbnQuYm9keWAuIEl0IG1vbml0b3JzIG5vZGVzIHRoYXQgYXJlXG4gKiBhZGRlZCBvciByZW1vdmVkIGZyb20gdGhlIERPTSBhbmQgbm90aWZpZXMgdGhlIG9ic2VydmVycyBmb3IgZWFjaCBvYnNlcnZhYmxlIGVsZW1lbnRcbiAqIHdoZW4gdGhleSBhcmUgcmVhZHkgdG8gYmUgd2F0Y2hlZC5cbiAqXG4gKiBIb3cgdGhhdCB3b3JrczpcbiAqXG4gKiBXaGVuIHRoZSBgb2JzZXJ2ZWAgZnVuY3Rpb24gaXMgY2FsbGVkLCBpdCBhdHRhY2hlcyBhIGBNdXRhdGlvbk9ic2VydmVyYCB0byB0aGUgYGRvY3VtZW50LmJvZHlgIGVsZW1lbnQuXG4gKiBBbGwgY2hhbmdlcyB0byBgZG9jdW1lbnQuYm9keWAgYXJlIHRyYWNrZWQgYnkgdGhpcyBvYnNlcnZlci4gV2hlbiBjaGFuZ2VzIGFyZSBkZXRlY3RlZCwgdGhlIGBNdXRhdGlvbk9ic2VydmVyYFxuICogaXRlcmF0ZXMgdGhyb3VnaCBhbGwgYWRkZWQgYW5kIHJlbW92ZWQgbm9kZXMgYW5kIGNoZWNrcyBpZiBlYWNoIG5vZGUgZXhpc3RzIGluIHRoZSBtYWluIG1hcCBvZiBvYnNlcnZhYmxlIGVsZW1lbnRzLlxuICpcbiAqIElmIGEgbWF0Y2ggaXMgZm91bmQsIGl0IG5vdGlmaWVzIHRoZSBjb3JyZXNwb25kaW5nIGBFbGVtZW50T2JzZXJ2ZXJgIGluc3RhbmNlIHRvIHN0YXJ0IG1vbml0b3JpbmcgY2hhbmdlcyBmb3IgdGhhdCBlbGVtZW50LlxuICpcbiAqIFRoZSBwcmltYXJ5IGBNdXRhdGlvbk9ic2VydmVyYCByZW1haW5zIGFjdGl2ZSB1bnRpbCB0aGUgYGRlc3Ryb3lgIGZ1bmN0aW9uIGlzIGNhbGxlZC4gQ2FsbGluZyBgZGVzdHJveWAgd2lsbCBkaXNjb25uZWN0IGFsbFxuICogaW5kaXZpZHVhbCBlbGVtZW50IG9ic2VydmVycyBhbmQgcmVsZWFzZSBhbnkgYXNzb2NpYXRlZCByZXNvdXJjZXMuXG4gKlxuICogVGhlcmUgaXMgbm8gbmVlZCB0byBleHBsaWNpdGx5IGNhbGwgdGhlIGBvYnNlcnZlYCBmdW5jdGlvbi4gSXQgaXMgYXV0b21hdGljYWxseSBpbnZva2VkIHdoZW4gYSBgdXNlRWxlbWVudE9ic2VydmVyYCBob29rIGlzIGluc3RhbnRpYXRlZC5cbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBET01PYnNlcnZlciB7XG4gIHByaXZhdGUgc3RhdGljIGRvY3VtZW50T2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfCBudWxsO1xuICBwcml2YXRlIHN0YXRpYyBsaXN0ZW5lcnM6IE1hcDxzdHJpbmcsIEVsZW1lbnRPYnNlcnZlcj4gPSBuZXcgTWFwKCk7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbm90aWZ5QWRpdGlvbihyZWNvcmRzOiBNdXRhdGlvblJlY29yZFtdLCBub2RlTWFwcGluZzogTWFwPE5vZGUsIEVsZW1lbnRPYnNlcnZlcj4pIHtcbiAgICByZWNvcmRzLmZvckVhY2goKHJlY29yZCkgPT5cbiAgICAgIHJlY29yZC5hZGRlZE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgbm9kZU1hcHBpbmcuZ2V0KG5vZGUpPy53YXRjaChub2RlKTtcbiAgICAgICAgbm9kZU1hcHBpbmcuZGVsZXRlKG5vZGUpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG5vdGlmeVJlbW92YWwocmVjb3JkczogTXV0YXRpb25SZWNvcmRbXSwgbm9kZU1hcHBpbmc6IE1hcDxOb2RlLCBFbGVtZW50T2JzZXJ2ZXI+KSB7XG4gICAgcmVjb3Jkcy5mb3JFYWNoKChyZWNvcmQpID0+XG4gICAgICByZWNvcmQucmVtb3ZlZE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgbm9kZU1hcHBpbmcuZ2V0KG5vZGUpPy5kZXN0cm95KCk7XG4gICAgICAgIG5vZGVNYXBwaW5nLmRlbGV0ZShub2RlKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBub3RpZnlDaGlsZHJlbkNoYW5nZXMobm9kZU1hcHBpbmc6IE1hcDxOb2RlLCBFbGVtZW50T2JzZXJ2ZXI+KSB7XG4gICAgQXJyYXkuZnJvbShub2RlTWFwcGluZy52YWx1ZXMoKSkuZm9yRWFjaCgob2JzZXJ2ZXIpID0+IG9ic2VydmVyLnN5bmNocm9uaXplKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbWFwTm9kZUluc3RhbmNlc1RvTGlzdGVuZXJzKCk6IE1hcDxOb2RlLCBFbGVtZW50T2JzZXJ2ZXI+IHtcbiAgICBjb25zdCBub2RlTWFwcGluZyA9IG5ldyBNYXA8Tm9kZSwgRWxlbWVudE9ic2VydmVyPigpO1xuICAgIHRoaXMubGlzdGVuZXJzLmZvckVhY2goKG9ic2VydmVyKSA9PiB7XG4gICAgICBjb25zdCBub2RlID0gb2JzZXJ2ZXIuZ2V0Tm9kZSgpIHx8IG9ic2VydmVyLmdldFNlbGVjdG9yKCk/LnBhcnNlKCk7XG4gICAgICBpZiAobm9kZSkge1xuICAgICAgICBub2RlTWFwcGluZy5zZXQobm9kZSwgb2JzZXJ2ZXIpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBub2RlTWFwcGluZztcbiAgfVxuXG4gIHN0YXRpYyBhZGQoc2VsZWN0b3I6IE5vZGVTZWxlY3Rvcik6IEVsZW1lbnRPYnNlcnZlciB7XG4gICAgY29uc3Qgbm9kZSA9IHNlbGVjdG9yLmdldFBhdHRlcm4oKTtcbiAgICBsZXQgZWxlbWVudE9ic2VydmVyID0gdGhpcy5saXN0ZW5lcnMuZ2V0KG5vZGUpO1xuICAgIGlmIChlbGVtZW50T2JzZXJ2ZXIpIHtcbiAgICAgIHJldHVybiBlbGVtZW50T2JzZXJ2ZXI7XG4gICAgfVxuXG4gICAgZWxlbWVudE9ic2VydmVyID0gbmV3IEVsZW1lbnRPYnNlcnZlcihzZWxlY3Rvcik7XG4gICAgdGhpcy5saXN0ZW5lcnMuc2V0KG5vZGUsIGVsZW1lbnRPYnNlcnZlcik7XG4gICAgcmV0dXJuIGVsZW1lbnRPYnNlcnZlcjtcbiAgfVxuXG4gIHN0YXRpYyByZW1vdmUoc2VsZWN0b3I6IE5vZGVTZWxlY3Rvcikge1xuICAgIGNvbnN0IG5vZGUgPSBzZWxlY3Rvci5nZXRQYXR0ZXJuKCk7XG4gICAgdGhpcy5saXN0ZW5lcnMuZ2V0KG5vZGUpPy5kZXN0cm95KCk7XG4gICAgdGhpcy5saXN0ZW5lcnMuZGVsZXRlKG5vZGUpO1xuICB9XG5cbiAgc3RhdGljIG9ic2VydmUoKSB7XG4gICAgaWYgKCF0aGlzLmRvY3VtZW50T2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMuZG9jdW1lbnRPYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcbiAgICAgICAgY29uc3Qgbm9kZU1hcHBpbmcgPSB0aGlzLm1hcE5vZGVJbnN0YW5jZXNUb0xpc3RlbmVycygpO1xuICAgICAgICB0aGlzLm5vdGlmeUFkaXRpb24obXV0YXRpb25zLCBub2RlTWFwcGluZyk7XG4gICAgICAgIHRoaXMubm90aWZ5UmVtb3ZhbChtdXRhdGlvbnMsIG5vZGVNYXBwaW5nKTtcbiAgICAgICAgdGhpcy5ub3RpZnlDaGlsZHJlbkNoYW5nZXMobm9kZU1hcHBpbmcpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmRvY3VtZW50T2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9KTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZGVzdHJveSgpIHtcbiAgICB0aGlzLmRvY3VtZW50T2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKChsaXN0ZW5lcikgPT4gbGlzdGVuZXIuZGVzdHJveSgpKTtcbiAgICB0aGlzLmxpc3RlbmVycy5jbGVhcigpO1xuICAgIHRoaXMuZG9jdW1lbnRPYnNlcnZlciA9IG51bGw7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxNQUFNLGlCQUFpQixVQUFrQixlQUF1QjtDQUM5RCxNQUFNLGlCQUFpQixJQUFJLElBQUksU0FBUyxNQUFNLElBQUksQ0FBQztDQUNuRCxNQUFNLG1CQUFtQixJQUFJLElBQUksV0FBVyxNQUFNLElBQUksQ0FBQztBQUN2RCxRQUFPLENBQUMsR0FBRyxlQUFlLENBQUMsUUFBUSxVQUFVLENBQUMsaUJBQWlCLElBQUksTUFBTSxDQUFDOztBQUc1RSxJQUFh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
|
|
304
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tT2JzZXJ2ZXItRG82UkFKZGYuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9hcHBsaWNhdGlvbi91dGlscy9tdXRhdGlvbkhlbHBlci50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi91dGlscy9lbGVtZW50T2JzZXJ2ZXIudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vdXRpbHMvZG9tT2JzZXJ2ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY29tcGFyZVRva2VucyA9IChvcmlnaW5hbDogc3RyaW5nLCBjb21wYXJpc29uOiBzdHJpbmcpID0+IHtcbiAgY29uc3Qgb3JpZ2luYWxUb2tlbnMgPSBuZXcgU2V0KG9yaWdpbmFsLnNwbGl0KCcgJykpO1xuICBjb25zdCBjb21wYXJpc29uVG9rZW5zID0gbmV3IFNldChjb21wYXJpc29uLnNwbGl0KCcgJykpO1xuICByZXR1cm4gWy4uLm9yaWdpbmFsVG9rZW5zXS5maWx0ZXIoKHRva2VuKSA9PiAhY29tcGFyaXNvblRva2Vucy5oYXModG9rZW4pKTtcbn07XG5cbmV4cG9ydCBjbGFzcyBNdXRhdGlvbkhlbHBlciB7XG4gIHN0YXRpYyBmaXJlQ2xhc3NDaGFuZ2UoXG4gICAgcmVjb3JkOiBNdXRhdGlvblJlY29yZCxcbiAgICBub2RlOiBIVE1MRWxlbWVudCB8IG51bGwsXG4gICAgZm46IChjbGFzc2VzOiBET01Ub2tlbkxpc3QpID0+IHZvaWQsXG4gICkge1xuICAgIGlmIChub2RlICYmIHJlY29yZC5vbGRWYWx1ZSAhPT0gbm9kZT8uY2xhc3NMaXN0LnZhbHVlKSB7XG4gICAgICBmbihub2RlPy5jbGFzc0xpc3QpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmaXJlQ2xhc3NBZGRlZChcbiAgICByZWNvcmQ6IE11dGF0aW9uUmVjb3JkLFxuICAgIG5vZGU6IEhUTUxFbGVtZW50IHwgbnVsbCxcbiAgICBjbGFzc01hcDogTWFwPHN0cmluZywgKCkgPT4gdm9pZD4sXG4gICkge1xuICAgIGlmIChub2RlICYmIHJlY29yZC5vbGRWYWx1ZSkge1xuICAgICAgY29uc3QgdG9rZW5zID0gY29tcGFyZVRva2Vucyhub2RlPy5jbGFzc0xpc3QudmFsdWUsIHJlY29yZC5vbGRWYWx1ZSk7XG4gICAgICB0b2tlbnMuZm9yRWFjaCgoY2xhc3NOYW1lKSA9PiBjbGFzc01hcC5nZXQoY2xhc3NOYW1lKT8uKCkpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmaXJlQ2xhc3NSZW1vdmVkKFxuICAgIHJlY29yZDogTXV0YXRpb25SZWNvcmQsXG4gICAgbm9kZTogSFRNTEVsZW1lbnQgfCBudWxsLFxuICAgIGNsYXNzTWFwOiBNYXA8c3RyaW5nLCAoKSA9PiB2b2lkPixcbiAgKSB7XG4gICAgaWYgKG5vZGUgJiYgcmVjb3JkLm9sZFZhbHVlKSB7XG4gICAgICBjb25zdCB0b2tlbnMgPSBjb21wYXJlVG9rZW5zKHJlY29yZC5vbGRWYWx1ZSwgbm9kZT8uY2xhc3NMaXN0LnZhbHVlKTtcbiAgICAgIHRva2Vucy5mb3JFYWNoKChjbGFzc05hbWUpID0+IGNsYXNzTWFwLmdldChjbGFzc05hbWUpPy4oKSk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGZpcmVTdWJ0cmVlQ2hhbmdlKG5vZGVzOiBOb2RlTGlzdCwgZm4/OiAobm9kZXM6IE5vZGVMaXN0KSA9PiB2b2lkKSB7XG4gICAgbm9kZXMubGVuZ3RoICYmIGZuPy4obm9kZXMpO1xuICB9XG5cbiAgc3RhdGljIGlzQ2xhc3MobXV0YXRpb246IE11dGF0aW9uUmVjb3JkKSB7XG4gICAgcmV0dXJuIG11dGF0aW9uLnR5cGUgPT09ICdhdHRyaWJ1dGVzJyAmJiBtdXRhdGlvbi5hdHRyaWJ1dGVOYW1lID09PSAnY2xhc3MnO1xuICB9XG5cbiAgc3RhdGljIGlzQ2hpbGRMaXN0KG11dGF0aW9uOiBNdXRhdGlvblJlY29yZCkge1xuICAgIHJldHVybiBtdXRhdGlvbi50eXBlID09PSAnY2hpbGRMaXN0JztcbiAgfVxufVxuIiwiaW1wb3J0IHsgUmVhY3RFbGVtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IE1vdXNlRXZlbnRUeXBlcyB9IGZyb20gJy4vbW91c2VFdmVudFR5cGVzJztcbmltcG9ydCB7IE11dGF0aW9uSGVscGVyIH0gZnJvbSAnLi9tdXRhdGlvbkhlbHBlcic7XG5pbXBvcnQgeyBOb2RlU2VsZWN0b3IgfSBmcm9tICcuL25vZGVTZWxlY3Rvcic7XG5cbi8qKlxuICogVGhlIGBFbGVtZW50T2JzZXJ2ZXJgIGNsYXNzIG1vbml0b3JzIGFsbCBjaGFuZ2VzIHJlbGF0ZWQgdG8gdGhlIHNwZWNpZmljIGVsZW1lbnQgaXQgaXMgcmVzcG9uc2libGUgZm9yLlxuICogSXQgaXMgYXV0b21hdGljYWxseSBpbnN0YW50aWF0ZWQgYnkgdGhlIGB1c2VFbGVtZW50T2JzZXJ2ZXJgIGhvb2ssIHdoaWNoIG1hbmFnZXMgYWxsIGluc3RhbmNlcyBvZiB0aGlzIGNsYXNzLlxuICpcbiAqIEhvdyBpdCB3b3JrczpcbiAqXG4gKiBFYWNoIGluc3RhbmNlIG9mIGBFbGVtZW50T2JzZXJ2ZXJgIGhvbGRzIHNldmVyYWwgcGllY2VzIG9mIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gdGhlIG5vZGUgaXQgaXMgbW9uaXRvcmluZyxcbiAqIHN1Y2ggYXMgdGhlIG5vZGUncyBzZWxlY3RvciBhbmQgaXRzIGBNdXRhdGlvbk9ic2VydmVyYC4gVGhpcyBjbGFzcyBpcyByZXNwb25zaWJsZSBmb3IgdHJhbnNsYXRpbmcgcmF3IG5vZGVcbiAqIGNoYW5nZXMgaW50byBhIG1vcmUgdXNlci1mcmllbmRseSBmb3JtYXQuIEZvciBleGFtcGxlLCB3aGVuIHRoZSBub2RlIGlzIGFkZGVkIHRvIHRoZSBET00sIHRoZSBgRWxlbWVudE9ic2VydmVyYFxuICogaXMgbm90aWZpZWQgYnkgdGhlIGBET01PYnNlcnZlcmAsIHdoaWNoIHRyaWdnZXJzIHRoZSBgb25BZGRgIGNhbGxiYWNrIGZ1bmN0aW9uIG9uIHRoZSByZXNwZWN0aXZlIGB1c2VFbGVtZW50T2JzZXJ2ZXJgXG4gKiBpbnN0YW5jZS5cbiAqXG4gKiBJbnN0YW5jZXMgb2YgYEVsZW1lbnRPYnNlcnZlcmAgYXJlIGZ1bGx5IG1hbmFnZWQgYnkgdGhlIGB1c2VFbGVtZW50T2JzZXJ2ZXJgIGhvb2ssIHJlcXVpcmluZyBubyBhZGRpdGlvbmFsIGNvbmZpZ3VyYXRpb24uXG4gKiBXaGVuIHRoZSBob29rIGlzIGRlc3Ryb3llZCwgaXRzIGNvcnJlc3BvbmRpbmcgYEVsZW1lbnRPYnNlcnZlcmAgaW5zdGFuY2UgaXMgYXV0b21hdGljYWxseSByZW1vdmVkLlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIEVsZW1lbnRPYnNlcnZlciB7XG4gIHByaXZhdGUgbXV0YXRpb246IE11dGF0aW9uT2JzZXJ2ZXIgfCBudWxsO1xuXG4gIHByaXZhdGUgbm9kZTogSFRNTEVsZW1lbnQgfCBudWxsO1xuXG4gIHByaXZhdGUgc2VsZWN0b3I6IE5vZGVTZWxlY3RvcjtcblxuICBwcml2YXRlIGV2ZW50TGlzdGVuZXJzOiBNYXA8a2V5b2YgSFRNTEVsZW1lbnRFdmVudE1hcCwgRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdD47XG5cbiAgcHJpdmF0ZSBjbGFzc0FkZGVkOiBNYXA8c3RyaW5nLCAoKSA9PiB2b2lkPjtcblxuICBwcml2YXRlIGNsYXNzUmVtb3ZlZDogTWFwPHN0cmluZywgKCkgPT4gdm9pZD47XG5cbiAgcHJpdmF0ZSBub2RlRGlzcGxheTogc3RyaW5nO1xuXG4gIHByaXZhdGUgYWRkRm46IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgcmVtb3ZlRm46IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgY2hhbmdlRm46IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgY2xhc3NDaGFuZ2VGbjogKGNsYXNzZXM/OiBET01Ub2tlbkxpc3QpID0+IHZvaWQ7XG5cbiAgcHJpdmF0ZSBhZGRDaGlsZEZuPzogKCkgPT4gdm9pZDtcblxuICBwcml2YXRlIHJlbW92ZUNoaWxkRm4/OiAoKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgcmVzZXRGbjogKCkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcihzZWxlY3RvcjogTm9kZVNlbGVjdG9yKSB7XG4gICAgdGhpcy5zZWxlY3RvciA9IHNlbGVjdG9yO1xuICAgIHRoaXMubXV0YXRpb24gPSBudWxsO1xuICAgIHRoaXMubm9kZSA9IG51bGw7XG4gICAgdGhpcy5ldmVudExpc3RlbmVycyA9IG5ldyBNYXAoKTtcbiAgICB0aGlzLmNsYXNzQWRkZWQgPSBuZXcgTWFwKCk7XG4gICAgdGhpcy5jbGFzc1JlbW92ZWQgPSBuZXcgTWFwKCk7XG4gICAgdGhpcy5ub2RlRGlzcGxheSA9ICdibG9jayc7XG4gICAgdGhpcy5hZGRGbiA9ICgpID0+IHt9O1xuICAgIHRoaXMucmVtb3ZlRm4gPSAoKSA9PiB7fTtcbiAgICB0aGlzLmNoYW5nZUZuID0gKCkgPT4ge307XG4gICAgdGhpcy5jbGFzc0NoYW5nZUZuID0gKCkgPT4ge307XG4gICAgdGhpcy5hZGRDaGlsZEZuID0gdW5kZWZpbmVkO1xuICAgIHRoaXMucmVtb3ZlQ2hpbGRGbiA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnJlc2V0Rm4gPSAoKSA9PiB7fTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQXR0cmlidXRlcyhtdXRhdGlvblJlY29yZDogTXV0YXRpb25SZWNvcmRbXSkge1xuICAgIG11dGF0aW9uUmVjb3JkLmZpbHRlcihNdXRhdGlvbkhlbHBlci5pc0NsYXNzKS5mb3JFYWNoKChtdXRhdGlvbikgPT4ge1xuICAgICAgTXV0YXRpb25IZWxwZXIuZmlyZUNsYXNzQ2hhbmdlKG11dGF0aW9uLCB0aGlzLm5vZGUsIHRoaXMuY2xhc3NDaGFuZ2VGbik7XG4gICAgICBNdXRhdGlvbkhlbHBlci5maXJlQ2xhc3NBZGRlZChtdXRhdGlvbiwgdGhpcy5ub2RlLCB0aGlzLmNsYXNzQWRkZWQpO1xuICAgICAgTXV0YXRpb25IZWxwZXIuZmlyZUNsYXNzUmVtb3ZlZChtdXRhdGlvbiwgdGhpcy5ub2RlLCB0aGlzLmNsYXNzUmVtb3ZlZCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNoaWxkTGlzdChtdXRhdGlvblJlY29yZDogTXV0YXRpb25SZWNvcmRbXSkge1xuICAgIGlmICghdGhpcy5hZGRDaGlsZEZuICYmICF0aGlzLnJlbW92ZUNoaWxkRm4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBtdXRhdGlvblJlY29yZC5maWx0ZXIoTXV0YXRpb25IZWxwZXIuaXNDaGlsZExpc3QpLmZvckVhY2goKG11dGF0aW9uKSA9PiB7XG4gICAgICBNdXRhdGlvbkhlbHBlci5maXJlU3VidHJlZUNoYW5nZShtdXRhdGlvbi5hZGRlZE5vZGVzLCB0aGlzLmFkZENoaWxkRm4pO1xuICAgICAgTXV0YXRpb25IZWxwZXIuZmlyZVN1YnRyZWVDaGFuZ2UobXV0YXRpb24ucmVtb3ZlZE5vZGVzLCB0aGlzLnJlbW92ZUNoaWxkRm4pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRJbml0aWFsTGlzdGVuZXJzKCkge1xuICAgIHRoaXMuZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgodiwgaykgPT4gdGhpcy5ub2RlPy5hZGRFdmVudExpc3RlbmVyKGssIHYpKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJFdmVudExpc3RlbmVycygpIHtcbiAgICB0aGlzLmV2ZW50TGlzdGVuZXJzLmZvckVhY2goKHYsIGspID0+IHRoaXMubm9kZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcihrLCB2KSk7XG4gICAgdGhpcy5ldmVudExpc3RlbmVycy5jbGVhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5ldyhuZXdOb2RlOiBOb2RlIHwgbnVsbCkge1xuICAgIGlmIChuZXdOb2RlKSB7XG4gICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMud2F0Y2gobmV3Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0U2VsZWN0b3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0b3I7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBzeW5jaHJvbml6ZSgpIHtcbiAgICBjb25zdCBwYXJzZWROb2RlID0gdGhpcy5nZXRTZWxlY3RvcigpLnBhcnNlKCk7XG5cbiAgICBpZiAodGhpcy5nZXROb2RlKCkgIT09IHBhcnNlZE5vZGUpIHtcbiAgICAgIHRoaXMucmVuZXcocGFyc2VkTm9kZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmdldE5vZGUoKSAmJiBwYXJzZWROb2RlKSB7XG4gICAgICB0aGlzLndhdGNoKHBhcnNlZE5vZGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmdldE5vZGUoKSAmJiAhcGFyc2VkTm9kZSkge1xuICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgfVxuICB9XG5cbiAgaW5pdCgpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5nZXRTZWxlY3RvcigpLnBhcnNlKCk7XG4gICAgaWYgKG5vZGUpIHtcbiAgICAgIHRoaXMud2F0Y2gobm9kZSk7XG4gICAgfVxuICB9XG5cbiAgd2F0Y2gobm9kZTogTm9kZSkge1xuICAgIGlmICghdGhpcy5tdXRhdGlvbikge1xuICAgICAgdGhpcy5tdXRhdGlvbiA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvblJlY29yZCkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZUF0dHJpYnV0ZXMobXV0YXRpb25SZWNvcmQpO1xuICAgICAgICB0aGlzLmhhbmRsZUNoaWxkTGlzdChtdXRhdGlvblJlY29yZCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRm4odGhpcy5ub2RlKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5tdXRhdGlvbi5vYnNlcnZlKG5vZGUsIHtcbiAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICBhdHRyaWJ1dGVPbGRWYWx1ZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5ub2RlID0gbm9kZSBhcyBIVE1MRWxlbWVudDtcbiAgICAgIHRoaXMuYWRkRm4odGhpcy5ub2RlKTtcbiAgICAgIHRoaXMuYWRkSW5pdGlhbExpc3RlbmVycygpO1xuICAgIH1cbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5yZXNldEZuKCk7XG4gICAgdGhpcy5yZW1vdmVGbih0aGlzLm5vZGUpO1xuICAgIHRoaXMubXV0YXRpb24/LmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLmNsZWFyRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLmNsYXNzQWRkZWQuY2xlYXIoKTtcbiAgICB0aGlzLmNsYXNzUmVtb3ZlZC5jbGVhcigpO1xuICAgIHRoaXMubXV0YXRpb24gPSBudWxsO1xuICAgIHRoaXMubm9kZSA9IG51bGw7XG4gIH1cblxuICByZW5kZXIoZm46ICgpID0+IFJlYWN0RWxlbWVudCkge1xuICAgIGlmICh0aGlzLm5vZGUpIHtcbiAgICAgIHJldHVybiBjcmVhdGVQb3J0YWwoZm4oKSwgdGhpcy5ub2RlKTtcbiAgICB9XG4gIH1cblxuICBmaXJlKGV2ZW50OiBNb3VzZUV2ZW50VHlwZXMpIHtcbiAgICBpZiAodGhpcy5ub2RlKSB7XG4gICAgICB0aGlzLm5vZGUuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgbmV3IE1vdXNlRXZlbnQoZXZlbnQsIHtcbiAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgICAgdmlldzogd2luZG93LFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgc2hvdygpIHtcbiAgICBjb25zdCBkaXNwbGF5ID0gdGhpcy5ub2RlPy5zdHlsZS5kaXNwbGF5O1xuICAgIGlmICh0aGlzLm5vZGUgJiYgZGlzcGxheSA9PT0gJ25vbmUnKSB7XG4gICAgICB0aGlzLm5vZGUuc3R5bGUuZGlzcGxheSA9IHRoaXMubm9kZURpc3BsYXkgfHwgJ2Jsb2NrJztcbiAgICB9XG4gIH1cblxuICBoaWRlKCkge1xuICAgIGNvbnN0IGRpc3BsYXkgPSB0aGlzLm5vZGU/LnN0eWxlLmRpc3BsYXk7XG4gICAgaWYgKHRoaXMubm9kZSAmJiBkaXNwbGF5ICE9PSAnbm9uZScpIHtcbiAgICAgIHRoaXMubm9kZURpc3BsYXkgPSBkaXNwbGF5IHx8ICdibG9jayc7XG4gICAgICB0aGlzLm5vZGUuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICB9XG4gIH1cblxuICByZWdpc3RlckV2ZW50KGV2ZW50OiBrZXlvZiBIVE1MRWxlbWVudEV2ZW50TWFwLCBmbjogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCkge1xuICAgIGlmICh0aGlzLm5vZGUpIHtcbiAgICAgIGNvbnN0IHByZXZpb3VzRm4gPSB0aGlzLmV2ZW50TGlzdGVuZXJzLmdldChldmVudCk7XG4gICAgICBpZiAocHJldmlvdXNGbikge1xuICAgICAgICB0aGlzLm5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudCwgcHJldmlvdXNGbik7XG4gICAgICB9XG4gICAgICB0aGlzLm5vZGUuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgZm4pO1xuICAgIH1cbiAgICB0aGlzLmV2ZW50TGlzdGVuZXJzLnNldChldmVudCwgZm4pO1xuICB9XG5cbiAgcmVnaXN0ZXJPblJlc2V0KGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5yZXNldEZuID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoZWw6IEhUTUxFbGVtZW50IHwgbnVsbCkgPT4gdm9pZCkge1xuICAgIHRoaXMuY2hhbmdlRm4gPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25BZGQoZm46IChlbDogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5hZGRGbiA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblJlbW92ZShmbjogKGVsOiBIVE1MRWxlbWVudCB8IG51bGwpID0+IHZvaWQpIHtcbiAgICB0aGlzLnJlbW92ZUZuID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uY2xhc3NDaGFuZ2UoZm46IChjbGFzc2VzPzogRE9NVG9rZW5MaXN0KSA9PiB2b2lkKSB7XG4gICAgdGhpcy5jbGFzc0NoYW5nZUZuID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uQWRkQ2hpbGQoZm46IChjbGFzc2VzPzogRE9NVG9rZW5MaXN0KSA9PiB2b2lkKSB7XG4gICAgdGhpcy5hZGRDaGlsZEZuID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uUmVtb3ZlQ2hpbGQoZm46IChjbGFzc2VzPzogRE9NVG9rZW5MaXN0KSA9PiB2b2lkKSB7XG4gICAgdGhpcy5yZW1vdmVDaGlsZEZuID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uQ2xhc3NBZGRlZChjbGFzc05hbWU6IHN0cmluZywgZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLmNsYXNzQWRkZWQuc2V0KGNsYXNzTmFtZSwgZm4pO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNsYXNzUmVtb3ZlZChjbGFzc05hbWU6IHN0cmluZywgZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLmNsYXNzUmVtb3ZlZC5zZXQoY2xhc3NOYW1lLCBmbik7XG4gIH1cbn1cbiIsImltcG9ydCB7IEVsZW1lbnRPYnNlcnZlciB9IGZyb20gJy4vZWxlbWVudE9ic2VydmVyJztcbmltcG9ydCB7IE5vZGVTZWxlY3RvciB9IGZyb20gJy4vbm9kZVNlbGVjdG9yJztcblxuLyoqXG4gKiBUaGlzIGNsYXNzIG1hbmFnZXMgYSBgTXV0YXRpb25PYnNlcnZlcmAgZm9yIHRoZSBgZG9jdW1lbnQuYm9keWAuIEl0IG1vbml0b3JzIG5vZGVzIHRoYXQgYXJlXG4gKiBhZGRlZCBvciByZW1vdmVkIGZyb20gdGhlIERPTSBhbmQgbm90aWZpZXMgdGhlIG9ic2VydmVycyBmb3IgZWFjaCBvYnNlcnZhYmxlIGVsZW1lbnRcbiAqIHdoZW4gdGhleSBhcmUgcmVhZHkgdG8gYmUgd2F0Y2hlZC5cbiAqXG4gKiBIb3cgdGhhdCB3b3JrczpcbiAqXG4gKiBXaGVuIHRoZSBgb2JzZXJ2ZWAgZnVuY3Rpb24gaXMgY2FsbGVkLCBpdCBhdHRhY2hlcyBhIGBNdXRhdGlvbk9ic2VydmVyYCB0byB0aGUgYGRvY3VtZW50LmJvZHlgIGVsZW1lbnQuXG4gKiBBbGwgY2hhbmdlcyB0byBgZG9jdW1lbnQuYm9keWAgYXJlIHRyYWNrZWQgYnkgdGhpcyBvYnNlcnZlci4gV2hlbiBjaGFuZ2VzIGFyZSBkZXRlY3RlZCwgdGhlIGBNdXRhdGlvbk9ic2VydmVyYFxuICogaXRlcmF0ZXMgdGhyb3VnaCBhbGwgYWRkZWQgYW5kIHJlbW92ZWQgbm9kZXMgYW5kIGNoZWNrcyBpZiBlYWNoIG5vZGUgZXhpc3RzIGluIHRoZSBtYWluIG1hcCBvZiBvYnNlcnZhYmxlIGVsZW1lbnRzLlxuICpcbiAqIElmIGEgbWF0Y2ggaXMgZm91bmQsIGl0IG5vdGlmaWVzIHRoZSBjb3JyZXNwb25kaW5nIGBFbGVtZW50T2JzZXJ2ZXJgIGluc3RhbmNlIHRvIHN0YXJ0IG1vbml0b3JpbmcgY2hhbmdlcyBmb3IgdGhhdCBlbGVtZW50LlxuICpcbiAqIFRoZSBwcmltYXJ5IGBNdXRhdGlvbk9ic2VydmVyYCByZW1haW5zIGFjdGl2ZSB1bnRpbCB0aGUgYGRlc3Ryb3lgIGZ1bmN0aW9uIGlzIGNhbGxlZC4gQ2FsbGluZyBgZGVzdHJveWAgd2lsbCBkaXNjb25uZWN0IGFsbFxuICogaW5kaXZpZHVhbCBlbGVtZW50IG9ic2VydmVycyBhbmQgcmVsZWFzZSBhbnkgYXNzb2NpYXRlZCByZXNvdXJjZXMuXG4gKlxuICogVGhlcmUgaXMgbm8gbmVlZCB0byBleHBsaWNpdGx5IGNhbGwgdGhlIGBvYnNlcnZlYCBmdW5jdGlvbi4gSXQgaXMgYXV0b21hdGljYWxseSBpbnZva2VkIHdoZW4gYSBgdXNlRWxlbWVudE9ic2VydmVyYCBob29rIGlzIGluc3RhbnRpYXRlZC5cbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBET01PYnNlcnZlciB7XG4gIHByaXZhdGUgc3RhdGljIGRvY3VtZW50T2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfCBudWxsO1xuICBwcml2YXRlIHN0YXRpYyBsaXN0ZW5lcnM6IE1hcDxzdHJpbmcsIEVsZW1lbnRPYnNlcnZlcj4gPSBuZXcgTWFwKCk7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbm90aWZ5QWRpdGlvbihyZWNvcmRzOiBNdXRhdGlvblJlY29yZFtdLCBub2RlTWFwcGluZzogTWFwPE5vZGUsIEVsZW1lbnRPYnNlcnZlcj4pIHtcbiAgICByZWNvcmRzLmZvckVhY2goKHJlY29yZCkgPT5cbiAgICAgIHJlY29yZC5hZGRlZE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgbm9kZU1hcHBpbmcuZ2V0KG5vZGUpPy53YXRjaChub2RlKTtcbiAgICAgICAgbm9kZU1hcHBpbmcuZGVsZXRlKG5vZGUpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG5vdGlmeVJlbW92YWwocmVjb3JkczogTXV0YXRpb25SZWNvcmRbXSwgbm9kZU1hcHBpbmc6IE1hcDxOb2RlLCBFbGVtZW50T2JzZXJ2ZXI+KSB7XG4gICAgcmVjb3Jkcy5mb3JFYWNoKChyZWNvcmQpID0+XG4gICAgICByZWNvcmQucmVtb3ZlZE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgbm9kZU1hcHBpbmcuZ2V0KG5vZGUpPy5kZXN0cm95KCk7XG4gICAgICAgIG5vZGVNYXBwaW5nLmRlbGV0ZShub2RlKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBub3RpZnlDaGlsZHJlbkNoYW5nZXMobm9kZU1hcHBpbmc6IE1hcDxOb2RlLCBFbGVtZW50T2JzZXJ2ZXI+KSB7XG4gICAgQXJyYXkuZnJvbShub2RlTWFwcGluZy52YWx1ZXMoKSkuZm9yRWFjaCgob2JzZXJ2ZXIpID0+IG9ic2VydmVyLnN5bmNocm9uaXplKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbWFwTm9kZUluc3RhbmNlc1RvTGlzdGVuZXJzKCk6IE1hcDxOb2RlLCBFbGVtZW50T2JzZXJ2ZXI+IHtcbiAgICBjb25zdCBub2RlTWFwcGluZyA9IG5ldyBNYXA8Tm9kZSwgRWxlbWVudE9ic2VydmVyPigpO1xuICAgIHRoaXMubGlzdGVuZXJzLmZvckVhY2goKG9ic2VydmVyKSA9PiB7XG4gICAgICBjb25zdCBub2RlID0gb2JzZXJ2ZXIuZ2V0Tm9kZSgpIHx8IG9ic2VydmVyLmdldFNlbGVjdG9yKCk/LnBhcnNlKCk7XG4gICAgICBpZiAobm9kZSkge1xuICAgICAgICBub2RlTWFwcGluZy5zZXQobm9kZSwgb2JzZXJ2ZXIpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBub2RlTWFwcGluZztcbiAgfVxuXG4gIHN0YXRpYyBhZGQoc2VsZWN0b3I6IE5vZGVTZWxlY3Rvcik6IEVsZW1lbnRPYnNlcnZlciB7XG4gICAgY29uc3Qgbm9kZSA9IHNlbGVjdG9yLmdldFBhdHRlcm4oKTtcbiAgICBsZXQgZWxlbWVudE9ic2VydmVyID0gdGhpcy5saXN0ZW5lcnMuZ2V0KG5vZGUpO1xuICAgIGlmIChlbGVtZW50T2JzZXJ2ZXIpIHtcbiAgICAgIHJldHVybiBlbGVtZW50T2JzZXJ2ZXI7XG4gICAgfVxuXG4gICAgZWxlbWVudE9ic2VydmVyID0gbmV3IEVsZW1lbnRPYnNlcnZlcihzZWxlY3Rvcik7XG4gICAgdGhpcy5saXN0ZW5lcnMuc2V0KG5vZGUsIGVsZW1lbnRPYnNlcnZlcik7XG4gICAgcmV0dXJuIGVsZW1lbnRPYnNlcnZlcjtcbiAgfVxuXG4gIHN0YXRpYyByZW1vdmUoc2VsZWN0b3I6IE5vZGVTZWxlY3Rvcikge1xuICAgIGNvbnN0IG5vZGUgPSBzZWxlY3Rvci5nZXRQYXR0ZXJuKCk7XG4gICAgdGhpcy5saXN0ZW5lcnMuZ2V0KG5vZGUpPy5kZXN0cm95KCk7XG4gICAgdGhpcy5saXN0ZW5lcnMuZGVsZXRlKG5vZGUpO1xuICB9XG5cbiAgc3RhdGljIG9ic2VydmUoKSB7XG4gICAgaWYgKCF0aGlzLmRvY3VtZW50T2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMuZG9jdW1lbnRPYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcbiAgICAgICAgY29uc3Qgbm9kZU1hcHBpbmcgPSB0aGlzLm1hcE5vZGVJbnN0YW5jZXNUb0xpc3RlbmVycygpO1xuICAgICAgICB0aGlzLm5vdGlmeUFkaXRpb24obXV0YXRpb25zLCBub2RlTWFwcGluZyk7XG4gICAgICAgIHRoaXMubm90aWZ5UmVtb3ZhbChtdXRhdGlvbnMsIG5vZGVNYXBwaW5nKTtcbiAgICAgICAgdGhpcy5ub3RpZnlDaGlsZHJlbkNoYW5nZXMobm9kZU1hcHBpbmcpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmRvY3VtZW50T2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5LCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9KTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZGVzdHJveSgpIHtcbiAgICB0aGlzLmRvY3VtZW50T2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKChsaXN0ZW5lcikgPT4gbGlzdGVuZXIuZGVzdHJveSgpKTtcbiAgICB0aGlzLmxpc3RlbmVycy5jbGVhcigpO1xuICAgIHRoaXMuZG9jdW1lbnRPYnNlcnZlciA9IG51bGw7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxNQUFNLGlCQUFpQixVQUFrQixlQUF1QjtDQUM5RCxNQUFNLGlCQUFpQixJQUFJLElBQUksU0FBUyxNQUFNLElBQUksQ0FBQztDQUNuRCxNQUFNLG1CQUFtQixJQUFJLElBQUksV0FBVyxNQUFNLElBQUksQ0FBQztBQUN2RCxRQUFPLENBQUMsR0FBRyxlQUFlLENBQUMsUUFBUSxVQUFVLENBQUMsaUJBQWlCLElBQUksTUFBTSxDQUFDOztBQUc1RSxJQUFh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
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { FeatureGates, OrgConfigFeatureGate } from "./frontendConfig-CbyjUXZW.js";
|
|
2
|
+
import React, { ReactNode } from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/contexts/featureFlagServiceContext/featureFlagServiceContext.d.ts
|
|
5
|
+
declare class FeatureFlagService {
|
|
6
|
+
private featureGates;
|
|
7
|
+
constructor(featureGates: OrgConfigFeatureGate[]);
|
|
8
|
+
isFeatureGateEnabled: (featureGate: FeatureGates) => boolean;
|
|
9
|
+
isClientSessionEnabled: () => boolean;
|
|
10
|
+
getFeatureFlags: () => Record<string, boolean>;
|
|
11
|
+
}
|
|
12
|
+
interface FeatureFlagContextType {
|
|
13
|
+
featureFlagService: FeatureFlagService | undefined;
|
|
14
|
+
}
|
|
15
|
+
interface FeatureFlagServiceProviderProps {
|
|
16
|
+
featureGates: OrgConfigFeatureGate[];
|
|
17
|
+
children: ReactNode;
|
|
18
|
+
}
|
|
19
|
+
declare const FeatureFlagServiceProvider: React.FC<FeatureFlagServiceProviderProps>;
|
|
20
|
+
declare const useFeatureFlagService: () => FeatureFlagContextType;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { FeatureFlagContextType, FeatureFlagService, FeatureFlagServiceProvider, useFeatureFlagService };
|
|
23
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZUZsYWdTZXJ2aWNlQ29udGV4dC1DMllqLVV5aC5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZXh0cy9mZWF0dXJlRmxhZ1NlcnZpY2VDb250ZXh0L2ZlYXR1cmVGbGFnU2VydmljZUNvbnRleHQuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBPcmdDb25maWdGZWF0dXJlR2F0ZSB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9vcmdDb25maWdSZXN1bHRzXCI7XG5pbXBvcnQgeyBGZWF0dXJlR2F0ZXMgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy9mZWF0dXJlR2F0ZXNcIjtcbmV4cG9ydCBkZWNsYXJlIGNsYXNzIEZlYXR1cmVGbGFnU2VydmljZSB7XG4gICAgcHJpdmF0ZSBmZWF0dXJlR2F0ZXM7XG4gICAgY29uc3RydWN0b3IoZmVhdHVyZUdhdGVzOiBPcmdDb25maWdGZWF0dXJlR2F0ZVtdKTtcbiAgICBpc0ZlYXR1cmVHYXRlRW5hYmxlZDogKGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMpID0+IGJvb2xlYW47XG4gICAgaXNDbGllbnRTZXNzaW9uRW5hYmxlZDogKCkgPT4gYm9vbGVhbjtcbiAgICBnZXRGZWF0dXJlRmxhZ3M6ICgpID0+IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xufVxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlRmxhZ0NvbnRleHRUeXBlIHtcbiAgICBmZWF0dXJlRmxhZ1NlcnZpY2U6IEZlYXR1cmVGbGFnU2VydmljZSB8IHVuZGVmaW5lZDtcbn1cbmludGVyZmFjZSBGZWF0dXJlRmxhZ1NlcnZpY2VQcm92aWRlclByb3BzIHtcbiAgICBmZWF0dXJlR2F0ZXM6IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107XG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IEZlYXR1cmVGbGFnU2VydmljZVByb3ZpZGVyOiBSZWFjdC5GQzxGZWF0dXJlRmxhZ1NlcnZpY2VQcm92aWRlclByb3BzPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVzZUZlYXR1cmVGbGFnU2VydmljZTogKCkgPT4gRmVhdHVyZUZsYWdDb250ZXh0VHlwZTtcbmV4cG9ydCB7fTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUdBLElBQVcscUJBQXFCO0NBQUM7T0FBTztPQUFBO09BQUE7Q0FBQTtBQUN4QyxJQUFXLHlCQUFhLENBQUEsV0FBQSxtQkFBQTtBQUN4QixJQUFJLGtDQUFrQztDQUFDO09BQVc7T0FBRztDQUFBO0FBQ3JELElBQVcsNkJBQTZCO0NBQUM7T0FBVztPQUFZLE1BQUE7Q0FBQTtBQUNoRSxJQUFXLHdCQUF3QixDQUFDLFdBQUssdUJBQUEifQ==
|