@envive-ai/react-hooks 0.1.2 → 0.1.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/dist/adapters/amplitude/index.cjs +8 -8
- package/dist/adapters/amplitude/index.d.cts +5 -3
- package/dist/adapters/amplitude/index.d.ts +5 -3
- package/dist/adapters/amplitude/index.js +5 -5
- package/dist/api-B2euFL-5.cjs +2 -1
- package/dist/api-XRr_lAG6.js +2 -1
- package/dist/application/config/index.cjs +14 -5
- package/dist/application/config/index.d.cts +2 -1
- package/dist/application/config/index.d.ts +2 -1
- package/dist/application/config/index.js +14 -5
- package/dist/application/models/graphql/index.cjs +7 -7
- package/dist/application/models/graphql/index.d.cts +1 -1
- package/dist/application/models/graphql/index.d.ts +1 -1
- package/dist/application/models/graphql/index.js +5 -5
- package/dist/application/models/guards/api/index.d.cts +2 -2
- package/dist/application/models/guards/api/index.d.ts +2 -2
- package/dist/application/models/index.cjs +49 -49
- package/dist/application/models/index.d.cts +8 -9
- package/dist/application/models/index.d.ts +8 -9
- package/dist/application/models/index.js +5 -5
- package/dist/application/models/utilityTypes/index.d.cts +1 -1
- package/dist/application/models/utilityTypes/index.d.ts +1 -1
- package/dist/application/models/variantInfo/index.d.cts +1 -1
- package/dist/application/models/variantInfo/index.d.ts +1 -1
- package/dist/application/service/customerService/index.cjs +1 -1
- package/dist/application/service/customerService/index.d.cts +2 -2
- package/dist/application/service/customerService/index.d.ts +2 -2
- package/dist/application/service/customerService/index.js +1 -1
- package/dist/application/service/index.cjs +30 -750
- package/dist/application/service/index.d.cts +14 -22
- package/dist/application/service/index.d.ts +14 -22
- package/dist/application/service/index.js +7 -722
- package/dist/application/utils/index.cjs +32 -32
- package/dist/application/utils/index.d.cts +13 -13
- package/dist/application/utils/index.d.ts +11 -11
- package/dist/application/utils/index.js +5 -5
- package/dist/atomStore-B1cgmbP0.js +32 -0
- package/dist/atomStore-JwGb7pcy.cjs +58 -0
- package/dist/atoms/app/index.cjs +11 -11
- package/dist/atoms/app/index.d.cts +11 -11
- package/dist/atoms/app/index.d.ts +11 -11
- package/dist/atoms/app/index.js +5 -5
- package/dist/atoms/atomStore/index.cjs +1 -2
- package/dist/atoms/atomStore/index.d.cts +2 -1
- package/dist/atoms/atomStore/index.d.ts +2 -1
- package/dist/atoms/atomStore/index.js +1 -2
- package/dist/atoms/chat/index.cjs +35 -35
- package/dist/atoms/chat/index.d.cts +37 -37
- package/dist/atoms/chat/index.d.ts +10 -10
- package/dist/atoms/chat/index.js +5 -5
- package/dist/atoms/globalSearch/index.cjs +1 -1
- package/dist/atoms/globalSearch/index.d.cts +7 -6
- package/dist/atoms/globalSearch/index.d.ts +7 -6
- package/dist/atoms/globalSearch/index.js +1 -1
- package/dist/atoms/org/index.cjs +32 -35
- package/dist/atoms/org/index.d.cts +32 -53
- package/dist/atoms/org/index.d.ts +31 -52
- package/dist/atoms/org/index.js +6 -7
- package/dist/atoms/search/index.cjs +36 -38
- package/dist/atoms/search/index.d.cts +9 -10
- package/dist/atoms/search/index.d.ts +9 -10
- package/dist/atoms/search/index.js +5 -7
- package/dist/bandolier-B76-OE75.cjs +1230 -0
- package/dist/bandolier-DRn_x1g1.js +1230 -0
- package/dist/carpe-kHi4RLB5.cjs +608 -0
- package/dist/carpe-qrSU99gq.js +606 -0
- package/dist/{chat-CCgyDehy.cjs → chat-BgONoYU7.cjs} +2 -1
- package/dist/chat-CLJ4NWcN.js +26 -0
- package/dist/{components-CScS7Ii-.cjs → components-BKZbet67.cjs} +2 -1
- package/dist/components-CV1fhAkj.js +11 -0
- package/dist/config/locators/components/chat/index.cjs +1 -1
- package/dist/config/locators/components/chat/index.d.cts +1 -1
- package/dist/config/locators/components/chat/index.d.ts +1 -1
- package/dist/config/locators/components/chat/index.js +1 -1
- package/dist/config/locators/components/chat/variants/index.cjs +2 -1
- package/dist/config/locators/components/chat/variants/index.d.cts +2 -1
- package/dist/config/locators/components/chat/variants/index.d.ts +2 -1
- package/dist/config/locators/components/chat/variants/index.js +2 -1
- 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/components/search/index.cjs +2 -1
- package/dist/config/locators/components/search/index.d.cts +2 -1
- package/dist/config/locators/components/search/index.d.ts +2 -1
- package/dist/config/locators/components/search/index.js +2 -1
- package/dist/config/locators/index.cjs +4 -4
- package/dist/config/locators/index.d.cts +4 -3
- package/dist/config/locators/index.d.ts +4 -3
- package/dist/config/locators/index.js +4 -4
- package/dist/contexts/index.cjs +10 -13
- package/dist/contexts/index.d.cts +41 -22
- package/dist/contexts/index.d.ts +41 -22
- package/dist/contexts/index.js +6 -12
- package/dist/contexts-CQDwe3rK.cjs +14333 -0
- package/dist/contexts-e2sM-B9g.js +12919 -0
- package/dist/coterie-mMirPcHP.js +240 -0
- package/dist/coterie-yQ-_JXSw.cjs +240 -0
- package/dist/customerService-BG1uNZZ1.cjs +36 -0
- package/dist/customerService-BHQRnLhC.js +23 -0
- package/dist/custservice-types-C83itZmy.cjs +35 -0
- package/dist/custservice-types-DPQ-4TI6.js +23 -0
- package/dist/default-8Jfv8ehQ.cjs +199 -0
- package/dist/default-C8PQf-38.js +176 -0
- package/dist/default-LukSiCz1.js +4 -0
- package/dist/default-rJSJ887P.cjs +4 -0
- package/dist/divIds-CWkntTsx.js +23 -0
- package/dist/{divIds-CFyAjjp3.cjs → divIds-DEL_-qU0.cjs} +2 -1
- package/dist/dreamlandBaby-DHltv12Z.cjs +347 -0
- package/dist/dreamlandBaby-cG0HM9bt.js +347 -0
- package/dist/{embedded-BlXJUbik.cjs → embedded--2L0F4b5.cjs} +2 -1
- package/dist/embedded-C5uJqmuD.js +23 -0
- package/dist/entrypoints-CNUvSgnk.js +7 -0
- package/dist/entrypoints-DM9Sm18O.cjs +19 -0
- package/dist/events/index.d.cts +2 -1
- package/dist/events/index.d.ts +2 -1
- package/dist/events-ClCDFK7t.js +2 -1
- package/dist/events-Da7gpmGv.cjs +2 -1
- package/dist/featureFlagService-5wdmW02z.d.ts +18 -0
- package/dist/featureFlagService-DaelrXEk.d.cts +18 -0
- package/dist/fiveCbd-Cvnwh03g.cjs +614 -0
- package/dist/fiveCbd-DhYMlsf9.js +614 -0
- package/dist/forLoveAndLemons-C8DuUexW.js +666 -0
- package/dist/forLoveAndLemons-DR6a1zjJ.cjs +668 -0
- package/dist/{globalSearch-hxbXekus.cjs → globalSearch-BTeZxvk1.cjs} +2 -1
- package/dist/globalSearch-b0wC7ZEO.js +14 -0
- package/dist/greenpan-B4Pu65kV.js +398 -0
- package/dist/greenpan-BL5p6j7f.cjs +398 -0
- package/dist/grooveLife-DjKWHoN3.cjs +343 -0
- package/dist/grooveLife-JK0TyaPz.js +343 -0
- package/dist/homegrownCannabis-DxqSDkmS.js +411 -0
- package/dist/homegrownCannabis-ZnfCqW-m.cjs +411 -0
- package/dist/hooks/index.cjs +11 -11
- package/dist/hooks/index.d.cts +30 -21
- package/dist/hooks/index.d.ts +30 -21
- package/dist/hooks/index.js +6 -12
- package/dist/index-BTK5uzs6.d.cts +98 -0
- package/dist/index-BfuO9b0Q.d.ts +749 -0
- package/dist/index-BzgkfbNO.d.cts +228 -0
- package/dist/index-C62lPpy4.d.cts +25 -0
- package/dist/index-CExtydIH.d.ts +9 -0
- package/dist/index-CKKkTsms.d.ts +39 -0
- package/dist/index-CNsGWfS6.d.cts +749 -0
- package/dist/index-CYtsPztZ.d.cts +203 -0
- package/dist/index-C_C0tLeD.d.ts +203 -0
- package/dist/index-ClJ0nMsR.d.cts +184 -0
- package/dist/index-Cx9e-fRi.d.ts +184 -0
- package/dist/index-D2VaMPA3.d.ts +98 -0
- package/dist/index-D46Rd0io.d.cts +39 -0
- package/dist/index-DFL1dIT_.d.ts +7 -0
- package/dist/index-DPx8s5YH.d.ts +25 -0
- package/dist/index-Dxpscrvz.d.ts +228 -0
- package/dist/index-MFbPQ8Ji.d.ts +95 -0
- package/dist/index-VSFakgAI.d.cts +95 -0
- package/dist/index-jBATkcc_.d.cts +9 -0
- package/dist/index-zZjcds15.d.cts +7 -0
- package/dist/interceptors/index.cjs +7 -8
- package/dist/interceptors/index.d.cts +10 -10
- package/dist/interceptors/index.d.ts +10 -10
- package/dist/interceptors/index.js +5 -6
- package/dist/jackArcher-CXf_IAmC.js +728 -0
- package/dist/jackArcher-mGkojXek.cjs +728 -0
- package/dist/jordanCraig-BvCvPRoR.js +1787 -0
- package/dist/jordanCraig-Dv8pVCiS.cjs +1787 -0
- package/dist/kindredBravely-UQP7wiNu.cjs +491 -0
- package/dist/kindredBravely-X8F_LNph.js +491 -0
- package/dist/kutFromTheKloth-BhYKk3CN.cjs +370 -0
- package/dist/kutFromTheKloth-D1xsTSJr.js +370 -0
- package/dist/larryAndSerges-1411NuZa.cjs +262 -0
- package/dist/larryAndSerges-DVIRLItu.js +262 -0
- package/dist/leapsAndRebounds-BJ8mwr33.js +361 -0
- package/dist/leapsAndRebounds-UcP9EJVO.cjs +361 -0
- package/dist/logger-Dln20ans.cjs +2 -1
- package/dist/logger-pdEEY8T2.js +2 -1
- package/dist/longevityrx-BFSv9GF5.cjs +321 -0
- package/dist/longevityrx-Cp6wleWr.js +321 -0
- package/dist/lookOptic-BGhU4910.js +283 -0
- package/dist/lookOptic-KieSqskd.cjs +283 -0
- package/dist/mantraBrand-CHQw-0nw.cjs +751 -0
- package/dist/mantraBrand-DrqG9uqO.js +751 -0
- package/dist/medterra-CLG6Co1C.cjs +584 -0
- package/dist/medterra-D8ZX9NZC.js +584 -0
- package/dist/modells-BzyPwN2m.cjs +485 -0
- package/dist/modells-CAfqOCW4.js +485 -0
- package/dist/nodeSelector-B3bPtEjX.d.cts +31 -0
- package/dist/nodeSelector-BiCDowlK.d.ts +31 -0
- package/dist/orgConfigResults--dAwtw3W.d.ts +881 -0
- package/dist/orgConfigResults-BL0XBA6x.d.cts +881 -0
- package/dist/pressedFloral-DULBuQwR.cjs +662 -0
- package/dist/pressedFloral-Dp-7Fk3S.js +662 -0
- package/dist/search-filter-types-BNTLVXqQ.d.cts +102 -0
- package/dist/search-filter-types-DkmH1TxJ.d.ts +102 -0
- package/dist/skinPerfection-BxuYCeJX.js +335 -0
- package/dist/skinPerfection-Cd3XZ6By.cjs +335 -0
- package/dist/snapSupplements-Bf6htPM0.js +286 -0
- package/dist/snapSupplements-ZFnXyMuZ.cjs +286 -0
- package/dist/socialProofClasses-DdzG1tZy.js +10 -0
- package/dist/socialProofClasses-ky69yppk.cjs +40 -0
- package/dist/spanx-CwDPQaGj.js +662 -0
- package/dist/spanx-Cyd4qDlK.cjs +664 -0
- package/dist/spanxStaging-D43nyAGy.js +846 -0
- package/dist/spanxStaging-ijbYnHzr.cjs +849 -0
- package/dist/suggestionBarV2-types-CwOXzIKq.js +10 -0
- package/dist/{suggestionBarV2-types-DG3Ekk44.cjs → suggestionBarV2-types-Dc4-zJlV.cjs} +2 -1
- package/dist/supergoop-BnbFG7hm.cjs +338 -0
- package/dist/supergoop-CY043wIg.js +336 -0
- package/dist/test-types-CXVJxTeu.d.ts +40 -0
- package/dist/test-types-CuOq25VT.d.cts +40 -0
- package/dist/types/index.cjs +2 -2
- package/dist/types/index.d.cts +3 -3
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.js +2 -2
- package/dist/types-BF_CJeck.js +177 -0
- package/dist/types-CD4LFta-.d.cts +33 -0
- package/dist/types-CNH4sfF-.cjs +231 -0
- package/dist/types-DBdI0j89.d.ts +33 -0
- package/dist/uniqueVintage-Cui74mlJ.js +1212 -0
- package/dist/uniqueVintage-R2Jcu1y1.cjs +1214 -0
- package/dist/variant-CKVRF2-W.d.ts +13 -0
- package/dist/variant-raYuOP4L.d.cts +13 -0
- package/dist/venaCbd-o5_vOp4e.js +366 -0
- package/dist/venaCbd-r-IxEVc1.cjs +366 -0
- package/dist/westonJonBoucher-C95EuCl-.js +423 -0
- package/dist/westonJonBoucher-DjGEW3ZB.cjs +423 -0
- package/dist/wineEnthusiast-DeTFY8Gm.js +941 -0
- package/dist/wineEnthusiast-DvfcV5B3.cjs +941 -0
- package/dist/wolfMattress-6xPfOJt3.js +373 -0
- package/dist/wolfMattress-BjGnGKjP.cjs +373 -0
- package/dist/wolfTactical-Bi3WZu0m.cjs +350 -0
- package/dist/wolfTactical-C_F9-oPX.js +350 -0
- package/package.json +1 -1
- package/src/adapters/amplitude/amplitudeAdapter.ts +32 -9
- package/src/adapters/spiffy/commerce/api.ts +17 -8
- package/src/adapters/spiffy/commerce/graphql.ts +16 -5
- package/src/application/config/generalStaticConfig.ts +5 -2
- package/src/application/models/api/orgConfigResults.ts +6 -2
- package/src/application/models/validators/validateGraphQLColorsConfig.ts +23 -21
- package/src/application/service/cdnService.ts +4 -2
- package/src/application/service/index.ts +0 -1
- package/src/application/service/pageVariantService.ts +5 -5
- package/src/application/service/searchService.ts +9 -2
- package/src/application/service/windowChatToggleService.ts +28 -19
- package/src/application/service/windowFrontendConfigService.ts +7 -4
- package/src/atoms/app/index.ts +26 -17
- package/src/atoms/app/variant.ts +1 -0
- package/src/atoms/chat/messageQueue.ts +1 -1
- package/src/atoms/envive/enviveConfig.ts +81 -0
- package/src/atoms/org/graphqlConfig.ts +29 -11
- package/src/atoms/org/merchantCss.ts +114 -0
- package/src/atoms/org/org.ts +101 -64
- package/src/atoms/org/orgPageConfig.ts +9 -6
- package/src/atoms/org/orgUIConfig.ts +22 -9
- package/src/atoms/search/chatSearch.ts +85 -67
- package/src/contexts/chatContext.tsx +4 -1
- package/src/contexts/enviveConfigContext.tsx +37 -26
- package/src/contexts/enviveCssContext.tsx +20 -0
- package/src/contexts/index.ts +2 -0
- package/src/contexts/orgConfigContext.tsx +106 -0
- package/src/contexts/systemSettingsContext.tsx +22 -9
- package/src/contexts/types.ts +12 -9
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useSearch.tsx +16 -9
- package/src/hooks/utils.ts +1 -1
- package/src/interceptors/useFormEscalation.ts +26 -9
- package/src/types/search-filter-types.ts +7 -7
- package/src/types.ts +0 -2
- package/dist/api-CxGedDxj.cjs +0 -5057
- package/dist/api-NJEaveju.js +0 -4113
- package/dist/atomStore-BFtpknLM.js +0 -31
- package/dist/atomStore-CeJm9Llb.cjs +0 -57
- package/dist/bandolier-C7PAIw02.js +0 -1230
- package/dist/bandolier-oMkFDJMF.cjs +0 -1230
- package/dist/carpe-C0ccKuR9.cjs +0 -608
- package/dist/carpe-DFc78_lJ.js +0 -606
- package/dist/cdnService-DvDSpfVJ.js +0 -18
- package/dist/cdnService-dJU3sHpF.cjs +0 -23
- package/dist/chat-Dk6KPb1K.js +0 -25
- package/dist/components-DAQxVIn9.js +0 -10
- package/dist/contexts-DO75-Kmx.js +0 -7152
- package/dist/contexts-iAzSvZjb.cjs +0 -7331
- package/dist/coterie-BGT8hqFR.js +0 -240
- package/dist/coterie-Cp9FAJTQ.cjs +0 -240
- package/dist/customerService-CUyZzowx.js +0 -22
- package/dist/customerService-DqPw_XKf.cjs +0 -35
- package/dist/custservice-types-D8Npo-5Z.js +0 -22
- package/dist/custservice-types-E9_OSaZ7.cjs +0 -34
- package/dist/default-BAXPatxf.cjs +0 -198
- package/dist/default-BR3225LZ.js +0 -4
- package/dist/default-DR6YjE9B.cjs +0 -4
- package/dist/default-wf_IORgo.js +0 -175
- package/dist/divIds-BWvq-i6I.js +0 -22
- package/dist/dreamlandBaby-BzuMvUFS.cjs +0 -347
- package/dist/dreamlandBaby-DZvM81LQ.js +0 -347
- package/dist/embedded-C1jvFj3v.js +0 -22
- package/dist/entrypoints-CmmOszXO.js +0 -6
- package/dist/entrypoints-fowCLUT2.cjs +0 -18
- package/dist/enviveConfigContext-CUGLpPGU.js +0 -34
- package/dist/enviveConfigContext-Dfr2VH6u.cjs +0 -48
- package/dist/featureFlagService-CroFRxvD.d.cts +0 -17
- package/dist/featureFlagService-NkJ2fuEj.d.ts +0 -17
- package/dist/featureGates-BMWXU0dS.d.ts +0 -90
- package/dist/featureGates-N_gyHCTn.d.cts +0 -90
- package/dist/fiveCbd-DE-tDY3d.cjs +0 -614
- package/dist/fiveCbd-HNBPqPtX.js +0 -614
- package/dist/forLoveAndLemons-BKmJJ9pq.js +0 -666
- package/dist/forLoveAndLemons-BeVEBOiu.cjs +0 -668
- package/dist/frontendConfig-KeNqU1wa.d.cts +0 -790
- package/dist/frontendConfig-cPvCTWm6.d.ts +0 -790
- package/dist/globalSearch-BC0rOX3E.js +0 -13
- package/dist/greenpan-BX1viAZB.js +0 -398
- package/dist/greenpan-chd3aa5I.cjs +0 -398
- package/dist/grooveLife-CHot3rZw.js +0 -343
- package/dist/grooveLife-DEob7rK0.cjs +0 -343
- package/dist/homegrownCannabis-CoIjcehi.cjs +0 -411
- package/dist/homegrownCannabis-CwkS1qDA.js +0 -411
- package/dist/index-BdNKc2ix.d.cts +0 -8
- package/dist/index-BkhvV8RZ.d.cts +0 -202
- package/dist/index-BrXuc_Ck.d.cts +0 -24
- package/dist/index-C4zjAR1c.d.cts +0 -227
- package/dist/index-CGB6CAmr.d.ts +0 -6
- package/dist/index-CIco0cCQ.d.ts +0 -183
- package/dist/index-COG1kOZG.d.ts +0 -749
- package/dist/index-CVxe7FpL.d.cts +0 -6
- package/dist/index-Cn1SeI5y.d.cts +0 -183
- package/dist/index-Cqg6ltII.d.ts +0 -38
- package/dist/index-CzMrMKx-.d.ts +0 -202
- package/dist/index-DE_7Q8qK.d.ts +0 -94
- package/dist/index-Da0UzyI9.d.ts +0 -24
- package/dist/index-DbWWcYax.d.cts +0 -749
- package/dist/index-DtoVXd6O.d.cts +0 -97
- package/dist/index-JClBRnSX.d.cts +0 -94
- package/dist/index-ghzD_356.d.ts +0 -8
- package/dist/index-hdbCEjYy.d.cts +0 -38
- package/dist/index-luJrHgPN.d.ts +0 -97
- package/dist/index-tfRj22E1.d.ts +0 -227
- package/dist/jackArcher-BA-pkB4A.js +0 -728
- package/dist/jackArcher-bewC0q1T.cjs +0 -728
- package/dist/jordanCraig-B5k9nlAw.cjs +0 -1787
- package/dist/jordanCraig-BsQ1mYbt.js +0 -1787
- package/dist/kindredBravely-BxYkCpGY.js +0 -491
- package/dist/kindredBravely-DsN0fo3s.cjs +0 -491
- package/dist/kutFromTheKloth-BQTCu3ct.cjs +0 -370
- package/dist/kutFromTheKloth-bukOQM3P.js +0 -370
- package/dist/larryAndSerges-D1ecaT5a.js +0 -261
- package/dist/larryAndSerges-bj7fgy9b.cjs +0 -261
- package/dist/leapsAndRebounds-BfneG_0c.cjs +0 -361
- package/dist/leapsAndRebounds-DhNpZETg.js +0 -361
- package/dist/locators-C2DX_nX6.js +0 -1
- package/dist/locators-CUpyd9Wt.cjs +0 -0
- package/dist/longevityrx-CnoGcw0w.js +0 -321
- package/dist/longevityrx-D0goIuX0.cjs +0 -321
- package/dist/lookOptic-C4afLPZP.cjs +0 -283
- package/dist/lookOptic-uJWIKpER.js +0 -283
- package/dist/mantraBrand-8JUlYtCE.cjs +0 -751
- package/dist/mantraBrand-DuwKHM26.js +0 -751
- package/dist/medterra-BQec8rzn.js +0 -584
- package/dist/medterra-DH067P-V.cjs +0 -584
- package/dist/modells-DAgLE2xo.js +0 -485
- package/dist/modells-DUFnLmAz.cjs +0 -485
- package/dist/nodeSelector-DpKXszfU.d.ts +0 -30
- package/dist/nodeSelector-vKB44CDB.d.cts +0 -30
- package/dist/org-C11APG3v.js +0 -63
- package/dist/org-CnHL2I9B.cjs +0 -106
- package/dist/pressedFloral-DVZVfOSQ.cjs +0 -662
- package/dist/pressedFloral-MdbuoRyA.js +0 -662
- package/dist/search-CvHb1M3S.js +0 -542
- package/dist/search-bSYdOBhY.cjs +0 -743
- package/dist/search-filter-types-BsJjrxk0.d.ts +0 -101
- package/dist/search-filter-types-CqaGK3nM.d.cts +0 -101
- package/dist/skinPerfection-BcEWICQN.cjs +0 -335
- package/dist/skinPerfection-bGiYxq1i.js +0 -335
- package/dist/snapSupplements-BXSXTjqF.cjs +0 -286
- package/dist/snapSupplements-D7hHhdC9.js +0 -286
- package/dist/socialProofClasses-BYLiEXpU.cjs +0 -39
- package/dist/socialProofClasses-CkJufEGb.js +0 -9
- package/dist/spanx-5-0yX3iK.js +0 -662
- package/dist/spanx-lUzP6Lva.cjs +0 -664
- package/dist/spanxStaging-HglCMJag.js +0 -846
- package/dist/spanxStaging-hreMR0MS.cjs +0 -849
- package/dist/suggestionBarV2-types-B0RbMStE.js +0 -9
- package/dist/supergoop-C9DDT3lY.js +0 -335
- package/dist/supergoop-CkjtuRck.cjs +0 -337
- package/dist/test-types-C9b_OdfO.d.ts +0 -39
- package/dist/test-types-CpKCxk8U.d.cts +0 -39
- package/dist/types-BE4faOO_.d.cts +0 -32
- package/dist/types-BUjohkXp.cjs +0 -230
- package/dist/types-BVsTRyxL.js +0 -176
- package/dist/types-TD8g7LnH.d.ts +0 -32
- package/dist/uniqueVintage-DIMGtYAU.cjs +0 -1214
- package/dist/uniqueVintage-DPWA5Ed6.js +0 -1212
- package/dist/useMessageInterceptor-B-P_rw73.cjs +0 -72
- package/dist/useMessageInterceptor-C2RZM-fo.js +0 -57
- package/dist/variant-BGjOVpY3.d.cts +0 -12
- package/dist/variant-XITncuI3.d.ts +0 -12
- package/dist/venaCbd-B-znfAsl.js +0 -366
- package/dist/venaCbd-BOwOtpOz.cjs +0 -366
- package/dist/westonJonBoucher-CraTzRVt.cjs +0 -423
- package/dist/westonJonBoucher-DCRagGu3.js +0 -423
- package/dist/wineEnthusiast-Bv7umajk.js +0 -941
- package/dist/wineEnthusiast-sVuATrq6.cjs +0 -941
- package/dist/wolfMattress-BUH-Rhov.js +0 -373
- package/dist/wolfMattress-DpVHIEnJ.cjs +0 -373
- package/dist/wolfTactical-BcvF_sy-.cjs +0 -350
- package/dist/wolfTactical-Q14A1fpw.js +0 -350
- package/src/application/service/environmentService.ts +0 -51
- package/src/extension.ts +0 -63
- package/src/initialize.ts +0 -163
- package/src/main.tsx +0 -108
- package/src/merchants/uniqueVintage/views/useUniqueVintageChatSearch.ts +0 -147
- /package/dist/{atomStore-FSZd_20F.js → locators-Dc5ZT0aF.js} +0 -0
- /package/dist/{atomStore-B3tsg6mF.cjs → locators-lQMJj830.cjs} +0 -0
|
@@ -0,0 +1,749 @@
|
|
|
1
|
+
import { ColorMapping, FrontendConfig, OrgConfig, OrgPageConfig, OrgUIConfig, OrganizationConfig as OrganizationConfig$1, PageVariantConfig, WidgetConfig, WidgetMountingConfig } from "./orgConfigResults--dAwtw3W.js";
|
|
2
|
+
import { GetMerchantColorsQueryData } from "./index-D2VaMPA3.js";
|
|
3
|
+
import { AcceptableFormFieldType, ApiFormResponseAttributes, ApiPageResponseAttributes, OrderResponseAttributes as OrderResponseAttributes$1, PageResponseAttributes, ProductResponseAttributes, Response as Response$1, ReviewResponseAttributes, SearchProductFilterAttributes, SearchProductResponseAttributes, SearchResponseAttributes, TextResponseAttributes } from "./index-Cx9e-fRi.js";
|
|
4
|
+
import { CamelCasedPropertiesDeep, NonRecursiveType, UnknownArray, UpperCaseCharacters, WordSeparators } from "./index-Dxpscrvz.js";
|
|
5
|
+
import { VariantInfo } from "./index-CKKkTsms.js";
|
|
6
|
+
import { Context, CustServiceAttachment, FormSubmittedAttributes, FormType, FulfillmentDisplayStatus, GenerationParams, OrderItemInfo, OrderResponseAttributes, OrganizationConfig, OrganizationSettings, PDPAttributes, PLPAttributes, PLPIdAttributes, PageVisitCategory, ProductSearchFilterResponseAttributes, ProductSearchResponse, ProductSearchResponseAttributes, QueryTypedAttributes, SearchAttributes, SearchResponseProduct, StatsigExperiment, StatsigFeatureGate, Suggestion, SuggestionClickedAttributes, UserEvent, UserEventCategory } from "@spiffy-ai/commerce-api-client";
|
|
7
|
+
|
|
8
|
+
//#region src/application/models/cachedValue.d.ts
|
|
9
|
+
interface CachedValue {
|
|
10
|
+
value: unknown;
|
|
11
|
+
expiry: number;
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/application/models/clientDetails.d.ts
|
|
15
|
+
interface ClientDetails {
|
|
16
|
+
os?: string;
|
|
17
|
+
osVersion?: string;
|
|
18
|
+
deviceBrand?: string;
|
|
19
|
+
deviceManufacturer?: string;
|
|
20
|
+
deviceModel?: string;
|
|
21
|
+
carrier?: string;
|
|
22
|
+
country?: string;
|
|
23
|
+
region?: string;
|
|
24
|
+
browser?: string;
|
|
25
|
+
browserVersion?: string;
|
|
26
|
+
browserIpAddress?: string;
|
|
27
|
+
userAgent?: string;
|
|
28
|
+
}
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region src/application/models/conversationalSearchIds.d.ts
|
|
31
|
+
type ConversationalSearchIds = {
|
|
32
|
+
conversationalSearchEntrypointId?: string;
|
|
33
|
+
conversationalSearchInputId?: string;
|
|
34
|
+
conversationalSearchModalId?: string;
|
|
35
|
+
};
|
|
36
|
+
//#endregion
|
|
37
|
+
//#region src/application/models/dataLayer.d.ts
|
|
38
|
+
/**
|
|
39
|
+
* Base interface for common properties across all ecommerce events
|
|
40
|
+
*/
|
|
41
|
+
interface BaseEcommerceEvent {
|
|
42
|
+
event: string;
|
|
43
|
+
ecommerce: UAEcommerceData | GA4EcommerceData;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Legacy universal analytics data. The actual payload contains more fields, but we
|
|
47
|
+
* only need the ones listed below.
|
|
48
|
+
*/
|
|
49
|
+
interface UAEcommerceData {
|
|
50
|
+
add: {
|
|
51
|
+
products: {
|
|
52
|
+
name: string;
|
|
53
|
+
category: string;
|
|
54
|
+
price: string;
|
|
55
|
+
quantity: string;
|
|
56
|
+
}[];
|
|
57
|
+
currencyCode: string;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Google Analytics 4 data. The actual payload contains more fields, but we
|
|
62
|
+
* only need the ones listed below.
|
|
63
|
+
*/
|
|
64
|
+
interface GA4EcommerceData {
|
|
65
|
+
currency: string;
|
|
66
|
+
items: {
|
|
67
|
+
item_name: string;
|
|
68
|
+
item_category: string;
|
|
69
|
+
price: number;
|
|
70
|
+
quantity: number;
|
|
71
|
+
}[];
|
|
72
|
+
}
|
|
73
|
+
interface UAEcommerceEvent extends BaseEcommerceEvent {
|
|
74
|
+
ecommerce: UAEcommerceData;
|
|
75
|
+
}
|
|
76
|
+
interface GA4EcommerceEvent extends BaseEcommerceEvent {
|
|
77
|
+
ecommerce: GA4EcommerceData;
|
|
78
|
+
}
|
|
79
|
+
//#endregion
|
|
80
|
+
//#region src/application/models/domMutationContinuation.d.ts
|
|
81
|
+
declare enum DomMutationObserverContinuation {
|
|
82
|
+
CONTINUE = "CONTINUE",
|
|
83
|
+
EXECUTING = "EXECUTING",
|
|
84
|
+
STOP = "STOP",
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
//#region src/application/models/domObservationStrategy.d.ts
|
|
88
|
+
declare enum DomObservationStrategy {
|
|
89
|
+
MutationObserver = "MutationObserver",
|
|
90
|
+
Polling = "Polling",
|
|
91
|
+
None = "None",
|
|
92
|
+
}
|
|
93
|
+
//#endregion
|
|
94
|
+
//#region src/application/models/events.d.ts
|
|
95
|
+
declare enum SpiffyEventName {
|
|
96
|
+
WidgetOpen = "spiffy:widgetopen",
|
|
97
|
+
WidgetClose = "spiffy:widgetclose",
|
|
98
|
+
}
|
|
99
|
+
//#endregion
|
|
100
|
+
//#region src/application/models/googleAnalyticsEvents.d.ts
|
|
101
|
+
declare enum GoogleAnalyticsEvents {
|
|
102
|
+
ADD_TO_CART_v1 = "add_to_cart",
|
|
103
|
+
ADD_TO_CART_v2 = "addToCart",
|
|
104
|
+
}
|
|
105
|
+
//#endregion
|
|
106
|
+
//#region src/application/models/message.d.ts
|
|
107
|
+
declare enum MessageRole {
|
|
108
|
+
User = "user",
|
|
109
|
+
Assistant = "assistant",
|
|
110
|
+
}
|
|
111
|
+
declare enum MessageType {
|
|
112
|
+
Text = "text",
|
|
113
|
+
SuggestionClicked = "suggestion_clicked",
|
|
114
|
+
Product = "product",
|
|
115
|
+
ProductSearch = "product_search",
|
|
116
|
+
Review = "review",
|
|
117
|
+
QueryTyped = "query_typed",
|
|
118
|
+
Separator = "separator",
|
|
119
|
+
Page = "page",
|
|
120
|
+
Search = "search",
|
|
121
|
+
Attachment = "attachment",
|
|
122
|
+
CXAgentResponse = "cx_agent_response",
|
|
123
|
+
Form = "form",
|
|
124
|
+
Order = "order",
|
|
125
|
+
ProductSearchFilter = "product_search_filter",
|
|
126
|
+
}
|
|
127
|
+
type Message = {
|
|
128
|
+
id: string;
|
|
129
|
+
role: MessageRole;
|
|
130
|
+
createdAt: string;
|
|
131
|
+
} & (TextMessageMetadata | QueryTypedMetadata | SuggestionMessageMetadata | ProductMessageMetadata | ProductSearchMessageMetadata | ReviewMessageMetadata | SeparatorMessageMetadata | PageMessageMetadata | SearchMessageMetadata | AttachmentMetadata | CXAgentResponseMetadata | FormMessageMetadata | OrderMessageMetadata | ProductSearchFilterMetadata);
|
|
132
|
+
type AttachmentMetadata = {
|
|
133
|
+
type: MessageType.Attachment;
|
|
134
|
+
metadata: {
|
|
135
|
+
message?: string;
|
|
136
|
+
attachment: CustServiceAttachment[];
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
type CXAgentResponseMetadata = {
|
|
140
|
+
type: MessageType.CXAgentResponse;
|
|
141
|
+
metadata: {
|
|
142
|
+
message: string;
|
|
143
|
+
agentName: string;
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
type TextMessageMetadata = {
|
|
147
|
+
type: MessageType.Text;
|
|
148
|
+
metadata: TextResponseAttributes['attributes'];
|
|
149
|
+
};
|
|
150
|
+
type QueryTypedMetadata = {
|
|
151
|
+
type: MessageType.QueryTyped;
|
|
152
|
+
metadata: TextResponseAttributes['attributes'];
|
|
153
|
+
};
|
|
154
|
+
type SuggestionMessageMetadata = {
|
|
155
|
+
type: MessageType.SuggestionClicked;
|
|
156
|
+
metadata: {
|
|
157
|
+
suggestionId: string;
|
|
158
|
+
suggestionContent: string;
|
|
159
|
+
};
|
|
160
|
+
};
|
|
161
|
+
type ProductMessageMetadata = {
|
|
162
|
+
type: MessageType.Product;
|
|
163
|
+
metadata: ProductResponseAttributes['attributes'];
|
|
164
|
+
};
|
|
165
|
+
type ProductSearchMessageMetadata = {
|
|
166
|
+
type: MessageType.ProductSearch;
|
|
167
|
+
metadata: SearchProductResponseAttributes['attributes'];
|
|
168
|
+
};
|
|
169
|
+
type ReviewMessageMetadata = {
|
|
170
|
+
type: MessageType.Review;
|
|
171
|
+
metadata: ReviewResponseAttributes['attributes'];
|
|
172
|
+
};
|
|
173
|
+
type SeparatorMessageMetadata = {
|
|
174
|
+
type: MessageType.Separator;
|
|
175
|
+
};
|
|
176
|
+
type PageMessageMetadata = {
|
|
177
|
+
type: MessageType.Page;
|
|
178
|
+
metadata: PageResponseAttributes['attributes'];
|
|
179
|
+
};
|
|
180
|
+
type SearchMessageMetadata = {
|
|
181
|
+
type: MessageType.Search;
|
|
182
|
+
metadata: SearchResponseAttributes['attributes'];
|
|
183
|
+
};
|
|
184
|
+
type ProductSearchFilterMetadata = {
|
|
185
|
+
type: MessageType.ProductSearchFilter;
|
|
186
|
+
metadata: SearchProductFilterAttributes['attributes'];
|
|
187
|
+
};
|
|
188
|
+
type FormField = {
|
|
189
|
+
key: string;
|
|
190
|
+
title: string;
|
|
191
|
+
type: AcceptableFormFieldType;
|
|
192
|
+
required: boolean;
|
|
193
|
+
format?: 'email';
|
|
194
|
+
value?: string;
|
|
195
|
+
};
|
|
196
|
+
type FormMessageMetadata = {
|
|
197
|
+
type: MessageType.Form;
|
|
198
|
+
metadata: {
|
|
199
|
+
formType?: FormType;
|
|
200
|
+
fields: FormField[];
|
|
201
|
+
};
|
|
202
|
+
};
|
|
203
|
+
type OrderMessageMetadata = {
|
|
204
|
+
type: MessageType.Order;
|
|
205
|
+
metadata: OrderResponseAttributes$1['attributes'];
|
|
206
|
+
};
|
|
207
|
+
//#endregion
|
|
208
|
+
//#region src/application/models/mobilePLPChatPlacementParameter.d.ts
|
|
209
|
+
interface MobilePLPChatPlacementParameter {
|
|
210
|
+
rowIndex: number;
|
|
211
|
+
}
|
|
212
|
+
//#endregion
|
|
213
|
+
//#region src/application/models/orgsEnum.d.ts
|
|
214
|
+
declare const OrgShortName: {
|
|
215
|
+
readonly Coterie: "coterie";
|
|
216
|
+
readonly ForLoveAndLemons: "for-love-and-lemons";
|
|
217
|
+
readonly Greenpan: "greenpan";
|
|
218
|
+
readonly JordanCraig: "jordan-craig";
|
|
219
|
+
readonly LarryAndSerges: "larry_and_serges";
|
|
220
|
+
readonly LeapsAndRebounds: "leaps-and-rebounds";
|
|
221
|
+
readonly MantraBrand: "mantra-brand";
|
|
222
|
+
readonly Spanx: "spanx";
|
|
223
|
+
readonly SpanxStaging: "staging-spanx";
|
|
224
|
+
readonly Supergoop: "supergoop";
|
|
225
|
+
readonly UniqueVintage: "unique-vintage";
|
|
226
|
+
readonly JackArcher: "jack-archer";
|
|
227
|
+
readonly SkinPerfection: "skin-perfection";
|
|
228
|
+
readonly LookOptic: "look-optic";
|
|
229
|
+
readonly FiveCbd: "five-cbd";
|
|
230
|
+
readonly SnapSupplements: "snap-supplements";
|
|
231
|
+
readonly Longevityrx: "longevityrx";
|
|
232
|
+
readonly VenaCbd: "vena-cbd";
|
|
233
|
+
readonly Medterra: "medterra";
|
|
234
|
+
readonly Modells: "modells";
|
|
235
|
+
readonly PressedFloral: "pressed-floral";
|
|
236
|
+
readonly KindredBravely: "kindred-bravely";
|
|
237
|
+
readonly WineEnthusiast: "wine-enthusiast";
|
|
238
|
+
readonly HomegrownCannabis: "homegrown-cannabis";
|
|
239
|
+
readonly DreamlandBaby: "dreamland-baby";
|
|
240
|
+
readonly Bandolier: "bandolier";
|
|
241
|
+
readonly WestonJonBoucher: "weston-jon-boucher";
|
|
242
|
+
readonly KutFromTheKloth: "kut-from-the-kloth";
|
|
243
|
+
readonly GrooveLife: "groove-life";
|
|
244
|
+
readonly Carpe: "carpe";
|
|
245
|
+
readonly WolfTactical: "wolf-tactical";
|
|
246
|
+
readonly WolfMattress: "wolfmattress";
|
|
247
|
+
readonly Default: "default";
|
|
248
|
+
};
|
|
249
|
+
//#endregion
|
|
250
|
+
//#region src/application/models/productExperiment.d.ts
|
|
251
|
+
declare enum ProductExperiment {
|
|
252
|
+
Default = "default",
|
|
253
|
+
}
|
|
254
|
+
//#endregion
|
|
255
|
+
//#region src/application/models/spanxTakeAQuizCtaParameter.d.ts
|
|
256
|
+
interface SpanxTakeAQuizCtaParameter {
|
|
257
|
+
text?: string;
|
|
258
|
+
value?: string;
|
|
259
|
+
}
|
|
260
|
+
//#endregion
|
|
261
|
+
//#region src/application/models/spiffyWidgets.d.ts
|
|
262
|
+
/**
|
|
263
|
+
* Enum of all widget names. These are widgets that are rendered and integrated into
|
|
264
|
+
* a merchant's website.
|
|
265
|
+
*/
|
|
266
|
+
declare enum SpiffyWidgets {
|
|
267
|
+
ImageBanner = "image_banner",
|
|
268
|
+
ImagePromptCard = "image_prompt_card",
|
|
269
|
+
SingleImagePrompt = "single_image_prompt",
|
|
270
|
+
EmbeddedWidget = "embedded_widget",
|
|
271
|
+
FloatingButton = "floating_button",
|
|
272
|
+
SuggestionBar = "suggestion_bar",
|
|
273
|
+
SearchPrompt = "search_prompt",
|
|
274
|
+
GlobalSearch = "global_search",
|
|
275
|
+
SearchResults = "search_results",
|
|
276
|
+
GlobalSearchEntryPoint = "global_search_entry_point",
|
|
277
|
+
}
|
|
278
|
+
//#endregion
|
|
279
|
+
//#region src/application/models/supportedOrgs.d.ts
|
|
280
|
+
type BasicOrgInfoType = {
|
|
281
|
+
shortName: string;
|
|
282
|
+
name: string;
|
|
283
|
+
domain: string;
|
|
284
|
+
defaultProductId: string;
|
|
285
|
+
alwaysEnabledMerchants: boolean;
|
|
286
|
+
orgUIConfig: () => OrgUIConfig | undefined;
|
|
287
|
+
orgPageConfig: () => OrgPageConfig;
|
|
288
|
+
orgColors: () => ColorMapping | {};
|
|
289
|
+
};
|
|
290
|
+
declare const getOrgInfo: (orgShortName: string) => Promise<BasicOrgInfoType>;
|
|
291
|
+
//#endregion
|
|
292
|
+
//#region src/application/models/api/context.d.ts
|
|
293
|
+
interface Context$1 extends CamelCasedPropertiesDeep<Context> {}
|
|
294
|
+
//#endregion
|
|
295
|
+
//#region src/application/models/api/generationParams.d.ts
|
|
296
|
+
interface GenerationParams$1 extends CamelCasedPropertiesDeep<GenerationParams> {}
|
|
297
|
+
//#endregion
|
|
298
|
+
//#region src/application/models/api/userEvent.d.ts
|
|
299
|
+
interface PDPAttributes$1 extends CamelCasedPropertiesDeep<PDPAttributes> {}
|
|
300
|
+
interface PLPAttributes$1 extends CamelCasedPropertiesDeep<PLPAttributes> {}
|
|
301
|
+
interface SearchAttributes$1 extends CamelCasedPropertiesDeep<SearchAttributes> {}
|
|
302
|
+
interface QueryTypedAttributes$1 extends CamelCasedPropertiesDeep<QueryTypedAttributes> {}
|
|
303
|
+
interface FormSubmittedAttributes$1 {
|
|
304
|
+
filledSchema: Record<string, unknown>;
|
|
305
|
+
formResponseId: string;
|
|
306
|
+
formType: FormType;
|
|
307
|
+
}
|
|
308
|
+
interface PageVisitAttributes {
|
|
309
|
+
url: string;
|
|
310
|
+
pageVisitCategory: PageVisitCategory;
|
|
311
|
+
}
|
|
312
|
+
interface SuggestionClickedAttributes$1 extends CamelCasedPropertiesDeep<SuggestionClickedAttributes> {}
|
|
313
|
+
type UserEventAttributes = PDPAttributes$1 | PLPAttributes$1 | QueryTypedAttributes$1 | SearchAttributes$1 | SuggestionClickedAttributes$1 | PageVisitAttributes;
|
|
314
|
+
interface PDPUserEvent {
|
|
315
|
+
category: UserEventCategory.PdpVisit | UserEventCategory.AddToCart;
|
|
316
|
+
attributes: PDPAttributes$1;
|
|
317
|
+
}
|
|
318
|
+
interface PLPUserEvent {
|
|
319
|
+
category: UserEventCategory.PlpVisit;
|
|
320
|
+
attributes: PLPAttributes$1;
|
|
321
|
+
}
|
|
322
|
+
interface QueryTypedUserEvent {
|
|
323
|
+
category: UserEventCategory.QueryTyped;
|
|
324
|
+
attributes: QueryTypedAttributes$1;
|
|
325
|
+
}
|
|
326
|
+
interface SearchUserEvent {
|
|
327
|
+
category: UserEventCategory.Search;
|
|
328
|
+
attributes: SearchAttributes$1;
|
|
329
|
+
}
|
|
330
|
+
interface SuggestionsClickedUserEvent {
|
|
331
|
+
category: UserEventCategory.SuggestionClicked;
|
|
332
|
+
attributes: SuggestionClickedAttributes$1;
|
|
333
|
+
}
|
|
334
|
+
interface AppLoadedUserEvent {
|
|
335
|
+
category: UserEventCategory.AppLoaded;
|
|
336
|
+
}
|
|
337
|
+
interface AppUnloadedEvent {
|
|
338
|
+
category: UserEventCategory.AppUnloaded;
|
|
339
|
+
}
|
|
340
|
+
interface PageVisitEvent {
|
|
341
|
+
category: UserEventCategory.PageVisit;
|
|
342
|
+
attributes: PageVisitAttributes;
|
|
343
|
+
}
|
|
344
|
+
interface FormSubmitted {
|
|
345
|
+
category: UserEventCategory.FormSubmitted;
|
|
346
|
+
attributes: FormSubmittedAttributes$1;
|
|
347
|
+
}
|
|
348
|
+
type UserEvent$1 = CamelCasedPropertiesDeep<Pick<UserEvent, 'event_id' | 'category' | 'created_at'>> & (SuggestionsClickedUserEvent | AppLoadedUserEvent | PDPUserEvent | QueryTypedUserEvent | SearchUserEvent | AppUnloadedEvent | PLPUserEvent | PageVisitEvent | FormSubmitted);
|
|
349
|
+
//#endregion
|
|
350
|
+
//#region src/application/models/api/nextMessageRequest.d.ts
|
|
351
|
+
interface NextMessageRequest$1 {
|
|
352
|
+
id: string;
|
|
353
|
+
context: Context$1;
|
|
354
|
+
userEvents?: UserEvent$1[];
|
|
355
|
+
featureFlags?: Record<string, boolean>;
|
|
356
|
+
generationParams?: GenerationParams$1;
|
|
357
|
+
}
|
|
358
|
+
//#endregion
|
|
359
|
+
//#region src/application/models/api/search.d.ts
|
|
360
|
+
interface ProductSearchResponse$1 extends CamelCasedPropertiesDeep<ProductSearchResponse> {}
|
|
361
|
+
interface ProductSearchResponseAttributes$1 extends CamelCasedPropertiesDeep<ProductSearchResponseAttributes> {}
|
|
362
|
+
interface SearchResult {
|
|
363
|
+
products: SearchResponseProduct[];
|
|
364
|
+
filters: string[];
|
|
365
|
+
generatedQuery?: string;
|
|
366
|
+
totalProductCount: number;
|
|
367
|
+
searchResponseId: string;
|
|
368
|
+
}
|
|
369
|
+
interface SearchParams {
|
|
370
|
+
query: string;
|
|
371
|
+
limit?: number;
|
|
372
|
+
}
|
|
373
|
+
//#endregion
|
|
374
|
+
//#region src/application/models/api/suggestion.d.ts
|
|
375
|
+
interface Suggestion$1 extends CamelCasedPropertiesDeep<Suggestion> {}
|
|
376
|
+
//#endregion
|
|
377
|
+
//#region src/application/models/api/supportedEventRequest.d.ts
|
|
378
|
+
interface SupportedEventRequest$1 {
|
|
379
|
+
id: string;
|
|
380
|
+
context: Context$1;
|
|
381
|
+
userEvent: UserEvent$1;
|
|
382
|
+
}
|
|
383
|
+
//#endregion
|
|
384
|
+
//#region src/application/models/graphql/queries/getMerchantOrgIdQuery.d.ts
|
|
385
|
+
declare const getMerchantOrgIdQuery = "\n query {\n me {\n org {\n id\n }\n }\n }\n";
|
|
386
|
+
//#endregion
|
|
387
|
+
//#region src/application/models/guards/isBaseEcommerceEvent.d.ts
|
|
388
|
+
/**
|
|
389
|
+
* Checks if an event is a base Google Analytics ecommerce event.
|
|
390
|
+
*
|
|
391
|
+
* @param data The event to check.
|
|
392
|
+
*
|
|
393
|
+
* @returns True if the event is a base ecommerce event, false otherwise.
|
|
394
|
+
*/
|
|
395
|
+
declare const isBaseEcommerceEvent: (data: unknown) => data is BaseEcommerceEvent;
|
|
396
|
+
//#endregion
|
|
397
|
+
//#region src/application/models/guards/isGA4EcommerceEvent.d.ts
|
|
398
|
+
/**
|
|
399
|
+
* Checks if an event is a Google Analytics 4 ecommerce event.
|
|
400
|
+
*
|
|
401
|
+
* @param data The event to check.
|
|
402
|
+
*
|
|
403
|
+
* @returns True if the event is a GA4 ecommerce event, false otherwise.
|
|
404
|
+
*/
|
|
405
|
+
declare const isGA4EcommerceEvent: (data: unknown) => data is GA4EcommerceEvent;
|
|
406
|
+
//#endregion
|
|
407
|
+
//#region src/application/models/guards/isLegacyUAEcommerceEvent.d.ts
|
|
408
|
+
/**
|
|
409
|
+
* Checks if an event is a legacy Universal Analytics ecommerce event.
|
|
410
|
+
*
|
|
411
|
+
* @param data The event to check.
|
|
412
|
+
*
|
|
413
|
+
* @returns True if the event is a legacy UA ecommerce event, false otherwise.
|
|
414
|
+
*/
|
|
415
|
+
declare const isLegacyUAEcommerceEvent: (data: unknown) => data is UAEcommerceEvent;
|
|
416
|
+
//#endregion
|
|
417
|
+
//#region src/application/models/guards/isMobilePLPChatPlacementParameter.d.ts
|
|
418
|
+
interface MobilePlpChatPlacementParameter {
|
|
419
|
+
row_index: number;
|
|
420
|
+
}
|
|
421
|
+
declare const isMobilePLPChatPlacementParameter: (value: unknown) => value is MobilePlpChatPlacementParameter;
|
|
422
|
+
//#endregion
|
|
423
|
+
//#region src/application/models/guards/isSpanxTakeAQuizCtaParameter.d.ts
|
|
424
|
+
declare const isSpanxTakeAQuizCtaParameter: (value: unknown) => value is SpanxTakeAQuizCtaParameter;
|
|
425
|
+
//#endregion
|
|
426
|
+
//#region src/application/models/guards/isVariantInfo.d.ts
|
|
427
|
+
/**
|
|
428
|
+
* Type guard to check if an object is a valid VariantInfo.
|
|
429
|
+
*
|
|
430
|
+
* @param variantInfo - The unknown object to check.
|
|
431
|
+
*
|
|
432
|
+
* @returns True if the data is a valid VariantInfo object, false otherwise.
|
|
433
|
+
*/
|
|
434
|
+
declare const isVariantInfo: (variantInfo: unknown) => variantInfo is VariantInfo;
|
|
435
|
+
//#endregion
|
|
436
|
+
//#region src/application/models/guards/utils.d.ts
|
|
437
|
+
/**
|
|
438
|
+
* Checks if an object has a property of a specific type
|
|
439
|
+
*
|
|
440
|
+
* @param obj - The object to check
|
|
441
|
+
* @param prop - The property name to check
|
|
442
|
+
* @param type - The expected type of the property
|
|
443
|
+
* @param isOptional - Whether the property is optional (defaults to false)
|
|
444
|
+
*
|
|
445
|
+
* @returns boolean indicating if the object has the property of the specified type
|
|
446
|
+
*/
|
|
447
|
+
declare const hasPropertyOfType: <T extends object>(obj: unknown, prop: keyof T, type: "string" | "number" | "boolean" | "object" | "array", isOptional?: boolean) => obj is T;
|
|
448
|
+
//#endregion
|
|
449
|
+
//#region src/application/models/guards/api/isApiFormResponse.d.ts
|
|
450
|
+
/**
|
|
451
|
+
* Type guard to check if the provided data has the all of the properties (with the correct types) of
|
|
452
|
+
* a FormResponseAttribute
|
|
453
|
+
*
|
|
454
|
+
* @param data - The data to check
|
|
455
|
+
*
|
|
456
|
+
* @returns true if the data has the correct properties, false otherwise
|
|
457
|
+
*/
|
|
458
|
+
declare const isApiFormResponseAttributes: (data: unknown) => data is ApiFormResponseAttributes;
|
|
459
|
+
//#endregion
|
|
460
|
+
//#region src/application/models/guards/api/isApiFormSubmittedResponseAttributes.d.ts
|
|
461
|
+
declare const isApiFormSubmittedResponseAttributes: (data: unknown) => data is FormSubmittedAttributes;
|
|
462
|
+
//#endregion
|
|
463
|
+
//#region src/application/models/guards/api/isApiOrderResponseAttributes.d.ts
|
|
464
|
+
interface ApiOrderItemInfo extends Omit<OrderItemInfo, 'delivered_at' | 'estimated_delivery_at' | 'in_transit_at'> {
|
|
465
|
+
delivered_at?: string;
|
|
466
|
+
estimated_delivery_at?: string;
|
|
467
|
+
in_transit_at?: string;
|
|
468
|
+
}
|
|
469
|
+
interface ApiOrderResponseAttributes extends Omit<OrderResponseAttributes, 'created_at' | 'latest_event_date' | 'line_items'> {
|
|
470
|
+
created_at: string;
|
|
471
|
+
latest_event_date: string;
|
|
472
|
+
line_items: ApiOrderItemInfo[];
|
|
473
|
+
}
|
|
474
|
+
declare const isApiOrderResponseAttributes: (data: unknown) => data is ApiOrderResponseAttributes;
|
|
475
|
+
//#endregion
|
|
476
|
+
//#region src/application/models/guards/api/isApiOrganizationConfig.d.ts
|
|
477
|
+
interface ApiOrgAnalyticsConfigAmplitude {
|
|
478
|
+
session_replay_enabled: boolean;
|
|
479
|
+
session_replay_sample_rate: number;
|
|
480
|
+
tracking_enabled: boolean;
|
|
481
|
+
}
|
|
482
|
+
interface ApiOrgAnalyticsConfigCustomerService {
|
|
483
|
+
provider: string;
|
|
484
|
+
}
|
|
485
|
+
interface ApiOrgAnalyticsConfigGoogleAnalytics {
|
|
486
|
+
measurement_id: string;
|
|
487
|
+
}
|
|
488
|
+
interface ApiOrgAnalyticsConfig {
|
|
489
|
+
amplitude?: ApiOrgAnalyticsConfigAmplitude;
|
|
490
|
+
customer_service?: ApiOrgAnalyticsConfigCustomerService;
|
|
491
|
+
google_analytics?: ApiOrgAnalyticsConfigGoogleAnalytics;
|
|
492
|
+
}
|
|
493
|
+
interface ApiOrganizationConfig extends OrganizationConfig {
|
|
494
|
+
config: ApiOrgAnalyticsConfig;
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
*
|
|
498
|
+
* @param data
|
|
499
|
+
* @returns
|
|
500
|
+
*/
|
|
501
|
+
declare const isApiOrganizationConfig: (data: unknown) => data is ApiOrganizationConfig;
|
|
502
|
+
//#endregion
|
|
503
|
+
//#region src/application/models/guards/api/isApiOrgConfigResults.d.ts
|
|
504
|
+
interface ApiOrgConfigResults {
|
|
505
|
+
configs: ApiOrganizationConfig[];
|
|
506
|
+
experiments: StatsigExperiment[];
|
|
507
|
+
gates: StatsigFeatureGate[];
|
|
508
|
+
org: OrganizationSettings;
|
|
509
|
+
}
|
|
510
|
+
/**
|
|
511
|
+
*
|
|
512
|
+
* @param data
|
|
513
|
+
* @returns
|
|
514
|
+
*/
|
|
515
|
+
declare const isApiOrgConfigResults: (data: unknown) => data is Required<ApiOrgConfigResults>;
|
|
516
|
+
//#endregion
|
|
517
|
+
//#region src/application/models/guards/api/isApiPageResponseAttributes.d.ts
|
|
518
|
+
declare const isApiPageResponseAttributes: (obj: unknown) => obj is ApiPageResponseAttributes;
|
|
519
|
+
//#endregion
|
|
520
|
+
//#region src/application/models/guards/api/isApiPLPEventAttributes.d.ts
|
|
521
|
+
declare const isApiPLPIdAttribute: (data: unknown) => data is PLPIdAttributes;
|
|
522
|
+
declare const isApiPLPEventAttributes: (data: unknown) => data is PLPAttributes;
|
|
523
|
+
//#endregion
|
|
524
|
+
//#region src/application/models/guards/api/isApiProductSearchFilterAttributes.d.ts
|
|
525
|
+
declare const isApiProductSearchFilterResponseAttributes: (attributes: unknown) => attributes is ProductSearchFilterResponseAttributes;
|
|
526
|
+
//#endregion
|
|
527
|
+
//#region src/application/models/guards/graphQL/isGraphQLColorsConfig.d.ts
|
|
528
|
+
declare const isGraphQLColorsConfig: (data: unknown) => data is GetMerchantColorsQueryData;
|
|
529
|
+
//#endregion
|
|
530
|
+
//#region src/application/models/utilityTypes/delimiterCase.d.ts
|
|
531
|
+
type UpperCaseToLowerCase<T extends string> = T extends Uppercase<T> ? Lowercase<T> : T;
|
|
532
|
+
type SplitIncludingDelimiters_<Source extends string, Delimiter extends string> = Source extends '' ? [] : Source extends `${infer FirstPart}${Delimiter}${infer SecondPart}` ? Source extends `${FirstPart}${infer UsedDelimiter}${SecondPart}` ? UsedDelimiter extends Delimiter ? Source extends `${infer FirstPart}${UsedDelimiter}${infer SecondPart}` ? [...SplitIncludingDelimiters<FirstPart, Delimiter>, UsedDelimiter, ...SplitIncludingDelimiters<SecondPart, Delimiter>] : never : never : never : [Source];
|
|
533
|
+
/**
|
|
534
|
+
* Unlike a simpler split, this one includes the delimiter splitted on in the resulting array literal. This is to enable splitting on, for example, upper-case characters.
|
|
535
|
+
*
|
|
536
|
+
* @category Template literal
|
|
537
|
+
*/
|
|
538
|
+
type SplitIncludingDelimiters<Source extends string, Delimiter extends string> = SplitIncludingDelimiters_<UpperCaseToLowerCase<Source>, Delimiter>;
|
|
539
|
+
/**
|
|
540
|
+
*Format a specific part of the splitted string literal that `StringArrayToDelimiterCase<>` fuses together, ensuring desired casing.
|
|
541
|
+
*
|
|
542
|
+
*@see StringArrayToDelimiterCase
|
|
543
|
+
*/
|
|
544
|
+
type StringPartToDelimiterCase<StringPart extends string, Start extends boolean, UsedWordSeparators extends string, UsedUpperCaseCharacters extends string, Delimiter extends string> = StringPart extends UsedWordSeparators ? Delimiter : Start extends true ? Lowercase<StringPart> : StringPart extends UsedUpperCaseCharacters ? `${Delimiter}${Lowercase<StringPart>}` : StringPart;
|
|
545
|
+
/**
|
|
546
|
+
* Takes the result of a splitted string literal and recursively concatenates it together into the desired casing.
|
|
547
|
+
*
|
|
548
|
+
* It receives `UsedWordSeparators` and `UsedUpperCaseCharacters` as input to ensure it's fully encapsulated.
|
|
549
|
+
*
|
|
550
|
+
* @see SplitIncludingDelimiters
|
|
551
|
+
*/
|
|
552
|
+
type StringArrayToDelimiterCase<Parts extends readonly any[], Start extends boolean, UsedWordSeparators extends string, UsedUpperCaseCharacters extends string, Delimiter extends string> = Parts extends [`${infer FirstPart}`, ...infer RemainingParts] ? `${StringPartToDelimiterCase<FirstPart, Start, UsedWordSeparators, UsedUpperCaseCharacters, Delimiter>}${StringArrayToDelimiterCase<RemainingParts, false, UsedWordSeparators, UsedUpperCaseCharacters, Delimiter>}` : Parts extends [string] ? string : '';
|
|
553
|
+
/**
|
|
554
|
+
* Convert a string literal to a custom string delimiter casing.
|
|
555
|
+
*
|
|
556
|
+
* This can be useful when, for example, converting a camel-cased object property to an oddly cased one.
|
|
557
|
+
*
|
|
558
|
+
* @see KebabCase
|
|
559
|
+
* @see SnakeCase
|
|
560
|
+
*
|
|
561
|
+
* @example
|
|
562
|
+
* ```
|
|
563
|
+
* import type {DelimiterCase} from 'type-fest';
|
|
564
|
+
*
|
|
565
|
+
* // Simple
|
|
566
|
+
*
|
|
567
|
+
* const someVariable: DelimiterCase<'fooBar', '#'> = 'foo#bar';
|
|
568
|
+
*
|
|
569
|
+
* // Advanced
|
|
570
|
+
*
|
|
571
|
+
* type OddlyCasedProperties<T> = {
|
|
572
|
+
* [K in keyof T as DelimiterCase<K, '#'>]: T[K]
|
|
573
|
+
* };
|
|
574
|
+
*
|
|
575
|
+
* interface SomeOptions {
|
|
576
|
+
* dryRun: boolean;
|
|
577
|
+
* includeFile: string;
|
|
578
|
+
* foo: number;
|
|
579
|
+
* }
|
|
580
|
+
*
|
|
581
|
+
* const rawCliOptions: OddlyCasedProperties<SomeOptions> = {
|
|
582
|
+
* 'dry#run': true,
|
|
583
|
+
* 'include#file': 'bar.js',
|
|
584
|
+
* foo: 123
|
|
585
|
+
* };
|
|
586
|
+
* ```
|
|
587
|
+
*
|
|
588
|
+
* @category Change case
|
|
589
|
+
* @category Template literal
|
|
590
|
+
*/
|
|
591
|
+
type DelimiterCase<Value, Delimiter extends string> = string extends Value ? Value : Value extends string ? StringArrayToDelimiterCase<SplitIncludingDelimiters<Value, WordSeparators | UpperCaseCharacters>, true, WordSeparators, UpperCaseCharacters, Delimiter> : Value;
|
|
592
|
+
//#endregion
|
|
593
|
+
//#region src/application/models/utilityTypes/delimiterCasedPropertiesDeep.d.ts
|
|
594
|
+
/**
|
|
595
|
+
* Convert object properties to delimiter case recursively.
|
|
596
|
+
*
|
|
597
|
+
* This can be useful when, for example, converting some API types from a different style.
|
|
598
|
+
*
|
|
599
|
+
* @see DelimiterCase
|
|
600
|
+
* @see DelimiterCasedProperties
|
|
601
|
+
*
|
|
602
|
+
* @example
|
|
603
|
+
* ```
|
|
604
|
+
* import type {DelimiterCasedPropertiesDeep} from 'type-fest';
|
|
605
|
+
*
|
|
606
|
+
* interface User {
|
|
607
|
+
* userId: number;
|
|
608
|
+
* userName: string;
|
|
609
|
+
* }
|
|
610
|
+
*
|
|
611
|
+
* interface UserWithFriends {
|
|
612
|
+
* userInfo: User;
|
|
613
|
+
* userFriends: User[];
|
|
614
|
+
* }
|
|
615
|
+
*
|
|
616
|
+
* const result: DelimiterCasedPropertiesDeep<UserWithFriends, '-'> = {
|
|
617
|
+
* 'user-info': {
|
|
618
|
+
* 'user-id': 1,
|
|
619
|
+
* 'user-name': 'Tom',
|
|
620
|
+
* },
|
|
621
|
+
* 'user-friends': [
|
|
622
|
+
* {
|
|
623
|
+
* 'user-id': 2,
|
|
624
|
+
* 'user-name': 'Jerry',
|
|
625
|
+
* },
|
|
626
|
+
* {
|
|
627
|
+
* 'user-id': 3,
|
|
628
|
+
* 'user-name': 'Spike',
|
|
629
|
+
* },
|
|
630
|
+
* ],
|
|
631
|
+
* };
|
|
632
|
+
* ```
|
|
633
|
+
*
|
|
634
|
+
* @category Change case
|
|
635
|
+
* @category Template literal
|
|
636
|
+
* @category Object
|
|
637
|
+
*/
|
|
638
|
+
type DelimiterCasedPropertiesDeep<Value, Delimiter extends string> = Value extends NonRecursiveType ? Value : Value extends UnknownArray ? DelimiterCasedPropertiesArrayDeep<Value, Delimiter> : Value extends Set<infer U> ? Set<DelimiterCasedPropertiesDeep<U, Delimiter>> : { [K in keyof Value as DelimiterCase<K, Delimiter>]: DelimiterCasedPropertiesDeep<Value[K], Delimiter> };
|
|
639
|
+
type DelimiterCasedPropertiesArrayDeep<Value extends UnknownArray, Delimiter extends string> = Value extends [] ? [] : Value extends [infer U, ...infer V] ? [DelimiterCasedPropertiesDeep<U, Delimiter>, ...DelimiterCasedPropertiesDeep<V, Delimiter>] : Value extends readonly [infer U, ...infer V] ? readonly [DelimiterCasedPropertiesDeep<U, Delimiter>, ...DelimiterCasedPropertiesDeep<V, Delimiter>] : Value extends readonly [...infer U, infer V] ? [...DelimiterCasedPropertiesDeep<U, Delimiter>, DelimiterCasedPropertiesDeep<V, Delimiter>] : Value extends readonly [...infer U, infer V] ? readonly [...DelimiterCasedPropertiesDeep<U, Delimiter>, DelimiterCasedPropertiesDeep<V, Delimiter>] : Value extends Array<infer U> ? Array<DelimiterCasedPropertiesDeep<U, Delimiter>> : Value extends ReadonlyArray<infer U> ? ReadonlyArray<DelimiterCasedPropertiesDeep<U, Delimiter>> : never;
|
|
640
|
+
//#endregion
|
|
641
|
+
//#region src/application/models/utilityTypes/snakeCasedPropertiesDeep.d.ts
|
|
642
|
+
/**
|
|
643
|
+
* Convert object properties to snake case recursively.
|
|
644
|
+
*
|
|
645
|
+
* This can be useful when, for example, converting some API types from a different style.
|
|
646
|
+
*
|
|
647
|
+
* @see SnakeCase
|
|
648
|
+
* @see SnakeCasedProperties
|
|
649
|
+
*
|
|
650
|
+
* @example
|
|
651
|
+
* ```
|
|
652
|
+
* import type {SnakeCasedPropertiesDeep} from 'type-fest';
|
|
653
|
+
*
|
|
654
|
+
* interface User {
|
|
655
|
+
* userId: number;
|
|
656
|
+
* userName: string;
|
|
657
|
+
* }
|
|
658
|
+
*
|
|
659
|
+
* interface UserWithFriends {
|
|
660
|
+
* userInfo: User;
|
|
661
|
+
* userFriends: User[];
|
|
662
|
+
* }
|
|
663
|
+
*
|
|
664
|
+
* const result: SnakeCasedPropertiesDeep<UserWithFriends> = {
|
|
665
|
+
* user_info: {
|
|
666
|
+
* user_id: 1,
|
|
667
|
+
* user_name: 'Tom',
|
|
668
|
+
* },
|
|
669
|
+
* user_friends: [
|
|
670
|
+
* {
|
|
671
|
+
* user_id: 2,
|
|
672
|
+
* user_name: 'Jerry',
|
|
673
|
+
* },
|
|
674
|
+
* {
|
|
675
|
+
* user_id: 3,
|
|
676
|
+
* user_name: 'Spike',
|
|
677
|
+
* },
|
|
678
|
+
* ],
|
|
679
|
+
* };
|
|
680
|
+
* ```
|
|
681
|
+
*
|
|
682
|
+
* @category Change case
|
|
683
|
+
* @category Template literal
|
|
684
|
+
* @category Object
|
|
685
|
+
*/
|
|
686
|
+
type SnakeCasedPropertiesDeep<Value> = DelimiterCasedPropertiesDeep<Value, '_'>;
|
|
687
|
+
//#endregion
|
|
688
|
+
//#region src/application/models/utils/snakeToCamelTransformer.d.ts
|
|
689
|
+
/**
|
|
690
|
+
* Generic utility to transform snake_case object keys to camelCase at runtime.
|
|
691
|
+
* This is the runtime equivalent of the CamelCasedPropertiesDeep type utility.
|
|
692
|
+
*/
|
|
693
|
+
/**
|
|
694
|
+
* Recursively transforms all object keys from snake_case to camelCase
|
|
695
|
+
*/
|
|
696
|
+
declare const transformSnakeToCamel: (obj: unknown) => unknown;
|
|
697
|
+
/**
|
|
698
|
+
* Recursively transforms all object keys from camelCase to snake_case
|
|
699
|
+
*/
|
|
700
|
+
declare const transformCamelToSnake: (obj: unknown) => unknown;
|
|
701
|
+
//#endregion
|
|
702
|
+
//#region src/application/models/utils/stringToFulfillmentDisplayStatusEnumValue.d.ts
|
|
703
|
+
/**
|
|
704
|
+
* Converts a string to a FulfillmentDisplayStatus enum value.
|
|
705
|
+
*
|
|
706
|
+
* @param status - The string to convert.
|
|
707
|
+
*
|
|
708
|
+
* @returns The FulfillmentDisplayStatus enum value or undefined if the string
|
|
709
|
+
* does not map to a valid enum
|
|
710
|
+
*/
|
|
711
|
+
declare const stringToFulfillmentDisplayStatusEnumValue: (status: string) => FulfillmentDisplayStatus | undefined;
|
|
712
|
+
//#endregion
|
|
713
|
+
//#region src/application/models/validators/validateGraphQLColorsConfig.d.ts
|
|
714
|
+
declare const validateGraphQLColorsConfig: (data: unknown) => ColorMapping | undefined;
|
|
715
|
+
//#endregion
|
|
716
|
+
//#region src/application/models/validators/validateGraphQLFrontendConfig.d.ts
|
|
717
|
+
declare const validateAndTransformPageVariants: (config: Record<string, unknown>) => PageVariantConfig;
|
|
718
|
+
declare const validateAndTransformMountingConfig: (config: Record<string, unknown>, configKey: string) => WidgetMountingConfig;
|
|
719
|
+
declare const validateAndTransformWidgetConfig: (config: Record<string, unknown>, configKey: string) => WidgetConfig;
|
|
720
|
+
declare const validateGraphQLFrontendConfig: (data: unknown) => FrontendConfig | undefined;
|
|
721
|
+
//#endregion
|
|
722
|
+
//#region src/application/models/validators/validateGraphQLOrgId.d.ts
|
|
723
|
+
declare const validateGraphQLOrgId: (data: unknown) => string | undefined;
|
|
724
|
+
//#endregion
|
|
725
|
+
//#region src/application/models/validators/validateMobilePLPChatPlacementParameter.d.ts
|
|
726
|
+
declare const validateMobilePLPChatPlacementParameter: (value: unknown) => MobilePLPChatPlacementParameter | undefined;
|
|
727
|
+
//#endregion
|
|
728
|
+
//#region src/application/models/validators/validateOrganizationConfig.d.ts
|
|
729
|
+
declare const validateOrganizationConfig: (data: unknown) => OrganizationConfig$1 | undefined;
|
|
730
|
+
//#endregion
|
|
731
|
+
//#region src/application/models/validators/validateOrgConfigResults.d.ts
|
|
732
|
+
/**
|
|
733
|
+
*
|
|
734
|
+
* @param data
|
|
735
|
+
* @returns
|
|
736
|
+
*/
|
|
737
|
+
declare const validateOrgConfigResults: (data: unknown) => OrgConfig | undefined;
|
|
738
|
+
//#endregion
|
|
739
|
+
//#region src/application/models/validators/validateResponse.d.ts
|
|
740
|
+
declare const validateResponse: (data: unknown) => Response$1 | undefined;
|
|
741
|
+
//#endregion
|
|
742
|
+
//#region src/application/models/validators/validateSuggestion.d.ts
|
|
743
|
+
declare const validateSuggestion: (data: unknown) => Suggestion$1 | undefined;
|
|
744
|
+
//#endregion
|
|
745
|
+
//#region src/application/models/validators/validateUserEvent.d.ts
|
|
746
|
+
declare const validateUserEvent: (data: unknown) => UserEvent$1 | undefined;
|
|
747
|
+
//#endregion
|
|
748
|
+
export { ApiOrderItemInfo, ApiOrderResponseAttributes, ApiOrganizationConfig, AppLoadedUserEvent, AppUnloadedEvent, BaseEcommerceEvent, BasicOrgInfoType, type CachedValue, type ClientDetails, Context$1 as Context, ConversationalSearchIds, DelimiterCase, DelimiterCasedPropertiesDeep, DomMutationObserverContinuation, DomObservationStrategy, FormField, FormSubmitted, FormSubmittedAttributes$1 as FormSubmittedAttributes, GA4EcommerceEvent, GenerationParams$1 as GenerationParams, GoogleAnalyticsEvents, Message, MessageRole, MessageType, MobilePLPChatPlacementParameter, NextMessageRequest$1 as NextMessageRequest, OrgShortName, PDPAttributes$1 as PDPAttributes, PDPUserEvent, PLPAttributes$1 as PLPAttributes, PLPUserEvent, PageVisitAttributes, PageVisitEvent, ProductExperiment, ProductMessageMetadata, ProductSearchMessageMetadata, ProductSearchResponse$1 as ProductSearchResponse, ProductSearchResponseAttributes$1 as ProductSearchResponseAttributes, QueryTypedAttributes$1 as QueryTypedAttributes, QueryTypedUserEvent, SearchAttributes$1 as SearchAttributes, SearchParams, SearchResult, SearchUserEvent, SnakeCasedPropertiesDeep, SpanxTakeAQuizCtaParameter, SpiffyEventName, SpiffyWidgets, SplitIncludingDelimiters, Suggestion$1 as Suggestion, SuggestionClickedAttributes$1 as SuggestionClickedAttributes, SuggestionsClickedUserEvent, SupportedEventRequest$1 as SupportedEventRequest, UAEcommerceEvent, UserEvent$1 as UserEvent, UserEventAttributes, getMerchantOrgIdQuery, getOrgInfo, hasPropertyOfType, isApiFormResponseAttributes, isApiFormSubmittedResponseAttributes, isApiOrderResponseAttributes, isApiOrgConfigResults, isApiOrganizationConfig, isApiPLPEventAttributes, isApiPLPIdAttribute, isApiPageResponseAttributes, isApiProductSearchFilterResponseAttributes, isBaseEcommerceEvent, isGA4EcommerceEvent, isGraphQLColorsConfig, isLegacyUAEcommerceEvent, isMobilePLPChatPlacementParameter, isSpanxTakeAQuizCtaParameter, isVariantInfo, stringToFulfillmentDisplayStatusEnumValue, transformCamelToSnake, transformSnakeToCamel, validateAndTransformMountingConfig, validateAndTransformPageVariants, validateAndTransformWidgetConfig, validateGraphQLColorsConfig, validateGraphQLFrontendConfig, validateGraphQLOrgId, validateMobilePLPChatPlacementParameter, validateOrgConfigResults, validateOrganizationConfig, validateResponse, validateSuggestion, validateUserEvent };
|
|
749
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtQmZ1TzliMFEuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2NhY2hlZFZhbHVlLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2NsaWVudERldGFpbHMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY29udmVyc2F0aW9uYWxTZWFyY2hJZHMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZGF0YUxheWVyLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2RvbU11dGF0aW9uQ29udGludWF0aW9uLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2RvbU9ic2VydmF0aW9uU3RyYXRlZ3kuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZXZlbnRzLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2dvb2dsZUFuYWx5dGljc0V2ZW50cy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9tZXNzYWdlLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL21vYmlsZVBMUENoYXRQbGFjZW1lbnRQYXJhbWV0ZXIuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvb3Jnc0VudW0uZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvcHJvZHVjdEV4cGVyaW1lbnQuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvc3BhbnhUYWtlQVF1aXpDdGFQYXJhbWV0ZXIuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvc3BpZmZ5V2lkZ2V0cy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9zdXBwb3J0ZWRPcmdzLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9jb250ZXh0LmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9nZW5lcmF0aW9uUGFyYW1zLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS91c2VyRXZlbnQuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL25leHRNZXNzYWdlUmVxdWVzdC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc2VhcmNoLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9zdWdnZXN0aW9uLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9zdXBwb3J0ZWRFdmVudFJlcXVlc3QuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3JhcGhxbC9xdWVyaWVzL2dldE1lcmNoYW50T3JnSWRRdWVyeS5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvaXNCYXNlRWNvbW1lcmNlRXZlbnQuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2lzR0E0RWNvbW1lcmNlRXZlbnQuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2lzTGVnYWN5VUFFY29tbWVyY2VFdmVudC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvaXNNb2JpbGVQTFBDaGF0UGxhY2VtZW50UGFyYW1ldGVyLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9pc1NwYW54VGFrZUFRdWl6Q3RhUGFyYW1ldGVyLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9pc1ZhcmlhbnRJbmZvLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy91dGlscy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpRm9ybVJlc3BvbnNlLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlGb3JtU3VibWl0dGVkUmVzcG9uc2VBdHRyaWJ1dGVzLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlPcmRlclJlc3BvbnNlQXR0cmlidXRlcy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpT3JnYW5pemF0aW9uQ29uZmlnLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlPcmdDb25maWdSZXN1bHRzLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlQYWdlUmVzcG9uc2VBdHRyaWJ1dGVzLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlQTFBFdmVudEF0dHJpYnV0ZXMuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaVByb2R1Y3RTZWFyY2hGaWx0ZXJBdHRyaWJ1dGVzLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9ncmFwaFFML2lzR3JhcGhRTENvbG9yc0NvbmZpZy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlsaXR5VHlwZXMvZGVsaW1pdGVyQ2FzZS5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlsaXR5VHlwZXMvZGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlsaXR5VHlwZXMvc25ha2VDYXNlZFByb3BlcnRpZXNEZWVwLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxzL3NuYWtlVG9DYW1lbFRyYW5zZm9ybWVyLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxzL3N0cmluZ1RvRnVsZmlsbG1lbnREaXNwbGF5U3RhdHVzRW51bVZhbHVlLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhbGlkYXRvcnMvdmFsaWRhdGVHcmFwaFFMQ29sb3JzQ29uZmlnLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhbGlkYXRvcnMvdmFsaWRhdGVHcmFwaFFMRnJvbnRlbmRDb25maWcuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdmFsaWRhdG9ycy92YWxpZGF0ZUdyYXBoUUxPcmdJZC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy92YWxpZGF0b3JzL3ZhbGlkYXRlTW9iaWxlUExQQ2hhdFBsYWNlbWVudFBhcmFtZXRlci5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy92YWxpZGF0b3JzL3ZhbGlkYXRlT3JnYW5pemF0aW9uQ29uZmlnLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhbGlkYXRvcnMvdmFsaWRhdGVPcmdDb25maWdSZXN1bHRzLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhbGlkYXRvcnMvdmFsaWRhdGVSZXNwb25zZS5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy92YWxpZGF0b3JzL3ZhbGlkYXRlU3VnZ2VzdGlvbi5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy92YWxpZGF0b3JzL3ZhbGlkYXRlVXNlckV2ZW50LmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW50ZXJmYWNlIENhY2hlZFZhbHVlIHtcbiAgICB2YWx1ZTogdW5rbm93bjtcbiAgICBleHBpcnk6IG51bWJlcjtcbn1cbmV4cG9ydCB0eXBlIHsgQ2FjaGVkVmFsdWUgfTtcbiIsImludGVyZmFjZSBDbGllbnREZXRhaWxzIHtcbiAgICBvcz86IHN0cmluZztcbiAgICBvc1ZlcnNpb24/OiBzdHJpbmc7XG4gICAgZGV2aWNlQnJhbmQ/OiBzdHJpbmc7XG4gICAgZGV2aWNlTWFudWZhY3R1cmVyPzogc3RyaW5nO1xuICAgIGRldmljZU1vZGVsPzogc3RyaW5nO1xuICAgIGNhcnJpZXI/OiBzdHJpbmc7XG4gICAgY291bnRyeT86IHN0cmluZztcbiAgICByZWdpb24/OiBzdHJpbmc7XG4gICAgYnJvd3Nlcj86IHN0cmluZztcbiAgICBicm93c2VyVmVyc2lvbj86IHN0cmluZztcbiAgICBicm93c2VySXBBZGRyZXNzPzogc3RyaW5nO1xuICAgIHVzZXJBZ2VudD86IHN0cmluZztcbn1cbmV4cG9ydCB0eXBlIHsgQ2xpZW50RGV0YWlscywgfTtcbiIsImV4cG9ydCB0eXBlIENvbnZlcnNhdGlvbmFsU2VhcmNoSWRzID0ge1xuICAgIGNvbnZlcnNhdGlvbmFsU2VhcmNoRW50cnlwb2ludElkPzogc3RyaW5nO1xuICAgIGNvbnZlcnNhdGlvbmFsU2VhcmNoSW5wdXRJZD86IHN0cmluZztcbiAgICBjb252ZXJzYXRpb25hbFNlYXJjaE1vZGFsSWQ/OiBzdHJpbmc7XG59O1xuIiwiLyoqXG4gKiBCYXNlIGludGVyZmFjZSBmb3IgY29tbW9uIHByb3BlcnRpZXMgYWNyb3NzIGFsbCBlY29tbWVyY2UgZXZlbnRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUVjb21tZXJjZUV2ZW50IHtcbiAgICBldmVudDogc3RyaW5nO1xuICAgIGVjb21tZXJjZTogVUFFY29tbWVyY2VEYXRhIHwgR0E0RWNvbW1lcmNlRGF0YTtcbn1cbi8qKlxuICogTGVnYWN5IHVuaXZlcnNhbCBhbmFseXRpY3MgZGF0YS4gVGhlIGFjdHVhbCBwYXlsb2FkIGNvbnRhaW5zIG1vcmUgZmllbGRzLCBidXQgd2VcbiAqIG9ubHkgbmVlZCB0aGUgb25lcyBsaXN0ZWQgYmVsb3cuXG4gKi9cbmludGVyZmFjZSBVQUVjb21tZXJjZURhdGEge1xuICAgIGFkZDoge1xuICAgICAgICBwcm9kdWN0czoge1xuICAgICAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgY2F0ZWdvcnk6IHN0cmluZztcbiAgICAgICAgICAgIHByaWNlOiBzdHJpbmc7XG4gICAgICAgICAgICBxdWFudGl0eTogc3RyaW5nO1xuICAgICAgICB9W107XG4gICAgICAgIGN1cnJlbmN5Q29kZTogc3RyaW5nO1xuICAgIH07XG59XG4vKipcbiAqIEdvb2dsZSBBbmFseXRpY3MgNCBkYXRhLiBUaGUgYWN0dWFsIHBheWxvYWQgY29udGFpbnMgbW9yZSBmaWVsZHMsIGJ1dCB3ZVxuICogb25seSBuZWVkIHRoZSBvbmVzIGxpc3RlZCBiZWxvdy5cbiAqL1xuaW50ZXJmYWNlIEdBNEVjb21tZXJjZURhdGEge1xuICAgIGN1cnJlbmN5OiBzdHJpbmc7XG4gICAgaXRlbXM6IHtcbiAgICAgICAgaXRlbV9uYW1lOiBzdHJpbmc7XG4gICAgICAgIGl0ZW1fY2F0ZWdvcnk6IHN0cmluZztcbiAgICAgICAgcHJpY2U6IG51bWJlcjtcbiAgICAgICAgcXVhbnRpdHk6IG51bWJlcjtcbiAgICB9W107XG59XG5leHBvcnQgaW50ZXJmYWNlIFVBRWNvbW1lcmNlRXZlbnQgZXh0ZW5kcyBCYXNlRWNvbW1lcmNlRXZlbnQge1xuICAgIGVjb21tZXJjZTogVUFFY29tbWVyY2VEYXRhO1xufVxuZXhwb3J0IGludGVyZmFjZSBHQTRFY29tbWVyY2VFdmVudCBleHRlbmRzIEJhc2VFY29tbWVyY2VFdmVudCB7XG4gICAgZWNvbW1lcmNlOiBHQTRFY29tbWVyY2VEYXRhO1xufVxuZXhwb3J0IHt9O1xuIiwiZGVjbGFyZSBlbnVtIERvbU11dGF0aW9uT2JzZXJ2ZXJDb250aW51YXRpb24ge1xuICAgIENPTlRJTlVFID0gXCJDT05USU5VRVwiLFxuICAgIEVYRUNVVElORyA9IFwiRVhFQ1VUSU5HXCIsXG4gICAgU1RPUCA9IFwiU1RPUFwiXG59XG5leHBvcnQgeyBEb21NdXRhdGlvbk9ic2VydmVyQ29udGludWF0aW9uIH07XG4iLCJkZWNsYXJlIGVudW0gRG9tT2JzZXJ2YXRpb25TdHJhdGVneSB7XG4gICAgTXV0YXRpb25PYnNlcnZlciA9IFwiTXV0YXRpb25PYnNlcnZlclwiLFxuICAgIFBvbGxpbmcgPSBcIlBvbGxpbmdcIixcbiAgICBOb25lID0gXCJOb25lXCJcbn1cbmV4cG9ydCB7IERvbU9ic2VydmF0aW9uU3RyYXRlZ3kgfTtcbiIsImV4cG9ydCBkZWNsYXJlIGVudW0gU3BpZmZ5RXZlbnROYW1lIHtcbiAgICBXaWRnZXRPcGVuID0gXCJzcGlmZnk6d2lkZ2V0b3BlblwiLFxuICAgIFdpZGdldENsb3NlID0gXCJzcGlmZnk6d2lkZ2V0Y2xvc2VcIlxufVxuIiwiZGVjbGFyZSBlbnVtIEdvb2dsZUFuYWx5dGljc0V2ZW50cyB7XG4gICAgQUREX1RPX0NBUlRfdjEgPSBcImFkZF90b19jYXJ0XCIsXG4gICAgQUREX1RPX0NBUlRfdjIgPSBcImFkZFRvQ2FydFwiXG59XG5leHBvcnQgeyBHb29nbGVBbmFseXRpY3NFdmVudHMgfTtcbiIsImltcG9ydCB7IEN1c3RTZXJ2aWNlQXR0YWNobWVudCwgRm9ybVR5cGUgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgT3JkZXJSZXNwb25zZUF0dHJpYnV0ZXMsIFByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXMsIFJldmlld1Jlc3BvbnNlQXR0cmlidXRlcywgUGFnZVJlc3BvbnNlQXR0cmlidXRlcywgVGV4dFJlc3BvbnNlQXR0cmlidXRlcywgU2VhcmNoUmVzcG9uc2VBdHRyaWJ1dGVzLCBTZWFyY2hQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzLCBBY2NlcHRhYmxlRm9ybUZpZWxkVHlwZSwgU2VhcmNoUHJvZHVjdEZpbHRlckF0dHJpYnV0ZXMgfSBmcm9tICcuL2FwaS9yZXNwb25zZSc7XG5leHBvcnQgZGVjbGFyZSBlbnVtIE1lc3NhZ2VSb2xlIHtcbiAgICBVc2VyID0gXCJ1c2VyXCIsXG4gICAgQXNzaXN0YW50ID0gXCJhc3Npc3RhbnRcIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBNZXNzYWdlVHlwZSB7XG4gICAgVGV4dCA9IFwidGV4dFwiLFxuICAgIFN1Z2dlc3Rpb25DbGlja2VkID0gXCJzdWdnZXN0aW9uX2NsaWNrZWRcIixcbiAgICBQcm9kdWN0ID0gXCJwcm9kdWN0XCIsXG4gICAgUHJvZHVjdFNlYXJjaCA9IFwicHJvZHVjdF9zZWFyY2hcIixcbiAgICBSZXZpZXcgPSBcInJldmlld1wiLFxuICAgIFF1ZXJ5VHlwZWQgPSBcInF1ZXJ5X3R5cGVkXCIsXG4gICAgU2VwYXJhdG9yID0gXCJzZXBhcmF0b3JcIixcbiAgICBQYWdlID0gXCJwYWdlXCIsXG4gICAgU2VhcmNoID0gXCJzZWFyY2hcIixcbiAgICBBdHRhY2htZW50ID0gXCJhdHRhY2htZW50XCIsXG4gICAgQ1hBZ2VudFJlc3BvbnNlID0gXCJjeF9hZ2VudF9yZXNwb25zZVwiLFxuICAgIEZvcm0gPSBcImZvcm1cIixcbiAgICBPcmRlciA9IFwib3JkZXJcIixcbiAgICBQcm9kdWN0U2VhcmNoRmlsdGVyID0gXCJwcm9kdWN0X3NlYXJjaF9maWx0ZXJcIlxufVxuZXhwb3J0IHR5cGUgTWVzc2FnZSA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHJvbGU6IE1lc3NhZ2VSb2xlO1xuICAgIGNyZWF0ZWRBdDogc3RyaW5nO1xufSAmIChUZXh0TWVzc2FnZU1ldGFkYXRhIHwgUXVlcnlUeXBlZE1ldGFkYXRhIHwgU3VnZ2VzdGlvbk1lc3NhZ2VNZXRhZGF0YSB8IFByb2R1Y3RNZXNzYWdlTWV0YWRhdGEgfCBQcm9kdWN0U2VhcmNoTWVzc2FnZU1ldGFkYXRhIHwgUmV2aWV3TWVzc2FnZU1ldGFkYXRhIHwgU2VwYXJhdG9yTWVzc2FnZU1ldGFkYXRhIHwgUGFnZU1lc3NhZ2VNZXRhZGF0YSB8IFNlYXJjaE1lc3NhZ2VNZXRhZGF0YSB8IEF0dGFjaG1lbnRNZXRhZGF0YSB8IENYQWdlbnRSZXNwb25zZU1ldGFkYXRhIHwgRm9ybU1lc3NhZ2VNZXRhZGF0YSB8IE9yZGVyTWVzc2FnZU1ldGFkYXRhIHwgUHJvZHVjdFNlYXJjaEZpbHRlck1ldGFkYXRhKTtcbnR5cGUgQXR0YWNobWVudE1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLkF0dGFjaG1lbnQ7XG4gICAgbWV0YWRhdGE6IHtcbiAgICAgICAgbWVzc2FnZT86IHN0cmluZztcbiAgICAgICAgYXR0YWNobWVudDogQ3VzdFNlcnZpY2VBdHRhY2htZW50W107XG4gICAgfTtcbn07XG50eXBlIENYQWdlbnRSZXNwb25zZU1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLkNYQWdlbnRSZXNwb25zZTtcbiAgICBtZXRhZGF0YToge1xuICAgICAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgICAgIGFnZW50TmFtZTogc3RyaW5nO1xuICAgIH07XG59O1xudHlwZSBUZXh0TWVzc2FnZU1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlRleHQ7XG4gICAgbWV0YWRhdGE6IFRleHRSZXNwb25zZUF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXTtcbn07XG50eXBlIFF1ZXJ5VHlwZWRNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5RdWVyeVR5cGVkO1xuICAgIG1ldGFkYXRhOiBUZXh0UmVzcG9uc2VBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xudHlwZSBTdWdnZXN0aW9uTWVzc2FnZU1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlN1Z2dlc3Rpb25DbGlja2VkO1xuICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIHN1Z2dlc3Rpb25JZDogc3RyaW5nO1xuICAgICAgICBzdWdnZXN0aW9uQ29udGVudDogc3RyaW5nO1xuICAgIH07XG59O1xuZXhwb3J0IHR5cGUgUHJvZHVjdE1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5Qcm9kdWN0O1xuICAgIG1ldGFkYXRhOiBQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xuZXhwb3J0IHR5cGUgUHJvZHVjdFNlYXJjaE1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5Qcm9kdWN0U2VhcmNoO1xuICAgIG1ldGFkYXRhOiBTZWFyY2hQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xudHlwZSBSZXZpZXdNZXNzYWdlTWV0YWRhdGEgPSB7XG4gICAgdHlwZTogTWVzc2FnZVR5cGUuUmV2aWV3O1xuICAgIG1ldGFkYXRhOiBSZXZpZXdSZXNwb25zZUF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXTtcbn07XG50eXBlIFNlcGFyYXRvck1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5TZXBhcmF0b3I7XG59O1xudHlwZSBQYWdlTWVzc2FnZU1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlBhZ2U7XG4gICAgbWV0YWRhdGE6IFBhZ2VSZXNwb25zZUF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXTtcbn07XG50eXBlIFNlYXJjaE1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5TZWFyY2g7XG4gICAgbWV0YWRhdGE6IFNlYXJjaFJlc3BvbnNlQXR0cmlidXRlc1snYXR0cmlidXRlcyddO1xufTtcbnR5cGUgUHJvZHVjdFNlYXJjaEZpbHRlck1ldGFkYXRhID0ge1xuICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlByb2R1Y3RTZWFyY2hGaWx0ZXI7XG4gICAgbWV0YWRhdGE6IFNlYXJjaFByb2R1Y3RGaWx0ZXJBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ107XG59O1xuZXhwb3J0IHR5cGUgRm9ybUZpZWxkID0ge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgdHlwZTogQWNjZXB0YWJsZUZvcm1GaWVsZFR5cGU7XG4gICAgcmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgZm9ybWF0PzogJ2VtYWlsJztcbiAgICB2YWx1ZT86IHN0cmluZztcbn07XG50eXBlIEZvcm1NZXNzYWdlTWV0YWRhdGEgPSB7XG4gICAgdHlwZTogTWVzc2FnZVR5cGUuRm9ybTtcbiAgICBtZXRhZGF0YToge1xuICAgICAgICBmb3JtVHlwZT86IEZvcm1UeXBlO1xuICAgICAgICBmaWVsZHM6IEZvcm1GaWVsZFtdO1xuICAgIH07XG59O1xudHlwZSBPcmRlck1lc3NhZ2VNZXRhZGF0YSA9IHtcbiAgICB0eXBlOiBNZXNzYWdlVHlwZS5PcmRlcjtcbiAgICBtZXRhZGF0YTogT3JkZXJSZXNwb25zZUF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXTtcbn07XG5leHBvcnQge307XG4iLCJleHBvcnQgaW50ZXJmYWNlIE1vYmlsZVBMUENoYXRQbGFjZW1lbnRQYXJhbWV0ZXIge1xuICAgIHJvd0luZGV4OiBudW1iZXI7XG59XG4iLCJleHBvcnQgZGVjbGFyZSBjb25zdCBPcmdTaG9ydE5hbWU6IHtcbiAgICByZWFkb25seSBDb3RlcmllOiBcImNvdGVyaWVcIjtcbiAgICByZWFkb25seSBGb3JMb3ZlQW5kTGVtb25zOiBcImZvci1sb3ZlLWFuZC1sZW1vbnNcIjtcbiAgICByZWFkb25seSBHcmVlbnBhbjogXCJncmVlbnBhblwiO1xuICAgIHJlYWRvbmx5IEpvcmRhbkNyYWlnOiBcImpvcmRhbi1jcmFpZ1wiO1xuICAgIHJlYWRvbmx5IExhcnJ5QW5kU2VyZ2VzOiBcImxhcnJ5X2FuZF9zZXJnZXNcIjtcbiAgICByZWFkb25seSBMZWFwc0FuZFJlYm91bmRzOiBcImxlYXBzLWFuZC1yZWJvdW5kc1wiO1xuICAgIHJlYWRvbmx5IE1hbnRyYUJyYW5kOiBcIm1hbnRyYS1icmFuZFwiO1xuICAgIHJlYWRvbmx5IFNwYW54OiBcInNwYW54XCI7XG4gICAgcmVhZG9ubHkgU3BhbnhTdGFnaW5nOiBcInN0YWdpbmctc3BhbnhcIjtcbiAgICByZWFkb25seSBTdXBlcmdvb3A6IFwic3VwZXJnb29wXCI7XG4gICAgcmVhZG9ubHkgVW5pcXVlVmludGFnZTogXCJ1bmlxdWUtdmludGFnZVwiO1xuICAgIHJlYWRvbmx5IEphY2tBcmNoZXI6IFwiamFjay1hcmNoZXJcIjtcbiAgICByZWFkb25seSBTa2luUGVyZmVjdGlvbjogXCJza2luLXBlcmZlY3Rpb25cIjtcbiAgICByZWFkb25seSBMb29rT3B0aWM6IFwibG9vay1vcHRpY1wiO1xuICAgIHJlYWRvbmx5IEZpdmVDYmQ6IFwiZml2ZS1jYmRcIjtcbiAgICByZWFkb25seSBTbmFwU3VwcGxlbWVudHM6IFwic25hcC1zdXBwbGVtZW50c1wiO1xuICAgIHJlYWRvbmx5IExvbmdldml0eXJ4OiBcImxvbmdldml0eXJ4XCI7XG4gICAgcmVhZG9ubHkgVmVuYUNiZDogXCJ2ZW5hLWNiZFwiO1xuICAgIHJlYWRvbmx5IE1lZHRlcnJhOiBcIm1lZHRlcnJhXCI7XG4gICAgcmVhZG9ubHkgTW9kZWxsczogXCJtb2RlbGxzXCI7XG4gICAgcmVhZG9ubHkgUHJlc3NlZEZsb3JhbDogXCJwcmVzc2VkLWZsb3JhbFwiO1xuICAgIHJlYWRvbmx5IEtpbmRyZWRCcmF2ZWx5OiBcImtpbmRyZWQtYnJhdmVseVwiO1xuICAgIHJlYWRvbmx5IFdpbmVFbnRodXNpYXN0OiBcIndpbmUtZW50aHVzaWFzdFwiO1xuICAgIHJlYWRvbmx5IEhvbWVncm93bkNhbm5hYmlzOiBcImhvbWVncm93bi1jYW5uYWJpc1wiO1xuICAgIHJlYWRvbmx5IERyZWFtbGFuZEJhYnk6IFwiZHJlYW1sYW5kLWJhYnlcIjtcbiAgICByZWFkb25seSBCYW5kb2xpZXI6IFwiYmFuZG9saWVyXCI7XG4gICAgcmVhZG9ubHkgV2VzdG9uSm9uQm91Y2hlcjogXCJ3ZXN0b24tam9uLWJvdWNoZXJcIjtcbiAgICByZWFkb25seSBLdXRGcm9tVGhlS2xvdGg6IFwia3V0LWZyb20tdGhlLWtsb3RoXCI7XG4gICAgcmVhZG9ubHkgR3Jvb3ZlTGlmZTogXCJncm9vdmUtbGlmZVwiO1xuICAgIHJlYWRvbmx5IENhcnBlOiBcImNhcnBlXCI7XG4gICAgcmVhZG9ubHkgV29sZlRhY3RpY2FsOiBcIndvbGYtdGFjdGljYWxcIjtcbiAgICByZWFkb25seSBXb2xmTWF0dHJlc3M6IFwid29sZm1hdHRyZXNzXCI7XG4gICAgcmVhZG9ubHkgRGVmYXVsdDogXCJkZWZhdWx0XCI7XG59O1xuIiwiZXhwb3J0IGRlY2xhcmUgZW51bSBQcm9kdWN0RXhwZXJpbWVudCB7XG4gICAgRGVmYXVsdCA9IFwiZGVmYXVsdFwiXG59XG4iLCJleHBvcnQgaW50ZXJmYWNlIFNwYW54VGFrZUFRdWl6Q3RhUGFyYW1ldGVyIHtcbiAgICB0ZXh0Pzogc3RyaW5nO1xuICAgIHZhbHVlPzogc3RyaW5nO1xufVxuIiwiLyoqXG4gKiBFbnVtIG9mIGFsbCB3aWRnZXQgbmFtZXMuIFRoZXNlIGFyZSB3aWRnZXRzIHRoYXQgYXJlIHJlbmRlcmVkIGFuZCBpbnRlZ3JhdGVkIGludG9cbiAqIGEgbWVyY2hhbnQncyB3ZWJzaXRlLlxuICovXG5leHBvcnQgZGVjbGFyZSBlbnVtIFNwaWZmeVdpZGdldHMge1xuICAgIEltYWdlQmFubmVyID0gXCJpbWFnZV9iYW5uZXJcIixcbiAgICBJbWFnZVByb21wdENhcmQgPSBcImltYWdlX3Byb21wdF9jYXJkXCIsXG4gICAgU2luZ2xlSW1hZ2VQcm9tcHQgPSBcInNpbmdsZV9pbWFnZV9wcm9tcHRcIixcbiAgICBFbWJlZGRlZFdpZGdldCA9IFwiZW1iZWRkZWRfd2lkZ2V0XCIsXG4gICAgRmxvYXRpbmdCdXR0b24gPSBcImZsb2F0aW5nX2J1dHRvblwiLFxuICAgIFN1Z2dlc3Rpb25CYXIgPSBcInN1Z2dlc3Rpb25fYmFyXCIsXG4gICAgU2VhcmNoUHJvbXB0ID0gXCJzZWFyY2hfcHJvbXB0XCIsXG4gICAgR2xvYmFsU2VhcmNoID0gXCJnbG9iYWxfc2VhcmNoXCIsXG4gICAgU2VhcmNoUmVzdWx0cyA9IFwic2VhcmNoX3Jlc3VsdHNcIixcbiAgICBHbG9iYWxTZWFyY2hFbnRyeVBvaW50ID0gXCJnbG9iYWxfc2VhcmNoX2VudHJ5X3BvaW50XCJcbn1cbiIsImltcG9ydCB7IENvbG9yTWFwcGluZywgT3JnUGFnZUNvbmZpZywgT3JnVUlDb25maWcgfSBmcm9tIFwic3JjL2NvbnRleHRzL3R5cGVzXCI7XG5leHBvcnQgeyBPcmdTaG9ydE5hbWUgfSBmcm9tIFwiLi9vcmdzRW51bVwiO1xuZXhwb3J0IHR5cGUgQmFzaWNPcmdJbmZvVHlwZSA9IHtcbiAgICBzaG9ydE5hbWU6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZG9tYWluOiBzdHJpbmc7XG4gICAgZGVmYXVsdFByb2R1Y3RJZDogc3RyaW5nO1xuICAgIGFsd2F5c0VuYWJsZWRNZXJjaGFudHM6IGJvb2xlYW47XG4gICAgb3JnVUlDb25maWc6ICgpID0+IE9yZ1VJQ29uZmlnIHwgdW5kZWZpbmVkO1xuICAgIG9yZ1BhZ2VDb25maWc6ICgpID0+IE9yZ1BhZ2VDb25maWc7XG4gICAgb3JnQ29sb3JzOiAoKSA9PiBDb2xvck1hcHBpbmcgfCB7fTtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBnZXRPcmdJbmZvOiAob3JnU2hvcnROYW1lOiBzdHJpbmcpID0+IFByb21pc2U8QmFzaWNPcmdJbmZvVHlwZT47XG4iLCJpbXBvcnQgeyBDb250ZXh0IGFzIEFwaUNvbnRleHQgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlsaXR5VHlwZXMnO1xuZXhwb3J0IGludGVyZmFjZSBDb250ZXh0IGV4dGVuZHMgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPEFwaUNvbnRleHQ+IHtcbn1cbiIsImltcG9ydCB7IEdlbmVyYXRpb25QYXJhbXMgYXMgQXBpR2VuZXJhdGlvblBhcmFtcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXAgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcyc7XG5leHBvcnQgaW50ZXJmYWNlIEdlbmVyYXRpb25QYXJhbXMgZXh0ZW5kcyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8QXBpR2VuZXJhdGlvblBhcmFtcz4ge1xufVxuIiwiaW1wb3J0IHsgUERQQXR0cmlidXRlcyBhcyBBcGlQRFBBdHRyaWJ1dGVzLCBQTFBBdHRyaWJ1dGVzIGFzIEFwaVBMUEF0dHJpYnV0ZXMsIFF1ZXJ5VHlwZWRBdHRyaWJ1dGVzIGFzIEFwaVF1ZXJ5VHlwZWRBdHRyaWJ1dGVzLCBTZWFyY2hBdHRyaWJ1dGVzIGFzIEFwaVNlYXJjaEF0dHJpYnV0ZXMsIFN1Z2dlc3Rpb25DbGlja2VkQXR0cmlidXRlcyBhcyBBcGlTdWdnZXN0aW9uQ2xpY2tlZEF0dHJpYnV0ZXMsIFVzZXJFdmVudCBhcyBBcGlVc2VyRXZlbnQsIEZvcm1UeXBlLCBQYWdlVmlzaXRDYXRlZ29yeSwgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlsaXR5VHlwZXMnO1xuZXhwb3J0IGludGVyZmFjZSBQRFBBdHRyaWJ1dGVzIGV4dGVuZHMgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPEFwaVBEUEF0dHJpYnV0ZXM+IHtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUExQQXR0cmlidXRlcyBleHRlbmRzIENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxBcGlQTFBBdHRyaWJ1dGVzPiB7XG59XG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaEF0dHJpYnV0ZXMgZXh0ZW5kcyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8QXBpU2VhcmNoQXR0cmlidXRlcz4ge1xufVxuZXhwb3J0IGludGVyZmFjZSBRdWVyeVR5cGVkQXR0cmlidXRlcyBleHRlbmRzIENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxBcGlRdWVyeVR5cGVkQXR0cmlidXRlcz4ge1xufVxuZXhwb3J0IGludGVyZmFjZSBGb3JtU3VibWl0dGVkQXR0cmlidXRlcyB7XG4gICAgZmlsbGVkU2NoZW1hOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICBmb3JtUmVzcG9uc2VJZDogc3RyaW5nO1xuICAgIGZvcm1UeXBlOiBGb3JtVHlwZTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZVZpc2l0QXR0cmlidXRlcyB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgcGFnZVZpc2l0Q2F0ZWdvcnk6IFBhZ2VWaXNpdENhdGVnb3J5O1xufVxuZXhwb3J0IGludGVyZmFjZSBTdWdnZXN0aW9uQ2xpY2tlZEF0dHJpYnV0ZXMgZXh0ZW5kcyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8QXBpU3VnZ2VzdGlvbkNsaWNrZWRBdHRyaWJ1dGVzPiB7XG59XG5leHBvcnQgdHlwZSBVc2VyRXZlbnRBdHRyaWJ1dGVzID0gUERQQXR0cmlidXRlcyB8IFBMUEF0dHJpYnV0ZXMgfCBRdWVyeVR5cGVkQXR0cmlidXRlcyB8IFNlYXJjaEF0dHJpYnV0ZXMgfCBTdWdnZXN0aW9uQ2xpY2tlZEF0dHJpYnV0ZXMgfCBQYWdlVmlzaXRBdHRyaWJ1dGVzO1xuZXhwb3J0IGludGVyZmFjZSBQRFBVc2VyRXZlbnQge1xuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5QZHBWaXNpdCB8IFVzZXJFdmVudENhdGVnb3J5LkFkZFRvQ2FydDtcbiAgICBhdHRyaWJ1dGVzOiBQRFBBdHRyaWJ1dGVzO1xufVxuZXhwb3J0IGludGVyZmFjZSBQTFBVc2VyRXZlbnQge1xuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5QbHBWaXNpdDtcbiAgICBhdHRyaWJ1dGVzOiBQTFBBdHRyaWJ1dGVzO1xufVxuZXhwb3J0IGludGVyZmFjZSBRdWVyeVR5cGVkVXNlckV2ZW50IHtcbiAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUXVlcnlUeXBlZDtcbiAgICBhdHRyaWJ1dGVzOiBRdWVyeVR5cGVkQXR0cmlidXRlcztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoVXNlckV2ZW50IHtcbiAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuU2VhcmNoO1xuICAgIGF0dHJpYnV0ZXM6IFNlYXJjaEF0dHJpYnV0ZXM7XG59XG5leHBvcnQgaW50ZXJmYWNlIFN1Z2dlc3Rpb25zQ2xpY2tlZFVzZXJFdmVudCB7XG4gICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlN1Z2dlc3Rpb25DbGlja2VkO1xuICAgIGF0dHJpYnV0ZXM6IFN1Z2dlc3Rpb25DbGlja2VkQXR0cmlidXRlcztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQXBwTG9hZGVkVXNlckV2ZW50IHtcbiAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuQXBwTG9hZGVkO1xufVxuZXhwb3J0IGludGVyZmFjZSBBcHBVbmxvYWRlZEV2ZW50IHtcbiAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuQXBwVW5sb2FkZWQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VWaXNpdEV2ZW50IHtcbiAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUGFnZVZpc2l0O1xuICAgIGF0dHJpYnV0ZXM6IFBhZ2VWaXNpdEF0dHJpYnV0ZXM7XG59XG5leHBvcnQgaW50ZXJmYWNlIEZvcm1TdWJtaXR0ZWQge1xuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkO1xuICAgIGF0dHJpYnV0ZXM6IEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzO1xufVxuZXhwb3J0IHR5cGUgVXNlckV2ZW50ID0gQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPFBpY2s8QXBpVXNlckV2ZW50LCAnZXZlbnRfaWQnIHwgJ2NhdGVnb3J5JyB8ICdjcmVhdGVkX2F0Jz4+ICYgKFN1Z2dlc3Rpb25zQ2xpY2tlZFVzZXJFdmVudCB8IEFwcExvYWRlZFVzZXJFdmVudCB8IFBEUFVzZXJFdmVudCB8IFF1ZXJ5VHlwZWRVc2VyRXZlbnQgfCBTZWFyY2hVc2VyRXZlbnQgfCBBcHBVbmxvYWRlZEV2ZW50IHwgUExQVXNlckV2ZW50IHwgUGFnZVZpc2l0RXZlbnQgfCBGb3JtU3VibWl0dGVkKTtcbiIsImltcG9ydCB7IENvbnRleHQgfSBmcm9tICcuL2NvbnRleHQnO1xuaW1wb3J0IHsgVXNlckV2ZW50IH0gZnJvbSAnLi91c2VyRXZlbnQnO1xuaW1wb3J0IHsgR2VuZXJhdGlvblBhcmFtcyB9IGZyb20gJy4vZ2VuZXJhdGlvblBhcmFtcyc7XG5leHBvcnQgaW50ZXJmYWNlIE5leHRNZXNzYWdlUmVxdWVzdCB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBjb250ZXh0OiBDb250ZXh0O1xuICAgIHVzZXJFdmVudHM/OiBVc2VyRXZlbnRbXTtcbiAgICBmZWF0dXJlRmxhZ3M/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgICBnZW5lcmF0aW9uUGFyYW1zPzogR2VuZXJhdGlvblBhcmFtcztcbn1cbiIsImltcG9ydCB7IFByb2R1Y3RTZWFyY2hSZXNwb25zZSBhcyBBcGlQcm9kdWN0U2VhcmNoUmVzcG9uc2UsIFByb2R1Y3RTZWFyY2hSZXNwb25zZUF0dHJpYnV0ZXMgYXMgQXBpUHJvZHVjdFNlYXJjaFJlc3BvbnNlQXR0cmlidXRlcywgU2VhcmNoUmVzcG9uc2VQcm9kdWN0IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFNlYXJjaFJlc3BvbnNlIGV4dGVuZHMgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPEFwaVByb2R1Y3RTZWFyY2hSZXNwb25zZT4ge1xufVxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0U2VhcmNoUmVzcG9uc2VBdHRyaWJ1dGVzIGV4dGVuZHMgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPEFwaVByb2R1Y3RTZWFyY2hSZXNwb25zZUF0dHJpYnV0ZXM+IHtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUmVzdWx0IHtcbiAgICBwcm9kdWN0czogU2VhcmNoUmVzcG9uc2VQcm9kdWN0W107XG4gICAgZmlsdGVyczogc3RyaW5nW107XG4gICAgZ2VuZXJhdGVkUXVlcnk/OiBzdHJpbmc7XG4gICAgdG90YWxQcm9kdWN0Q291bnQ6IG51bWJlcjtcbiAgICBzZWFyY2hSZXNwb25zZUlkOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFBhcmFtcyB7XG4gICAgcXVlcnk6IHN0cmluZztcbiAgICBsaW1pdD86IG51bWJlcjtcbn1cbiIsImltcG9ydCB7IFN1Z2dlc3Rpb24gYXMgQXBpU3VnZ2VzdGlvbiB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXAgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcyc7XG5leHBvcnQgaW50ZXJmYWNlIFN1Z2dlc3Rpb24gZXh0ZW5kcyBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8QXBpU3VnZ2VzdGlvbj4ge1xufVxuIiwiaW1wb3J0IHsgVXNlckV2ZW50IH0gZnJvbSAnLi91c2VyRXZlbnQnO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gJy4vY29udGV4dCc7XG5leHBvcnQgaW50ZXJmYWNlIFN1cHBvcnRlZEV2ZW50UmVxdWVzdCB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBjb250ZXh0OiBDb250ZXh0O1xuICAgIHVzZXJFdmVudDogVXNlckV2ZW50O1xufVxuIiwiZGVjbGFyZSBjb25zdCBnZXRNZXJjaGFudE9yZ0lkUXVlcnkgPSBcIlxcbiAgcXVlcnkge1xcbiAgICBtZSB7XFxuICAgICAgb3JnIHtcXG4gICAgICAgIGlkXFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXCI7XG5leHBvcnQgeyBnZXRNZXJjaGFudE9yZ0lkUXVlcnkgfTtcbiIsImltcG9ydCB0eXBlIHsgQmFzZUVjb21tZXJjZUV2ZW50IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG4vKipcbiAqIENoZWNrcyBpZiBhbiBldmVudCBpcyBhIGJhc2UgR29vZ2xlIEFuYWx5dGljcyBlY29tbWVyY2UgZXZlbnQuXG4gKlxuICogQHBhcmFtIGRhdGEgVGhlIGV2ZW50IHRvIGNoZWNrLlxuICpcbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGV2ZW50IGlzIGEgYmFzZSBlY29tbWVyY2UgZXZlbnQsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNCYXNlRWNvbW1lcmNlRXZlbnQ6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIEJhc2VFY29tbWVyY2VFdmVudDtcbiIsImltcG9ydCB0eXBlIHsgR0E0RWNvbW1lcmNlRXZlbnQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbi8qKlxuICogQ2hlY2tzIGlmIGFuIGV2ZW50IGlzIGEgR29vZ2xlIEFuYWx5dGljcyA0IGVjb21tZXJjZSBldmVudC5cbiAqXG4gKiBAcGFyYW0gZGF0YSBUaGUgZXZlbnQgdG8gY2hlY2suXG4gKlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgZXZlbnQgaXMgYSBHQTQgZWNvbW1lcmNlIGV2ZW50LCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzR0E0RWNvbW1lcmNlRXZlbnQ6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIEdBNEVjb21tZXJjZUV2ZW50O1xuIiwiaW1wb3J0IHR5cGUgeyBVQUVjb21tZXJjZUV2ZW50IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG4vKipcbiAqIENoZWNrcyBpZiBhbiBldmVudCBpcyBhIGxlZ2FjeSBVbml2ZXJzYWwgQW5hbHl0aWNzIGVjb21tZXJjZSBldmVudC5cbiAqXG4gKiBAcGFyYW0gZGF0YSBUaGUgZXZlbnQgdG8gY2hlY2suXG4gKlxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgZXZlbnQgaXMgYSBsZWdhY3kgVUEgZWNvbW1lcmNlIGV2ZW50LCBmYWxzZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzTGVnYWN5VUFFY29tbWVyY2VFdmVudDogKGRhdGE6IHVua25vd24pID0+IGRhdGEgaXMgVUFFY29tbWVyY2VFdmVudDtcbiIsImludGVyZmFjZSBNb2JpbGVQbHBDaGF0UGxhY2VtZW50UGFyYW1ldGVyIHtcbiAgICByb3dfaW5kZXg6IG51bWJlcjtcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzTW9iaWxlUExQQ2hhdFBsYWNlbWVudFBhcmFtZXRlcjogKHZhbHVlOiB1bmtub3duKSA9PiB2YWx1ZSBpcyBNb2JpbGVQbHBDaGF0UGxhY2VtZW50UGFyYW1ldGVyO1xuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHsgU3BhbnhUYWtlQVF1aXpDdGFQYXJhbWV0ZXIgfSBmcm9tICcuLi9zcGFueFRha2VBUXVpekN0YVBhcmFtZXRlcic7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc1NwYW54VGFrZUFRdWl6Q3RhUGFyYW1ldGVyOiAodmFsdWU6IHVua25vd24pID0+IHZhbHVlIGlzIFNwYW54VGFrZUFRdWl6Q3RhUGFyYW1ldGVyO1xuIiwiaW1wb3J0IHsgVmFyaWFudEluZm8gfSBmcm9tICcuLi92YXJpYW50SW5mbyc7XG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgYW4gb2JqZWN0IGlzIGEgdmFsaWQgVmFyaWFudEluZm8uXG4gKlxuICogQHBhcmFtIHZhcmlhbnRJbmZvIC0gVGhlIHVua25vd24gb2JqZWN0IHRvIGNoZWNrLlxuICpcbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGRhdGEgaXMgYSB2YWxpZCBWYXJpYW50SW5mbyBvYmplY3QsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNWYXJpYW50SW5mbzogKHZhcmlhbnRJbmZvOiB1bmtub3duKSA9PiB2YXJpYW50SW5mbyBpcyBWYXJpYW50SW5mbztcbiIsIi8qKlxuICogQ2hlY2tzIGlmIGFuIG9iamVjdCBoYXMgYSBwcm9wZXJ0eSBvZiBhIHNwZWNpZmljIHR5cGVcbiAqXG4gKiBAcGFyYW0gb2JqIC0gVGhlIG9iamVjdCB0byBjaGVja1xuICogQHBhcmFtIHByb3AgLSBUaGUgcHJvcGVydHkgbmFtZSB0byBjaGVja1xuICogQHBhcmFtIHR5cGUgLSBUaGUgZXhwZWN0ZWQgdHlwZSBvZiB0aGUgcHJvcGVydHlcbiAqIEBwYXJhbSBpc09wdGlvbmFsIC0gV2hldGhlciB0aGUgcHJvcGVydHkgaXMgb3B0aW9uYWwgKGRlZmF1bHRzIHRvIGZhbHNlKVxuICpcbiAqIEByZXR1cm5zIGJvb2xlYW4gaW5kaWNhdGluZyBpZiB0aGUgb2JqZWN0IGhhcyB0aGUgcHJvcGVydHkgb2YgdGhlIHNwZWNpZmllZCB0eXBlXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGhhc1Byb3BlcnR5T2ZUeXBlOiA8VCBleHRlbmRzIG9iamVjdD4ob2JqOiB1bmtub3duLCBwcm9wOiBrZXlvZiBULCB0eXBlOiBcInN0cmluZ1wiIHwgXCJudW1iZXJcIiB8IFwiYm9vbGVhblwiIHwgXCJvYmplY3RcIiB8IFwiYXJyYXlcIiwgaXNPcHRpb25hbD86IGJvb2xlYW4pID0+IG9iaiBpcyBUO1xuIiwiaW1wb3J0IHsgQXBpRm9ybVJlc3BvbnNlQXR0cmlidXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3Jlc3BvbnNlR2VuZXJpY3MnO1xuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIHRoZSBwcm92aWRlZCBkYXRhIGhhcyB0aGUgYWxsIG9mIHRoZSBwcm9wZXJ0aWVzICh3aXRoIHRoZSBjb3JyZWN0IHR5cGVzKSBvZlxuICogYSBGb3JtUmVzcG9uc2VBdHRyaWJ1dGVcbiAqXG4gKiBAcGFyYW0gZGF0YSAtIFRoZSBkYXRhIHRvIGNoZWNrXG4gKlxuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgZGF0YSBoYXMgdGhlIGNvcnJlY3QgcHJvcGVydGllcywgZmFsc2Ugb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzQXBpRm9ybVJlc3BvbnNlQXR0cmlidXRlczogKGRhdGE6IHVua25vd24pID0+IGRhdGEgaXMgQXBpRm9ybVJlc3BvbnNlQXR0cmlidXRlcztcbiIsImltcG9ydCB7IEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzQXBpRm9ybVN1Ym1pdHRlZFJlc3BvbnNlQXR0cmlidXRlczogKGRhdGE6IHVua25vd24pID0+IGRhdGEgaXMgRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXM7XG4iLCJpbXBvcnQgeyBPcmRlckl0ZW1JbmZvLCBPcmRlclJlc3BvbnNlQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5leHBvcnQgaW50ZXJmYWNlIEFwaU9yZGVySXRlbUluZm8gZXh0ZW5kcyBPbWl0PE9yZGVySXRlbUluZm8sICdkZWxpdmVyZWRfYXQnIHwgJ2VzdGltYXRlZF9kZWxpdmVyeV9hdCcgfCAnaW5fdHJhbnNpdF9hdCc+IHtcbiAgICBkZWxpdmVyZWRfYXQ/OiBzdHJpbmc7XG4gICAgZXN0aW1hdGVkX2RlbGl2ZXJ5X2F0Pzogc3RyaW5nO1xuICAgIGluX3RyYW5zaXRfYXQ/OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIEFwaU9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzIGV4dGVuZHMgT21pdDxPcmRlclJlc3BvbnNlQXR0cmlidXRlcywgJ2NyZWF0ZWRfYXQnIHwgJ2xhdGVzdF9ldmVudF9kYXRlJyB8ICdsaW5lX2l0ZW1zJz4ge1xuICAgIGNyZWF0ZWRfYXQ6IHN0cmluZztcbiAgICBsYXRlc3RfZXZlbnRfZGF0ZTogc3RyaW5nO1xuICAgIGxpbmVfaXRlbXM6IEFwaU9yZGVySXRlbUluZm9bXTtcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzQXBpT3JkZXJSZXNwb25zZUF0dHJpYnV0ZXM6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIEFwaU9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzO1xuIiwiaW1wb3J0IHsgT3JnYW5pemF0aW9uQ29uZmlnIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmludGVyZmFjZSBBcGlPcmdBbmFseXRpY3NDb25maWdBbXBsaXR1ZGUge1xuICAgIHNlc3Npb25fcmVwbGF5X2VuYWJsZWQ6IGJvb2xlYW47XG4gICAgc2Vzc2lvbl9yZXBsYXlfc2FtcGxlX3JhdGU6IG51bWJlcjtcbiAgICB0cmFja2luZ19lbmFibGVkOiBib29sZWFuO1xufVxuaW50ZXJmYWNlIEFwaU9yZ0FuYWx5dGljc0NvbmZpZ0N1c3RvbWVyU2VydmljZSB7XG4gICAgcHJvdmlkZXI6IHN0cmluZztcbn1cbmludGVyZmFjZSBBcGlPcmdBbmFseXRpY3NDb25maWdHb29nbGVBbmFseXRpY3Mge1xuICAgIG1lYXN1cmVtZW50X2lkOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgQXBpT3JnQW5hbHl0aWNzQ29uZmlnIHtcbiAgICBhbXBsaXR1ZGU/OiBBcGlPcmdBbmFseXRpY3NDb25maWdBbXBsaXR1ZGU7XG4gICAgY3VzdG9tZXJfc2VydmljZT86IEFwaU9yZ0FuYWx5dGljc0NvbmZpZ0N1c3RvbWVyU2VydmljZTtcbiAgICBnb29nbGVfYW5hbHl0aWNzPzogQXBpT3JnQW5hbHl0aWNzQ29uZmlnR29vZ2xlQW5hbHl0aWNzO1xufVxuZXhwb3J0IGludGVyZmFjZSBBcGlPcmdhbml6YXRpb25Db25maWcgZXh0ZW5kcyBPcmdhbml6YXRpb25Db25maWcge1xuICAgIGNvbmZpZzogQXBpT3JnQW5hbHl0aWNzQ29uZmlnO1xufVxuLyoqXG4gKlxuICogQHBhcmFtIGRhdGFcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzQXBpT3JnYW5pemF0aW9uQ29uZmlnOiAoZGF0YTogdW5rbm93bikgPT4gZGF0YSBpcyBBcGlPcmdhbml6YXRpb25Db25maWc7XG5leHBvcnQge307XG4iLCJpbXBvcnQgeyBTdGF0c2lnRXhwZXJpbWVudCBhcyBBcGlPcmdDb25maWdFeHBlcmltZW50LCBTdGF0c2lnRmVhdHVyZUdhdGUgYXMgQXBpT3JnQ29uZmlnRmVhdHVyZUdhdGUsIE9yZ2FuaXphdGlvblNldHRpbmdzIGFzIEFwaU9yZ0NvbmZpZ09yZ2FuaXphdGlvblNldHRpbmdzIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IEFwaU9yZ2FuaXphdGlvbkNvbmZpZyB9IGZyb20gJy4vaXNBcGlPcmdhbml6YXRpb25Db25maWcnO1xuaW50ZXJmYWNlIEFwaU9yZ0NvbmZpZ1Jlc3VsdHMge1xuICAgIGNvbmZpZ3M6IEFwaU9yZ2FuaXphdGlvbkNvbmZpZ1tdO1xuICAgIGV4cGVyaW1lbnRzOiBBcGlPcmdDb25maWdFeHBlcmltZW50W107XG4gICAgZ2F0ZXM6IEFwaU9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107XG4gICAgb3JnOiBBcGlPcmdDb25maWdPcmdhbml6YXRpb25TZXR0aW5ncztcbn1cbi8qKlxuICpcbiAqIEBwYXJhbSBkYXRhXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0FwaU9yZ0NvbmZpZ1Jlc3VsdHM6IChkYXRhOiB1bmtub3duKSA9PiBkYXRhIGlzIFJlcXVpcmVkPEFwaU9yZ0NvbmZpZ1Jlc3VsdHM+O1xuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHsgQXBpUGFnZVJlc3BvbnNlQXR0cmlidXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3Jlc3BvbnNlR2VuZXJpY3MnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNBcGlQYWdlUmVzcG9uc2VBdHRyaWJ1dGVzOiAob2JqOiB1bmtub3duKSA9PiBvYmogaXMgQXBpUGFnZVJlc3BvbnNlQXR0cmlidXRlcztcbiIsImltcG9ydCB7IFBMUEF0dHJpYnV0ZXMsIFBMUElkQXR0cmlidXRlcyB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0FwaVBMUElkQXR0cmlidXRlOiAoZGF0YTogdW5rbm93bikgPT4gZGF0YSBpcyBQTFBJZEF0dHJpYnV0ZXM7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc0FwaVBMUEV2ZW50QXR0cmlidXRlczogKGRhdGE6IHVua25vd24pID0+IGRhdGEgaXMgUExQQXR0cmlidXRlcztcbiIsImltcG9ydCB7IFByb2R1Y3RTZWFyY2hGaWx0ZXJSZXNwb25zZUF0dHJpYnV0ZXMgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNBcGlQcm9kdWN0U2VhcmNoRmlsdGVyUmVzcG9uc2VBdHRyaWJ1dGVzOiAoYXR0cmlidXRlczogdW5rbm93bikgPT4gYXR0cmlidXRlcyBpcyBQcm9kdWN0U2VhcmNoRmlsdGVyUmVzcG9uc2VBdHRyaWJ1dGVzO1xuIiwiaW1wb3J0IHsgR2V0TWVyY2hhbnRDb2xvcnNRdWVyeURhdGEgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2dyYXBocWwnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNHcmFwaFFMQ29sb3JzQ29uZmlnOiAoZGF0YTogdW5rbm93bikgPT4gZGF0YSBpcyBHZXRNZXJjaGFudENvbG9yc1F1ZXJ5RGF0YTtcbiIsImltcG9ydCB0eXBlIHsgVXBwZXJDYXNlQ2hhcmFjdGVycywgV29yZFNlcGFyYXRvcnMgfSBmcm9tICcuL2ludGVybmFsJztcbnR5cGUgVXBwZXJDYXNlVG9Mb3dlckNhc2U8VCBleHRlbmRzIHN0cmluZz4gPSBUIGV4dGVuZHMgVXBwZXJjYXNlPFQ+ID8gTG93ZXJjYXNlPFQ+IDogVDtcbnR5cGUgU3BsaXRJbmNsdWRpbmdEZWxpbWl0ZXJzXzxTb3VyY2UgZXh0ZW5kcyBzdHJpbmcsIERlbGltaXRlciBleHRlbmRzIHN0cmluZz4gPSBTb3VyY2UgZXh0ZW5kcyAnJyA/IFtdIDogU291cmNlIGV4dGVuZHMgYCR7aW5mZXIgRmlyc3RQYXJ0fSR7RGVsaW1pdGVyfSR7aW5mZXIgU2Vjb25kUGFydH1gID8gU291cmNlIGV4dGVuZHMgYCR7Rmlyc3RQYXJ0fSR7aW5mZXIgVXNlZERlbGltaXRlcn0ke1NlY29uZFBhcnR9YCA/IFVzZWREZWxpbWl0ZXIgZXh0ZW5kcyBEZWxpbWl0ZXIgPyBTb3VyY2UgZXh0ZW5kcyBgJHtpbmZlciBGaXJzdFBhcnR9JHtVc2VkRGVsaW1pdGVyfSR7aW5mZXIgU2Vjb25kUGFydH1gID8gW1xuICAgIC4uLlNwbGl0SW5jbHVkaW5nRGVsaW1pdGVyczxGaXJzdFBhcnQsIERlbGltaXRlcj4sXG4gICAgVXNlZERlbGltaXRlcixcbiAgICAuLi5TcGxpdEluY2x1ZGluZ0RlbGltaXRlcnM8U2Vjb25kUGFydCwgRGVsaW1pdGVyPlxuXSA6IG5ldmVyIDogbmV2ZXIgOiBuZXZlciA6IFtTb3VyY2VdO1xuLyoqXG4gKiBVbmxpa2UgYSBzaW1wbGVyIHNwbGl0LCB0aGlzIG9uZSBpbmNsdWRlcyB0aGUgZGVsaW1pdGVyIHNwbGl0dGVkIG9uIGluIHRoZSByZXN1bHRpbmcgYXJyYXkgbGl0ZXJhbC4gVGhpcyBpcyB0byBlbmFibGUgc3BsaXR0aW5nIG9uLCBmb3IgZXhhbXBsZSwgdXBwZXItY2FzZSBjaGFyYWN0ZXJzLlxuICpcbiAqIEBjYXRlZ29yeSBUZW1wbGF0ZSBsaXRlcmFsXG4gKi9cbmV4cG9ydCB0eXBlIFNwbGl0SW5jbHVkaW5nRGVsaW1pdGVyczxTb3VyY2UgZXh0ZW5kcyBzdHJpbmcsIERlbGltaXRlciBleHRlbmRzIHN0cmluZz4gPSBTcGxpdEluY2x1ZGluZ0RlbGltaXRlcnNfPFVwcGVyQ2FzZVRvTG93ZXJDYXNlPFNvdXJjZT4sIERlbGltaXRlcj47XG4vKipcbiAqRm9ybWF0IGEgc3BlY2lmaWMgcGFydCBvZiB0aGUgc3BsaXR0ZWQgc3RyaW5nIGxpdGVyYWwgdGhhdCBgU3RyaW5nQXJyYXlUb0RlbGltaXRlckNhc2U8PmAgZnVzZXMgdG9nZXRoZXIsIGVuc3VyaW5nIGRlc2lyZWQgY2FzaW5nLlxuICpcbiAqQHNlZSBTdHJpbmdBcnJheVRvRGVsaW1pdGVyQ2FzZVxuICovXG50eXBlIFN0cmluZ1BhcnRUb0RlbGltaXRlckNhc2U8U3RyaW5nUGFydCBleHRlbmRzIHN0cmluZywgU3RhcnQgZXh0ZW5kcyBib29sZWFuLCBVc2VkV29yZFNlcGFyYXRvcnMgZXh0ZW5kcyBzdHJpbmcsIFVzZWRVcHBlckNhc2VDaGFyYWN0ZXJzIGV4dGVuZHMgc3RyaW5nLCBEZWxpbWl0ZXIgZXh0ZW5kcyBzdHJpbmc+ID0gU3RyaW5nUGFydCBleHRlbmRzIFVzZWRXb3JkU2VwYXJhdG9ycyA/IERlbGltaXRlciA6IFN0YXJ0IGV4dGVuZHMgdHJ1ZSA/IExvd2VyY2FzZTxTdHJpbmdQYXJ0PiA6IFN0cmluZ1BhcnQgZXh0ZW5kcyBVc2VkVXBwZXJDYXNlQ2hhcmFjdGVycyA/IGAke0RlbGltaXRlcn0ke0xvd2VyY2FzZTxTdHJpbmdQYXJ0Pn1gIDogU3RyaW5nUGFydDtcbi8qKlxuICogVGFrZXMgdGhlIHJlc3VsdCBvZiBhIHNwbGl0dGVkIHN0cmluZyBsaXRlcmFsIGFuZCByZWN1cnNpdmVseSBjb25jYXRlbmF0ZXMgaXQgdG9nZXRoZXIgaW50byB0aGUgZGVzaXJlZCBjYXNpbmcuXG4gKlxuICogSXQgcmVjZWl2ZXMgYFVzZWRXb3JkU2VwYXJhdG9yc2AgYW5kIGBVc2VkVXBwZXJDYXNlQ2hhcmFjdGVyc2AgYXMgaW5wdXQgdG8gZW5zdXJlIGl0J3MgZnVsbHkgZW5jYXBzdWxhdGVkLlxuICpcbiAqIEBzZWUgU3BsaXRJbmNsdWRpbmdEZWxpbWl0ZXJzXG4gKi9cbnR5cGUgU3RyaW5nQXJyYXlUb0RlbGltaXRlckNhc2U8UGFydHMgZXh0ZW5kcyByZWFkb25seSBhbnlbXSwgU3RhcnQgZXh0ZW5kcyBib29sZWFuLCBVc2VkV29yZFNlcGFyYXRvcnMgZXh0ZW5kcyBzdHJpbmcsIFVzZWRVcHBlckNhc2VDaGFyYWN0ZXJzIGV4dGVuZHMgc3RyaW5nLCBEZWxpbWl0ZXIgZXh0ZW5kcyBzdHJpbmc+ID0gUGFydHMgZXh0ZW5kcyBbYCR7aW5mZXIgRmlyc3RQYXJ0fWAsIC4uLmluZmVyIFJlbWFpbmluZ1BhcnRzXSA/IGAke1N0cmluZ1BhcnRUb0RlbGltaXRlckNhc2U8Rmlyc3RQYXJ0LCBTdGFydCwgVXNlZFdvcmRTZXBhcmF0b3JzLCBVc2VkVXBwZXJDYXNlQ2hhcmFjdGVycywgRGVsaW1pdGVyPn0ke1N0cmluZ0FycmF5VG9EZWxpbWl0ZXJDYXNlPFJlbWFpbmluZ1BhcnRzLCBmYWxzZSwgVXNlZFdvcmRTZXBhcmF0b3JzLCBVc2VkVXBwZXJDYXNlQ2hhcmFjdGVycywgRGVsaW1pdGVyPn1gIDogUGFydHMgZXh0ZW5kcyBbc3RyaW5nXSA/IHN0cmluZyA6ICcnO1xuLyoqXG4gKiBDb252ZXJ0IGEgc3RyaW5nIGxpdGVyYWwgdG8gYSBjdXN0b20gc3RyaW5nIGRlbGltaXRlciBjYXNpbmcuXG4gKlxuICogVGhpcyBjYW4gYmUgdXNlZnVsIHdoZW4sIGZvciBleGFtcGxlLCBjb252ZXJ0aW5nIGEgY2FtZWwtY2FzZWQgb2JqZWN0IHByb3BlcnR5IHRvIGFuIG9kZGx5IGNhc2VkIG9uZS5cbiAqXG4gKiBAc2VlIEtlYmFiQ2FzZVxuICogQHNlZSBTbmFrZUNhc2VcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgXG4gKiBpbXBvcnQgdHlwZSB7RGVsaW1pdGVyQ2FzZX0gZnJvbSAndHlwZS1mZXN0JztcbiAqXG4gKiAvLyBTaW1wbGVcbiAqXG4gKiBjb25zdCBzb21lVmFyaWFibGU6IERlbGltaXRlckNhc2U8J2Zvb0JhcicsICcjJz4gPSAnZm9vI2Jhcic7XG4gKlxuICogLy8gQWR2YW5jZWRcbiAqXG4gKiB0eXBlIE9kZGx5Q2FzZWRQcm9wZXJ0aWVzPFQ+ID0ge1xuICogXHRbSyBpbiBrZXlvZiBUIGFzIERlbGltaXRlckNhc2U8SywgJyMnPl06IFRbS11cbiAqIH07XG4gKlxuICogaW50ZXJmYWNlIFNvbWVPcHRpb25zIHtcbiAqIFx0ZHJ5UnVuOiBib29sZWFuO1xuICogXHRpbmNsdWRlRmlsZTogc3RyaW5nO1xuICogXHRmb286IG51bWJlcjtcbiAqIH1cbiAqXG4gKiBjb25zdCByYXdDbGlPcHRpb25zOiBPZGRseUNhc2VkUHJvcGVydGllczxTb21lT3B0aW9ucz4gPSB7XG4gKiBcdCdkcnkjcnVuJzogdHJ1ZSxcbiAqIFx0J2luY2x1ZGUjZmlsZSc6ICdiYXIuanMnLFxuICogXHRmb286IDEyM1xuICogfTtcbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBDaGFuZ2UgY2FzZVxuICogQGNhdGVnb3J5IFRlbXBsYXRlIGxpdGVyYWxcbiAqL1xuZXhwb3J0IHR5cGUgRGVsaW1pdGVyQ2FzZTxWYWx1ZSwgRGVsaW1pdGVyIGV4dGVuZHMgc3RyaW5nPiA9IHN0cmluZyBleHRlbmRzIFZhbHVlID8gVmFsdWUgOiBWYWx1ZSBleHRlbmRzIHN0cmluZyA/IFN0cmluZ0FycmF5VG9EZWxpbWl0ZXJDYXNlPFNwbGl0SW5jbHVkaW5nRGVsaW1pdGVyczxWYWx1ZSwgV29yZFNlcGFyYXRvcnMgfCBVcHBlckNhc2VDaGFyYWN0ZXJzPiwgdHJ1ZSwgV29yZFNlcGFyYXRvcnMsIFVwcGVyQ2FzZUNoYXJhY3RlcnMsIERlbGltaXRlcj4gOiBWYWx1ZTtcbmV4cG9ydCB7fTtcbiIsImltcG9ydCB0eXBlIHsgRGVsaW1pdGVyQ2FzZSB9IGZyb20gJy4vZGVsaW1pdGVyQ2FzZSc7XG5pbXBvcnQgdHlwZSB7IE5vblJlY3Vyc2l2ZVR5cGUgfSBmcm9tICcuL2ludGVybmFsJztcbmltcG9ydCB0eXBlIHsgVW5rbm93bkFycmF5IH0gZnJvbSAnLi91bmtub3duQXJyYXknO1xuLyoqXG4gKiBDb252ZXJ0IG9iamVjdCBwcm9wZXJ0aWVzIHRvIGRlbGltaXRlciBjYXNlIHJlY3Vyc2l2ZWx5LlxuICpcbiAqIFRoaXMgY2FuIGJlIHVzZWZ1bCB3aGVuLCBmb3IgZXhhbXBsZSwgY29udmVydGluZyBzb21lIEFQSSB0eXBlcyBmcm9tIGEgZGlmZmVyZW50IHN0eWxlLlxuICpcbiAqIEBzZWUgRGVsaW1pdGVyQ2FzZVxuICogQHNlZSBEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgXG4gKiBpbXBvcnQgdHlwZSB7RGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcH0gZnJvbSAndHlwZS1mZXN0JztcbiAqXG4gKiBpbnRlcmZhY2UgVXNlciB7XG4gKiBcdHVzZXJJZDogbnVtYmVyO1xuICogXHR1c2VyTmFtZTogc3RyaW5nO1xuICogfVxuICpcbiAqIGludGVyZmFjZSBVc2VyV2l0aEZyaWVuZHMge1xuICogXHR1c2VySW5mbzogVXNlcjtcbiAqIFx0dXNlckZyaWVuZHM6IFVzZXJbXTtcbiAqIH1cbiAqXG4gKiBjb25zdCByZXN1bHQ6IERlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8VXNlcldpdGhGcmllbmRzLCAnLSc+ID0ge1xuICogXHQndXNlci1pbmZvJzoge1xuICogXHQndXNlci1pZCc6IDEsXG4gKiBcdFx0J3VzZXItbmFtZSc6ICdUb20nLFxuICogXHR9LFxuICogXHQndXNlci1mcmllbmRzJzogW1xuICogXHRcdHtcbiAqIFx0XHRcdCd1c2VyLWlkJzogMixcbiAqIFx0XHRcdCd1c2VyLW5hbWUnOiAnSmVycnknLFxuICogXHRcdH0sXG4gKiBcdFx0e1xuICogXHRcdFx0J3VzZXItaWQnOiAzLFxuICogXHRcdFx0J3VzZXItbmFtZSc6ICdTcGlrZScsXG4gKiBcdFx0fSxcbiAqIFx0XSxcbiAqIH07XG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgQ2hhbmdlIGNhc2VcbiAqIEBjYXRlZ29yeSBUZW1wbGF0ZSBsaXRlcmFsXG4gKiBAY2F0ZWdvcnkgT2JqZWN0XG4gKi9cbmV4cG9ydCB0eXBlIERlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8VmFsdWUsIERlbGltaXRlciBleHRlbmRzIHN0cmluZz4gPSBWYWx1ZSBleHRlbmRzIE5vblJlY3Vyc2l2ZVR5cGUgPyBWYWx1ZSA6IFZhbHVlIGV4dGVuZHMgVW5rbm93bkFycmF5ID8gRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzQXJyYXlEZWVwPFZhbHVlLCBEZWxpbWl0ZXI+IDogVmFsdWUgZXh0ZW5kcyBTZXQ8aW5mZXIgVT4gPyBTZXQ8RGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVLCBEZWxpbWl0ZXI+PiA6IHtcbiAgICBbSyBpbiBrZXlvZiBWYWx1ZSBhcyBEZWxpbWl0ZXJDYXNlPEssIERlbGltaXRlcj5dOiBEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFZhbHVlW0tdLCBEZWxpbWl0ZXI+O1xufTtcbnR5cGUgRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzQXJyYXlEZWVwPFZhbHVlIGV4dGVuZHMgVW5rbm93bkFycmF5LCBEZWxpbWl0ZXIgZXh0ZW5kcyBzdHJpbmc+ID0gVmFsdWUgZXh0ZW5kcyBbXSA/IFtdIDogVmFsdWUgZXh0ZW5kcyBbaW5mZXIgVSwgLi4uaW5mZXIgVl0gPyBbRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVLCBEZWxpbWl0ZXI+LCAuLi5EZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFYsIERlbGltaXRlcj5dIDogVmFsdWUgZXh0ZW5kcyByZWFkb25seSBbaW5mZXIgVSwgLi4uaW5mZXIgVl0gPyByZWFkb25seSBbXG4gICAgRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVLCBEZWxpbWl0ZXI+LFxuICAgIC4uLkRlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8ViwgRGVsaW1pdGVyPlxuXSA6IFZhbHVlIGV4dGVuZHMgcmVhZG9ubHkgWy4uLmluZmVyIFUsIGluZmVyIFZdID8gW1xuICAgIC4uLkRlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8VSwgRGVsaW1pdGVyPixcbiAgICBEZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFYsIERlbGltaXRlcj5cbl0gOiBWYWx1ZSBleHRlbmRzIHJlYWRvbmx5IFsuLi5pbmZlciBVLCBpbmZlciBWXSA/IHJlYWRvbmx5IFtcbiAgICAuLi5EZWxpbWl0ZXJDYXNlZFByb3BlcnRpZXNEZWVwPFUsIERlbGltaXRlcj4sXG4gICAgRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcDxWLCBEZWxpbWl0ZXI+XG5dIDogVmFsdWUgZXh0ZW5kcyBBcnJheTxpbmZlciBVPiA/IEFycmF5PERlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8VSwgRGVsaW1pdGVyPj4gOiBWYWx1ZSBleHRlbmRzIFJlYWRvbmx5QXJyYXk8aW5mZXIgVT4gPyBSZWFkb25seUFycmF5PERlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8VSwgRGVsaW1pdGVyPj4gOiBuZXZlcjtcbmV4cG9ydCB7fTtcbiIsImltcG9ydCB0eXBlIHsgRGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcCB9IGZyb20gJy4vZGVsaW1pdGVyQ2FzZWRQcm9wZXJ0aWVzRGVlcCc7XG4vKipcbiAqIENvbnZlcnQgb2JqZWN0IHByb3BlcnRpZXMgdG8gc25ha2UgY2FzZSByZWN1cnNpdmVseS5cbiAqXG4gKiBUaGlzIGNhbiBiZSB1c2VmdWwgd2hlbiwgZm9yIGV4YW1wbGUsIGNvbnZlcnRpbmcgc29tZSBBUEkgdHlwZXMgZnJvbSBhIGRpZmZlcmVudCBzdHlsZS5cbiAqXG4gKiBAc2VlIFNuYWtlQ2FzZVxuICogQHNlZSBTbmFrZUNhc2VkUHJvcGVydGllc1xuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIGltcG9ydCB0eXBlIHtTbmFrZUNhc2VkUHJvcGVydGllc0RlZXB9IGZyb20gJ3R5cGUtZmVzdCc7XG4gKlxuICogaW50ZXJmYWNlIFVzZXIge1xuICogXHR1c2VySWQ6IG51bWJlcjtcbiAqIFx0dXNlck5hbWU6IHN0cmluZztcbiAqIH1cbiAqXG4gKiBpbnRlcmZhY2UgVXNlcldpdGhGcmllbmRzIHtcbiAqIFx0dXNlckluZm86IFVzZXI7XG4gKiBcdHVzZXJGcmllbmRzOiBVc2VyW107XG4gKiB9XG4gKlxuICogY29uc3QgcmVzdWx0OiBTbmFrZUNhc2VkUHJvcGVydGllc0RlZXA8VXNlcldpdGhGcmllbmRzPiA9IHtcbiAqIFx0dXNlcl9pbmZvOiB7XG4gKiBcdFx0dXNlcl9pZDogMSxcbiAqIFx0XHR1c2VyX25hbWU6ICdUb20nLFxuICogXHR9LFxuICogXHR1c2VyX2ZyaWVuZHM6IFtcbiAqIFx0XHR7XG4gKiBcdFx0XHR1c2VyX2lkOiAyLFxuICogXHRcdFx0dXNlcl9uYW1lOiAnSmVycnknLFxuICogXHRcdH0sXG4gKiBcdFx0e1xuICogXHRcdFx0dXNlcl9pZDogMyxcbiAqIFx0XHRcdHVzZXJfbmFtZTogJ1NwaWtlJyxcbiAqIFx0XHR9LFxuICogXHRdLFxuICogfTtcbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBDaGFuZ2UgY2FzZVxuICogQGNhdGVnb3J5IFRlbXBsYXRlIGxpdGVyYWxcbiAqIEBjYXRlZ29yeSBPYmplY3RcbiAqL1xuZXhwb3J0IHR5cGUgU25ha2VDYXNlZFByb3BlcnRpZXNEZWVwPFZhbHVlPiA9IERlbGltaXRlckNhc2VkUHJvcGVydGllc0RlZXA8VmFsdWUsICdfJz47XG4iLCIvKipcbiAqIEdlbmVyaWMgdXRpbGl0eSB0byB0cmFuc2Zvcm0gc25ha2VfY2FzZSBvYmplY3Qga2V5cyB0byBjYW1lbENhc2UgYXQgcnVudGltZS5cbiAqIFRoaXMgaXMgdGhlIHJ1bnRpbWUgZXF1aXZhbGVudCBvZiB0aGUgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwIHR5cGUgdXRpbGl0eS5cbiAqL1xuLyoqXG4gKiBSZWN1cnNpdmVseSB0cmFuc2Zvcm1zIGFsbCBvYmplY3Qga2V5cyBmcm9tIHNuYWtlX2Nhc2UgdG8gY2FtZWxDYXNlXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHRyYW5zZm9ybVNuYWtlVG9DYW1lbDogKG9iajogdW5rbm93bikgPT4gdW5rbm93bjtcbi8qKlxuICogUmVjdXJzaXZlbHkgdHJhbnNmb3JtcyBhbGwgb2JqZWN0IGtleXMgZnJvbSBjYW1lbENhc2UgdG8gc25ha2VfY2FzZVxuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCB0cmFuc2Zvcm1DYW1lbFRvU25ha2U6IChvYmo6IHVua25vd24pID0+IHVua25vd247XG4iLCJpbXBvcnQgeyBGdWxmaWxsbWVudERpc3BsYXlTdGF0dXMgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuLyoqXG4gKiBDb252ZXJ0cyBhIHN0cmluZyB0byBhIEZ1bGZpbGxtZW50RGlzcGxheVN0YXR1cyBlbnVtIHZhbHVlLlxuICpcbiAqIEBwYXJhbSBzdGF0dXMgLSBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gKlxuICogQHJldHVybnMgVGhlIEZ1bGZpbGxtZW50RGlzcGxheVN0YXR1cyBlbnVtIHZhbHVlIG9yIHVuZGVmaW5lZCBpZiB0aGUgc3RyaW5nXG4gKiBkb2VzIG5vdCBtYXAgdG8gYSB2YWxpZCBlbnVtXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHN0cmluZ1RvRnVsZmlsbG1lbnREaXNwbGF5U3RhdHVzRW51bVZhbHVlOiAoc3RhdHVzOiBzdHJpbmcpID0+IEZ1bGZpbGxtZW50RGlzcGxheVN0YXR1cyB8IHVuZGVmaW5lZDtcbiIsImltcG9ydCB7IENvbG9yTWFwcGluZyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NvbG9yc0NvbmZpZ1wiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdGVHcmFwaFFMQ29sb3JzQ29uZmlnOiAoZGF0YTogdW5rbm93bikgPT4gQ29sb3JNYXBwaW5nIHwgdW5kZWZpbmVkO1xuIiwiaW1wb3J0IHsgRnJvbnRlbmRDb25maWcgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2Zyb250ZW5kQ29uZmlnJztcbmltcG9ydCB7IFdpZGdldENvbmZpZywgUGFnZVZhcmlhbnRDb25maWcsIFdpZGdldE1vdW50aW5nQ29uZmlnIH0gZnJvbSAnc3JjL2NvbnRleHRzL3R5cGVzJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlQW5kVHJhbnNmb3JtUGFnZVZhcmlhbnRzOiAoY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gUGFnZVZhcmlhbnRDb25maWc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZUFuZFRyYW5zZm9ybU1vdW50aW5nQ29uZmlnOiAoY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgY29uZmlnS2V5OiBzdHJpbmcpID0+IFdpZGdldE1vdW50aW5nQ29uZmlnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdGVBbmRUcmFuc2Zvcm1XaWRnZXRDb25maWc6IChjb25maWc6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBjb25maWdLZXk6IHN0cmluZykgPT4gV2lkZ2V0Q29uZmlnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdGVHcmFwaFFMRnJvbnRlbmRDb25maWc6IChkYXRhOiB1bmtub3duKSA9PiBGcm9udGVuZENvbmZpZyB8IHVuZGVmaW5lZDtcbiIsImV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlR3JhcGhRTE9yZ0lkOiAoZGF0YTogdW5rbm93bikgPT4gc3RyaW5nIHwgdW5kZWZpbmVkO1xuIiwiaW1wb3J0IHsgTW9iaWxlUExQQ2hhdFBsYWNlbWVudFBhcmFtZXRlciB9IGZyb20gJy4uL21vYmlsZVBMUENoYXRQbGFjZW1lbnRQYXJhbWV0ZXInO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdGVNb2JpbGVQTFBDaGF0UGxhY2VtZW50UGFyYW1ldGVyOiAodmFsdWU6IHVua25vd24pID0+IE1vYmlsZVBMUENoYXRQbGFjZW1lbnRQYXJhbWV0ZXIgfCB1bmRlZmluZWQ7XG4iLCJpbXBvcnQgeyBPcmdhbml6YXRpb25Db25maWcgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9vcmdhbml6YXRpb25Db25maWcnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdGVPcmdhbml6YXRpb25Db25maWc6IChkYXRhOiB1bmtub3duKSA9PiBPcmdhbml6YXRpb25Db25maWcgfCB1bmRlZmluZWQ7XG4iLCJpbXBvcnQgeyBPcmdDb25maWcgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9vcmdDb25maWdSZXN1bHRzJztcbi8qKlxuICpcbiAqIEBwYXJhbSBkYXRhXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCB2YWxpZGF0ZU9yZ0NvbmZpZ1Jlc3VsdHM6IChkYXRhOiB1bmtub3duKSA9PiBPcmdDb25maWcgfCB1bmRlZmluZWQ7XG4iLCJpbXBvcnQgeyBSZXNwb25zZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvaW5kZXgnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdmFsaWRhdGVSZXNwb25zZTogKGRhdGE6IHVua25vd24pID0+IFJlc3BvbnNlIHwgdW5kZWZpbmVkO1xuIiwiaW1wb3J0IHsgU3VnZ2VzdGlvbiB9IGZyb20gJy4uL2FwaS9zdWdnZXN0aW9uJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlU3VnZ2VzdGlvbjogKGRhdGE6IHVua25vd24pID0+IFN1Z2dlc3Rpb24gfCB1bmRlZmluZWQ7XG4iLCJpbXBvcnQgeyBVc2VyRXZlbnQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2luZGV4JztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHZhbGlkYXRlVXNlckV2ZW50OiAoZGF0YTogdW5rbm93bikgPT4gVXNlckV2ZW50IHwgdW5kZWZpbmVkO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUksY0FBYyxDQUFDLElBQUc7Ozs7QUNBdEIsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFHOzs7O0FDQXhCLElBQVcsMEJBQTBCLENBQUMsSUFBQTs7OztBQ0F0QyxJQUFFLHFCQUFBO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDRixJQUFJLGtCQUFrQixDQUFDLElBQUk7QUFDM0IsSUFBRSxtQkFBQSxDQUFBLElBQUE7QUFDRixJQUFXLG1CQUFtQjtDQUFDO09BQUs7T0FBQTtDQUFBO0FBQ3BDLElBQVcsb0JBQU07Q0FBQTtPQUFBO09BQUE7Q0FBQTs7OztBQ0pqQixJQUFJLGtDQUFrQyxDQUFDLElBQUk7Ozs7QUNBM0MsSUFBSSx5QkFBeUIsQ0FBQyxJQUFJOzs7O0FDQWxDLElBQVcsa0JBQWtCLENBQUMsSUFBSTs7OztBQ0FsQyxJQUFJLHdCQUF3QixDQUFDLElBQUk7Ozs7QUNFakMsSUFBVyxjQUFjLENBQUMsSUFBSTtBQUM5QixJQUFX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
|