@envive-ai/react-hooks 0.3.13 → 0.3.15-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/application/commerce-api.cjs +1 -1
  2. package/dist/application/commerce-api.js +1 -1
  3. package/dist/application/models/featureGates.cjs +4 -1
  4. package/dist/application/models/featureGates.d.cts +4 -1
  5. package/dist/application/models/featureGates.d.ts +4 -1
  6. package/dist/application/models/featureGates.js +4 -1
  7. package/dist/atoms/app/index.d.cts +7 -7
  8. package/dist/atoms/app/index.d.ts +1 -1
  9. package/dist/atoms/app/variant.d.cts +6 -6
  10. package/dist/atoms/app/variant.d.ts +6 -6
  11. package/dist/atoms/chat/chatState.d.cts +18 -18
  12. package/dist/atoms/chat/chatState.d.ts +1 -1
  13. package/dist/atoms/chat/form.d.cts +3 -3
  14. package/dist/atoms/chat/form.d.ts +2 -2
  15. package/dist/atoms/chat/index.d.cts +3 -3
  16. package/dist/atoms/chat/index.d.ts +2 -2
  17. package/dist/atoms/chat/lastMessage.d.cts +2 -2
  18. package/dist/atoms/chat/lastMessage.d.ts +2 -2
  19. package/dist/atoms/chat/messageQueue.d.cts +6 -6
  20. package/dist/atoms/chat/messageQueue.d.ts +6 -6
  21. package/dist/atoms/chat/performanceMetrics.d.cts +7 -7
  22. package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
  23. package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
  24. package/dist/atoms/chat/renderedWidgetRefs.d.ts +2 -2
  25. package/dist/atoms/chat/replies.d.cts +3 -3
  26. package/dist/atoms/chat/replies.d.ts +3 -3
  27. package/dist/atoms/chat/suggestions.d.cts +2 -2
  28. package/dist/atoms/chat/suggestions.d.ts +2 -2
  29. package/dist/atoms/envive/enviveConfig.d.cts +13 -13
  30. package/dist/atoms/envive/enviveConfig.d.ts +13 -13
  31. package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
  32. package/dist/atoms/globalSearch/globalSearch.d.ts +5 -5
  33. package/dist/atoms/org/customerService.d.cts +6 -6
  34. package/dist/atoms/org/customerService.d.ts +6 -6
  35. package/dist/atoms/org/graphqlConfig.d.cts +4 -4
  36. package/dist/atoms/org/graphqlConfig.d.ts +4 -4
  37. package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
  38. package/dist/atoms/org/newOrgConfigAtom.d.ts +3 -3
  39. package/dist/atoms/org/orgAnalyticsConfig.d.cts +5 -5
  40. package/dist/atoms/org/orgAnalyticsConfig.d.ts +6 -6
  41. package/dist/atoms/search/chatSearch.d.cts +17 -17
  42. package/dist/atoms/search/chatSearch.d.ts +17 -17
  43. package/dist/atoms/search/searchAPI.d.cts +13 -13
  44. package/dist/atoms/search/searchAPI.d.ts +13 -13
  45. package/dist/atoms/search/utils.d.cts +1 -1
  46. package/dist/atoms/search/utils.d.ts +1 -1
  47. package/dist/atoms/widget/chatPreviewLoading.d.cts +2 -2
  48. package/dist/atoms/widget/chatPreviewLoading.d.ts +2 -2
  49. package/dist/contexts/hardcopyContext/hardcopyContext.cjs +4 -2
  50. package/dist/contexts/hardcopyContext/hardcopyContext.js +4 -2
  51. package/dist/contexts/pageContext/types.d.cts +1 -1
  52. package/dist/contexts/salesAgentContext/chatAPI.cjs +21 -1
  53. package/dist/contexts/salesAgentContext/chatAPI.js +21 -1
  54. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.ts +2 -2
  55. package/dist/contexts/types.d.cts +1 -1
  56. package/dist/contexts/types.d.ts +1 -1
  57. package/dist/contexts/typesV3.d.cts +1 -1
  58. package/dist/contexts/typesV3.d.ts +1 -1
  59. package/dist/hooks/ChatToggle/useChatToggle.cjs +47 -17
  60. package/dist/hooks/ChatToggle/useChatToggle.d.cts +2 -1
  61. package/dist/hooks/ChatToggle/useChatToggle.d.ts +2 -1
  62. package/dist/hooks/ChatToggle/useChatToggle.js +48 -18
  63. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.ts +2 -2
  64. package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.d.cts +2 -2
  65. package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.d.ts +2 -2
  66. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.d.ts +2 -2
  67. package/dist/hooks/WidgetInteraction/index.cjs +3 -0
  68. package/dist/hooks/WidgetInteraction/index.d.cts +2 -0
  69. package/dist/hooks/WidgetInteraction/index.d.ts +2 -0
  70. package/dist/hooks/WidgetInteraction/index.js +3 -0
  71. package/dist/hooks/WidgetInteraction/types.cjs +47 -0
  72. package/dist/hooks/WidgetInteraction/types.d.cts +110 -0
  73. package/dist/hooks/WidgetInteraction/types.d.ts +110 -0
  74. package/dist/hooks/WidgetInteraction/types.js +44 -0
  75. package/dist/hooks/WidgetInteraction/useWidgetInteraction.cjs +34 -0
  76. package/dist/hooks/WidgetInteraction/useWidgetInteraction.d.cts +10 -0
  77. package/dist/hooks/WidgetInteraction/useWidgetInteraction.d.ts +10 -0
  78. package/dist/hooks/WidgetInteraction/useWidgetInteraction.js +33 -0
  79. package/dist/hooks/WidgetInteraction/utils.cjs +34 -0
  80. package/dist/hooks/WidgetInteraction/utils.d.cts +8 -0
  81. package/dist/hooks/WidgetInteraction/utils.d.ts +8 -0
  82. package/dist/hooks/WidgetInteraction/utils.js +34 -0
  83. package/dist/hooks/utils.d.cts +1 -1
  84. package/dist/hooks/utils.d.ts +1 -1
  85. package/dist/types/customerService.cjs +3 -1
  86. package/dist/types/customerService.d.cts +3 -1
  87. package/dist/types/customerService.d.ts +3 -1
  88. package/dist/types/customerService.js +3 -1
  89. package/package.json +13 -1
  90. package/src/application/commerce-api.ts +0 -1
  91. package/src/application/models/featureGates.ts +3 -0
  92. package/src/contexts/hardcopyContext/hardcopyContext.tsx +2 -0
  93. package/src/contexts/salesAgentContext/chatAPI.ts +39 -6
  94. package/src/hooks/ChatToggle/useChatToggle.ts +35 -2
  95. package/src/hooks/WidgetInteraction/index.ts +1 -0
  96. package/src/hooks/WidgetInteraction/types.ts +139 -0
  97. package/src/hooks/WidgetInteraction/useWidgetInteraction.ts +35 -0
  98. package/src/hooks/WidgetInteraction/utils.ts +44 -0
  99. package/src/types/customerService.ts +2 -0
@@ -156,7 +156,9 @@ const MOCK_HARDCOPY_RESPONSE = {
156
156
  welcomeMessageTitle: "Welcome to Envive AI",
157
157
  welcomeMessageText: "Your personal shopper trained on the collective knowledge of thousands of real experts!",
158
158
  chatFooterTextFieldPlaceholderText: "Ask me anything...",
159
- disclaimerText: "This is a disclaimer..."
159
+ disclaimerText: "This is a disclaimer...",
160
+ leftToggleLabel: "Shop with AI",
161
+ rightToggleLabel: "Live support"
160
162
  }
161
163
  },
162
164
  [require_contexts_typesV3.WidgetTypeV3.FullPageSalesAgentV3]: {
@@ -262,4 +264,4 @@ const useHardcopy = () => {
262
264
  //#endregion
263
265
  exports.HardcopyProvider = HardcopyProvider;
264
266
  exports.useHardcopy = useHardcopy;
265
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFyZGNvcHlDb250ZXh0LmNqcyIsIm5hbWVzIjpbInRvQ2FtZWxDYXNlIiwiTU9DS19IQVJEQ09QWV9SRVNQT05TRTogUGFydGlhbDxSZWNvcmQ8V2lkZ2V0VHlwZVYzLCBIYXJkY29weVJlc3BvbnNlPj4iLCJXaWRnZXRUeXBlVjMiLCJIYXJkY29weVByb3ZpZGVyOiBSZWFjdC5GQzxIYXJkY29weVByb3ZpZGVyUHJvcHM+IiwiYXBwRGV0YWlsc0F0b20iLCJ1c2VBbXBsaXR1ZGUiLCJ1c2VGZWF0dXJlRmxhZ1NlcnZpY2UiLCJnZXRRdWVyeVBhcmFtIiwid2lkZ2V0VGV4dFJlcXVlc3Q6IFdpZGdldFRleHRSZXF1ZXN0IiwiRW52aXZlTWV0cmljc0V2ZW50TmFtZSIsIkNvbW1lcmNlQXBpQ2xpZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL2hhcmRjb3B5Q29udGV4dC9oYXJkY29weUNvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWN0Tm9kZSwgY3JlYXRlQ29udGV4dCwgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IENvbW1lcmNlQXBpQ2xpZW50IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9jb21tZXJjZS1hcGknO1xuaW1wb3J0IHsgV2lkZ2V0U3RyaW5nLCBXaWRnZXRUZXh0IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvd2lkZ2V0VGV4dCc7XG5pbXBvcnQgeyBXaWRnZXRUZXh0UmVxdWVzdCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3dpZGdldFRleHRSZXF1ZXN0JztcblxuaW1wb3J0IHsgdXNlQXRvbVZhbHVlIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgYXBwRGV0YWlsc0F0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwJztcbmltcG9ydCB7IEVudml2ZU1ldHJpY3NFdmVudE5hbWUgfSBmcm9tICdzcmMvc2VydmljZXMvYW1wbGl0dWRlU2VydmljZS9hbXBsaXR1ZGVTZXJ2aWNlJztcbmltcG9ydCB7IHRvQ2FtZWxDYXNlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlscy9zbmFrZVRvQ2FtZWxUcmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBVc2VyRXZlbnQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7IGdldFF1ZXJ5UGFyYW0gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vdXRpbHMnO1xuaW1wb3J0IHsgV2lkZ2V0VHlwZVYzIH0gZnJvbSAnLi4vdHlwZXNWMyc7XG5pbXBvcnQgeyB1c2VGZWF0dXJlRmxhZ1NlcnZpY2UgfSBmcm9tICcuLi9mZWF0dXJlRmxhZ1NlcnZpY2VDb250ZXh0L2ZlYXR1cmVGbGFnU2VydmljZUNvbnRleHQnO1xuaW1wb3J0IHsgdXNlQW1wbGl0dWRlIH0gZnJvbSAnLi4vYW1wbGl0dWRlQ29udGV4dCc7XG5cbmludGVyZmFjZSBIYXJkY29weVJlcXVlc3Qge1xuICB3aWRnZXRUeXBlOiBXaWRnZXRUeXBlVjM7XG4gIHVzZXJFdmVudDogVXNlckV2ZW50O1xufVxuXG5leHBvcnQgdHlwZSBIYXJkY29weVJlc3BvbnNlID0ge1xuICByZXNwb25zZUlkOiBzdHJpbmc7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHJhd1ZhbHVlcz86IFJlY29yZDxzdHJpbmcsIFdpZGdldFN0cmluZyB8IFdpZGdldFN0cmluZ1tdPjtcbiAgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBzdHJpbmdbXT47XG59O1xuXG5pbnRlcmZhY2UgSGFyZGNvcHlDb250ZXh0VHlwZSB7XG4gIGdldEhhcmRjb3B5OiAoSGFyZGNvcHlSZXF1ZXN0OiBIYXJkY29weVJlcXVlc3QpID0+IFByb21pc2U8SGFyZGNvcHlSZXNwb25zZT47XG4gIGlzTG9hZGluZzogYm9vbGVhbjtcbn1cblxuY29uc3QgY29udmVydFRvSGFyZGNvcHlSZXNwb25zZSA9IChyZXNwb25zZTogV2lkZ2V0VGV4dCk6IEhhcmRjb3B5UmVzcG9uc2UgPT4ge1xuICByZXR1cm4ge1xuICAgIHJlc3BvbnNlSWQ6IHJlc3BvbnNlLnJlc3BvbnNlSWQsXG4gICAgbGFuZ3VhZ2U6IHJlc3BvbnNlLmxhbmd1YWdlLFxuICAgIHJhd1ZhbHVlczogcmVzcG9uc2UudmFsdWVzLFxuICAgIHZhbHVlczogT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgT2JqZWN0LmVudHJpZXMocmVzcG9uc2UudmFsdWVzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gW1xuICAgICAgICAvLyBUcmFuc2Zvcm0gdGhlIGtleSBmcm9tIHNuYWtlX2Nhc2UgdG8gY2FtZWxDYXNlXG4gICAgICAgIHRvQ2FtZWxDYXNlKGtleSksXG4gICAgICAgIHZhbHVlLmxlbmd0aCA9PT0gMSA/IHZhbHVlWzBdLnZhbHVlIDogdmFsdWUubWFwKHYgPT4gdi52YWx1ZSksXG4gICAgICBdKSxcbiAgICApLFxuICB9O1xufTtcblxuLy8gVGhlc2UgYXJlIGp1c3Qgc2FtcGxlIHJlc3BvbnNlcyBmb3IgdGhlIHNha2Ugb2YgdGVzdGluZy5cbi8vIEFzIHdlIHN0YXJ0IHRvIGJ1aWxkIHRoZSBhY3R1YWwgd2lkZ2V0cyB3ZSBzaG91bGQgZGV0ZXJtaW5lIHdoYXQgdGhlIGFjdHVhbFxuLy8gdmFsdWVzIGFuZCB0aGVpciBuYW1lcyBzaG91bGQgYmUuXG5jb25zdCBNT0NLX0hBUkRDT1BZX1JFU1BPTlNFOiBQYXJ0aWFsPFJlY29yZDxXaWRnZXRUeXBlVjMsIEhhcmRjb3B5UmVzcG9uc2U+PiA9IHtcbiAgW1dpZGdldFR5cGVWMy5Qcm9tcHRDYXJvdXNlbFYzXToge1xuICAgIHJlc3BvbnNlSWQ6IHV1aWQoKSxcbiAgICBsYW5ndWFnZTogJ2VuJyxcbiAgICB2YWx1ZXM6IHtcbiAgICAgIHByb21wdEJ1dHRvblRleHRzOiBbXG4gICAgICAgICdXaGF0IGFyZSB5b3VyIGJlc3Qgc2VsbGVycz8nLFxuICAgICAgICAnU2hvdyBtZSBzdW1tZXIgZHJlc3NlcycsXG4gICAgICAgICdEbyB5b3UgaGF2ZSBmcmVlIHNoaXBwaW5nPycsXG4gICAgICAgICdXaGF0IHNpemVzIGFyZSBhdmFpbGFibGU/JyxcbiAgICAgICAgJ0NhbiBJIHJldHVybiBpdGVtcz8nLFxuICAgICAgXSxcbiAgICB9LFxuICB9LFxuICBbV2lkZ2V0VHlwZVYzLlRpdGxlZFByb21wdENhcm91c2VsVjNdOiB7XG4gICAgcmVzcG9uc2VJZDogJ21vY2stcmVzcG9uc2UtaWQnLFxuICAgIGxhbmd1YWdlOiAnZW4nLFxuICAgIHZhbHVlczoge1xuICAgICAgdGl0bGVMYWJlbDogJ05lZWQgc29tZSBoZWxwPycsXG4gICAgICBwcm9tcHRCdXR0b25UZXh0czogW1xuICAgICAgICAnV2hhdCBhcmUgeW91ciBiZXN0IHNlbGxlcnM/JyxcbiAgICAgICAgJ1Nob3cgbWUgc3VtbWVyIGRyZXNzZXMnLFxuICAgICAgICAnRG8geW91IGhhdmUgZnJlZSBzaGlwcGluZz8nLFxuICAgICAgICAnV2hhdCBzaXplcyBhcmUgYXZhaWxhYmxlPycsXG4gICAgICAgICdDYW4gSSByZXR1cm4gaXRlbXM/JyxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSxcbiAgW1dpZGdldFR5cGVWMy5Tb2NpYWxQcm9vZlYzXToge1xuICAgIHJlc3BvbnNlSWQ6ICdtb2NrLXJlc3BvbnNlLWlkJyxcbiAgICBsYW5ndWFnZTogJ2VuJyxcbiAgICB2YWx1ZXM6IHtcbiAgICAgIHRpdGxlTGFiZWw6ICdTaG9wcGluZyBBc3Npc3RhbnQnLFxuICAgICAgbnVtYmVyT2ZDdXN0b21lcnNUZXh0OiAnMTIzIGN1c3RvbWVycycsXG4gICAgICBjdXN0b21lclF1ZXJ5VGV4dDogJ2ZvdW5kIHdoYXQgdGhleSB3ZXJlIGxvb2tpbmcgZm9yLi4uJyxcbiAgICAgIHByaW1hcnlCdXR0b25UZXh0OiAnU3RhcnQgc2hvcHBpbmcnLFxuICAgICAgc2Vjb25kYXJ5QnV0dG9uVGl0bGVUZXh0OiAnUG9wdWxhciBzZWFyY2hlcycsXG4gICAgICBzZWNvbmRhcnlCdXR0b25UZXh0czogW1xuICAgICAgICAnV2h5IHNob3VsZCBJIGJ1eSBmcm9tIHlvdT8nLFxuICAgICAgICAnSG93IGRvIEkgcmV0dXJuIGFuIGl0ZW0/JyxcbiAgICAgICAgJ05ldyBhcnJpdmFscycsXG4gICAgICAgICdTYWxlIGl0ZW1zJyxcbiAgICAgICAgJ1BvcHVsYXIgaXRlbXMnLFxuICAgICAgXSxcbiAgICAgIHRleHRGaWVsZFBsYWNlaG9sZGVyVGV4dDogJ0FzayBtZSBhbnl0aGluZy4uLicsXG4gICAgfSxcbiAgfSxcbiAgW1dpZGdldFR5cGVWMy5UeXBpbmdBbmltYXRpb25WM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICB0aXRsZUxhYmVsOiAnU2hvcHBpbmcgQXNzaXN0YW50JyxcbiAgICAgIGhlYWRsaW5lVGV4dDogJ05lZWQgaGVscCBmaW5kaW5nJyxcbiAgICAgIGFuaW1hdGVkVGV4dFNlcXVlbmNlOiBbXG4gICAgICAgICd0aGUgcGVyZmVjdCBnaWZ0IGZvciB5b3VyIGxvdmVkIG9uZXM/JyxcbiAgICAgICAgJ3NvbWV0aGluZyBzcGVjaWFsIGZvciB0aGUgaG9saWRheXM/JyxcbiAgICAgICAgJ3RoZSBpZGVhbCBwcmVzZW50IGZvciBzb21lb25lIHNwZWNpYWw/JyxcbiAgICAgIF0sXG4gICAgICBoaW50VGV4dDogJ0FzayBtZSBhbnl0aGluZycsXG4gICAgICBwcm9tcHRCdXR0b25UZXh0czogW1xuICAgICAgICAnV2hhdCBhcmUgeW91ciBiZXN0IHNlbGxlcnM/JyxcbiAgICAgICAgJ1Nob3cgbWUgc3VtbWVyIGRyZXNzZXMnLFxuICAgICAgICAnRG8geW91IGhhdmUgZnJlZSBzaGlwcGluZz8nLFxuICAgICAgICAnV2hhdCBzaXplcyBhcmUgYXZhaWxhYmxlPycsXG4gICAgICBdLFxuICAgICAgdGV4dEZpZWxkQXJpYUxhYmVsOiAnQXNrIG1lIGFueXRoaW5nJyxcbiAgICB9LFxuICB9LFxuICBbV2lkZ2V0VHlwZVYzLkNoYXRQcmV2aWV3Q29tcGFyaXNvblYzXToge1xuICAgIHJlc3BvbnNlSWQ6ICdtb2NrLXJlc3BvbnNlLWlkJyxcbiAgICBsYW5ndWFnZTogJ2VuJyxcbiAgICB2YWx1ZXM6IHtcbiAgICAgIHRpdGxlTGFiZWw6ICdTaG9wcGluZyBBc3Npc3RhbnQnLFxuICAgICAgaGVhZGxpbmVUZXh0OiAnTmVlZCBoZWxwIGNvbXBhcmluZz8nLFxuICAgICAgdGV4dEZpZWxkUGxhY2Vob2xkZXJUZXh0OiAnQXNrIG1lIGFueXRoaW5nLi4uJyxcbiAgICB9LFxuICB9LFxuICBbV2lkZ2V0VHlwZVYzLkNoYXRQcmV2aWV3TG9hZGluZ1YzXToge1xuICAgIHJlc3BvbnNlSWQ6ICdtb2NrLXJlc3BvbnNlLWlkJyxcbiAgICBsYW5ndWFnZTogJ2VuJyxcbiAgICB2YWx1ZXM6IHtcbiAgICAgIHRpdGxlTGFiZWw6ICdTaG9wcGluZyBBc3Npc3RhbnQnLFxuICAgICAgdGV4dEZpZWxkUGxhY2Vob2xkZXJUZXh0OiAnQXNrIG1lIGFueXRoaW5nLi4uJyxcbiAgICB9LFxuICB9LFxuICBbV2lkZ2V0VHlwZVYzLkNoYXRQcmV2aWV3VjNdOiB7XG4gICAgcmVzcG9uc2VJZDogJ21vY2stcmVzcG9uc2UtaWQnLFxuICAgIGxhbmd1YWdlOiAnZW4nLFxuICAgIHZhbHVlczoge1xuICAgICAgdGl0bGVMYWJlbDogJ1Nob3BwaW5nIEFzc2lzdGFudCcsXG4gICAgICB0ZXh0RmllbGRQbGFjZWhvbGRlclRleHQ6ICdBc2sgbWUgYW55dGhpbmcuLi4nLFxuICAgIH0sXG4gIH0sXG4gIFtXaWRnZXRUeXBlVjMuUHJvbXB0QnV0dG9uQ2Fyb3VzZWxXaXRoSW1hZ2VWM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICB0aXRsZUxhYmVsOiAnTmVlZCBzb21lIGhlbHA/JyxcbiAgICAgIHByb21wdEJ1dHRvbnNUZXh0czogWydIZWxwIG1lIGZpbmQgYSBwcm9kdWN0JywgXCJXaGF0J3Mgb24geW91ciBtaW5kP1wiLCAnVGFsayB0byBhIGh1bWFuJ10sXG4gICAgICB0ZXh0RmllbGRQbGFjZWhvbGRlclRleHQ6ICdBc2sgbWUgYW55dGhpbmcuLi4nLFxuICAgIH0sXG4gIH0sXG4gIFtXaWRnZXRUeXBlVjMuUHJvZHVjdENhcmRWM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICBoZWFkbGluZTogJ0Rpc2NvdmVyIFlvdXIgUGVyZmVjdCBTdHlsZScsXG4gICAgICBhbmltYXRlZFRleHQ6IFtcbiAgICAgICAgJ3RoZSBwZXJmZWN0IG91dGZpdCBmb3IgYW55IG9jY2FzaW9uJyxcbiAgICAgICAgJ3RyZW5kaW5nIGZhc2hpb24gdGhhdCBmaXRzIHlvdXIgbGlmZXN0eWxlJyxcbiAgICAgICAgJ3F1YWxpdHkgcGllY2VzIHRoYXQgbGFzdCcsXG4gICAgICBdLFxuICAgICAgcHJvbXB0czogW1xuICAgICAgICAnV2hhdCBhcmUgeW91ciBiZXN0IHNlbGxlcnM/JyxcbiAgICAgICAgJ1Nob3cgbWUgc3VtbWVyIGRyZXNzZXMnLFxuICAgICAgICAnRG8geW91IGhhdmUgZnJlZSBzaGlwcGluZz8nLFxuICAgICAgICAnV2hhdCBzaXplcyBhcmUgYXZhaWxhYmxlPycsXG4gICAgICAgICdDYW4gSSByZXR1cm4gaXRlbXM/JyxcbiAgICAgIF0sXG4gICAgICBwbGFjZWhvbGRlcjogJ0FzayBtZSBhbnl0aGluZy4uLicsXG4gICAgfSxcbiAgfSxcbiAgW1dpZGdldFR5cGVWMy5GbG9hdGluZ0NoYXRWM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICB3ZWxjb21lTWVzc2FnZVRpdGxlOiAnV2VsY29tZSB0byBFbnZpdmUgQUknLFxuICAgICAgd2VsY29tZU1lc3NhZ2VUZXh0OlxuICAgICAgICAnWW91ciBwZXJzb25hbCBzaG9wcGVyIHRyYWluZWQgb24gdGhlIGNvbGxlY3RpdmUga25vd2xlZGdlIG9mIHRob3VzYW5kcyBvZiByZWFsIGV4cGVydHMhJyxcbiAgICAgIGNoYXRGb290ZXJUZXh0RmllbGRQbGFjZWhvbGRlclRleHQ6ICdBc2sgbWUgYW55dGhpbmcuLi4nLFxuICAgICAgZGlzY2xhaW1lclRleHQ6ICdUaGlzIGlzIGEgZGlzY2xhaW1lci4uLicsXG4gICAgfSxcbiAgfSxcbiAgW1dpZGdldFR5cGVWMy5GdWxsUGFnZVNhbGVzQWdlbnRWM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICB3ZWxjb21lTWVzc2FnZVRpdGxlOiAnV2VsY29tZSB0byBFbnZpdmUgQUknLFxuICAgICAgd2VsY29tZU1lc3NhZ2VUZXh0OlxuICAgICAgICAnWW91ciBwZXJzb25hbCBzaG9wcGVyIHRyYWluZWQgb24gdGhlIGNvbGxlY3RpdmUga25vd2xlZGdlIG9mIHRob3VzYW5kcyBvZiByZWFsIGV4cGVydHMhJyxcbiAgICAgIGNoYXRGb290ZXJUZXh0RmllbGRQbGFjZWhvbGRlclRleHQ6ICdBc2sgbWUgYW55dGhpbmcuLi4nLFxuICAgICAgZGlzY2xhaW1lclRleHQ6ICdUaGlzIGlzIGEgZGlzY2xhaW1lci4uLicsXG4gICAgfSxcbiAgfSxcbn07XG5cbmNvbnN0IEhhcmRjb3B5Q29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8SGFyZGNvcHlDb250ZXh0VHlwZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuaW50ZXJmYWNlIEhhcmRjb3B5UHJvdmlkZXJQcm9wcyB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGhhcmRjb3B5T3ZlcnJpZGU/OiBQYXJ0aWFsPFJlY29yZDxXaWRnZXRUeXBlVjMsIEhhcmRjb3B5UmVzcG9uc2U+Pjtcbn1cblxuZXhwb3J0IGNvbnN0IEhhcmRjb3B5UHJvdmlkZXI6IFJlYWN0LkZDPEhhcmRjb3B5UHJvdmlkZXJQcm9wcz4gPSAoe1xuICBjaGlsZHJlbixcbiAgaGFyZGNvcHlPdmVycmlkZSxcbn0pID0+IHtcbiAgY29uc3QgbGFuZ3VhZ2VzID0gdXNlTWVtbygoKSA9PiBuYXZpZ2F0b3IubGFuZ3VhZ2VzLCBbXSk7XG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VBdG9tVmFsdWUoYXBwRGV0YWlsc0F0b20pO1xuICBjb25zdCB7IHRyYWNrRXZlbnQgfSA9IHVzZUFtcGxpdHVkZSgpO1xuXG4gIGNvbnN0IHsgZmVhdHVyZUZsYWdTZXJ2aWNlIH0gPSB1c2VGZWF0dXJlRmxhZ1NlcnZpY2UoKTtcbiAgY29uc3QgZ2V0SGFyZGNvcHlGcm9tQmFja2VuZCA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChyZXF1ZXN0OiBIYXJkY29weVJlcXVlc3QpOiBQcm9taXNlPEhhcmRjb3B5UmVzcG9uc2U+ID0+IHtcbiAgICAgIGlmIChoYXJkY29weU92ZXJyaWRlPy5bcmVxdWVzdC53aWRnZXRUeXBlXSkge1xuICAgICAgICBMb2dnZXIubG9nSW5mbygnaGFyZGNvcHlDb250ZXh0IHwgdXNpbmcgaGFyZGNvcHkgb3ZlcnJpZGUnLCByZXF1ZXN0LndpZGdldFR5cGUpO1xuICAgICAgICByZXR1cm4gaGFyZGNvcHlPdmVycmlkZVtyZXF1ZXN0LndpZGdldFR5cGVdITtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG92ZXJyaWRlQ29uZmlnVmVyc2lvbiA9XG4gICAgICAgIGdldFF1ZXJ5UGFyYW0oJ3NwaWZmeV9jb25maWdfdmVyc2lvbicpIHx8XG4gICAgICAgIGdldFF1ZXJ5UGFyYW0oJ2Vudml2ZV9jb25maWdfdmVyc2lvbicpIHx8XG4gICAgICAgIHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IHdpZGdldFRleHRSZXF1ZXN0OiBXaWRnZXRUZXh0UmVxdWVzdCA9IHtcbiAgICAgICAgcmVxdWVzdElkOiB1dWlkKCksXG4gICAgICAgIHdpZGdldFR5cGU6IHJlcXVlc3Qud2lkZ2V0VHlwZSxcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgZmVhdHVyZUZsYWdzOiBmZWF0dXJlRmxhZ1NlcnZpY2U/LmdldEZlYXR1cmVGbGFncygpIHx8IHt9LFxuICAgICAgICBsYW5ndWFnZTogbGFuZ3VhZ2VzWzBdIHx8ICdlbicsXG4gICAgICAgIG92ZXJyaWRlQ29uZmlnVmVyc2lvbixcbiAgICAgICAgdXJsOiB3aW5kb3cubG9jYXRpb24uaHJlZixcbiAgICAgIH07XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldFRleHRSZXF1ZXN0LFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgd2lkZ2V0X3R5cGU6IHJlcXVlc3Qud2lkZ2V0VHlwZSxcbiAgICAgICAgICByZXF1ZXN0X2lkOiB3aWRnZXRUZXh0UmVxdWVzdC5yZXF1ZXN0SWQsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQuZ2V0SGFyZGNvcHkod2lkZ2V0VGV4dFJlcXVlc3QpO1xuICAgICAgICBpZiAocmVzcG9uc2UpIHtcbiAgICAgICAgICBjb25zdCBjb252ZXJ0ZWRSZXNwb25zZSA9IGNvbnZlcnRUb0hhcmRjb3B5UmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgICAgIExvZ2dlci5sb2dJbmZvKCdoYXJkY29weUNvbnRleHQgfCBjb252ZXJ0ZWQgcmVzcG9uc2UnLCBjb252ZXJ0ZWRSZXNwb25zZSk7XG4gICAgICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0VGV4dFJlc3BvbnNlLFxuICAgICAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgICAgICB3aWRnZXRfdHlwZTogcmVxdWVzdC53aWRnZXRUeXBlLFxuICAgICAgICAgICAgICByZXNwb25zZV9pZDogcmVzcG9uc2UucmVzcG9uc2VJZCxcbiAgICAgICAgICAgICAgd2lkZ2V0X3RleHQ6IHJlc3BvbnNlLnZhbHVlcyxcbiAgICAgICAgICAgICAgcmVxdWVzdF9pZDogd2lkZ2V0VGV4dFJlcXVlc3QucmVxdWVzdElkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gY29udmVydGVkUmVzcG9uc2U7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIExvZ2dlci5sb2dFcnJvcignaGFyZGNvcHlDb250ZXh0IHwgZXJyb3IgZ2V0dGluZyBoYXJkY29weSBmcm9tIGJhY2tlbmQnLCBlcnJvcik7XG4gICAgICB9XG4gICAgICBjb25zdCBtb2NrUmVzcG9uc2UgPSBNT0NLX0hBUkRDT1BZX1JFU1BPTlNFW3JlcXVlc3Qud2lkZ2V0VHlwZV07XG4gICAgICBpZiAobW9ja1Jlc3BvbnNlKSB7XG4gICAgICAgIExvZ2dlci5sb2dJbmZvKCdoYXJkY29weUNvbnRleHQgfCBubyByZWFsIHJlc3BvbnNlLCB1c2luZyBtb2NrJywgbW9ja1Jlc3BvbnNlKTtcbiAgICAgICAgcmV0dXJuIG1vY2tSZXNwb25zZTtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gaGFyZGNvcHkgcmVzcG9uc2UgZm91bmQgZm9yIHdpZGdldCB0eXBlOiAke3JlcXVlc3Qud2lkZ2V0VHlwZX1gKTtcbiAgICB9LFxuICAgIFtjb250ZXh0LCBmZWF0dXJlRmxhZ1NlcnZpY2UsIGhhcmRjb3B5T3ZlcnJpZGUsIGxhbmd1YWdlcywgdHJhY2tFdmVudF0sXG4gICk7XG5cbiAgY29uc3QgZ2V0SGFyZGNvcHkgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocmVxdWVzdDogSGFyZGNvcHlSZXF1ZXN0KTogUHJvbWlzZTxIYXJkY29weVJlc3BvbnNlPiA9PiB7XG4gICAgICBzZXRJc0xvYWRpbmcodHJ1ZSk7XG4gICAgICBMb2dnZXIubG9nSW5mbygnaGFyZGNvcHlDb250ZXh0IHwgcmV0cmlldmluZyBoYXJkY29weScsIGxhbmd1YWdlcyk7XG5cbiAgICAgIExvZ2dlci5sb2dJbmZvKCdoYXJkY29weUNvbnRleHQgfCByZXF1ZXN0JywgcmVxdWVzdCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldEhhcmRjb3B5RnJvbUJhY2tlbmQocmVxdWVzdCk7XG4gICAgICBMb2dnZXIubG9nSW5mbygnaGFyZGNvcHlDb250ZXh0IHwgcmV0dXJuaW5nIGhhcmRjb3B5IHJlc3BvbnNlJywgcmVzcG9uc2UpO1xuICAgICAgaWYgKCFyZXNwb25zZSkge1xuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGhhcmRjb3B5IHJlc3BvbnNlIGZvdW5kIGZvciB3aWRnZXQgdHlwZTogJHtyZXF1ZXN0LndpZGdldFR5cGV9YCk7XG4gICAgICB9XG4gICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH0sXG4gICAgW2dldEhhcmRjb3B5RnJvbUJhY2tlbmQsIGxhbmd1YWdlc10sXG4gICk7XG5cbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKCgpID0+ICh7IGdldEhhcmRjb3B5LCBpc0xvYWRpbmcgfSksIFtnZXRIYXJkY29weSwgaXNMb2FkaW5nXSk7XG5cbiAgcmV0dXJuIDxIYXJkY29weUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT57Y2hpbGRyZW59PC9IYXJkY29weUNvbnRleHQuUHJvdmlkZXI+O1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZUhhcmRjb3B5ID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChIYXJkY29weUNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZUhhcmRjb3B5IG11c3QgYmUgdXNlZCB3aXRoaW4gYSBIYXJkY29weVByb3ZpZGVyJyk7XG4gIH1cbiAgcmV0dXJuIGNvbnRleHQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0NBLE1BQU0sNkJBQTZCLGFBQTJDO0FBQzVFLFFBQU87RUFDTCxZQUFZLFNBQVM7RUFDckIsVUFBVSxTQUFTO0VBQ25CLFdBQVcsU0FBUztFQUNwQixRQUFRLE9BQU8sWUFDYixPQUFPLFFBQVEsU0FBUyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssV0FBVyxDQUVwREEsNENBQVksSUFBSSxFQUNoQixNQUFNLFdBQVcsSUFBSSxNQUFNLEdBQUcsUUFBUSxNQUFNLEtBQUksTUFBSyxFQUFFLE1BQU0sQ0FDOUQsQ0FBQyxDQUNIO0VBQ0Y7O0FBTUgsTUFBTUMseUJBQTBFO0VBQzdFQyxzQ0FBYSxtQkFBbUI7RUFDL0IsMEJBQWtCO0VBQ2xCLFVBQVU7RUFDVixRQUFRLEVBQ04sbUJBQW1CO0dBQ2pCO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDRCxFQUNGO0VBQ0Y7RUFDQUEsc0NBQWEseUJBQXlCO0VBQ3JDLFlBQVk7RUFDWixVQUFVO0VBQ1YsUUFBUTtHQUNOLFlBQVk7R0FDWixtQkFBbUI7SUFDakI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNEO0dBQ0Y7RUFDRjtFQUNBQSxzQ0FBYSxnQkFBZ0I7RUFDNUIsWUFBWTtFQUNaLFVBQVU7RUFDVixRQUFRO0dBQ04sWUFBWTtHQUNaLHVCQUF1QjtHQUN2QixtQkFBbUI7R0FDbkIsbUJBQW1CO0dBQ25CLDBCQUEwQjtHQUMxQixzQkFBc0I7SUFDcEI7SUFDQTtJQUNBO0lBQ0E7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
267
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFyZGNvcHlDb250ZXh0LmNqcyIsIm5hbWVzIjpbInRvQ2FtZWxDYXNlIiwiTU9DS19IQVJEQ09QWV9SRVNQT05TRTogUGFydGlhbDxSZWNvcmQ8V2lkZ2V0VHlwZVYzLCBIYXJkY29weVJlc3BvbnNlPj4iLCJXaWRnZXRUeXBlVjMiLCJIYXJkY29weVByb3ZpZGVyOiBSZWFjdC5GQzxIYXJkY29weVByb3ZpZGVyUHJvcHM+IiwiYXBwRGV0YWlsc0F0b20iLCJ1c2VBbXBsaXR1ZGUiLCJ1c2VGZWF0dXJlRmxhZ1NlcnZpY2UiLCJnZXRRdWVyeVBhcmFtIiwid2lkZ2V0VGV4dFJlcXVlc3Q6IFdpZGdldFRleHRSZXF1ZXN0IiwiRW52aXZlTWV0cmljc0V2ZW50TmFtZSIsIkNvbW1lcmNlQXBpQ2xpZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL2hhcmRjb3B5Q29udGV4dC9oYXJkY29weUNvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWN0Tm9kZSwgY3JlYXRlQ29udGV4dCwgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IENvbW1lcmNlQXBpQ2xpZW50IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9jb21tZXJjZS1hcGknO1xuaW1wb3J0IHsgV2lkZ2V0U3RyaW5nLCBXaWRnZXRUZXh0IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvd2lkZ2V0VGV4dCc7XG5pbXBvcnQgeyBXaWRnZXRUZXh0UmVxdWVzdCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3dpZGdldFRleHRSZXF1ZXN0JztcblxuaW1wb3J0IHsgdXNlQXRvbVZhbHVlIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgYXBwRGV0YWlsc0F0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwJztcbmltcG9ydCB7IEVudml2ZU1ldHJpY3NFdmVudE5hbWUgfSBmcm9tICdzcmMvc2VydmljZXMvYW1wbGl0dWRlU2VydmljZS9hbXBsaXR1ZGVTZXJ2aWNlJztcbmltcG9ydCB7IHRvQ2FtZWxDYXNlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlscy9zbmFrZVRvQ2FtZWxUcmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBVc2VyRXZlbnQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7IGdldFF1ZXJ5UGFyYW0gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vdXRpbHMnO1xuaW1wb3J0IHsgV2lkZ2V0VHlwZVYzIH0gZnJvbSAnLi4vdHlwZXNWMyc7XG5pbXBvcnQgeyB1c2VGZWF0dXJlRmxhZ1NlcnZpY2UgfSBmcm9tICcuLi9mZWF0dXJlRmxhZ1NlcnZpY2VDb250ZXh0L2ZlYXR1cmVGbGFnU2VydmljZUNvbnRleHQnO1xuaW1wb3J0IHsgdXNlQW1wbGl0dWRlIH0gZnJvbSAnLi4vYW1wbGl0dWRlQ29udGV4dCc7XG5cbmludGVyZmFjZSBIYXJkY29weVJlcXVlc3Qge1xuICB3aWRnZXRUeXBlOiBXaWRnZXRUeXBlVjM7XG4gIHVzZXJFdmVudDogVXNlckV2ZW50O1xufVxuXG5leHBvcnQgdHlwZSBIYXJkY29weVJlc3BvbnNlID0ge1xuICByZXNwb25zZUlkOiBzdHJpbmc7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHJhd1ZhbHVlcz86IFJlY29yZDxzdHJpbmcsIFdpZGdldFN0cmluZyB8IFdpZGdldFN0cmluZ1tdPjtcbiAgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBzdHJpbmdbXT47XG59O1xuXG5pbnRlcmZhY2UgSGFyZGNvcHlDb250ZXh0VHlwZSB7XG4gIGdldEhhcmRjb3B5OiAoSGFyZGNvcHlSZXF1ZXN0OiBIYXJkY29weVJlcXVlc3QpID0+IFByb21pc2U8SGFyZGNvcHlSZXNwb25zZT47XG4gIGlzTG9hZGluZzogYm9vbGVhbjtcbn1cblxuY29uc3QgY29udmVydFRvSGFyZGNvcHlSZXNwb25zZSA9IChyZXNwb25zZTogV2lkZ2V0VGV4dCk6IEhhcmRjb3B5UmVzcG9uc2UgPT4ge1xuICByZXR1cm4ge1xuICAgIHJlc3BvbnNlSWQ6IHJlc3BvbnNlLnJlc3BvbnNlSWQsXG4gICAgbGFuZ3VhZ2U6IHJlc3BvbnNlLmxhbmd1YWdlLFxuICAgIHJhd1ZhbHVlczogcmVzcG9uc2UudmFsdWVzLFxuICAgIHZhbHVlczogT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgT2JqZWN0LmVudHJpZXMocmVzcG9uc2UudmFsdWVzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gW1xuICAgICAgICAvLyBUcmFuc2Zvcm0gdGhlIGtleSBmcm9tIHNuYWtlX2Nhc2UgdG8gY2FtZWxDYXNlXG4gICAgICAgIHRvQ2FtZWxDYXNlKGtleSksXG4gICAgICAgIHZhbHVlLmxlbmd0aCA9PT0gMSA/IHZhbHVlWzBdLnZhbHVlIDogdmFsdWUubWFwKHYgPT4gdi52YWx1ZSksXG4gICAgICBdKSxcbiAgICApLFxuICB9O1xufTtcblxuLy8gVGhlc2UgYXJlIGp1c3Qgc2FtcGxlIHJlc3BvbnNlcyBmb3IgdGhlIHNha2Ugb2YgdGVzdGluZy5cbi8vIEFzIHdlIHN0YXJ0IHRvIGJ1aWxkIHRoZSBhY3R1YWwgd2lkZ2V0cyB3ZSBzaG91bGQgZGV0ZXJtaW5lIHdoYXQgdGhlIGFjdHVhbFxuLy8gdmFsdWVzIGFuZCB0aGVpciBuYW1lcyBzaG91bGQgYmUuXG5jb25zdCBNT0NLX0hBUkRDT1BZX1JFU1BPTlNFOiBQYXJ0aWFsPFJlY29yZDxXaWRnZXRUeXBlVjMsIEhhcmRjb3B5UmVzcG9uc2U+PiA9IHtcbiAgW1dpZGdldFR5cGVWMy5Qcm9tcHRDYXJvdXNlbFYzXToge1xuICAgIHJlc3BvbnNlSWQ6IHV1aWQoKSxcbiAgICBsYW5ndWFnZTogJ2VuJyxcbiAgICB2YWx1ZXM6IHtcbiAgICAgIHByb21wdEJ1dHRvblRleHRzOiBbXG4gICAgICAgICdXaGF0IGFyZSB5b3VyIGJlc3Qgc2VsbGVycz8nLFxuICAgICAgICAnU2hvdyBtZSBzdW1tZXIgZHJlc3NlcycsXG4gICAgICAgICdEbyB5b3UgaGF2ZSBmcmVlIHNoaXBwaW5nPycsXG4gICAgICAgICdXaGF0IHNpemVzIGFyZSBhdmFpbGFibGU/JyxcbiAgICAgICAgJ0NhbiBJIHJldHVybiBpdGVtcz8nLFxuICAgICAgXSxcbiAgICB9LFxuICB9LFxuICBbV2lkZ2V0VHlwZVYzLlRpdGxlZFByb21wdENhcm91c2VsVjNdOiB7XG4gICAgcmVzcG9uc2VJZDogJ21vY2stcmVzcG9uc2UtaWQnLFxuICAgIGxhbmd1YWdlOiAnZW4nLFxuICAgIHZhbHVlczoge1xuICAgICAgdGl0bGVMYWJlbDogJ05lZWQgc29tZSBoZWxwPycsXG4gICAgICBwcm9tcHRCdXR0b25UZXh0czogW1xuICAgICAgICAnV2hhdCBhcmUgeW91ciBiZXN0IHNlbGxlcnM/JyxcbiAgICAgICAgJ1Nob3cgbWUgc3VtbWVyIGRyZXNzZXMnLFxuICAgICAgICAnRG8geW91IGhhdmUgZnJlZSBzaGlwcGluZz8nLFxuICAgICAgICAnV2hhdCBzaXplcyBhcmUgYXZhaWxhYmxlPycsXG4gICAgICAgICdDYW4gSSByZXR1cm4gaXRlbXM/JyxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSxcbiAgW1dpZGdldFR5cGVWMy5Tb2NpYWxQcm9vZlYzXToge1xuICAgIHJlc3BvbnNlSWQ6ICdtb2NrLXJlc3BvbnNlLWlkJyxcbiAgICBsYW5ndWFnZTogJ2VuJyxcbiAgICB2YWx1ZXM6IHtcbiAgICAgIHRpdGxlTGFiZWw6ICdTaG9wcGluZyBBc3Npc3RhbnQnLFxuICAgICAgbnVtYmVyT2ZDdXN0b21lcnNUZXh0OiAnMTIzIGN1c3RvbWVycycsXG4gICAgICBjdXN0b21lclF1ZXJ5VGV4dDogJ2ZvdW5kIHdoYXQgdGhleSB3ZXJlIGxvb2tpbmcgZm9yLi4uJyxcbiAgICAgIHByaW1hcnlCdXR0b25UZXh0OiAnU3RhcnQgc2hvcHBpbmcnLFxuICAgICAgc2Vjb25kYXJ5QnV0dG9uVGl0bGVUZXh0OiAnUG9wdWxhciBzZWFyY2hlcycsXG4gICAgICBzZWNvbmRhcnlCdXR0b25UZXh0czogW1xuICAgICAgICAnV2h5IHNob3VsZCBJIGJ1eSBmcm9tIHlvdT8nLFxuICAgICAgICAnSG93IGRvIEkgcmV0dXJuIGFuIGl0ZW0/JyxcbiAgICAgICAgJ05ldyBhcnJpdmFscycsXG4gICAgICAgICdTYWxlIGl0ZW1zJyxcbiAgICAgICAgJ1BvcHVsYXIgaXRlbXMnLFxuICAgICAgXSxcbiAgICAgIHRleHRGaWVsZFBsYWNlaG9sZGVyVGV4dDogJ0FzayBtZSBhbnl0aGluZy4uLicsXG4gICAgfSxcbiAgfSxcbiAgW1dpZGdldFR5cGVWMy5UeXBpbmdBbmltYXRpb25WM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICB0aXRsZUxhYmVsOiAnU2hvcHBpbmcgQXNzaXN0YW50JyxcbiAgICAgIGhlYWRsaW5lVGV4dDogJ05lZWQgaGVscCBmaW5kaW5nJyxcbiAgICAgIGFuaW1hdGVkVGV4dFNlcXVlbmNlOiBbXG4gICAgICAgICd0aGUgcGVyZmVjdCBnaWZ0IGZvciB5b3VyIGxvdmVkIG9uZXM/JyxcbiAgICAgICAgJ3NvbWV0aGluZyBzcGVjaWFsIGZvciB0aGUgaG9saWRheXM/JyxcbiAgICAgICAgJ3RoZSBpZGVhbCBwcmVzZW50IGZvciBzb21lb25lIHNwZWNpYWw/JyxcbiAgICAgIF0sXG4gICAgICBoaW50VGV4dDogJ0FzayBtZSBhbnl0aGluZycsXG4gICAgICBwcm9tcHRCdXR0b25UZXh0czogW1xuICAgICAgICAnV2hhdCBhcmUgeW91ciBiZXN0IHNlbGxlcnM/JyxcbiAgICAgICAgJ1Nob3cgbWUgc3VtbWVyIGRyZXNzZXMnLFxuICAgICAgICAnRG8geW91IGhhdmUgZnJlZSBzaGlwcGluZz8nLFxuICAgICAgICAnV2hhdCBzaXplcyBhcmUgYXZhaWxhYmxlPycsXG4gICAgICBdLFxuICAgICAgdGV4dEZpZWxkQXJpYUxhYmVsOiAnQXNrIG1lIGFueXRoaW5nJyxcbiAgICB9LFxuICB9LFxuICBbV2lkZ2V0VHlwZVYzLkNoYXRQcmV2aWV3Q29tcGFyaXNvblYzXToge1xuICAgIHJlc3BvbnNlSWQ6ICdtb2NrLXJlc3BvbnNlLWlkJyxcbiAgICBsYW5ndWFnZTogJ2VuJyxcbiAgICB2YWx1ZXM6IHtcbiAgICAgIHRpdGxlTGFiZWw6ICdTaG9wcGluZyBBc3Npc3RhbnQnLFxuICAgICAgaGVhZGxpbmVUZXh0OiAnTmVlZCBoZWxwIGNvbXBhcmluZz8nLFxuICAgICAgdGV4dEZpZWxkUGxhY2Vob2xkZXJUZXh0OiAnQXNrIG1lIGFueXRoaW5nLi4uJyxcbiAgICB9LFxuICB9LFxuICBbV2lkZ2V0VHlwZVYzLkNoYXRQcmV2aWV3TG9hZGluZ1YzXToge1xuICAgIHJlc3BvbnNlSWQ6ICdtb2NrLXJlc3BvbnNlLWlkJyxcbiAgICBsYW5ndWFnZTogJ2VuJyxcbiAgICB2YWx1ZXM6IHtcbiAgICAgIHRpdGxlTGFiZWw6ICdTaG9wcGluZyBBc3Npc3RhbnQnLFxuICAgICAgdGV4dEZpZWxkUGxhY2Vob2xkZXJUZXh0OiAnQXNrIG1lIGFueXRoaW5nLi4uJyxcbiAgICB9LFxuICB9LFxuICBbV2lkZ2V0VHlwZVYzLkNoYXRQcmV2aWV3VjNdOiB7XG4gICAgcmVzcG9uc2VJZDogJ21vY2stcmVzcG9uc2UtaWQnLFxuICAgIGxhbmd1YWdlOiAnZW4nLFxuICAgIHZhbHVlczoge1xuICAgICAgdGl0bGVMYWJlbDogJ1Nob3BwaW5nIEFzc2lzdGFudCcsXG4gICAgICB0ZXh0RmllbGRQbGFjZWhvbGRlclRleHQ6ICdBc2sgbWUgYW55dGhpbmcuLi4nLFxuICAgIH0sXG4gIH0sXG4gIFtXaWRnZXRUeXBlVjMuUHJvbXB0QnV0dG9uQ2Fyb3VzZWxXaXRoSW1hZ2VWM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICB0aXRsZUxhYmVsOiAnTmVlZCBzb21lIGhlbHA/JyxcbiAgICAgIHByb21wdEJ1dHRvbnNUZXh0czogWydIZWxwIG1lIGZpbmQgYSBwcm9kdWN0JywgXCJXaGF0J3Mgb24geW91ciBtaW5kP1wiLCAnVGFsayB0byBhIGh1bWFuJ10sXG4gICAgICB0ZXh0RmllbGRQbGFjZWhvbGRlclRleHQ6ICdBc2sgbWUgYW55dGhpbmcuLi4nLFxuICAgIH0sXG4gIH0sXG4gIFtXaWRnZXRUeXBlVjMuUHJvZHVjdENhcmRWM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICBoZWFkbGluZTogJ0Rpc2NvdmVyIFlvdXIgUGVyZmVjdCBTdHlsZScsXG4gICAgICBhbmltYXRlZFRleHQ6IFtcbiAgICAgICAgJ3RoZSBwZXJmZWN0IG91dGZpdCBmb3IgYW55IG9jY2FzaW9uJyxcbiAgICAgICAgJ3RyZW5kaW5nIGZhc2hpb24gdGhhdCBmaXRzIHlvdXIgbGlmZXN0eWxlJyxcbiAgICAgICAgJ3F1YWxpdHkgcGllY2VzIHRoYXQgbGFzdCcsXG4gICAgICBdLFxuICAgICAgcHJvbXB0czogW1xuICAgICAgICAnV2hhdCBhcmUgeW91ciBiZXN0IHNlbGxlcnM/JyxcbiAgICAgICAgJ1Nob3cgbWUgc3VtbWVyIGRyZXNzZXMnLFxuICAgICAgICAnRG8geW91IGhhdmUgZnJlZSBzaGlwcGluZz8nLFxuICAgICAgICAnV2hhdCBzaXplcyBhcmUgYXZhaWxhYmxlPycsXG4gICAgICAgICdDYW4gSSByZXR1cm4gaXRlbXM/JyxcbiAgICAgIF0sXG4gICAgICBwbGFjZWhvbGRlcjogJ0FzayBtZSBhbnl0aGluZy4uLicsXG4gICAgfSxcbiAgfSxcbiAgW1dpZGdldFR5cGVWMy5GbG9hdGluZ0NoYXRWM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICB3ZWxjb21lTWVzc2FnZVRpdGxlOiAnV2VsY29tZSB0byBFbnZpdmUgQUknLFxuICAgICAgd2VsY29tZU1lc3NhZ2VUZXh0OlxuICAgICAgICAnWW91ciBwZXJzb25hbCBzaG9wcGVyIHRyYWluZWQgb24gdGhlIGNvbGxlY3RpdmUga25vd2xlZGdlIG9mIHRob3VzYW5kcyBvZiByZWFsIGV4cGVydHMhJyxcbiAgICAgIGNoYXRGb290ZXJUZXh0RmllbGRQbGFjZWhvbGRlclRleHQ6ICdBc2sgbWUgYW55dGhpbmcuLi4nLFxuICAgICAgZGlzY2xhaW1lclRleHQ6ICdUaGlzIGlzIGEgZGlzY2xhaW1lci4uLicsXG4gICAgICBsZWZ0VG9nZ2xlTGFiZWw6ICdTaG9wIHdpdGggQUknLFxuICAgICAgcmlnaHRUb2dnbGVMYWJlbDogJ0xpdmUgc3VwcG9ydCcsXG4gICAgfSxcbiAgfSxcbiAgW1dpZGdldFR5cGVWMy5GdWxsUGFnZVNhbGVzQWdlbnRWM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICB3ZWxjb21lTWVzc2FnZVRpdGxlOiAnV2VsY29tZSB0byBFbnZpdmUgQUknLFxuICAgICAgd2VsY29tZU1lc3NhZ2VUZXh0OlxuICAgICAgICAnWW91ciBwZXJzb25hbCBzaG9wcGVyIHRyYWluZWQgb24gdGhlIGNvbGxlY3RpdmUga25vd2xlZGdlIG9mIHRob3VzYW5kcyBvZiByZWFsIGV4cGVydHMhJyxcbiAgICAgIGNoYXRGb290ZXJUZXh0RmllbGRQbGFjZWhvbGRlclRleHQ6ICdBc2sgbWUgYW55dGhpbmcuLi4nLFxuICAgICAgZGlzY2xhaW1lclRleHQ6ICdUaGlzIGlzIGEgZGlzY2xhaW1lci4uLicsXG4gICAgfSxcbiAgfSxcbn07XG5cbmNvbnN0IEhhcmRjb3B5Q29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8SGFyZGNvcHlDb250ZXh0VHlwZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuaW50ZXJmYWNlIEhhcmRjb3B5UHJvdmlkZXJQcm9wcyB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGhhcmRjb3B5T3ZlcnJpZGU/OiBQYXJ0aWFsPFJlY29yZDxXaWRnZXRUeXBlVjMsIEhhcmRjb3B5UmVzcG9uc2U+Pjtcbn1cblxuZXhwb3J0IGNvbnN0IEhhcmRjb3B5UHJvdmlkZXI6IFJlYWN0LkZDPEhhcmRjb3B5UHJvdmlkZXJQcm9wcz4gPSAoe1xuICBjaGlsZHJlbixcbiAgaGFyZGNvcHlPdmVycmlkZSxcbn0pID0+IHtcbiAgY29uc3QgbGFuZ3VhZ2VzID0gdXNlTWVtbygoKSA9PiBuYXZpZ2F0b3IubGFuZ3VhZ2VzLCBbXSk7XG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VBdG9tVmFsdWUoYXBwRGV0YWlsc0F0b20pO1xuICBjb25zdCB7IHRyYWNrRXZlbnQgfSA9IHVzZUFtcGxpdHVkZSgpO1xuXG4gIGNvbnN0IHsgZmVhdHVyZUZsYWdTZXJ2aWNlIH0gPSB1c2VGZWF0dXJlRmxhZ1NlcnZpY2UoKTtcbiAgY29uc3QgZ2V0SGFyZGNvcHlGcm9tQmFja2VuZCA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChyZXF1ZXN0OiBIYXJkY29weVJlcXVlc3QpOiBQcm9taXNlPEhhcmRjb3B5UmVzcG9uc2U+ID0+IHtcbiAgICAgIGlmIChoYXJkY29weU92ZXJyaWRlPy5bcmVxdWVzdC53aWRnZXRUeXBlXSkge1xuICAgICAgICBMb2dnZXIubG9nSW5mbygnaGFyZGNvcHlDb250ZXh0IHwgdXNpbmcgaGFyZGNvcHkgb3ZlcnJpZGUnLCByZXF1ZXN0LndpZGdldFR5cGUpO1xuICAgICAgICByZXR1cm4gaGFyZGNvcHlPdmVycmlkZVtyZXF1ZXN0LndpZGdldFR5cGVdITtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG92ZXJyaWRlQ29uZmlnVmVyc2lvbiA9XG4gICAgICAgIGdldFF1ZXJ5UGFyYW0oJ3NwaWZmeV9jb25maWdfdmVyc2lvbicpIHx8XG4gICAgICAgIGdldFF1ZXJ5UGFyYW0oJ2Vudml2ZV9jb25maWdfdmVyc2lvbicpIHx8XG4gICAgICAgIHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IHdpZGdldFRleHRSZXF1ZXN0OiBXaWRnZXRUZXh0UmVxdWVzdCA9IHtcbiAgICAgICAgcmVxdWVzdElkOiB1dWlkKCksXG4gICAgICAgIHdpZGdldFR5cGU6IHJlcXVlc3Qud2lkZ2V0VHlwZSxcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgZmVhdHVyZUZsYWdzOiBmZWF0dXJlRmxhZ1NlcnZpY2U/LmdldEZlYXR1cmVGbGFncygpIHx8IHt9LFxuICAgICAgICBsYW5ndWFnZTogbGFuZ3VhZ2VzWzBdIHx8ICdlbicsXG4gICAgICAgIG92ZXJyaWRlQ29uZmlnVmVyc2lvbixcbiAgICAgICAgdXJsOiB3aW5kb3cubG9jYXRpb24uaHJlZixcbiAgICAgIH07XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldFRleHRSZXF1ZXN0LFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgd2lkZ2V0X3R5cGU6IHJlcXVlc3Qud2lkZ2V0VHlwZSxcbiAgICAgICAgICByZXF1ZXN0X2lkOiB3aWRnZXRUZXh0UmVxdWVzdC5yZXF1ZXN0SWQsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQuZ2V0SGFyZGNvcHkod2lkZ2V0VGV4dFJlcXVlc3QpO1xuICAgICAgICBpZiAocmVzcG9uc2UpIHtcbiAgICAgICAgICBjb25zdCBjb252ZXJ0ZWRSZXNwb25zZSA9IGNvbnZlcnRUb0hhcmRjb3B5UmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgICAgIExvZ2dlci5sb2dJbmZvKCdoYXJkY29weUNvbnRleHQgfCBjb252ZXJ0ZWQgcmVzcG9uc2UnLCBjb252ZXJ0ZWRSZXNwb25zZSk7XG4gICAgICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0VGV4dFJlc3BvbnNlLFxuICAgICAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgICAgICB3aWRnZXRfdHlwZTogcmVxdWVzdC53aWRnZXRUeXBlLFxuICAgICAgICAgICAgICByZXNwb25zZV9pZDogcmVzcG9uc2UucmVzcG9uc2VJZCxcbiAgICAgICAgICAgICAgd2lkZ2V0X3RleHQ6IHJlc3BvbnNlLnZhbHVlcyxcbiAgICAgICAgICAgICAgcmVxdWVzdF9pZDogd2lkZ2V0VGV4dFJlcXVlc3QucmVxdWVzdElkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gY29udmVydGVkUmVzcG9uc2U7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIExvZ2dlci5sb2dFcnJvcignaGFyZGNvcHlDb250ZXh0IHwgZXJyb3IgZ2V0dGluZyBoYXJkY29weSBmcm9tIGJhY2tlbmQnLCBlcnJvcik7XG4gICAgICB9XG4gICAgICBjb25zdCBtb2NrUmVzcG9uc2UgPSBNT0NLX0hBUkRDT1BZX1JFU1BPTlNFW3JlcXVlc3Qud2lkZ2V0VHlwZV07XG4gICAgICBpZiAobW9ja1Jlc3BvbnNlKSB7XG4gICAgICAgIExvZ2dlci5sb2dJbmZvKCdoYXJkY29weUNvbnRleHQgfCBubyByZWFsIHJlc3BvbnNlLCB1c2luZyBtb2NrJywgbW9ja1Jlc3BvbnNlKTtcbiAgICAgICAgcmV0dXJuIG1vY2tSZXNwb25zZTtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gaGFyZGNvcHkgcmVzcG9uc2UgZm91bmQgZm9yIHdpZGdldCB0eXBlOiAke3JlcXVlc3Qud2lkZ2V0VHlwZX1gKTtcbiAgICB9LFxuICAgIFtjb250ZXh0LCBmZWF0dXJlRmxhZ1NlcnZpY2UsIGhhcmRjb3B5T3ZlcnJpZGUsIGxhbmd1YWdlcywgdHJhY2tFdmVudF0sXG4gICk7XG5cbiAgY29uc3QgZ2V0SGFyZGNvcHkgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocmVxdWVzdDogSGFyZGNvcHlSZXF1ZXN0KTogUHJvbWlzZTxIYXJkY29weVJlc3BvbnNlPiA9PiB7XG4gICAgICBzZXRJc0xvYWRpbmcodHJ1ZSk7XG4gICAgICBMb2dnZXIubG9nSW5mbygnaGFyZGNvcHlDb250ZXh0IHwgcmV0cmlldmluZyBoYXJkY29weScsIGxhbmd1YWdlcyk7XG5cbiAgICAgIExvZ2dlci5sb2dJbmZvKCdoYXJkY29weUNvbnRleHQgfCByZXF1ZXN0JywgcmVxdWVzdCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldEhhcmRjb3B5RnJvbUJhY2tlbmQocmVxdWVzdCk7XG4gICAgICBMb2dnZXIubG9nSW5mbygnaGFyZGNvcHlDb250ZXh0IHwgcmV0dXJuaW5nIGhhcmRjb3B5IHJlc3BvbnNlJywgcmVzcG9uc2UpO1xuICAgICAgaWYgKCFyZXNwb25zZSkge1xuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGhhcmRjb3B5IHJlc3BvbnNlIGZvdW5kIGZvciB3aWRnZXQgdHlwZTogJHtyZXF1ZXN0LndpZGdldFR5cGV9YCk7XG4gICAgICB9XG4gICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH0sXG4gICAgW2dldEhhcmRjb3B5RnJvbUJhY2tlbmQsIGxhbmd1YWdlc10sXG4gICk7XG5cbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKCgpID0+ICh7IGdldEhhcmRjb3B5LCBpc0xvYWRpbmcgfSksIFtnZXRIYXJkY29weSwgaXNMb2FkaW5nXSk7XG5cbiAgcmV0dXJuIDxIYXJkY29weUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT57Y2hpbGRyZW59PC9IYXJkY29weUNvbnRleHQuUHJvdmlkZXI+O1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZUhhcmRjb3B5ID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChIYXJkY29weUNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZUhhcmRjb3B5IG11c3QgYmUgdXNlZCB3aXRoaW4gYSBIYXJkY29weVByb3ZpZGVyJyk7XG4gIH1cbiAgcmV0dXJuIGNvbnRleHQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0NBLE1BQU0sNkJBQTZCLGFBQTJDO0FBQzVFLFFBQU87RUFDTCxZQUFZLFNBQVM7RUFDckIsVUFBVSxTQUFTO0VBQ25CLFdBQVcsU0FBUztFQUNwQixRQUFRLE9BQU8sWUFDYixPQUFPLFFBQVEsU0FBUyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssV0FBVyxDQUVwREEsNENBQVksSUFBSSxFQUNoQixNQUFNLFdBQVcsSUFBSSxNQUFNLEdBQUcsUUFBUSxNQUFNLEtBQUksTUFBSyxFQUFFLE1BQU0sQ0FDOUQsQ0FBQyxDQUNIO0VBQ0Y7O0FBTUgsTUFBTUMseUJBQTBFO0VBQzdFQyxzQ0FBYSxtQkFBbUI7RUFDL0IsMEJBQWtCO0VBQ2xCLFVBQVU7RUFDVixRQUFRLEVBQ04sbUJBQW1CO0dBQ2pCO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDRCxFQUNGO0VBQ0Y7RUFDQUEsc0NBQWEseUJBQXlCO0VBQ3JDLFlBQVk7RUFDWixVQUFVO0VBQ1YsUUFBUTtHQUNOLFlBQVk7R0FDWixtQkFBbUI7SUFDakI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNEO0dBQ0Y7RUFDRjtFQUNBQSxzQ0FBYSxnQkFBZ0I7RUFDNUIsWUFBWTtFQUNaLFVBQVU7RUFDVixRQUFRO0dBQ04sWUFBWTtHQUNa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
@@ -155,7 +155,9 @@ const MOCK_HARDCOPY_RESPONSE = {
155
155
  welcomeMessageTitle: "Welcome to Envive AI",
156
156
  welcomeMessageText: "Your personal shopper trained on the collective knowledge of thousands of real experts!",
157
157
  chatFooterTextFieldPlaceholderText: "Ask me anything...",
158
- disclaimerText: "This is a disclaimer..."
158
+ disclaimerText: "This is a disclaimer...",
159
+ leftToggleLabel: "Shop with AI",
160
+ rightToggleLabel: "Live support"
159
161
  }
160
162
  },
161
163
  [WidgetTypeV3.FullPageSalesAgentV3]: {
@@ -260,4 +262,4 @@ const useHardcopy = () => {
260
262
 
261
263
  //#endregion
262
264
  export { HardcopyProvider, useHardcopy };
263
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFyZGNvcHlDb250ZXh0LmpzIiwibmFtZXMiOlsiTU9DS19IQVJEQ09QWV9SRVNQT05TRTogUGFydGlhbDxSZWNvcmQ8V2lkZ2V0VHlwZVYzLCBIYXJkY29weVJlc3BvbnNlPj4iLCJ1dWlkIiwiSGFyZGNvcHlQcm92aWRlcjogUmVhY3QuRkM8SGFyZGNvcHlQcm92aWRlclByb3BzPiIsIndpZGdldFRleHRSZXF1ZXN0OiBXaWRnZXRUZXh0UmVxdWVzdCIsIkNvbW1lcmNlQXBpQ2xpZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL2hhcmRjb3B5Q29udGV4dC9oYXJkY29weUNvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWN0Tm9kZSwgY3JlYXRlQ29udGV4dCwgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IENvbW1lcmNlQXBpQ2xpZW50IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9jb21tZXJjZS1hcGknO1xuaW1wb3J0IHsgV2lkZ2V0U3RyaW5nLCBXaWRnZXRUZXh0IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvd2lkZ2V0VGV4dCc7XG5pbXBvcnQgeyBXaWRnZXRUZXh0UmVxdWVzdCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3dpZGdldFRleHRSZXF1ZXN0JztcblxuaW1wb3J0IHsgdXNlQXRvbVZhbHVlIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgYXBwRGV0YWlsc0F0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwJztcbmltcG9ydCB7IEVudml2ZU1ldHJpY3NFdmVudE5hbWUgfSBmcm9tICdzcmMvc2VydmljZXMvYW1wbGl0dWRlU2VydmljZS9hbXBsaXR1ZGVTZXJ2aWNlJztcbmltcG9ydCB7IHRvQ2FtZWxDYXNlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlscy9zbmFrZVRvQ2FtZWxUcmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBVc2VyRXZlbnQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7IGdldFF1ZXJ5UGFyYW0gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vdXRpbHMnO1xuaW1wb3J0IHsgV2lkZ2V0VHlwZVYzIH0gZnJvbSAnLi4vdHlwZXNWMyc7XG5pbXBvcnQgeyB1c2VGZWF0dXJlRmxhZ1NlcnZpY2UgfSBmcm9tICcuLi9mZWF0dXJlRmxhZ1NlcnZpY2VDb250ZXh0L2ZlYXR1cmVGbGFnU2VydmljZUNvbnRleHQnO1xuaW1wb3J0IHsgdXNlQW1wbGl0dWRlIH0gZnJvbSAnLi4vYW1wbGl0dWRlQ29udGV4dCc7XG5cbmludGVyZmFjZSBIYXJkY29weVJlcXVlc3Qge1xuICB3aWRnZXRUeXBlOiBXaWRnZXRUeXBlVjM7XG4gIHVzZXJFdmVudDogVXNlckV2ZW50O1xufVxuXG5leHBvcnQgdHlwZSBIYXJkY29weVJlc3BvbnNlID0ge1xuICByZXNwb25zZUlkOiBzdHJpbmc7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHJhd1ZhbHVlcz86IFJlY29yZDxzdHJpbmcsIFdpZGdldFN0cmluZyB8IFdpZGdldFN0cmluZ1tdPjtcbiAgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBzdHJpbmdbXT47XG59O1xuXG5pbnRlcmZhY2UgSGFyZGNvcHlDb250ZXh0VHlwZSB7XG4gIGdldEhhcmRjb3B5OiAoSGFyZGNvcHlSZXF1ZXN0OiBIYXJkY29weVJlcXVlc3QpID0+IFByb21pc2U8SGFyZGNvcHlSZXNwb25zZT47XG4gIGlzTG9hZGluZzogYm9vbGVhbjtcbn1cblxuY29uc3QgY29udmVydFRvSGFyZGNvcHlSZXNwb25zZSA9IChyZXNwb25zZTogV2lkZ2V0VGV4dCk6IEhhcmRjb3B5UmVzcG9uc2UgPT4ge1xuICByZXR1cm4ge1xuICAgIHJlc3BvbnNlSWQ6IHJlc3BvbnNlLnJlc3BvbnNlSWQsXG4gICAgbGFuZ3VhZ2U6IHJlc3BvbnNlLmxhbmd1YWdlLFxuICAgIHJhd1ZhbHVlczogcmVzcG9uc2UudmFsdWVzLFxuICAgIHZhbHVlczogT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgT2JqZWN0LmVudHJpZXMocmVzcG9uc2UudmFsdWVzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gW1xuICAgICAgICAvLyBUcmFuc2Zvcm0gdGhlIGtleSBmcm9tIHNuYWtlX2Nhc2UgdG8gY2FtZWxDYXNlXG4gICAgICAgIHRvQ2FtZWxDYXNlKGtleSksXG4gICAgICAgIHZhbHVlLmxlbmd0aCA9PT0gMSA/IHZhbHVlWzBdLnZhbHVlIDogdmFsdWUubWFwKHYgPT4gdi52YWx1ZSksXG4gICAgICBdKSxcbiAgICApLFxuICB9O1xufTtcblxuLy8gVGhlc2UgYXJlIGp1c3Qgc2FtcGxlIHJlc3BvbnNlcyBmb3IgdGhlIHNha2Ugb2YgdGVzdGluZy5cbi8vIEFzIHdlIHN0YXJ0IHRvIGJ1aWxkIHRoZSBhY3R1YWwgd2lkZ2V0cyB3ZSBzaG91bGQgZGV0ZXJtaW5lIHdoYXQgdGhlIGFjdHVhbFxuLy8gdmFsdWVzIGFuZCB0aGVpciBuYW1lcyBzaG91bGQgYmUuXG5jb25zdCBNT0NLX0hBUkRDT1BZX1JFU1BPTlNFOiBQYXJ0aWFsPFJlY29yZDxXaWRnZXRUeXBlVjMsIEhhcmRjb3B5UmVzcG9uc2U+PiA9IHtcbiAgW1dpZGdldFR5cGVWMy5Qcm9tcHRDYXJvdXNlbFYzXToge1xuICAgIHJlc3BvbnNlSWQ6IHV1aWQoKSxcbiAgICBsYW5ndWFnZTogJ2VuJyxcbiAgICB2YWx1ZXM6IHtcbiAgICAgIHByb21wdEJ1dHRvblRleHRzOiBbXG4gICAgICAgICdXaGF0IGFyZSB5b3VyIGJlc3Qgc2VsbGVycz8nLFxuICAgICAgICAnU2hvdyBtZSBzdW1tZXIgZHJlc3NlcycsXG4gICAgICAgICdEbyB5b3UgaGF2ZSBmcmVlIHNoaXBwaW5nPycsXG4gICAgICAgICdXaGF0IHNpemVzIGFyZSBhdmFpbGFibGU/JyxcbiAgICAgICAgJ0NhbiBJIHJldHVybiBpdGVtcz8nLFxuICAgICAgXSxcbiAgICB9LFxuICB9LFxuICBbV2lkZ2V0VHlwZVYzLlRpdGxlZFByb21wdENhcm91c2VsVjNdOiB7XG4gICAgcmVzcG9uc2VJZDogJ21vY2stcmVzcG9uc2UtaWQnLFxuICAgIGxhbmd1YWdlOiAnZW4nLFxuICAgIHZhbHVlczoge1xuICAgICAgdGl0bGVMYWJlbDogJ05lZWQgc29tZSBoZWxwPycsXG4gICAgICBwcm9tcHRCdXR0b25UZXh0czogW1xuICAgICAgICAnV2hhdCBhcmUgeW91ciBiZXN0IHNlbGxlcnM/JyxcbiAgICAgICAgJ1Nob3cgbWUgc3VtbWVyIGRyZXNzZXMnLFxuICAgICAgICAnRG8geW91IGhhdmUgZnJlZSBzaGlwcGluZz8nLFxuICAgICAgICAnV2hhdCBzaXplcyBhcmUgYXZhaWxhYmxlPycsXG4gICAgICAgICdDYW4gSSByZXR1cm4gaXRlbXM/JyxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSxcbiAgW1dpZGdldFR5cGVWMy5Tb2NpYWxQcm9vZlYzXToge1xuICAgIHJlc3BvbnNlSWQ6ICdtb2NrLXJlc3BvbnNlLWlkJyxcbiAgICBsYW5ndWFnZTogJ2VuJyxcbiAgICB2YWx1ZXM6IHtcbiAgICAgIHRpdGxlTGFiZWw6ICdTaG9wcGluZyBBc3Npc3RhbnQnLFxuICAgICAgbnVtYmVyT2ZDdXN0b21lcnNUZXh0OiAnMTIzIGN1c3RvbWVycycsXG4gICAgICBjdXN0b21lclF1ZXJ5VGV4dDogJ2ZvdW5kIHdoYXQgdGhleSB3ZXJlIGxvb2tpbmcgZm9yLi4uJyxcbiAgICAgIHByaW1hcnlCdXR0b25UZXh0OiAnU3RhcnQgc2hvcHBpbmcnLFxuICAgICAgc2Vjb25kYXJ5QnV0dG9uVGl0bGVUZXh0OiAnUG9wdWxhciBzZWFyY2hlcycsXG4gICAgICBzZWNvbmRhcnlCdXR0b25UZXh0czogW1xuICAgICAgICAnV2h5IHNob3VsZCBJIGJ1eSBmcm9tIHlvdT8nLFxuICAgICAgICAnSG93IGRvIEkgcmV0dXJuIGFuIGl0ZW0/JyxcbiAgICAgICAgJ05ldyBhcnJpdmFscycsXG4gICAgICAgICdTYWxlIGl0ZW1zJyxcbiAgICAgICAgJ1BvcHVsYXIgaXRlbXMnLFxuICAgICAgXSxcbiAgICAgIHRleHRGaWVsZFBsYWNlaG9sZGVyVGV4dDogJ0FzayBtZSBhbnl0aGluZy4uLicsXG4gICAgfSxcbiAgfSxcbiAgW1dpZGdldFR5cGVWMy5UeXBpbmdBbmltYXRpb25WM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICB0aXRsZUxhYmVsOiAnU2hvcHBpbmcgQXNzaXN0YW50JyxcbiAgICAgIGhlYWRsaW5lVGV4dDogJ05lZWQgaGVscCBmaW5kaW5nJyxcbiAgICAgIGFuaW1hdGVkVGV4dFNlcXVlbmNlOiBbXG4gICAgICAgICd0aGUgcGVyZmVjdCBnaWZ0IGZvciB5b3VyIGxvdmVkIG9uZXM/JyxcbiAgICAgICAgJ3NvbWV0aGluZyBzcGVjaWFsIGZvciB0aGUgaG9saWRheXM/JyxcbiAgICAgICAgJ3RoZSBpZGVhbCBwcmVzZW50IGZvciBzb21lb25lIHNwZWNpYWw/JyxcbiAgICAgIF0sXG4gICAgICBoaW50VGV4dDogJ0FzayBtZSBhbnl0aGluZycsXG4gICAgICBwcm9tcHRCdXR0b25UZXh0czogW1xuICAgICAgICAnV2hhdCBhcmUgeW91ciBiZXN0IHNlbGxlcnM/JyxcbiAgICAgICAgJ1Nob3cgbWUgc3VtbWVyIGRyZXNzZXMnLFxuICAgICAgICAnRG8geW91IGhhdmUgZnJlZSBzaGlwcGluZz8nLFxuICAgICAgICAnV2hhdCBzaXplcyBhcmUgYXZhaWxhYmxlPycsXG4gICAgICBdLFxuICAgICAgdGV4dEZpZWxkQXJpYUxhYmVsOiAnQXNrIG1lIGFueXRoaW5nJyxcbiAgICB9LFxuICB9LFxuICBbV2lkZ2V0VHlwZVYzLkNoYXRQcmV2aWV3Q29tcGFyaXNvblYzXToge1xuICAgIHJlc3BvbnNlSWQ6ICdtb2NrLXJlc3BvbnNlLWlkJyxcbiAgICBsYW5ndWFnZTogJ2VuJyxcbiAgICB2YWx1ZXM6IHtcbiAgICAgIHRpdGxlTGFiZWw6ICdTaG9wcGluZyBBc3Npc3RhbnQnLFxuICAgICAgaGVhZGxpbmVUZXh0OiAnTmVlZCBoZWxwIGNvbXBhcmluZz8nLFxuICAgICAgdGV4dEZpZWxkUGxhY2Vob2xkZXJUZXh0OiAnQXNrIG1lIGFueXRoaW5nLi4uJyxcbiAgICB9LFxuICB9LFxuICBbV2lkZ2V0VHlwZVYzLkNoYXRQcmV2aWV3TG9hZGluZ1YzXToge1xuICAgIHJlc3BvbnNlSWQ6ICdtb2NrLXJlc3BvbnNlLWlkJyxcbiAgICBsYW5ndWFnZTogJ2VuJyxcbiAgICB2YWx1ZXM6IHtcbiAgICAgIHRpdGxlTGFiZWw6ICdTaG9wcGluZyBBc3Npc3RhbnQnLFxuICAgICAgdGV4dEZpZWxkUGxhY2Vob2xkZXJUZXh0OiAnQXNrIG1lIGFueXRoaW5nLi4uJyxcbiAgICB9LFxuICB9LFxuICBbV2lkZ2V0VHlwZVYzLkNoYXRQcmV2aWV3VjNdOiB7XG4gICAgcmVzcG9uc2VJZDogJ21vY2stcmVzcG9uc2UtaWQnLFxuICAgIGxhbmd1YWdlOiAnZW4nLFxuICAgIHZhbHVlczoge1xuICAgICAgdGl0bGVMYWJlbDogJ1Nob3BwaW5nIEFzc2lzdGFudCcsXG4gICAgICB0ZXh0RmllbGRQbGFjZWhvbGRlclRleHQ6ICdBc2sgbWUgYW55dGhpbmcuLi4nLFxuICAgIH0sXG4gIH0sXG4gIFtXaWRnZXRUeXBlVjMuUHJvbXB0QnV0dG9uQ2Fyb3VzZWxXaXRoSW1hZ2VWM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICB0aXRsZUxhYmVsOiAnTmVlZCBzb21lIGhlbHA/JyxcbiAgICAgIHByb21wdEJ1dHRvbnNUZXh0czogWydIZWxwIG1lIGZpbmQgYSBwcm9kdWN0JywgXCJXaGF0J3Mgb24geW91ciBtaW5kP1wiLCAnVGFsayB0byBhIGh1bWFuJ10sXG4gICAgICB0ZXh0RmllbGRQbGFjZWhvbGRlclRleHQ6ICdBc2sgbWUgYW55dGhpbmcuLi4nLFxuICAgIH0sXG4gIH0sXG4gIFtXaWRnZXRUeXBlVjMuUHJvZHVjdENhcmRWM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICBoZWFkbGluZTogJ0Rpc2NvdmVyIFlvdXIgUGVyZmVjdCBTdHlsZScsXG4gICAgICBhbmltYXRlZFRleHQ6IFtcbiAgICAgICAgJ3RoZSBwZXJmZWN0IG91dGZpdCBmb3IgYW55IG9jY2FzaW9uJyxcbiAgICAgICAgJ3RyZW5kaW5nIGZhc2hpb24gdGhhdCBmaXRzIHlvdXIgbGlmZXN0eWxlJyxcbiAgICAgICAgJ3F1YWxpdHkgcGllY2VzIHRoYXQgbGFzdCcsXG4gICAgICBdLFxuICAgICAgcHJvbXB0czogW1xuICAgICAgICAnV2hhdCBhcmUgeW91ciBiZXN0IHNlbGxlcnM/JyxcbiAgICAgICAgJ1Nob3cgbWUgc3VtbWVyIGRyZXNzZXMnLFxuICAgICAgICAnRG8geW91IGhhdmUgZnJlZSBzaGlwcGluZz8nLFxuICAgICAgICAnV2hhdCBzaXplcyBhcmUgYXZhaWxhYmxlPycsXG4gICAgICAgICdDYW4gSSByZXR1cm4gaXRlbXM/JyxcbiAgICAgIF0sXG4gICAgICBwbGFjZWhvbGRlcjogJ0FzayBtZSBhbnl0aGluZy4uLicsXG4gICAgfSxcbiAgfSxcbiAgW1dpZGdldFR5cGVWMy5GbG9hdGluZ0NoYXRWM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICB3ZWxjb21lTWVzc2FnZVRpdGxlOiAnV2VsY29tZSB0byBFbnZpdmUgQUknLFxuICAgICAgd2VsY29tZU1lc3NhZ2VUZXh0OlxuICAgICAgICAnWW91ciBwZXJzb25hbCBzaG9wcGVyIHRyYWluZWQgb24gdGhlIGNvbGxlY3RpdmUga25vd2xlZGdlIG9mIHRob3VzYW5kcyBvZiByZWFsIGV4cGVydHMhJyxcbiAgICAgIGNoYXRGb290ZXJUZXh0RmllbGRQbGFjZWhvbGRlclRleHQ6ICdBc2sgbWUgYW55dGhpbmcuLi4nLFxuICAgICAgZGlzY2xhaW1lclRleHQ6ICdUaGlzIGlzIGEgZGlzY2xhaW1lci4uLicsXG4gICAgfSxcbiAgfSxcbiAgW1dpZGdldFR5cGVWMy5GdWxsUGFnZVNhbGVzQWdlbnRWM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICB3ZWxjb21lTWVzc2FnZVRpdGxlOiAnV2VsY29tZSB0byBFbnZpdmUgQUknLFxuICAgICAgd2VsY29tZU1lc3NhZ2VUZXh0OlxuICAgICAgICAnWW91ciBwZXJzb25hbCBzaG9wcGVyIHRyYWluZWQgb24gdGhlIGNvbGxlY3RpdmUga25vd2xlZGdlIG9mIHRob3VzYW5kcyBvZiByZWFsIGV4cGVydHMhJyxcbiAgICAgIGNoYXRGb290ZXJUZXh0RmllbGRQbGFjZWhvbGRlclRleHQ6ICdBc2sgbWUgYW55dGhpbmcuLi4nLFxuICAgICAgZGlzY2xhaW1lclRleHQ6ICdUaGlzIGlzIGEgZGlzY2xhaW1lci4uLicsXG4gICAgfSxcbiAgfSxcbn07XG5cbmNvbnN0IEhhcmRjb3B5Q29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8SGFyZGNvcHlDb250ZXh0VHlwZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuaW50ZXJmYWNlIEhhcmRjb3B5UHJvdmlkZXJQcm9wcyB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGhhcmRjb3B5T3ZlcnJpZGU/OiBQYXJ0aWFsPFJlY29yZDxXaWRnZXRUeXBlVjMsIEhhcmRjb3B5UmVzcG9uc2U+Pjtcbn1cblxuZXhwb3J0IGNvbnN0IEhhcmRjb3B5UHJvdmlkZXI6IFJlYWN0LkZDPEhhcmRjb3B5UHJvdmlkZXJQcm9wcz4gPSAoe1xuICBjaGlsZHJlbixcbiAgaGFyZGNvcHlPdmVycmlkZSxcbn0pID0+IHtcbiAgY29uc3QgbGFuZ3VhZ2VzID0gdXNlTWVtbygoKSA9PiBuYXZpZ2F0b3IubGFuZ3VhZ2VzLCBbXSk7XG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VBdG9tVmFsdWUoYXBwRGV0YWlsc0F0b20pO1xuICBjb25zdCB7IHRyYWNrRXZlbnQgfSA9IHVzZUFtcGxpdHVkZSgpO1xuXG4gIGNvbnN0IHsgZmVhdHVyZUZsYWdTZXJ2aWNlIH0gPSB1c2VGZWF0dXJlRmxhZ1NlcnZpY2UoKTtcbiAgY29uc3QgZ2V0SGFyZGNvcHlGcm9tQmFja2VuZCA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChyZXF1ZXN0OiBIYXJkY29weVJlcXVlc3QpOiBQcm9taXNlPEhhcmRjb3B5UmVzcG9uc2U+ID0+IHtcbiAgICAgIGlmIChoYXJkY29weU92ZXJyaWRlPy5bcmVxdWVzdC53aWRnZXRUeXBlXSkge1xuICAgICAgICBMb2dnZXIubG9nSW5mbygnaGFyZGNvcHlDb250ZXh0IHwgdXNpbmcgaGFyZGNvcHkgb3ZlcnJpZGUnLCByZXF1ZXN0LndpZGdldFR5cGUpO1xuICAgICAgICByZXR1cm4gaGFyZGNvcHlPdmVycmlkZVtyZXF1ZXN0LndpZGdldFR5cGVdITtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG92ZXJyaWRlQ29uZmlnVmVyc2lvbiA9XG4gICAgICAgIGdldFF1ZXJ5UGFyYW0oJ3NwaWZmeV9jb25maWdfdmVyc2lvbicpIHx8XG4gICAgICAgIGdldFF1ZXJ5UGFyYW0oJ2Vudml2ZV9jb25maWdfdmVyc2lvbicpIHx8XG4gICAgICAgIHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IHdpZGdldFRleHRSZXF1ZXN0OiBXaWRnZXRUZXh0UmVxdWVzdCA9IHtcbiAgICAgICAgcmVxdWVzdElkOiB1dWlkKCksXG4gICAgICAgIHdpZGdldFR5cGU6IHJlcXVlc3Qud2lkZ2V0VHlwZSxcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgZmVhdHVyZUZsYWdzOiBmZWF0dXJlRmxhZ1NlcnZpY2U/LmdldEZlYXR1cmVGbGFncygpIHx8IHt9LFxuICAgICAgICBsYW5ndWFnZTogbGFuZ3VhZ2VzWzBdIHx8ICdlbicsXG4gICAgICAgIG92ZXJyaWRlQ29uZmlnVmVyc2lvbixcbiAgICAgICAgdXJsOiB3aW5kb3cubG9jYXRpb24uaHJlZixcbiAgICAgIH07XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldFRleHRSZXF1ZXN0LFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgd2lkZ2V0X3R5cGU6IHJlcXVlc3Qud2lkZ2V0VHlwZSxcbiAgICAgICAgICByZXF1ZXN0X2lkOiB3aWRnZXRUZXh0UmVxdWVzdC5yZXF1ZXN0SWQsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQuZ2V0SGFyZGNvcHkod2lkZ2V0VGV4dFJlcXVlc3QpO1xuICAgICAgICBpZiAocmVzcG9uc2UpIHtcbiAgICAgICAgICBjb25zdCBjb252ZXJ0ZWRSZXNwb25zZSA9IGNvbnZlcnRUb0hhcmRjb3B5UmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgICAgIExvZ2dlci5sb2dJbmZvKCdoYXJkY29weUNvbnRleHQgfCBjb252ZXJ0ZWQgcmVzcG9uc2UnLCBjb252ZXJ0ZWRSZXNwb25zZSk7XG4gICAgICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0VGV4dFJlc3BvbnNlLFxuICAgICAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgICAgICB3aWRnZXRfdHlwZTogcmVxdWVzdC53aWRnZXRUeXBlLFxuICAgICAgICAgICAgICByZXNwb25zZV9pZDogcmVzcG9uc2UucmVzcG9uc2VJZCxcbiAgICAgICAgICAgICAgd2lkZ2V0X3RleHQ6IHJlc3BvbnNlLnZhbHVlcyxcbiAgICAgICAgICAgICAgcmVxdWVzdF9pZDogd2lkZ2V0VGV4dFJlcXVlc3QucmVxdWVzdElkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gY29udmVydGVkUmVzcG9uc2U7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIExvZ2dlci5sb2dFcnJvcignaGFyZGNvcHlDb250ZXh0IHwgZXJyb3IgZ2V0dGluZyBoYXJkY29weSBmcm9tIGJhY2tlbmQnLCBlcnJvcik7XG4gICAgICB9XG4gICAgICBjb25zdCBtb2NrUmVzcG9uc2UgPSBNT0NLX0hBUkRDT1BZX1JFU1BPTlNFW3JlcXVlc3Qud2lkZ2V0VHlwZV07XG4gICAgICBpZiAobW9ja1Jlc3BvbnNlKSB7XG4gICAgICAgIExvZ2dlci5sb2dJbmZvKCdoYXJkY29weUNvbnRleHQgfCBubyByZWFsIHJlc3BvbnNlLCB1c2luZyBtb2NrJywgbW9ja1Jlc3BvbnNlKTtcbiAgICAgICAgcmV0dXJuIG1vY2tSZXNwb25zZTtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gaGFyZGNvcHkgcmVzcG9uc2UgZm91bmQgZm9yIHdpZGdldCB0eXBlOiAke3JlcXVlc3Qud2lkZ2V0VHlwZX1gKTtcbiAgICB9LFxuICAgIFtjb250ZXh0LCBmZWF0dXJlRmxhZ1NlcnZpY2UsIGhhcmRjb3B5T3ZlcnJpZGUsIGxhbmd1YWdlcywgdHJhY2tFdmVudF0sXG4gICk7XG5cbiAgY29uc3QgZ2V0SGFyZGNvcHkgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocmVxdWVzdDogSGFyZGNvcHlSZXF1ZXN0KTogUHJvbWlzZTxIYXJkY29weVJlc3BvbnNlPiA9PiB7XG4gICAgICBzZXRJc0xvYWRpbmcodHJ1ZSk7XG4gICAgICBMb2dnZXIubG9nSW5mbygnaGFyZGNvcHlDb250ZXh0IHwgcmV0cmlldmluZyBoYXJkY29weScsIGxhbmd1YWdlcyk7XG5cbiAgICAgIExvZ2dlci5sb2dJbmZvKCdoYXJkY29weUNvbnRleHQgfCByZXF1ZXN0JywgcmVxdWVzdCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldEhhcmRjb3B5RnJvbUJhY2tlbmQocmVxdWVzdCk7XG4gICAgICBMb2dnZXIubG9nSW5mbygnaGFyZGNvcHlDb250ZXh0IHwgcmV0dXJuaW5nIGhhcmRjb3B5IHJlc3BvbnNlJywgcmVzcG9uc2UpO1xuICAgICAgaWYgKCFyZXNwb25zZSkge1xuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGhhcmRjb3B5IHJlc3BvbnNlIGZvdW5kIGZvciB3aWRnZXQgdHlwZTogJHtyZXF1ZXN0LndpZGdldFR5cGV9YCk7XG4gICAgICB9XG4gICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH0sXG4gICAgW2dldEhhcmRjb3B5RnJvbUJhY2tlbmQsIGxhbmd1YWdlc10sXG4gICk7XG5cbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKCgpID0+ICh7IGdldEhhcmRjb3B5LCBpc0xvYWRpbmcgfSksIFtnZXRIYXJkY29weSwgaXNMb2FkaW5nXSk7XG5cbiAgcmV0dXJuIDxIYXJkY29weUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT57Y2hpbGRyZW59PC9IYXJkY29weUNvbnRleHQuUHJvdmlkZXI+O1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZUhhcmRjb3B5ID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChIYXJkY29weUNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZUhhcmRjb3B5IG11c3QgYmUgdXNlZCB3aXRoaW4gYSBIYXJkY29weVByb3ZpZGVyJyk7XG4gIH1cbiAgcmV0dXJuIGNvbnRleHQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrQ0EsTUFBTSw2QkFBNkIsYUFBMkM7QUFDNUUsUUFBTztFQUNMLFlBQVksU0FBUztFQUNyQixVQUFVLFNBQVM7RUFDbkIsV0FBVyxTQUFTO0VBQ3BCLFFBQVEsT0FBTyxZQUNiLE9BQU8sUUFBUSxTQUFTLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxXQUFXLENBRXBELFlBQVksSUFBSSxFQUNoQixNQUFNLFdBQVcsSUFBSSxNQUFNLEdBQUcsUUFBUSxNQUFNLEtBQUksTUFBSyxFQUFFLE1BQU0sQ0FDOUQsQ0FBQyxDQUNIO0VBQ0Y7O0FBTUgsTUFBTUEseUJBQTBFO0VBQzdFLGFBQWEsbUJBQW1CO0VBQy9CLFlBQVlDLElBQU07RUFDbEIsVUFBVTtFQUNWLFFBQVEsRUFDTixtQkFBbUI7R0FDakI7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNELEVBQ0Y7RUFDRjtFQUNBLGFBQWEseUJBQXlCO0VBQ3JDLFlBQVk7RUFDWixVQUFVO0VBQ1YsUUFBUTtHQUNOLFlBQVk7R0FDWixtQkFBbUI7SUFDakI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNEO0dBQ0Y7RUFDRjtFQUNBLGFBQWEsZ0JBQWdCO0VBQzVCLFlBQVk7RUFDWixVQUFVO0VBQ1YsUUFBUTtHQUNOLFlBQVk7R0FDWix1QkFBdUI7R0FDdkIsbUJBQW1CO0dBQ25CLG1CQUFtQjtHQUNuQiwwQkFBMEI7R0FDMUIsc0JBQXNCO0lBQ3BCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDRDtHQUNELDBCQUEwQjtHQUMzQjtFQUNGO0VBQ0EsYUFBYSxvQkFBb0I7RUFDaEMsWUFBWTtFQUNaLFVBQVU7RUFDVixRQUFRO0dBQ04sWUFBWTtHQUNaLGNBQWM7R0FDZCxzQkFBc0I7SUFDcEI7SUFDQTtJ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
265
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFyZGNvcHlDb250ZXh0LmpzIiwibmFtZXMiOlsiTU9DS19IQVJEQ09QWV9SRVNQT05TRTogUGFydGlhbDxSZWNvcmQ8V2lkZ2V0VHlwZVYzLCBIYXJkY29weVJlc3BvbnNlPj4iLCJ1dWlkIiwiSGFyZGNvcHlQcm92aWRlcjogUmVhY3QuRkM8SGFyZGNvcHlQcm92aWRlclByb3BzPiIsIndpZGdldFRleHRSZXF1ZXN0OiBXaWRnZXRUZXh0UmVxdWVzdCIsIkNvbW1lcmNlQXBpQ2xpZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL2hhcmRjb3B5Q29udGV4dC9oYXJkY29weUNvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWN0Tm9kZSwgY3JlYXRlQ29udGV4dCwgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IENvbW1lcmNlQXBpQ2xpZW50IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9jb21tZXJjZS1hcGknO1xuaW1wb3J0IHsgV2lkZ2V0U3RyaW5nLCBXaWRnZXRUZXh0IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvd2lkZ2V0VGV4dCc7XG5pbXBvcnQgeyBXaWRnZXRUZXh0UmVxdWVzdCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3dpZGdldFRleHRSZXF1ZXN0JztcblxuaW1wb3J0IHsgdXNlQXRvbVZhbHVlIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgYXBwRGV0YWlsc0F0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwJztcbmltcG9ydCB7IEVudml2ZU1ldHJpY3NFdmVudE5hbWUgfSBmcm9tICdzcmMvc2VydmljZXMvYW1wbGl0dWRlU2VydmljZS9hbXBsaXR1ZGVTZXJ2aWNlJztcbmltcG9ydCB7IHRvQ2FtZWxDYXNlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlscy9zbmFrZVRvQ2FtZWxUcmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBVc2VyRXZlbnQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7IGdldFF1ZXJ5UGFyYW0gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vdXRpbHMnO1xuaW1wb3J0IHsgV2lkZ2V0VHlwZVYzIH0gZnJvbSAnLi4vdHlwZXNWMyc7XG5pbXBvcnQgeyB1c2VGZWF0dXJlRmxhZ1NlcnZpY2UgfSBmcm9tICcuLi9mZWF0dXJlRmxhZ1NlcnZpY2VDb250ZXh0L2ZlYXR1cmVGbGFnU2VydmljZUNvbnRleHQnO1xuaW1wb3J0IHsgdXNlQW1wbGl0dWRlIH0gZnJvbSAnLi4vYW1wbGl0dWRlQ29udGV4dCc7XG5cbmludGVyZmFjZSBIYXJkY29weVJlcXVlc3Qge1xuICB3aWRnZXRUeXBlOiBXaWRnZXRUeXBlVjM7XG4gIHVzZXJFdmVudDogVXNlckV2ZW50O1xufVxuXG5leHBvcnQgdHlwZSBIYXJkY29weVJlc3BvbnNlID0ge1xuICByZXNwb25zZUlkOiBzdHJpbmc7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIHJhd1ZhbHVlcz86IFJlY29yZDxzdHJpbmcsIFdpZGdldFN0cmluZyB8IFdpZGdldFN0cmluZ1tdPjtcbiAgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBzdHJpbmdbXT47XG59O1xuXG5pbnRlcmZhY2UgSGFyZGNvcHlDb250ZXh0VHlwZSB7XG4gIGdldEhhcmRjb3B5OiAoSGFyZGNvcHlSZXF1ZXN0OiBIYXJkY29weVJlcXVlc3QpID0+IFByb21pc2U8SGFyZGNvcHlSZXNwb25zZT47XG4gIGlzTG9hZGluZzogYm9vbGVhbjtcbn1cblxuY29uc3QgY29udmVydFRvSGFyZGNvcHlSZXNwb25zZSA9IChyZXNwb25zZTogV2lkZ2V0VGV4dCk6IEhhcmRjb3B5UmVzcG9uc2UgPT4ge1xuICByZXR1cm4ge1xuICAgIHJlc3BvbnNlSWQ6IHJlc3BvbnNlLnJlc3BvbnNlSWQsXG4gICAgbGFuZ3VhZ2U6IHJlc3BvbnNlLmxhbmd1YWdlLFxuICAgIHJhd1ZhbHVlczogcmVzcG9uc2UudmFsdWVzLFxuICAgIHZhbHVlczogT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgT2JqZWN0LmVudHJpZXMocmVzcG9uc2UudmFsdWVzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gW1xuICAgICAgICAvLyBUcmFuc2Zvcm0gdGhlIGtleSBmcm9tIHNuYWtlX2Nhc2UgdG8gY2FtZWxDYXNlXG4gICAgICAgIHRvQ2FtZWxDYXNlKGtleSksXG4gICAgICAgIHZhbHVlLmxlbmd0aCA9PT0gMSA/IHZhbHVlWzBdLnZhbHVlIDogdmFsdWUubWFwKHYgPT4gdi52YWx1ZSksXG4gICAgICBdKSxcbiAgICApLFxuICB9O1xufTtcblxuLy8gVGhlc2UgYXJlIGp1c3Qgc2FtcGxlIHJlc3BvbnNlcyBmb3IgdGhlIHNha2Ugb2YgdGVzdGluZy5cbi8vIEFzIHdlIHN0YXJ0IHRvIGJ1aWxkIHRoZSBhY3R1YWwgd2lkZ2V0cyB3ZSBzaG91bGQgZGV0ZXJtaW5lIHdoYXQgdGhlIGFjdHVhbFxuLy8gdmFsdWVzIGFuZCB0aGVpciBuYW1lcyBzaG91bGQgYmUuXG5jb25zdCBNT0NLX0hBUkRDT1BZX1JFU1BPTlNFOiBQYXJ0aWFsPFJlY29yZDxXaWRnZXRUeXBlVjMsIEhhcmRjb3B5UmVzcG9uc2U+PiA9IHtcbiAgW1dpZGdldFR5cGVWMy5Qcm9tcHRDYXJvdXNlbFYzXToge1xuICAgIHJlc3BvbnNlSWQ6IHV1aWQoKSxcbiAgICBsYW5ndWFnZTogJ2VuJyxcbiAgICB2YWx1ZXM6IHtcbiAgICAgIHByb21wdEJ1dHRvblRleHRzOiBbXG4gICAgICAgICdXaGF0IGFyZSB5b3VyIGJlc3Qgc2VsbGVycz8nLFxuICAgICAgICAnU2hvdyBtZSBzdW1tZXIgZHJlc3NlcycsXG4gICAgICAgICdEbyB5b3UgaGF2ZSBmcmVlIHNoaXBwaW5nPycsXG4gICAgICAgICdXaGF0IHNpemVzIGFyZSBhdmFpbGFibGU/JyxcbiAgICAgICAgJ0NhbiBJIHJldHVybiBpdGVtcz8nLFxuICAgICAgXSxcbiAgICB9LFxuICB9LFxuICBbV2lkZ2V0VHlwZVYzLlRpdGxlZFByb21wdENhcm91c2VsVjNdOiB7XG4gICAgcmVzcG9uc2VJZDogJ21vY2stcmVzcG9uc2UtaWQnLFxuICAgIGxhbmd1YWdlOiAnZW4nLFxuICAgIHZhbHVlczoge1xuICAgICAgdGl0bGVMYWJlbDogJ05lZWQgc29tZSBoZWxwPycsXG4gICAgICBwcm9tcHRCdXR0b25UZXh0czogW1xuICAgICAgICAnV2hhdCBhcmUgeW91ciBiZXN0IHNlbGxlcnM/JyxcbiAgICAgICAgJ1Nob3cgbWUgc3VtbWVyIGRyZXNzZXMnLFxuICAgICAgICAnRG8geW91IGhhdmUgZnJlZSBzaGlwcGluZz8nLFxuICAgICAgICAnV2hhdCBzaXplcyBhcmUgYXZhaWxhYmxlPycsXG4gICAgICAgICdDYW4gSSByZXR1cm4gaXRlbXM/JyxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSxcbiAgW1dpZGdldFR5cGVWMy5Tb2NpYWxQcm9vZlYzXToge1xuICAgIHJlc3BvbnNlSWQ6ICdtb2NrLXJlc3BvbnNlLWlkJyxcbiAgICBsYW5ndWFnZTogJ2VuJyxcbiAgICB2YWx1ZXM6IHtcbiAgICAgIHRpdGxlTGFiZWw6ICdTaG9wcGluZyBBc3Npc3RhbnQnLFxuICAgICAgbnVtYmVyT2ZDdXN0b21lcnNUZXh0OiAnMTIzIGN1c3RvbWVycycsXG4gICAgICBjdXN0b21lclF1ZXJ5VGV4dDogJ2ZvdW5kIHdoYXQgdGhleSB3ZXJlIGxvb2tpbmcgZm9yLi4uJyxcbiAgICAgIHByaW1hcnlCdXR0b25UZXh0OiAnU3RhcnQgc2hvcHBpbmcnLFxuICAgICAgc2Vjb25kYXJ5QnV0dG9uVGl0bGVUZXh0OiAnUG9wdWxhciBzZWFyY2hlcycsXG4gICAgICBzZWNvbmRhcnlCdXR0b25UZXh0czogW1xuICAgICAgICAnV2h5IHNob3VsZCBJIGJ1eSBmcm9tIHlvdT8nLFxuICAgICAgICAnSG93IGRvIEkgcmV0dXJuIGFuIGl0ZW0/JyxcbiAgICAgICAgJ05ldyBhcnJpdmFscycsXG4gICAgICAgICdTYWxlIGl0ZW1zJyxcbiAgICAgICAgJ1BvcHVsYXIgaXRlbXMnLFxuICAgICAgXSxcbiAgICAgIHRleHRGaWVsZFBsYWNlaG9sZGVyVGV4dDogJ0FzayBtZSBhbnl0aGluZy4uLicsXG4gICAgfSxcbiAgfSxcbiAgW1dpZGdldFR5cGVWMy5UeXBpbmdBbmltYXRpb25WM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICB0aXRsZUxhYmVsOiAnU2hvcHBpbmcgQXNzaXN0YW50JyxcbiAgICAgIGhlYWRsaW5lVGV4dDogJ05lZWQgaGVscCBmaW5kaW5nJyxcbiAgICAgIGFuaW1hdGVkVGV4dFNlcXVlbmNlOiBbXG4gICAgICAgICd0aGUgcGVyZmVjdCBnaWZ0IGZvciB5b3VyIGxvdmVkIG9uZXM/JyxcbiAgICAgICAgJ3NvbWV0aGluZyBzcGVjaWFsIGZvciB0aGUgaG9saWRheXM/JyxcbiAgICAgICAgJ3RoZSBpZGVhbCBwcmVzZW50IGZvciBzb21lb25lIHNwZWNpYWw/JyxcbiAgICAgIF0sXG4gICAgICBoaW50VGV4dDogJ0FzayBtZSBhbnl0aGluZycsXG4gICAgICBwcm9tcHRCdXR0b25UZXh0czogW1xuICAgICAgICAnV2hhdCBhcmUgeW91ciBiZXN0IHNlbGxlcnM/JyxcbiAgICAgICAgJ1Nob3cgbWUgc3VtbWVyIGRyZXNzZXMnLFxuICAgICAgICAnRG8geW91IGhhdmUgZnJlZSBzaGlwcGluZz8nLFxuICAgICAgICAnV2hhdCBzaXplcyBhcmUgYXZhaWxhYmxlPycsXG4gICAgICBdLFxuICAgICAgdGV4dEZpZWxkQXJpYUxhYmVsOiAnQXNrIG1lIGFueXRoaW5nJyxcbiAgICB9LFxuICB9LFxuICBbV2lkZ2V0VHlwZVYzLkNoYXRQcmV2aWV3Q29tcGFyaXNvblYzXToge1xuICAgIHJlc3BvbnNlSWQ6ICdtb2NrLXJlc3BvbnNlLWlkJyxcbiAgICBsYW5ndWFnZTogJ2VuJyxcbiAgICB2YWx1ZXM6IHtcbiAgICAgIHRpdGxlTGFiZWw6ICdTaG9wcGluZyBBc3Npc3RhbnQnLFxuICAgICAgaGVhZGxpbmVUZXh0OiAnTmVlZCBoZWxwIGNvbXBhcmluZz8nLFxuICAgICAgdGV4dEZpZWxkUGxhY2Vob2xkZXJUZXh0OiAnQXNrIG1lIGFueXRoaW5nLi4uJyxcbiAgICB9LFxuICB9LFxuICBbV2lkZ2V0VHlwZVYzLkNoYXRQcmV2aWV3TG9hZGluZ1YzXToge1xuICAgIHJlc3BvbnNlSWQ6ICdtb2NrLXJlc3BvbnNlLWlkJyxcbiAgICBsYW5ndWFnZTogJ2VuJyxcbiAgICB2YWx1ZXM6IHtcbiAgICAgIHRpdGxlTGFiZWw6ICdTaG9wcGluZyBBc3Npc3RhbnQnLFxuICAgICAgdGV4dEZpZWxkUGxhY2Vob2xkZXJUZXh0OiAnQXNrIG1lIGFueXRoaW5nLi4uJyxcbiAgICB9LFxuICB9LFxuICBbV2lkZ2V0VHlwZVYzLkNoYXRQcmV2aWV3VjNdOiB7XG4gICAgcmVzcG9uc2VJZDogJ21vY2stcmVzcG9uc2UtaWQnLFxuICAgIGxhbmd1YWdlOiAnZW4nLFxuICAgIHZhbHVlczoge1xuICAgICAgdGl0bGVMYWJlbDogJ1Nob3BwaW5nIEFzc2lzdGFudCcsXG4gICAgICB0ZXh0RmllbGRQbGFjZWhvbGRlclRleHQ6ICdBc2sgbWUgYW55dGhpbmcuLi4nLFxuICAgIH0sXG4gIH0sXG4gIFtXaWRnZXRUeXBlVjMuUHJvbXB0QnV0dG9uQ2Fyb3VzZWxXaXRoSW1hZ2VWM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICB0aXRsZUxhYmVsOiAnTmVlZCBzb21lIGhlbHA/JyxcbiAgICAgIHByb21wdEJ1dHRvbnNUZXh0czogWydIZWxwIG1lIGZpbmQgYSBwcm9kdWN0JywgXCJXaGF0J3Mgb24geW91ciBtaW5kP1wiLCAnVGFsayB0byBhIGh1bWFuJ10sXG4gICAgICB0ZXh0RmllbGRQbGFjZWhvbGRlclRleHQ6ICdBc2sgbWUgYW55dGhpbmcuLi4nLFxuICAgIH0sXG4gIH0sXG4gIFtXaWRnZXRUeXBlVjMuUHJvZHVjdENhcmRWM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICBoZWFkbGluZTogJ0Rpc2NvdmVyIFlvdXIgUGVyZmVjdCBTdHlsZScsXG4gICAgICBhbmltYXRlZFRleHQ6IFtcbiAgICAgICAgJ3RoZSBwZXJmZWN0IG91dGZpdCBmb3IgYW55IG9jY2FzaW9uJyxcbiAgICAgICAgJ3RyZW5kaW5nIGZhc2hpb24gdGhhdCBmaXRzIHlvdXIgbGlmZXN0eWxlJyxcbiAgICAgICAgJ3F1YWxpdHkgcGllY2VzIHRoYXQgbGFzdCcsXG4gICAgICBdLFxuICAgICAgcHJvbXB0czogW1xuICAgICAgICAnV2hhdCBhcmUgeW91ciBiZXN0IHNlbGxlcnM/JyxcbiAgICAgICAgJ1Nob3cgbWUgc3VtbWVyIGRyZXNzZXMnLFxuICAgICAgICAnRG8geW91IGhhdmUgZnJlZSBzaGlwcGluZz8nLFxuICAgICAgICAnV2hhdCBzaXplcyBhcmUgYXZhaWxhYmxlPycsXG4gICAgICAgICdDYW4gSSByZXR1cm4gaXRlbXM/JyxcbiAgICAgIF0sXG4gICAgICBwbGFjZWhvbGRlcjogJ0FzayBtZSBhbnl0aGluZy4uLicsXG4gICAgfSxcbiAgfSxcbiAgW1dpZGdldFR5cGVWMy5GbG9hdGluZ0NoYXRWM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICB3ZWxjb21lTWVzc2FnZVRpdGxlOiAnV2VsY29tZSB0byBFbnZpdmUgQUknLFxuICAgICAgd2VsY29tZU1lc3NhZ2VUZXh0OlxuICAgICAgICAnWW91ciBwZXJzb25hbCBzaG9wcGVyIHRyYWluZWQgb24gdGhlIGNvbGxlY3RpdmUga25vd2xlZGdlIG9mIHRob3VzYW5kcyBvZiByZWFsIGV4cGVydHMhJyxcbiAgICAgIGNoYXRGb290ZXJUZXh0RmllbGRQbGFjZWhvbGRlclRleHQ6ICdBc2sgbWUgYW55dGhpbmcuLi4nLFxuICAgICAgZGlzY2xhaW1lclRleHQ6ICdUaGlzIGlzIGEgZGlzY2xhaW1lci4uLicsXG4gICAgICBsZWZ0VG9nZ2xlTGFiZWw6ICdTaG9wIHdpdGggQUknLFxuICAgICAgcmlnaHRUb2dnbGVMYWJlbDogJ0xpdmUgc3VwcG9ydCcsXG4gICAgfSxcbiAgfSxcbiAgW1dpZGdldFR5cGVWMy5GdWxsUGFnZVNhbGVzQWdlbnRWM106IHtcbiAgICByZXNwb25zZUlkOiAnbW9jay1yZXNwb25zZS1pZCcsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gICAgdmFsdWVzOiB7XG4gICAgICB3ZWxjb21lTWVzc2FnZVRpdGxlOiAnV2VsY29tZSB0byBFbnZpdmUgQUknLFxuICAgICAgd2VsY29tZU1lc3NhZ2VUZXh0OlxuICAgICAgICAnWW91ciBwZXJzb25hbCBzaG9wcGVyIHRyYWluZWQgb24gdGhlIGNvbGxlY3RpdmUga25vd2xlZGdlIG9mIHRob3VzYW5kcyBvZiByZWFsIGV4cGVydHMhJyxcbiAgICAgIGNoYXRGb290ZXJUZXh0RmllbGRQbGFjZWhvbGRlclRleHQ6ICdBc2sgbWUgYW55dGhpbmcuLi4nLFxuICAgICAgZGlzY2xhaW1lclRleHQ6ICdUaGlzIGlzIGEgZGlzY2xhaW1lci4uLicsXG4gICAgfSxcbiAgfSxcbn07XG5cbmNvbnN0IEhhcmRjb3B5Q29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8SGFyZGNvcHlDb250ZXh0VHlwZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuaW50ZXJmYWNlIEhhcmRjb3B5UHJvdmlkZXJQcm9wcyB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGhhcmRjb3B5T3ZlcnJpZGU/OiBQYXJ0aWFsPFJlY29yZDxXaWRnZXRUeXBlVjMsIEhhcmRjb3B5UmVzcG9uc2U+Pjtcbn1cblxuZXhwb3J0IGNvbnN0IEhhcmRjb3B5UHJvdmlkZXI6IFJlYWN0LkZDPEhhcmRjb3B5UHJvdmlkZXJQcm9wcz4gPSAoe1xuICBjaGlsZHJlbixcbiAgaGFyZGNvcHlPdmVycmlkZSxcbn0pID0+IHtcbiAgY29uc3QgbGFuZ3VhZ2VzID0gdXNlTWVtbygoKSA9PiBuYXZpZ2F0b3IubGFuZ3VhZ2VzLCBbXSk7XG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VBdG9tVmFsdWUoYXBwRGV0YWlsc0F0b20pO1xuICBjb25zdCB7IHRyYWNrRXZlbnQgfSA9IHVzZUFtcGxpdHVkZSgpO1xuXG4gIGNvbnN0IHsgZmVhdHVyZUZsYWdTZXJ2aWNlIH0gPSB1c2VGZWF0dXJlRmxhZ1NlcnZpY2UoKTtcbiAgY29uc3QgZ2V0SGFyZGNvcHlGcm9tQmFja2VuZCA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChyZXF1ZXN0OiBIYXJkY29weVJlcXVlc3QpOiBQcm9taXNlPEhhcmRjb3B5UmVzcG9uc2U+ID0+IHtcbiAgICAgIGlmIChoYXJkY29weU92ZXJyaWRlPy5bcmVxdWVzdC53aWRnZXRUeXBlXSkge1xuICAgICAgICBMb2dnZXIubG9nSW5mbygnaGFyZGNvcHlDb250ZXh0IHwgdXNpbmcgaGFyZGNvcHkgb3ZlcnJpZGUnLCByZXF1ZXN0LndpZGdldFR5cGUpO1xuICAgICAgICByZXR1cm4gaGFyZGNvcHlPdmVycmlkZVtyZXF1ZXN0LndpZGdldFR5cGVdITtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG92ZXJyaWRlQ29uZmlnVmVyc2lvbiA9XG4gICAgICAgIGdldFF1ZXJ5UGFyYW0oJ3NwaWZmeV9jb25maWdfdmVyc2lvbicpIHx8XG4gICAgICAgIGdldFF1ZXJ5UGFyYW0oJ2Vudml2ZV9jb25maWdfdmVyc2lvbicpIHx8XG4gICAgICAgIHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IHdpZGdldFRleHRSZXF1ZXN0OiBXaWRnZXRUZXh0UmVxdWVzdCA9IHtcbiAgICAgICAgcmVxdWVzdElkOiB1dWlkKCksXG4gICAgICAgIHdpZGdldFR5cGU6IHJlcXVlc3Qud2lkZ2V0VHlwZSxcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAgZmVhdHVyZUZsYWdzOiBmZWF0dXJlRmxhZ1NlcnZpY2U/LmdldEZlYXR1cmVGbGFncygpIHx8IHt9LFxuICAgICAgICBsYW5ndWFnZTogbGFuZ3VhZ2VzWzBdIHx8ICdlbicsXG4gICAgICAgIG92ZXJyaWRlQ29uZmlnVmVyc2lvbixcbiAgICAgICAgdXJsOiB3aW5kb3cubG9jYXRpb24uaHJlZixcbiAgICAgIH07XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldFRleHRSZXF1ZXN0LFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgd2lkZ2V0X3R5cGU6IHJlcXVlc3Qud2lkZ2V0VHlwZSxcbiAgICAgICAgICByZXF1ZXN0X2lkOiB3aWRnZXRUZXh0UmVxdWVzdC5yZXF1ZXN0SWQsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQuZ2V0SGFyZGNvcHkod2lkZ2V0VGV4dFJlcXVlc3QpO1xuICAgICAgICBpZiAocmVzcG9uc2UpIHtcbiAgICAgICAgICBjb25zdCBjb252ZXJ0ZWRSZXNwb25zZSA9IGNvbnZlcnRUb0hhcmRjb3B5UmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgICAgIExvZ2dlci5sb2dJbmZvKCdoYXJkY29weUNvbnRleHQgfCBjb252ZXJ0ZWQgcmVzcG9uc2UnLCBjb252ZXJ0ZWRSZXNwb25zZSk7XG4gICAgICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0VGV4dFJlc3BvbnNlLFxuICAgICAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgICAgICB3aWRnZXRfdHlwZTogcmVxdWVzdC53aWRnZXRUeXBlLFxuICAgICAgICAgICAgICByZXNwb25zZV9pZDogcmVzcG9uc2UucmVzcG9uc2VJZCxcbiAgICAgICAgICAgICAgd2lkZ2V0X3RleHQ6IHJlc3BvbnNlLnZhbHVlcyxcbiAgICAgICAgICAgICAgcmVxdWVzdF9pZDogd2lkZ2V0VGV4dFJlcXVlc3QucmVxdWVzdElkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gY29udmVydGVkUmVzcG9uc2U7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIExvZ2dlci5sb2dFcnJvcignaGFyZGNvcHlDb250ZXh0IHwgZXJyb3IgZ2V0dGluZyBoYXJkY29weSBmcm9tIGJhY2tlbmQnLCBlcnJvcik7XG4gICAgICB9XG4gICAgICBjb25zdCBtb2NrUmVzcG9uc2UgPSBNT0NLX0hBUkRDT1BZX1JFU1BPTlNFW3JlcXVlc3Qud2lkZ2V0VHlwZV07XG4gICAgICBpZiAobW9ja1Jlc3BvbnNlKSB7XG4gICAgICAgIExvZ2dlci5sb2dJbmZvKCdoYXJkY29weUNvbnRleHQgfCBubyByZWFsIHJlc3BvbnNlLCB1c2luZyBtb2NrJywgbW9ja1Jlc3BvbnNlKTtcbiAgICAgICAgcmV0dXJuIG1vY2tSZXNwb25zZTtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gaGFyZGNvcHkgcmVzcG9uc2UgZm91bmQgZm9yIHdpZGdldCB0eXBlOiAke3JlcXVlc3Qud2lkZ2V0VHlwZX1gKTtcbiAgICB9LFxuICAgIFtjb250ZXh0LCBmZWF0dXJlRmxhZ1NlcnZpY2UsIGhhcmRjb3B5T3ZlcnJpZGUsIGxhbmd1YWdlcywgdHJhY2tFdmVudF0sXG4gICk7XG5cbiAgY29uc3QgZ2V0SGFyZGNvcHkgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocmVxdWVzdDogSGFyZGNvcHlSZXF1ZXN0KTogUHJvbWlzZTxIYXJkY29weVJlc3BvbnNlPiA9PiB7XG4gICAgICBzZXRJc0xvYWRpbmcodHJ1ZSk7XG4gICAgICBMb2dnZXIubG9nSW5mbygnaGFyZGNvcHlDb250ZXh0IHwgcmV0cmlldmluZyBoYXJkY29weScsIGxhbmd1YWdlcyk7XG5cbiAgICAgIExvZ2dlci5sb2dJbmZvKCdoYXJkY29weUNvbnRleHQgfCByZXF1ZXN0JywgcmVxdWVzdCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldEhhcmRjb3B5RnJvbUJhY2tlbmQocmVxdWVzdCk7XG4gICAgICBMb2dnZXIubG9nSW5mbygnaGFyZGNvcHlDb250ZXh0IHwgcmV0dXJuaW5nIGhhcmRjb3B5IHJlc3BvbnNlJywgcmVzcG9uc2UpO1xuICAgICAgaWYgKCFyZXNwb25zZSkge1xuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGhhcmRjb3B5IHJlc3BvbnNlIGZvdW5kIGZvciB3aWRnZXQgdHlwZTogJHtyZXF1ZXN0LndpZGdldFR5cGV9YCk7XG4gICAgICB9XG4gICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH0sXG4gICAgW2dldEhhcmRjb3B5RnJvbUJhY2tlbmQsIGxhbmd1YWdlc10sXG4gICk7XG5cbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKCgpID0+ICh7IGdldEhhcmRjb3B5LCBpc0xvYWRpbmcgfSksIFtnZXRIYXJkY29weSwgaXNMb2FkaW5nXSk7XG5cbiAgcmV0dXJuIDxIYXJkY29weUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT57Y2hpbGRyZW59PC9IYXJkY29weUNvbnRleHQuUHJvdmlkZXI+O1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZUhhcmRjb3B5ID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChIYXJkY29weUNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZUhhcmRjb3B5IG11c3QgYmUgdXNlZCB3aXRoaW4gYSBIYXJkY29weVByb3ZpZGVyJyk7XG4gIH1cbiAgcmV0dXJuIGNvbnRleHQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrQ0EsTUFBTSw2QkFBNkIsYUFBMkM7QUFDNUUsUUFBTztFQUNMLFlBQVksU0FBUztFQUNyQixVQUFVLFNBQVM7RUFDbkIsV0FBVyxTQUFTO0VBQ3BCLFFBQVEsT0FBTyxZQUNiLE9BQU8sUUFBUSxTQUFTLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxXQUFXLENBRXBELFlBQVksSUFBSSxFQUNoQixNQUFNLFdBQVcsSUFBSSxNQUFNLEdBQUcsUUFBUSxNQUFNLEtBQUksTUFBSyxFQUFFLE1BQU0sQ0FDOUQsQ0FBQyxDQUNIO0VBQ0Y7O0FBTUgsTUFBTUEseUJBQTBFO0VBQzdFLGFBQWEsbUJBQW1CO0VBQy9CLFlBQVlDLElBQU07RUFDbEIsVUFBVTtFQUNWLFFBQVEsRUFDTixtQkFBbUI7R0FDakI7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNELEVBQ0Y7RUFDRjtFQUNBLGFBQWEseUJBQXlCO0VBQ3JDLFlBQVk7RUFDWixVQUFVO0VBQ1YsUUFBUTtHQUNOLFlBQVk7R0FDWixtQkFBbUI7SUFDakI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNEO0dBQ0Y7RUFDRjtFQUNBLGFBQWEsZ0JBQWdCO0VBQzVCLFlBQVk7RUFDWixVQUFVO0VBQ1YsUUFBUTtHQUNOLFlBQVk7R0FDWix1QkFBdUI7R0FDdkIsbUJBQW1CO0dBQ25CLG1CQUFtQjtHQUNuQiwwQkFBMEI7R0FDMUIsc0JBQXNCO0lBQ3BCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDRDtHQUNELDBCQUEwQjtHQUMzQjtFQUNGO0VBQ0EsYUFBYSxv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
@@ -40,4 +40,4 @@ interface PageDetails {
40
40
  }
41
41
  //#endregion
42
42
  export { FullPageSalesAgentVariantInfo, HomeVariantInfo, OtherVariantInfo, PDPPageVariantInfo, PLPPageVariantInfo, PageDetails, PageVariantInfo, VisitPageVariantInfo };
43
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3BhZ2VDb250ZXh0L3R5cGVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlckV2ZW50LCBWYXJpYW50VHlwZUVudW0gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmV4cG9ydCB0eXBlIFBEUFBhZ2VWYXJpYW50SW5mbyA9IHtcbiAgICB2YXJpYW50VHlwZTogVmFyaWFudFR5cGVFbnVtLlBkcDtcbiAgICBwcm9kdWN0SWQ6IHN0cmluZztcbiAgICBjb2xsZWN0aW9uczogc3RyaW5nW107XG4gICAgbnVtYmVyT2ZSZXZpZXdzOiBudW1iZXI7XG4gICAgbWVyY2hhbnRUYWdzOiBzdHJpbmdbXTtcbiAgICB1cmw6IHN0cmluZztcbn07XG5leHBvcnQgdHlwZSBQTFBQYWdlVmFyaWFudEluZm8gPSB7XG4gICAgdmFyaWFudFR5cGU6IFZhcmlhbnRUeXBlRW51bS5QbHA7XG4gICAgcGxwSWQ6IHN0cmluZztcbiAgICB0b3BDYXRlZ29yeTogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIFZpc2l0UGFnZVZhcmlhbnRJbmZvID0ge1xuICAgIHZhcmlhbnRUeXBlOiBWYXJpYW50VHlwZUVudW0uUGFnZVZpc2l0O1xuICAgIHVybDogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIEhvbWVWYXJpYW50SW5mbyA9IHtcbiAgICB2YXJpYW50VHlwZTogVmFyaWFudFR5cGVFbnVtLkhvbWU7XG4gICAgdXJsOiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgT3RoZXJWYXJpYW50SW5mbyA9IHtcbiAgICB2YXJpYW50VHlwZTogVmFyaWFudFR5cGVFbnVtLk90aGVyO1xuICAgIHVybDogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIEZ1bGxQYWdlU2FsZXNBZ2VudFZhcmlhbnRJbmZvID0ge1xuICAgIHZhcmlhbnRUeXBlOiBWYXJpYW50VHlwZUVudW0uRnVsbFBhZ2VTYWxlc0FnZW50O1xuICAgIHVybDogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50SW5mbyA9IFBEUFBhZ2VWYXJpYW50SW5mbyB8IFBMUFBhZ2VWYXJpYW50SW5mbyB8IFZpc2l0UGFnZVZhcmlhbnRJbmZvIHwgSG9tZVZhcmlhbnRJbmZvIHwgT3RoZXJWYXJpYW50SW5mbyB8IEZ1bGxQYWdlU2FsZXNBZ2VudFZhcmlhbnRJbmZvO1xuZXhwb3J0IGludGVyZmFjZSBQYWdlRGV0YWlscyB7XG4gICAgcGFnZVVybDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIHZhcmlhbnRJbmZvOiBQYWdlVmFyaWFudEluZm8gfCB1bmRlZmluZWQ7XG4gICAgdXNlckV2ZW50OiBVc2VyRXZlbnQgfCB1bmRlZmluZWQ7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxJQUFXLHFCQUFxQixDQUFDLFVBQUEsZ0JBQUEsSUFBQTtBQUNqQyxJQUFXLHFCQUFxQixDQUFDLFVBQUcsZ0JBQUEsSUFBQTtBQUNwQyxJQUFXLHVCQUFVLENBQUEsVUFBQSxnQkFBQSxVQUFBO0FBQ3JCLElBQVcsa0JBQWMsQ0FBQSxVQUFBLGdCQUFBLEtBQUE7QUFDekIsSUFBVyxtQkFBZ0IsQ0FBQSxVQUFBLGdCQUFBLE1BQUE7QUFDM0IsSUFBVyxnQ0FBZSxDQUFBLFVBQUEsZ0JBQUEsbUJBQUE7QUFDMUIsSUFBVyxrQkFBSTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDZixJQUFDLGNBQUE7Q0FBQTtPQUFBO09BQUE7Q0FBQSJ9
43
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3BhZ2VDb250ZXh0L3R5cGVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlckV2ZW50LCBWYXJpYW50VHlwZUVudW0gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmV4cG9ydCB0eXBlIFBEUFBhZ2VWYXJpYW50SW5mbyA9IHtcbiAgICB2YXJpYW50VHlwZTogVmFyaWFudFR5cGVFbnVtLlBkcDtcbiAgICBwcm9kdWN0SWQ6IHN0cmluZztcbiAgICBjb2xsZWN0aW9uczogc3RyaW5nW107XG4gICAgbnVtYmVyT2ZSZXZpZXdzOiBudW1iZXI7XG4gICAgbWVyY2hhbnRUYWdzOiBzdHJpbmdbXTtcbiAgICB1cmw6IHN0cmluZztcbn07XG5leHBvcnQgdHlwZSBQTFBQYWdlVmFyaWFudEluZm8gPSB7XG4gICAgdmFyaWFudFR5cGU6IFZhcmlhbnRUeXBlRW51bS5QbHA7XG4gICAgcGxwSWQ6IHN0cmluZztcbiAgICB0b3BDYXRlZ29yeTogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIFZpc2l0UGFnZVZhcmlhbnRJbmZvID0ge1xuICAgIHZhcmlhbnRUeXBlOiBWYXJpYW50VHlwZUVudW0uUGFnZVZpc2l0O1xuICAgIHVybDogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIEhvbWVWYXJpYW50SW5mbyA9IHtcbiAgICB2YXJpYW50VHlwZTogVmFyaWFudFR5cGVFbnVtLkhvbWU7XG4gICAgdXJsOiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgT3RoZXJWYXJpYW50SW5mbyA9IHtcbiAgICB2YXJpYW50VHlwZTogVmFyaWFudFR5cGVFbnVtLk90aGVyO1xuICAgIHVybDogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIEZ1bGxQYWdlU2FsZXNBZ2VudFZhcmlhbnRJbmZvID0ge1xuICAgIHZhcmlhbnRUeXBlOiBWYXJpYW50VHlwZUVudW0uRnVsbFBhZ2VTYWxlc0FnZW50O1xuICAgIHVybDogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50SW5mbyA9IFBEUFBhZ2VWYXJpYW50SW5mbyB8IFBMUFBhZ2VWYXJpYW50SW5mbyB8IFZpc2l0UGFnZVZhcmlhbnRJbmZvIHwgSG9tZVZhcmlhbnRJbmZvIHwgT3RoZXJWYXJpYW50SW5mbyB8IEZ1bGxQYWdlU2FsZXNBZ2VudFZhcmlhbnRJbmZvO1xuZXhwb3J0IGludGVyZmFjZSBQYWdlRGV0YWlscyB7XG4gICAgcGFnZVVybDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIHZhcmlhbnRJbmZvOiBQYWdlVmFyaWFudEluZm8gfCB1bmRlZmluZWQ7XG4gICAgdXNlckV2ZW50OiBVc2VyRXZlbnQgfCB1bmRlZmluZWQ7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxJQUFXLHFCQUFxQixDQUFDLFdBQUEsZ0JBQUEsSUFBQTtBQUNqQyxJQUFXLHFCQUFxQixDQUFDLFdBQUcsZ0JBQUEsSUFBQTtBQUNwQyxJQUFXLHVCQUFVLENBQUEsV0FBQSxnQkFBQSxVQUFBO0FBQ3JCLElBQVcsa0JBQWMsQ0FBQSxXQUFBLGdCQUFBLEtBQUE7QUFDekIsSUFBVyxtQkFBZ0IsQ0FBQSxXQUFBLGdCQUFBLE1BQUE7QUFDM0IsSUFBVyxnQ0FBZSxDQUFBLFdBQUEsZ0JBQUEsbUJBQUE7QUFDMUIsSUFBVyxrQkFBSTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDZixJQUFDLGNBQUE7Q0FBQTtPQUFBO09BQUE7Q0FBQSJ9
@@ -11,6 +11,9 @@ const require_messageQueue = require('../../atoms/chat/messageQueue.cjs');
11
11
  require('../../atoms/chat/index.cjs');
12
12
  const require_amplitudeContext = require('../amplitudeContext/amplitudeContext.cjs');
13
13
  require('../amplitudeContext/index.cjs');
14
+ const require_hooks_WidgetInteraction_types = require('../../hooks/WidgetInteraction/types.cjs');
15
+ const require_useWidgetInteraction = require('../../hooks/WidgetInteraction/useWidgetInteraction.cjs');
16
+ require('../../hooks/WidgetInteraction/index.cjs');
14
17
  let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
15
18
  let react = require("react");
16
19
  let jotai = require("jotai");
@@ -29,6 +32,7 @@ const useSalesAgentChatAPI = () => {
29
32
  const setReplyEventCategory = (0, jotai.useSetAtom)(require_atoms_chat_chatState.replyEventCategoryAtom);
30
33
  const setFormSubmit = (0, jotai.useSetAtom)(require_atoms_chat_chatState.formSubmitAtom);
31
34
  const { trackEvent } = require_amplitudeContext.useAmplitude();
35
+ const { trackWidgetInteraction } = require_useWidgetInteraction.useWidgetInteraction();
32
36
  return {
33
37
  logPageVisit: (0, react.useCallback)(({ pageVisitCategory }) => {
34
38
  const eventId = (0, uuid.v4)();
@@ -75,6 +79,14 @@ const useSalesAgentChatAPI = () => {
75
79
  trackEvent
76
80
  ]),
77
81
  onSuggestionClicked: (0, react.useCallback)((suggestion, displayLocation) => {
82
+ trackWidgetInteraction({
83
+ eventName: require_eventNames.EnviveMetricsEventName.WidgetInteraction,
84
+ trigger: {
85
+ widget: require_hooks_WidgetInteraction_types.WidgetInteractionComponent.FLOATING_CHAT,
86
+ widget_interaction: require_hooks_WidgetInteraction_types.WidgetInteractionType.SUGGESTION_CLICKED,
87
+ widget_interaction_data: { suggestion_clicked: { suggestion_id: suggestion.id } }
88
+ }
89
+ });
78
90
  trackEvent({
79
91
  eventName: require_eventNames.SpiffyMetricsEventName.ChatSuggestionClicked,
80
92
  eventProps: {
@@ -122,6 +134,14 @@ const useSalesAgentChatAPI = () => {
122
134
  ]),
123
135
  onTypedMessageSubmitted: (0, react.useCallback)(({ query, userTyped, displayLocation }) => {
124
136
  const eventId = (0, uuid.v4)();
137
+ trackWidgetInteraction({
138
+ eventName: require_eventNames.EnviveMetricsEventName.WidgetInteraction,
139
+ trigger: {
140
+ widget: require_hooks_WidgetInteraction_types.WidgetInteractionComponent.FLOATING_CHAT,
141
+ widget_interaction: require_hooks_WidgetInteraction_types.WidgetInteractionType.MESSAGE_SUBMITTED,
142
+ widget_interaction_data: { message_submitted: { request_text: query } }
143
+ }
144
+ });
125
145
  trackEvent({
126
146
  eventName: require_eventNames.SpiffyMetricsEventName.ChatUserMessageInput,
127
147
  eventProps: {
@@ -195,4 +215,4 @@ const useSalesAgentChatAPI = () => {
195
215
 
196
216
  //#endregion
197
217
  exports.useSalesAgentChatAPI = useSalesAgentChatAPI;
198
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdEFQSS5janMiLCJuYW1lcyI6WyJVc2VyRXZlbnRDYXRlZ29yeSIsImFuYWx5dGljc0NvbnRleHRBdG9tIiwiaGFzUGFyc2VkVmFyaWFudEluZm9BdG9tIiwicXVldWVVc2VyRXZlbnRBdG9tIiwicmVwbHlFdmVudENhdGVnb3J5QXRvbSIsImZvcm1TdWJtaXRBdG9tIiwidXNlQW1wbGl0dWRlIiwiRW52aXZlTWV0cmljc0V2ZW50TmFtZSIsIlNwaWZmeU1ldHJpY3NFdmVudE5hbWUiLCJNZXNzYWdlUm9sZSIsIk1lc3NhZ2VUeXBlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3NhbGVzQWdlbnRDb250ZXh0L2NoYXRBUEkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBjb21wb25lbnQgd2lsbCBpbnRlcmFjdCB3aXRoIHRoZSBiYWNrZW5kIEFQSSB0byBnZXQgdGhlIHJlc3BvbnNlcyBmcm9tIHRoZSBzYWxlcyBhZ2VudC5cbmltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7IFBhZ2VWaXNpdENhdGVnb3J5LCBVc2VyRXZlbnRDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQge1xuICBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblYzLFxuICBGb3JtU3VibWl0dGVkQXR0cmlidXRlcyxcbiAgTWVzc2FnZVJvbGUsXG4gIE1lc3NhZ2VUeXBlLFxuICBTdWdnZXN0aW9uLFxuICBVc2VyRXZlbnQsXG59IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgdXNlQXRvbVZhbHVlLCB1c2VTZXRBdG9tIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBmb3JtU3VibWl0QXRvbSwgcmVwbHlFdmVudENhdGVnb3J5QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9jaGF0JztcbmltcG9ydCB7IHF1ZXVlVXNlckV2ZW50QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9jaGF0L21lc3NhZ2VRdWV1ZSc7XG5pbXBvcnQgeyBFbnZpdmVNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSAnc3JjL3NlcnZpY2VzL2FtcGxpdHVkZVNlcnZpY2UvYW1wbGl0dWRlU2VydmljZSc7XG5pbXBvcnQgeyBhbmFseXRpY3NDb250ZXh0QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9hcHAvdmFyaWFudCc7XG5pbXBvcnQgeyBoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwJztcbmltcG9ydCB7IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUsIHVzZUFtcGxpdHVkZSB9IGZyb20gJy4uL2FtcGxpdHVkZUNvbnRleHQnO1xuXG5jb25zdCBUUkFDS0VEX1VTRVJfRVZFTlRTID0gW1xuICBVc2VyRXZlbnRDYXRlZ29yeS5QYWdlVmlzaXQsXG4gIFVzZXJFdmVudENhdGVnb3J5LlBkcFZpc2l0LFxuICBVc2VyRXZlbnRDYXRlZ29yeS5QbHBWaXNpdCxcbl07XG5leHBvcnQgaW50ZXJmYWNlIFNhbGVzQWdlbnRDaGF0QVBJIHtcbiAgbG9nUGFnZVZpc2l0OiAoeyBwYWdlVmlzaXRDYXRlZ29yeSB9OiB7IHBhZ2VWaXNpdENhdGVnb3J5OiBQYWdlVmlzaXRDYXRlZ29yeSB9KSA9PiB2b2lkO1xuICBsb2dVc2VyRXZlbnQ6IChldmVudDogVXNlckV2ZW50KSA9PiB2b2lkO1xuICBvblN1Z2dlc3Rpb25DbGlja2VkOiAoXG4gICAgc3VnZ2VzdGlvbjogU3VnZ2VzdGlvbixcbiAgICBkaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjMsXG4gICkgPT4gdm9pZDtcbiAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQ6ICh7XG4gICAgcXVlcnksXG4gICAgdXNlclR5cGVkLFxuICAgIGRpc3BsYXlMb2NhdGlvbixcbiAgfToge1xuICAgIHF1ZXJ5OiBzdHJpbmc7XG4gICAgdXNlclR5cGVkOiBib29sZWFuO1xuICAgIGRpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMztcbiAgfSkgPT4gdm9pZDtcbiAgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQ6IChmb3JtOiBGb3JtU3VibWl0dGVkQXR0cmlidXRlcykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IHVzZVNhbGVzQWdlbnRDaGF0QVBJID0gKCkgPT4ge1xuICAvLyBUT0RPOiBFYWNoIG9mIHRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRyaWdnZXIgYm90aCB0aGUgbmVjZXNzYXJ5IGFtcGxpdHVkZSBldmVudHMgYW5kIGluaXRpYXRlIHRoZVxuICAvLyBuZWNlc3NhcnkgYWN0aW9ucyB0byB0cmlnZ2VyIHRoZSBiYWNrZW5kIEFQSVxuICBjb25zdCBjb250ZXh0ID0gdXNlQXRvbVZhbHVlKGFuYWx5dGljc0NvbnRleHRBdG9tKTtcbiAgY29uc3QgaGFzUGFyc2VkVmFyaWFudEluZm8gPSB1c2VBdG9tVmFsdWUoaGFzUGFyc2VkVmFyaWFudEluZm9BdG9tKTtcbiAgY29uc3QgcXVldWVVc2VyRXZlbnQgPSB1c2VTZXRBdG9tKHF1ZXVlVXNlckV2ZW50QXRvbSk7XG4gIGNvbnN0IHNldFJlcGx5RXZlbnRDYXRlZ29yeSA9IHVzZVNldEF0b20ocmVwbHlFdmVudENhdGVnb3J5QXRvbSk7XG4gIGNvbnN0IHNldEZvcm1TdWJtaXQgPSB1c2VTZXRBdG9tKGZvcm1TdWJtaXRBdG9tKTtcbiAgY29uc3QgeyB0cmFja0V2ZW50IH0gPSB1c2VBbXBsaXR1ZGUoKTtcblxuICBjb25zdCBsb2dQYWdlVmlzaXQgPSB1c2VDYWxsYmFjayhcbiAgICAoeyBwYWdlVmlzaXRDYXRlZ29yeSB9OiB7IHBhZ2VWaXNpdENhdGVnb3J5OiBQYWdlVmlzaXRDYXRlZ29yeSB9KSA9PiB7XG4gICAgICBjb25zdCBldmVudElkID0gdXVpZCgpO1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVxdWVzdCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IGV2ZW50SWQsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJzogJ3BhZ2VfdmlzaXQnLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBldmVudDogVXNlckV2ZW50ID0ge1xuICAgICAgICBldmVudElkLFxuICAgICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUGFnZVZpc2l0LFxuICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIHVybDogd2luZG93LmxvY2F0aW9uLmhyZWYsXG4gICAgICAgICAgcGFnZVZpc2l0Q2F0ZWdvcnksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgcXVldWVVc2VyRXZlbnQoZXZlbnQpO1xuICAgIH0sXG4gICAgW3F1ZXVlVXNlckV2ZW50LCBjb250ZXh0LCB0cmFja0V2ZW50XSxcbiAgKTtcblxuICBjb25zdCBsb2dVc2VyRXZlbnQgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFVzZXJFdmVudCkgPT4ge1xuICAgICAgaWYgKCFoYXNQYXJzZWRWYXJpYW50SW5mbykge1xuICAgICAgICBMb2dnZXIubG9nV2FybihcbiAgICAgICAgICAnW2Vudml2ZS1haV0gaGFzUGFyc2VkVmFyaWFudEluZm8gaXMgZmFsc2UsIG5vdCBsb2dnaW5nIHVzZXIgZXZlbnQnLFxuICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICB7IGV2ZW50IH0sXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChUUkFDS0VEX1VTRVJfRVZFTlRTLmluY2x1ZGVzKGV2ZW50LmNhdGVnb3J5KSkge1xuICAgICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuQ2hhdFJlcXVlc3QsXG4gICAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgICAgICdjaGF0LnJlcXVlc3RfaWQnOiBldmVudC5ldmVudElkLFxuICAgICAgICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJzogJ3BhZ2VfdmlzaXQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcXVldWVVc2VyRXZlbnQoZXZlbnQpO1xuICAgIH0sXG4gICAgW2NvbnRleHQsIGhhc1BhcnNlZFZhcmlhbnRJbmZvLCBxdWV1ZVVzZXJFdmVudCwgdHJhY2tFdmVudF0sXG4gICk7XG4gIGNvbnN0IG9uU3VnZ2VzdGlvbkNsaWNrZWQgPSB1c2VDYWxsYmFjayhcbiAgICAoc3VnZ2VzdGlvbjogU3VnZ2VzdGlvbiwgZGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblYzKSA9PiB7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLkNoYXRTdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIG1lc3NhZ2VfaWQ6IHN1Z2dlc3Rpb24uaWQsXG4gICAgICAgICAgbWVzc2FnZV9yb2xlOiBNZXNzYWdlUm9sZS5Vc2VyLFxuICAgICAgICAgIG1lc3NhZ2VfdHlwZTogTWVzc2FnZVR5cGUuU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgICAgICAgbWVzc2FnZV9tZXRhZGF0YToge1xuICAgICAgICAgICAgY29udGVudDogc3VnZ2VzdGlvbi5jb250ZW50LFxuICAgICAgICAgICAgY3JlYXRlZF9hdDogc3VnZ2VzdGlvbi5jcmVhdGVkQXQsXG4gICAgICAgICAgICBjYXRlZ29yeTogc3VnZ2VzdGlvbi5jYXRlZ29yeSxcbiAgICAgICAgICAgIGlzX2Fuc3dlcjogc3VnZ2VzdGlvbi5pc0Fuc3dlcixcbiAgICAgICAgICAgIGRpc3BsYXlfbG9jYXRpb246IGRpc3BsYXlMb2NhdGlvbixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBldmVudElkID0gdXVpZCgpO1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVxdWVzdCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgICAgJ3RyaWdnZXIud2lkZ2V0JzogZGlzcGxheUxvY2F0aW9uLCAvLyBUaGlzIGlzIGZhaXJseSBmaW5lZ3JhaW5lZCwgYnV0IHRoYXQgbWF5IGJlIG9rXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IGV2ZW50SWQsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJzogJ3N1Z2dlc3Rpb24nLFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfdGV4dCc6IHN1Z2dlc3Rpb24uY29udGVudCxcbiAgICAgICAgICAnY2hhdC5zdWdnZXN0aW9uX2lkJzogc3VnZ2VzdGlvbi5pZCxcbiAgICAgICAgICAnY2hhdC5zdWdnZXN0aW9uX2NhdGVnb3J5Jzogc3VnZ2VzdGlvbi5jYXRlZ29yeSxcbiAgICAgICAgICAnY2hhdC5zdWdnZXN0aW9uX2NyZWF0ZWRfYXQnOiBzdWdnZXN0aW9uLmNyZWF0ZWRBdCxcbiAgICAgICAgICAnY2hhdC5zdWdnZXN0aW9uX2lzX2Fuc3dlcic6IHN1Z2dlc3Rpb24uaXNBbnN3ZXIsXG4gICAgICAgICAgJ2NoYXQudXNlcl90eXBlZCc6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBldmVudDogVXNlckV2ZW50ID0ge1xuICAgICAgICBldmVudElkLFxuICAgICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgc3VnZ2VzdGlvbklkOiBzdWdnZXN0aW9uLmlkLFxuICAgICAgICAgIGNvbnRlbnQ6IHN1Z2dlc3Rpb24uY29udGVudCxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBxdWV1ZVVzZXJFdmVudChldmVudCk7XG4gICAgfSxcbiAgICBbcXVldWVVc2VyRXZlbnQsIHRyYWNrRXZlbnQsIGNvbnRleHRdLFxuICApO1xuICBjb25zdCBvblR5cGVkTWVzc2FnZVN1Ym1pdHRlZCA9IHVzZUNhbGxiYWNrKFxuICAgICh7XG4gICAgICBxdWVyeSxcbiAgICAgIHVzZXJUeXBlZCxcbiAgICAgIGRpc3BsYXlMb2NhdGlvbixcbiAgICB9OiB7XG4gICAgICBxdWVyeTogc3RyaW5nO1xuICAgICAgdXNlclR5cGVkOiBib29sZWFuO1xuICAgICAgZGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblYzO1xuICAgIH0pID0+IHtcbiAgICAgIGNvbnN0IGV2ZW50SWQgPSB1dWlkKCk7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLkNoYXRVc2VyTWVzc2FnZUlucHV0LFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgcXVlcnksXG4gICAgICAgICAgdXNlcl90eXBlZDogdXNlclR5cGVkLFxuICAgICAgICAgIG1lc3NhZ2VfaWQ6IGV2ZW50SWQsXG4gICAgICAgICAgbWVzc2FnZV9yb2xlOiBNZXNzYWdlUm9sZS5Vc2VyLFxuICAgICAgICAgIG1lc3NhZ2VfdHlwZTogTWVzc2FnZVR5cGUuUXVlcnlUeXBlZCxcbiAgICAgICAgICBtZXNzYWdlX21ldGFkYXRhOiB7XG4gICAgICAgICAgICBjb250ZW50OiBxdWVyeSxcbiAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICAgIHVzZXJfdHlwZWQ6IHVzZXJUeXBlZCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkNoYXRSZXF1ZXN0LFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgICAndHJpZ2dlci53aWRnZXQnOiBkaXNwbGF5TG9jYXRpb24sXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJzogJ3RleHQnLFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfdGV4dCc6IHF1ZXJ5LFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfaWQnOiBldmVudElkLFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfY3JlYXRlZF9hdCc6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICAnY2hhdC51c2VyX3R5cGVkJzogdXNlclR5cGVkLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBldmVudDogVXNlckV2ZW50ID0ge1xuICAgICAgICBldmVudElkLFxuICAgICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUXVlcnlUeXBlZCxcbiAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICB1c2VyVHlwZWQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgcXVldWVVc2VyRXZlbnQoZXZlbnQpO1xuICAgIH0sXG4gICAgW3F1ZXVlVXNlckV2ZW50LCB0cmFja0V2ZW50LCBjb250ZXh0XSxcbiAgKTtcbiAgY29uc3Qgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQgPSB1c2VDYWxsYmFjayhcbiAgICAoZm9ybTogRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMpID0+IHtcbiAgICAgIHNldFJlcGx5RXZlbnRDYXRlZ29yeShVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkKTtcbiAgICAgIHNldEZvcm1TdWJtaXQoZm9ybSk7XG4gICAgICBjb25zdCBldmVudElkID0gdXVpZCgpO1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVxdWVzdCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IGV2ZW50SWQsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJzogJ2Zvcm0nLFxuICAgICAgICAgICdjaGF0LmZvcm1fcmVzcG9uc2VfaWQnOiBmb3JtLmZvcm1SZXNwb25zZUlkLFxuICAgICAgICAgICdjaGF0LmZvcm1fdHlwZSc6IGZvcm0uZm9ybVR5cGUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGV2ZW50OiBVc2VyRXZlbnQgPSB7XG4gICAgICAgIGV2ZW50SWQsXG4gICAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkLFxuICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgYXR0cmlidXRlczogZm9ybSxcbiAgICAgIH07XG4gICAgICBxdWV1ZVVzZXJFdmVudChldmVudCk7XG4gICAgfSxcbiAgICBbc2V0UmVwbHlFdmVudENhdGVnb3J5LCBzZXRGb3JtU3VibWl0LCB0cmFja0V2ZW50LCBjb250ZXh0LCBxdWV1ZVVzZXJFdmVudF0sXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBsb2dQYWdlVmlzaXQsXG4gICAgbG9nVXNlckV2ZW50LFxuICAgIG9uU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQsXG4gICAgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQsXG4gIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBcUJBLE1BQU0sc0JBQXNCO0NBQzFCQSxrREFBa0I7Q0FDbEJBLGtEQUFrQjtDQUNsQkEsa0RBQWtCO0NBQ25CO0FBb0JELE1BQWEsNkJBQTZCO0NBR3hDLE1BQU0sa0NBQXVCQyxxQ0FBcUI7Q0FDbEQsTUFBTSwrQ0FBb0NDLHlDQUF5QjtDQUNuRSxNQUFNLHVDQUE0QkMsd0NBQW1CO0NBQ3JELE1BQU0sOENBQW1DQyxvREFBdUI7Q0FDaEUsTUFBTSxzQ0FBMkJDLDRDQUFlO0NBQ2hELE1BQU0sRUFBRSxlQUFlQyx1Q0FBYztBQThLckMsUUFBTztFQUNMLHNDQTVLQyxFQUFFLHdCQUFrRTtHQUNuRSxNQUFNLHdCQUFnQjtBQUN0QixjQUFXO0lBQ1QsV0FBV0MsMENBQXVCO0lBQ2xDLFlBQVk7S0FDVixHQUFHO0tBQ0gsbUJBQW1CO0tBQ25CLHFCQUFxQjtLQUN0QjtJQUNGLENBQUM7QUFVRixrQkFUeUI7SUFDdkI7SUFDQSxVQUFVUCxrREFBa0I7SUFDNUIsNEJBQVcsSUFBSSxNQUFNLEVBQUMsYUFBYTtJQUNuQyxZQUFZO0tBQ1YsS0FBSyxPQUFPLFNBQVM7S0FDckI7S0FDRDtJQUNGLENBQ29CO0tBRXZCO0dBQUM7R0FBZ0I7R0FBUztHQUFXLENBQ3RDO0VBdUpDLHNDQXBKQyxVQUFxQjtBQUNwQixPQUFJLENBQUMsc0JBQXNCO0FBQ3pCLDJCQUFPLFFBQ0wscUVBQ0EsUUFDQSxFQUFFLE9BQU8sQ0FDVjtBQUNEOztBQUVGLE9BQUksb0JBQW9CLFNBQVMsTUFBTSxTQUFTLENBQzlDLFlBQVc7SUFDVCxXQUFXTywwQ0FBdUI7SUFDbEMsWUFBWTtLQUNWLEdBQUc7S0FDSCxtQkFBbUIsTUFBTTtLQUN6QixxQkFBcUI7S0FDdEI7SUFDRixDQUFDO0FBRUosa0JBQWUsTUFBTTtLQUV2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
218
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdEFQSS5janMiLCJuYW1lcyI6WyJVc2VyRXZlbnRDYXRlZ29yeSIsImFuYWx5dGljc0NvbnRleHRBdG9tIiwiaGFzUGFyc2VkVmFyaWFudEluZm9BdG9tIiwicXVldWVVc2VyRXZlbnRBdG9tIiwicmVwbHlFdmVudENhdGVnb3J5QXRvbSIsImZvcm1TdWJtaXRBdG9tIiwidXNlQW1wbGl0dWRlIiwidXNlV2lkZ2V0SW50ZXJhY3Rpb24iLCJFbnZpdmVNZXRyaWNzRXZlbnROYW1lIiwiV2lkZ2V0SW50ZXJhY3Rpb25Db21wb25lbnQiLCJXaWRnZXRJbnRlcmFjdGlvblR5cGUiLCJTcGlmZnlNZXRyaWNzRXZlbnROYW1lIiwiTWVzc2FnZVJvbGUiLCJNZXNzYWdlVHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9zYWxlc0FnZW50Q29udGV4dC9jaGF0QVBJLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRoaXMgY29tcG9uZW50IHdpbGwgaW50ZXJhY3Qgd2l0aCB0aGUgYmFja2VuZCBBUEkgdG8gZ2V0IHRoZSByZXNwb25zZXMgZnJvbSB0aGUgc2FsZXMgYWdlbnQuXG5pbXBvcnQgeyBQYWdlVmlzaXRDYXRlZ29yeSwgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgdXNlQXRvbVZhbHVlLCB1c2VTZXRBdG9tIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQge1xuICBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblYzLFxuICBGb3JtU3VibWl0dGVkQXR0cmlidXRlcyxcbiAgTWVzc2FnZVJvbGUsXG4gIE1lc3NhZ2VUeXBlLFxuICBTdWdnZXN0aW9uLFxuICBVc2VyRXZlbnQsXG59IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgaGFzUGFyc2VkVmFyaWFudEluZm9BdG9tIH0gZnJvbSAnc3JjL2F0b21zL2FwcCc7XG5pbXBvcnQgeyBhbmFseXRpY3NDb250ZXh0QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9hcHAvdmFyaWFudCc7XG5pbXBvcnQgeyBmb3JtU3VibWl0QXRvbSwgcmVwbHlFdmVudENhdGVnb3J5QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9jaGF0JztcbmltcG9ydCB7IHF1ZXVlVXNlckV2ZW50QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9jaGF0L21lc3NhZ2VRdWV1ZSc7XG5pbXBvcnQgeyB1c2VXaWRnZXRJbnRlcmFjdGlvbiB9IGZyb20gJ3NyYy9ob29rcy9XaWRnZXRJbnRlcmFjdGlvbic7XG5pbXBvcnQge1xuICBXaWRnZXRJbnRlcmFjdGlvbkNvbXBvbmVudCxcbiAgV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLFxufSBmcm9tICdzcmMvaG9va3MvV2lkZ2V0SW50ZXJhY3Rpb24vdHlwZXMnO1xuaW1wb3J0IHsgRW52aXZlTWV0cmljc0V2ZW50TmFtZSB9IGZyb20gJ3NyYy9zZXJ2aWNlcy9hbXBsaXR1ZGVTZXJ2aWNlL2FtcGxpdHVkZVNlcnZpY2UnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSwgdXNlQW1wbGl0dWRlIH0gZnJvbSAnLi4vYW1wbGl0dWRlQ29udGV4dCc7XG5cbmNvbnN0IFRSQUNLRURfVVNFUl9FVkVOVFMgPSBbXG4gIFVzZXJFdmVudENhdGVnb3J5LlBhZ2VWaXNpdCxcbiAgVXNlckV2ZW50Q2F0ZWdvcnkuUGRwVmlzaXQsXG4gIFVzZXJFdmVudENhdGVnb3J5LlBscFZpc2l0LFxuXTtcbmV4cG9ydCBpbnRlcmZhY2UgU2FsZXNBZ2VudENoYXRBUEkge1xuICBsb2dQYWdlVmlzaXQ6ICh7IHBhZ2VWaXNpdENhdGVnb3J5IH06IHsgcGFnZVZpc2l0Q2F0ZWdvcnk6IFBhZ2VWaXNpdENhdGVnb3J5IH0pID0+IHZvaWQ7XG4gIGxvZ1VzZXJFdmVudDogKGV2ZW50OiBVc2VyRXZlbnQpID0+IHZvaWQ7XG4gIG9uU3VnZ2VzdGlvbkNsaWNrZWQ6IChcbiAgICBzdWdnZXN0aW9uOiBTdWdnZXN0aW9uLFxuICAgIGRpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMyxcbiAgKSA9PiB2b2lkO1xuICBvblR5cGVkTWVzc2FnZVN1Ym1pdHRlZDogKHtcbiAgICBxdWVyeSxcbiAgICB1c2VyVHlwZWQsXG4gICAgZGlzcGxheUxvY2F0aW9uLFxuICB9OiB7XG4gICAgcXVlcnk6IHN0cmluZztcbiAgICB1c2VyVHlwZWQ6IGJvb2xlYW47XG4gICAgZGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblYzO1xuICB9KSA9PiB2b2lkO1xuICBvbkZvcm1SZXNwb25zZVN1Ym1pdHRlZDogKGZvcm06IEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgdXNlU2FsZXNBZ2VudENoYXRBUEkgPSAoKSA9PiB7XG4gIC8vIFRPRE86IEVhY2ggb2YgdGhlc2UgZnVuY3Rpb25zIHdpbGwgdHJpZ2dlciBib3RoIHRoZSBuZWNlc3NhcnkgYW1wbGl0dWRlIGV2ZW50cyBhbmQgaW5pdGlhdGUgdGhlXG4gIC8vIG5lY2Vzc2FyeSBhY3Rpb25zIHRvIHRyaWdnZXIgdGhlIGJhY2tlbmQgQVBJXG4gIGNvbnN0IGNvbnRleHQgPSB1c2VBdG9tVmFsdWUoYW5hbHl0aWNzQ29udGV4dEF0b20pO1xuICBjb25zdCBoYXNQYXJzZWRWYXJpYW50SW5mbyA9IHVzZUF0b21WYWx1ZShoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20pO1xuICBjb25zdCBxdWV1ZVVzZXJFdmVudCA9IHVzZVNldEF0b20ocXVldWVVc2VyRXZlbnRBdG9tKTtcbiAgY29uc3Qgc2V0UmVwbHlFdmVudENhdGVnb3J5ID0gdXNlU2V0QXRvbShyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tKTtcbiAgY29uc3Qgc2V0Rm9ybVN1Ym1pdCA9IHVzZVNldEF0b20oZm9ybVN1Ym1pdEF0b20pO1xuICBjb25zdCB7IHRyYWNrRXZlbnQgfSA9IHVzZUFtcGxpdHVkZSgpO1xuICBjb25zdCB7IHRyYWNrV2lkZ2V0SW50ZXJhY3Rpb24gfSA9IHVzZVdpZGdldEludGVyYWN0aW9uKCk7XG5cbiAgY29uc3QgbG9nUGFnZVZpc2l0ID0gdXNlQ2FsbGJhY2soXG4gICAgKHsgcGFnZVZpc2l0Q2F0ZWdvcnkgfTogeyBwYWdlVmlzaXRDYXRlZ29yeTogUGFnZVZpc2l0Q2F0ZWdvcnkgfSkgPT4ge1xuICAgICAgY29uc3QgZXZlbnRJZCA9IHV1aWQoKTtcbiAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuQ2hhdFJlcXVlc3QsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfaWQnOiBldmVudElkLFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfdHlwZSc6ICdwYWdlX3Zpc2l0JyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZXZlbnQ6IFVzZXJFdmVudCA9IHtcbiAgICAgICAgZXZlbnRJZCxcbiAgICAgICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlBhZ2VWaXNpdCxcbiAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICB1cmw6IHdpbmRvdy5sb2NhdGlvbi5ocmVmLFxuICAgICAgICAgIHBhZ2VWaXNpdENhdGVnb3J5LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIHF1ZXVlVXNlckV2ZW50KGV2ZW50KTtcbiAgICB9LFxuICAgIFtxdWV1ZVVzZXJFdmVudCwgY29udGV4dCwgdHJhY2tFdmVudF0sXG4gICk7XG5cbiAgY29uc3QgbG9nVXNlckV2ZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBVc2VyRXZlbnQpID0+IHtcbiAgICAgIGlmICghaGFzUGFyc2VkVmFyaWFudEluZm8pIHtcbiAgICAgICAgTG9nZ2VyLmxvZ1dhcm4oXG4gICAgICAgICAgJ1tlbnZpdmUtYWldIGhhc1BhcnNlZFZhcmlhbnRJbmZvIGlzIGZhbHNlLCBub3QgbG9nZ2luZyB1c2VyIGV2ZW50JyxcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgeyBldmVudCB9LFxuICAgICAgICApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoVFJBQ0tFRF9VU0VSX0VWRU5UUy5pbmNsdWRlcyhldmVudC5jYXRlZ29yeSkpIHtcbiAgICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkNoYXRSZXF1ZXN0LFxuICAgICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgICAgICAnY2hhdC5yZXF1ZXN0X2lkJzogZXZlbnQuZXZlbnRJZCxcbiAgICAgICAgICAgICdjaGF0LnJlcXVlc3RfdHlwZSc6ICdwYWdlX3Zpc2l0JyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHF1ZXVlVXNlckV2ZW50KGV2ZW50KTtcbiAgICB9LFxuICAgIFtjb250ZXh0LCBoYXNQYXJzZWRWYXJpYW50SW5mbywgcXVldWVVc2VyRXZlbnQsIHRyYWNrRXZlbnRdLFxuICApO1xuICBjb25zdCBvblN1Z2dlc3Rpb25DbGlja2VkID0gdXNlQ2FsbGJhY2soXG4gICAgKHN1Z2dlc3Rpb246IFN1Z2dlc3Rpb24sIGRpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMykgPT4ge1xuICAgICAgdHJhY2tXaWRnZXRJbnRlcmFjdGlvbih7XG4gICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5XaWRnZXRJbnRlcmFjdGlvbixcbiAgICAgICAgdHJpZ2dlcjoge1xuICAgICAgICAgIHdpZGdldDogV2lkZ2V0SW50ZXJhY3Rpb25Db21wb25lbnQuRkxPQVRJTkdfQ0hBVCxcbiAgICAgICAgICB3aWRnZXRfaW50ZXJhY3Rpb246IFdpZGdldEludGVyYWN0aW9uVHlwZS5TVUdHRVNUSU9OX0NMSUNLRUQsXG4gICAgICAgICAgd2lkZ2V0X2ludGVyYWN0aW9uX2RhdGE6IHtcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25fY2xpY2tlZDoge1xuICAgICAgICAgICAgICBzdWdnZXN0aW9uX2lkOiBzdWdnZXN0aW9uLmlkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuQ2hhdFN1Z2dlc3Rpb25DbGlja2VkLFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgbWVzc2FnZV9pZDogc3VnZ2VzdGlvbi5pZCxcbiAgICAgICAgICBtZXNzYWdlX3JvbGU6IE1lc3NhZ2VSb2xlLlVzZXIsXG4gICAgICAgICAgbWVzc2FnZV90eXBlOiBNZXNzYWdlVHlwZS5TdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICAgICAgICBtZXNzYWdlX21ldGFkYXRhOiB7XG4gICAgICAgICAgICBjb250ZW50OiBzdWdnZXN0aW9uLmNvbnRlbnQsXG4gICAgICAgICAgICBjcmVhdGVkX2F0OiBzdWdnZXN0aW9uLmNyZWF0ZWRBdCxcbiAgICAgICAgICAgIGNhdGVnb3J5OiBzdWdnZXN0aW9uLmNhdGVnb3J5LFxuICAgICAgICAgICAgaXNfYW5zd2VyOiBzdWdnZXN0aW9uLmlzQW5zd2VyLFxuICAgICAgICAgICAgZGlzcGxheV9sb2NhdGlvbjogZGlzcGxheUxvY2F0aW9uLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGV2ZW50SWQgPSB1dWlkKCk7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkNoYXRSZXF1ZXN0LFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgICAndHJpZ2dlci53aWRnZXQnOiBkaXNwbGF5TG9jYXRpb24sIC8vIFRoaXMgaXMgZmFpcmx5IGZpbmVncmFpbmVkLCBidXQgdGhhdCBtYXkgYmUgb2tcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X2lkJzogZXZlbnRJZCxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnOiAnc3VnZ2VzdGlvbicsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF90ZXh0Jzogc3VnZ2VzdGlvbi5jb250ZW50LFxuICAgICAgICAgICdjaGF0LnN1Z2dlc3Rpb25faWQnOiBzdWdnZXN0aW9uLmlkLFxuICAgICAgICAgICdjaGF0LnN1Z2dlc3Rpb25fY2F0ZWdvcnknOiBzdWdnZXN0aW9uLmNhdGVnb3J5LFxuICAgICAgICAgICdjaGF0LnN1Z2dlc3Rpb25fY3JlYXRlZF9hdCc6IHN1Z2dlc3Rpb24uY3JlYXRlZEF0LFxuICAgICAgICAgICdjaGF0LnN1Z2dlc3Rpb25faXNfYW5zd2VyJzogc3VnZ2VzdGlvbi5pc0Fuc3dlcixcbiAgICAgICAgICAnY2hhdC51c2VyX3R5cGVkJzogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGV2ZW50OiBVc2VyRXZlbnQgPSB7XG4gICAgICAgIGV2ZW50SWQsXG4gICAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5TdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBzdWdnZXN0aW9uSWQ6IHN1Z2dlc3Rpb24uaWQsXG4gICAgICAgICAgY29udGVudDogc3VnZ2VzdGlvbi5jb250ZW50LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIHF1ZXVlVXNlckV2ZW50KGV2ZW50KTtcbiAgICB9LFxuICAgIFtxdWV1ZVVzZXJFdmVudCwgdHJhY2tFdmVudCwgY29udGV4dF0sXG4gICk7XG4gIGNvbnN0IG9uVHlwZWRNZXNzYWdlU3VibWl0dGVkID0gdXNlQ2FsbGJhY2soXG4gICAgKHtcbiAgICAgIHF1ZXJ5LFxuICAgICAgdXNlclR5cGVkLFxuICAgICAgZGlzcGxheUxvY2F0aW9uLFxuICAgIH06IHtcbiAgICAgIHF1ZXJ5OiBzdHJpbmc7XG4gICAgICB1c2VyVHlwZWQ6IGJvb2xlYW47XG4gICAgICBkaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjM7XG4gICAgfSkgPT4ge1xuICAgICAgY29uc3QgZXZlbnRJZCA9IHV1aWQoKTtcblxuICAgICAgdHJhY2tXaWRnZXRJbnRlcmFjdGlvbih7XG4gICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5XaWRnZXRJbnRlcmFjdGlvbixcbiAgICAgICAgdHJpZ2dlcjoge1xuICAgICAgICAgIHdpZGdldDogV2lkZ2V0SW50ZXJhY3Rpb25Db21wb25lbnQuRkxPQVRJTkdfQ0hBVCxcbiAgICAgICAgICB3aWRnZXRfaW50ZXJhY3Rpb246IFdpZGdldEludGVyYWN0aW9uVHlwZS5NRVNTQUdFX1NVQk1JVFRFRCxcbiAgICAgICAgICB3aWRnZXRfaW50ZXJhY3Rpb25fZGF0YToge1xuICAgICAgICAgICAgbWVzc2FnZV9zdWJtaXR0ZWQ6IHtcbiAgICAgICAgICAgICAgcmVxdWVzdF90ZXh0OiBxdWVyeSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLkNoYXRVc2VyTWVzc2FnZUlucHV0LFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgcXVlcnksXG4gICAgICAgICAgdXNlcl90eXBlZDogdXNlclR5cGVkLFxuICAgICAgICAgIG1lc3NhZ2VfaWQ6IGV2ZW50SWQsXG4gICAgICAgICAgbWVzc2FnZV9yb2xlOiBNZXNzYWdlUm9sZS5Vc2VyLFxuICAgICAgICAgIG1lc3NhZ2VfdHlwZTogTWVzc2FnZVR5cGUuUXVlcnlUeXBlZCxcbiAgICAgICAgICBtZXNzYWdlX21ldGFkYXRhOiB7XG4gICAgICAgICAgICBjb250ZW50OiBxdWVyeSxcbiAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICAgIHVzZXJfdHlwZWQ6IHVzZXJUeXBlZCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkNoYXRSZXF1ZXN0LFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgICAndHJpZ2dlci53aWRnZXQnOiBkaXNwbGF5TG9jYXRpb24sXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJzogJ3RleHQnLFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfdGV4dCc6IHF1ZXJ5LFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfaWQnOiBldmVudElkLFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfY3JlYXRlZF9hdCc6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICAnY2hhdC51c2VyX3R5cGVkJzogdXNlclR5cGVkLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBldmVudDogVXNlckV2ZW50ID0ge1xuICAgICAgICBldmVudElkLFxuICAgICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUXVlcnlUeXBlZCxcbiAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICB1c2VyVHlwZWQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgcXVldWVVc2VyRXZlbnQoZXZlbnQpO1xuICAgIH0sXG4gICAgW3F1ZXVlVXNlckV2ZW50LCB0cmFja0V2ZW50LCBjb250ZXh0XSxcbiAgKTtcbiAgY29uc3Qgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQgPSB1c2VDYWxsYmFjayhcbiAgICAoZm9ybTogRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMpID0+IHtcbiAgICAgIHNldFJlcGx5RXZlbnRDYXRlZ29yeShVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkKTtcbiAgICAgIHNldEZvcm1TdWJtaXQoZm9ybSk7XG4gICAgICBjb25zdCBldmVudElkID0gdXVpZCgpO1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVxdWVzdCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IGV2ZW50SWQsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJzogJ2Zvcm0nLFxuICAgICAgICAgICdjaGF0LmZvcm1fcmVzcG9uc2VfaWQnOiBmb3JtLmZvcm1SZXNwb25zZUlkLFxuICAgICAgICAgICdjaGF0LmZvcm1fdHlwZSc6IGZvcm0uZm9ybVR5cGUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGV2ZW50OiBVc2VyRXZlbnQgPSB7XG4gICAgICAgIGV2ZW50SWQsXG4gICAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkLFxuICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgYXR0cmlidXRlczogZm9ybSxcbiAgICAgIH07XG4gICAgICBxdWV1ZVVzZXJFdmVudChldmVudCk7XG4gICAgfSxcbiAgICBbc2V0UmVwbHlFdmVudENhdGVnb3J5LCBzZXRGb3JtU3VibWl0LCB0cmFja0V2ZW50LCBjb250ZXh0LCBxdWV1ZVVzZXJFdmVudF0sXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBsb2dQYWdlVmlzaXQsXG4gICAgbG9nVXNlckV2ZW50LFxuICAgIG9uU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQsXG4gICAgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQsXG4gIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMEJBLE1BQU0sc0JBQXNCO0NBQzFCQSxrREFBa0I7Q0FDbEJBLGtEQUFrQjtDQUNsQkEsa0RBQWtCO0NBQ25CO0FBb0JELE1BQWEsNkJBQTZCO0NBR3hDLE1BQU0sa0NBQXVCQyxxQ0FBcUI7Q0FDbEQsTUFBTSwrQ0FBb0NDLHlDQUF5QjtDQUNuRSxNQUFNLHVDQUE0QkMsd0NBQW1CO0NBQ3JELE1BQU0sOENBQW1DQyxvREFBdUI7Q0FDaEUsTUFBTSxzQ0FBMkJDLDRDQUFlO0NBQ2hELE1BQU0sRUFBRSxlQUFlQyx1Q0FBYztDQUNyQyxNQUFNLEVBQUUsMkJBQTJCQyxtREFBc0I7QUF5TXpELFFBQU87RUFDTCxzQ0F2TUMsRUFBRSx3QkFBa0U7R0FDbkUsTUFBTSx3QkFBZ0I7QUFDdEIsY0FBVztJQUNULFdBQVdDLDBDQUF1QjtJQUNsQyxZQUFZO0tBQ1YsR0FBRztLQUNILG1CQUFtQjtLQUNuQixxQkFBcUI7S0FDdEI7SUFDRixDQUFDO0FBVUYsa0JBVHlCO0lBQ3ZCO0lBQ0EsVUFBVVIsa0RBQWtCO0lBQzVCLDRCQUFXLElBQUksTUFBTSxFQUFDLGFBQWE7SUFDbkMsWUFBWTtLQUNWLEtBQUssT0FBTyxTQUFTO0tBQ3JCO0tBQ0Q7SUFDRixDQUNvQjtLQUV2QjtHQUFDO0dBQWdCO0dBQVM7R0FBVyxDQUN0QztFQWtMQyxzQ0EvS0MsVUFBcUI7QUFDcEIsT0FBSSxDQUFDLHNCQUFzQjtBQUN6QiwyQkFBTyxRQUNMLHFFQUNBLFFBQ0EsRUFBRSxPQUFPLENBQ1Y7QUFDRDs7QUFFRixPQUFJLG9CQUFvQixTQUFTLE1BQU0sU0FBUyxDQUM5QyxZQUFXO0lBQ1QsV0FBV1EsMENBQXVCO0lBQ2xDLFlBQVk7S0FDVixHQUFHO0tBQ0gsbUJBQW1CLE1BQU07S0FDekIscUJBQXFCO0tBQ3RCO0lBQ0YsQ0FBQztBQUVKLGtCQUFlLE1BQU07S0FFdkI7R0FBQztHQUFTO0dBQXNCO0dBQWdCO0dBQVcsQ0FDNUQ7RUEwSkMsNkNBeEpDLFlBQXdCLG9CQUFrRDtBQUN6RSwwQkFBdUI7SUFDckIsV0FBV0EsMENBQXVCO0lBQ2xDLFNBQVM7S0FDUCxRQUFRQyxpRUFBMkI7S0FDbkMsb0JBQW9CQyw0REFBc0I7S0FDMUMseUJBQXlCLEVBQ3ZCLG9CQUFvQixFQUNsQixlQUFlLFdBQVcsSUFDM0IsRUFDRjtLQUNGO0lBQ0YsQ0FBQztBQUVGLGNBQVc7SUFDVCxXQUFXQywwQ0FBdUI7SUFDbEMsWUFBWTtLQUNWLFlBQVksV0FBVztLQUN2QixjQUFjQyw0QkFBWTtLQUMxQixjQUFjQyw0QkFBWTtLQUMxQixrQkFBa0I7TUFDaEIsU0FBUyxXQUFXO01BQ3BCLFlBQVksV0FBVztNQUN2QixVQUFVLFdBQVc7TUFDckIsV0FBVyxXQUFXO01BQ3RCLGtCQUFrQjtNQUNuQjtLQUNGO0lBQ0YsQ0FBQztHQUNGLE1BQU0sd0JBQWdCO0FBQ3RCLGNBQVc7SUFDVCxXQUFXTCwwQ0FBdUI7SUFDbEMsWUFBWTtLQUNWLEdBQUc7S0FDSCxrQkFBa0I7S0FDbEIsbUJBQW1CO0tBQ25CLHFCQUFxQjtLQUNyQixxQkFBcUIsV0FBVztLQUNoQyxzQkFBc0IsV0FBVztLQUNqQyw0QkFBNEIsV0FBVztLQUN2Qyw4QkFBOEIsV0FBVztLQUN6Qyw2QkFBNkIsV0FBVztLQUN4QyxtQkFBbUI7S0FDcEI7SUFDRixDQUFDO0FBVUYsa0JBVHlCO0lBQ3ZCO0lBQ0EsVUFBVVIsa0RBQWtCO0lBQzVCLDRCQUFXLElBQUksTUFBTSxFQUFDLGFBQWE7SUFDbkMsWUFBWTtLQUNWLGNBQWMsV0FBVztLQUN6QixTQUFTLFdBQVc7S0FDckI7SUFDRixDQUNvQjtLQUV2QjtHQUFDO0dBQWdCO0dBQVk7R0FBUSxDQUN0QztFQWdHQyxpREE5RkMsRUFDQyxPQUNBLFdBQ0Esc0JBS0k7R0FDSixNQUFNLHdCQUFnQjtBQUV0QiwwQkFBdUI7SUFDckIsV0FBV1EsMENBQXVCO0lBQ2xDLFNBQVM7S0FDUCxRQUFRQyxpRUFBMkI7S0FDbkMsb0JBQW9CQyw0REFBc0I7S0FDMUMseUJBQXlCLEVBQ3ZCLG1CQUFtQixFQUNqQixjQUFjLE9BQ2YsRUFDRjtLQUNGO0lBQ0YsQ0FBQztBQUVGLGNBQVc7SUFDVCxXQUFXQywwQ0FBdUI7SUFDbEMsWUFBWTtLQUNWO0tBQ0EsWUFBWTtLQUNaLFlBQVk7S0FDWixjQUFjQyw0QkFBWTtLQUMxQixjQUFjQyw0QkFBWTtLQUMxQixrQkFBa0I7TUFDaEIsU0FBUztNQUNULDZCQUFZLElBQUksTUFBTSxFQUFDLGFBQWE7TUFDcEMsWUFBWTtNQUNiO0tBQ0Y7SUFDRixDQUFDO0FBQ0YsY0FBVztJQUNULFdBQVdMLDBDQUF1QjtJQUNsQyxZQUFZO0tBQ1YsR0FBRztLQUNILGtCQUFrQjtLQUNsQixxQkFBcUI7S0FDckIscUJBQXFCO0tBQ3JCLG1CQUFtQjtLQUNuQiw0Q0FBMkIsSUFBSSxNQUFNLEVBQUMsYUFBYTtLQUNuRCxtQkFBbUI7S0FDcEI7SUFDRixDQUFDO0FBVUYsa0JBVHlCO0lBQ3ZCO0lBQ0EsVUFBVVIsa0RBQWtCO0lBQzVCLDRCQUFXLElBQUksTUFBTSxFQUFDLGFBQWE7SUFDbkMsWUFBWTtLQUNWO0tBQ0E7S0FDRDtJQUNGLENBQ29CO0tBRXZCO0dBQUM7R0FBZ0I7R0FBWTtHQUFRLENBQ3RDO0VBZ0NDLGlEQTlCQyxTQUFrQztBQUNqQyx5QkFBc0JBLGtEQUFrQixjQUFjO0FBQ3RELGlCQUFjLEtBQUs7R0FDbkIsTUFBTSx3QkFBZ0I7QUFDdEIsY0FBVztJQUNULFdBQVdRLDBDQUF1QjtJQUNsQyxZQUFZO0tBQ1YsR0FBRztLQUNILG1CQUFtQjtLQUNuQixxQkFBcUI7S0FDckIseUJBQXlCLEtBQUs7S0FDOUIsa0JBQWtCLEtBQUs7S0FDeEI7SUFDRixDQUFDO0FBT0Ysa0JBTnlCO0lBQ3ZCO0lBQ0EsVUFBVVIsa0RBQWtCO0lBQzVCLDRCQUFXLElBQUksTUFBTSxFQUFDLGFBQWE7SUFDbkMsWUFBWTtJQUNiLENBQ29CO0tBRXZCO0dBQUM7R0FBdUI7R0FBZTtHQUFZO0dBQVM7R0FBZSxDQUM1RTtFQVFBIn0=
@@ -10,6 +10,9 @@ import { queueUserEventAtom } from "../../atoms/chat/messageQueue.js";
10
10
  import "../../atoms/chat/index.js";
11
11
  import { useAmplitude } from "../amplitudeContext/amplitudeContext.js";
12
12
  import "../amplitudeContext/index.js";
13
+ import { WidgetInteractionComponent, WidgetInteractionType } from "../../hooks/WidgetInteraction/types.js";
14
+ import { useWidgetInteraction } from "../../hooks/WidgetInteraction/useWidgetInteraction.js";
15
+ import "../../hooks/WidgetInteraction/index.js";
13
16
  import { UserEventCategory } from "@spiffy-ai/commerce-api-client";
14
17
  import { useCallback } from "react";
15
18
  import { useAtomValue, useSetAtom } from "jotai";
@@ -28,6 +31,7 @@ const useSalesAgentChatAPI = () => {
28
31
  const setReplyEventCategory = useSetAtom(replyEventCategoryAtom);
29
32
  const setFormSubmit = useSetAtom(formSubmitAtom);
30
33
  const { trackEvent } = useAmplitude();
34
+ const { trackWidgetInteraction } = useWidgetInteraction();
31
35
  return {
32
36
  logPageVisit: useCallback(({ pageVisitCategory }) => {
33
37
  const eventId = v4();
@@ -74,6 +78,14 @@ const useSalesAgentChatAPI = () => {
74
78
  trackEvent
75
79
  ]),
76
80
  onSuggestionClicked: useCallback((suggestion, displayLocation) => {
81
+ trackWidgetInteraction({
82
+ eventName: EnviveMetricsEventName.WidgetInteraction,
83
+ trigger: {
84
+ widget: WidgetInteractionComponent.FLOATING_CHAT,
85
+ widget_interaction: WidgetInteractionType.SUGGESTION_CLICKED,
86
+ widget_interaction_data: { suggestion_clicked: { suggestion_id: suggestion.id } }
87
+ }
88
+ });
77
89
  trackEvent({
78
90
  eventName: SpiffyMetricsEventName.ChatSuggestionClicked,
79
91
  eventProps: {
@@ -121,6 +133,14 @@ const useSalesAgentChatAPI = () => {
121
133
  ]),
122
134
  onTypedMessageSubmitted: useCallback(({ query, userTyped, displayLocation }) => {
123
135
  const eventId = v4();
136
+ trackWidgetInteraction({
137
+ eventName: EnviveMetricsEventName.WidgetInteraction,
138
+ trigger: {
139
+ widget: WidgetInteractionComponent.FLOATING_CHAT,
140
+ widget_interaction: WidgetInteractionType.MESSAGE_SUBMITTED,
141
+ widget_interaction_data: { message_submitted: { request_text: query } }
142
+ }
143
+ });
124
144
  trackEvent({
125
145
  eventName: SpiffyMetricsEventName.ChatUserMessageInput,
126
146
  eventProps: {
@@ -194,4 +214,4 @@ const useSalesAgentChatAPI = () => {
194
214
 
195
215
  //#endregion
196
216
  export { useSalesAgentChatAPI };
197
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdEFQSS5qcyIsIm5hbWVzIjpbInV1aWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvc2FsZXNBZ2VudENvbnRleHQvY2hhdEFQSS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGNvbXBvbmVudCB3aWxsIGludGVyYWN0IHdpdGggdGhlIGJhY2tlbmQgQVBJIHRvIGdldCB0aGUgcmVzcG9uc2VzIGZyb20gdGhlIHNhbGVzIGFnZW50LlxuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgUGFnZVZpc2l0Q2F0ZWdvcnksIFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7XG4gIENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjMsXG4gIEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzLFxuICBNZXNzYWdlUm9sZSxcbiAgTWVzc2FnZVR5cGUsXG4gIFN1Z2dlc3Rpb24sXG4gIFVzZXJFdmVudCxcbn0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyB1c2VBdG9tVmFsdWUsIHVzZVNldEF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IGZvcm1TdWJtaXRBdG9tLCByZXBseUV2ZW50Q2F0ZWdvcnlBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2NoYXQnO1xuaW1wb3J0IHsgcXVldWVVc2VyRXZlbnRBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2NoYXQvbWVzc2FnZVF1ZXVlJztcbmltcG9ydCB7IEVudml2ZU1ldHJpY3NFdmVudE5hbWUgfSBmcm9tICdzcmMvc2VydmljZXMvYW1wbGl0dWRlU2VydmljZS9hbXBsaXR1ZGVTZXJ2aWNlJztcbmltcG9ydCB7IGFuYWx5dGljc0NvbnRleHRBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2FwcC92YXJpYW50JztcbmltcG9ydCB7IGhhc1BhcnNlZFZhcmlhbnRJbmZvQXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9hcHAnO1xuaW1wb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSwgdXNlQW1wbGl0dWRlIH0gZnJvbSAnLi4vYW1wbGl0dWRlQ29udGV4dCc7XG5cbmNvbnN0IFRSQUNLRURfVVNFUl9FVkVOVFMgPSBbXG4gIFVzZXJFdmVudENhdGVnb3J5LlBhZ2VWaXNpdCxcbiAgVXNlckV2ZW50Q2F0ZWdvcnkuUGRwVmlzaXQsXG4gIFVzZXJFdmVudENhdGVnb3J5LlBscFZpc2l0LFxuXTtcbmV4cG9ydCBpbnRlcmZhY2UgU2FsZXNBZ2VudENoYXRBUEkge1xuICBsb2dQYWdlVmlzaXQ6ICh7IHBhZ2VWaXNpdENhdGVnb3J5IH06IHsgcGFnZVZpc2l0Q2F0ZWdvcnk6IFBhZ2VWaXNpdENhdGVnb3J5IH0pID0+IHZvaWQ7XG4gIGxvZ1VzZXJFdmVudDogKGV2ZW50OiBVc2VyRXZlbnQpID0+IHZvaWQ7XG4gIG9uU3VnZ2VzdGlvbkNsaWNrZWQ6IChcbiAgICBzdWdnZXN0aW9uOiBTdWdnZXN0aW9uLFxuICAgIGRpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMyxcbiAgKSA9PiB2b2lkO1xuICBvblR5cGVkTWVzc2FnZVN1Ym1pdHRlZDogKHtcbiAgICBxdWVyeSxcbiAgICB1c2VyVHlwZWQsXG4gICAgZGlzcGxheUxvY2F0aW9uLFxuICB9OiB7XG4gICAgcXVlcnk6IHN0cmluZztcbiAgICB1c2VyVHlwZWQ6IGJvb2xlYW47XG4gICAgZGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblYzO1xuICB9KSA9PiB2b2lkO1xuICBvbkZvcm1SZXNwb25zZVN1Ym1pdHRlZDogKGZvcm06IEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgdXNlU2FsZXNBZ2VudENoYXRBUEkgPSAoKSA9PiB7XG4gIC8vIFRPRE86IEVhY2ggb2YgdGhlc2UgZnVuY3Rpb25zIHdpbGwgdHJpZ2dlciBib3RoIHRoZSBuZWNlc3NhcnkgYW1wbGl0dWRlIGV2ZW50cyBhbmQgaW5pdGlhdGUgdGhlXG4gIC8vIG5lY2Vzc2FyeSBhY3Rpb25zIHRvIHRyaWdnZXIgdGhlIGJhY2tlbmQgQVBJXG4gIGNvbnN0IGNvbnRleHQgPSB1c2VBdG9tVmFsdWUoYW5hbHl0aWNzQ29udGV4dEF0b20pO1xuICBjb25zdCBoYXNQYXJzZWRWYXJpYW50SW5mbyA9IHVzZUF0b21WYWx1ZShoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20pO1xuICBjb25zdCBxdWV1ZVVzZXJFdmVudCA9IHVzZVNldEF0b20ocXVldWVVc2VyRXZlbnRBdG9tKTtcbiAgY29uc3Qgc2V0UmVwbHlFdmVudENhdGVnb3J5ID0gdXNlU2V0QXRvbShyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tKTtcbiAgY29uc3Qgc2V0Rm9ybVN1Ym1pdCA9IHVzZVNldEF0b20oZm9ybVN1Ym1pdEF0b20pO1xuICBjb25zdCB7IHRyYWNrRXZlbnQgfSA9IHVzZUFtcGxpdHVkZSgpO1xuXG4gIGNvbnN0IGxvZ1BhZ2VWaXNpdCA9IHVzZUNhbGxiYWNrKFxuICAgICh7IHBhZ2VWaXNpdENhdGVnb3J5IH06IHsgcGFnZVZpc2l0Q2F0ZWdvcnk6IFBhZ2VWaXNpdENhdGVnb3J5IH0pID0+IHtcbiAgICAgIGNvbnN0IGV2ZW50SWQgPSB1dWlkKCk7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkNoYXRSZXF1ZXN0LFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X2lkJzogZXZlbnRJZCxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnOiAncGFnZV92aXNpdCcsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGV2ZW50OiBVc2VyRXZlbnQgPSB7XG4gICAgICAgIGV2ZW50SWQsXG4gICAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5QYWdlVmlzaXQsXG4gICAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgdXJsOiB3aW5kb3cubG9jYXRpb24uaHJlZixcbiAgICAgICAgICBwYWdlVmlzaXRDYXRlZ29yeSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBxdWV1ZVVzZXJFdmVudChldmVudCk7XG4gICAgfSxcbiAgICBbcXVldWVVc2VyRXZlbnQsIGNvbnRleHQsIHRyYWNrRXZlbnRdLFxuICApO1xuXG4gIGNvbnN0IGxvZ1VzZXJFdmVudCA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogVXNlckV2ZW50KSA9PiB7XG4gICAgICBpZiAoIWhhc1BhcnNlZFZhcmlhbnRJbmZvKSB7XG4gICAgICAgIExvZ2dlci5sb2dXYXJuKFxuICAgICAgICAgICdbZW52aXZlLWFpXSBoYXNQYXJzZWRWYXJpYW50SW5mbyBpcyBmYWxzZSwgbm90IGxvZ2dpbmcgdXNlciBldmVudCcsXG4gICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgIHsgZXZlbnQgfSxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKFRSQUNLRURfVVNFUl9FVkVOVFMuaW5jbHVkZXMoZXZlbnQuY2F0ZWdvcnkpKSB7XG4gICAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVxdWVzdCxcbiAgICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IGV2ZW50LmV2ZW50SWQsXG4gICAgICAgICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnOiAncGFnZV92aXNpdCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBxdWV1ZVVzZXJFdmVudChldmVudCk7XG4gICAgfSxcbiAgICBbY29udGV4dCwgaGFzUGFyc2VkVmFyaWFudEluZm8sIHF1ZXVlVXNlckV2ZW50LCB0cmFja0V2ZW50XSxcbiAgKTtcbiAgY29uc3Qgb25TdWdnZXN0aW9uQ2xpY2tlZCA9IHVzZUNhbGxiYWNrKFxuICAgIChzdWdnZXN0aW9uOiBTdWdnZXN0aW9uLCBkaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjMpID0+IHtcbiAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuQ2hhdFN1Z2dlc3Rpb25DbGlja2VkLFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgbWVzc2FnZV9pZDogc3VnZ2VzdGlvbi5pZCxcbiAgICAgICAgICBtZXNzYWdlX3JvbGU6IE1lc3NhZ2VSb2xlLlVzZXIsXG4gICAgICAgICAgbWVzc2FnZV90eXBlOiBNZXNzYWdlVHlwZS5TdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICAgICAgICBtZXNzYWdlX21ldGFkYXRhOiB7XG4gICAgICAgICAgICBjb250ZW50OiBzdWdnZXN0aW9uLmNvbnRlbnQsXG4gICAgICAgICAgICBjcmVhdGVkX2F0OiBzdWdnZXN0aW9uLmNyZWF0ZWRBdCxcbiAgICAgICAgICAgIGNhdGVnb3J5OiBzdWdnZXN0aW9uLmNhdGVnb3J5LFxuICAgICAgICAgICAgaXNfYW5zd2VyOiBzdWdnZXN0aW9uLmlzQW5zd2VyLFxuICAgICAgICAgICAgZGlzcGxheV9sb2NhdGlvbjogZGlzcGxheUxvY2F0aW9uLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGV2ZW50SWQgPSB1dWlkKCk7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkNoYXRSZXF1ZXN0LFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgICAndHJpZ2dlci53aWRnZXQnOiBkaXNwbGF5TG9jYXRpb24sIC8vIFRoaXMgaXMgZmFpcmx5IGZpbmVncmFpbmVkLCBidXQgdGhhdCBtYXkgYmUgb2tcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X2lkJzogZXZlbnRJZCxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnOiAnc3VnZ2VzdGlvbicsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF90ZXh0Jzogc3VnZ2VzdGlvbi5jb250ZW50LFxuICAgICAgICAgICdjaGF0LnN1Z2dlc3Rpb25faWQnOiBzdWdnZXN0aW9uLmlkLFxuICAgICAgICAgICdjaGF0LnN1Z2dlc3Rpb25fY2F0ZWdvcnknOiBzdWdnZXN0aW9uLmNhdGVnb3J5LFxuICAgICAgICAgICdjaGF0LnN1Z2dlc3Rpb25fY3JlYXRlZF9hdCc6IHN1Z2dlc3Rpb24uY3JlYXRlZEF0LFxuICAgICAgICAgICdjaGF0LnN1Z2dlc3Rpb25faXNfYW5zd2VyJzogc3VnZ2VzdGlvbi5pc0Fuc3dlcixcbiAgICAgICAgICAnY2hhdC51c2VyX3R5cGVkJzogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGV2ZW50OiBVc2VyRXZlbnQgPSB7XG4gICAgICAgIGV2ZW50SWQsXG4gICAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5TdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBzdWdnZXN0aW9uSWQ6IHN1Z2dlc3Rpb24uaWQsXG4gICAgICAgICAgY29udGVudDogc3VnZ2VzdGlvbi5jb250ZW50LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIHF1ZXVlVXNlckV2ZW50KGV2ZW50KTtcbiAgICB9LFxuICAgIFtxdWV1ZVVzZXJFdmVudCwgdHJhY2tFdmVudCwgY29udGV4dF0sXG4gICk7XG4gIGNvbnN0IG9uVHlwZWRNZXNzYWdlU3VibWl0dGVkID0gdXNlQ2FsbGJhY2soXG4gICAgKHtcbiAgICAgIHF1ZXJ5LFxuICAgICAgdXNlclR5cGVkLFxuICAgICAgZGlzcGxheUxvY2F0aW9uLFxuICAgIH06IHtcbiAgICAgIHF1ZXJ5OiBzdHJpbmc7XG4gICAgICB1c2VyVHlwZWQ6IGJvb2xlYW47XG4gICAgICBkaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjM7XG4gICAgfSkgPT4ge1xuICAgICAgY29uc3QgZXZlbnRJZCA9IHV1aWQoKTtcbiAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuQ2hhdFVzZXJNZXNzYWdlSW5wdXQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICB1c2VyX3R5cGVkOiB1c2VyVHlwZWQsXG4gICAgICAgICAgbWVzc2FnZV9pZDogZXZlbnRJZCxcbiAgICAgICAgICBtZXNzYWdlX3JvbGU6IE1lc3NhZ2VSb2xlLlVzZXIsXG4gICAgICAgICAgbWVzc2FnZV90eXBlOiBNZXNzYWdlVHlwZS5RdWVyeVR5cGVkLFxuICAgICAgICAgIG1lc3NhZ2VfbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHF1ZXJ5LFxuICAgICAgICAgICAgY3JlYXRlZF9hdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICAgICAgdXNlcl90eXBlZDogdXNlclR5cGVkLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuQ2hhdFJlcXVlc3QsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICAgICd0cmlnZ2VyLndpZGdldCc6IGRpc3BsYXlMb2NhdGlvbixcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnOiAndGV4dCcsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF90ZXh0JzogcXVlcnksXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IGV2ZW50SWQsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF9jcmVhdGVkX2F0JzogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICAgICdjaGF0LnVzZXJfdHlwZWQnOiB1c2VyVHlwZWQsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGV2ZW50OiBVc2VyRXZlbnQgPSB7XG4gICAgICAgIGV2ZW50SWQsXG4gICAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkLFxuICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgIHVzZXJUeXBlZCxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBxdWV1ZVVzZXJFdmVudChldmVudCk7XG4gICAgfSxcbiAgICBbcXVldWVVc2VyRXZlbnQsIHRyYWNrRXZlbnQsIGNvbnRleHRdLFxuICApO1xuICBjb25zdCBvbkZvcm1SZXNwb25zZVN1Ym1pdHRlZCA9IHVzZUNhbGxiYWNrKFxuICAgIChmb3JtOiBGb3JtU3VibWl0dGVkQXR0cmlidXRlcykgPT4ge1xuICAgICAgc2V0UmVwbHlFdmVudENhdGVnb3J5KFVzZXJFdmVudENhdGVnb3J5LkZvcm1TdWJtaXR0ZWQpO1xuICAgICAgc2V0Rm9ybVN1Ym1pdChmb3JtKTtcbiAgICAgIGNvbnN0IGV2ZW50SWQgPSB1dWlkKCk7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkNoYXRSZXF1ZXN0LFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X2lkJzogZXZlbnRJZCxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnOiAnZm9ybScsXG4gICAgICAgICAgJ2NoYXQuZm9ybV9yZXNwb25zZV9pZCc6IGZvcm0uZm9ybVJlc3BvbnNlSWQsXG4gICAgICAgICAgJ2NoYXQuZm9ybV90eXBlJzogZm9ybS5mb3JtVHlwZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZXZlbnQ6IFVzZXJFdmVudCA9IHtcbiAgICAgICAgZXZlbnRJZCxcbiAgICAgICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LkZvcm1TdWJtaXR0ZWQsXG4gICAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBhdHRyaWJ1dGVzOiBmb3JtLFxuICAgICAgfTtcbiAgICAgIHF1ZXVlVXNlckV2ZW50KGV2ZW50KTtcbiAgICB9LFxuICAgIFtzZXRSZXBseUV2ZW50Q2F0ZWdvcnksIHNldEZvcm1TdWJtaXQsIHRyYWNrRXZlbnQsIGNvbnRleHQsIHF1ZXVlVXNlckV2ZW50XSxcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIGxvZ1BhZ2VWaXNpdCxcbiAgICBsb2dVc2VyRXZlbnQsXG4gICAgb25TdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICBvblR5cGVkTWVzc2FnZVN1Ym1pdHRlZCxcbiAgICBvbkZvcm1SZXNwb25zZVN1Ym1pdHRlZCxcbiAgfTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFCQSxNQUFNLHNCQUFzQjtDQUMxQixrQkFBa0I7Q0FDbEIsa0JBQWtCO0NBQ2xCLGtCQUFrQjtDQUNuQjtBQW9CRCxNQUFhLDZCQUE2QjtDQUd4QyxNQUFNLFVBQVUsYUFB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
217
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdEFQSS5qcyIsIm5hbWVzIjpbInV1aWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvc2FsZXNBZ2VudENvbnRleHQvY2hhdEFQSS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGNvbXBvbmVudCB3aWxsIGludGVyYWN0IHdpdGggdGhlIGJhY2tlbmQgQVBJIHRvIGdldCB0aGUgcmVzcG9uc2VzIGZyb20gdGhlIHNhbGVzIGFnZW50LlxuaW1wb3J0IHsgUGFnZVZpc2l0Q2F0ZWdvcnksIFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IHVzZUF0b21WYWx1ZSwgdXNlU2V0QXRvbSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHtcbiAgQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMyxcbiAgRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMsXG4gIE1lc3NhZ2VSb2xlLFxuICBNZXNzYWdlVHlwZSxcbiAgU3VnZ2VzdGlvbixcbiAgVXNlckV2ZW50LFxufSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7IGhhc1BhcnNlZFZhcmlhbnRJbmZvQXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9hcHAnO1xuaW1wb3J0IHsgYW5hbHl0aWNzQ29udGV4dEF0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwL3ZhcmlhbnQnO1xuaW1wb3J0IHsgZm9ybVN1Ym1pdEF0b20sIHJlcGx5RXZlbnRDYXRlZ29yeUF0b20gfSBmcm9tICdzcmMvYXRvbXMvY2hhdCc7XG5pbXBvcnQgeyBxdWV1ZVVzZXJFdmVudEF0b20gfSBmcm9tICdzcmMvYXRvbXMvY2hhdC9tZXNzYWdlUXVldWUnO1xuaW1wb3J0IHsgdXNlV2lkZ2V0SW50ZXJhY3Rpb24gfSBmcm9tICdzcmMvaG9va3MvV2lkZ2V0SW50ZXJhY3Rpb24nO1xuaW1wb3J0IHtcbiAgV2lkZ2V0SW50ZXJhY3Rpb25Db21wb25lbnQsXG4gIFdpZGdldEludGVyYWN0aW9uVHlwZSxcbn0gZnJvbSAnc3JjL2hvb2tzL1dpZGdldEludGVyYWN0aW9uL3R5cGVzJztcbmltcG9ydCB7IEVudml2ZU1ldHJpY3NFdmVudE5hbWUgfSBmcm9tICdzcmMvc2VydmljZXMvYW1wbGl0dWRlU2VydmljZS9hbXBsaXR1ZGVTZXJ2aWNlJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUsIHVzZUFtcGxpdHVkZSB9IGZyb20gJy4uL2FtcGxpdHVkZUNvbnRleHQnO1xuXG5jb25zdCBUUkFDS0VEX1VTRVJfRVZFTlRTID0gW1xuICBVc2VyRXZlbnRDYXRlZ29yeS5QYWdlVmlzaXQsXG4gIFVzZXJFdmVudENhdGVnb3J5LlBkcFZpc2l0LFxuICBVc2VyRXZlbnRDYXRlZ29yeS5QbHBWaXNpdCxcbl07XG5leHBvcnQgaW50ZXJmYWNlIFNhbGVzQWdlbnRDaGF0QVBJIHtcbiAgbG9nUGFnZVZpc2l0OiAoeyBwYWdlVmlzaXRDYXRlZ29yeSB9OiB7IHBhZ2VWaXNpdENhdGVnb3J5OiBQYWdlVmlzaXRDYXRlZ29yeSB9KSA9PiB2b2lkO1xuICBsb2dVc2VyRXZlbnQ6IChldmVudDogVXNlckV2ZW50KSA9PiB2b2lkO1xuICBvblN1Z2dlc3Rpb25DbGlja2VkOiAoXG4gICAgc3VnZ2VzdGlvbjogU3VnZ2VzdGlvbixcbiAgICBkaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjMsXG4gICkgPT4gdm9pZDtcbiAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQ6ICh7XG4gICAgcXVlcnksXG4gICAgdXNlclR5cGVkLFxuICAgIGRpc3BsYXlMb2NhdGlvbixcbiAgfToge1xuICAgIHF1ZXJ5OiBzdHJpbmc7XG4gICAgdXNlclR5cGVkOiBib29sZWFuO1xuICAgIGRpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMztcbiAgfSkgPT4gdm9pZDtcbiAgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQ6IChmb3JtOiBGb3JtU3VibWl0dGVkQXR0cmlidXRlcykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IHVzZVNhbGVzQWdlbnRDaGF0QVBJID0gKCkgPT4ge1xuICAvLyBUT0RPOiBFYWNoIG9mIHRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRyaWdnZXIgYm90aCB0aGUgbmVjZXNzYXJ5IGFtcGxpdHVkZSBldmVudHMgYW5kIGluaXRpYXRlIHRoZVxuICAvLyBuZWNlc3NhcnkgYWN0aW9ucyB0byB0cmlnZ2VyIHRoZSBiYWNrZW5kIEFQSVxuICBjb25zdCBjb250ZXh0ID0gdXNlQXRvbVZhbHVlKGFuYWx5dGljc0NvbnRleHRBdG9tKTtcbiAgY29uc3QgaGFzUGFyc2VkVmFyaWFudEluZm8gPSB1c2VBdG9tVmFsdWUoaGFzUGFyc2VkVmFyaWFudEluZm9BdG9tKTtcbiAgY29uc3QgcXVldWVVc2VyRXZlbnQgPSB1c2VTZXRBdG9tKHF1ZXVlVXNlckV2ZW50QXRvbSk7XG4gIGNvbnN0IHNldFJlcGx5RXZlbnRDYXRlZ29yeSA9IHVzZVNldEF0b20ocmVwbHlFdmVudENhdGVnb3J5QXRvbSk7XG4gIGNvbnN0IHNldEZvcm1TdWJtaXQgPSB1c2VTZXRBdG9tKGZvcm1TdWJtaXRBdG9tKTtcbiAgY29uc3QgeyB0cmFja0V2ZW50IH0gPSB1c2VBbXBsaXR1ZGUoKTtcbiAgY29uc3QgeyB0cmFja1dpZGdldEludGVyYWN0aW9uIH0gPSB1c2VXaWRnZXRJbnRlcmFjdGlvbigpO1xuXG4gIGNvbnN0IGxvZ1BhZ2VWaXNpdCA9IHVzZUNhbGxiYWNrKFxuICAgICh7IHBhZ2VWaXNpdENhdGVnb3J5IH06IHsgcGFnZVZpc2l0Q2F0ZWdvcnk6IFBhZ2VWaXNpdENhdGVnb3J5IH0pID0+IHtcbiAgICAgIGNvbnN0IGV2ZW50SWQgPSB1dWlkKCk7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkNoYXRSZXF1ZXN0LFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X2lkJzogZXZlbnRJZCxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnOiAncGFnZV92aXNpdCcsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGV2ZW50OiBVc2VyRXZlbnQgPSB7XG4gICAgICAgIGV2ZW50SWQsXG4gICAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5QYWdlVmlzaXQsXG4gICAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgdXJsOiB3aW5kb3cubG9jYXRpb24uaHJlZixcbiAgICAgICAgICBwYWdlVmlzaXRDYXRlZ29yeSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBxdWV1ZVVzZXJFdmVudChldmVudCk7XG4gICAgfSxcbiAgICBbcXVldWVVc2VyRXZlbnQsIGNvbnRleHQsIHRyYWNrRXZlbnRdLFxuICApO1xuXG4gIGNvbnN0IGxvZ1VzZXJFdmVudCA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogVXNlckV2ZW50KSA9PiB7XG4gICAgICBpZiAoIWhhc1BhcnNlZFZhcmlhbnRJbmZvKSB7XG4gICAgICAgIExvZ2dlci5sb2dXYXJuKFxuICAgICAgICAgICdbZW52aXZlLWFpXSBoYXNQYXJzZWRWYXJpYW50SW5mbyBpcyBmYWxzZSwgbm90IGxvZ2dpbmcgdXNlciBldmVudCcsXG4gICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgIHsgZXZlbnQgfSxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKFRSQUNLRURfVVNFUl9FVkVOVFMuaW5jbHVkZXMoZXZlbnQuY2F0ZWdvcnkpKSB7XG4gICAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVxdWVzdCxcbiAgICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IGV2ZW50LmV2ZW50SWQsXG4gICAgICAgICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnOiAncGFnZV92aXNpdCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBxdWV1ZVVzZXJFdmVudChldmVudCk7XG4gICAgfSxcbiAgICBbY29udGV4dCwgaGFzUGFyc2VkVmFyaWFudEluZm8sIHF1ZXVlVXNlckV2ZW50LCB0cmFja0V2ZW50XSxcbiAgKTtcbiAgY29uc3Qgb25TdWdnZXN0aW9uQ2xpY2tlZCA9IHVzZUNhbGxiYWNrKFxuICAgIChzdWdnZXN0aW9uOiBTdWdnZXN0aW9uLCBkaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjMpID0+IHtcbiAgICAgIHRyYWNrV2lkZ2V0SW50ZXJhY3Rpb24oe1xuICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0SW50ZXJhY3Rpb24sXG4gICAgICAgIHRyaWdnZXI6IHtcbiAgICAgICAgICB3aWRnZXQ6IFdpZGdldEludGVyYWN0aW9uQ29tcG9uZW50LkZMT0FUSU5HX0NIQVQsXG4gICAgICAgICAgd2lkZ2V0X2ludGVyYWN0aW9uOiBXaWRnZXRJbnRlcmFjdGlvblR5cGUuU1VHR0VTVElPTl9DTElDS0VELFxuICAgICAgICAgIHdpZGdldF9pbnRlcmFjdGlvbl9kYXRhOiB7XG4gICAgICAgICAgICBzdWdnZXN0aW9uX2NsaWNrZWQ6IHtcbiAgICAgICAgICAgICAgc3VnZ2VzdGlvbl9pZDogc3VnZ2VzdGlvbi5pZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLkNoYXRTdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIG1lc3NhZ2VfaWQ6IHN1Z2dlc3Rpb24uaWQsXG4gICAgICAgICAgbWVzc2FnZV9yb2xlOiBNZXNzYWdlUm9sZS5Vc2VyLFxuICAgICAgICAgIG1lc3NhZ2VfdHlwZTogTWVzc2FnZVR5cGUuU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgICAgICAgbWVzc2FnZV9tZXRhZGF0YToge1xuICAgICAgICAgICAgY29udGVudDogc3VnZ2VzdGlvbi5jb250ZW50LFxuICAgICAgICAgICAgY3JlYXRlZF9hdDogc3VnZ2VzdGlvbi5jcmVhdGVkQXQsXG4gICAgICAgICAgICBjYXRlZ29yeTogc3VnZ2VzdGlvbi5jYXRlZ29yeSxcbiAgICAgICAgICAgIGlzX2Fuc3dlcjogc3VnZ2VzdGlvbi5pc0Fuc3dlcixcbiAgICAgICAgICAgIGRpc3BsYXlfbG9jYXRpb246IGRpc3BsYXlMb2NhdGlvbixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBldmVudElkID0gdXVpZCgpO1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVxdWVzdCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgICAgJ3RyaWdnZXIud2lkZ2V0JzogZGlzcGxheUxvY2F0aW9uLCAvLyBUaGlzIGlzIGZhaXJseSBmaW5lZ3JhaW5lZCwgYnV0IHRoYXQgbWF5IGJlIG9rXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IGV2ZW50SWQsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJzogJ3N1Z2dlc3Rpb24nLFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfdGV4dCc6IHN1Z2dlc3Rpb24uY29udGVudCxcbiAgICAgICAgICAnY2hhdC5zdWdnZXN0aW9uX2lkJzogc3VnZ2VzdGlvbi5pZCxcbiAgICAgICAgICAnY2hhdC5zdWdnZXN0aW9uX2NhdGVnb3J5Jzogc3VnZ2VzdGlvbi5jYXRlZ29yeSxcbiAgICAgICAgICAnY2hhdC5zdWdnZXN0aW9uX2NyZWF0ZWRfYXQnOiBzdWdnZXN0aW9uLmNyZWF0ZWRBdCxcbiAgICAgICAgICAnY2hhdC5zdWdnZXN0aW9uX2lzX2Fuc3dlcic6IHN1Z2dlc3Rpb24uaXNBbnN3ZXIsXG4gICAgICAgICAgJ2NoYXQudXNlcl90eXBlZCc6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBldmVudDogVXNlckV2ZW50ID0ge1xuICAgICAgICBldmVudElkLFxuICAgICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgc3VnZ2VzdGlvbklkOiBzdWdnZXN0aW9uLmlkLFxuICAgICAgICAgIGNvbnRlbnQ6IHN1Z2dlc3Rpb24uY29udGVudCxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBxdWV1ZVVzZXJFdmVudChldmVudCk7XG4gICAgfSxcbiAgICBbcXVldWVVc2VyRXZlbnQsIHRyYWNrRXZlbnQsIGNvbnRleHRdLFxuICApO1xuICBjb25zdCBvblR5cGVkTWVzc2FnZVN1Ym1pdHRlZCA9IHVzZUNhbGxiYWNrKFxuICAgICh7XG4gICAgICBxdWVyeSxcbiAgICAgIHVzZXJUeXBlZCxcbiAgICAgIGRpc3BsYXlMb2NhdGlvbixcbiAgICB9OiB7XG4gICAgICBxdWVyeTogc3RyaW5nO1xuICAgICAgdXNlclR5cGVkOiBib29sZWFuO1xuICAgICAgZGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblYzO1xuICAgIH0pID0+IHtcbiAgICAgIGNvbnN0IGV2ZW50SWQgPSB1dWlkKCk7XG5cbiAgICAgIHRyYWNrV2lkZ2V0SW50ZXJhY3Rpb24oe1xuICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0SW50ZXJhY3Rpb24sXG4gICAgICAgIHRyaWdnZXI6IHtcbiAgICAgICAgICB3aWRnZXQ6IFdpZGdldEludGVyYWN0aW9uQ29tcG9uZW50LkZMT0FUSU5HX0NIQVQsXG4gICAgICAgICAgd2lkZ2V0X2ludGVyYWN0aW9uOiBXaWRnZXRJbnRlcmFjdGlvblR5cGUuTUVTU0FHRV9TVUJNSVRURUQsXG4gICAgICAgICAgd2lkZ2V0X2ludGVyYWN0aW9uX2RhdGE6IHtcbiAgICAgICAgICAgIG1lc3NhZ2Vfc3VibWl0dGVkOiB7XG4gICAgICAgICAgICAgIHJlcXVlc3RfdGV4dDogcXVlcnksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5DaGF0VXNlck1lc3NhZ2VJbnB1dCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgIHVzZXJfdHlwZWQ6IHVzZXJUeXBlZCxcbiAgICAgICAgICBtZXNzYWdlX2lkOiBldmVudElkLFxuICAgICAgICAgIG1lc3NhZ2Vfcm9sZTogTWVzc2FnZVJvbGUuVXNlcixcbiAgICAgICAgICBtZXNzYWdlX3R5cGU6IE1lc3NhZ2VUeXBlLlF1ZXJ5VHlwZWQsXG4gICAgICAgICAgbWVzc2FnZV9tZXRhZGF0YToge1xuICAgICAgICAgICAgY29udGVudDogcXVlcnksXG4gICAgICAgICAgICBjcmVhdGVkX2F0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgICB1c2VyX3R5cGVkOiB1c2VyVHlwZWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVxdWVzdCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgICAgJ3RyaWdnZXIud2lkZ2V0JzogZGlzcGxheUxvY2F0aW9uLFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfdHlwZSc6ICd0ZXh0JyxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X3RleHQnOiBxdWVyeSxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X2lkJzogZXZlbnRJZCxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X2NyZWF0ZWRfYXQnOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgJ2NoYXQudXNlcl90eXBlZCc6IHVzZXJUeXBlZCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZXZlbnQ6IFVzZXJFdmVudCA9IHtcbiAgICAgICAgZXZlbnRJZCxcbiAgICAgICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlF1ZXJ5VHlwZWQsXG4gICAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgcXVlcnksXG4gICAgICAgICAgdXNlclR5cGVkLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIHF1ZXVlVXNlckV2ZW50KGV2ZW50KTtcbiAgICB9LFxuICAgIFtxdWV1ZVVzZXJFdmVudCwgdHJhY2tFdmVudCwgY29udGV4dF0sXG4gICk7XG4gIGNvbnN0IG9uRm9ybVJlc3BvbnNlU3VibWl0dGVkID0gdXNlQ2FsbGJhY2soXG4gICAgKGZvcm06IEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzKSA9PiB7XG4gICAgICBzZXRSZXBseUV2ZW50Q2F0ZWdvcnkoVXNlckV2ZW50Q2F0ZWdvcnkuRm9ybVN1Ym1pdHRlZCk7XG4gICAgICBzZXRGb3JtU3VibWl0KGZvcm0pO1xuICAgICAgY29uc3QgZXZlbnRJZCA9IHV1aWQoKTtcbiAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuQ2hhdFJlcXVlc3QsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfaWQnOiBldmVudElkLFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfdHlwZSc6ICdmb3JtJyxcbiAgICAgICAgICAnY2hhdC5mb3JtX3Jlc3BvbnNlX2lkJzogZm9ybS5mb3JtUmVzcG9uc2VJZCxcbiAgICAgICAgICAnY2hhdC5mb3JtX3R5cGUnOiBmb3JtLmZvcm1UeXBlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBldmVudDogVXNlckV2ZW50ID0ge1xuICAgICAgICBldmVudElkLFxuICAgICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuRm9ybVN1Ym1pdHRlZCxcbiAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIGF0dHJpYnV0ZXM6IGZvcm0sXG4gICAgICB9O1xuICAgICAgcXVldWVVc2VyRXZlbnQoZXZlbnQpO1xuICAgIH0sXG4gICAgW3NldFJlcGx5RXZlbnRDYXRlZ29yeSwgc2V0Rm9ybVN1Ym1pdCwgdHJhY2tFdmVudCwgY29udGV4dCwgcXVldWVVc2VyRXZlbnRdLFxuICApO1xuXG4gIHJldHVybiB7XG4gICAgbG9nUGFnZVZpc2l0LFxuICAgIGxvZ1VzZXJFdmVudCxcbiAgICBvblN1Z2dlc3Rpb25DbGlja2VkLFxuICAgIG9uVHlwZWRNZXNzYWdlU3VibWl0dGVk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
@@ -1,5 +1,5 @@
1
1
  import { GenerationParams } from "../../application/models/api/generationParams.js";
2
- import * as react2 from "react";
2
+ import * as react0 from "react";
3
3
  import { Dispatch, ReactNode, SetStateAction } from "react";
4
4
  import * as react_jsx_runtime0 from "react/jsx-runtime";
5
5
 
@@ -16,7 +16,7 @@ interface SystemSettingsContextProviderProps {
16
16
  generationParams?: GenerationParams;
17
17
  showDebugBar?: boolean;
18
18
  }
19
- declare const SystemSettingsContext: react2.Context<SystemSettingsContextParams | undefined>;
19
+ declare const SystemSettingsContext: react0.Context<SystemSettingsContextParams | undefined>;
20
20
  declare const SystemSettingsContextProvider: ({
21
21
  children,
22
22
  generationParams,