@projectcor/maia-components 2.11.100-1 → 2.11.100-2

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 (31) hide show
  1. package/lib/App.js +4 -2
  2. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.js +4 -1
  3. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.styles.js +30 -22
  4. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +91 -4
  5. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +157 -35
  6. package/lib/components/molecules/StreamAssistantTurnTimeline/StreamAssistantTurnTimeline.js +90 -0
  7. package/lib/components/molecules/StreamAssistantTurnTimeline/StreamAssistantTurnTimeline.styles.js +19 -0
  8. package/lib/components/molecules/StreamAssistantTurnTimeline/index.js +2 -0
  9. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +34 -5
  10. package/lib/dev/DevStreamTimelineDemo.js +614 -0
  11. package/lib/dev/mockStreamTimelineDemo.js +417 -0
  12. package/lib/dev/mockStreamTimelineRunner.js +298 -0
  13. package/lib/hooks/useAgentModel/useCreateAgent.js +40 -14
  14. package/lib/hooks/useAgentModel/useUpdateAgent.js +37 -11
  15. package/lib/hooks/useChatManager/useChatManager.js +118 -40
  16. package/lib/hooks/useEvent.js +2 -1
  17. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +151 -20
  18. package/lib/hooks/useStreamTimeline/index.js +7 -0
  19. package/lib/hooks/useStreamTimeline/streamTimelineStore.js +37 -0
  20. package/lib/lang/br/index.js +8 -1
  21. package/lib/lang/en/index.js +8 -1
  22. package/lib/lang/es/index.js +8 -1
  23. package/lib/lang/fr/index.js +8 -1
  24. package/lib/services/maia/Agents/connectors.js +124 -0
  25. package/lib/types/agentModal.js +1 -1
  26. package/lib/types/streamTimeline.js +2 -0
  27. package/lib/utils/normalizeAgentConnectors.js +28 -3
  28. package/lib/utils/streamDebugLog.js +169 -0
  29. package/lib/utils/streamExecutionSteps.js +19 -2
  30. package/lib/utils/streamTimeline.js +161 -0
  31. package/package.json +1 -1
package/lib/App.js CHANGED
@@ -4,12 +4,14 @@ import { useState } from 'react';
4
4
  import { DevChatAI } from './dev/DevChatAI';
5
5
  import { DevProjectSummary } from './dev/ProjectSummary';
6
6
  import { DevContextMentionInput } from './dev/DevContextMentionInput';
7
+ import { DevStreamTimelineDemo } from './dev/DevStreamTimelineDemo';
7
8
  import { Providers } from './dev/Providers';
8
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
10
  var PAGES = {
10
11
  'Resumen de proyectos': DevProjectSummary,
11
12
  'Chat Agente PM': DevChatAI,
12
- 'Context Mention Input': DevContextMentionInput
13
+ 'Context Mention Input': DevContextMentionInput,
14
+ 'Stream Timeline Demo': DevStreamTimelineDemo
13
15
  };
14
16
  function App() {
15
17
  var _useState = useState('Context Mention Input'),
@@ -52,4 +54,4 @@ function App() {
52
54
  });
53
55
  }
54
56
  export default App;
55
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsIkRldkNoYXRBSSIsIkRldlByb2plY3RTdW1tYXJ5IiwiRGV2Q29udGV4dE1lbnRpb25JbnB1dCIsIlByb3ZpZGVycyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJQQUdFUyIsIkFwcCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInBhZ2UiLCJzZXRQYWdlIiwiQ29tcG9uZW50IiwicGFnZXMiLCJPYmplY3QiLCJrZXlzIiwiY2hpbGRyZW4iLCJzdHlsZSIsImRpc3BsYXkiLCJnYXAiLCJwYWRkaW5nIiwibWFwIiwicCIsIm9uQ2xpY2siLCJmb250V2VpZ2h0IiwiaWQiXSwic291cmNlcyI6WyIuLi9zcmMvQXBwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9idXR0b24taGFzLXR5cGUgKi9cbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IERldkNoYXRBSSB9IGZyb20gJy4vZGV2L0RldkNoYXRBSSdcbmltcG9ydCB7IERldlByb2plY3RTdW1tYXJ5IH0gZnJvbSAnLi9kZXYvUHJvamVjdFN1bW1hcnknXG5pbXBvcnQgeyBEZXZDb250ZXh0TWVudGlvbklucHV0IH0gZnJvbSAnLi9kZXYvRGV2Q29udGV4dE1lbnRpb25JbnB1dCdcbmltcG9ydCB7IFByb3ZpZGVycyB9IGZyb20gJy4vZGV2L1Byb3ZpZGVycydcblxuY29uc3QgUEFHRVMgPSB7XG4gICdSZXN1bWVuIGRlIHByb3llY3Rvcyc6IERldlByb2plY3RTdW1tYXJ5LFxuICAnQ2hhdCBBZ2VudGUgUE0nOiBEZXZDaGF0QUksXG4gICdDb250ZXh0IE1lbnRpb24gSW5wdXQnOiBEZXZDb250ZXh0TWVudGlvbklucHV0LFxufVxuXG50eXBlIFBhZ2UgPSBrZXlvZiB0eXBlb2YgUEFHRVNcblxuZnVuY3Rpb24gQXBwKCkge1xuICBjb25zdCBbcGFnZSwgc2V0UGFnZV0gPSB1c2VTdGF0ZTxQYWdlPignQ29udGV4dCBNZW50aW9uIElucHV0JylcbiAgY29uc3QgQ29tcG9uZW50ID0gUEFHRVNbcGFnZV1cbiAgY29uc3QgcGFnZXMgPSBPYmplY3Qua2V5cyhQQUdFUykgYXMgUGFnZVtdXG5cbiAgcmV0dXJuIChcbiAgICA8UHJvdmlkZXJzPlxuICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGdhcDogOCwgcGFkZGluZzogOCB9fT5cbiAgICAgICAge3BhZ2VzLm1hcChwID0+IChcbiAgICAgICAgICA8YnV0dG9uIGtleT17cH0gb25DbGljaz17KCkgPT4gc2V0UGFnZShwKX0gc3R5bGU9e3sgZm9udFdlaWdodDogcGFnZSA9PT0gcCA/IDcwMCA6IDQwMCB9fT5cbiAgICAgICAgICAgIHtwfVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICApKX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBpZD1cIm1vZGFscy1wb3J0YWwtbWFpYS1jaGF0LWFnZW50XCIgLz5cbiAgICAgIDxkaXYgaWQ9XCJhYm0tYWdlbnQtbW9kYWxcIiAvPlxuICAgICAgPGRpdiBpZD1cInNuYWNrYmFyLXBvcnRhbC1tYWlhLWNoYXQtYWdlbnRcIiAvPlxuICAgICAgPGRpdiBpZD1cImVtb2ppLXBpY2tlci1jb250YWluZXJcIiAvPlxuICAgICAgPGRpdiBpZD1cImVtb2ppLXBpY2tlci1jb250YWluZXItbWFpYS1jaGF0LWFnZW50XCIgLz5cbiAgICAgIDxkaXYgaWQ9XCJtb2RhbC1wb3J0YWwtdmlkZW8tb25ib2FyZGluZ1wiIC8+XG4gICAgICA8Q29tcG9uZW50IC8+XG4gICAgPC9Qcm92aWRlcnM+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgQXBwXG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBLFNBQVNBLFFBQVEsUUFBUSxPQUFPO0FBRWhDLFNBQVNDLFNBQVMsUUFBUSxpQkFBaUI7QUFDM0MsU0FBU0MsaUJBQWlCLFFBQVEsc0JBQXNCO0FBQ3hELFNBQVNDLHNCQUFzQixRQUFRLDhCQUE4QjtBQUNyRSxTQUFTQyxTQUFTLFFBQVEsaUJBQWlCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQUUzQyxJQUFNQyxLQUFLLEdBQUc7RUFDWixzQkFBc0IsRUFBRVAsaUJBQWlCO0VBQ3pDLGdCQUFnQixFQUFFRCxTQUFTO0VBQzNCLHVCQUF1QixFQUFFRTtBQUMzQixDQUFDO0FBSUQsU0FBU08sR0FBR0EsQ0FBQSxFQUFHO0VBQ2IsSUFBQUMsU0FBQSxHQUF3QlgsUUFBUSxDQUFPLHVCQUF1QixDQUFDO0lBQUFZLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQXhERyxJQUFJLEdBQUFGLFVBQUE7SUFBRUcsT0FBTyxHQUFBSCxVQUFBO0VBQ3BCLElBQU1JLFNBQVMsR0FBR1AsS0FBSyxDQUFDSyxJQUFJLENBQUM7RUFDN0IsSUFBTUcsS0FBSyxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQ1YsS0FBSyxDQUFXO0VBRTFDLG9CQUNFRCxLQUFBLENBQUNKLFNBQVM7SUFBQWdCLFFBQUEsZ0JBQ1JkLElBQUE7TUFBS2UsS0FBSyxFQUFFO1FBQUVDLE9BQU8sRUFBRSxNQUFNO1FBQUVDLEdBQUcsRUFBRSxDQUFDO1FBQUVDLE9BQU8sRUFBRTtNQUFFLENBQUU7TUFBQUosUUFBQSxFQUNqREgsS0FBSyxDQUFDUSxHQUFHLENBQUMsVUFBQUMsQ0FBQztRQUFBLG9CQUNWcEIsSUFBQTtVQUFnQnFCLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO1lBQUEsT0FBUVosT0FBTyxDQUFDVyxDQUFDLENBQUM7VUFBQSxDQUFDO1VBQUNMLEtBQUssRUFBRTtZQUFFTyxVQUFVLEVBQUVkLElBQUksS0FBS1ksQ0FBQyxHQUFHLEdBQUcsR0FBRztVQUFJLENBQUU7VUFBQU4sUUFBQSxFQUN0Rk07UUFBQyxHQURTQSxDQUVMLENBQUM7TUFBQSxDQUNWO0lBQUMsQ0FDQyxDQUFDLGVBQ05wQixJQUFBO01BQUt1QixFQUFFLEVBQUM7SUFBK0IsQ0FBRSxDQUFDLGVBQzFDdkIsSUFBQTtNQUFLdUIsRUFBRSxFQUFDO0lBQWlCLENBQUUsQ0FBQyxlQUM1QnZCLElBQUE7TUFBS3VCLEVBQUUsRUFBQztJQUFpQyxDQUFFLENBQUMsZUFDNUN2QixJQUFBO01BQUt1QixFQUFFLEVBQUM7SUFBd0IsQ0FBRSxDQUFDLGVBQ25DdkIsSUFBQTtNQUFLdUIsRUFBRSxFQUFDO0lBQXdDLENBQUUsQ0FBQyxlQUNuRHZCLElBQUE7TUFBS3VCLEVBQUUsRUFBQztJQUErQixDQUFFLENBQUMsZUFDMUN2QixJQUFBLENBQUNVLFNBQVMsSUFBRSxDQUFDO0VBQUEsQ0FDSixDQUFDO0FBRWhCO0FBRUEsZUFBZU4sR0FBRyIsImlnbm9yZUxpc3QiOltdfQ==
57
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsIkRldkNoYXRBSSIsIkRldlByb2plY3RTdW1tYXJ5IiwiRGV2Q29udGV4dE1lbnRpb25JbnB1dCIsIkRldlN0cmVhbVRpbWVsaW5lRGVtbyIsIlByb3ZpZGVycyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJQQUdFUyIsIkFwcCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInBhZ2UiLCJzZXRQYWdlIiwiQ29tcG9uZW50IiwicGFnZXMiLCJPYmplY3QiLCJrZXlzIiwiY2hpbGRyZW4iLCJzdHlsZSIsImRpc3BsYXkiLCJnYXAiLCJwYWRkaW5nIiwibWFwIiwicCIsIm9uQ2xpY2siLCJmb250V2VpZ2h0IiwiaWQiXSwic291cmNlcyI6WyIuLi9zcmMvQXBwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9idXR0b24taGFzLXR5cGUgKi9cbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IERldkNoYXRBSSB9IGZyb20gJy4vZGV2L0RldkNoYXRBSSdcbmltcG9ydCB7IERldlByb2plY3RTdW1tYXJ5IH0gZnJvbSAnLi9kZXYvUHJvamVjdFN1bW1hcnknXG5pbXBvcnQgeyBEZXZDb250ZXh0TWVudGlvbklucHV0IH0gZnJvbSAnLi9kZXYvRGV2Q29udGV4dE1lbnRpb25JbnB1dCdcbmltcG9ydCB7IERldlN0cmVhbVRpbWVsaW5lRGVtbyB9IGZyb20gJy4vZGV2L0RldlN0cmVhbVRpbWVsaW5lRGVtbydcbmltcG9ydCB7IFByb3ZpZGVycyB9IGZyb20gJy4vZGV2L1Byb3ZpZGVycydcblxuY29uc3QgUEFHRVMgPSB7XG4gICdSZXN1bWVuIGRlIHByb3llY3Rvcyc6IERldlByb2plY3RTdW1tYXJ5LFxuICAnQ2hhdCBBZ2VudGUgUE0nOiBEZXZDaGF0QUksXG4gICdDb250ZXh0IE1lbnRpb24gSW5wdXQnOiBEZXZDb250ZXh0TWVudGlvbklucHV0LFxuICAnU3RyZWFtIFRpbWVsaW5lIERlbW8nOiBEZXZTdHJlYW1UaW1lbGluZURlbW8sXG59XG5cbnR5cGUgUGFnZSA9IGtleW9mIHR5cGVvZiBQQUdFU1xuXG5mdW5jdGlvbiBBcHAoKSB7XG4gIGNvbnN0IFtwYWdlLCBzZXRQYWdlXSA9IHVzZVN0YXRlPFBhZ2U+KCdDb250ZXh0IE1lbnRpb24gSW5wdXQnKVxuICBjb25zdCBDb21wb25lbnQgPSBQQUdFU1twYWdlXVxuICBjb25zdCBwYWdlcyA9IE9iamVjdC5rZXlzKFBBR0VTKSBhcyBQYWdlW11cblxuICByZXR1cm4gKFxuICAgIDxQcm92aWRlcnM+XG4gICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZ2FwOiA4LCBwYWRkaW5nOiA4IH19PlxuICAgICAgICB7cGFnZXMubWFwKHAgPT4gKFxuICAgICAgICAgIDxidXR0b24ga2V5PXtwfSBvbkNsaWNrPXsoKSA9PiBzZXRQYWdlKHApfSBzdHlsZT17eyBmb250V2VpZ2h0OiBwYWdlID09PSBwID8gNzAwIDogNDAwIH19PlxuICAgICAgICAgICAge3B9XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICkpfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGlkPVwibW9kYWxzLXBvcnRhbC1tYWlhLWNoYXQtYWdlbnRcIiAvPlxuICAgICAgPGRpdiBpZD1cImFibS1hZ2VudC1tb2RhbFwiIC8+XG4gICAgICA8ZGl2IGlkPVwic25hY2tiYXItcG9ydGFsLW1haWEtY2hhdC1hZ2VudFwiIC8+XG4gICAgICA8ZGl2IGlkPVwiZW1vamktcGlja2VyLWNvbnRhaW5lclwiIC8+XG4gICAgICA8ZGl2IGlkPVwiZW1vamktcGlja2VyLWNvbnRhaW5lci1tYWlhLWNoYXQtYWdlbnRcIiAvPlxuICAgICAgPGRpdiBpZD1cIm1vZGFsLXBvcnRhbC12aWRlby1vbmJvYXJkaW5nXCIgLz5cbiAgICAgIDxDb21wb25lbnQgLz5cbiAgICA8L1Byb3ZpZGVycz5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBBcHBcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0EsU0FBU0EsUUFBUSxRQUFRLE9BQU87QUFFaEMsU0FBU0MsU0FBUyxRQUFRLGlCQUFpQjtBQUMzQyxTQUFTQyxpQkFBaUIsUUFBUSxzQkFBc0I7QUFDeEQsU0FBU0Msc0JBQXNCLFFBQVEsOEJBQThCO0FBQ3JFLFNBQVNDLHFCQUFxQixRQUFRLDZCQUE2QjtBQUNuRSxTQUFTQyxTQUFTLFFBQVEsaUJBQWlCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQUUzQyxJQUFNQyxLQUFLLEdBQUc7RUFDWixzQkFBc0IsRUFBRVIsaUJBQWlCO0VBQ3pDLGdCQUFnQixFQUFFRCxTQUFTO0VBQzNCLHVCQUF1QixFQUFFRSxzQkFBc0I7RUFDL0Msc0JBQXNCLEVBQUVDO0FBQzFCLENBQUM7QUFJRCxTQUFTTyxHQUFHQSxDQUFBLEVBQUc7RUFDYixJQUFBQyxTQUFBLEdBQXdCWixRQUFRLENBQU8sdUJBQXVCLENBQUM7SUFBQWEsVUFBQSxHQUFBQyxjQUFBLENBQUFGLFNBQUE7SUFBeERHLElBQUksR0FBQUYsVUFBQTtJQUFFRyxPQUFPLEdBQUFILFVBQUE7RUFDcEIsSUFBTUksU0FBUyxHQUFHUCxLQUFLLENBQUNLLElBQUksQ0FBQztFQUM3QixJQUFNRyxLQUFLLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDVixLQUFLLENBQVc7RUFFMUMsb0JBQ0VELEtBQUEsQ0FBQ0osU0FBUztJQUFBZ0IsUUFBQSxnQkFDUmQsSUFBQTtNQUFLZSxLQUFLLEVBQUU7UUFBRUMsT0FBTyxFQUFFLE1BQU07UUFBRUMsR0FBRyxFQUFFLENBQUM7UUFBRUMsT0FBTyxFQUFFO01BQUUsQ0FBRTtNQUFBSixRQUFBLEVBQ2pESCxLQUFLLENBQUNRLEdBQUcsQ0FBQyxVQUFBQyxDQUFDO1FBQUEsb0JBQ1ZwQixJQUFBO1VBQWdCcUIsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7WUFBQSxPQUFRWixPQUFPLENBQUNXLENBQUMsQ0FBQztVQUFBLENBQUM7VUFBQ0wsS0FBSyxFQUFFO1lBQUVPLFVBQVUsRUFBRWQsSUFBSSxLQUFLWSxDQUFDLEdBQUcsR0FBRyxHQUFHO1VBQUksQ0FBRTtVQUFBTixRQUFBLEVBQ3RGTTtRQUFDLEdBRFNBLENBRUwsQ0FBQztNQUFBLENBQ1Y7SUFBQyxDQUNDLENBQUMsZUFDTnBCLElBQUE7TUFBS3VCLEVBQUUsRUFBQztJQUErQixDQUFFLENBQUMsZUFDMUN2QixJQUFBO01BQUt1QixFQUFFLEVBQUM7SUFBaUIsQ0FBRSxDQUFDLGVBQzVCdkIsSUFBQTtNQUFLdUIsRUFBRSxFQUFDO0lBQWlDLENBQUUsQ0FBQyxlQUM1Q3ZCLElBQUE7TUFBS3VCLEVBQUUsRUFBQztJQUF3QixDQUFFLENBQUMsZUFDbkN2QixJQUFBO01BQUt1QixFQUFFLEVBQUM7SUFBd0MsQ0FBRSxDQUFDLGVBQ25EdkIsSUFBQTtNQUFLdUIsRUFBRSxFQUFDO0lBQStCLENBQUUsQ0FBQyxlQUMxQ3ZCLElBQUEsQ0FBQ1UsU0FBUyxJQUFFLENBQUM7RUFBQSxDQUNKLENBQUM7QUFFaEI7QUFFQSxlQUFlTixHQUFHIiwiaWdub3JlTGlzdCI6W119
@@ -6,6 +6,7 @@ import { formatActivityElapsed } from './AgentActivityIndicator.utils';
6
6
  import { useT } from '../../../hooks/useT';
7
7
  import { getActiveExecutionStep, shouldShowExecutionTrace } from '../../../utils/streamExecutionSteps';
8
8
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
9
+ var STEP_ICON_SIZE_PX = 14;
9
10
  var TraceChevron = function TraceChevron() {
10
11
  return /*#__PURE__*/_jsx("svg", {
11
12
  className: "AgentActivityTrace-chevron",
@@ -28,6 +29,8 @@ var StepStatusIcon = function StepStatusIcon(_ref) {
28
29
  if (status === 'completed') {
29
30
  return /*#__PURE__*/_jsxs("svg", {
30
31
  className: "AgentActivityStep-icon AgentActivityStep-icon--completed",
32
+ width: STEP_ICON_SIZE_PX,
33
+ height: STEP_ICON_SIZE_PX,
31
34
  viewBox: "0 0 16 16",
32
35
  "aria-hidden": true,
33
36
  children: [/*#__PURE__*/_jsx("circle", {
@@ -281,4 +284,4 @@ export var StreamPendingSkeleton = function StreamPendingSkeleton() {
281
284
  })]
282
285
  });
283
286
  };
284
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiTG9hZGVyIiwiU0NBZ2VudEFjdGl2aXR5SW5kaWNhdG9yIiwiU0NBZ2VudEFjdGl2aXR5U3RlcCIsIlNDQWdlbnRBY3Rpdml0eVN0ZXBSYWlsIiwiU0NBZ2VudEFjdGl2aXR5U3RlcHMiLCJTQ0FnZW50QWN0aXZpdHlTdGVwc0NvbGxhcHNpYmxlIiwiU0NBZ2VudEFjdGl2aXR5VHJhY2VDb2xsYXBzZWRSb3ciLCJTQ0FnZW50QWN0aXZpdHlUcmFjZUV4cGFuZGVkVG9vbGJhciIsIlNDQWdlbnRBY3Rpdml0eVRyYWNlU2hlbGwiLCJTQ0FnZW50QWN0aXZpdHlUcmFjZVRvZ2dsZSIsIlNDU3RyZWFtUGVuZGluZ1NrZWxldG9uIiwiZm9ybWF0QWN0aXZpdHlFbGFwc2VkIiwidXNlVCIsImdldEFjdGl2ZUV4ZWN1dGlvblN0ZXAiLCJzaG91bGRTaG93RXhlY3V0aW9uVHJhY2UiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJUcmFjZUNoZXZyb24iLCJjbGFzc05hbWUiLCJ3aWR0aCIsImhlaWdodCIsInZpZXdCb3giLCJmaWxsIiwiY2hpbGRyZW4iLCJkIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJTdGVwU3RhdHVzSWNvbiIsIl9yZWYiLCJzdGF0dXMiLCJjeCIsImN5IiwiciIsInNpemUiLCJFeGVjdXRpb25UcmFjZUxpc3QiLCJfcmVmMiIsInN0ZXBzIiwiY29tcGFjdCIsIiRjb21wYWN0IiwibWFwIiwic3RlcCIsImluZGV4IiwiJHN0YXR1cyIsIiRpbmRleCIsIiRpc0xhc3QiLCJsZW5ndGgiLCJtZXNzYWdlIiwiaWQiLCJDb2xsYXBzaWJsZUV4ZWN1dGlvblRyYWNlIiwiX3JlZjMiLCJfc3RlcHMkIiwiZWxhcHNlZFNlY29uZHMiLCJlbGFwc2VkTGFiZWwiLCJfdXNlVCIsInQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc0V4cGFuZGVkIiwic2V0SXNFeHBhbmRlZCIsImFjdGl2ZVN0ZXAiLCJjYW5Ub2dnbGUiLCJzdHJlYW1TZXNzaW9uUmVmIiwiaGFkV3JpdGluZ1N0ZXBSZWYiLCJfc3RlcHMkMiIsInNlc3Npb25JZCIsImN1cnJlbnQiLCJoYXNXcml0aW5nU3RlcCIsInNvbWUiLCJub2RlIiwiZXhwYW5kTGFiZWwiLCJjb3VudCIsImNvbGxhcHNlTGFiZWwiLCIkZXhwYW5kZWQiLCJ0eXBlIiwiJGNvbGxhcHNlZCIsIm9uQ2xpY2siLCJBZ2VudEFjdGl2aXR5SW5kaWNhdG9yIiwiX3JlZjQiLCJhY3Rpdml0eSIsIl9yZWY0JGNvbXBhY3QiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImlzQ2hhbmdpbmciLCJzZXRJc0NoYW5naW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzZXRFbGFwc2VkU2Vjb25kcyIsInByZXZNZXNzYWdlUmVmIiwic2hvd1RyYWNlIiwiZXhlY3V0aW9uU3RlcHMiLCJpbnRlcnZhbElkIiwid2luZG93Iiwic2V0SW50ZXJ2YWwiLCJwcmV2IiwiY2xlYXJJbnRlcnZhbCIsInBoYXNlIiwidGltZW91dElkIiwic2V0VGltZW91dCIsImNsZWFyVGltZW91dCIsIiR0cmFjZSIsInJvbGUiLCJjb25jYXQiLCJ1bmRlZmluZWQiLCJTdHJlYW1QZW5kaW5nU2tlbGV0b24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9BZ2VudEFjdGl2aXR5SW5kaWNhdG9yL0FnZW50QWN0aXZpdHlJbmRpY2F0b3IudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4uL0xvYWRlcidcbmltcG9ydCB0eXBlIHsgU3RyZWFtQWN0aXZpdHksIFN0cmVhbUV4ZWN1dGlvblN0ZXAgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9zdHJlYW1BY3Rpdml0eSdcbmltcG9ydCB7XG4gIFNDQWdlbnRBY3Rpdml0eUluZGljYXRvcixcbiAgU0NBZ2VudEFjdGl2aXR5U3RlcCxcbiAgU0NBZ2VudEFjdGl2aXR5U3RlcFJhaWwsXG4gIFNDQWdlbnRBY3Rpdml0eVN0ZXBzLFxuICBTQ0FnZW50QWN0aXZpdHlTdGVwc0NvbGxhcHNpYmxlLFxuICBTQ0FnZW50QWN0aXZpdHlUcmFjZUNvbGxhcHNlZFJvdyxcbiAgU0NBZ2VudEFjdGl2aXR5VHJhY2VFeHBhbmRlZFRvb2xiYXIsXG4gIFNDQWdlbnRBY3Rpdml0eVRyYWNlU2hlbGwsXG4gIFNDQWdlbnRBY3Rpdml0eVRyYWNlVG9nZ2xlLFxuICBTQ1N0cmVhbVBlbmRpbmdTa2VsZXRvbixcbn0gZnJvbSAnLi9BZ2VudEFjdGl2aXR5SW5kaWNhdG9yLnN0eWxlcydcbmltcG9ydCB7IGZvcm1hdEFjdGl2aXR5RWxhcHNlZCB9IGZyb20gJy4vQWdlbnRBY3Rpdml0eUluZGljYXRvci51dGlscydcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgZ2V0QWN0aXZlRXhlY3V0aW9uU3RlcCwgc2hvdWxkU2hvd0V4ZWN1dGlvblRyYWNlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvc3RyZWFtRXhlY3V0aW9uU3RlcHMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgQWdlbnRBY3Rpdml0eUluZGljYXRvclByb3BzIHtcbiAgYWN0aXZpdHk6IFN0cmVhbUFjdGl2aXR5XG4gIGNvbXBhY3Q/OiBib29sZWFuXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufVxuXG5jb25zdCBUcmFjZUNoZXZyb24gPSAoKSA9PiAoXG4gIDxzdmcgY2xhc3NOYW1lPVwiQWdlbnRBY3Rpdml0eVRyYWNlLWNoZXZyb25cIiB3aWR0aD1cIjEwXCIgaGVpZ2h0PVwiMTBcIiB2aWV3Qm94PVwiMCAwIDEwIDEwXCIgZmlsbD1cIm5vbmVcIiBhcmlhLWhpZGRlbj5cbiAgICA8cGF0aCBkPVwiTTIgMy41TDUgNi41TDggMy41XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlV2lkdGg9XCIxLjRcIiBzdHJva2VMaW5lY2FwPVwicm91bmRcIiBzdHJva2VMaW5lam9pbj1cInJvdW5kXCIgLz5cbiAgPC9zdmc+XG4pXG5cbmNvbnN0IFN0ZXBTdGF0dXNJY29uID0gKHsgc3RhdHVzIH06IHsgc3RhdHVzOiBTdHJlYW1FeGVjdXRpb25TdGVwWydzdGF0dXMnXSB9KSA9PiB7XG4gIGlmIChzdGF0dXMgPT09ICdjb21wbGV0ZWQnKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxzdmcgY2xhc3NOYW1lPVwiQWdlbnRBY3Rpdml0eVN0ZXAtaWNvbiBBZ2VudEFjdGl2aXR5U3RlcC1pY29uLS1jb21wbGV0ZWRcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgYXJpYS1oaWRkZW4+XG4gICAgICAgIDxjaXJjbGUgY3g9XCI4XCIgY3k9XCI4XCIgcj1cIjdcIiAvPlxuICAgICAgICA8cGF0aCBkPVwiTTUgOC4yIDcgMTAuMiAxMSA2LjJcIiAvPlxuICAgICAgPC9zdmc+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIDxMb2FkZXIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwiQWdlbnRBY3Rpdml0eVN0ZXAtaWNvbiBBZ2VudEFjdGl2aXR5U3RlcC1pY29uLS1ydW5uaW5nXCIgLz5cbn1cblxuY29uc3QgRXhlY3V0aW9uVHJhY2VMaXN0ID0gKHsgc3RlcHMsIGNvbXBhY3QgfTogeyBzdGVwczogU3RyZWFtRXhlY3V0aW9uU3RlcFtdOyBjb21wYWN0PzogYm9vbGVhbiB9KSA9PiAoXG4gIDxTQ0FnZW50QWN0aXZpdHlTdGVwcyAkY29tcGFjdD17Y29tcGFjdH0gYXJpYS1sYWJlbD1cIkV4ZWN1dGlvbiB0cmFjZVwiPlxuICAgIHtzdGVwcy5tYXAoKHN0ZXAsIGluZGV4KSA9PiAoXG4gICAgICA8U0NBZ2VudEFjdGl2aXR5U3RlcFxuICAgICAgICBrZXk9e3N0ZXAuaWR9XG4gICAgICAgICRzdGF0dXM9e3N0ZXAuc3RhdHVzfVxuICAgICAgICAkY29tcGFjdD17Y29tcGFjdH1cbiAgICAgICAgJGluZGV4PXtpbmRleH1cbiAgICAgICAgZGF0YS1zdGF0dXM9e3N0ZXAuc3RhdHVzfVxuICAgICAgPlxuICAgICAgICA8U0NBZ2VudEFjdGl2aXR5U3RlcFJhaWwgJGlzTGFzdD17aW5kZXggPT09IHN0ZXBzLmxlbmd0aCAtIDF9ICRzdGF0dXM9e3N0ZXAuc3RhdHVzfSAkY29tcGFjdD17Y29tcGFjdH0+XG4gICAgICAgICAgPFN0ZXBTdGF0dXNJY29uIHN0YXR1cz17c3RlcC5zdGF0dXN9IC8+XG4gICAgICAgIDwvU0NBZ2VudEFjdGl2aXR5U3RlcFJhaWw+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIkFnZW50QWN0aXZpdHlTdGVwLWxhYmVsXCI+e3N0ZXAubWVzc2FnZX08L3NwYW4+XG4gICAgICA8L1NDQWdlbnRBY3Rpdml0eVN0ZXA+XG4gICAgKSl9XG4gIDwvU0NBZ2VudEFjdGl2aXR5U3RlcHM+XG4pXG5cbmludGVyZmFjZSBDb2xsYXBzaWJsZUV4ZWN1dGlvblRyYWNlUHJvcHMge1xuICBzdGVwczogU3RyZWFtRXhlY3V0aW9uU3RlcFtdXG4gIGNvbXBhY3Q/OiBib29sZWFuXG4gIGVsYXBzZWRTZWNvbmRzOiBudW1iZXJcbiAgZWxhcHNlZExhYmVsOiBzdHJpbmdcbn1cblxuY29uc3QgQ29sbGFwc2libGVFeGVjdXRpb25UcmFjZSA9ICh7XG4gIHN0ZXBzLFxuICBjb21wYWN0LFxuICBlbGFwc2VkU2Vjb25kcyxcbiAgZWxhcHNlZExhYmVsLFxufTogQ29sbGFwc2libGVFeGVjdXRpb25UcmFjZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IFtpc0V4cGFuZGVkLCBzZXRJc0V4cGFuZGVkXSA9IHVzZVN0YXRlKHRydWUpXG4gIGNvbnN0IGFjdGl2ZVN0ZXAgPSBnZXRBY3RpdmVFeGVjdXRpb25TdGVwKHN0ZXBzKVxuICBjb25zdCBjYW5Ub2dnbGUgPSBzdGVwcy5sZW5ndGggPj0gMlxuICBjb25zdCBzdHJlYW1TZXNzaW9uUmVmID0gdXNlUmVmKHN0ZXBzWzBdPy5pZClcbiAgY29uc3QgaGFkV3JpdGluZ1N0ZXBSZWYgPSB1c2VSZWYoZmFsc2UpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBzZXNzaW9uSWQgPSBzdGVwc1swXT8uaWRcbiAgICBpZiAoc2Vzc2lvbklkICYmIHN0cmVhbVNlc3Npb25SZWYuY3VycmVudCAhPT0gc2Vzc2lvbklkKSB7XG4gICAgICBzdHJlYW1TZXNzaW9uUmVmLmN1cnJlbnQgPSBzZXNzaW9uSWRcbiAgICAgIHNldElzRXhwYW5kZWQodHJ1ZSlcbiAgICAgIGhhZFdyaXRpbmdTdGVwUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgIH1cbiAgfSwgW3N0ZXBzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhc1dyaXRpbmdTdGVwID0gc3RlcHMuc29tZShzdGVwID0+IHN0ZXAubm9kZSA9PT0gJ19fd3JpdGluZ19fJylcbiAgICBpZiAoaGFzV3JpdGluZ1N0ZXAgJiYgIWhhZFdyaXRpbmdTdGVwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGhhZFdyaXRpbmdTdGVwUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgIH1cbiAgICBpZiAoIWhhc1dyaXRpbmdTdGVwKSB7XG4gICAgICBoYWRXcml0aW5nU3RlcFJlZi5jdXJyZW50ID0gZmFsc2VcbiAgICB9XG4gIH0sIFtzdGVwc10pXG5cbiAgaWYgKCFhY3RpdmVTdGVwKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGNvbnN0IGV4cGFuZExhYmVsID0gdCgnY2hhdC5hY3Rpdml0eS5leGVjdXRpb25UcmFjZS5leHBhbmRTaG9ydCcsIHsgY291bnQ6IHN0ZXBzLmxlbmd0aCB9KVxuICBjb25zdCBjb2xsYXBzZUxhYmVsID0gdCgnY2hhdC5hY3Rpdml0eS5leGVjdXRpb25UcmFjZS5jb2xsYXBzZScpXG5cbiAgcmV0dXJuIChcbiAgICA8U0NBZ2VudEFjdGl2aXR5VHJhY2VTaGVsbCAkZXhwYW5kZWQ9e2lzRXhwYW5kZWQgJiYgY2FuVG9nZ2xlfT5cbiAgICAgIHshaXNFeHBhbmRlZCB8fCAhY2FuVG9nZ2xlID8gKFxuICAgICAgICA8U0NBZ2VudEFjdGl2aXR5VHJhY2VDb2xsYXBzZWRSb3c+XG4gICAgICAgICAge2FjdGl2ZVN0ZXAuc3RhdHVzID09PSAncnVubmluZycgPyAoXG4gICAgICAgICAgICA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIGNsYXNzTmFtZT1cIkFnZW50QWN0aXZpdHlJbmRpY2F0b3ItbG9hZGVyXCIgLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFN0ZXBTdGF0dXNJY29uIHN0YXR1cz17YWN0aXZlU3RlcC5zdGF0dXN9IC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJBZ2VudEFjdGl2aXR5SW5kaWNhdG9yLXRleHRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIkFnZW50QWN0aXZpdHlJbmRpY2F0b3ItbGFiZWxcIj57YWN0aXZlU3RlcC5tZXNzYWdlfTwvc3Bhbj5cbiAgICAgICAgICAgIHtlbGFwc2VkU2Vjb25kcyA+PSAzICYmIChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJBZ2VudEFjdGl2aXR5SW5kaWNhdG9yLXNlcGFyYXRvclwiIGFyaWEtaGlkZGVuPlxuICAgICAgICAgICAgICAgICAgwrdcbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiQWdlbnRBY3Rpdml0eUluZGljYXRvci10aW1lclwiIGFyaWEtaGlkZGVuPlxuICAgICAgICAgICAgICAgICAge2VsYXBzZWRMYWJlbH1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAge2NhblRvZ2dsZSAmJiAoXG4gICAgICAgICAgICA8U0NBZ2VudEFjdGl2aXR5VHJhY2VUb2dnbGVcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICRleHBhbmRlZD17aXNFeHBhbmRlZH1cbiAgICAgICAgICAgICAgJGNvbGxhcHNlZFxuICAgICAgICAgICAgICAkY29tcGFjdD17Y29tcGFjdH1cbiAgICAgICAgICAgICAgYXJpYS1leHBhbmRlZD17aXNFeHBhbmRlZH1cbiAgICAgICAgICAgICAgYXJpYS1jb250cm9scz1cImFnZW50LWFjdGl2aXR5LXRyYWNlLXN0ZXBzXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNFeHBhbmRlZCh0cnVlKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFRyYWNlQ2hldnJvbiAvPlxuICAgICAgICAgICAgICA8c3Bhbj57ZXhwYW5kTGFiZWx9PC9zcGFuPlxuICAgICAgICAgICAgPC9TQ0FnZW50QWN0aXZpdHlUcmFjZVRvZ2dsZT5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NDQWdlbnRBY3Rpdml0eVRyYWNlQ29sbGFwc2VkUm93PlxuICAgICAgKSA6IChcbiAgICAgICAgPD5cbiAgICAgICAgICA8U0NBZ2VudEFjdGl2aXR5VHJhY2VFeHBhbmRlZFRvb2xiYXI+XG4gICAgICAgICAgICA8U0NBZ2VudEFjdGl2aXR5VHJhY2VUb2dnbGVcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICRleHBhbmRlZD17aXNFeHBhbmRlZH1cbiAgICAgICAgICAgICAgJGNvbXBhY3Q9e2NvbXBhY3R9XG4gICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9e2lzRXhwYW5kZWR9XG4gICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJhZ2VudC1hY3Rpdml0eS10cmFjZS1zdGVwc1wiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldElzRXhwYW5kZWQoZmFsc2UpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8VHJhY2VDaGV2cm9uIC8+XG4gICAgICAgICAgICAgIDxzcGFuPntjb2xsYXBzZUxhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDwvU0NBZ2VudEFjdGl2aXR5VHJhY2VUb2dnbGU+XG4gICAgICAgICAgPC9TQ0FnZW50QWN0aXZpdHlUcmFjZUV4cGFuZGVkVG9vbGJhcj5cbiAgICAgICAgICA8U0NBZ2VudEFjdGl2aXR5U3RlcHNDb2xsYXBzaWJsZSAkZXhwYW5kZWQ9e2lzRXhwYW5kZWR9PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJBZ2VudEFjdGl2aXR5U3RlcHMtaW5uZXJcIiBpZD1cImFnZW50LWFjdGl2aXR5LXRyYWNlLXN0ZXBzXCI+XG4gICAgICAgICAgICAgIDxFeGVjdXRpb25UcmFjZUxpc3Qgc3RlcHM9e3N0ZXBzfSBjb21wYWN0PXtjb21wYWN0fSAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9TQ0FnZW50QWN0aXZpdHlTdGVwc0NvbGxhcHNpYmxlPlxuICAgICAgICA8Lz5cbiAgICAgICl9XG4gICAgPC9TQ0FnZW50QWN0aXZpdHlUcmFjZVNoZWxsPlxuICApXG59XG5cbmV4cG9ydCBjb25zdCBBZ2VudEFjdGl2aXR5SW5kaWNhdG9yID0gKHsgYWN0aXZpdHksIGNvbXBhY3QgPSBmYWxzZSwgY2xhc3NOYW1lIH06IEFnZW50QWN0aXZpdHlJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCBbaXNDaGFuZ2luZywgc2V0SXNDaGFuZ2luZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2VsYXBzZWRTZWNvbmRzLCBzZXRFbGFwc2VkU2Vjb25kc10gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCBwcmV2TWVzc2FnZVJlZiA9IHVzZVJlZihhY3Rpdml0eS5tZXNzYWdlKVxuICBjb25zdCBzaG93VHJhY2UgPSBzaG91bGRTaG93RXhlY3V0aW9uVHJhY2UoYWN0aXZpdHkuZXhlY3V0aW9uU3RlcHMpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRFbGFwc2VkU2Vjb25kcygwKVxuICAgIGNvbnN0IGludGVydmFsSWQgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgc2V0RWxhcHNlZFNlY29uZHMocHJldiA9PiBwcmV2ICsgMSlcbiAgICB9LCAxMDAwKVxuXG4gICAgcmV0dXJuICgpID0+IHdpbmRvdy5jbGVhckludGVydmFsKGludGVydmFsSWQpXG4gIH0sIFthY3Rpdml0eS5waGFzZV0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgdGltZW91dElkOiBudW1iZXIgfCB1bmRlZmluZWRcblxuICAgIGlmIChwcmV2TWVzc2FnZVJlZi5jdXJyZW50ICE9PSBhY3Rpdml0eS5tZXNzYWdlKSB7XG4gICAgICBwcmV2TWVzc2FnZVJlZi5jdXJyZW50ID0gYWN0aXZpdHkubWVzc2FnZVxuICAgICAgc2V0SXNDaGFuZ2luZyh0cnVlKVxuICAgICAgdGltZW91dElkID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4gc2V0SXNDaGFuZ2luZyhmYWxzZSksIDIyMClcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHRpbWVvdXRJZCAhPSBudWxsKSB7XG4gICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGltZW91dElkKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2FjdGl2aXR5Lm1lc3NhZ2VdKVxuXG4gIGNvbnN0IGVsYXBzZWRMYWJlbCA9IGZvcm1hdEFjdGl2aXR5RWxhcHNlZChlbGFwc2VkU2Vjb25kcylcblxuICBpZiAoc2hvd1RyYWNlICYmIGFjdGl2aXR5LmV4ZWN1dGlvblN0ZXBzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0FnZW50QWN0aXZpdHlJbmRpY2F0b3JcbiAgICAgICAgJGNvbXBhY3Q9e2NvbXBhY3R9XG4gICAgICAgICR0cmFjZVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgcm9sZT1cInN0YXR1c1wiXG4gICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgIGFyaWEtbGFiZWw9e2BBZ2VudCBhY3Rpdml0eSAoJHtlbGFwc2VkTGFiZWx9KWB9XG4gICAgICA+XG4gICAgICAgIDxDb2xsYXBzaWJsZUV4ZWN1dGlvblRyYWNlXG4gICAgICAgICAgc3RlcHM9e2FjdGl2aXR5LmV4ZWN1dGlvblN0ZXBzfVxuICAgICAgICAgIGNvbXBhY3Q9e2NvbXBhY3R9XG4gICAgICAgICAgZWxhcHNlZFNlY29uZHM9e2VsYXBzZWRTZWNvbmRzfVxuICAgICAgICAgIGVsYXBzZWRMYWJlbD17ZWxhcHNlZExhYmVsfVxuICAgICAgICAvPlxuICAgICAgPC9TQ0FnZW50QWN0aXZpdHlJbmRpY2F0b3I+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NBZ2VudEFjdGl2aXR5SW5kaWNhdG9yXG4gICAgICAkY29tcGFjdD17Y29tcGFjdH1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgcm9sZT1cInN0YXR1c1wiXG4gICAgICBhcmlhLWxpdmU9XCJwb2xpdGVcIlxuICAgICAgYXJpYS1sYWJlbD17YCR7YWN0aXZpdHkubWVzc2FnZX0gKCR7ZWxhcHNlZExhYmVsfSlgfVxuICAgID5cbiAgICAgIDxMb2FkZXIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwiQWdlbnRBY3Rpdml0eUluZGljYXRvci1sb2FkZXJcIiAvPlxuICAgICAgPHAgY2xhc3NOYW1lPVwiQWdlbnRBY3Rpdml0eUluZGljYXRvci10ZXh0XCIgZGF0YS1jaGFuZ2luZz17aXNDaGFuZ2luZyA/ICd0cnVlJyA6IHVuZGVmaW5lZH0+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIkFnZW50QWN0aXZpdHlJbmRpY2F0b3ItbGFiZWxcIj57YWN0aXZpdHkubWVzc2FnZX08L3NwYW4+XG4gICAgICAgIHtlbGFwc2VkU2Vjb25kcyA+PSAzICYmIChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiQWdlbnRBY3Rpdml0eUluZGljYXRvci1zZXBhcmF0b3JcIiBhcmlhLWhpZGRlbj5cbiAgICAgICAgICAgICAgwrdcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIkFnZW50QWN0aXZpdHlJbmRpY2F0b3ItdGltZXJcIiBhcmlhLWhpZGRlbj5cbiAgICAgICAgICAgICAge2VsYXBzZWRMYWJlbH1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKX1cbiAgICAgIDwvcD5cbiAgICA8L1NDQWdlbnRBY3Rpdml0eUluZGljYXRvcj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgU3RyZWFtUGVuZGluZ1NrZWxldG9uID0gKCkgPT4gKFxuICA8U0NTdHJlYW1QZW5kaW5nU2tlbGV0b24gYXJpYS1oaWRkZW4+XG4gICAgPHNwYW4gY2xhc3NOYW1lPVwiU3RyZWFtUGVuZGluZ1NrZWxldG9uLWxpbmVcIiAvPlxuICAgIDxzcGFuIGNsYXNzTmFtZT1cIlN0cmVhbVBlbmRpbmdTa2VsZXRvbi1saW5lXCIgLz5cbiAgICA8c3BhbiBjbGFzc05hbWU9XCJTdHJlYW1QZW5kaW5nU2tlbGV0b24tbGluZVwiIC8+XG4gIDwvU0NTdHJlYW1QZW5kaW5nU2tlbGV0b24+XG4pXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxLQUFLLElBQUlDLFNBQVMsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUMxRCxTQUFTQyxNQUFNLFFBQVEsV0FBVztBQUVsQyxTQUNFQyx3QkFBd0IsRUFDeEJDLG1CQUFtQixFQUNuQkMsdUJBQXVCLEVBQ3ZCQyxvQkFBb0IsRUFDcEJDLCtCQUErQixFQUMvQkMsZ0NBQWdDLEVBQ2hDQyxtQ0FBbUMsRUFDbkNDLHlCQUF5QixFQUN6QkMsMEJBQTBCLEVBQzFCQyx1QkFBdUIsUUFDbEIsaUNBQWlDO0FBQ3hD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
287
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiTG9hZGVyIiwiU0NBZ2VudEFjdGl2aXR5SW5kaWNhdG9yIiwiU0NBZ2VudEFjdGl2aXR5U3RlcCIsIlNDQWdlbnRBY3Rpdml0eVN0ZXBSYWlsIiwiU0NBZ2VudEFjdGl2aXR5U3RlcHMiLCJTQ0FnZW50QWN0aXZpdHlTdGVwc0NvbGxhcHNpYmxlIiwiU0NBZ2VudEFjdGl2aXR5VHJhY2VDb2xsYXBzZWRSb3ciLCJTQ0FnZW50QWN0aXZpdHlUcmFjZUV4cGFuZGVkVG9vbGJhciIsIlNDQWdlbnRBY3Rpdml0eVRyYWNlU2hlbGwiLCJTQ0FnZW50QWN0aXZpdHlUcmFjZVRvZ2dsZSIsIlNDU3RyZWFtUGVuZGluZ1NrZWxldG9uIiwiZm9ybWF0QWN0aXZpdHlFbGFwc2VkIiwidXNlVCIsImdldEFjdGl2ZUV4ZWN1dGlvblN0ZXAiLCJzaG91bGRTaG93RXhlY3V0aW9uVHJhY2UiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJTVEVQX0lDT05fU0laRV9QWCIsIlRyYWNlQ2hldnJvbiIsImNsYXNzTmFtZSIsIndpZHRoIiwiaGVpZ2h0Iiwidmlld0JveCIsImZpbGwiLCJjaGlsZHJlbiIsImQiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsIlN0ZXBTdGF0dXNJY29uIiwiX3JlZiIsInN0YXR1cyIsImN4IiwiY3kiLCJyIiwic2l6ZSIsIkV4ZWN1dGlvblRyYWNlTGlzdCIsIl9yZWYyIiwic3RlcHMiLCJjb21wYWN0IiwiJGNvbXBhY3QiLCJtYXAiLCJzdGVwIiwiaW5kZXgiLCIkc3RhdHVzIiwiJGluZGV4IiwiJGlzTGFzdCIsImxlbmd0aCIsIm1lc3NhZ2UiLCJpZCIsIkNvbGxhcHNpYmxlRXhlY3V0aW9uVHJhY2UiLCJfcmVmMyIsIl9zdGVwcyQiLCJlbGFwc2VkU2Vjb25kcyIsImVsYXBzZWRMYWJlbCIsIl91c2VUIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlzRXhwYW5kZWQiLCJzZXRJc0V4cGFuZGVkIiwiYWN0aXZlU3RlcCIsImNhblRvZ2dsZSIsInN0cmVhbVNlc3Npb25SZWYiLCJoYWRXcml0aW5nU3RlcFJlZiIsIl9zdGVwcyQyIiwic2Vzc2lvbklkIiwiY3VycmVudCIsImhhc1dyaXRpbmdTdGVwIiwic29tZSIsIm5vZGUiLCJleHBhbmRMYWJlbCIsImNvdW50IiwiY29sbGFwc2VMYWJlbCIsIiRleHBhbmRlZCIsInR5cGUiLCIkY29sbGFwc2VkIiwib25DbGljayIsIkFnZW50QWN0aXZpdHlJbmRpY2F0b3IiLCJfcmVmNCIsImFjdGl2aXR5IiwiX3JlZjQkY29tcGFjdCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXNDaGFuZ2luZyIsInNldElzQ2hhbmdpbmciLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInNldEVsYXBzZWRTZWNvbmRzIiwicHJldk1lc3NhZ2VSZWYiLCJzaG93VHJhY2UiLCJleGVjdXRpb25TdGVwcyIsImludGVydmFsSWQiLCJ3aW5kb3ciLCJzZXRJbnRlcnZhbCIsInByZXYiLCJjbGVhckludGVydmFsIiwicGhhc2UiLCJ0aW1lb3V0SWQiLCJzZXRUaW1lb3V0IiwiY2xlYXJUaW1lb3V0IiwiJHRyYWNlIiwicm9sZSIsImNvbmNhdCIsInVuZGVmaW5lZCIsIlN0cmVhbVBlbmRpbmdTa2VsZXRvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0FnZW50QWN0aXZpdHlJbmRpY2F0b3IvQWdlbnRBY3Rpdml0eUluZGljYXRvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vTG9hZGVyJ1xuaW1wb3J0IHR5cGUgeyBTdHJlYW1BY3Rpdml0eSwgU3RyZWFtRXhlY3V0aW9uU3RlcCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3N0cmVhbUFjdGl2aXR5J1xuaW1wb3J0IHtcbiAgU0NBZ2VudEFjdGl2aXR5SW5kaWNhdG9yLFxuICBTQ0FnZW50QWN0aXZpdHlTdGVwLFxuICBTQ0FnZW50QWN0aXZpdHlTdGVwUmFpbCxcbiAgU0NBZ2VudEFjdGl2aXR5U3RlcHMsXG4gIFNDQWdlbnRBY3Rpdml0eVN0ZXBzQ29sbGFwc2libGUsXG4gIFNDQWdlbnRBY3Rpdml0eVRyYWNlQ29sbGFwc2VkUm93LFxuICBTQ0FnZW50QWN0aXZpdHlUcmFjZUV4cGFuZGVkVG9vbGJhcixcbiAgU0NBZ2VudEFjdGl2aXR5VHJhY2VTaGVsbCxcbiAgU0NBZ2VudEFjdGl2aXR5VHJhY2VUb2dnbGUsXG4gIFNDU3RyZWFtUGVuZGluZ1NrZWxldG9uLFxufSBmcm9tICcuL0FnZW50QWN0aXZpdHlJbmRpY2F0b3Iuc3R5bGVzJ1xuaW1wb3J0IHsgZm9ybWF0QWN0aXZpdHlFbGFwc2VkIH0gZnJvbSAnLi9BZ2VudEFjdGl2aXR5SW5kaWNhdG9yLnV0aWxzJ1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBnZXRBY3RpdmVFeGVjdXRpb25TdGVwLCBzaG91bGRTaG93RXhlY3V0aW9uVHJhY2UgfSBmcm9tICcuLi8uLi8uLi91dGlscy9zdHJlYW1FeGVjdXRpb25TdGVwcydcblxuY29uc3QgU1RFUF9JQ09OX1NJWkVfUFggPSAxNFxuXG5leHBvcnQgaW50ZXJmYWNlIEFnZW50QWN0aXZpdHlJbmRpY2F0b3JQcm9wcyB7XG4gIGFjdGl2aXR5OiBTdHJlYW1BY3Rpdml0eVxuICBjb21wYWN0PzogYm9vbGVhblxuICBjbGFzc05hbWU/OiBzdHJpbmdcbn1cblxuY29uc3QgVHJhY2VDaGV2cm9uID0gKCkgPT4gKFxuICA8c3ZnIGNsYXNzTmFtZT1cIkFnZW50QWN0aXZpdHlUcmFjZS1jaGV2cm9uXCIgd2lkdGg9XCIxMFwiIGhlaWdodD1cIjEwXCIgdmlld0JveD1cIjAgMCAxMCAxMFwiIGZpbGw9XCJub25lXCIgYXJpYS1oaWRkZW4+XG4gICAgPHBhdGggZD1cIk0yIDMuNUw1IDYuNUw4IDMuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZVdpZHRoPVwiMS40XCIgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiIC8+XG4gIDwvc3ZnPlxuKVxuXG5jb25zdCBTdGVwU3RhdHVzSWNvbiA9ICh7IHN0YXR1cyB9OiB7IHN0YXR1czogU3RyZWFtRXhlY3V0aW9uU3RlcFsnc3RhdHVzJ10gfSkgPT4ge1xuICBpZiAoc3RhdHVzID09PSAnY29tcGxldGVkJykge1xuICAgIHJldHVybiAoXG4gICAgICA8c3ZnXG4gICAgICAgIGNsYXNzTmFtZT1cIkFnZW50QWN0aXZpdHlTdGVwLWljb24gQWdlbnRBY3Rpdml0eVN0ZXAtaWNvbi0tY29tcGxldGVkXCJcbiAgICAgICAgd2lkdGg9e1NURVBfSUNPTl9TSVpFX1BYfVxuICAgICAgICBoZWlnaHQ9e1NURVBfSUNPTl9TSVpFX1BYfVxuICAgICAgICB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcbiAgICAgICAgYXJpYS1oaWRkZW5cbiAgICAgID5cbiAgICAgICAgPGNpcmNsZSBjeD1cIjhcIiBjeT1cIjhcIiByPVwiN1wiIC8+XG4gICAgICAgIDxwYXRoIGQ9XCJNNSA4LjIgNyAxMC4yIDExIDYuMlwiIC8+XG4gICAgICA8L3N2Zz5cbiAgICApXG4gIH1cblxuICByZXR1cm4gPExvYWRlciBzaXplPVwic21hbGxcIiBjbGFzc05hbWU9XCJBZ2VudEFjdGl2aXR5U3RlcC1pY29uIEFnZW50QWN0aXZpdHlTdGVwLWljb24tLXJ1bm5pbmdcIiAvPlxufVxuXG5jb25zdCBFeGVjdXRpb25UcmFjZUxpc3QgPSAoeyBzdGVwcywgY29tcGFjdCB9OiB7IHN0ZXBzOiBTdHJlYW1FeGVjdXRpb25TdGVwW107IGNvbXBhY3Q/OiBib29sZWFuIH0pID0+IChcbiAgPFNDQWdlbnRBY3Rpdml0eVN0ZXBzICRjb21wYWN0PXtjb21wYWN0fSBhcmlhLWxhYmVsPVwiRXhlY3V0aW9uIHRyYWNlXCI+XG4gICAge3N0ZXBzLm1hcCgoc3RlcCwgaW5kZXgpID0+IChcbiAgICAgIDxTQ0FnZW50QWN0aXZpdHlTdGVwXG4gICAgICAgIGtleT17c3RlcC5pZH1cbiAgICAgICAgJHN0YXR1cz17c3RlcC5zdGF0dXN9XG4gICAgICAgICRjb21wYWN0PXtjb21wYWN0fVxuICAgICAgICAkaW5kZXg9e2luZGV4fVxuICAgICAgICBkYXRhLXN0YXR1cz17c3RlcC5zdGF0dXN9XG4gICAgICA+XG4gICAgICAgIDxTQ0FnZW50QWN0aXZpdHlTdGVwUmFpbCAkaXNMYXN0PXtpbmRleCA9PT0gc3RlcHMubGVuZ3RoIC0gMX0gJHN0YXR1cz17c3RlcC5zdGF0dXN9ICRjb21wYWN0PXtjb21wYWN0fT5cbiAgICAgICAgICA8U3RlcFN0YXR1c0ljb24gc3RhdHVzPXtzdGVwLnN0YXR1c30gLz5cbiAgICAgICAgPC9TQ0FnZW50QWN0aXZpdHlTdGVwUmFpbD5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiQWdlbnRBY3Rpdml0eVN0ZXAtbGFiZWxcIj57c3RlcC5tZXNzYWdlfTwvc3Bhbj5cbiAgICAgIDwvU0NBZ2VudEFjdGl2aXR5U3RlcD5cbiAgICApKX1cbiAgPC9TQ0FnZW50QWN0aXZpdHlTdGVwcz5cbilcblxuaW50ZXJmYWNlIENvbGxhcHNpYmxlRXhlY3V0aW9uVHJhY2VQcm9wcyB7XG4gIHN0ZXBzOiBTdHJlYW1FeGVjdXRpb25TdGVwW11cbiAgY29tcGFjdD86IGJvb2xlYW5cbiAgZWxhcHNlZFNlY29uZHM6IG51bWJlclxuICBlbGFwc2VkTGFiZWw6IHN0cmluZ1xufVxuXG5jb25zdCBDb2xsYXBzaWJsZUV4ZWN1dGlvblRyYWNlID0gKHtcbiAgc3RlcHMsXG4gIGNvbXBhY3QsXG4gIGVsYXBzZWRTZWNvbmRzLFxuICBlbGFwc2VkTGFiZWwsXG59OiBDb2xsYXBzaWJsZUV4ZWN1dGlvblRyYWNlUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUKClcbiAgY29uc3QgW2lzRXhwYW5kZWQsIHNldElzRXhwYW5kZWRdID0gdXNlU3RhdGUodHJ1ZSlcbiAgY29uc3QgYWN0aXZlU3RlcCA9IGdldEFjdGl2ZUV4ZWN1dGlvblN0ZXAoc3RlcHMpXG4gIGNvbnN0IGNhblRvZ2dsZSA9IHN0ZXBzLmxlbmd0aCA+PSAyXG4gIGNvbnN0IHN0cmVhbVNlc3Npb25SZWYgPSB1c2VSZWYoc3RlcHNbMF0/LmlkKVxuICBjb25zdCBoYWRXcml0aW5nU3RlcFJlZiA9IHVzZVJlZihmYWxzZSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHNlc3Npb25JZCA9IHN0ZXBzWzBdPy5pZFxuICAgIGlmIChzZXNzaW9uSWQgJiYgc3RyZWFtU2Vzc2lvblJlZi5jdXJyZW50ICE9PSBzZXNzaW9uSWQpIHtcbiAgICAgIHN0cmVhbVNlc3Npb25SZWYuY3VycmVudCA9IHNlc3Npb25JZFxuICAgICAgc2V0SXNFeHBhbmRlZCh0cnVlKVxuICAgICAgaGFkV3JpdGluZ1N0ZXBSZWYuY3VycmVudCA9IGZhbHNlXG4gICAgfVxuICB9LCBbc3RlcHNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFzV3JpdGluZ1N0ZXAgPSBzdGVwcy5zb21lKHN0ZXAgPT4gc3RlcC5ub2RlID09PSAnX193cml0aW5nX18nKVxuICAgIGlmIChoYXNXcml0aW5nU3RlcCAmJiAhaGFkV3JpdGluZ1N0ZXBSZWYuY3VycmVudCkge1xuICAgICAgaGFkV3JpdGluZ1N0ZXBSZWYuY3VycmVudCA9IHRydWVcbiAgICAgIHNldElzRXhwYW5kZWQoZmFsc2UpXG4gICAgfVxuICAgIGlmICghaGFzV3JpdGluZ1N0ZXApIHtcbiAgICAgIGhhZFdyaXRpbmdTdGVwUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgIH1cbiAgfSwgW3N0ZXBzXSlcblxuICBpZiAoIWFjdGl2ZVN0ZXApIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3QgZXhwYW5kTGFiZWwgPSB0KCdjaGF0LmFjdGl2aXR5LmV4ZWN1dGlvblRyYWNlLmV4cGFuZFNob3J0JywgeyBjb3VudDogc3RlcHMubGVuZ3RoIH0pXG4gIGNvbnN0IGNvbGxhcHNlTGFiZWwgPSB0KCdjaGF0LmFjdGl2aXR5LmV4ZWN1dGlvblRyYWNlLmNvbGxhcHNlJylcblxuICByZXR1cm4gKFxuICAgIDxTQ0FnZW50QWN0aXZpdHlUcmFjZVNoZWxsICRleHBhbmRlZD17aXNFeHBhbmRlZCAmJiBjYW5Ub2dnbGV9PlxuICAgICAgeyFpc0V4cGFuZGVkIHx8ICFjYW5Ub2dnbGUgPyAoXG4gICAgICAgIDxTQ0FnZW50QWN0aXZpdHlUcmFjZUNvbGxhcHNlZFJvdz5cbiAgICAgICAgICB7YWN0aXZlU3RlcC5zdGF0dXMgPT09ICdydW5uaW5nJyA/IChcbiAgICAgICAgICAgIDxMb2FkZXIgc2l6ZT1cInNtYWxsXCIgY2xhc3NOYW1lPVwiQWdlbnRBY3Rpdml0eUluZGljYXRvci1sb2FkZXJcIiAvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8U3RlcFN0YXR1c0ljb24gc3RhdHVzPXthY3RpdmVTdGVwLnN0YXR1c30gLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIkFnZW50QWN0aXZpdHlJbmRpY2F0b3ItdGV4dFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiQWdlbnRBY3Rpdml0eUluZGljYXRvci1sYWJlbFwiPnthY3RpdmVTdGVwLm1lc3NhZ2V9PC9zcGFuPlxuICAgICAgICAgICAge2VsYXBzZWRTZWNvbmRzID49IDMgJiYgKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIkFnZW50QWN0aXZpdHlJbmRpY2F0b3Itc2VwYXJhdG9yXCIgYXJpYS1oaWRkZW4+XG4gICAgICAgICAgICAgICAgICDCt1xuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJBZ2VudEFjdGl2aXR5SW5kaWNhdG9yLXRpbWVyXCIgYXJpYS1oaWRkZW4+XG4gICAgICAgICAgICAgICAgICB7ZWxhcHNlZExhYmVsfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICB7Y2FuVG9nZ2xlICYmIChcbiAgICAgICAgICAgIDxTQ0FnZW50QWN0aXZpdHlUcmFjZVRvZ2dsZVxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgJGV4cGFuZGVkPXtpc0V4cGFuZGVkfVxuICAgICAgICAgICAgICAkY29sbGFwc2VkXG4gICAgICAgICAgICAgICRjb21wYWN0PXtjb21wYWN0fVxuICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPXtpc0V4cGFuZGVkfVxuICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPVwiYWdlbnQtYWN0aXZpdHktdHJhY2Utc3RlcHNcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRJc0V4cGFuZGVkKHRydWUpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8VHJhY2VDaGV2cm9uIC8+XG4gICAgICAgICAgICAgIDxzcGFuPntleHBhbmRMYWJlbH08L3NwYW4+XG4gICAgICAgICAgICA8L1NDQWdlbnRBY3Rpdml0eVRyYWNlVG9nZ2xlPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU0NBZ2VudEFjdGl2aXR5VHJhY2VDb2xsYXBzZWRSb3c+XG4gICAgICApIDogKFxuICAgICAgICA8PlxuICAgICAgICAgIDxTQ0FnZW50QWN0aXZpdHlUcmFjZUV4cGFuZGVkVG9vbGJhcj5cbiAgICAgICAgICAgIDxTQ0FnZW50QWN0aXZpdHlUcmFjZVRvZ2dsZVxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgJGV4cGFuZGVkPXtpc0V4cGFuZGVkfVxuICAgICAgICAgICAgICAkY29tcGFjdD17Y29tcGFjdH1cbiAgICAgICAgICAgICAgYXJpYS1leHBhbmRlZD17aXNFeHBhbmRlZH1cbiAgICAgICAgICAgICAgYXJpYS1jb250cm9scz1cImFnZW50LWFjdGl2aXR5LXRyYWNlLXN0ZXBzXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNFeHBhbmRlZChmYWxzZSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxUcmFjZUNoZXZyb24gLz5cbiAgICAgICAgICAgICAgPHNwYW4+e2NvbGxhcHNlTGFiZWx9PC9zcGFuPlxuICAgICAgICAgICAgPC9TQ0FnZW50QWN0aXZpdHlUcmFjZVRvZ2dsZT5cbiAgICAgICAgICA8L1NDQWdlbnRBY3Rpdml0eVRyYWNlRXhwYW5kZWRUb29sYmFyPlxuICAgICAgICAgIDxTQ0FnZW50QWN0aXZpdHlTdGVwc0NvbGxhcHNpYmxlICRleHBhbmRlZD17aXNFeHBhbmRlZH0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIkFnZW50QWN0aXZpdHlTdGVwcy1pbm5lclwiIGlkPVwiYWdlbnQtYWN0aXZpdHktdHJhY2Utc3RlcHNcIj5cbiAgICAgICAgICAgICAgPEV4ZWN1dGlvblRyYWNlTGlzdCBzdGVwcz17c3RlcHN9IGNvbXBhY3Q9e2NvbXBhY3R9IC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L1NDQWdlbnRBY3Rpdml0eVN0ZXBzQ29sbGFwc2libGU+XG4gICAgICAgIDwvPlxuICAgICAgKX1cbiAgICA8L1NDQWdlbnRBY3Rpdml0eVRyYWNlU2hlbGw+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IEFnZW50QWN0aXZpdHlJbmRpY2F0b3IgPSAoeyBhY3Rpdml0eSwgY29tcGFjdCA9IGZhbHNlLCBjbGFzc05hbWUgfTogQWdlbnRBY3Rpdml0eUluZGljYXRvclByb3BzKSA9PiB7XG4gIGNvbnN0IFtpc0NoYW5naW5nLCBzZXRJc0NoYW5naW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZWxhcHNlZFNlY29uZHMsIHNldEVsYXBzZWRTZWNvbmRzXSA9IHVzZVN0YXRlKDApXG4gIGNvbnN0IHByZXZNZXNzYWdlUmVmID0gdXNlUmVmKGFjdGl2aXR5Lm1lc3NhZ2UpXG4gIGNvbnN0IHNob3dUcmFjZSA9IHNob3VsZFNob3dFeGVjdXRpb25UcmFjZShhY3Rpdml0eS5leGVjdXRpb25TdGVwcylcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldEVsYXBzZWRTZWNvbmRzKDApXG4gICAgY29uc3QgaW50ZXJ2YWxJZCA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBzZXRFbGFwc2VkU2Vjb25kcyhwcmV2ID0+IHByZXYgKyAxKVxuICAgIH0sIDEwMDApXG5cbiAgICByZXR1cm4gKCkgPT4gd2luZG93LmNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJZClcbiAgfSwgW2FjdGl2aXR5LnBoYXNlXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCB0aW1lb3V0SWQ6IG51bWJlciB8IHVuZGVmaW5lZFxuXG4gICAgaWYgKHByZXZNZXNzYWdlUmVmLmN1cnJlbnQgIT09IGFjdGl2aXR5Lm1lc3NhZ2UpIHtcbiAgICAgIHByZXZNZXNzYWdlUmVmLmN1cnJlbnQgPSBhY3Rpdml0eS5tZXNzYWdlXG4gICAgICBzZXRJc0NoYW5naW5nKHRydWUpXG4gICAgICB0aW1lb3V0SWQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiBzZXRJc0NoYW5naW5nKGZhbHNlKSwgMjIwKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAodGltZW91dElkICE9IG51bGwpIHtcbiAgICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aW1lb3V0SWQpXG4gICAgICB9XG4gICAgfVxuICB9LCBbYWN0aXZpdHkubWVzc2FnZV0pXG5cbiAgY29uc3QgZWxhcHNlZExhYmVsID0gZm9ybWF0QWN0aXZpdHlFbGFwc2VkKGVsYXBzZWRTZWNvbmRzKVxuXG4gIGlmIChzaG93VHJhY2UgJiYgYWN0aXZpdHkuZXhlY3V0aW9uU3RlcHMpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQWdlbnRBY3Rpdml0eUluZGljYXRvclxuICAgICAgICAkY29tcGFjdD17Y29tcGFjdH1cbiAgICAgICAgJHRyYWNlXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICByb2xlPVwic3RhdHVzXCJcbiAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgYXJpYS1sYWJlbD17YEFnZW50IGFjdGl2aXR5ICgke2VsYXBzZWRMYWJlbH0pYH1cbiAgICAgID5cbiAgICAgICAgPENvbGxhcHNpYmxlRXhlY3V0aW9uVHJhY2VcbiAgICAgICAgICBzdGVwcz17YWN0aXZpdHkuZXhlY3V0aW9uU3RlcHN9XG4gICAgICAgICAgY29tcGFjdD17Y29tcGFjdH1cbiAgICAgICAgICBlbGFwc2VkU2Vjb25kcz17ZWxhcHNlZFNlY29uZHN9XG4gICAgICAgICAgZWxhcHNlZExhYmVsPXtlbGFwc2VkTGFiZWx9XG4gICAgICAgIC8+XG4gICAgICA8L1NDQWdlbnRBY3Rpdml0eUluZGljYXRvcj5cbiAgICApXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0FnZW50QWN0aXZpdHlJbmRpY2F0b3JcbiAgICAgICRjb21wYWN0PXtjb21wYWN0fVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICByb2xlPVwic3RhdHVzXCJcbiAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICBhcmlhLWxhYmVsPXtgJHthY3Rpdml0eS5tZXNzYWdlfSAoJHtlbGFwc2VkTGFiZWx9KWB9XG4gICAgPlxuICAgICAgPExvYWRlciBzaXplPVwic21hbGxcIiBjbGFzc05hbWU9XCJBZ2VudEFjdGl2aXR5SW5kaWNhdG9yLWxvYWRlclwiIC8+XG4gICAgICA8cCBjbGFzc05hbWU9XCJBZ2VudEFjdGl2aXR5SW5kaWNhdG9yLXRleHRcIiBkYXRhLWNoYW5naW5nPXtpc0NoYW5naW5nID8gJ3RydWUnIDogdW5kZWZpbmVkfT5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiQWdlbnRBY3Rpdml0eUluZGljYXRvci1sYWJlbFwiPnthY3Rpdml0eS5tZXNzYWdlfTwvc3Bhbj5cbiAgICAgICAge2VsYXBzZWRTZWNvbmRzID49IDMgJiYgKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJBZ2VudEFjdGl2aXR5SW5kaWNhdG9yLXNlcGFyYXRvclwiIGFyaWEtaGlkZGVuPlxuICAgICAgICAgICAgICDCt1xuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiQWdlbnRBY3Rpdml0eUluZGljYXRvci10aW1lclwiIGFyaWEtaGlkZGVuPlxuICAgICAgICAgICAgICB7ZWxhcHNlZExhYmVsfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgPC9wPlxuICAgIDwvU0NBZ2VudEFjdGl2aXR5SW5kaWNhdG9yPlxuICApXG59XG5cbmV4cG9ydCBjb25zdCBTdHJlYW1QZW5kaW5nU2tlbGV0b24gPSAoKSA9PiAoXG4gIDxTQ1N0cmVhbVBlbmRpbmdTa2VsZXRvbiBhcmlhLWhpZGRlbj5cbiAgICA8c3BhbiBjbGFzc05hbWU9XCJTdHJlYW1QZW5kaW5nU2tlbGV0b24tbGluZVwiIC8+XG4gICAgPHNwYW4gY2xhc3NOYW1lPVwiU3RyZWFtUGVuZGluZ1NrZWxldG9uLWxpbmVcIiAvPlxuICAgIDxzcGFuIGNsYXNzTmFtZT1cIlN0cmVhbVBlbmRpbmdTa2VsZXRvbi1saW5lXCIgLz5cbiAgPC9TQ1N0cmVhbVBlbmRpbmdTa2VsZXRvbj5cbilcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLEtBQUssSUFBSUMsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQzFELFNBQVNDLE1BQU0sUUFBUSxXQUFXO0FBRWxD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
@@ -4,6 +4,7 @@ import { cascadeItem } from '../../../styles/cascade';
4
4
  var STEP_ICON_SIZE_PX = 14;
5
5
  var STEP_LIST_GAP_PX = 8;
6
6
  var STEP_LIST_GAP_COMPACT_PX = 6;
7
+ var stepIconStyles = "\n .AgentActivityStep-icon--completed {\n width: ".concat(STEP_ICON_SIZE_PX, "px;\n height: ").concat(STEP_ICON_SIZE_PX, "px;\n flex-shrink: 0;\n display: block;\n\n circle {\n fill: #fff;\n stroke: ").concat(colors.primary.main, ";\n stroke-width: 1.2;\n opacity: 0.35;\n }\n\n path {\n fill: none;\n stroke: ").concat(colors.primary.main, ";\n stroke-width: 1.4;\n stroke-linecap: round;\n stroke-linejoin: round;\n }\n }\n\n .AgentActivityStep-icon--running {\n width: min-content;\n max-width: ").concat(STEP_ICON_SIZE_PX, "px;\n height: ").concat(STEP_ICON_SIZE_PX, "px;\n flex-shrink: 0;\n align-self: center;\n }\n\n .AgentActivityIndicator-loader {\n width: min-content;\n height: ").concat(STEP_ICON_SIZE_PX, "px;\n flex-shrink: 0;\n align-self: center;\n }\n");
7
8
  var stepConnectorColor = function stepConnectorColor(status) {
8
9
  return status === 'completed' ? "".concat(colors.primary.main, "52") : 'rgba(0, 0, 0, 0.12)';
9
10
  };
@@ -12,26 +13,27 @@ var stepEnter = keyframes(["from{opacity:0;transform:translateY(4px);}to{opacity
12
13
  export var SCAgentActivityIndicator = styled.div.withConfig({
13
14
  displayName: "AgentActivityIndicatorstyles__SCAgentActivityIndicator",
14
15
  componentId: "sc-d7fode-0"
15
- })(["width:100%;display:flex;gap:10px;align-items:", ";flex-direction:row;padding:", ";max-width:600px;.AgentActivityIndicator-text{margin:0;display:flex;align-items:baseline;gap:6px;min-width:0;flex:1;font-size:", ";line-height:140%;color:", ";transition:opacity 0.25s ease;}.AgentActivityIndicator-text[data-changing='true']{opacity:0.55;}.AgentActivityIndicator-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.AgentActivityIndicator-separator{flex-shrink:0;color:", ";opacity:0.72;}.AgentActivityIndicator-timer{flex-shrink:0;font-size:", ";font-variant-numeric:tabular-nums;color:", ";opacity:0.72;letter-spacing:0.02em;}.AgentActivityIndicator-timer--trace{margin-left:0;padding-left:0;margin-top:0;}.AgentActivityIndicator-loader{width:min-content;flex-shrink:0;}"], function (_ref) {
16
+ })(["width:100%;display:flex;gap:10px;align-items:", ";flex-direction:row;padding:", ";max-width:600px;.AgentActivityIndicator-text{margin:0;display:flex;align-items:baseline;gap:6px;min-width:0;flex:1;font-size:", ";line-height:140%;color:", ";transition:opacity 0.25s ease;}.AgentActivityIndicator-text[data-changing='true']{opacity:0.55;}.AgentActivityIndicator-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.AgentActivityIndicator-separator{flex-shrink:0;color:", ";opacity:0.72;}.AgentActivityIndicator-timer{flex-shrink:0;font-size:", ";font-variant-numeric:tabular-nums;color:", ";opacity:0.72;letter-spacing:0.02em;}.AgentActivityIndicator-timer--trace{margin-left:0;padding-left:0;margin-top:0;}", ""], function (_ref) {
16
17
  var $trace = _ref.$trace;
17
18
  return $trace ? 'flex-start' : 'center';
18
19
  }, function (_ref2) {
19
- var $compact = _ref2.$compact;
20
- return $compact ? '0 0 10px' : '0 0 16px';
20
+ var $compact = _ref2.$compact,
21
+ $trace = _ref2.$trace;
22
+ return $trace ? '0' : $compact ? '0 0 10px' : '0 0 16px';
21
23
  }, function (_ref3) {
22
24
  var $compact = _ref3.$compact;
23
25
  return $compact ? '13px' : '12px';
24
26
  }, colors.text.mediumGray, colors.text.mediumGray, function (_ref4) {
25
27
  var $compact = _ref4.$compact;
26
28
  return $compact ? '12px' : '11px';
27
- }, colors.text.mediumGray);
29
+ }, colors.text.mediumGray, stepIconStyles);
28
30
  export var SCAgentActivityTraceShell = styled.div.withConfig({
29
31
  displayName: "AgentActivityIndicatorstyles__SCAgentActivityTraceShell",
30
32
  componentId: "sc-d7fode-1"
31
- })(["display:flex;flex-direction:column;gap:", ";width:100%;min-width:0;flex:1;"], function (_ref5) {
33
+ })(["display:flex;flex-direction:column;gap:", ";width:100%;min-width:0;flex:1;overflow:hidden;", ""], function (_ref5) {
32
34
  var $expanded = _ref5.$expanded;
33
- return $expanded ? '8px' : '0';
34
- });
35
+ return $expanded ? '6px' : '0';
36
+ }, stepIconStyles);
35
37
  export var SCAgentActivityTraceCollapsedRow = styled.div.withConfig({
36
38
  displayName: "AgentActivityIndicatorstyles__SCAgentActivityTraceCollapsedRow",
37
39
  componentId: "sc-d7fode-2"
@@ -63,41 +65,47 @@ export var SCAgentActivityTraceToggle = styled.button.withConfig({
63
65
  export var SCAgentActivityStepsCollapsible = styled.div.withConfig({
64
66
  displayName: "AgentActivityIndicatorstyles__SCAgentActivityStepsCollapsible",
65
67
  componentId: "sc-d7fode-5"
66
- })(["display:grid;grid-template-rows:", ";transition:grid-template-rows 0.22s ease-out;> .AgentActivitySteps-inner{overflow:hidden;min-height:0;}"], function (_ref1) {
68
+ })(["display:grid;grid-template-rows:", ";opacity:", ";visibility:", ";transition:grid-template-rows 0.22s ease-out,opacity 0.18s ease-out,visibility 0.18s ease-out;> .AgentActivitySteps-inner{overflow:hidden;min-height:0;}"], function (_ref1) {
67
69
  var $expanded = _ref1.$expanded;
68
70
  return $expanded ? '1fr' : '0fr';
71
+ }, function (_ref10) {
72
+ var $expanded = _ref10.$expanded;
73
+ return $expanded ? 1 : 0;
74
+ }, function (_ref11) {
75
+ var $expanded = _ref11.$expanded;
76
+ return $expanded ? 'visible' : 'hidden';
69
77
  });
70
78
  export var SCAgentActivitySteps = styled.ol.withConfig({
71
79
  displayName: "AgentActivityIndicatorstyles__SCAgentActivitySteps",
72
80
  componentId: "sc-d7fode-6"
73
- })(["list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:", ";width:100%;"], function (_ref10) {
74
- var $compact = _ref10.$compact;
81
+ })(["list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:", ";width:100%;"], function (_ref12) {
82
+ var $compact = _ref12.$compact;
75
83
  return $compact ? "".concat(STEP_LIST_GAP_COMPACT_PX, "px") : "".concat(STEP_LIST_GAP_PX, "px");
76
84
  });
77
85
  export var SCAgentActivityStepRail = styled.div.withConfig({
78
86
  displayName: "AgentActivityIndicatorstyles__SCAgentActivityStepRail",
79
87
  componentId: "sc-d7fode-7"
80
- })(["position:relative;width:", "px;flex-shrink:0;display:flex;justify-content:center;align-self:stretch;.AgentActivityStep-icon{flex-shrink:0;margin-top:1px;}", ""], STEP_ICON_SIZE_PX, function (_ref11) {
81
- var $isLast = _ref11.$isLast,
82
- $status = _ref11.$status,
83
- $compact = _ref11.$compact;
88
+ })(["position:relative;width:", "px;flex-shrink:0;display:flex;justify-content:center;align-self:stretch;.AgentActivityStep-icon{flex-shrink:0;margin-top:1px;}", ""], STEP_ICON_SIZE_PX, function (_ref13) {
89
+ var $isLast = _ref13.$isLast,
90
+ $status = _ref13.$status,
91
+ $compact = _ref13.$compact;
84
92
  return !$isLast && "\n &::after {\n content: '';\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n top: ".concat(STEP_ICON_SIZE_PX + 2, "px;\n bottom: -").concat($compact ? STEP_LIST_GAP_COMPACT_PX : STEP_LIST_GAP_PX, "px;\n width: 1px;\n background: ").concat(stepConnectorColor($status), ";\n pointer-events: none;\n }\n ");
85
93
  });
86
94
  export var SCAgentActivityStep = styled.li.withConfig({
87
95
  displayName: "AgentActivityIndicatorstyles__SCAgentActivityStep",
88
96
  componentId: "sc-d7fode-8"
89
- })(["display:flex;align-items:flex-start;gap:8px;min-width:0;animation:", " 0.22s ease-out both;", ";.AgentActivityStep-label{min-width:0;padding-top:1px;font-size:", ";line-height:140%;color:", ";transition:color 0.2s ease;}&[data-status='completed'] .AgentActivityStep-label{opacity:0.82;}.AgentActivityStep-icon--completed{width:", "px;height:", "px;circle{fill:#fff;stroke:", ";stroke-width:1.2;opacity:0.35;}path{fill:none;stroke:", ";stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}}.AgentActivityStep-icon--running{width:min-content;max-width:", "px;height:", "px;flex-shrink:0;}"], stepEnter, function (_ref12) {
90
- var $index = _ref12.$index;
97
+ })(["display:flex;align-items:flex-start;gap:8px;min-width:0;animation:", " 0.22s ease-out both;", ";.AgentActivityStep-label{min-width:0;padding-top:1px;font-size:", ";line-height:140%;color:", ";transition:color 0.2s ease;}&[data-status='completed'] .AgentActivityStep-label{opacity:0.82;}"], stepEnter, function (_ref14) {
98
+ var $index = _ref14.$index;
91
99
  return cascadeItem($index);
92
- }, function (_ref13) {
93
- var $compact = _ref13.$compact;
100
+ }, function (_ref15) {
101
+ var $compact = _ref15.$compact;
94
102
  return $compact ? '13px' : '12px';
95
- }, function (_ref14) {
96
- var $status = _ref14.$status;
103
+ }, function (_ref16) {
104
+ var $status = _ref16.$status;
97
105
  return $status === 'completed' ? colors.text.secondary : colors.text.mediumGray;
98
- }, STEP_ICON_SIZE_PX, STEP_ICON_SIZE_PX, colors.primary.main, colors.primary.main, STEP_ICON_SIZE_PX, STEP_ICON_SIZE_PX);
106
+ });
99
107
  export var SCStreamPendingSkeleton = styled.div.withConfig({
100
108
  displayName: "AgentActivityIndicatorstyles__SCStreamPendingSkeleton",
101
109
  componentId: "sc-d7fode-9"
102
110
  })(["display:flex;flex-direction:column;gap:10px;padding:4px 0 8px;min-height:48px;width:100%;max-width:520px;.StreamPendingSkeleton-line{height:10px;border-radius:6px;background:linear-gradient(90deg,rgba(0,0,0,0.04) 0%,rgba(0,0,0,0.08) 50%,rgba(0,0,0,0.04) 100%);background-size:200% 100%;animation:", " 1.8s ease-in-out infinite;}.StreamPendingSkeleton-line:nth-child(1){width:92%;}.StreamPendingSkeleton-line:nth-child(2){width:78%;animation-delay:0.12s;}.StreamPendingSkeleton-line:nth-child(3){width:54%;animation-delay:0.24s;}"], shimmer);
103
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJjYXNjYWRlSXRlbSIsIlNURVBfSUNPTl9TSVpFX1BYIiwiU1RFUF9MSVNUX0dBUF9QWCIsIlNURVBfTElTVF9HQVBfQ09NUEFDVF9QWCIsInN0ZXBDb25uZWN0b3JDb2xvciIsInN0YXR1cyIsImNvbmNhdCIsInByaW1hcnkiLCJtYWluIiwic2hpbW1lciIsInN0ZXBFbnRlciIsIlNDQWdlbnRBY3Rpdml0eUluZGljYXRvciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX3JlZiIsIiR0cmFjZSIsIl9yZWYyIiwiJGNvbXBhY3QiLCJfcmVmMyIsInRleHQiLCJtZWRpdW1HcmF5IiwiX3JlZjQiLCJTQ0FnZW50QWN0aXZpdHlUcmFjZVNoZWxsIiwiX3JlZjUiLCIkZXhwYW5kZWQiLCJTQ0FnZW50QWN0aXZpdHlUcmFjZUNvbGxhcHNlZFJvdyIsIlNDQWdlbnRBY3Rpdml0eVRyYWNlRXhwYW5kZWRUb29sYmFyIiwiU0NBZ2VudEFjdGl2aXR5VHJhY2VUb2dnbGUiLCJidXR0b24iLCJfcmVmNiIsIiRjb2xsYXBzZWQiLCJfcmVmNyIsInNlY29uZGFyeSIsIl9yZWY4IiwiX3JlZjkiLCJfcmVmMCIsIlNDQWdlbnRBY3Rpdml0eVN0ZXBzQ29sbGFwc2libGUiLCJfcmVmMSIsIlNDQWdlbnRBY3Rpdml0eVN0ZXBzIiwib2wiLCJfcmVmMTAiLCJTQ0FnZW50QWN0aXZpdHlTdGVwUmFpbCIsIl9yZWYxMSIsIiRpc0xhc3QiLCIkc3RhdHVzIiwiU0NBZ2VudEFjdGl2aXR5U3RlcCIsImxpIiwiX3JlZjEyIiwiJGluZGV4IiwiX3JlZjEzIiwiX3JlZjE0IiwiU0NTdHJlYW1QZW5kaW5nU2tlbGV0b24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9BZ2VudEFjdGl2aXR5SW5kaWNhdG9yL0FnZW50QWN0aXZpdHlJbmRpY2F0b3Iuc3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQsIHsga2V5ZnJhbWVzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgY29sb3JzIGZyb20gJ0Bwcm9qZWN0Y29yL3RoZW1lL2xpYi9iYXNlL2NvbG9ycydcbmltcG9ydCB7IGNhc2NhZGVJdGVtIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL2Nhc2NhZGUnXG5pbXBvcnQgdHlwZSB7IFN0cmVhbUV4ZWN1dGlvblN0ZXBTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9zdHJlYW1BY3Rpdml0eSdcblxuY29uc3QgU1RFUF9JQ09OX1NJWkVfUFggPSAxNFxuY29uc3QgU1RFUF9MSVNUX0dBUF9QWCA9IDhcbmNvbnN0IFNURVBfTElTVF9HQVBfQ09NUEFDVF9QWCA9IDZcblxuY29uc3Qgc3RlcENvbm5lY3RvckNvbG9yID0gKHN0YXR1czogU3RyZWFtRXhlY3V0aW9uU3RlcFN0YXR1cyk6IHN0cmluZyA9PlxuICBzdGF0dXMgPT09ICdjb21wbGV0ZWQnID8gYCR7Y29sb3JzLnByaW1hcnkubWFpbn01MmAgOiAncmdiYSgwLCAwLCAwLCAwLjEyKSdcblxuY29uc3Qgc2hpbW1lciA9IGtleWZyYW1lc2BcbiAgMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDIwMCUgMDtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAwJSAwO1xuICB9XG5gXG5cbmNvbnN0IHN0ZXBFbnRlciA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQWdlbnRBY3Rpdml0eUluZGljYXRvciA9IHN0eWxlZC5kaXY8eyAkY29tcGFjdD86IGJvb2xlYW47ICR0cmFjZT86IGJvb2xlYW4gfT5gXG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEwcHg7XG4gIGFsaWduLWl0ZW1zOiAkeyh7ICR0cmFjZSB9KSA9PiAoJHRyYWNlID8gJ2ZsZXgtc3RhcnQnIDogJ2NlbnRlcicpfTtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgLyogU2luIHBhZGRpbmctdG9wOiBlbCBlc3BhY2lvIHJlc3BlY3RvIGFsIG1lbnNhamUgYW50ZXJpb3IgbG8gY29udHJvbGEgU0NMb2FkaW5nTWVzc2FnZXNDb2x1bW4gKDEycHgpICovXG4gIHBhZGRpbmc6ICR7KHsgJGNvbXBhY3QgfSkgPT4gKCRjb21wYWN0ID8gJzAgMCAxMHB4JyA6ICcwIDAgMTZweCcpfTtcbiAgbWF4LXdpZHRoOiA2MDBweDtcblxuICAuQWdlbnRBY3Rpdml0eUluZGljYXRvci10ZXh0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZ2FwOiA2cHg7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGZsZXg6IDE7XG4gICAgZm9udC1zaXplOiAkeyh7ICRjb21wYWN0IH0pID0+ICgkY29tcGFjdCA/ICcxM3B4JyA6ICcxMnB4Jyl9O1xuICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgIGNvbG9yOiAke2NvbG9ycy50ZXh0Lm1lZGl1bUdyYXl9O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZTtcbiAgfVxuXG4gIC5BZ2VudEFjdGl2aXR5SW5kaWNhdG9yLXRleHRbZGF0YS1jaGFuZ2luZz0ndHJ1ZSddIHtcbiAgICBvcGFjaXR5OiAwLjU1O1xuICB9XG5cbiAgLkFnZW50QWN0aXZpdHlJbmRpY2F0b3ItbGFiZWwge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cblxuICAuQWdlbnRBY3Rpdml0eUluZGljYXRvci1zZXBhcmF0b3Ige1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGNvbG9yOiAke2NvbG9ycy50ZXh0Lm1lZGl1bUdyYXl9O1xuICAgIG9wYWNpdHk6IDAuNzI7XG4gIH1cblxuICAuQWdlbnRBY3Rpdml0eUluZGljYXRvci10aW1lciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZm9udC1zaXplOiAkeyh7ICRjb21wYWN0IH0pID0+ICgkY29tcGFjdCA/ICcxMnB4JyA6ICcxMXB4Jyl9O1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgY29sb3I6ICR7Y29sb3JzLnRleHQubWVkaXVtR3JheX07XG4gICAgb3BhY2l0eTogMC43MjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICB9XG5cbiAgLkFnZW50QWN0aXZpdHlJbmRpY2F0b3ItdGltZXItLXRyYWNlIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5BZ2VudEFjdGl2aXR5SW5kaWNhdG9yLWxvYWRlciB7XG4gICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FnZW50QWN0aXZpdHlUcmFjZVNoZWxsID0gc3R5bGVkLmRpdjx7ICRleHBhbmRlZD86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogJHsoeyAkZXhwYW5kZWQgfSkgPT4gKCRleHBhbmRlZCA/ICc4cHgnIDogJzAnKX07XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG4gIGZsZXg6IDE7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FnZW50QWN0aXZpdHlUcmFjZUNvbGxhcHNlZFJvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQWdlbnRBY3Rpdml0eVRyYWNlRXhwYW5kZWRUb29sYmFyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgd2lkdGg6IDEwMCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FnZW50QWN0aXZpdHlUcmFjZVRvZ2dsZSA9IHN0eWxlZC5idXR0b248e1xuICAkZXhwYW5kZWQ/OiBib29sZWFuXG4gICRjb21wYWN0PzogYm9vbGVhblxuICAkY29sbGFwc2VkPzogYm9vbGVhblxufT5gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDNweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogJHsoeyAkY29sbGFwc2VkIH0pID0+ICgkY29sbGFwc2VkID8gJzAnIDogJzJweCA2cHgnKX07XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAkeyh7ICRjb21wYWN0LCAkY29sbGFwc2VkIH0pID0+ICgkY29sbGFwc2VkID8gJzExcHgnIDogJGNvbXBhY3QgPyAnMTJweCcgOiAnMTFweCcpfTtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0LnNlY29uZGFyeX07XG4gIG9wYWNpdHk6ICR7KHsgJGNvbGxhcHNlZCB9KSA9PiAoJGNvbGxhcHNlZCA/IDAuODggOiAxKX07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRyYW5zaXRpb246XG4gICAgYmFja2dyb3VuZCAwLjE1cyBlYXNlLFxuICAgIGNvbG9yIDAuMTVzIGVhc2UsXG4gICAgb3BhY2l0eSAwLjE1cyBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7KHsgJGNvbGxhcHNlZCB9KSA9PiAoJGNvbGxhcHNlZCA/ICd0cmFuc3BhcmVudCcgOiAncmdiYSgwLCAwLCAwLCAwLjA0KScpfTtcbiAgICBjb2xvcjogJHtjb2xvcnMudGV4dC5wcmltYXJ5fTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICR7Y29sb3JzLnByaW1hcnkubWFpbn07XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIH1cblxuICAuQWdlbnRBY3Rpdml0eVRyYWNlLWNoZXZyb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoJHsoeyAkZXhwYW5kZWQgfSkgPT4gKCRleHBhbmRlZCA/ICcxODBkZWcnIDogJzBkZWcnKX0pO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FnZW50QWN0aXZpdHlTdGVwc0NvbGxhcHNpYmxlID0gc3R5bGVkLmRpdjx7ICRleHBhbmRlZDogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAkeyh7ICRleHBhbmRlZCB9KSA9PiAoJGV4cGFuZGVkID8gJzFmcicgOiAnMGZyJyl9O1xuICB0cmFuc2l0aW9uOiBncmlkLXRlbXBsYXRlLXJvd3MgMC4yMnMgZWFzZS1vdXQ7XG5cbiAgPiAuQWdlbnRBY3Rpdml0eVN0ZXBzLWlubmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQWdlbnRBY3Rpdml0eVN0ZXBzID0gc3R5bGVkLm9sPHsgJGNvbXBhY3Q/OiBib29sZWFuIH0+YFxuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogJHsoeyAkY29tcGFjdCB9KSA9PiAoJGNvbXBhY3QgPyBgJHtTVEVQX0xJU1RfR0FQX0NPTVBBQ1RfUFh9cHhgIDogYCR7U1RFUF9MSVNUX0dBUF9QWH1weGApfTtcbiAgd2lkdGg6IDEwMCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FnZW50QWN0aXZpdHlTdGVwUmFpbCA9IHN0eWxlZC5kaXY8e1xuICAkaXNMYXN0PzogYm9vbGVhblxuICAkc3RhdHVzOiBTdHJlYW1FeGVjdXRpb25TdGVwU3RhdHVzXG4gICRjb21wYWN0PzogYm9vbGVhblxufT5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7U1RFUF9JQ09OX1NJWkVfUFh9cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcblxuICAuQWdlbnRBY3Rpdml0eVN0ZXAtaWNvbiB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLXRvcDogMXB4O1xuICB9XG5cbiAgJHsoeyAkaXNMYXN0LCAkc3RhdHVzLCAkY29tcGFjdCB9KSA9PlxuICAgICEkaXNMYXN0ICYmXG4gICAgYFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgdG9wOiAke1NURVBfSUNPTl9TSVpFX1BYICsgMn1weDtcbiAgICAgIGJvdHRvbTogLSR7JGNvbXBhY3QgPyBTVEVQX0xJU1RfR0FQX0NPTVBBQ1RfUFggOiBTVEVQX0xJU1RfR0FQX1BYfXB4O1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGJhY2tncm91bmQ6ICR7c3RlcENvbm5lY3RvckNvbG9yKCRzdGF0dXMpfTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQWdlbnRBY3Rpdml0eVN0ZXAgPSBzdHlsZWQubGk8e1xuICAkc3RhdHVzOiBTdHJlYW1FeGVjdXRpb25TdGVwU3RhdHVzXG4gICRjb21wYWN0PzogYm9vbGVhblxuICAkaW5kZXg6IG51bWJlclxufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDhweDtcbiAgbWluLXdpZHRoOiAwO1xuICBhbmltYXRpb246ICR7c3RlcEVudGVyfSAwLjIycyBlYXNlLW91dCBib3RoO1xuICAkeyh7ICRpbmRleCB9KSA9PiBjYXNjYWRlSXRlbSgkaW5kZXgpfTtcblxuICAuQWdlbnRBY3Rpdml0eVN0ZXAtbGFiZWwge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwYWRkaW5nLXRvcDogMXB4O1xuICAgIGZvbnQtc2l6ZTogJHsoeyAkY29tcGFjdCB9KSA9PiAoJGNvbXBhY3QgPyAnMTNweCcgOiAnMTJweCcpfTtcbiAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICBjb2xvcjogJHsoeyAkc3RhdHVzIH0pID0+ICgkc3RhdHVzID09PSAnY29tcGxldGVkJyA/IGNvbG9ycy50ZXh0LnNlY29uZGFyeSA6IGNvbG9ycy50ZXh0Lm1lZGl1bUdyYXkpfTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gIH1cblxuICAmW2RhdGEtc3RhdHVzPSdjb21wbGV0ZWQnXSAuQWdlbnRBY3Rpdml0eVN0ZXAtbGFiZWwge1xuICAgIG9wYWNpdHk6IDAuODI7XG4gIH1cblxuICAuQWdlbnRBY3Rpdml0eVN0ZXAtaWNvbi0tY29tcGxldGVkIHtcbiAgICB3aWR0aDogJHtTVEVQX0lDT05fU0laRV9QWH1weDtcbiAgICBoZWlnaHQ6ICR7U1RFUF9JQ09OX1NJWkVfUFh9cHg7XG5cbiAgICBjaXJjbGUge1xuICAgICAgZmlsbDogI2ZmZjtcbiAgICAgIHN0cm9rZTogJHtjb2xvcnMucHJpbWFyeS5tYWlufTtcbiAgICAgIHN0cm9rZS13aWR0aDogMS4yO1xuICAgICAgb3BhY2l0eTogMC4zNTtcbiAgICB9XG5cbiAgICBwYXRoIHtcbiAgICAgIGZpbGw6IG5vbmU7XG4gICAgICBzdHJva2U6ICR7Y29sb3JzLnByaW1hcnkubWFpbn07XG4gICAgICBzdHJva2Utd2lkdGg6IDEuNDtcbiAgICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLkFnZW50QWN0aXZpdHlTdGVwLWljb24tLXJ1bm5pbmcge1xuICAgIHdpZHRoOiBtaW4tY29udGVudDtcbiAgICBtYXgtd2lkdGg6ICR7U1RFUF9JQ09OX1NJWkVfUFh9cHg7XG4gICAgaGVpZ2h0OiAke1NURVBfSUNPTl9TSVpFX1BYfXB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1N0cmVhbVBlbmRpbmdTa2VsZXRvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTBweDtcbiAgcGFkZGluZzogNHB4IDAgOHB4O1xuICBtaW4taGVpZ2h0OiA0OHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA1MjBweDtcblxuICAuU3RyZWFtUGVuZGluZ1NrZWxldG9uLWxpbmUge1xuICAgIGhlaWdodDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMDQpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMDgpIDUwJSwgcmdiYSgwLCAwLCAwLCAwLjA0KSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwJTtcbiAgICBhbmltYXRpb246ICR7c2hpbW1lcn0gMS44cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgfVxuXG4gIC5TdHJlYW1QZW5kaW5nU2tlbGV0b24tbGluZTpudGgtY2hpbGQoMSkge1xuICAgIHdpZHRoOiA5MiU7XG4gIH1cbiAgLlN0cmVhbVBlbmRpbmdTa2VsZXRvbi1saW5lOm50aC1jaGlsZCgyKSB7XG4gICAgd2lkdGg6IDc4JTtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMTJzO1xuICB9XG4gIC5TdHJlYW1QZW5kaW5nU2tlbGV0b24tbGluZTpudGgtY2hpbGQoMykge1xuICAgIHdpZHRoOiA1NCU7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjI0cztcbiAgfVxuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLElBQUlDLFNBQVMsUUFBUSxtQkFBbUI7QUFDckQsT0FBT0MsTUFBTSxNQUFNLG1DQUFtQztBQUN0RCxTQUFTQyxXQUFXLFFBQVEseUJBQXlCO0FBR3JELElBQU1DLGlCQUFpQixHQUFHLEVBQUU7QUFDNUIsSUFBTUMsZ0JBQWdCLEdBQUcsQ0FBQztBQUMxQixJQUFNQyx3QkFBd0IsR0FBRyxDQUFDO0FBRWxDLElBQU1DLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQUlDLE1BQWlDO0VBQUEsT0FDM0RBLE1BQU0sS0FBSyxXQUFXLE1BQUFDLE1BQUEsQ0FBTVAsTUFBTSxDQUFDUSxPQUFPLENBQUNDLElBQUksVUFBTyxxQkFBcUI7QUFBQTtBQUU3RSxJQUFNQyxPQUFPLEdBQUdYLFNBQVMsdUVBT3hCO0FBRUQsSUFBTVksU0FBUyxHQUFHWixTQUFTLHNGQVMxQjtBQUVELE9BQU8sSUFBTWEsd0JBQXdCLEdBQUdkLE1BQU0sQ0FBQ2UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG15QkFJ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
111
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJjYXNjYWRlSXRlbSIsIlNURVBfSUNPTl9TSVpFX1BYIiwiU1RFUF9MSVNUX0dBUF9QWCIsIlNURVBfTElTVF9HQVBfQ09NUEFDVF9QWCIsInN0ZXBJY29uU3R5bGVzIiwiY29uY2F0IiwicHJpbWFyeSIsIm1haW4iLCJzdGVwQ29ubmVjdG9yQ29sb3IiLCJzdGF0dXMiLCJzaGltbWVyIiwic3RlcEVudGVyIiwiU0NBZ2VudEFjdGl2aXR5SW5kaWNhdG9yIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfcmVmIiwiJHRyYWNlIiwiX3JlZjIiLCIkY29tcGFjdCIsIl9yZWYzIiwidGV4dCIsIm1lZGl1bUdyYXkiLCJfcmVmNCIsIlNDQWdlbnRBY3Rpdml0eVRyYWNlU2hlbGwiLCJfcmVmNSIsIiRleHBhbmRlZCIsIlNDQWdlbnRBY3Rpdml0eVRyYWNlQ29sbGFwc2VkUm93IiwiU0NBZ2VudEFjdGl2aXR5VHJhY2VFeHBhbmRlZFRvb2xiYXIiLCJTQ0FnZW50QWN0aXZpdHlUcmFjZVRvZ2dsZSIsImJ1dHRvbiIsIl9yZWY2IiwiJGNvbGxhcHNlZCIsIl9yZWY3Iiwic2Vjb25kYXJ5IiwiX3JlZjgiLCJfcmVmOSIsIl9yZWYwIiwiU0NBZ2VudEFjdGl2aXR5U3RlcHNDb2xsYXBzaWJsZSIsIl9yZWYxIiwiX3JlZjEwIiwiX3JlZjExIiwiU0NBZ2VudEFjdGl2aXR5U3RlcHMiLCJvbCIsIl9yZWYxMiIsIlNDQWdlbnRBY3Rpdml0eVN0ZXBSYWlsIiwiX3JlZjEzIiwiJGlzTGFzdCIsIiRzdGF0dXMiLCJTQ0FnZW50QWN0aXZpdHlTdGVwIiwibGkiLCJfcmVmMTQiLCIkaW5kZXgiLCJfcmVmMTUiLCJfcmVmMTYiLCJTQ1N0cmVhbVBlbmRpbmdTa2VsZXRvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0FnZW50QWN0aXZpdHlJbmRpY2F0b3IvQWdlbnRBY3Rpdml0eUluZGljYXRvci5zdHlsZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCwgeyBrZXlmcmFtZXMgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcbmltcG9ydCBjb2xvcnMgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuaW1wb3J0IHsgY2FzY2FkZUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvY2FzY2FkZSdcbmltcG9ydCB0eXBlIHsgU3RyZWFtRXhlY3V0aW9uU3RlcFN0YXR1cyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3N0cmVhbUFjdGl2aXR5J1xuXG5jb25zdCBTVEVQX0lDT05fU0laRV9QWCA9IDE0XG5jb25zdCBTVEVQX0xJU1RfR0FQX1BYID0gOFxuY29uc3QgU1RFUF9MSVNUX0dBUF9DT01QQUNUX1BYID0gNlxuXG5jb25zdCBzdGVwSWNvblN0eWxlcyA9IGBcbiAgLkFnZW50QWN0aXZpdHlTdGVwLWljb24tLWNvbXBsZXRlZCB7XG4gICAgd2lkdGg6ICR7U1RFUF9JQ09OX1NJWkVfUFh9cHg7XG4gICAgaGVpZ2h0OiAke1NURVBfSUNPTl9TSVpFX1BYfXB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgY2lyY2xlIHtcbiAgICAgIGZpbGw6ICNmZmY7XG4gICAgICBzdHJva2U6ICR7Y29sb3JzLnByaW1hcnkubWFpbn07XG4gICAgICBzdHJva2Utd2lkdGg6IDEuMjtcbiAgICAgIG9wYWNpdHk6IDAuMzU7XG4gICAgfVxuXG4gICAgcGF0aCB7XG4gICAgICBmaWxsOiBub25lO1xuICAgICAgc3Ryb2tlOiAke2NvbG9ycy5wcmltYXJ5Lm1haW59O1xuICAgICAgc3Ryb2tlLXdpZHRoOiAxLjQ7XG4gICAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG4gICAgICBzdHJva2UtbGluZWpvaW46IHJvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC5BZ2VudEFjdGl2aXR5U3RlcC1pY29uLS1ydW5uaW5nIHtcbiAgICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gICAgbWF4LXdpZHRoOiAke1NURVBfSUNPTl9TSVpFX1BYfXB4O1xuICAgIGhlaWdodDogJHtTVEVQX0lDT05fU0laRV9QWH1weDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cblxuICAuQWdlbnRBY3Rpdml0eUluZGljYXRvci1sb2FkZXIge1xuICAgIHdpZHRoOiBtaW4tY29udGVudDtcbiAgICBoZWlnaHQ6ICR7U1RFUF9JQ09OX1NJWkVfUFh9cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG5gXG5cbmNvbnN0IHN0ZXBDb25uZWN0b3JDb2xvciA9IChzdGF0dXM6IFN0cmVhbUV4ZWN1dGlvblN0ZXBTdGF0dXMpOiBzdHJpbmcgPT5cbiAgc3RhdHVzID09PSAnY29tcGxldGVkJyA/IGAke2NvbG9ycy5wcmltYXJ5Lm1haW59NTJgIDogJ3JnYmEoMCwgMCwgMCwgMC4xMiknXG5cbmNvbnN0IHNoaW1tZXIgPSBrZXlmcmFtZXNgXG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMDAlIDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMCUgMDtcbiAgfVxuYFxuXG5jb25zdCBzdGVwRW50ZXIgPSBrZXlmcmFtZXNgXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FnZW50QWN0aXZpdHlJbmRpY2F0b3IgPSBzdHlsZWQuZGl2PHsgJGNvbXBhY3Q/OiBib29sZWFuOyAkdHJhY2U/OiBib29sZWFuIH0+YFxuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMHB4O1xuICBhbGlnbi1pdGVtczogJHsoeyAkdHJhY2UgfSkgPT4gKCR0cmFjZSA/ICdmbGV4LXN0YXJ0JyA6ICdjZW50ZXInKX07XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHBhZGRpbmc6ICR7KHsgJGNvbXBhY3QsICR0cmFjZSB9KSA9PiAoJHRyYWNlID8gJzAnIDogJGNvbXBhY3QgPyAnMCAwIDEwcHgnIDogJzAgMCAxNnB4Jyl9O1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuXG4gIC5BZ2VudEFjdGl2aXR5SW5kaWNhdG9yLXRleHQge1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IDZweDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZmxleDogMTtcbiAgICBmb250LXNpemU6ICR7KHsgJGNvbXBhY3QgfSkgPT4gKCRjb21wYWN0ID8gJzEzcHgnIDogJzEycHgnKX07XG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgY29sb3I6ICR7Y29sb3JzLnRleHQubWVkaXVtR3JheX07XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlO1xuICB9XG5cbiAgLkFnZW50QWN0aXZpdHlJbmRpY2F0b3ItdGV4dFtkYXRhLWNoYW5naW5nPSd0cnVlJ10ge1xuICAgIG9wYWNpdHk6IDAuNTU7XG4gIH1cblxuICAuQWdlbnRBY3Rpdml0eUluZGljYXRvci1sYWJlbCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gIC5BZ2VudEFjdGl2aXR5SW5kaWNhdG9yLXNlcGFyYXRvciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgY29sb3I6ICR7Y29sb3JzLnRleHQubWVkaXVtR3JheX07XG4gICAgb3BhY2l0eTogMC43MjtcbiAgfVxuXG4gIC5BZ2VudEFjdGl2aXR5SW5kaWNhdG9yLXRpbWVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmb250LXNpemU6ICR7KHsgJGNvbXBhY3QgfSkgPT4gKCRjb21wYWN0ID8gJzEycHgnIDogJzExcHgnKX07XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBjb2xvcjogJHtjb2xvcnMudGV4dC5tZWRpdW1HcmF5fTtcbiAgICBvcGFjaXR5OiAwLjcyO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gIH1cblxuICAuQWdlbnRBY3Rpdml0eUluZGljYXRvci10aW1lci0tdHJhY2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgJHtzdGVwSWNvblN0eWxlc31cbmBcblxuZXhwb3J0IGNvbnN0IFNDQWdlbnRBY3Rpdml0eVRyYWNlU2hlbGwgPSBzdHlsZWQuZGl2PHsgJGV4cGFuZGVkPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAkeyh7ICRleHBhbmRlZCB9KSA9PiAoJGV4cGFuZGVkID8gJzZweCcgOiAnMCcpfTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMDtcbiAgZmxleDogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAke3N0ZXBJY29uU3R5bGVzfVxuYFxuXG5leHBvcnQgY29uc3QgU0NBZ2VudEFjdGl2aXR5VHJhY2VDb2xsYXBzZWRSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FnZW50QWN0aXZpdHlUcmFjZUV4cGFuZGVkVG9vbGJhciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHdpZHRoOiAxMDAlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NBZ2VudEFjdGl2aXR5VHJhY2VUb2dnbGUgPSBzdHlsZWQuYnV0dG9uPHtcbiAgJGV4cGFuZGVkPzogYm9vbGVhblxuICAkY29tcGFjdD86IGJvb2xlYW5cbiAgJGNvbGxhcHNlZD86IGJvb2xlYW5cbn0+YFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAzcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6ICR7KHsgJGNvbGxhcHNlZCB9KSA9PiAoJGNvbGxhcHNlZCA/ICcwJyA6ICcycHggNnB4Jyl9O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogJHsoeyAkY29tcGFjdCwgJGNvbGxhcHNlZCB9KSA9PiAoJGNvbGxhcHNlZCA/ICcxMXB4JyA6ICRjb21wYWN0ID8gJzEycHgnIDogJzExcHgnKX07XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBjb2xvcjogJHtjb2xvcnMudGV4dC5zZWNvbmRhcnl9O1xuICBvcGFjaXR5OiAkeyh7ICRjb2xsYXBzZWQgfSkgPT4gKCRjb2xsYXBzZWQgPyAwLjg4IDogMSl9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0cmFuc2l0aW9uOlxuICAgIGJhY2tncm91bmQgMC4xNXMgZWFzZSxcbiAgICBjb2xvciAwLjE1cyBlYXNlLFxuICAgIG9wYWNpdHkgMC4xNXMgZWFzZTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7ICRjb2xsYXBzZWQgfSkgPT4gKCRjb2xsYXBzZWQgPyAndHJhbnNwYXJlbnQnIDogJ3JnYmEoMCwgMCwgMCwgMC4wNCknKX07XG4gICAgY29sb3I6ICR7Y29sb3JzLnRleHQucHJpbWFyeX07XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2NvbG9ycy5wcmltYXJ5Lm1haW59O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB9XG5cbiAgLkFnZW50QWN0aXZpdHlUcmFjZS1jaGV2cm9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKCR7KHsgJGV4cGFuZGVkIH0pID0+ICgkZXhwYW5kZWQgPyAnMTgwZGVnJyA6ICcwZGVnJyl9KTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NBZ2VudEFjdGl2aXR5U3RlcHNDb2xsYXBzaWJsZSA9IHN0eWxlZC5kaXY8eyAkZXhwYW5kZWQ6IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogJHsoeyAkZXhwYW5kZWQgfSkgPT4gKCRleHBhbmRlZCA/ICcxZnInIDogJzBmcicpfTtcbiAgb3BhY2l0eTogJHsoeyAkZXhwYW5kZWQgfSkgPT4gKCRleHBhbmRlZCA/IDEgOiAwKX07XG4gIHZpc2liaWxpdHk6ICR7KHsgJGV4cGFuZGVkIH0pID0+ICgkZXhwYW5kZWQgPyAndmlzaWJsZScgOiAnaGlkZGVuJyl9O1xuICB0cmFuc2l0aW9uOlxuICAgIGdyaWQtdGVtcGxhdGUtcm93cyAwLjIycyBlYXNlLW91dCxcbiAgICBvcGFjaXR5IDAuMThzIGVhc2Utb3V0LFxuICAgIHZpc2liaWxpdHkgMC4xOHMgZWFzZS1vdXQ7XG5cbiAgPiAuQWdlbnRBY3Rpdml0eVN0ZXBzLWlubmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQWdlbnRBY3Rpdml0eVN0ZXBzID0gc3R5bGVkLm9sPHsgJGNvbXBhY3Q/OiBib29sZWFuIH0+YFxuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogJHsoeyAkY29tcGFjdCB9KSA9PiAoJGNvbXBhY3QgPyBgJHtTVEVQX0xJU1RfR0FQX0NPTVBBQ1RfUFh9cHhgIDogYCR7U1RFUF9MSVNUX0dBUF9QWH1weGApfTtcbiAgd2lkdGg6IDEwMCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0FnZW50QWN0aXZpdHlTdGVwUmFpbCA9IHN0eWxlZC5kaXY8e1xuICAkaXNMYXN0PzogYm9vbGVhblxuICAkc3RhdHVzOiBTdHJlYW1FeGVjdXRpb25TdGVwU3RhdHVzXG4gICRjb21wYWN0PzogYm9vbGVhblxufT5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7U1RFUF9JQ09OX1NJWkVfUFh9cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcblxuICAuQWdlbnRBY3Rpdml0eVN0ZXAtaWNvbiB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLXRvcDogMXB4O1xuICB9XG5cbiAgJHsoeyAkaXNMYXN0LCAkc3RhdHVzLCAkY29tcGFjdCB9KSA9PlxuICAgICEkaXNMYXN0ICYmXG4gICAgYFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgdG9wOiAke1NURVBfSUNPTl9TSVpFX1BYICsgMn1weDtcbiAgICAgIGJvdHRvbTogLSR7JGNvbXBhY3QgPyBTVEVQX0xJU1RfR0FQX0NPTVBBQ1RfUFggOiBTVEVQX0xJU1RfR0FQX1BYfXB4O1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGJhY2tncm91bmQ6ICR7c3RlcENvbm5lY3RvckNvbG9yKCRzdGF0dXMpfTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQWdlbnRBY3Rpdml0eVN0ZXAgPSBzdHlsZWQubGk8e1xuICAkc3RhdHVzOiBTdHJlYW1FeGVjdXRpb25TdGVwU3RhdHVzXG4gICRjb21wYWN0PzogYm9vbGVhblxuICAkaW5kZXg6IG51bWJlclxufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDhweDtcbiAgbWluLXdpZHRoOiAwO1xuICBhbmltYXRpb246ICR7c3RlcEVudGVyfSAwLjIycyBlYXNlLW91dCBib3RoO1xuICAkeyh7ICRpbmRleCB9KSA9PiBjYXNjYWRlSXRlbSgkaW5kZXgpfTtcblxuICAuQWdlbnRBY3Rpdml0eVN0ZXAtbGFiZWwge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwYWRkaW5nLXRvcDogMXB4O1xuICAgIGZvbnQtc2l6ZTogJHsoeyAkY29tcGFjdCB9KSA9PiAoJGNvbXBhY3QgPyAnMTNweCcgOiAnMTJweCcpfTtcbiAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICBjb2xvcjogJHsoeyAkc3RhdHVzIH0pID0+ICgkc3RhdHVzID09PSAnY29tcGxldGVkJyA/IGNvbG9ycy50ZXh0LnNlY29uZGFyeSA6IGNvbG9ycy50ZXh0Lm1lZGl1bUdyYXkpfTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gIH1cblxuICAmW2RhdGEtc3RhdHVzPSdjb21wbGV0ZWQnXSAuQWdlbnRBY3Rpdml0eVN0ZXAtbGFiZWwge1xuICAgIG9wYWNpdHk6IDAuODI7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDU3RyZWFtUGVuZGluZ1NrZWxldG9uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMHB4O1xuICBwYWRkaW5nOiA0cHggMCA4cHg7XG4gIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDUyMHB4O1xuXG4gIC5TdHJlYW1QZW5kaW5nU2tlbGV0b24tbGluZSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMCwgMCwgMCwgMC4wNCkgMCUsIHJnYmEoMCwgMCwgMCwgMC4wOCkgNTAlLCByZ2JhKDAsIDAsIDAsIDAuMDQpIDEwMCUpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xuICAgIGFuaW1hdGlvbjogJHtzaGltbWVyfSAxLjhzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICB9XG5cbiAgLlN0cmVhbVBlbmRpbmdTa2VsZXRvbi1saW5lOm50aC1jaGlsZCgxKSB7XG4gICAgd2lkdGg6IDkyJTtcbiAgfVxuICAuU3RyZWFtUGVuZGluZ1NrZWxldG9uLWxpbmU6bnRoLWNoaWxkKDIpIHtcbiAgICB3aWR0aDogNzglO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4xMnM7XG4gIH1cbiAgLlN0cmVhbVBlbmRpbmdTa2VsZXRvbi1saW5lOm50aC1jaGlsZCgzKSB7XG4gICAgd2lkdGg6IDU0JTtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMjRzO1xuICB9XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sSUFBSUMsU0FBUyxRQUFRLG1CQUFtQjtBQUNyRCxPQUFPQyxNQUFNLE1BQU0sbUNBQW1DO0FBQ3RELFNBQVNDLFdBQVcsUUFBUSx5QkFBeUI7QUFHckQsSUFBTUMsaUJB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
@@ -1,3 +1,4 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
1
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -7,10 +8,19 @@ import { useTranslation } from 'react-i18next';
7
8
  import { OptionAccessibility } from '../../../atoms/OptionAccessibility';
8
9
  import { OptionCorPermission } from '../../../atoms/OptionCorPermission';
9
10
  import { EVENTS, useEvent } from '../../../../hooks/useEvent';
11
+ import { getAvailableConnectors } from '../../../../services/maia/Agents/connectors';
12
+ import { NETSUITE_CONNECTOR_SLUG } from '../../../../utils/normalizeAgentConnectors';
10
13
  import { SCAASWrapper, SCAASHeader, SCAASTitle, SCAASSubtitle, SCAASContent, SCAASSection, SCAASSectionHeader, SCAASSectionTitle, SCAASSectionSubtitle, SCAASOptionsContainer, SCAASDivider } from './AbmAccessibilitySection.styles';
11
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
+ var FALLBACK_CONNECTORS = [{
16
+ id: 0,
17
+ slug: NETSUITE_CONNECTOR_SLUG,
18
+ name: 'NetSuite',
19
+ requires_auth: true,
20
+ is_active: true
21
+ }];
12
22
  export var AbmAccessibilitySection = function AbmAccessibilitySection(_ref) {
13
- var _values$accessibility, _values$accessibility2, _values$accessibility3, _values$accessibility4, _formValues$clients;
23
+ var _values$accessibility, _values$accessibility2, _values$accessibility3, _values$accessibility4, _values$accessibility5, _values$accessibility7, _formValues$clients;
14
24
  var values = _ref.values,
15
25
  handleSetAgentValues = _ref.handleSetAgentValues;
16
26
  var _useTranslation = useTranslation('abm_agent_section'),
@@ -19,11 +29,16 @@ export var AbmAccessibilitySection = function AbmAccessibilitySection(_ref) {
19
29
  var _useState = useState({
20
30
  accessType: (values === null || values === void 0 || (_values$accessibility = values.accessibility) === null || _values$accessibility === void 0 ? void 0 : _values$accessibility.accessType) || 'company',
21
31
  clients: (values === null || values === void 0 || (_values$accessibility2 = values.accessibility) === null || _values$accessibility2 === void 0 ? void 0 : _values$accessibility2.clients) || null,
22
- taskAccess: (_values$accessibility3 = values === null || values === void 0 || (_values$accessibility4 = values.accessibility) === null || _values$accessibility4 === void 0 ? void 0 : _values$accessibility4.taskAccess) !== null && _values$accessibility3 !== void 0 ? _values$accessibility3 : true
32
+ taskAccess: (_values$accessibility3 = values === null || values === void 0 || (_values$accessibility4 = values.accessibility) === null || _values$accessibility4 === void 0 ? void 0 : _values$accessibility4.taskAccess) !== null && _values$accessibility3 !== void 0 ? _values$accessibility3 : true,
33
+ selectedConnectors: (values === null || values === void 0 || (_values$accessibility5 = values.accessibility) === null || _values$accessibility5 === void 0 ? void 0 : _values$accessibility5.selectedConnectors) || []
23
34
  }),
24
35
  _useState2 = _slicedToArray(_useState, 2),
25
36
  formValues = _useState2[0],
26
37
  setFormValues = _useState2[1];
38
+ var _useState3 = useState(FALLBACK_CONNECTORS),
39
+ _useState4 = _slicedToArray(_useState3, 2),
40
+ catalogConnectors = _useState4[0],
41
+ setCatalogConnectors = _useState4[1];
27
42
  var _handleSelectOption = function handleSelectOption(option, clients) {
28
43
  var optionMapping = {
29
44
  company: 'all_company',
@@ -36,7 +51,8 @@ export var AbmAccessibilitySection = function AbmAccessibilitySection(_ref) {
36
51
  var valueToSend = {
37
52
  accessType: option,
38
53
  clients: null,
39
- taskAccess: formValues.taskAccess
54
+ taskAccess: formValues.taskAccess,
55
+ selectedConnectors: formValues.selectedConnectors
40
56
  };
41
57
  if (option !== 'clients' || !clients) {
42
58
  setFormValues(valueToSend);
@@ -67,6 +83,40 @@ export var AbmAccessibilitySection = function AbmAccessibilitySection(_ref) {
67
83
  });
68
84
  });
69
85
  };
86
+ var handleConnectorAccessChange = function handleConnectorAccessChange(slug, checked) {
87
+ eventAmplitude(EVENTS.connectorMcp, {
88
+ option: checked ? 'on' : 'off',
89
+ slug: slug
90
+ });
91
+ setFormValues(function (prev) {
92
+ var next = new Set(prev.selectedConnectors);
93
+ if (checked) {
94
+ next.add(slug);
95
+ } else {
96
+ next["delete"](slug);
97
+ }
98
+ return _objectSpread(_objectSpread({}, prev), {}, {
99
+ selectedConnectors: Array.from(next)
100
+ });
101
+ });
102
+ };
103
+ useEffect(function () {
104
+ var _values$accessibility6;
105
+ var nextConnectors = values === null || values === void 0 || (_values$accessibility6 = values.accessibility) === null || _values$accessibility6 === void 0 ? void 0 : _values$accessibility6.selectedConnectors;
106
+ if (!nextConnectors) {
107
+ return;
108
+ }
109
+ setFormValues(function (prev) {
110
+ var current = _toConsumableArray(prev.selectedConnectors).sort().join('|');
111
+ var incoming = _toConsumableArray(nextConnectors).sort().join('|');
112
+ if (current === incoming) {
113
+ return prev;
114
+ }
115
+ return _objectSpread(_objectSpread({}, prev), {}, {
116
+ selectedConnectors: nextConnectors
117
+ });
118
+ });
119
+ }, [values === null || values === void 0 || (_values$accessibility7 = values.accessibility) === null || _values$accessibility7 === void 0 ? void 0 : _values$accessibility7.selectedConnectors]);
70
120
  useEffect(function () {
71
121
  if (formValues) {
72
122
  handleSetAgentValues === null || handleSetAgentValues === void 0 || handleSetAgentValues({
@@ -75,6 +125,24 @@ export var AbmAccessibilitySection = function AbmAccessibilitySection(_ref) {
75
125
  });
76
126
  }
77
127
  }, [formValues]);
128
+ useEffect(function () {
129
+ var cancelled = false;
130
+ getAvailableConnectors().then(function (connectors) {
131
+ if (!cancelled) {
132
+ setCatalogConnectors(connectors.filter(function (connector) {
133
+ return connector.is_active && connector.slug === NETSUITE_CONNECTOR_SLUG;
134
+ }));
135
+ }
136
+ })["catch"](function (error) {
137
+ console.error('Error fetching connectors catalog:', error);
138
+ if (!cancelled) {
139
+ setCatalogConnectors(FALLBACK_CONNECTORS);
140
+ }
141
+ });
142
+ return function () {
143
+ cancelled = true;
144
+ };
145
+ }, []);
78
146
  return /*#__PURE__*/_jsxs(SCAASWrapper, {
79
147
  children: [/*#__PURE__*/_jsxs(SCAASHeader, {
80
148
  $index: 0,
@@ -98,6 +166,25 @@ export var AbmAccessibilitySection = function AbmAccessibilitySection(_ref) {
98
166
  checked: formValues.taskAccess,
99
167
  onChange: handleTaskAccessChange
100
168
  })]
169
+ }), /*#__PURE__*/_jsx(SCAASDivider, {}), /*#__PURE__*/_jsxs(SCAASSection, {
170
+ children: [/*#__PURE__*/_jsxs(SCAASSectionHeader, {
171
+ children: [/*#__PURE__*/_jsx(SCAASSectionTitle, {
172
+ children: t('accessibilitySection.mcpPermissionsTitle')
173
+ }), /*#__PURE__*/_jsx(SCAASSectionSubtitle, {
174
+ children: t('accessibilitySection.mcpPermissionsSubtitle')
175
+ })]
176
+ }), catalogConnectors.map(function (connector) {
177
+ return /*#__PURE__*/_jsx(OptionCorPermission, {
178
+ title: connector.slug === NETSUITE_CONNECTOR_SLUG ? t('accessibilitySection.netsuiteAccessTitle') : connector.name,
179
+ description: connector.slug === NETSUITE_CONNECTOR_SLUG ? t('accessibilitySection.netsuiteAccessDescription') : connector.description || t('accessibilitySection.connectorAccessDescription', {
180
+ name: connector.name
181
+ }),
182
+ checked: formValues.selectedConnectors.includes(connector.slug),
183
+ onChange: function onChange(checked) {
184
+ return handleConnectorAccessChange(connector.slug, checked);
185
+ }
186
+ }, connector.slug);
187
+ })]
101
188
  }), /*#__PURE__*/_jsx(SCAASDivider, {}), /*#__PURE__*/_jsxs(SCAASSection, {
102
189
  children: [/*#__PURE__*/_jsxs(SCAASSectionHeader, {
103
190
  children: [/*#__PURE__*/_jsx(SCAASSectionTitle, {
@@ -146,4 +233,4 @@ export var AbmAccessibilitySection = function AbmAccessibilitySection(_ref) {
146
233
  })]
147
234
  });
148
235
  };
149
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZVRyYW5zbGF0aW9uIiwiT3B0aW9uQWNjZXNzaWJpbGl0eSIsIk9wdGlvbkNvclBlcm1pc3Npb24iLCJFVkVOVFMiLCJ1c2VFdmVudCIsIlNDQUFTV3JhcHBlciIsIlNDQUFTSGVhZGVyIiwiU0NBQVNUaXRsZSIsIlNDQUFTU3VidGl0bGUiLCJTQ0FBU0NvbnRlbnQiLCJTQ0FBU1NlY3Rpb24iLCJTQ0FBU1NlY3Rpb25IZWFkZXIiLCJTQ0FBU1NlY3Rpb25UaXRsZSIsIlNDQUFTU2VjdGlvblN1YnRpdGxlIiwiU0NBQVNPcHRpb25zQ29udGFpbmVyIiwiU0NBQVNEaXZpZGVyIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkFibUFjY2Vzc2liaWxpdHlTZWN0aW9uIiwiX3JlZiIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTIiLCJfdmFsdWVzJGFjY2Vzc2liaWxpdHkzIiwiX3ZhbHVlcyRhY2Nlc3NpYmlsaXR5NCIsIl9mb3JtVmFsdWVzJGNsaWVudHMiLCJ2YWx1ZXMiLCJoYW5kbGVTZXRBZ2VudFZhbHVlcyIsIl91c2VUcmFuc2xhdGlvbiIsInQiLCJldmVudEFtcGxpdHVkZSIsIl91c2VTdGF0ZSIsImFjY2Vzc1R5cGUiLCJhY2Nlc3NpYmlsaXR5IiwiY2xpZW50cyIsInRhc2tBY2Nlc3MiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJmb3JtVmFsdWVzIiwic2V0Rm9ybVZhbHVlcyIsImhhbmRsZVNlbGVjdE9wdGlvbiIsIm9wdGlvbiIsIm9wdGlvbk1hcHBpbmciLCJjb21wYW55Iiwib25seV9tZSIsImFjY2Vzc2liaWxpdHlUeXBlIiwidmFsdWVUb1NlbmQiLCJjbGllbnRGb3JtRGF0YSIsIm1hcCIsImNsaWVudCIsImlkIiwibmFtZSIsImlzX2FjdGl2ZSIsImlzX2RlbGV0ZWQiLCJsZW5ndGgiLCJhY2Nlc3NpYmlsaXR5U2VsZWN0Q2xpZW50IiwiX29iamVjdFNwcmVhZCIsImhhbmRsZVRhc2tBY2Nlc3NDaGFuZ2UiLCJjaGVja2VkIiwiY29ubmVjdG9yQ29yIiwicHJldiIsImtleSIsInZhbHVlIiwiY2hpbGRyZW4iLCIkaW5kZXgiLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwib25DaGFuZ2UiLCJvcHRpb25TZWxlY3RlZCIsImlzQ2xpZW50IiwicHJvcHMiLCJzZWxlY3RlZENsaWVudHMiLCJfY2xpZW50JG5hbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQWJtU2VjdGlvbi9BYm1BY2Nlc3NpYmlsaXR5U2VjdGlvbi9BYm1BY2Nlc3NpYmlsaXR5U2VjdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgT3B0aW9uQWNjZXNzaWJpbGl0eSB9IGZyb20gJy4uLy4uLy4uL2F0b21zL09wdGlvbkFjY2Vzc2liaWxpdHknXG5pbXBvcnQgeyBPcHRpb25Db3JQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vLi4vYXRvbXMvT3B0aW9uQ29yUGVybWlzc2lvbidcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7XG4gIFNDQUFTV3JhcHBlcixcbiAgU0NBQVNIZWFkZXIsXG4gIFNDQUFTVGl0bGUsXG4gIFNDQUFTU3VidGl0bGUsXG4gIFNDQUFTQ29udGVudCxcbiAgU0NBQVNTZWN0aW9uLFxuICBTQ0FBU1NlY3Rpb25IZWFkZXIsXG4gIFNDQUFTU2VjdGlvblRpdGxlLFxuICBTQ0FBU1NlY3Rpb25TdWJ0aXRsZSxcbiAgU0NBQVNPcHRpb25zQ29udGFpbmVyLFxuICBTQ0FBU0RpdmlkZXIsXG59IGZyb20gJy4vQWJtQWNjZXNzaWJpbGl0eVNlY3Rpb24uc3R5bGVzJ1xuaW1wb3J0IHsgQ2xpZW50Rm9ybURhdGEgfSBmcm9tICcuL0FibUFjY2Vzc2liaWxpdHlTZWN0aW9uLmludGVyZmFjZSdcblxuaW50ZXJmYWNlIEFibUFjY2Vzc2liaWxpdHlTZWN0aW9uUHJvcHMge1xuICB2YWx1ZXM/OiB7XG4gICAgYWNjZXNzaWJpbGl0eT86IHtcbiAgICAgIGFjY2Vzc1R5cGU/OiBzdHJpbmdcbiAgICAgIGNsaWVudHM/OiBDbGllbnRGb3JtRGF0YVtdIHwgbnVsbFxuICAgICAgdGFza0FjY2Vzcz86IGJvb2xlYW5cbiAgICB9XG4gIH1cbiAgaGFuZGxlU2V0QWdlbnRWYWx1ZXM/OiAoeyBrZXksIHZhbHVlIH06IHsga2V5OiBzdHJpbmc7IHZhbHVlOiB1bmtub3duIH0pID0+IHZvaWRcbn1cblxuZXhwb3J0IGNvbnN0IEFibUFjY2Vzc2liaWxpdHlTZWN0aW9uID0gKHsgdmFsdWVzLCBoYW5kbGVTZXRBZ2VudFZhbHVlcyB9OiBBYm1BY2Nlc3NpYmlsaXR5U2VjdGlvblByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2FibV9hZ2VudF9zZWN0aW9uJylcbiAgY29uc3QgZXZlbnRBbXBsaXR1ZGUgPSB1c2VFdmVudCgpXG5cbiAgY29uc3QgW2Zvcm1WYWx1ZXMsIHNldEZvcm1WYWx1ZXNdID0gdXNlU3RhdGU8e1xuICAgIGFjY2Vzc1R5cGU6IHN0cmluZ1xuICAgIGNsaWVudHM6IENsaWVudEZvcm1EYXRhW10gfCBudWxsXG4gICAgdGFza0FjY2VzczogYm9vbGVhblxuICB9Pih7XG4gICAgYWNjZXNzVHlwZTogdmFsdWVzPy5hY2Nlc3NpYmlsaXR5Py5hY2Nlc3NUeXBlIHx8ICdjb21wYW55JyxcbiAgICBjbGllbnRzOiB2YWx1ZXM/LmFjY2Vzc2liaWxpdHk/LmNsaWVudHMgfHwgbnVsbCxcbiAgICB0YXNrQWNjZXNzOiB2YWx1ZXM/LmFjY2Vzc2liaWxpdHk/LnRhc2tBY2Nlc3MgPz8gdHJ1ZSxcbiAgfSlcblxuICBjb25zdCBoYW5kbGVTZWxlY3RPcHRpb24gPSAob3B0aW9uOiBzdHJpbmcsIGNsaWVudHM/OiBDbGllbnRGb3JtRGF0YVtdIHwgbnVsbCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbk1hcHBpbmc6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgICBjb21wYW55OiAnYWxsX2NvbXBhbnknLFxuICAgICAgY2xpZW50czogJ2J5X2NsaWVudGVzJyxcbiAgICAgIG9ubHlfbWU6ICdqdXN0X21lJyxcbiAgICB9XG5cbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWNjZXNzaWJpbGl0eVR5cGUsIHsgb3B0aW9uOiBvcHRpb25NYXBwaW5nW29wdGlvbl0gfSlcblxuICAgIGNvbnN0IHZhbHVlVG9TZW5kID0ge1xuICAgICAgYWNjZXNzVHlwZTogb3B0aW9uLFxuICAgICAgY2xpZW50czogbnVsbCBhcyBDbGllbnRGb3JtRGF0YVtdIHwgbnVsbCxcbiAgICAgIHRhc2tBY2Nlc3M6IGZvcm1WYWx1ZXMudGFza0FjY2VzcyxcbiAgICB9XG4gICAgaWYgKG9wdGlvbiAhPT0gJ2NsaWVudHMnIHx8ICFjbGllbnRzKSB7XG4gICAgICBzZXRGb3JtVmFsdWVzKHZhbHVlVG9TZW5kKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgY2xpZW50Rm9ybURhdGEgPSBjbGllbnRzLm1hcChjbGllbnQgPT4gKHtcbiAgICAgIGlkOiBjbGllbnQuaWQsXG4gICAgICBuYW1lOiBjbGllbnQubmFtZSxcbiAgICAgIGlzX2FjdGl2ZTogY2xpZW50LmlzX2FjdGl2ZSxcbiAgICAgIGlzX2RlbGV0ZWQ6IGNsaWVudC5pc19kZWxldGVkLFxuICAgIH0pKVxuXG4gICAgaWYgKGNsaWVudHMgJiYgY2xpZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWNjZXNzaWJpbGl0eVNlbGVjdENsaWVudClcbiAgICB9XG5cbiAgICBzZXRGb3JtVmFsdWVzKHsgLi4udmFsdWVUb1NlbmQsIGNsaWVudHM6IGNsaWVudEZvcm1EYXRhIH0pXG4gIH1cblxuICBjb25zdCBoYW5kbGVUYXNrQWNjZXNzQ2hhbmdlID0gKGNoZWNrZWQ6IGJvb2xlYW4pID0+IHtcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuY29ubmVjdG9yQ29yLCB7IG9wdGlvbjogY2hlY2tlZCA/ICdvbicgOiAnb2ZmJyB9KVxuXG4gICAgc2V0Rm9ybVZhbHVlcyhwcmV2ID0+ICh7XG4gICAgICAuLi5wcmV2LFxuICAgICAgdGFza0FjY2VzczogY2hlY2tlZCxcbiAgICB9KSlcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGZvcm1WYWx1ZXMpIHtcbiAgICAgIGhhbmRsZVNldEFnZW50VmFsdWVzPy4oe1xuICAgICAgICBrZXk6ICdhY2Nlc3NpYmlsaXR5JyxcbiAgICAgICAgdmFsdWU6IGZvcm1WYWx1ZXMsXG4gICAgICB9KVxuICAgIH1cbiAgfSwgW2Zvcm1WYWx1ZXNdKVxuXG4gIHJldHVybiAoXG4gICAgPFNDQUFTV3JhcHBlcj5cbiAgICAgIDxTQ0FBU0hlYWRlciAkaW5kZXg9ezB9PlxuICAgICAgICA8U0NBQVNUaXRsZT57dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24udGl0bGVTZWN0aW9uJyl9PC9TQ0FBU1RpdGxlPlxuICAgICAgICA8U0NBQVNTdWJ0aXRsZT57dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24uc3VidGl0bGVTZWN0aW9uJyl9PC9TQ0FBU1N1YnRpdGxlPlxuICAgICAgPC9TQ0FBU0hlYWRlcj5cbiAgICAgIDxTQ0FBU0NvbnRlbnQgJGluZGV4PXsxfT5cbiAgICAgICAgPFNDQUFTU2VjdGlvbj5cbiAgICAgICAgICA8U0NBQVNTZWN0aW9uSGVhZGVyPlxuICAgICAgICAgICAgPFNDQUFTU2VjdGlvblRpdGxlPnt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5jb3JQZXJtaXNzaW9uc1RpdGxlJyl9PC9TQ0FBU1NlY3Rpb25UaXRsZT5cbiAgICAgICAgICAgIDxTQ0FBU1NlY3Rpb25TdWJ0aXRsZT57dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24uY29yUGVybWlzc2lvbnNTdWJ0aXRsZScpfTwvU0NBQVNTZWN0aW9uU3VidGl0bGU+XG4gICAgICAgICAgPC9TQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAgPE9wdGlvbkNvclBlcm1pc3Npb25cbiAgICAgICAgICAgIHRpdGxlPXt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi50YXNrQWNjZXNzVGl0bGUnKX1cbiAgICAgICAgICAgIGRlc2NyaXB0aW9uPXt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi50YXNrQWNjZXNzRGVzY3JpcHRpb24nKX1cbiAgICAgICAgICAgIGNoZWNrZWQ9e2Zvcm1WYWx1ZXMudGFza0FjY2Vzc31cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVUYXNrQWNjZXNzQ2hhbmdlfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU0NBQVNTZWN0aW9uPlxuXG4gICAgICAgIDxTQ0FBU0RpdmlkZXIgLz5cblxuICAgICAgICA8U0NBQVNTZWN0aW9uPlxuICAgICAgICAgIDxTQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAgICA8U0NBQVNTZWN0aW9uVGl0bGU+e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLnZpc2liaWxpdHlUaXRsZScpfTwvU0NBQVNTZWN0aW9uVGl0bGU+XG4gICAgICAgICAgICA8U0NBQVNTZWN0aW9uU3VidGl0bGU+e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLndob0NhbkFjY2VzcycpfTwvU0NBQVNTZWN0aW9uU3VidGl0bGU+XG4gICAgICAgICAgPC9TQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAgPFNDQUFTT3B0aW9uc0NvbnRhaW5lcj5cbiAgICAgICAgICAgIDxPcHRpb25BY2Nlc3NpYmlsaXR5XG4gICAgICAgICAgICAgIHRpdGxlPXt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5hbGxDb21wYW55VGl0bGUnKX1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmFsbENvbXBhbnlEZXNjcmlwdGlvbicpfVxuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RPcHRpb249eygpID0+IGhhbmRsZVNlbGVjdE9wdGlvbignY29tcGFueScpfVxuICAgICAgICAgICAgICBvcHRpb25TZWxlY3RlZD17Zm9ybVZhbHVlcy5hY2Nlc3NUeXBlfVxuICAgICAgICAgICAgICBuYW1lPVwiY29tcGFueVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPE9wdGlvbkFjY2Vzc2liaWxpdHlcbiAgICAgICAgICAgICAgdGl0bGU9e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmNsaWVudFRpdGxlJyl9XG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uPXt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5jbGllbnREZXNjcmlwdGlvbicpfVxuICAgICAgICAgICAgICBpc0NsaWVudD17Zm9ybVZhbHVlcy5hY2Nlc3NUeXBlID09PSAnY2xpZW50cyd9XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbj17KHByb3BzPzogQ2xpZW50Rm9ybURhdGFbXSkgPT4gaGFuZGxlU2VsZWN0T3B0aW9uKCdjbGllbnRzJywgcHJvcHMpfVxuICAgICAgICAgICAgICBvcHRpb25TZWxlY3RlZD17Zm9ybVZhbHVlcy5hY2Nlc3NUeXBlfVxuICAgICAgICAgICAgICBuYW1lPVwiY2xpZW50c1wiXG4gICAgICAgICAgICAgIHNlbGVjdGVkQ2xpZW50cz17Zm9ybVZhbHVlcy5jbGllbnRzPy5tYXAoY2xpZW50ID0+ICh7XG4gICAgICAgICAgICAgICAgaWQ6IGNsaWVudC5pZCxcbiAgICAgICAgICAgICAgICBuYW1lOiBjbGllbnQubmFtZSA/PyAnJyxcbiAgICAgICAgICAgICAgICBpc19hY3RpdmU6IGNsaWVudC5pc19hY3RpdmUsXG4gICAgICAgICAgICAgICAgaXNfZGVsZXRlZDogY2xpZW50LmlzX2RlbGV0ZWQsXG4gICAgICAgICAgICAgIH0pKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8T3B0aW9uQWNjZXNzaWJpbGl0eVxuICAgICAgICAgICAgICB0aXRsZT17dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24ub3duVGl0bGUnKX1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLm93bkRlc2NyaXB0aW9uJyl9XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbj17KCkgPT4gaGFuZGxlU2VsZWN0T3B0aW9uKCdvbmx5X21lJyl9XG4gICAgICAgICAgICAgIG9wdGlvblNlbGVjdGVkPXtmb3JtVmFsdWVzLmFjY2Vzc1R5cGV9XG4gICAgICAgICAgICAgIG5hbWU9XCJvbmx5X21lXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TQ0FBU09wdGlvbnNDb250YWluZXI+XG4gICAgICAgIDwvU0NBQVNTZWN0aW9uPlxuICAgICAgPC9TQ0FBU0NvbnRlbnQ+XG4gICAgPC9TQ0FBU1dyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLFFBQVEsRUFBRUMsU0FBUyxRQUFRLE9BQU87QUFDM0MsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBU0MsbUJBQW1CLFFBQVEsb0NBQW9DO0FBQ3hFLFNBQVNDLG1CQUFtQixRQUFRLG9DQUFvQztBQUN4RSxTQUFTQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSw0QkFBNEI7QUFDN0QsU0FDRUMsWUFBWSxFQUNaQyxXQUFXLEVBQ1hDLFVBQVUsRUFDVkMsYUFBYSxFQUNiQyxZQUFZLEVBQ1pDLFlBQVksRUFDWkMsa0JBQWtCLEVBQ2xCQyxpQkFBaUIsRUFDakJDLG9CQUFvQixFQUNwQkMscUJBQXFCLEVBQ3JCQyxZQUFZLFFBQ1Asa0NBQWtDO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQWN6QyxPQUFPLElBQU1DLHVCQUF1QixHQUFHLFNBQTFCQSx1QkFBdUJBLENBQUFDLElBQUEsRUFB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
236
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZVRyYW5zbGF0aW9uIiwiT3B0aW9uQWNjZXNzaWJpbGl0eSIsIk9wdGlvbkNvclBlcm1pc3Npb24iLCJFVkVOVFMiLCJ1c2VFdmVudCIsImdldEF2YWlsYWJsZUNvbm5lY3RvcnMiLCJORVRTVUlURV9DT05ORUNUT1JfU0xVRyIsIlNDQUFTV3JhcHBlciIsIlNDQUFTSGVhZGVyIiwiU0NBQVNUaXRsZSIsIlNDQUFTU3VidGl0bGUiLCJTQ0FBU0NvbnRlbnQiLCJTQ0FBU1NlY3Rpb24iLCJTQ0FBU1NlY3Rpb25IZWFkZXIiLCJTQ0FBU1NlY3Rpb25UaXRsZSIsIlNDQUFTU2VjdGlvblN1YnRpdGxlIiwiU0NBQVNPcHRpb25zQ29udGFpbmVyIiwiU0NBQVNEaXZpZGVyIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZBTExCQUNLX0NPTk5FQ1RPUlMiLCJpZCIsInNsdWciLCJuYW1lIiwicmVxdWlyZXNfYXV0aCIsImlzX2FjdGl2ZSIsIkFibUFjY2Vzc2liaWxpdHlTZWN0aW9uIiwiX3JlZiIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTIiLCJfdmFsdWVzJGFjY2Vzc2liaWxpdHkzIiwiX3ZhbHVlcyRhY2Nlc3NpYmlsaXR5NCIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTUiLCJfdmFsdWVzJGFjY2Vzc2liaWxpdHk3IiwiX2Zvcm1WYWx1ZXMkY2xpZW50cyIsInZhbHVlcyIsImhhbmRsZVNldEFnZW50VmFsdWVzIiwiX3VzZVRyYW5zbGF0aW9uIiwidCIsImV2ZW50QW1wbGl0dWRlIiwiX3VzZVN0YXRlIiwiYWNjZXNzVHlwZSIsImFjY2Vzc2liaWxpdHkiLCJjbGllbnRzIiwidGFza0FjY2VzcyIsInNlbGVjdGVkQ29ubmVjdG9ycyIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImZvcm1WYWx1ZXMiLCJzZXRGb3JtVmFsdWVzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJjYXRhbG9nQ29ubmVjdG9ycyIsInNldENhdGFsb2dDb25uZWN0b3JzIiwiaGFuZGxlU2VsZWN0T3B0aW9uIiwib3B0aW9uIiwib3B0aW9uTWFwcGluZyIsImNvbXBhbnkiLCJvbmx5X21lIiwiYWNjZXNzaWJpbGl0eVR5cGUiLCJ2YWx1ZVRvU2VuZCIsImNsaWVudEZvcm1EYXRhIiwibWFwIiwiY2xpZW50IiwiaXNfZGVsZXRlZCIsImxlbmd0aCIsImFjY2Vzc2liaWxpdHlTZWxlY3RDbGllbnQiLCJfb2JqZWN0U3ByZWFkIiwiaGFuZGxlVGFza0FjY2Vzc0NoYW5nZSIsImNoZWNrZWQiLCJjb25uZWN0b3JDb3IiLCJwcmV2IiwiaGFuZGxlQ29ubmVjdG9yQWNjZXNzQ2hhbmdlIiwiY29ubmVjdG9yTWNwIiwibmV4dCIsIlNldCIsImFkZCIsIkFycmF5IiwiZnJvbSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTYiLCJuZXh0Q29ubmVjdG9ycyIsImN1cnJlbnQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzb3J0Iiwiam9pbiIsImluY29taW5nIiwia2V5IiwidmFsdWUiLCJjYW5jZWxsZWQiLCJ0aGVuIiwiY29ubmVjdG9ycyIsImZpbHRlciIsImNvbm5lY3RvciIsImVycm9yIiwiY29uc29sZSIsImNoaWxkcmVuIiwiJGluZGV4IiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIm9uQ2hhbmdlIiwiaW5jbHVkZXMiLCJvcHRpb25TZWxlY3RlZCIsImlzQ2xpZW50IiwicHJvcHMiLCJzZWxlY3RlZENsaWVudHMiLCJfY2xpZW50JG5hbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQWJtU2VjdGlvbi9BYm1BY2Nlc3NpYmlsaXR5U2VjdGlvbi9BYm1BY2Nlc3NpYmlsaXR5U2VjdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgT3B0aW9uQWNjZXNzaWJpbGl0eSB9IGZyb20gJy4uLy4uLy4uL2F0b21zL09wdGlvbkFjY2Vzc2liaWxpdHknXG5pbXBvcnQgeyBPcHRpb25Db3JQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vLi4vYXRvbXMvT3B0aW9uQ29yUGVybWlzc2lvbidcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7IGdldEF2YWlsYWJsZUNvbm5lY3RvcnMsIHR5cGUgQ2F0YWxvZ0Nvbm5lY3RvciB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL2Nvbm5lY3RvcnMnXG5pbXBvcnQgeyBORVRTVUlURV9DT05ORUNUT1JfU0xVRyB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL25vcm1hbGl6ZUFnZW50Q29ubmVjdG9ycydcbmltcG9ydCB7XG4gIFNDQUFTV3JhcHBlcixcbiAgU0NBQVNIZWFkZXIsXG4gIFNDQUFTVGl0bGUsXG4gIFNDQUFTU3VidGl0bGUsXG4gIFNDQUFTQ29udGVudCxcbiAgU0NBQVNTZWN0aW9uLFxuICBTQ0FBU1NlY3Rpb25IZWFkZXIsXG4gIFNDQUFTU2VjdGlvblRpdGxlLFxuICBTQ0FBU1NlY3Rpb25TdWJ0aXRsZSxcbiAgU0NBQVNPcHRpb25zQ29udGFpbmVyLFxuICBTQ0FBU0RpdmlkZXIsXG59IGZyb20gJy4vQWJtQWNjZXNzaWJpbGl0eVNlY3Rpb24uc3R5bGVzJ1xuaW1wb3J0IHsgQ2xpZW50Rm9ybURhdGEgfSBmcm9tICcuL0FibUFjY2Vzc2liaWxpdHlTZWN0aW9uLmludGVyZmFjZSdcblxuY29uc3QgRkFMTEJBQ0tfQ09OTkVDVE9SUzogQ2F0YWxvZ0Nvbm5lY3RvcltdID0gW1xuICB7XG4gICAgaWQ6IDAsXG4gICAgc2x1ZzogTkVUU1VJVEVfQ09OTkVDVE9SX1NMVUcsXG4gICAgbmFtZTogJ05ldFN1aXRlJyxcbiAgICByZXF1aXJlc19hdXRoOiB0cnVlLFxuICAgIGlzX2FjdGl2ZTogdHJ1ZSxcbiAgfSxcbl1cblxuaW50ZXJmYWNlIEFibUFjY2Vzc2liaWxpdHlTZWN0aW9uUHJvcHMge1xuICB2YWx1ZXM/OiB7XG4gICAgYWNjZXNzaWJpbGl0eT86IHtcbiAgICAgIGFjY2Vzc1R5cGU/OiBzdHJpbmdcbiAgICAgIGNsaWVudHM/OiBDbGllbnRGb3JtRGF0YVtdIHwgbnVsbFxuICAgICAgdGFza0FjY2Vzcz86IGJvb2xlYW5cbiAgICAgIHNlbGVjdGVkQ29ubmVjdG9ycz86IHN0cmluZ1tdXG4gICAgfVxuICB9XG4gIGhhbmRsZVNldEFnZW50VmFsdWVzPzogKHsga2V5LCB2YWx1ZSB9OiB7IGtleTogc3RyaW5nOyB2YWx1ZTogdW5rbm93biB9KSA9PiB2b2lkXG59XG5cbmV4cG9ydCBjb25zdCBBYm1BY2Nlc3NpYmlsaXR5U2VjdGlvbiA9ICh7IHZhbHVlcywgaGFuZGxlU2V0QWdlbnRWYWx1ZXMgfTogQWJtQWNjZXNzaWJpbGl0eVNlY3Rpb25Qcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdhYm1fYWdlbnRfc2VjdGlvbicpXG4gIGNvbnN0IGV2ZW50QW1wbGl0dWRlID0gdXNlRXZlbnQoKVxuXG4gIGNvbnN0IFtmb3JtVmFsdWVzLCBzZXRGb3JtVmFsdWVzXSA9IHVzZVN0YXRlPHtcbiAgICBhY2Nlc3NUeXBlOiBzdHJpbmdcbiAgICBjbGllbnRzOiBDbGllbnRGb3JtRGF0YVtdIHwgbnVsbFxuICAgIHRhc2tBY2Nlc3M6IGJvb2xlYW5cbiAgICBzZWxlY3RlZENvbm5lY3RvcnM6IHN0cmluZ1tdXG4gIH0+KHtcbiAgICBhY2Nlc3NUeXBlOiB2YWx1ZXM/LmFjY2Vzc2liaWxpdHk/LmFjY2Vzc1R5cGUgfHwgJ2NvbXBhbnknLFxuICAgIGNsaWVudHM6IHZhbHVlcz8uYWNjZXNzaWJpbGl0eT8uY2xpZW50cyB8fCBudWxsLFxuICAgIHRhc2tBY2Nlc3M6IHZhbHVlcz8uYWNjZXNzaWJpbGl0eT8udGFza0FjY2VzcyA/PyB0cnVlLFxuICAgIHNlbGVjdGVkQ29ubmVjdG9yczogdmFsdWVzPy5hY2Nlc3NpYmlsaXR5Py5zZWxlY3RlZENvbm5lY3RvcnMgfHwgW10sXG4gIH0pXG4gIGNvbnN0IFtjYXRhbG9nQ29ubmVjdG9ycywgc2V0Q2F0YWxvZ0Nvbm5lY3RvcnNdID0gdXNlU3RhdGU8Q2F0YWxvZ0Nvbm5lY3RvcltdPihGQUxMQkFDS19DT05ORUNUT1JTKVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdE9wdGlvbiA9IChvcHRpb246IHN0cmluZywgY2xpZW50cz86IENsaWVudEZvcm1EYXRhW10gfCBudWxsKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9uTWFwcGluZzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICAgIGNvbXBhbnk6ICdhbGxfY29tcGFueScsXG4gICAgICBjbGllbnRzOiAnYnlfY2xpZW50ZXMnLFxuICAgICAgb25seV9tZTogJ2p1c3RfbWUnLFxuICAgIH1cblxuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5hY2Nlc3NpYmlsaXR5VHlwZSwgeyBvcHRpb246IG9wdGlvbk1hcHBpbmdbb3B0aW9uXSB9KVxuXG4gICAgY29uc3QgdmFsdWVUb1NlbmQgPSB7XG4gICAgICBhY2Nlc3NUeXBlOiBvcHRpb24sXG4gICAgICBjbGllbnRzOiBudWxsIGFzIENsaWVudEZvcm1EYXRhW10gfCBudWxsLFxuICAgICAgdGFza0FjY2VzczogZm9ybVZhbHVlcy50YXNrQWNjZXNzLFxuICAgICAgc2VsZWN0ZWRDb25uZWN0b3JzOiBmb3JtVmFsdWVzLnNlbGVjdGVkQ29ubmVjdG9ycyxcbiAgICB9XG4gICAgaWYgKG9wdGlvbiAhPT0gJ2NsaWVudHMnIHx8ICFjbGllbnRzKSB7XG4gICAgICBzZXRGb3JtVmFsdWVzKHZhbHVlVG9TZW5kKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgY2xpZW50Rm9ybURhdGEgPSBjbGllbnRzLm1hcChjbGllbnQgPT4gKHtcbiAgICAgIGlkOiBjbGllbnQuaWQsXG4gICAgICBuYW1lOiBjbGllbnQubmFtZSxcbiAgICAgIGlzX2FjdGl2ZTogY2xpZW50LmlzX2FjdGl2ZSxcbiAgICAgIGlzX2RlbGV0ZWQ6IGNsaWVudC5pc19kZWxldGVkLFxuICAgIH0pKVxuXG4gICAgaWYgKGNsaWVudHMgJiYgY2xpZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWNjZXNzaWJpbGl0eVNlbGVjdENsaWVudClcbiAgICB9XG5cbiAgICBzZXRGb3JtVmFsdWVzKHsgLi4udmFsdWVUb1NlbmQsIGNsaWVudHM6IGNsaWVudEZvcm1EYXRhIH0pXG4gIH1cblxuICBjb25zdCBoYW5kbGVUYXNrQWNjZXNzQ2hhbmdlID0gKGNoZWNrZWQ6IGJvb2xlYW4pID0+IHtcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuY29ubmVjdG9yQ29yLCB7IG9wdGlvbjogY2hlY2tlZCA/ICdvbicgOiAnb2ZmJyB9KVxuXG4gICAgc2V0Rm9ybVZhbHVlcyhwcmV2ID0+ICh7XG4gICAgICAuLi5wcmV2LFxuICAgICAgdGFza0FjY2VzczogY2hlY2tlZCxcbiAgICB9KSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNvbm5lY3RvckFjY2Vzc0NoYW5nZSA9IChzbHVnOiBzdHJpbmcsIGNoZWNrZWQ6IGJvb2xlYW4pID0+IHtcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuY29ubmVjdG9yTWNwLCB7IG9wdGlvbjogY2hlY2tlZCA/ICdvbicgOiAnb2ZmJywgc2x1ZyB9KVxuXG4gICAgc2V0Rm9ybVZhbHVlcyhwcmV2ID0+IHtcbiAgICAgIGNvbnN0IG5leHQgPSBuZXcgU2V0KHByZXYuc2VsZWN0ZWRDb25uZWN0b3JzKVxuICAgICAgaWYgKGNoZWNrZWQpIHtcbiAgICAgICAgbmV4dC5hZGQoc2x1ZylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQuZGVsZXRlKHNsdWcpXG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5wcmV2LFxuICAgICAgICBzZWxlY3RlZENvbm5lY3RvcnM6IEFycmF5LmZyb20obmV4dCksXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgbmV4dENvbm5lY3RvcnMgPSB2YWx1ZXM/LmFjY2Vzc2liaWxpdHk/LnNlbGVjdGVkQ29ubmVjdG9yc1xuICAgIGlmICghbmV4dENvbm5lY3RvcnMpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBzZXRGb3JtVmFsdWVzKHByZXYgPT4ge1xuICAgICAgY29uc3QgY3VycmVudCA9IFsuLi5wcmV2LnNlbGVjdGVkQ29ubmVjdG9yc10uc29ydCgpLmpvaW4oJ3wnKVxuICAgICAgY29uc3QgaW5jb21pbmcgPSBbLi4ubmV4dENvbm5lY3RvcnNdLnNvcnQoKS5qb2luKCd8JylcbiAgICAgIGlmIChjdXJyZW50ID09PSBpbmNvbWluZykge1xuICAgICAgICByZXR1cm4gcHJldlxuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucHJldixcbiAgICAgICAgc2VsZWN0ZWRDb25uZWN0b3JzOiBuZXh0Q29ubmVjdG9ycyxcbiAgICAgIH1cbiAgICB9KVxuICB9LCBbdmFsdWVzPy5hY2Nlc3NpYmlsaXR5Py5zZWxlY3RlZENvbm5lY3RvcnNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGZvcm1WYWx1ZXMpIHtcbiAgICAgIGhhbmRsZVNldEFnZW50VmFsdWVzPy4oe1xuICAgICAgICBrZXk6ICdhY2Nlc3NpYmlsaXR5JyxcbiAgICAgICAgdmFsdWU6IGZvcm1WYWx1ZXMsXG4gICAgICB9KVxuICAgIH1cbiAgfSwgW2Zvcm1WYWx1ZXNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGNhbmNlbGxlZCA9IGZhbHNlXG4gICAgZ2V0QXZhaWxhYmxlQ29ubmVjdG9ycygpXG4gICAgICAudGhlbihjb25uZWN0b3JzID0+IHtcbiAgICAgICAgaWYgKCFjYW5jZWxsZWQpIHtcbiAgICAgICAgICBzZXRDYXRhbG9nQ29ubmVjdG9ycyhcbiAgICAgICAgICAgIGNvbm5lY3RvcnMuZmlsdGVyKFxuICAgICAgICAgICAgICBjb25uZWN0b3IgPT4gY29ubmVjdG9yLmlzX2FjdGl2ZSAmJiBjb25uZWN0b3Iuc2x1ZyA9PT0gTkVUU1VJVEVfQ09OTkVDVE9SX1NMVUdcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBjb25uZWN0b3JzIGNhdGFsb2c6JywgZXJyb3IpXG4gICAgICAgIGlmICghY2FuY2VsbGVkKSB7XG4gICAgICAgICAgc2V0Q2F0YWxvZ0Nvbm5lY3RvcnMoRkFMTEJBQ0tfQ09OTkVDVE9SUylcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2FuY2VsbGVkID0gdHJ1ZVxuICAgIH1cbiAgfSwgW10pXG5cbiAgcmV0dXJuIChcbiAgICA8U0NBQVNXcmFwcGVyPlxuICAgICAgPFNDQUFTSGVhZGVyICRpbmRleD17MH0+XG4gICAgICAgIDxTQ0FBU1RpdGxlPnt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi50aXRsZVNlY3Rpb24nKX08L1NDQUFTVGl0bGU+XG4gICAgICAgIDxTQ0FBU1N1YnRpdGxlPnt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5zdWJ0aXRsZVNlY3Rpb24nKX08L1NDQUFTU3VidGl0bGU+XG4gICAgICA8L1NDQUFTSGVhZGVyPlxuICAgICAgPFNDQUFTQ29udGVudCAkaW5kZXg9ezF9PlxuICAgICAgICA8U0NBQVNTZWN0aW9uPlxuICAgICAgICAgIDxTQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAgICA8U0NBQVNTZWN0aW9uVGl0bGU+e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmNvclBlcm1pc3Npb25zVGl0bGUnKX08L1NDQUFTU2VjdGlvblRpdGxlPlxuICAgICAgICAgICAgPFNDQUFTU2VjdGlvblN1YnRpdGxlPnt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5jb3JQZXJtaXNzaW9uc1N1YnRpdGxlJyl9PC9TQ0FBU1NlY3Rpb25TdWJ0aXRsZT5cbiAgICAgICAgICA8L1NDQUFTU2VjdGlvbkhlYWRlcj5cbiAgICAgICAgICA8T3B0aW9uQ29yUGVybWlzc2lvblxuICAgICAgICAgICAgdGl0bGU9e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLnRhc2tBY2Nlc3NUaXRsZScpfVxuICAgICAgICAgICAgZGVzY3JpcHRpb249e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLnRhc2tBY2Nlc3NEZXNjcmlwdGlvbicpfVxuICAgICAgICAgICAgY2hlY2tlZD17Zm9ybVZhbHVlcy50YXNrQWNjZXNzfVxuICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVRhc2tBY2Nlc3NDaGFuZ2V9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TQ0FBU1NlY3Rpb24+XG5cbiAgICAgICAgPFNDQUFTRGl2aWRlciAvPlxuXG4gICAgICAgIDxTQ0FBU1NlY3Rpb24+XG4gICAgICAgICAgPFNDQUFTU2VjdGlvbkhlYWRlcj5cbiAgICAgICAgICAgIDxTQ0FBU1NlY3Rpb25UaXRsZT57dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24ubWNwUGVybWlzc2lvbnNUaXRsZScpfTwvU0NBQVNTZWN0aW9uVGl0bGU+XG4gICAgICAgICAgICA8U0NBQVNTZWN0aW9uU3VidGl0bGU+e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLm1jcFBlcm1pc3Npb25zU3VidGl0bGUnKX08L1NDQUFTU2VjdGlvblN1YnRpdGxlPlxuICAgICAgICAgIDwvU0NBQVNTZWN0aW9uSGVhZGVyPlxuICAgICAgICAgIHtjYXRhbG9nQ29ubmVjdG9ycy5tYXAoY29ubmVjdG9yID0+IChcbiAgICAgICAgICAgIDxPcHRpb25Db3JQZXJtaXNzaW9uXG4gICAgICAgICAgICAgIGtleT17Y29ubmVjdG9yLnNsdWd9XG4gICAgICAgICAgICAgIHRpdGxlPXtcbiAgICAgICAgICAgICAgICBjb25uZWN0b3Iuc2x1ZyA9PT0gTkVUU1VJVEVfQ09OTkVDVE9SX1NMVUdcbiAgICAgICAgICAgICAgICAgID8gdCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24ubmV0c3VpdGVBY2Nlc3NUaXRsZScpXG4gICAgICAgICAgICAgICAgICA6IGNvbm5lY3Rvci5uYW1lXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249e1xuICAgICAgICAgICAgICAgIGNvbm5lY3Rvci5zbHVnID09PSBORVRTVUlURV9DT05ORUNUT1JfU0xVR1xuICAgICAgICAgICAgICAgICAgPyB0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5uZXRzdWl0ZUFjY2Vzc0Rlc2NyaXB0aW9uJylcbiAgICAgICAgICAgICAgICAgIDogY29ubmVjdG9yLmRlc2NyaXB0aW9uIHx8XG4gICAgICAgICAgICAgICAgICAgIHQoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmNvbm5lY3RvckFjY2Vzc0Rlc2NyaXB0aW9uJywgeyBuYW1lOiBjb25uZWN0b3IubmFtZSB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNoZWNrZWQ9e2Zvcm1WYWx1ZXMuc2VsZWN0ZWRDb25uZWN0b3JzLmluY2x1ZGVzKGNvbm5lY3Rvci5zbHVnKX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e2NoZWNrZWQgPT4gaGFuZGxlQ29ubmVjdG9yQWNjZXNzQ2hhbmdlKGNvbm5lY3Rvci5zbHVnLCBjaGVja2VkKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU0NBQVNTZWN0aW9uPlxuXG4gICAgICAgIDxTQ0FBU0RpdmlkZXIgLz5cblxuICAgICAgICA8U0NBQVNTZWN0aW9uPlxuICAgICAgICAgIDxTQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAgICA8U0NBQVNTZWN0aW9uVGl0bGU+e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLnZpc2liaWxpdHlUaXRsZScpfTwvU0NBQVNTZWN0aW9uVGl0bGU+XG4gICAgICAgICAgICA8U0NBQVNTZWN0aW9uU3VidGl0bGU+e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLndob0NhbkFjY2VzcycpfTwvU0NBQVNTZWN0aW9uU3VidGl0bGU+XG4gICAgICAgICAgPC9TQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAgPFNDQUFTT3B0aW9uc0NvbnRhaW5lcj5cbiAgICAgICAgICAgIDxPcHRpb25BY2Nlc3NpYmlsaXR5XG4gICAgICAgICAgICAgIHRpdGxlPXt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5hbGxDb21wYW55VGl0bGUnKX1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmFsbENvbXBhbnlEZXNjcmlwdGlvbicpfVxuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RPcHRpb249eygpID0+IGhhbmRsZVNlbGVjdE9wdGlvbignY29tcGFueScpfVxuICAgICAgICAgICAgICBvcHRpb25TZWxlY3RlZD17Zm9ybVZhbHVlcy5hY2Nlc3NUeXBlfVxuICAgICAgICAgICAgICBuYW1lPVwiY29tcGFueVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPE9wdGlvbkFjY2Vzc2liaWxpdHlcbiAgICAgICAgICAgICAgdGl0bGU9e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmNsaWVudFRpdGxlJyl9XG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uPXt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5jbGllbnREZXNjcmlwdGlvbicpfVxuICAgICAgICAgICAgICBpc0NsaWVudD17Zm9ybVZhbHVlcy5hY2Nlc3NUeXBlID09PSAnY2xpZW50cyd9XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbj17KHByb3BzPzogQ2xpZW50Rm9ybURhdGFbXSkgPT4gaGFuZGxlU2VsZWN0T3B0aW9uKCdjbGllbnRzJywgcHJvcHMpfVxuICAgICAgICAgICAgICBvcHRpb25TZWxlY3RlZD17Zm9ybVZhbHVlcy5hY2Nlc3NUeXBlfVxuICAgICAgICAgICAgICBuYW1lPVwiY2xpZW50c1wiXG4gICAgICAgICAgICAgIHNlbGVjdGVkQ2xpZW50cz17Zm9ybVZhbHVlcy5jbGllbnRzPy5tYXAoY2xpZW50ID0+ICh7XG4gICAgICAgICAgICAgICAgaWQ6IGNsaWVudC5pZCxcbiAgICAgICAgICAgICAgICBuYW1lOiBjbGllbnQubmFtZSA/PyAnJyxcbiAgICAgICAgICAgICAgICBpc19hY3RpdmU6IGNsaWVudC5pc19hY3RpdmUsXG4gICAgICAgICAgICAgICAgaXNfZGVsZXRlZDogY2xpZW50LmlzX2RlbGV0ZWQsXG4gICAgICAgICAgICAgIH0pKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8T3B0aW9uQWNjZXNzaWJpbGl0eVxuICAgICAgICAgICAgICB0aXRsZT17dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24ub3duVGl0bGUnKX1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLm93bkRlc2NyaXB0aW9uJyl9XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbj17KCkgPT4gaGFuZGxlU2VsZWN0T3B0aW9uKCdvbmx5X21lJyl9XG4gICAgICAgICAgICAgIG9wdGlvblNlbGVjdGVkPXtmb3JtVmFsdWVzLmFjY2Vzc1R5cGV9XG4gICAgICAgICAgICAgIG5hbWU9XCJvbmx5X21lXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TQ0FBU09wdGlvbnNDb250YWluZXI+XG4gICAgICAgIDwvU0NBQVNTZWN0aW9uPlxuICAgICAgPC9TQ0FBU0NvbnRlbnQ+XG4gICAgPC9TQ0FBU1dyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxTQUFTQSxRQUFRLEVBQUVDLFNBQVMsUUFBUSxPQUFPO0FBQzNDLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLG1CQUFt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