@projectcor/maia-components 2.11.48-2 → 2.11.49-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +40 -3
  2. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +38 -69
  3. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +9 -9
  4. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +94 -0
  5. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +49 -0
  6. package/lib/components/atoms/FrequentlyUsedActions/index.js +2 -0
  7. package/lib/components/atoms/IconButton.js +12 -5
  8. package/lib/components/atoms/MAIAInput/MAIAInput.js +86 -11
  9. package/lib/components/atoms/SlashCommandChip/SlashCommandChip.js +16 -0
  10. package/lib/components/atoms/SlashCommandChip/SlashCommandChip.styles.js +24 -0
  11. package/lib/components/atoms/SlashCommandChip/buildSlashChipElement.js +18 -0
  12. package/lib/components/atoms/SlashCommandChip/index.js +4 -0
  13. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +180 -0
  14. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.styles.js +41 -0
  15. package/lib/components/atoms/SlashCommandDropdown/index.js +2 -0
  16. package/lib/components/atoms/icons/ActionChargeHoursIcon.js +111 -0
  17. package/lib/components/atoms/icons/ActionCreateReworkIcon.js +37 -0
  18. package/lib/components/atoms/icons/ActionCreateSubtaskIcon.js +37 -0
  19. package/lib/components/atoms/icons/ActionSummaryMessagesIcon.js +88 -0
  20. package/lib/components/atoms/icons/ActionSummaryTaskIcon.js +37 -0
  21. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +1 -2
  22. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +44 -4
  23. package/lib/components/molecules/ChatAIHome/styles.js +2 -2
  24. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +3 -6
  25. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +36 -15
  26. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +19 -16
  27. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +22 -8
  28. package/lib/components/molecules/ChatFooter/ChatFooter.js +3 -3
  29. package/lib/components/organisms/ChatAI/ChatAI.js +5 -6
  30. package/lib/constants/maiaTaskPanelAccess.js +26 -0
  31. package/lib/constants/permissions/utils.js +2 -2
  32. package/lib/context/global-context.js +1 -1
  33. package/lib/dev/DevChatAI.js +89 -17
  34. package/lib/dev/DevContextMentionInput.js +3 -1
  35. package/lib/hooks/useChatManager/useChatManager.interface.js +1 -1
  36. package/lib/hooks/useChatManager/useChatManager.js +121 -22
  37. package/lib/hooks/useChatMessages/useChatMessages.interface.js +1 -1
  38. package/lib/hooks/useChatMessages/useChatMessages.js +10 -3
  39. package/lib/hooks/useContextMentions.js +153 -9
  40. package/lib/hooks/useEvent.js +3 -1
  41. package/lib/hooks/useFrequentlyUsedActions.js +81 -0
  42. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +12 -4
  43. package/lib/hooks/useProjectSearch.js +2 -4
  44. package/lib/hooks/useProjectSummaryConfig.js +24 -6
  45. package/lib/hooks/useSlashCommands.js +81 -0
  46. package/lib/lang/br/index.js +16 -1
  47. package/lib/lang/en/index.js +16 -1
  48. package/lib/lang/es/index.js +16 -1
  49. package/lib/lang/fr/index.js +16 -1
  50. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +39 -0
  51. package/lib/services/maia/Actions/getSlashCommands.js +39 -0
  52. package/lib/services/maia/Actions/index.js +7 -0
  53. package/lib/services/maia/Agents/getAgents.js +13 -12
  54. package/lib/services/maia/Chats/getChatsByUserId.js +1 -1
  55. package/lib/services/maia/Orchestrator/orchestrator.js +14 -4
  56. package/lib/services/maia/RecentProjects/getRecentProjects.js +6 -10
  57. package/lib/services/maia/index.js +3 -1
  58. package/lib/store/chatsStore.types.js +1 -1
  59. package/lib/types/Action.js +2 -0
  60. package/lib/types/Task.js +2 -0
  61. package/lib/types/contextMention.js +2 -2
  62. package/lib/types/global.d.js +1 -1
  63. package/lib/utils/actionCategoryMap.js +33 -0
  64. package/lib/utils/actionIconMap.js +49 -0
  65. package/lib/utils/formatQuickActionMessage.js +16 -0
  66. package/lib/utils/mapBackendLang.js +8 -0
  67. package/lib/utils/renderContextMentions.js +70 -27
  68. package/lib/utils/slashCommandMarker.js +23 -0
  69. package/package.json +1 -1
@@ -7,6 +7,7 @@ import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
7
7
  import { useContextMentions } from '../../../hooks/useContextMentions';
8
8
  import { buildChipElement } from '../ContextMentionChip';
9
9
  import { ContextMentionChipGlobalStyles } from '../ContextMentionChip/ContextMentionChip.styles';
10
+ import { buildSlashChipElement } from '../SlashCommandChip';
10
11
  import { SCMEEditable } from './ContextMentionEditor.styles';
11
12
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
12
13
  var isPlaceholderTruncatedInEditor = function isPlaceholderTruncatedInEditor(editor, placeholder) {
@@ -46,6 +47,8 @@ export var ContextMentionEditor = /*#__PURE__*/forwardRef(function (_ref, ref) {
46
47
  updateTrigger = _useContextMentions.updateTrigger,
47
48
  replaceTriggerWithChip = _useContextMentions.replaceTriggerWithChip,
48
49
  syncTriggerAtRunLength = _useContextMentions.syncTriggerAtRunLength,
50
+ updateSlashTrigger = _useContextMentions.updateSlashTrigger,
51
+ replaceTriggerWithSlashChip = _useContextMentions.replaceTriggerWithSlashChip,
49
52
  serialize = _useContextMentions.serialize,
50
53
  clearEditorDom = _useContextMentions.clear,
51
54
  focus = _useContextMentions.focus;
@@ -148,6 +151,10 @@ export var ContextMentionEditor = /*#__PURE__*/forwardRef(function (_ref, ref) {
148
151
  active: false,
149
152
  query: '',
150
153
  atRunLength: 0
154
+ },
155
+ slashTrigger: {
156
+ active: false,
157
+ query: ''
151
158
  }
152
159
  }));
153
160
  var isEmpty = state.text.trim() === '';
@@ -158,22 +165,48 @@ export var ContextMentionEditor = /*#__PURE__*/forwardRef(function (_ref, ref) {
158
165
  skipNextInput.current = false;
159
166
  recomputePlaceholderTruncation();
160
167
  });
168
+ },
169
+ insertSlashCommand: function insertSlashCommand(command) {
170
+ var chip = buildSlashChipElement(command);
171
+ replaceTriggerWithSlashChip(chip, command);
172
+ skipNextInput.current = true;
173
+ var state = serialize();
174
+ onInput === null || onInput === void 0 || onInput(_objectSpread(_objectSpread({}, state), {}, {
175
+ trigger: {
176
+ active: false,
177
+ query: '',
178
+ atRunLength: 0
179
+ },
180
+ slashTrigger: {
181
+ active: false,
182
+ query: ''
183
+ }
184
+ }));
185
+ var isEmpty = state.text.trim() === '';
186
+ syncEditorEmptyAttribute(isEmpty);
187
+ setLogicalEmpty(isEmpty);
188
+ queueMicrotask(function () {
189
+ skipNextInput.current = false;
190
+ recomputePlaceholderTruncation();
191
+ });
161
192
  }
162
193
  };
163
- }, [focus, clearEditorDom, serialize, syncTriggerAtRunLength, replaceTriggerWithChip, onInput, recomputePlaceholderTruncation, syncEditorEmptyAttribute]);
194
+ }, [focus, clearEditorDom, serialize, syncTriggerAtRunLength, replaceTriggerWithChip, replaceTriggerWithSlashChip, onInput, recomputePlaceholderTruncation, syncEditorEmptyAttribute]);
164
195
  var handleInput = function handleInput() {
165
196
  if (skipNextInput.current) {
166
197
  skipNextInput.current = false;
167
198
  return;
168
199
  }
169
200
  var trig = updateTrigger();
201
+ var slashTrig = updateSlashTrigger();
170
202
  var state = serialize();
171
203
  var isEmpty = state.text.trim() === '';
172
204
  if (isEmpty) {
173
205
  normalizeEmptyEditorDom();
174
206
  state = {
175
207
  text: '',
176
- mentions: []
208
+ mentions: [],
209
+ slashCommands: []
177
210
  };
178
211
  }
179
212
  syncEditorEmptyAttribute(isEmpty);
@@ -183,6 +216,10 @@ export var ContextMentionEditor = /*#__PURE__*/forwardRef(function (_ref, ref) {
183
216
  active: trig.active,
184
217
  query: trig.query,
185
218
  atRunLength: trig.atRunLength
219
+ },
220
+ slashTrigger: {
221
+ active: slashTrig.active,
222
+ query: slashTrig.query
186
223
  }
187
224
  }));
188
225
  queueMicrotask(recomputePlaceholderTruncation);
@@ -229,4 +266,4 @@ export var ContextMentionEditor = /*#__PURE__*/forwardRef(function (_ref, ref) {
229
266
  });
230
267
  });
231
268
  ContextMentionEditor.displayName = 'ContextMentionEditor';
232
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmb3J3YXJkUmVmIiwidXNlQ2FsbGJhY2siLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwidXNlTGF5b3V0RWZmZWN0IiwidXNlUmVmIiwidXNlU3RhdGUiLCJUb29sdGlwIiwidXNlQ29udGV4dE1lbnRpb25zIiwiYnVpbGRDaGlwRWxlbWVudCIsIkNvbnRleHRNZW50aW9uQ2hpcEdsb2JhbFN0eWxlcyIsIlNDTUVFZGl0YWJsZSIsImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImpzeHMiLCJfanN4cyIsImlzUGxhY2Vob2xkZXJUcnVuY2F0ZWRJbkVkaXRvciIsImVkaXRvciIsInBsYWNlaG9sZGVyIiwidHJpbW1lZCIsInRyaW0iLCJjbGllbnRXaWR0aCIsInN0eWxlcyIsIndpbmRvdyIsImdldENvbXB1dGVkU3R5bGUiLCJjdHgiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJnZXRDb250ZXh0IiwiZm9udCIsImNvbmNhdCIsImZvbnRXZWlnaHQiLCJmb250U2l6ZSIsImZvbnRGYW1pbHkiLCJtZWFzdXJlZCIsIm1lYXN1cmVUZXh0Iiwid2lkdGgiLCJwYWRkaW5nTGVmdCIsInBhcnNlRmxvYXQiLCJwYWRkaW5nUmlnaHQiLCJib3JkZXJMZWZ0IiwiYm9yZGVyTGVmdFdpZHRoIiwiYm9yZGVyUmlnaHQiLCJib3JkZXJSaWdodFdpZHRoIiwiYXZhaWxhYmxlIiwiTWF0aCIsIm1heCIsIkNvbnRleHRNZW50aW9uRWRpdG9yIiwiX3JlZiIsInJlZiIsIl9wbGFjZWhvbGRlciR0cmltMiIsImRpc2FibGVkIiwiY2xhc3NOYW1lIiwib25JbnB1dCIsIm9uS2V5RG93biIsIm9uRm9jdXMiLCJvbkJsdXIiLCJfdXNlQ29udGV4dE1lbnRpb25zIiwiZWRpdG9yUmVmIiwidXBkYXRlVHJpZ2dlciIsInJlcGxhY2VUcmlnZ2VyV2l0aENoaXAiLCJzeW5jVHJpZ2dlckF0UnVuTGVuZ3RoIiwic2VyaWFsaXplIiwiY2xlYXJFZGl0b3JEb20iLCJjbGVhciIsImZvY3VzIiwic2tpcE5leHRJbnB1dCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInBsYWNlaG9sZGVyVHJ1bmNhdGVkIiwic2V0UGxhY2Vob2xkZXJUcnVuY2F0ZWQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvZ2ljYWxFbXB0eSIsInNldExvZ2ljYWxFbXB0eSIsInN5bmNFZGl0b3JFbXB0eUF0dHJpYnV0ZSIsImlzRW1wdHkiLCJjdXJyZW50Iiwic2V0QXR0cmlidXRlIiwiU3RyaW5nIiwibm9ybWFsaXplRW1wdHlFZGl0b3JEb20iLCJfZWRpdG9yJHRleHRDb250ZW50IiwidGV4dENvbnRlbnQiLCJpbm5lckhUTUwiLCJzZWxlY3Rpb24iLCJnZXRTZWxlY3Rpb24iLCJyYW5nZSIsImNyZWF0ZVJhbmdlIiwic2VsZWN0Tm9kZUNvbnRlbnRzIiwiY29sbGFwc2UiLCJyZW1vdmVBbGxSYW5nZXMiLCJhZGRSYW5nZSIsInJlY29tcHV0ZVBsYWNlaG9sZGVyVHJ1bmNhdGlvbiIsIl9wbGFjZWhvbGRlciR0cmltIiwiZWwiLCJwaCIsImlzRWRpdG9yTG9naWNhbGx5RW1wdHkiLCJ0ZXh0IiwidW5kZWZpbmVkIiwicm8iLCJSZXNpemVPYnNlcnZlciIsInF1ZXVlTWljcm90YXNrIiwib2JzZXJ2ZSIsImRpc2Nvbm5lY3QiLCJoYXNWaXN1YWxNdWx0aWxpbmUiLCJfZWRpdG9yJHRleHRDb250ZW50JHQiLCJfZWRpdG9yJHRleHRDb250ZW50MiIsImxpbmVIZWlnaHQiLCJlZGl0b3JIZWlnaHQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJoZWlnaHQiLCJpc011bHRpbGluZSIsImdldEVkaXRvckNsaWVudFJlY3QiLCJfZWRpdG9yUmVmJGN1cnJlbnQkZ2UiLCJfZWRpdG9yUmVmJGN1cnJlbnQiLCJpbnNlcnRNZW50aW9uIiwibWVudGlvbiIsImNoaXAiLCJzdGF0ZSIsIl9vYmplY3RTcHJlYWQiLCJ0cmlnZ2VyIiwiYWN0aXZlIiwicXVlcnkiLCJhdFJ1bkxlbmd0aCIsImhhbmRsZUlucHV0IiwidHJpZyIsIm1lbnRpb25zIiwiaGFuZGxlUGFzdGUiLCJlIiwicHJldmVudERlZmF1bHQiLCJjbGlwYm9hcmREYXRhIiwiZ2V0RGF0YSIsInJhbmdlQ291bnQiLCJkZWxldGVGcm9tRG9jdW1lbnQiLCJnZXRSYW5nZUF0IiwiaW5zZXJ0Tm9kZSIsImNyZWF0ZVRleHROb2RlIiwiY29sbGFwc2VUb0VuZCIsInRyaW1tZWRQbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyVG9vbHRpcFRpdGxlIiwiY2hpbGRyZW4iLCJ0aXRsZSIsInN0eWxlIiwiZGlzcGxheSIsIm1pbldpZHRoIiwiY29udGVudEVkaXRhYmxlIiwic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIiwicm9sZSIsIm9uUGFzdGUiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uRWRpdG9yL0NvbnRleHRNZW50aW9uRWRpdG9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDbGlwYm9hcmRFdmVudCxcbiAgZm9yd2FyZFJlZixcbiAgS2V5Ym9hcmRFdmVudCxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyB1c2VDb250ZXh0TWVudGlvbnMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VDb250ZXh0TWVudGlvbnMnXG5pbXBvcnQgeyBDb250ZXh0TWVudGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgYnVpbGRDaGlwRWxlbWVudCB9IGZyb20gJy4uL0NvbnRleHRNZW50aW9uQ2hpcCdcbmltcG9ydCB7IENvbnRleHRNZW50aW9uQ2hpcEdsb2JhbFN0eWxlcyB9IGZyb20gJy4uL0NvbnRleHRNZW50aW9uQ2hpcC9Db250ZXh0TWVudGlvbkNoaXAuc3R5bGVzJ1xuaW1wb3J0IHsgU0NNRUVkaXRhYmxlIH0gZnJvbSAnLi9Db250ZXh0TWVudGlvbkVkaXRvci5zdHlsZXMnXG5cbmNvbnN0IGlzUGxhY2Vob2xkZXJUcnVuY2F0ZWRJbkVkaXRvciA9IChlZGl0b3I6IEhUTUxFbGVtZW50LCBwbGFjZWhvbGRlcjogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHRyaW1tZWQgPSBwbGFjZWhvbGRlci50cmltKClcbiAgaWYgKCF0cmltbWVkKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgY29uc3QgeyBjbGllbnRXaWR0aCB9ID0gZWRpdG9yXG4gIGlmIChjbGllbnRXaWR0aCA8PSA0KSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBjb25zdCBzdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlZGl0b3IpXG4gIGNvbnN0IGN0eCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpLmdldENvbnRleHQoJzJkJylcbiAgaWYgKCFjdHgpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBjdHguZm9udCA9IGAke3N0eWxlcy5mb250V2VpZ2h0fSAke3N0eWxlcy5mb250U2l6ZX0gJHtzdHlsZXMuZm9udEZhbWlseX1gXG4gIGNvbnN0IG1lYXN1cmVkID0gY3R4Lm1lYXN1cmVUZXh0KHRyaW1tZWQpLndpZHRoXG5cbiAgY29uc3QgcGFkZGluZ0xlZnQgPSBwYXJzZUZsb2F0KHN0eWxlcy5wYWRkaW5nTGVmdCkgfHwgMFxuICBjb25zdCBwYWRkaW5nUmlnaHQgPSBwYXJzZUZsb2F0KHN0eWxlcy5wYWRkaW5nUmlnaHQpIHx8IDBcbiAgY29uc3QgYm9yZGVyTGVmdCA9IHBhcnNlRmxvYXQoc3R5bGVzLmJvcmRlckxlZnRXaWR0aCkgfHwgMFxuICBjb25zdCBib3JkZXJSaWdodCA9IHBhcnNlRmxvYXQoc3R5bGVzLmJvcmRlclJpZ2h0V2lkdGgpIHx8IDBcbiAgY29uc3QgYXZhaWxhYmxlID0gTWF0aC5tYXgoMCwgY2xpZW50V2lkdGggLSBwYWRkaW5nTGVmdCAtIHBhZGRpbmdSaWdodCAtIGJvcmRlckxlZnQgLSBib3JkZXJSaWdodClcblxuICByZXR1cm4gbWVhc3VyZWQgPiBhdmFpbGFibGUgKyAxXG59XG5cbmV4cG9ydCB0eXBlIENvbnRleHRNZW50aW9uRWRpdG9ySGFuZGxlID0ge1xuICBmb2N1czogKCkgPT4gdm9pZFxuICBjbGVhcjogKCkgPT4gdm9pZFxuICBpbnNlcnRNZW50aW9uOiAobWVudGlvbjogQ29udGV4dE1lbnRpb24pID0+IHZvaWRcbiAgc3luY1RyaWdnZXJBdFJ1bkxlbmd0aDogKGF0UnVuTGVuZ3RoOiBudW1iZXIpID0+IHZvaWRcbiAgc2VyaWFsaXplOiAoKSA9PiB7IHRleHQ6IHN0cmluZzsgbWVudGlvbnM6IENvbnRleHRNZW50aW9uW10gfVxuICBoYXNWaXN1YWxNdWx0aWxpbmU6ICgpID0+IGJvb2xlYW5cbiAgLyoqIFJlY3QgZGVsIMOhcmVhIGVkaXRhYmxlICh2aWV3cG9ydCk7IGxvIHVzYSBlbCBwb3BvdmVyIGRlIEAgcGFyYSBhbGluZWFyIGFuY2hvL29yaWdlbi4gKi9cbiAgZ2V0RWRpdG9yQ2xpZW50UmVjdDogKCkgPT4gRE9NUmVjdCB8IG51bGxcbn1cblxuZXhwb3J0IHR5cGUgQ29udGV4dE1lbnRpb25FZGl0b3JQcm9wcyA9IHtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBvbklucHV0PzogKHN0YXRlOiB7XG4gICAgdGV4dDogc3RyaW5nXG4gICAgbWVudGlvbnM6IENvbnRleHRNZW50aW9uW11cbiAgICB0cmlnZ2VyOiB7IGFjdGl2ZTogYm9vbGVhbjsgcXVlcnk6IHN0cmluZzsgYXRSdW5MZW5ndGg6IG51bWJlciB9XG4gIH0pID0+IHZvaWRcbiAgb25LZXlEb3duPzogKGU6IEtleWJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uRm9jdXM/OiAoKSA9PiB2b2lkXG4gIG9uQmx1cj86ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGNvbnN0IENvbnRleHRNZW50aW9uRWRpdG9yID0gZm9yd2FyZFJlZjxDb250ZXh0TWVudGlvbkVkaXRvckhhbmRsZSwgQ29udGV4dE1lbnRpb25FZGl0b3JQcm9wcz4oXG4gICh7IHBsYWNlaG9sZGVyLCBkaXNhYmxlZCwgY2xhc3NOYW1lLCBvbklucHV0LCBvbktleURvd24sIG9uRm9jdXMsIG9uQmx1ciB9LCByZWYpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBlZGl0b3JSZWYsXG4gICAgICB1cGRhdGVUcmlnZ2VyLFxuICAgICAgcmVwbGFjZVRyaWdnZXJXaXRoQ2hpcCxcbiAgICAgIHN5bmNUcmlnZ2VyQXRSdW5MZW5ndGgsXG4gICAgICBzZXJpYWxpemUsXG4gICAgICBjbGVhcjogY2xlYXJFZGl0b3JEb20sXG4gICAgICBmb2N1cyxcbiAgICB9ID0gdXNlQ29udGV4dE1lbnRpb25zKClcbiAgICBjb25zdCBza2lwTmV4dElucHV0ID0gdXNlUmVmKGZhbHNlKVxuICAgIGNvbnN0IFtwbGFjZWhvbGRlclRydW5jYXRlZCwgc2V0UGxhY2Vob2xkZXJUcnVuY2F0ZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW2xvZ2ljYWxFbXB0eSwgc2V0TG9naWNhbEVtcHR5XSA9IHVzZVN0YXRlKHRydWUpXG5cbiAgICBjb25zdCBzeW5jRWRpdG9yRW1wdHlBdHRyaWJ1dGUgPSB1c2VDYWxsYmFjaygoaXNFbXB0eTogYm9vbGVhbikgPT4ge1xuICAgICAgaWYgKGVkaXRvclJlZi5jdXJyZW50KSB7XG4gICAgICAgIGVkaXRvclJlZi5jdXJyZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1lbXB0eScsIFN0cmluZyhpc0VtcHR5KSlcbiAgICAgIH1cbiAgICB9LCBbXSlcblxuICAgIGNvbnN0IG5vcm1hbGl6ZUVtcHR5RWRpdG9yRG9tID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgY29uc3QgZWRpdG9yID0gZWRpdG9yUmVmLmN1cnJlbnRcbiAgICAgIGlmICghZWRpdG9yKSByZXR1cm5cblxuICAgICAgLy8gTGltcGlhciBjdWFscXVpZXIgcmVzaWR1byAoYnIsIGVzcGFjaW9zKSBxdWUgZGVqZSBlbCBicm93c2VyIGFsIHZhY2lhciBlbCBjb250ZW50ZWRpdGFibGUuXG4gICAgICAvLyBTaW4gZXN0bywgdW4gZXNwYWNpbyBzdWVsdG8gYWN0aXZhIGRhdGEtZW1wdHk9XCJ0cnVlXCIgKyA6OmJlZm9yZSBwbGFjZWhvbGRlciBlbiBsw61uZWEgMVxuICAgICAgLy8geSBkZXNwbGF6YSBlbCBjdXJzb3IgYSBsYSBsw61uZWEgMi5cbiAgICAgIGlmIChlZGl0b3IudGV4dENvbnRlbnQ/LnRyaW0oKSA9PT0gJycpIHtcbiAgICAgICAgZWRpdG9yLmlubmVySFRNTCA9ICcnXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKVxuICAgICAgaWYgKCFzZWxlY3Rpb24pIHJldHVyblxuICAgICAgY29uc3QgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpXG4gICAgICByYW5nZS5zZWxlY3ROb2RlQ29udGVudHMoZWRpdG9yKVxuICAgICAgcmFuZ2UuY29sbGFwc2UodHJ1ZSlcbiAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKVxuICAgICAgc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKVxuICAgIH0sIFtlZGl0b3JSZWZdKVxuXG4gICAgY29uc3QgcmVjb21wdXRlUGxhY2Vob2xkZXJUcnVuY2F0aW9uID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgY29uc3QgZWwgPSBlZGl0b3JSZWYuY3VycmVudFxuICAgICAgY29uc3QgcGggPSBwbGFjZWhvbGRlcj8udHJpbSgpID8/ICcnXG4gICAgICBjb25zdCBpc0VkaXRvckxvZ2ljYWxseUVtcHR5ID0gc2VyaWFsaXplKCkudGV4dC50cmltKCkgPT09ICcnXG5cbiAgICAgIGlmICghZWwgfHwgIXBoIHx8ICFpc0VkaXRvckxvZ2ljYWxseUVtcHR5KSB7XG4gICAgICAgIHNldFBsYWNlaG9sZGVyVHJ1bmNhdGVkKGZhbHNlKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgc2V0UGxhY2Vob2xkZXJUcnVuY2F0ZWQoaXNQbGFjZWhvbGRlclRydW5jYXRlZEluRWRpdG9yKGVsLCBwaCkpXG4gICAgfSwgW3BsYWNlaG9sZGVyLCBzZXJpYWxpemVdKVxuXG4gICAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICAgIHJlY29tcHV0ZVBsYWNlaG9sZGVyVHJ1bmNhdGlvbigpXG4gICAgICBjb25zdCBlbCA9IGVkaXRvclJlZi5jdXJyZW50XG4gICAgICBpZiAoIWVsKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJvID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgcXVldWVNaWNyb3Rhc2socmVjb21wdXRlUGxhY2Vob2xkZXJUcnVuY2F0aW9uKVxuICAgICAgfSlcbiAgICAgIHJvLm9ic2VydmUoZWwpXG4gICAgICByZXR1cm4gKCkgPT4gcm8uZGlzY29ubmVjdCgpXG4gICAgfSwgW3BsYWNlaG9sZGVyLCBkaXNhYmxlZCwgcmVjb21wdXRlUGxhY2Vob2xkZXJUcnVuY2F0aW9uXSlcblxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUoXG4gICAgICByZWYsXG4gICAgICAoKSA9PiAoe1xuICAgICAgICBmb2N1cyxcbiAgICAgICAgY2xlYXI6ICgpID0+IHtcbiAgICAgICAgICBjbGVhckVkaXRvckRvbSgpXG4gICAgICAgICAgc3luY0VkaXRvckVtcHR5QXR0cmlidXRlKHRydWUpXG4gICAgICAgICAgc2V0TG9naWNhbEVtcHR5KHRydWUpXG4gICAgICAgICAgcXVldWVNaWNyb3Rhc2socmVjb21wdXRlUGxhY2Vob2xkZXJUcnVuY2F0aW9uKVxuICAgICAgICB9LFxuICAgICAgICBzZXJpYWxpemUsXG4gICAgICAgIHN5bmNUcmlnZ2VyQXRSdW5MZW5ndGgsXG4gICAgICAgIGhhc1Zpc3VhbE11bHRpbGluZTogKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGVkaXRvciA9IGVkaXRvclJlZi5jdXJyZW50XG4gICAgICAgICAgaWYgKCFlZGl0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHRleHQgPSBlZGl0b3IudGV4dENvbnRlbnQ/LnRyaW0oKSA/PyAnJ1xuICAgICAgICAgIGlmICghdGV4dCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3Qgc3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWRpdG9yKVxuICAgICAgICAgIGNvbnN0IGxpbmVIZWlnaHQgPSBwYXJzZUZsb2F0KHN0eWxlcy5saW5lSGVpZ2h0KSB8fCAyMlxuICAgICAgICAgIGNvbnN0IGVkaXRvckhlaWdodCA9IGVkaXRvci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHRcbiAgICAgICAgICBjb25zdCBpc011bHRpbGluZSA9IGVkaXRvckhlaWdodCA+IGxpbmVIZWlnaHQgKiAxLjVcblxuICAgICAgICAgIHJldHVybiBpc011bHRpbGluZVxuICAgICAgICB9LFxuICAgICAgICBnZXRFZGl0b3JDbGllbnRSZWN0OiAoKSA9PiBlZGl0b3JSZWYuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgPz8gbnVsbCxcbiAgICAgICAgaW5zZXJ0TWVudGlvbjogKG1lbnRpb246IENvbnRleHRNZW50aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgY2hpcCA9IGJ1aWxkQ2hpcEVsZW1lbnQobWVudGlvbilcbiAgICAgICAgICByZXBsYWNlVHJpZ2dlcldpdGhDaGlwKGNoaXAsIG1lbnRpb24pXG4gICAgICAgICAgc2tpcE5leHRJbnB1dC5jdXJyZW50ID0gdHJ1ZVxuICAgICAgICAgIGNvbnN0IHN0YXRlID0gc2VyaWFsaXplKClcbiAgICAgICAgICBvbklucHV0Py4oeyAuLi5zdGF0ZSwgdHJpZ2dlcjogeyBhY3RpdmU6IGZhbHNlLCBxdWVyeTogJycsIGF0UnVuTGVuZ3RoOiAwIH0gfSlcbiAgICAgICAgICBjb25zdCBpc0VtcHR5ID0gc3RhdGUudGV4dC50cmltKCkgPT09ICcnXG4gICAgICAgICAgc3luY0VkaXRvckVtcHR5QXR0cmlidXRlKGlzRW1wdHkpXG4gICAgICAgICAgc2V0TG9naWNhbEVtcHR5KGlzRW1wdHkpXG4gICAgICAgICAgcXVldWVNaWNyb3Rhc2soKCkgPT4ge1xuICAgICAgICAgICAgLy8gU2kgZWwgbmF2ZWdhZG9yIG5vIGRpc3BhcmEgYGlucHV0YCB0cmFzIGVsIGNoaXAsIGVsIGZsYWcgcXVlZGFiYSBlbiB0cnVlIHkgZWwgcHLDs3hpbW8gQCBkZWwgdXN1YXJpbyBzZSBpZ25vcmFiYS5cbiAgICAgICAgICAgIHNraXBOZXh0SW5wdXQuY3VycmVudCA9IGZhbHNlXG4gICAgICAgICAgICByZWNvbXB1dGVQbGFjZWhvbGRlclRydW5jYXRpb24oKVxuICAgICAgICAgIH0pXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIFtcbiAgICAgICAgZm9jdXMsXG4gICAgICAgIGNsZWFyRWRpdG9yRG9tLFxuICAgICAgICBzZXJpYWxpemUsXG4gICAgICAgIHN5bmNUcmlnZ2VyQXRSdW5MZW5ndGgsXG4gICAgICAgIHJlcGxhY2VUcmlnZ2VyV2l0aENoaXAsXG4gICAgICAgIG9uSW5wdXQsXG4gICAgICAgIHJlY29tcHV0ZVBsYWNlaG9sZGVyVHJ1bmNhdGlvbixcbiAgICAgICAgc3luY0VkaXRvckVtcHR5QXR0cmlidXRlLFxuICAgICAgXVxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUlucHV0ID0gKCkgPT4ge1xuICAgICAgaWYgKHNraXBOZXh0SW5wdXQuY3VycmVudCkge1xuICAgICAgICBza2lwTmV4dElucHV0LmN1cnJlbnQgPSBmYWxzZVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGNvbnN0IHRyaWcgPSB1cGRhdGVUcmlnZ2VyKClcbiAgICAgIGxldCBzdGF0ZSA9IHNlcmlhbGl6ZSgpXG4gICAgICBjb25zdCBpc0VtcHR5ID0gc3RhdGUudGV4dC50cmltKCkgPT09ICcnXG4gICAgICBpZiAoaXNFbXB0eSkge1xuICAgICAgICBub3JtYWxpemVFbXB0eUVkaXRvckRvbSgpXG4gICAgICAgIHN0YXRlID0geyB0ZXh0OiAnJywgbWVudGlvbnM6IFtdIH1cbiAgICAgIH1cbiAgICAgIHN5bmNFZGl0b3JFbXB0eUF0dHJpYnV0ZShpc0VtcHR5KVxuICAgICAgc2V0TG9naWNhbEVtcHR5KGlzRW1wdHkpXG4gICAgICBvbklucHV0Py4oeyAuLi5zdGF0ZSwgdHJpZ2dlcjogeyBhY3RpdmU6IHRyaWcuYWN0aXZlLCBxdWVyeTogdHJpZy5xdWVyeSwgYXRSdW5MZW5ndGg6IHRyaWcuYXRSdW5MZW5ndGggfSB9KVxuICAgICAgcXVldWVNaWNyb3Rhc2socmVjb21wdXRlUGxhY2Vob2xkZXJUcnVuY2F0aW9uKVxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZVBhc3RlID0gKGU6IENsaXBib2FyZEV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBjb25zdCB0ZXh0ID0gZS5jbGlwYm9hcmREYXRhLmdldERhdGEoJ3RleHQvcGxhaW4nKVxuICAgICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpXG4gICAgICBpZiAoIXNlbGVjdGlvbiB8fCBzZWxlY3Rpb24ucmFuZ2VDb3VudCA9PT0gMCkgcmV0dXJuXG4gICAgICBzZWxlY3Rpb24uZGVsZXRlRnJvbURvY3VtZW50KClcbiAgICAgIHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApLmluc2VydE5vZGUoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGV4dCkpXG4gICAgICBzZWxlY3Rpb24uY29sbGFwc2VUb0VuZCgpXG4gICAgICBoYW5kbGVJbnB1dCgpXG4gICAgfVxuXG4gICAgY29uc3QgdHJpbW1lZFBsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXI/LnRyaW0oKSA/PyAnJ1xuICAgIGNvbnN0IHBsYWNlaG9sZGVyVG9vbHRpcFRpdGxlID0gbG9naWNhbEVtcHR5ICYmIHBsYWNlaG9sZGVyVHJ1bmNhdGVkICYmIHRyaW1tZWRQbGFjZWhvbGRlciA/IHRyaW1tZWRQbGFjZWhvbGRlciA6ICcnXG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPENvbnRleHRNZW50aW9uQ2hpcEdsb2JhbFN0eWxlcyAvPlxuICAgICAgICA8VG9vbHRpcCB0aXRsZT17cGxhY2Vob2xkZXJUb29sdGlwVGl0bGV9PlxuICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdibG9jaycsIHdpZHRoOiAnMTAwJScsIG1pbldpZHRoOiAwIH19PlxuICAgICAgICAgICAgPFNDTUVFZGl0YWJsZVxuICAgICAgICAgICAgICByZWY9e2VkaXRvclJlZn1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgIGRhdGEtcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICBkYXRhLWVtcHR5PXtTdHJpbmcobG9naWNhbEVtcHR5KX1cbiAgICAgICAgICAgICAgY29udGVudEVkaXRhYmxlPXshZGlzYWJsZWR9XG4gICAgICAgICAgICAgIGRhdGEtZGlzYWJsZWQ9e1N0cmluZyghIWRpc2FibGVkKX1cbiAgICAgICAgICAgICAgc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nXG4gICAgICAgICAgICAgIHJvbGU9XCJ0ZXh0Ym94XCJcbiAgICAgICAgICAgICAgYXJpYS1tdWx0aWxpbmU9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgb25JbnB1dD17aGFuZGxlSW5wdXR9XG4gICAgICAgICAgICAgIG9uS2V5RG93bj17b25LZXlEb3dufVxuICAgICAgICAgICAgICBvblBhc3RlPXtoYW5kbGVQYXN0ZX1cbiAgICAgICAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgPC8+XG4gICAgKVxuICB9XG4pXG5cbkNvbnRleHRNZW50aW9uRWRpdG9yLmRpc3BsYXlOYW1lID0gJ0NvbnRleHRNZW50aW9uRWRpdG9yJ1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsU0FFRUEsVUFBVSxFQUVWQyxXQUFXLEVBQ1hDLG1CQUFtQixFQUNuQkMsZUFBZSxFQUNmQyxNQUFNLEVBQ05DLFFBQVEsUUFDSCxPQUFPO0FBQ2QsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyxrQkFBa0IsUUFBUSxtQ0FBbUM7QUFFdEUsU0FBU0MsZ0JBQWdCLFFBQVEsdUJBQXVCO0FBQ3hELFNBQVNDLDhCQUE4QixRQUFRLGlEQUFpRDtBQUNoRyxTQUFTQyxZQUFZLFFBQVEsK0JBQStCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLFFBQUEsSUFBQUMsU0FBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFFNUQsSUFBTUMsOEJBQThCLEdBQUcsU0FBakNBLDhCQUE4QkEsQ0FBSUMsTUFBbUIsRUFBRUMsV0FBbUIsRUFBYztFQUM1RixJQUFNQyxPQUFPLEdBQUdELFdBQVcsQ0FBQ0UsSUFBSSxDQUFDLENBQUM7RUFDbEMsSUFBSSxDQUFDRCxPQUFPLEVBQUU7SUFDWixPQUFPLEtBQUs7RUFDZDtFQUNBLElBQVFFLFdBQVcsR0FBS0osTUFBTSxDQUF0QkksV0FBVztFQUNuQixJQUFJQSxXQUFXLElBQUksQ0FBQyxFQUFFO0lBQ3BCLE9BQU8sS0FBSztFQUNkO0VBRUEsSUFBTUMsTUFBTSxHQUFHQyxNQUFN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QyxDQUFDLENBQUNDLFVBQVUsQ0FBQzlHLFFBQVEsQ0FBQytHLGNBQWMsQ0FBQ3ZDLElBQUksQ0FBQyxDQUFDO0lBQ2pFYixTQUFTLENBQUNxRCxhQUFhLENBQUMsQ0FBQztJQUN6QmIsV0FBVyxDQUFDLENBQUM7RUFDZixDQUFDO0VBRUQsSUFBTWMsa0JBQWtCLElBQUF6RixrQkFBQSxHQUFHaEMsV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUVFLElBQUksQ0FBQyxDQUFDLGNBQUE4QixrQkFBQSxjQUFBQSxrQkFBQSxHQUFJLEVBQUU7RUFDcEQsSUFBTTBGLHVCQUF1QixHQUFHbEUsWUFBWSxJQUFJSixvQkFBb0IsSUFBSXFFLGtCQUFrQixHQUFHQSxrQkFBa0IsR0FBRyxFQUFFO0VBRXBILG9CQUNFNUgsS0FBQSxDQUFBRixTQUFBO0lBQUFnSSxRQUFBLGdCQUNFbEksSUFBQSxDQUFDSCw4QkFBOEIsSUFBRSxDQUFDLGVBQ2xDRyxJQUFBLENBQUNOLE9BQU87TUFBQ3lJLEtBQUssRUFBRUYsdUJBQXdCO01BQUFDLFFBQUEsZUFDdENsSSxJQUFBO1FBQU1vSSxLQUFLLEVBQUU7VUFBRUMsT0FBTyxFQUFFLE9BQU87VUFBRTVHLEtBQUssRUFBRSxNQUFNO1VBQUU2RyxRQUFRLEVBQUU7UUFBRSxDQUFFO1FBQUFKLFFBQUEsZUFDNURsSSxJQUFBLENBQUNGLFlBQVk7VUFDWHdDLEdBQUcsRUFBRVMsU0FBVTtVQUNmTixTQUFTLEVBQUVBLFNBQVU7VUFDckIsb0JBQWtCbEMsV0FBWTtVQUM5QixjQUFZOEQsTUFBTSxDQUFDTixZQUFZLENBQUU7VUFDakN3RSxlQUFlLEVBQUUsQ0FBQy9GLFFBQVM7VUFDM0IsaUJBQWU2QixNQUFNLENBQUMsQ0FBQyxDQUFDN0IsUUFBUSxDQUFFO1VBQ2xDZ0csOEJBQThCO1VBQzlCQyxJQUFJLEVBQUMsU0FBUztVQUNkLGtCQUFlLE1BQU07VUFDckIvRixPQUFPLEVBQUV3RSxXQUFZO1VBQ3JCdkUsU0FBUyxFQUFFQSxTQUFVO1VBQ3JCK0YsT0FBTyxFQUFFckIsV0FBWTtVQUNyQnpFLE9BQU8sRUFBRUEsT0FBUTtVQUNqQkMsTUFBTSxFQUFFQTtRQUFPLENBQ2hCO01BQUMsQ0FDRTtJQUFDLENBQ0EsQ0FBQztFQUFBLENBQ1YsQ0FBQztBQUVQLENBQ0YsQ0FBQztBQUVEVCxvQkFBb0IsQ0FBQ3VHLFdBQVcsR0FBRyxzQkFBc0IiLCJpZ25vcmVMaXN0IjpbXX0=
269
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmb3J3YXJkUmVmIiwidXNlQ2FsbGJhY2siLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwidXNlTGF5b3V0RWZmZWN0IiwidXNlUmVmIiwidXNlU3RhdGUiLCJUb29sdGlwIiwidXNlQ29udGV4dE1lbnRpb25zIiwiYnVpbGRDaGlwRWxlbWVudCIsIkNvbnRleHRNZW50aW9uQ2hpcEdsb2JhbFN0eWxlcyIsImJ1aWxkU2xhc2hDaGlwRWxlbWVudCIsIlNDTUVFZGl0YWJsZSIsImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImpzeHMiLCJfanN4cyIsImlzUGxhY2Vob2xkZXJUcnVuY2F0ZWRJbkVkaXRvciIsImVkaXRvciIsInBsYWNlaG9sZGVyIiwidHJpbW1lZCIsInRyaW0iLCJjbGllbnRXaWR0aCIsInN0eWxlcyIsIndpbmRvdyIsImdldENvbXB1dGVkU3R5bGUiLCJjdHgiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJnZXRDb250ZXh0IiwiZm9udCIsImNvbmNhdCIsImZvbnRXZWlnaHQiLCJmb250U2l6ZSIsImZvbnRGYW1pbHkiLCJtZWFzdXJlZCIsIm1lYXN1cmVUZXh0Iiwid2lkdGgiLCJwYWRkaW5nTGVmdCIsInBhcnNlRmxvYXQiLCJwYWRkaW5nUmlnaHQiLCJib3JkZXJMZWZ0IiwiYm9yZGVyTGVmdFdpZHRoIiwiYm9yZGVyUmlnaHQiLCJib3JkZXJSaWdodFdpZHRoIiwiYXZhaWxhYmxlIiwiTWF0aCIsIm1heCIsIkNvbnRleHRNZW50aW9uRWRpdG9yIiwiX3JlZiIsInJlZiIsIl9wbGFjZWhvbGRlciR0cmltMiIsImRpc2FibGVkIiwiY2xhc3NOYW1lIiwib25JbnB1dCIsIm9uS2V5RG93biIsIm9uRm9jdXMiLCJvbkJsdXIiLCJfdXNlQ29udGV4dE1lbnRpb25zIiwiZWRpdG9yUmVmIiwidXBkYXRlVHJpZ2dlciIsInJlcGxhY2VUcmlnZ2VyV2l0aENoaXAiLCJzeW5jVHJpZ2dlckF0UnVuTGVuZ3RoIiwidXBkYXRlU2xhc2hUcmlnZ2VyIiwicmVwbGFjZVRyaWdnZXJXaXRoU2xhc2hDaGlwIiwic2VyaWFsaXplIiwiY2xlYXJFZGl0b3JEb20iLCJjbGVhciIsImZvY3VzIiwic2tpcE5leHRJbnB1dCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInBsYWNlaG9sZGVyVHJ1bmNhdGVkIiwic2V0UGxhY2Vob2xkZXJUcnVuY2F0ZWQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvZ2ljYWxFbXB0eSIsInNldExvZ2ljYWxFbXB0eSIsInN5bmNFZGl0b3JFbXB0eUF0dHJpYnV0ZSIsImlzRW1wdHkiLCJjdXJyZW50Iiwic2V0QXR0cmlidXRlIiwiU3RyaW5nIiwibm9ybWFsaXplRW1wdHlFZGl0b3JEb20iLCJfZWRpdG9yJHRleHRDb250ZW50IiwidGV4dENvbnRlbnQiLCJpbm5lckhUTUwiLCJzZWxlY3Rpb24iLCJnZXRTZWxlY3Rpb24iLCJyYW5nZSIsImNyZWF0ZVJhbmdlIiwic2VsZWN0Tm9kZUNvbnRlbnRzIiwiY29sbGFwc2UiLCJyZW1vdmVBbGxSYW5nZXMiLCJhZGRSYW5nZSIsInJlY29tcHV0ZVBsYWNlaG9sZGVyVHJ1bmNhdGlvbiIsIl9wbGFjZWhvbGRlciR0cmltIiwiZWwiLCJwaCIsImlzRWRpdG9yTG9naWNhbGx5RW1wdHkiLCJ0ZXh0IiwidW5kZWZpbmVkIiwicm8iLCJSZXNpemVPYnNlcnZlciIsInF1ZXVlTWljcm90YXNrIiwib2JzZXJ2ZSIsImRpc2Nvbm5lY3QiLCJoYXNWaXN1YWxNdWx0aWxpbmUiLCJfZWRpdG9yJHRleHRDb250ZW50JHQiLCJfZWRpdG9yJHRleHRDb250ZW50MiIsImxpbmVIZWlnaHQiLCJlZGl0b3JIZWlnaHQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJoZWlnaHQiLCJpc011bHRpbGluZSIsImdldEVkaXRvckNsaWVudFJlY3QiLCJfZWRpdG9yUmVmJGN1cnJlbnQkZ2UiLCJfZWRpdG9yUmVmJGN1cnJlbnQiLCJpbnNlcnRNZW50aW9uIiwibWVudGlvbiIsImNoaXAiLCJzdGF0ZSIsIl9vYmplY3RTcHJlYWQiLCJ0cmlnZ2VyIiwiYWN0aXZlIiwicXVlcnkiLCJhdFJ1bkxlbmd0aCIsInNsYXNoVHJpZ2dlciIsImluc2VydFNsYXNoQ29tbWFuZCIsImNvbW1hbmQiLCJoYW5kbGVJbnB1dCIsInRyaWciLCJzbGFzaFRyaWciLCJtZW50aW9ucyIsInNsYXNoQ29tbWFuZHMiLCJoYW5kbGVQYXN0ZSIsImUiLCJwcmV2ZW50RGVmYXVsdCIsImNsaXBib2FyZERhdGEiLCJnZXREYXRhIiwicmFuZ2VDb3VudCIsImRlbGV0ZUZyb21Eb2N1bWVudCIsImdldFJhbmdlQXQiLCJpbnNlcnROb2RlIiwiY3JlYXRlVGV4dE5vZGUiLCJjb2xsYXBzZVRvRW5kIiwidHJpbW1lZFBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXJUb29sdGlwVGl0bGUiLCJjaGlsZHJlbiIsInRpdGxlIiwic3R5bGUiLCJkaXNwbGF5IiwibWluV2lkdGgiLCJjb250ZW50RWRpdGFibGUiLCJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciLCJyb2xlIiwib25QYXN0ZSIsImRpc3BsYXlOYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQ29udGV4dE1lbnRpb25FZGl0b3IvQ29udGV4dE1lbnRpb25FZGl0b3IudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENsaXBib2FyZEV2ZW50LFxuICBmb3J3YXJkUmVmLFxuICBLZXlib2FyZEV2ZW50LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IHVzZUNvbnRleHRNZW50aW9ucyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUNvbnRleHRNZW50aW9ucydcbmltcG9ydCB7IENvbnRleHRNZW50aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5pbXBvcnQgeyBidWlsZENoaXBFbGVtZW50IH0gZnJvbSAnLi4vQ29udGV4dE1lbnRpb25DaGlwJ1xuaW1wb3J0IHsgQ29udGV4dE1lbnRpb25DaGlwR2xvYmFsU3R5bGVzIH0gZnJvbSAnLi4vQ29udGV4dE1lbnRpb25DaGlwL0NvbnRleHRNZW50aW9uQ2hpcC5zdHlsZXMnXG5pbXBvcnQgeyBidWlsZFNsYXNoQ2hpcEVsZW1lbnQsIFNsYXNoQ29tbWFuZENoaXBEYXRhIH0gZnJvbSAnLi4vU2xhc2hDb21tYW5kQ2hpcCdcbmltcG9ydCB7IFNDTUVFZGl0YWJsZSB9IGZyb20gJy4vQ29udGV4dE1lbnRpb25FZGl0b3Iuc3R5bGVzJ1xuXG5jb25zdCBpc1BsYWNlaG9sZGVyVHJ1bmNhdGVkSW5FZGl0b3IgPSAoZWRpdG9yOiBIVE1MRWxlbWVudCwgcGxhY2Vob2xkZXI6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICBjb25zdCB0cmltbWVkID0gcGxhY2Vob2xkZXIudHJpbSgpXG4gIGlmICghdHJpbW1lZCkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIGNvbnN0IHsgY2xpZW50V2lkdGggfSA9IGVkaXRvclxuICBpZiAoY2xpZW50V2lkdGggPD0gNCkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgY29uc3Qgc3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWRpdG9yKVxuICBjb25zdCBjdHggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKS5nZXRDb250ZXh0KCcyZCcpXG4gIGlmICghY3R4KSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgY3R4LmZvbnQgPSBgJHtzdHlsZXMuZm9udFdlaWdodH0gJHtzdHlsZXMuZm9udFNpemV9ICR7c3R5bGVzLmZvbnRGYW1pbHl9YFxuICBjb25zdCBtZWFzdXJlZCA9IGN0eC5tZWFzdXJlVGV4dCh0cmltbWVkKS53aWR0aFxuXG4gIGNvbnN0IHBhZGRpbmdMZWZ0ID0gcGFyc2VGbG9hdChzdHlsZXMucGFkZGluZ0xlZnQpIHx8IDBcbiAgY29uc3QgcGFkZGluZ1JpZ2h0ID0gcGFyc2VGbG9hdChzdHlsZXMucGFkZGluZ1JpZ2h0KSB8fCAwXG4gIGNvbnN0IGJvcmRlckxlZnQgPSBwYXJzZUZsb2F0KHN0eWxlcy5ib3JkZXJMZWZ0V2lkdGgpIHx8IDBcbiAgY29uc3QgYm9yZGVyUmlnaHQgPSBwYXJzZUZsb2F0KHN0eWxlcy5ib3JkZXJSaWdodFdpZHRoKSB8fCAwXG4gIGNvbnN0IGF2YWlsYWJsZSA9IE1hdGgubWF4KDAsIGNsaWVudFdpZHRoIC0gcGFkZGluZ0xlZnQgLSBwYWRkaW5nUmlnaHQgLSBib3JkZXJMZWZ0IC0gYm9yZGVyUmlnaHQpXG5cbiAgcmV0dXJuIG1lYXN1cmVkID4gYXZhaWxhYmxlICsgMVxufVxuXG5leHBvcnQgdHlwZSBDb250ZXh0TWVudGlvbkVkaXRvckhhbmRsZSA9IHtcbiAgZm9jdXM6ICgpID0+IHZvaWRcbiAgY2xlYXI6ICgpID0+IHZvaWRcbiAgaW5zZXJ0TWVudGlvbjogKG1lbnRpb246IENvbnRleHRNZW50aW9uKSA9PiB2b2lkXG4gIGluc2VydFNsYXNoQ29tbWFuZDogKGNvbW1hbmQ6IFNsYXNoQ29tbWFuZENoaXBEYXRhKSA9PiB2b2lkXG4gIHN5bmNUcmlnZ2VyQXRSdW5MZW5ndGg6IChhdFJ1bkxlbmd0aDogbnVtYmVyKSA9PiB2b2lkXG4gIHNlcmlhbGl6ZTogKCkgPT4ge1xuICAgIHRleHQ6IHN0cmluZ1xuICAgIG1lbnRpb25zOiBDb250ZXh0TWVudGlvbltdXG4gICAgc2xhc2hDb21tYW5kczogU2xhc2hDb21tYW5kQ2hpcERhdGFbXVxuICB9XG4gIGhhc1Zpc3VhbE11bHRpbGluZTogKCkgPT4gYm9vbGVhblxuICAvKiogUmVjdCBkZWwgw6FyZWEgZWRpdGFibGUgKHZpZXdwb3J0KTsgbG8gdXNhIGVsIHBvcG92ZXIgZGUgQCBwYXJhIGFsaW5lYXIgYW5jaG8vb3JpZ2VuLiAqL1xuICBnZXRFZGl0b3JDbGllbnRSZWN0OiAoKSA9PiBET01SZWN0IHwgbnVsbFxufVxuXG5leHBvcnQgdHlwZSBDb250ZXh0TWVudGlvbkVkaXRvclByb3BzID0ge1xuICBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIG9uSW5wdXQ/OiAoc3RhdGU6IHtcbiAgICB0ZXh0OiBzdHJpbmdcbiAgICBtZW50aW9uczogQ29udGV4dE1lbnRpb25bXVxuICAgIHNsYXNoQ29tbWFuZHM6IFNsYXNoQ29tbWFuZENoaXBEYXRhW11cbiAgICB0cmlnZ2VyOiB7IGFjdGl2ZTogYm9vbGVhbjsgcXVlcnk6IHN0cmluZzsgYXRSdW5MZW5ndGg6IG51bWJlciB9XG4gICAgc2xhc2hUcmlnZ2VyOiB7IGFjdGl2ZTogYm9vbGVhbjsgcXVlcnk6IHN0cmluZyB9XG4gIH0pID0+IHZvaWRcbiAgb25LZXlEb3duPzogKGU6IEtleWJvYXJkRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uRm9jdXM/OiAoKSA9PiB2b2lkXG4gIG9uQmx1cj86ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGNvbnN0IENvbnRleHRNZW50aW9uRWRpdG9yID0gZm9yd2FyZFJlZjxDb250ZXh0TWVudGlvbkVkaXRvckhhbmRsZSwgQ29udGV4dE1lbnRpb25FZGl0b3JQcm9wcz4oXG4gICh7IHBsYWNlaG9sZGVyLCBkaXNhYmxlZCwgY2xhc3NOYW1lLCBvbklucHV0LCBvbktleURvd24sIG9uRm9jdXMsIG9uQmx1ciB9LCByZWYpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBlZGl0b3JSZWYsXG4gICAgICB1cGRhdGVUcmlnZ2VyLFxuICAgICAgcmVwbGFjZVRyaWdnZXJXaXRoQ2hpcCxcbiAgICAgIHN5bmNUcmlnZ2VyQXRSdW5MZW5ndGgsXG4gICAgICB1cGRhdGVTbGFzaFRyaWdnZXIsXG4gICAgICByZXBsYWNlVHJpZ2dlcldpdGhTbGFzaENoaXAsXG4gICAgICBzZXJpYWxpemUsXG4gICAgICBjbGVhcjogY2xlYXJFZGl0b3JEb20sXG4gICAgICBmb2N1cyxcbiAgICB9ID0gdXNlQ29udGV4dE1lbnRpb25zKClcbiAgICBjb25zdCBza2lwTmV4dElucHV0ID0gdXNlUmVmKGZhbHNlKVxuICAgIGNvbnN0IFtwbGFjZWhvbGRlclRydW5jYXRlZCwgc2V0UGxhY2Vob2xkZXJUcnVuY2F0ZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW2xvZ2ljYWxFbXB0eSwgc2V0TG9naWNhbEVtcHR5XSA9IHVzZVN0YXRlKHRydWUpXG5cbiAgICBjb25zdCBzeW5jRWRpdG9yRW1wdHlBdHRyaWJ1dGUgPSB1c2VDYWxsYmFjaygoaXNFbXB0eTogYm9vbGVhbikgPT4ge1xuICAgICAgaWYgKGVkaXRvclJlZi5jdXJyZW50KSB7XG4gICAgICAgIGVkaXRvclJlZi5jdXJyZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1lbXB0eScsIFN0cmluZyhpc0VtcHR5KSlcbiAgICAgIH1cbiAgICB9LCBbXSlcblxuICAgIGNvbnN0IG5vcm1hbGl6ZUVtcHR5RWRpdG9yRG9tID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgY29uc3QgZWRpdG9yID0gZWRpdG9yUmVmLmN1cnJlbnRcbiAgICAgIGlmICghZWRpdG9yKSByZXR1cm5cblxuICAgICAgLy8gTGltcGlhciBjdWFscXVpZXIgcmVzaWR1byAoYnIsIGVzcGFjaW9zKSBxdWUgZGVqZSBlbCBicm93c2VyIGFsIHZhY2lhciBlbCBjb250ZW50ZWRpdGFibGUuXG4gICAgICAvLyBTaW4gZXN0bywgdW4gZXNwYWNpbyBzdWVsdG8gYWN0aXZhIGRhdGEtZW1wdHk9XCJ0cnVlXCIgKyA6OmJlZm9yZSBwbGFjZWhvbGRlciBlbiBsw61uZWEgMVxuICAgICAgLy8geSBkZXNwbGF6YSBlbCBjdXJzb3IgYSBsYSBsw61uZWEgMi5cbiAgICAgIGlmIChlZGl0b3IudGV4dENvbnRlbnQ/LnRyaW0oKSA9PT0gJycpIHtcbiAgICAgICAgZWRpdG9yLmlubmVySFRNTCA9ICcnXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKVxuICAgICAgaWYgKCFzZWxlY3Rpb24pIHJldHVyblxuICAgICAgY29uc3QgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpXG4gICAgICByYW5nZS5zZWxlY3ROb2RlQ29udGVudHMoZWRpdG9yKVxuICAgICAgcmFuZ2UuY29sbGFwc2UodHJ1ZSlcbiAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKVxuICAgICAgc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKVxuICAgIH0sIFtlZGl0b3JSZWZdKVxuXG4gICAgY29uc3QgcmVjb21wdXRlUGxhY2Vob2xkZXJUcnVuY2F0aW9uID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgY29uc3QgZWwgPSBlZGl0b3JSZWYuY3VycmVudFxuICAgICAgY29uc3QgcGggPSBwbGFjZWhvbGRlcj8udHJpbSgpID8/ICcnXG4gICAgICBjb25zdCBpc0VkaXRvckxvZ2ljYWxseUVtcHR5ID0gc2VyaWFsaXplKCkudGV4dC50cmltKCkgPT09ICcnXG5cbiAgICAgIGlmICghZWwgfHwgIXBoIHx8ICFpc0VkaXRvckxvZ2ljYWxseUVtcHR5KSB7XG4gICAgICAgIHNldFBsYWNlaG9sZGVyVHJ1bmNhdGVkKGZhbHNlKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgc2V0UGxhY2Vob2xkZXJUcnVuY2F0ZWQoaXNQbGFjZWhvbGRlclRydW5jYXRlZEluRWRpdG9yKGVsLCBwaCkpXG4gICAgfSwgW3BsYWNlaG9sZGVyLCBzZXJpYWxpemVdKVxuXG4gICAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICAgIHJlY29tcHV0ZVBsYWNlaG9sZGVyVHJ1bmNhdGlvbigpXG4gICAgICBjb25zdCBlbCA9IGVkaXRvclJlZi5jdXJyZW50XG4gICAgICBpZiAoIWVsKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJvID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgcXVldWVNaWNyb3Rhc2socmVjb21wdXRlUGxhY2Vob2xkZXJUcnVuY2F0aW9uKVxuICAgICAgfSlcbiAgICAgIHJvLm9ic2VydmUoZWwpXG4gICAgICByZXR1cm4gKCkgPT4gcm8uZGlzY29ubmVjdCgpXG4gICAgfSwgW3BsYWNlaG9sZGVyLCBkaXNhYmxlZCwgcmVjb21wdXRlUGxhY2Vob2xkZXJUcnVuY2F0aW9uXSlcblxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUoXG4gICAgICByZWYsXG4gICAgICAoKSA9PiAoe1xuICAgICAgICBmb2N1cyxcbiAgICAgICAgY2xlYXI6ICgpID0+IHtcbiAgICAgICAgICBjbGVhckVkaXRvckRvbSgpXG4gICAgICAgICAgc3luY0VkaXRvckVtcHR5QXR0cmlidXRlKHRydWUpXG4gICAgICAgICAgc2V0TG9naWNhbEVtcHR5KHRydWUpXG4gICAgICAgICAgcXVldWVNaWNyb3Rhc2socmVjb21wdXRlUGxhY2Vob2xkZXJUcnVuY2F0aW9uKVxuICAgICAgICB9LFxuICAgICAgICBzZXJpYWxpemUsXG4gICAgICAgIHN5bmNUcmlnZ2VyQXRSdW5MZW5ndGgsXG4gICAgICAgIGhhc1Zpc3VhbE11bHRpbGluZTogKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGVkaXRvciA9IGVkaXRvclJlZi5jdXJyZW50XG4gICAgICAgICAgaWYgKCFlZGl0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHRleHQgPSBlZGl0b3IudGV4dENvbnRlbnQ/LnRyaW0oKSA/PyAnJ1xuICAgICAgICAgIGlmICghdGV4dCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3Qgc3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWRpdG9yKVxuICAgICAgICAgIGNvbnN0IGxpbmVIZWlnaHQgPSBwYXJzZUZsb2F0KHN0eWxlcy5saW5lSGVpZ2h0KSB8fCAyMlxuICAgICAgICAgIGNvbnN0IGVkaXRvckhlaWdodCA9IGVkaXRvci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHRcbiAgICAgICAgICBjb25zdCBpc011bHRpbGluZSA9IGVkaXRvckhlaWdodCA+IGxpbmVIZWlnaHQgKiAxLjVcblxuICAgICAgICAgIHJldHVybiBpc011bHRpbGluZVxuICAgICAgICB9LFxuICAgICAgICBnZXRFZGl0b3JDbGllbnRSZWN0OiAoKSA9PiBlZGl0b3JSZWYuY3VycmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgPz8gbnVsbCxcbiAgICAgICAgaW5zZXJ0TWVudGlvbjogKG1lbnRpb246IENvbnRleHRNZW50aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgY2hpcCA9IGJ1aWxkQ2hpcEVsZW1lbnQobWVudGlvbilcbiAgICAgICAgICByZXBsYWNlVHJpZ2dlcldpdGhDaGlwKGNoaXAsIG1lbnRpb24pXG4gICAgICAgICAgc2tpcE5leHRJbnB1dC5jdXJyZW50ID0gdHJ1ZVxuICAgICAgICAgIGNvbnN0IHN0YXRlID0gc2VyaWFsaXplKClcbiAgICAgICAgICBvbklucHV0Py4oe1xuICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICB0cmlnZ2VyOiB7IGFjdGl2ZTogZmFsc2UsIHF1ZXJ5OiAnJywgYXRSdW5MZW5ndGg6IDAgfSxcbiAgICAgICAgICAgIHNsYXNoVHJpZ2dlcjogeyBhY3RpdmU6IGZhbHNlLCBxdWVyeTogJycgfSxcbiAgICAgICAgICB9KVxuICAgICAgICAgIGNvbnN0IGlzRW1wdHkgPSBzdGF0ZS50ZXh0LnRyaW0oKSA9PT0gJydcbiAgICAgICAgICBzeW5jRWRpdG9yRW1wdHlBdHRyaWJ1dGUoaXNFbXB0eSlcbiAgICAgICAgICBzZXRMb2dpY2FsRW1wdHkoaXNFbXB0eSlcbiAgICAgICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XG4gICAgICAgICAgICAvLyBTaSBlbCBuYXZlZ2Fkb3Igbm8gZGlzcGFyYSBgaW5wdXRgIHRyYXMgZWwgY2hpcCwgZWwgZmxhZyBxdWVkYWJhIGVuIHRydWUgeSBlbCBwcsOzeGltbyBAIGRlbCB1c3VhcmlvIHNlIGlnbm9yYWJhLlxuICAgICAgICAgICAgc2tpcE5leHRJbnB1dC5jdXJyZW50ID0gZmFsc2VcbiAgICAgICAgICAgIHJlY29tcHV0ZVBsYWNlaG9sZGVyVHJ1bmNhdGlvbigpXG4gICAgICAgICAgfSlcbiAgICAgICAgfSxcbiAgICAgICAgaW5zZXJ0U2xhc2hDb21tYW5kOiAoY29tbWFuZDogU2xhc2hDb21tYW5kQ2hpcERhdGEpID0+IHtcbiAgICAgICAgICBjb25zdCBjaGlwID0gYnVpbGRTbGFzaENoaXBFbGVtZW50KGNvbW1hbmQpXG4gICAgICAgICAgcmVwbGFjZVRyaWdnZXJXaXRoU2xhc2hDaGlwKGNoaXAsIGNvbW1hbmQpXG4gICAgICAgICAgc2tpcE5leHRJbnB1dC5jdXJyZW50ID0gdHJ1ZVxuICAgICAgICAgIGNvbnN0IHN0YXRlID0gc2VyaWFsaXplKClcbiAgICAgICAgICBvbklucHV0Py4oe1xuICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICB0cmlnZ2VyOiB7IGFjdGl2ZTogZmFsc2UsIHF1ZXJ5OiAnJywgYXRSdW5MZW5ndGg6IDAgfSxcbiAgICAgICAgICAgIHNsYXNoVHJpZ2dlcjogeyBhY3RpdmU6IGZhbHNlLCBxdWVyeTogJycgfSxcbiAgICAgICAgICB9KVxuICAgICAgICAgIGNvbnN0IGlzRW1wdHkgPSBzdGF0ZS50ZXh0LnRyaW0oKSA9PT0gJydcbiAgICAgICAgICBzeW5jRWRpdG9yRW1wdHlBdHRyaWJ1dGUoaXNFbXB0eSlcbiAgICAgICAgICBzZXRMb2dpY2FsRW1wdHkoaXNFbXB0eSlcbiAgICAgICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XG4gICAgICAgICAgICBza2lwTmV4dElucHV0LmN1cnJlbnQgPSBmYWxzZVxuICAgICAgICAgICAgcmVjb21wdXRlUGxhY2Vob2xkZXJUcnVuY2F0aW9uKClcbiAgICAgICAgICB9KVxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBbXG4gICAgICAgIGZvY3VzLFxuICAgICAgICBjbGVhckVkaXRvckRvbSxcbiAgICAgICAgc2VyaWFsaXplLFxuICAgICAgICBzeW5jVHJpZ2dlckF0UnVuTGVuZ3RoLFxuICAgICAgICByZXBsYWNlVHJpZ2dlcldpdGhDaGlwLFxuICAgICAgICByZXBsYWNlVHJpZ2dlcldpdGhTbGFzaENoaXAsXG4gICAgICAgIG9uSW5wdXQsXG4gICAgICAgIHJlY29tcHV0ZVBsYWNlaG9sZGVyVHJ1bmNhdGlvbixcbiAgICAgICAgc3luY0VkaXRvckVtcHR5QXR0cmlidXRlLFxuICAgICAgXVxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUlucHV0ID0gKCkgPT4ge1xuICAgICAgaWYgKHNraXBOZXh0SW5wdXQuY3VycmVudCkge1xuICAgICAgICBza2lwTmV4dElucHV0LmN1cnJlbnQgPSBmYWxzZVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIGNvbnN0IHRyaWcgPSB1cGRhdGVUcmlnZ2VyKClcbiAgICAgIGNvbnN0IHNsYXNoVHJpZyA9IHVwZGF0ZVNsYXNoVHJpZ2dlcigpXG4gICAgICBsZXQgc3RhdGUgPSBzZXJpYWxpemUoKVxuICAgICAgY29uc3QgaXNFbXB0eSA9IHN0YXRlLnRleHQudHJpbSgpID09PSAnJ1xuICAgICAgaWYgKGlzRW1wdHkpIHtcbiAgICAgICAgbm9ybWFsaXplRW1wdHlFZGl0b3JEb20oKVxuICAgICAgICBzdGF0ZSA9IHsgdGV4dDogJycsIG1lbnRpb25zOiBbXSwgc2xhc2hDb21tYW5kczogW10gfVxuICAgICAgfVxuICAgICAgc3luY0VkaXRvckVtcHR5QXR0cmlidXRlKGlzRW1wdHkpXG4gICAgICBzZXRMb2dpY2FsRW1wdHkoaXNFbXB0eSlcbiAgICAgIG9uSW5wdXQ/Lih7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICB0cmlnZ2VyOiB7IGFjdGl2ZTogdHJpZy5hY3RpdmUsIHF1ZXJ5OiB0cmlnLnF1ZXJ5LCBhdFJ1bkxlbmd0aDogdHJpZy5hdFJ1bkxlbmd0aCB9LFxuICAgICAgICBzbGFzaFRyaWdnZXI6IHsgYWN0aXZlOiBzbGFzaFRyaWcuYWN0aXZlLCBxdWVyeTogc2xhc2hUcmlnLnF1ZXJ5IH0sXG4gICAgICB9KVxuICAgICAgcXVldWVNaWNyb3Rhc2socmVjb21wdXRlUGxhY2Vob2xkZXJUcnVuY2F0aW9uKVxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZVBhc3RlID0gKGU6IENsaXBib2FyZEV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBjb25zdCB0ZXh0ID0gZS5jbGlwYm9hcmREYXRhLmdldERhdGEoJ3RleHQvcGxhaW4nKVxuICAgICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpXG4gICAgICBpZiAoIXNlbGVjdGlvbiB8fCBzZWxlY3Rpb24ucmFuZ2VDb3VudCA9PT0gMCkgcmV0dXJuXG4gICAgICBzZWxlY3Rpb24uZGVsZXRlRnJvbURvY3VtZW50KClcbiAgICAgIHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApLmluc2VydE5vZGUoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGV4dCkpXG4gICAgICBzZWxlY3Rpb24uY29sbGFwc2VUb0VuZCgpXG4gICAgICBoYW5kbGVJbnB1dCgpXG4gICAgfVxuXG4gICAgY29uc3QgdHJpbW1lZFBsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXI/LnRyaW0oKSA/PyAnJ1xuICAgIGNvbnN0IHBsYWNlaG9sZGVyVG9vbHRpcFRpdGxlID0gbG9naWNhbEVtcHR5ICYmIHBsYWNlaG9sZGVyVHJ1bmNhdGVkICYmIHRyaW1tZWRQbGFjZWhvbGRlciA/IHRyaW1tZWRQbGFjZWhvbGRlciA6ICcnXG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPENvbnRleHRNZW50aW9uQ2hpcEdsb2JhbFN0eWxlcyAvPlxuICAgICAgICA8VG9vbHRpcCB0aXRsZT17cGxhY2Vob2xkZXJUb29sdGlwVGl0bGV9PlxuICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdibG9jaycsIHdpZHRoOiAnMTAwJScsIG1pbldpZHRoOiAwIH19PlxuICAgICAgICAgICAgPFNDTUVFZGl0YWJsZVxuICAgICAgICAgICAgICByZWY9e2VkaXRvclJlZn1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgIGRhdGEtcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICBkYXRhLWVtcHR5PXtTdHJpbmcobG9naWNhbEVtcHR5KX1cbiAgICAgICAgICAgICAgY29udGVudEVkaXRhYmxlPXshZGlzYWJsZWR9XG4gICAgICAgICAgICAgIGRhdGEtZGlzYWJsZWQ9e1N0cmluZyghIWRpc2FibGVkKX1cbiAgICAgICAgICAgICAgc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nXG4gICAgICAgICAgICAgIHJvbGU9XCJ0ZXh0Ym94XCJcbiAgICAgICAgICAgICAgYXJpYS1tdWx0aWxpbmU9XCJ0cnVlXCJcbiAgICAgICAgICAgICAgb25JbnB1dD17aGFuZGxlSW5wdXR9XG4gICAgICAgICAgICAgIG9uS2V5RG93bj17b25LZXlEb3dufVxuICAgICAgICAgICAgICBvblBhc3RlPXtoYW5kbGVQYXN0ZX1cbiAgICAgICAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgPC8+XG4gICAgKVxuICB9XG4pXG5cbkNvbnRleHRNZW50aW9uRWRpdG9yLmRpc3BsYXlOYW1lID0g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
@@ -1,20 +1,20 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
1
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
2
  /* eslint-disable react/function-component-definition */
4
3
  /* eslint-disable jsx-a11y/click-events-have-key-events */
5
4
  /* eslint-disable jsx-a11y/no-static-element-interactions */
6
5
  import { useEffect, useRef, useMemo } from 'react';
6
+ import { ChevronRight } from '@projectcor/icons/lib/components/ChevronRight';
7
+ import pallete from '@projectcor/theme/lib/base/colors';
7
8
  import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
8
9
  import { useT } from '../../../hooks/useT';
9
10
  import { useResizeListener } from '../../../hooks/useResize';
10
11
  import { EVENTS, useEvent } from '../../../hooks/useEvent';
11
12
  import { useGlobalContext } from '../../../context/global-context';
12
13
  import { useFrequentlyAskedQuestions } from '../../../hooks/useFrequentlyAskedQuestions';
13
- import { FaqsIcon } from '../icons/FaqsIcon';
14
14
  import { LoaderFaqs } from '../LoadingFaqs';
15
15
  import { ErrorSearchFaqs } from '../ErrorSearchFaqs';
16
- import { SCFAQsContainer, SCFAQsTitle, SCFAQsListContainer, SCFAQCategory, SCFAQCategoryTitleText, SCFAQList, SCFAQItem, SCFAQItemIcon, SCFAQItemText } from './FrequentlyAskedQuestions.styles';
17
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
16
+ import { SCFAQsContainer, SCFAQsTitle, SCFAQsListContainer, SCFAQList, SCFAQItem, SCFAQItemText, SCFAQItemIcon } from './FrequentlyAskedQuestions.styles';
17
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
18
  function FaqListItem(_ref) {
19
19
  var faq = _ref.faq,
20
20
  isScrolling = _ref.isScrolling,
@@ -24,17 +24,19 @@ function FaqListItem(_ref) {
24
24
  showTooltip = _useResizeListener.showTooltip;
25
25
  return /*#__PURE__*/_jsxs(SCFAQItem, {
26
26
  onClick: onClick,
27
- children: [/*#__PURE__*/_jsx(SCFAQItemIcon, {
28
- children: /*#__PURE__*/_jsx(FaqsIcon, {
29
- useGradient: true,
30
- height: 18,
31
- width: 18
32
- })
33
- }), /*#__PURE__*/_jsx(SCFAQItemText, {
27
+ children: [/*#__PURE__*/_jsx(SCFAQItemText, {
34
28
  ref: textRef,
35
29
  children: isScrolling ? faq.title : /*#__PURE__*/_jsx(Tooltip, {
36
30
  title: showTooltip ? faq.title : '',
37
- children: faq.title
31
+ children: /*#__PURE__*/_jsx("span", {
32
+ children: faq.title
33
+ })
34
+ })
35
+ }), /*#__PURE__*/_jsx(SCFAQItemIcon, {
36
+ children: /*#__PURE__*/_jsx(ChevronRight, {
37
+ width: "16px",
38
+ height: "16px",
39
+ color: pallete.colors.secondary
38
40
  })
39
41
  })]
40
42
  });
@@ -48,17 +50,21 @@ export var FrequentlyAskedQuestions = function FrequentlyAskedQuestions(_ref2) {
48
50
  agentId = _ref2.agentId,
49
51
  lang = _ref2.lang,
50
52
  _ref2$isScrolling = _ref2.isScrolling,
51
- isScrolling = _ref2$isScrolling === void 0 ? false : _ref2$isScrolling;
53
+ isScrolling = _ref2$isScrolling === void 0 ? false : _ref2$isScrolling,
54
+ faqsProp = _ref2.faqs,
55
+ loadingProp = _ref2.loading,
56
+ errorProp = _ref2.error;
52
57
  var _useT = useT(),
53
58
  t = _useT.t;
54
59
  var event = useEvent();
55
60
  var _useGlobalContext = useGlobalContext(),
56
61
  agent = _useGlobalContext.agent;
57
- var _useFrequentlyAskedQu = useFrequentlyAskedQuestions(agentId, lang),
58
- faqs = _useFrequentlyAskedQu.faqs,
59
- loading = _useFrequentlyAskedQu.loading,
60
- error = _useFrequentlyAskedQu.error,
61
- handleGetFrequentlyAskedQuestions = _useFrequentlyAskedQu.handleGetFrequentlyAskedQuestions;
62
+ var externallyManaged = faqsProp != null;
63
+ var fetched = useFrequentlyAskedQuestions(externallyManaged ? undefined : agentId, lang);
64
+ var faqs = faqsProp !== null && faqsProp !== void 0 ? faqsProp : fetched.faqs;
65
+ var loading = loadingProp !== null && loadingProp !== void 0 ? loadingProp : fetched.loading;
66
+ var error = errorProp !== null && errorProp !== void 0 ? errorProp : fetched.error;
67
+ var handleGetFrequentlyAskedQuestions = fetched.handleGetFrequentlyAskedQuestions;
62
68
  var lastFetchRef = useRef(null);
63
69
  var handleFAQClick = function handleFAQClick(faq) {
64
70
  onStartChat(faq.title, null, faq.id);
@@ -71,42 +77,16 @@ export var FrequentlyAskedQuestions = function FrequentlyAskedQuestions(_ref2) {
71
77
  }
72
78
  });
73
79
  };
74
- var faqsByCategory = useMemo(function () {
75
- var grouped = {};
76
- var sortedFaqs = _toConsumableArray(faqs).sort(function (a, b) {
80
+ var orderedFaqs = useMemo(function () {
81
+ return _toConsumableArray(faqs).sort(function (a, b) {
77
82
  var _a$order, _b$order;
78
83
  var orderA = (_a$order = a.order) !== null && _a$order !== void 0 ? _a$order : Number.MAX_SAFE_INTEGER;
79
84
  var orderB = (_b$order = b.order) !== null && _b$order !== void 0 ? _b$order : Number.MAX_SAFE_INTEGER;
80
85
  return orderA - orderB;
81
86
  });
82
- sortedFaqs.forEach(function (faq) {
83
- var category = faq.category || 'undefined';
84
- if (!grouped[category]) {
85
- grouped[category] = [];
86
- }
87
- grouped[category].push(faq);
88
- });
89
- Object.keys(grouped).forEach(function (cat) {
90
- grouped[cat].sort(function (a, b) {
91
- var _a$order2, _b$order2;
92
- return ((_a$order2 = a.order) !== null && _a$order2 !== void 0 ? _a$order2 : 0) - ((_b$order2 = b.order) !== null && _b$order2 !== void 0 ? _b$order2 : 0);
93
- });
94
- });
95
- return grouped;
96
87
  }, [faqs]);
97
- var orderedFaqCategories = useMemo(function () {
98
- return Object.entries(faqsByCategory).sort(function (_ref3, _ref4) {
99
- var _categoryFaqsA$0$orde, _categoryFaqsA$, _categoryFaqsB$0$orde, _categoryFaqsB$;
100
- var _ref5 = _slicedToArray(_ref3, 2),
101
- categoryFaqsA = _ref5[1];
102
- var _ref6 = _slicedToArray(_ref4, 2),
103
- categoryFaqsB = _ref6[1];
104
- var firstOrderA = (_categoryFaqsA$0$orde = (_categoryFaqsA$ = categoryFaqsA[0]) === null || _categoryFaqsA$ === void 0 ? void 0 : _categoryFaqsA$.order) !== null && _categoryFaqsA$0$orde !== void 0 ? _categoryFaqsA$0$orde : Number.MAX_SAFE_INTEGER;
105
- var firstOrderB = (_categoryFaqsB$0$orde = (_categoryFaqsB$ = categoryFaqsB[0]) === null || _categoryFaqsB$ === void 0 ? void 0 : _categoryFaqsB$.order) !== null && _categoryFaqsB$0$orde !== void 0 ? _categoryFaqsB$0$orde : Number.MAX_SAFE_INTEGER;
106
- return firstOrderA - firstOrderB;
107
- });
108
- }, [faqsByCategory]);
109
88
  useEffect(function () {
89
+ if (externallyManaged) return;
110
90
  if (agentId) {
111
91
  var currentKey = "".concat(agentId, "-").concat(lang);
112
92
  var lastKey = lastFetchRef.current ? "".concat(lastFetchRef.current.agentId, "-").concat(lastFetchRef.current.lang) : null;
@@ -121,7 +101,7 @@ export var FrequentlyAskedQuestions = function FrequentlyAskedQuestions(_ref2) {
121
101
  });
122
102
  }
123
103
  }
124
- }, [agentId, handleGetFrequentlyAskedQuestions, lang]);
104
+ }, [externallyManaged, agentId, handleGetFrequentlyAskedQuestions, lang]);
125
105
  if (!loading && !error && faqs.length === 0) {
126
106
  return null;
127
107
  }
@@ -135,29 +115,18 @@ export var FrequentlyAskedQuestions = function FrequentlyAskedQuestions(_ref2) {
135
115
  $showProjectSummary: showProjectSummary,
136
116
  children: [loading && !error && /*#__PURE__*/_jsx(LoaderFaqs, {}), error && /*#__PURE__*/_jsx(ErrorSearchFaqs, {
137
117
  message: t('homeMenu.faq.error')
138
- }), !loading && !error && orderedFaqCategories.length > 0 && /*#__PURE__*/_jsx(_Fragment, {
139
- children: orderedFaqCategories.map(function (_ref7) {
140
- var _ref8 = _slicedToArray(_ref7, 2),
141
- category = _ref8[0],
142
- categoryFaqs = _ref8[1];
143
- return /*#__PURE__*/_jsxs(SCFAQCategory, {
144
- children: [category !== 'undefined' && /*#__PURE__*/_jsx(SCFAQCategoryTitleText, {
145
- children: t("homeMenu.faq.categories.".concat(category.toLowerCase()))
146
- }), /*#__PURE__*/_jsx(SCFAQList, {
147
- children: categoryFaqs.map(function (faq) {
148
- return /*#__PURE__*/_jsx(FaqListItem, {
149
- faq: faq,
150
- isScrolling: isScrolling,
151
- onClick: function onClick() {
152
- return handleFAQClick(faq);
153
- }
154
- }, faq.id);
155
- })
156
- })]
157
- }, category);
118
+ }), !loading && !error && orderedFaqs.length > 0 && /*#__PURE__*/_jsx(SCFAQList, {
119
+ children: orderedFaqs.map(function (faq) {
120
+ return /*#__PURE__*/_jsx(FaqListItem, {
121
+ faq: faq,
122
+ isScrolling: isScrolling,
123
+ onClick: function onClick() {
124
+ return handleFAQClick(faq);
125
+ }
126
+ }, faq.id);
158
127
  })
159
128
  })]
160
129
  })]
161
130
  });
162
131
  };
163
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VNZW1vIiwiVG9vbHRpcCIsInVzZVQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkVWRU5UUyIsInVzZUV2ZW50IiwidXNlR2xvYmFsQ29udGV4dCIsInVzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyIsIkZhcXNJY29uIiwiTG9hZGVyRmFxcyIsIkVycm9yU2VhcmNoRmFxcyIsIlNDRkFRc0NvbnRhaW5lciIsIlNDRkFRc1RpdGxlIiwiU0NGQVFzTGlzdENvbnRhaW5lciIsIlNDRkFRQ2F0ZWdvcnkiLCJTQ0ZBUUNhdGVnb3J5VGl0bGVUZXh0IiwiU0NGQVFMaXN0IiwiU0NGQVFJdGVtIiwiU0NGQVFJdGVtSWNvbiIsIlNDRkFRSXRlbVRleHQiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJGYXFMaXN0SXRlbSIsIl9yZWYiLCJmYXEiLCJpc1Njcm9sbGluZyIsIm9uQ2xpY2siLCJ0ZXh0UmVmIiwiX3VzZVJlc2l6ZUxpc3RlbmVyIiwidGl0bGUiLCJzaG93VG9vbHRpcCIsImNoaWxkcmVuIiwidXNlR3JhZGllbnQiLCJoZWlnaHQiLCJ3aWR0aCIsInJlZiIsIkZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyIsIl9yZWYyIiwib25TdGFydENoYXQiLCJfcmVmMiRzaG93RkFRcyIsInNob3dGQVFzIiwiX3JlZjIkc2hvd1Byb2plY3RTdW1tIiwic2hvd1Byb2plY3RTdW1tYXJ5IiwiYWdlbnRJZCIsImxhbmciLCJfcmVmMiRpc1Njcm9sbGluZyIsIl91c2VUIiwidCIsImV2ZW50IiwiX3VzZUdsb2JhbENvbnRleHQiLCJhZ2VudCIsIl91c2VGcmVxdWVudGx5QXNrZWRRdSIsImZhcXMiLCJsb2FkaW5nIiwiZXJyb3IiLCJoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMiLCJsYXN0RmV0Y2hSZWYiLCJoYW5kbGVGQVFDbGljayIsImlkIiwiYWlDaGF0U2VsZWN0RkFRIiwib3B0aW9uIiwiaWRfZmFxIiwiY2F0ZWdvcnlfZmFxIiwiY2F0ZWdvcnkiLCJvcmlnaW5fZmFxIiwiYWdlbnRfZW50aXR5IiwiZW50aXR5IiwiZmFxc0J5Q2F0ZWdvcnkiLCJncm91cGVkIiwic29ydGVkRmFxcyIsIl90b0NvbnN1bWFibGVBcnJheSIsInNvcnQiLCJhIiwiYiIsIl9hJG9yZGVyIiwiX2Ikb3JkZXIiLCJvcmRlckEiLCJvcmRlciIsIk51bWJlciIsIk1BWF9TQUZFX0lOVEVHRVIiLCJvcmRlckIiLCJmb3JFYWNoIiwicHVzaCIsIk9iamVjdCIsImtleXMiLCJjYXQiLCJfYSRvcmRlcjIiLCJfYiRvcmRlcjIiLCJvcmRlcmVkRmFxQ2F0ZWdvcmllcyIsImVudHJpZXMiLCJfcmVmMyIsIl9yZWY0IiwiX2NhdGVnb3J5RmFxc0EkMCRvcmRlIiwiX2NhdGVnb3J5RmFxc0EkIiwiX2NhdGVnb3J5RmFxc0IkMCRvcmRlIiwiX2NhdGVnb3J5RmFxc0IkIiwiX3JlZjUiLCJfc2xpY2VkVG9BcnJheSIsImNhdGVnb3J5RmFxc0EiLCJfcmVmNiIsImNhdGVnb3J5RmFxc0IiLCJmaXJzdE9yZGVyQSIsImZpcnN0T3JkZXJCIiwiY3VycmVudEtleSIsImNvbmNhdCIsImxhc3RLZXkiLCJjdXJyZW50IiwibGVuZ3RoIiwiJHNob3dGQVFzIiwiJHNob3dQcm9qZWN0U3VtbWFyeSIsIm1lc3NhZ2UiLCJtYXAiLCJfcmVmNyIsIl9yZWY4IiwiY2F0ZWdvcnlGYXFzIiwidG9Mb3dlckNhc2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9GcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMvRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9mdW5jdGlvbi1jb21wb25lbnQtZGVmaW5pdGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvbm8tc3RhdGljLWVsZW1lbnQtaW50ZXJhY3Rpb25zICovXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyB1c2VSZXNpemVMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZSdcbmltcG9ydCB0eXBlIHsgRnJlcXVlbnRseUFza2VkUXVlc3Rpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9GcmVxdWVudGx5QXNrZWRRdWVzdGlvbidcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zJ1xuaW1wb3J0IHsgQXR0YWNobWVudEZpbGUgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgRmFxc0ljb24gfSBmcm9tICcuLi9pY29ucy9GYXFzSWNvbidcbmltcG9ydCB7IExvYWRlckZhcXMgfSBmcm9tICcuLi9Mb2FkaW5nRmFxcydcbmltcG9ydCB7IEVycm9yU2VhcmNoRmFxcyB9IGZyb20gJy4uL0Vycm9yU2VhcmNoRmFxcydcbmltcG9ydCB7XG4gIFNDRkFRc0NvbnRhaW5lcixcbiAgU0NGQVFzVGl0bGUsXG4gIFNDRkFRc0xpc3RDb250YWluZXIsXG4gIFNDRkFRQ2F0ZWdvcnksXG4gIFNDRkFRQ2F0ZWdvcnlUaXRsZVRleHQsXG4gIFNDRkFRTGlzdCxcbiAgU0NGQVFJdGVtLFxuICBTQ0ZBUUl0ZW1JY29uLFxuICBTQ0ZBUUl0ZW1UZXh0LFxufSBmcm9tICcuL0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucy5zdHlsZXMnXG5cbmZ1bmN0aW9uIEZhcUxpc3RJdGVtKHtcbiAgZmFxLFxuICBpc1Njcm9sbGluZyxcbiAgb25DbGljayxcbn06IHtcbiAgZmFxOiBGcmVxdWVudGx5QXNrZWRRdWVzdGlvblxuICBpc1Njcm9sbGluZzogYm9vbGVhblxuICBvbkNsaWNrOiAoKSA9PiB2b2lkXG59KSB7XG4gIGNvbnN0IHRleHRSZWYgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50PihudWxsKVxuICBjb25zdCB7IHNob3dUb29sdGlwIH0gPSB1c2VSZXNpemVMaXN0ZW5lcih0ZXh0UmVmLCBbZmFxLnRpdGxlXSlcblxuICByZXR1cm4gKFxuICAgIDxTQ0ZBUUl0ZW0gb25DbGljaz17b25DbGlja30+XG4gICAgICA8U0NGQVFJdGVtSWNvbj5cbiAgICAgICAgPEZhcXNJY29uIHVzZUdyYWRpZW50IGhlaWdodD17MTh9IHdpZHRoPXsxOH0gLz5cbiAgICAgIDwvU0NGQVFJdGVtSWNvbj5cbiAgICAgIDxTQ0ZBUUl0ZW1UZXh0IHJlZj17dGV4dFJlZn0+XG4gICAgICAgIHtpc1Njcm9sbGluZyA/IGZhcS50aXRsZSA6IDxUb29sdGlwIHRpdGxlPXtzaG93VG9vbHRpcCA/IGZhcS50aXRsZSA6ICcnfT57ZmFxLnRpdGxlfTwvVG9vbHRpcD59XG4gICAgICA8L1NDRkFRSXRlbVRleHQ+XG4gICAgPC9TQ0ZBUUl0ZW0+XG4gIClcbn1cblxudHlwZSBGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNQcm9wcyA9IHtcbiAgb25TdGFydENoYXQ6IChtZXNzYWdlOiBzdHJpbmcsIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSB8IG51bGwsIGZhcUlkPzogc3RyaW5nKSA9PiB2b2lkXG4gIHNob3dGQVFzPzogYm9vbGVhblxuICBzaG93UHJvamVjdFN1bW1hcnk/OiBib29sZWFuXG4gIGFnZW50SWQ/OiBzdHJpbmdcbiAgbGFuZzogc3RyaW5nXG4gIGlzU2Nyb2xsaW5nPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zID0gKHtcbiAgb25TdGFydENoYXQsXG4gIHNob3dGQVFzID0gZmFsc2UsXG4gIHNob3dQcm9qZWN0U3VtbWFyeSA9IGZhbHNlLFxuICBhZ2VudElkLFxuICBsYW5nLFxuICBpc1Njcm9sbGluZyA9IGZhbHNlLFxufTogRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUKClcbiAgY29uc3QgZXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgYWdlbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuXG4gIGNvbnN0IHsgZmFxcywgbG9hZGluZywgZXJyb3IsIGhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyB9ID0gdXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zKGFnZW50SWQsIGxhbmcpXG4gIGNvbnN0IGxhc3RGZXRjaFJlZiA9IHVzZVJlZjx7IGFnZW50SWQ6IHN0cmluZzsgbGFuZzogc3RyaW5nIH0gfCBudWxsPihudWxsKVxuXG4gIGNvbnN0IGhhbmRsZUZBUUNsaWNrID0gKGZhcTogRnJlcXVlbnRseUFza2VkUXVlc3Rpb24pID0+IHtcbiAgICBvblN0YXJ0Q2hhdChmYXEudGl0bGUsIG51bGwsIGZhcS5pZClcbiAgICBldmVudChFVkVOVFMuYWlDaGF0U2VsZWN0RkFRLCB7XG4gICAgICBvcHRpb246IHtcbiAgICAgICAgaWRfZmFxOiBmYXEudGl0bGUsXG4gICAgICAgIGNhdGVnb3J5X2ZhcTogZmFxLmNhdGVnb3J5LFxuICAgICAgICBvcmlnaW5fZmFxOiAnaG9tZV9jaGF0JyxcbiAgICAgICAgYWdlbnRfZW50aXR5OiBhZ2VudD8uZW50aXR5LFxuICAgICAgfSxcbiAgICB9KVxuICB9XG5cbiAgY29uc3QgZmFxc0J5Q2F0ZWdvcnkgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBncm91cGVkOiBSZWNvcmQ8c3RyaW5nLCBGcmVxdWVudGx5QXNrZWRRdWVzdGlvbltdPiA9IHt9XG5cbiAgICBjb25zdCBzb3J0ZWRGYXFzID0gWy4uLmZhcXNdLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGNvbnN0IG9yZGVyQSA9IGEub3JkZXIgPz8gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJcbiAgICAgIGNvbnN0IG9yZGVyQiA9IGIub3JkZXIgPz8gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJcblxuICAgICAgcmV0dXJuIG9yZGVyQSAtIG9yZGVyQlxuICAgIH0pXG5cbiAgICBzb3J0ZWRGYXFzLmZvckVhY2goZmFxID0+IHtcbiAgICAgIGNvbnN0IGNhdGVnb3J5ID0gZmFxLmNhdGVnb3J5IHx8ICd1bmRlZmluZWQnXG4gICAgICBpZiAoIWdyb3VwZWRbY2F0ZWdvcnldKSB7XG4gICAgICAgIGdyb3VwZWRbY2F0ZWdvcnldID0gW11cbiAgICAgIH1cbiAgICAgIGdyb3VwZWRbY2F0ZWdvcnldLnB1c2goZmFxKVxuICAgIH0pXG5cbiAgICBPYmplY3Qua2V5cyhncm91cGVkKS5mb3JFYWNoKGNhdCA9PiB7XG4gICAgICBncm91cGVkW2NhdF0uc29ydCgoYSwgYikgPT4gKGEub3JkZXIgPz8gMCkgLSAoYi5vcmRlciA/PyAwKSlcbiAgICB9KVxuXG4gICAgcmV0dXJuIGdyb3VwZWRcbiAgfSwgW2ZhcXNdKVxuXG4gIGNvbnN0IG9yZGVyZWRGYXFDYXRlZ29yaWVzID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgT2JqZWN0LmVudHJpZXMoZmFxc0J5Q2F0ZWdvcnkpLnNvcnQoKFssIGNhdGVnb3J5RmFxc0FdLCBbLCBjYXRlZ29yeUZhcXNCXSkgPT4ge1xuICAgICAgICBjb25zdCBmaXJzdE9yZGVyQSA9IGNhdGVnb3J5RmFxc0FbMF0/Lm9yZGVyID8/IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG4gICAgICAgIGNvbnN0IGZpcnN0T3JkZXJCID0gY2F0ZWdvcnlGYXFzQlswXT8ub3JkZXIgPz8gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJcblxuICAgICAgICByZXR1cm4gZmlyc3RPcmRlckEgLSBmaXJzdE9yZGVyQlxuICAgICAgfSksXG4gICAgW2ZhcXNCeUNhdGVnb3J5XVxuICApXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoYWdlbnRJZCkge1xuICAgICAgY29uc3QgY3VycmVudEtleSA9IGAke2FnZW50SWR9LSR7bGFuZ31gXG4gICAgICBjb25zdCBsYXN0S2V5ID0gbGFzdEZldGNoUmVmLmN1cnJlbnQgPyBgJHtsYXN0RmV0Y2hSZWYuY3VycmVudC5hZ2VudElkfS0ke2xhc3RGZXRjaFJlZi5jdXJyZW50Lmxhbmd9YCA6IG51bGxcblxuICAgICAgaWYgKGN1cnJlbnRLZXkgIT09IGxhc3RLZXkpIHtcbiAgICAgICAgbGFzdEZldGNoUmVmLmN1cnJlbnQgPSB7IGFnZW50SWQsIGxhbmcgfVxuICAgICAgICBoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMoeyBhZ2VudElkLCBsYW5nIH0pXG4gICAgICB9XG4gICAgfVxuICB9LCBbYWdlbnRJZCwgaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zLCBsYW5nXSlcblxuICBpZiAoIWxvYWRpbmcgJiYgIWVycm9yICYmIGZhcXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDRkFRc0NvbnRhaW5lcj5cbiAgICAgIHshbG9hZGluZyAmJiAhZXJyb3IgJiYgZmFxcy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgPFNDRkFRc1RpdGxlPlxuICAgICAgICAgIDxzcGFuPnt0KCdob21lTWVudS5mYXEudGl0bGUnKX08L3NwYW4+XG4gICAgICAgIDwvU0NGQVFzVGl0bGU+XG4gICAgICApfVxuICAgICAgPFNDRkFRc0xpc3RDb250YWluZXIgJHNob3dGQVFzPXtzaG93RkFRc30gJHNob3dQcm9qZWN0U3VtbWFyeT17c2hvd1Byb2plY3RTdW1tYXJ5fT5cbiAgICAgICAge2xvYWRpbmcgJiYgIWVycm9yICYmIDxMb2FkZXJGYXFzIC8+fVxuICAgICAgICB7ZXJyb3IgJiYgPEVycm9yU2VhcmNoRmFxcyBtZXNzYWdlPXt0KCdob21lTWVudS5mYXEuZXJyb3InKX0gLz59XG4gICAgICAgIHshbG9hZGluZyAmJiAhZXJyb3IgJiYgb3JkZXJlZEZhcUNhdGVnb3JpZXMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIHtvcmRlcmVkRmFxQ2F0ZWdvcmllcy5tYXAoKFtjYXRlZ29yeSwgY2F0ZWdvcnlGYXFzXSkgPT4gKFxuICAgICAgICAgICAgICA8U0NGQVFDYXRlZ29yeSBrZXk9e2NhdGVnb3J5fT5cbiAgICAgICAgICAgICAgICB7Y2F0ZWdvcnkgIT09ICd1bmRlZmluZWQnICYmIChcbiAgICAgICAgICAgICAgICAgIDxTQ0ZBUUNhdGVnb3J5VGl0bGVUZXh0PlxuICAgICAgICAgICAgICAgICAgICB7dChgaG9tZU1lbnUuZmFxLmNhdGVnb3JpZXMuJHtjYXRlZ29yeS50b0xvd2VyQ2FzZSgpfWApfVxuICAgICAgICAgICAgICAgICAgPC9TQ0ZBUUNhdGVnb3J5VGl0bGVUZXh0PlxuICAgICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgICA8U0NGQVFMaXN0PlxuICAgICAgICAgICAgICAgICAge2NhdGVnb3J5RmFxcy5tYXAoZmFxID0+IChcbiAgICAgICAgICAgICAgICAgICAgPEZhcUxpc3RJdGVtIGtleT17ZmFxLmlkfSBmYXE9e2ZhcX0gaXNTY3JvbGxpbmc9e2lzU2Nyb2xsaW5nfSBvbkNsaWNrPXsoKSA9PiBoYW5kbGVGQVFDbGljayhmYXEpfSAvPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9TQ0ZBUUxpc3Q+XG4gICAgICAgICAgICAgIDwvU0NGQVFDYXRlZ29yeT5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgPC9TQ0ZBUXNMaXN0Q29udGFpbmVyPlxuICAgIDwvU0NGQVFzQ29udGFpbmVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLE9BQU8sUUFBUSxPQUFPO0FBQ2xELFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsSUFBSSxRQUFRLHFCQUFxQjtBQUMxQyxTQUFTQyxpQkFBaUIsUUFBUSwwQkFBMEI7QUFFNUQsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEseUJBQXlCO0FBQzFELFNBQVNDLGdCQUFnQixRQUFRLGlDQUFpQztBQUNsRSxTQUFTQywyQkFBMkIsUUFBUSw0Q0FBNEM7QUFFeEYsU0FBU0MsUUFBUSxRQUFRLG1CQUFtQjtBQUM1QyxTQUFTQyxVQUFVLFFBQVEsZ0JBQWdCO0FBQzNDLFNBQVNDLGVBQWUsUUFBUSxvQkFBb0I7QUFDcEQsU0FDRUMsZUFBZSxFQUNmQyxXQUFXLEVBQ1hDLG1CQUFtQixFQUNuQkMsYUFBYSxFQUNiQyxzQkFBc0IsRUFDdEJDLFNBQVMsRUFDVEMsU0FBUyxFQUNUQyxhQUFhLEVBQ2JDLGFBQWEsUUFDUixtQ0FBbUM7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBLEVBQUFDLFFBQUEsSUFBQUMsU0FBQTtBQUUxQyxTQUFTQyxXQUFXQSxDQUFBQyxJQUFBLEVBUWpCO0VBQUEsSUFQREMsR0FBRyxHQUFBRCxJQUFBLENBQUhDLEdBQUc7SUFDSEMsV0FBVyxHQUFBRixJQUFBLENBQVhFLFdBQVc7SUFDWEMsT0FBTyxHQUFBSCxJQUFBLENBQVBHLE9BQU87RUFNUCxJQUFNQyxPQUFPLEdBQUdoQyxNQUFNLENBQWtCLElBQUksQ0FBQztFQUM3QyxJQUFBaUMsa0JBQUEsR0FBd0I3QixpQkFBaUIsQ0FBQzRCLE9B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
132
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VNZW1vIiwiQ2hldnJvblJpZ2h0IiwicGFsbGV0ZSIsIlRvb2x0aXAiLCJ1c2VUIiwidXNlUmVzaXplTGlzdGVuZXIiLCJFVkVOVFMiLCJ1c2VFdmVudCIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMiLCJMb2FkZXJGYXFzIiwiRXJyb3JTZWFyY2hGYXFzIiwiU0NGQVFzQ29udGFpbmVyIiwiU0NGQVFzVGl0bGUiLCJTQ0ZBUXNMaXN0Q29udGFpbmVyIiwiU0NGQVFMaXN0IiwiU0NGQVFJdGVtIiwiU0NGQVFJdGVtVGV4dCIsIlNDRkFRSXRlbUljb24iLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRmFxTGlzdEl0ZW0iLCJfcmVmIiwiZmFxIiwiaXNTY3JvbGxpbmciLCJvbkNsaWNrIiwidGV4dFJlZiIsIl91c2VSZXNpemVMaXN0ZW5lciIsInRpdGxlIiwic2hvd1Rvb2x0aXAiLCJjaGlsZHJlbiIsInJlZiIsIndpZHRoIiwiaGVpZ2h0IiwiY29sb3IiLCJjb2xvcnMiLCJzZWNvbmRhcnkiLCJGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMiLCJfcmVmMiIsIm9uU3RhcnRDaGF0IiwiX3JlZjIkc2hvd0ZBUXMiLCJzaG93RkFRcyIsIl9yZWYyJHNob3dQcm9qZWN0U3VtbSIsInNob3dQcm9qZWN0U3VtbWFyeSIsImFnZW50SWQiLCJsYW5nIiwiX3JlZjIkaXNTY3JvbGxpbmciLCJmYXFzUHJvcCIsImZhcXMiLCJsb2FkaW5nUHJvcCIsImxvYWRpbmciLCJlcnJvclByb3AiLCJlcnJvciIsIl91c2VUIiwidCIsImV2ZW50IiwiX3VzZUdsb2JhbENvbnRleHQiLCJhZ2VudCIsImV4dGVybmFsbHlNYW5hZ2VkIiwiZmV0Y2hlZCIsInVuZGVmaW5lZCIsImhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyIsImxhc3RGZXRjaFJlZiIsImhhbmRsZUZBUUNsaWNrIiwiaWQiLCJhaUNoYXRTZWxlY3RGQVEiLCJvcHRpb24iLCJpZF9mYXEiLCJjYXRlZ29yeV9mYXEiLCJjYXRlZ29yeSIsIm9yaWdpbl9mYXEiLCJhZ2VudF9lbnRpdHkiLCJlbnRpdHkiLCJvcmRlcmVkRmFxcyIsIl90b0NvbnN1bWFibGVBcnJheSIsInNvcnQiLCJhIiwiYiIsIl9hJG9yZGVyIiwiX2Ikb3JkZXIiLCJvcmRlckEiLCJvcmRlciIsIk51bWJlciIsIk1BWF9TQUZFX0lOVEVHRVIiLCJvcmRlckIiLCJjdXJyZW50S2V5IiwiY29uY2F0IiwibGFzdEtleSIsImN1cnJlbnQiLCJsZW5ndGgiLCIkc2hvd0ZBUXMiLCIkc2hvd1Byb2plY3RTdW1tYXJ5IiwibWVzc2FnZSIsIm1hcCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucy9GcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2Z1bmN0aW9uLWNvbXBvbmVudC1kZWZpbml0aW9uICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9uby1zdGF0aWMtZWxlbWVudC1pbnRlcmFjdGlvbnMgKi9cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDaGV2cm9uUmlnaHQgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGV2cm9uUmlnaHQnXG5pbXBvcnQgcGFsbGV0ZSBmcm9tICdAcHJvamVjdGNvci90aGVtZS9saWIvYmFzZS9jb2xvcnMnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVCdcbmltcG9ydCB7IHVzZVJlc2l6ZUxpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlUmVzaXplJ1xuaW1wb3J0IHR5cGUgeyBGcmVxdWVudGx5QXNrZWRRdWVzdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB1c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMnXG5pbXBvcnQgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBMb2FkZXJGYXFzIH0gZnJvbSAnLi4vTG9hZGluZ0ZhcXMnXG5pbXBvcnQgeyBFcnJvclNlYXJjaEZhcXMgfSBmcm9tICcuLi9FcnJvclNlYXJjaEZhcXMnXG5pbXBvcnQge1xuICBTQ0ZBUXNDb250YWluZXIsXG4gIFNDRkFRc1RpdGxlLFxuICBTQ0ZBUXNMaXN0Q29udGFpbmVyLFxuICBTQ0ZBUUxpc3QsXG4gIFNDRkFRSXRlbSxcbiAgU0NGQVFJdGVtVGV4dCxcbiAgU0NGQVFJdGVtSWNvbixcbn0gZnJvbSAnLi9GcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMuc3R5bGVzJ1xuXG5mdW5jdGlvbiBGYXFMaXN0SXRlbSh7XG4gIGZhcSxcbiAgaXNTY3JvbGxpbmcsXG4gIG9uQ2xpY2ssXG59OiB7XG4gIGZhcTogRnJlcXVlbnRseUFza2VkUXVlc3Rpb25cbiAgaXNTY3JvbGxpbmc6IGJvb2xlYW5cbiAgb25DbGljazogKCkgPT4gdm9pZFxufSkge1xuICBjb25zdCB0ZXh0UmVmID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudD4obnVsbClcbiAgY29uc3QgeyBzaG93VG9vbHRpcCB9ID0gdXNlUmVzaXplTGlzdGVuZXIodGV4dFJlZiwgW2ZhcS50aXRsZV0pXG5cbiAgcmV0dXJuIChcbiAgICA8U0NGQVFJdGVtIG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgICAgPFNDRkFRSXRlbVRleHQgcmVmPXt0ZXh0UmVmfT5cbiAgICAgICAge2lzU2Nyb2xsaW5nID8gKFxuICAgICAgICAgIGZhcS50aXRsZVxuICAgICAgICApIDogKFxuICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXtzaG93VG9vbHRpcCA/IGZhcS50aXRsZSA6ICcnfT5cbiAgICAgICAgICAgIDxzcGFuPntmYXEudGl0bGV9PC9zcGFuPlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgKX1cbiAgICAgIDwvU0NGQVFJdGVtVGV4dD5cbiAgICAgIDxTQ0ZBUUl0ZW1JY29uPlxuICAgICAgICA8Q2hldnJvblJpZ2h0IHdpZHRoPVwiMTZweFwiIGhlaWdodD1cIjE2cHhcIiBjb2xvcj17cGFsbGV0ZS5jb2xvcnMuc2Vjb25kYXJ5fSAvPlxuICAgICAgPC9TQ0ZBUUl0ZW1JY29uPlxuICAgIDwvU0NGQVFJdGVtPlxuICApXG59XG5cbnR5cGUgRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zUHJvcHMgPSB7XG4gIG9uU3RhcnRDaGF0OiAobWVzc2FnZTogc3RyaW5nLCBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10gfCBudWxsLCBmYXFJZD86IHN0cmluZykgPT4gdm9pZFxuICBzaG93RkFRcz86IGJvb2xlYW5cbiAgc2hvd1Byb2plY3RTdW1tYXJ5PzogYm9vbGVhblxuICBhZ2VudElkPzogc3RyaW5nXG4gIGxhbmc6IHN0cmluZ1xuICBpc1Njcm9sbGluZz86IGJvb2xlYW5cbiAgZmFxcz86IEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uW11cbiAgbG9hZGluZz86IGJvb2xlYW5cbiAgZXJyb3I/OiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMgPSAoe1xuICBvblN0YXJ0Q2hhdCxcbiAgc2hvd0ZBUXMgPSBmYWxzZSxcbiAgc2hvd1Byb2plY3RTdW1tYXJ5ID0gZmFsc2UsXG4gIGFnZW50SWQsXG4gIGxhbmcsXG4gIGlzU2Nyb2xsaW5nID0gZmFsc2UsXG4gIGZhcXM6IGZhcXNQcm9wLFxuICBsb2FkaW5nOiBsb2FkaW5nUHJvcCxcbiAgZXJyb3I6IGVycm9yUHJvcCxcbn06IEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc1Byb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IGV2ZW50ID0gdXNlRXZlbnQoKVxuICBjb25zdCB7IGFnZW50IH0gPSB1c2VHbG9iYWxDb250ZXh0KClcblxuICBjb25zdCBleHRlcm5hbGx5TWFuYWdlZCA9IGZhcXNQcm9wICE9IG51bGxcbiAgY29uc3QgZmV0Y2hlZCA9IHVzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyhleHRlcm5hbGx5TWFuYWdlZCA/IHVuZGVmaW5lZCA6IGFnZW50SWQsIGxhbmcpXG4gIGNvbnN0IGZhcXMgPSBmYXFzUHJvcCA/PyBmZXRjaGVkLmZhcXNcbiAgY29uc3QgbG9hZGluZyA9IGxvYWRpbmdQcm9wID8/IGZldGNoZWQubG9hZGluZ1xuICBjb25zdCBlcnJvciA9IGVycm9yUHJvcCA/PyBmZXRjaGVkLmVycm9yXG4gIGNvbnN0IHsgaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIH0gPSBmZXRjaGVkXG4gIGNvbnN0IGxhc3RGZXRjaFJlZiA9IHVzZVJlZjx7IGFnZW50SWQ6IHN0cmluZzsgbGFuZzogc3RyaW5nIH0gfCBudWxsPihudWxsKVxuXG4gIGNvbnN0IGhhbmRsZUZBUUNsaWNrID0gKGZhcTogRnJlcXVlbnRseUFza2VkUXVlc3Rpb24pID0+IHtcbiAgICBvblN0YXJ0Q2hhdChmYXEudGl0bGUsIG51bGwsIGZhcS5pZClcbiAgICBldmVudChFVkVOVFMuYWlDaGF0U2VsZWN0RkFRLCB7XG4gICAgICBvcHRpb246IHtcbiAgICAgICAgaWRfZmFxOiBmYXEudGl0bGUsXG4gICAgICAgIGNhdGVnb3J5X2ZhcTogZmFxLmNhdGVnb3J5LFxuICAgICAgICBvcmlnaW5fZmFxOiAnaG9tZV9jaGF0JyxcbiAgICAgICAgYWdlbnRfZW50aXR5OiBhZ2VudD8uZW50aXR5LFxuICAgICAgfSxcbiAgICB9KVxuICB9XG5cbiAgY29uc3Qgb3JkZXJlZEZhcXMgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBbLi4uZmFxc10uc29ydCgoYSwgYikgPT4ge1xuICAgICAgICBjb25zdCBvcmRlckEgPSBhLm9yZGVyID8/IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG4gICAgICAgIGNvbnN0IG9yZGVyQiA9IGIub3JkZXIgPz8gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJcbiAgICAgICAgcmV0dXJuIG9yZGVyQSAtIG9yZGVyQlxuICAgICAgfSksXG4gICAgW2ZhcXNdXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChleHRlcm5hbGx5TWFuYWdlZCkgcmV0dXJuXG4gICAgaWYgKGFnZW50SWQpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRLZXkgPSBgJHthZ2VudElkfS0ke2xhbmd9YFxuICAgICAgY29uc3QgbGFzdEtleSA9IGxhc3RGZXRjaFJlZi5jdXJyZW50ID8gYCR7bGFzdEZldGNoUmVmLmN1cnJlbnQuYWdlbnRJZH0tJHtsYXN0RmV0Y2hSZWYuY3VycmVudC5sYW5nfWAgOiBudWxsXG5cbiAgICAgIGlmIChjdXJyZW50S2V5ICE9PSBsYXN0S2V5KSB7XG4gICAgICAgIGxhc3RGZXRjaFJlZi5jdXJyZW50ID0geyBhZ2VudElkLCBsYW5nIH1cbiAgICAgICAgaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zKHsgYWdlbnRJZCwgbGFuZyB9KVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2V4dGVybmFsbHlNYW5hZ2VkLCBhZ2VudElkLCBoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMsIGxhbmddKVxuXG4gIGlmICghbG9hZGluZyAmJiAhZXJyb3IgJiYgZmFxcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NGQVFzQ29udGFpbmVyPlxuICAgICAgeyFsb2FkaW5nICYmICFlcnJvciAmJiBmYXFzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICA8U0NGQVFzVGl0bGU+XG4gICAgICAgICAgPHNwYW4+e3QoJ2hvbWVNZW51LmZhcS50aXRsZScpfTwvc3Bhbj5cbiAgICAgICAgPC9TQ0ZBUXNUaXRsZT5cbiAgICAgICl9XG4gICAgICA8U0NGQVFzTGlzdENvbnRhaW5lciAkc2hvd0ZBUXM9e3Nob3dGQVFzfSAkc2hvd1Byb2plY3RTdW1tYXJ5PXtzaG93UHJvamVjdFN1bW1hcnl9PlxuICAgICAgICB7bG9hZGluZyAmJiAhZXJyb3IgJiYgPExvYWRlckZhcXMgLz59XG4gICAgICAgIHtlcnJvciAmJiA8RXJyb3JTZWFyY2hGYXFzIG1lc3NhZ2U9e3QoJ2hvbWVNZW51LmZhcS5lcnJvcicpfSAvPn1cbiAgICAgICAgeyFsb2FkaW5nICYmICFlcnJvciAmJiBvcmRlcmVkRmFxcy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICA8U0NGQVFMaXN0PlxuICAgICAgICAgICAge29yZGVyZWRGYXFzLm1hcChmYXEgPT4gKFxuICAgICAgICAgICAgICA8RmFxTGlzdEl0ZW0ga2V5PXtmYXEuaWR9IGZhcT17ZmFxfSBpc1Njcm9sbGluZz17aXNTY3JvbGxpbmd9IG9uQ2xpY2s9eygpID0+IGhhbmRsZUZBUUNsaWNrKGZhcSl9IC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L1NDRkFRTGlzdD5cbiAgICAgICAgKX1cbiAgICAgIDwvU0NGQVFzTGlzdENvbnRhaW5lcj5cbiAgICA8L1NDRkFRc0NvbnRhaW5lcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdz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SSxFQUFKQTtRQUFLLENBQUM7UUFDeENnQixpQ0FBaUMsQ0FBQztVQUFFakIsT0FBTyxFQUFQQSxPQUFPO1VBQUVDLElBQUksRUFBSkE7UUFBSyxDQUFDLENBQUM7TUFDdEQ7SUFDRjtFQUNGLENBQUMsRUFBRSxDQUFDYSxpQkFBaUIsRUFBRWQsT0FBTyxFQUFFaUIsaUNBQWlDLEVBQUVoQixJQUFJLENBQUMsQ0FBQztFQUV6RSxJQUFJLENBQUNLLE9BQU8sSUFBSSxDQUFDRSxLQUFLLElBQUlKLElBQUksQ0FBQ3lDLE1BQU0sS0FBSyxDQUFDLEVBQUU7SUFDM0MsT0FBTyxJQUFJO0VBQ2I7RUFFQSxvQkFDRXJFLEtBQUEsQ0FBQ1YsZUFBZTtJQUFBb0IsUUFBQSxHQUNiLENBQUNvQixPQUFPLElBQUksQ0FBQ0UsS0FBSyxJQUFJSixJQUFJLENBQUN5QyxNQUFNLEdBQUcsQ0FBQyxpQkFDcEN2RSxJQUFBLENBQUNQLFdBQVc7TUFBQW1CLFFBQUEsZUFDVlosSUFBQTtRQUFBWSxRQUFBLEVBQU93QixDQUFDLENBQUMsb0JBQW9CO01BQUMsQ0FBTztJQUFDLENBQzNCLENBQ2QsZUFDRGxDLEtBQUEsQ0FBQ1IsbUJBQW1CO01BQUM4RSxTQUFTLEVBQUVqRCxRQUFTO01BQUNrRCxtQkFBbUIsRUFBRWhELGtCQUFtQjtNQUFBYixRQUFBLEdBQy9Fb0IsT0FBTyxJQUFJLENBQUNFLEtBQUssaUJBQUlsQyxJQUFBLENBQUNWLFVBQVUsSUFBRSxDQUFDLEVBQ25DNEMsS0FBSyxpQkFBSWxDLElBQUEsQ0FBQ1QsZUFBZTtRQUFDbUYsT0FBTyxFQUFFdEMsQ0FBQyxDQUFDLG9CQUFvQjtNQUFFLENBQUUsQ0FBQyxFQUM5RCxDQUFDSixPQUFPLElBQUksQ0FBQ0UsS0FBSyxJQUFJcUIsV0FBVyxDQUFDZ0IsTUFBTSxHQUFHLENBQUMsaUJBQzNDdkUsSUFBQSxDQUFDTCxTQUFTO1FBQUFpQixRQUFBLEVBQ1AyQyxXQUFXLENBQUNvQixHQUFHLENBQUMsVUFBQXRFLEdBQUc7VUFBQSxvQkFDbEJMLElBQUEsQ0FBQ0csV0FBVztZQUFjRSxHQUFHLEVBQUVBLEdBQUk7WUFBQ0MsV0FBVyxFQUFFQSxXQUFZO1lBQUNDLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO2NBQUEsT0FBUXNDLGNBQWMsQ0FBQ3hDLEdBQUcsQ0FBQztZQUFBO1VBQUMsR0FBL0VBLEdBQUcsQ0FBQ3lDLEVBQTZFLENBQUM7UUFBQSxDQUNyRztNQUFDLENBQ08sQ0FDWjtJQUFBLENBQ2tCLENBQUM7RUFBQSxDQUNQLENBQUM7QUFFdEIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -3,11 +3,11 @@ import { VIOLET_IA_COLORS } from '../../../styles/config';
3
3
  export var SCFAQsContainer = styled.div.withConfig({
4
4
  displayName: "FrequentlyAskedQuestionsstyles__SCFAQsContainer",
5
5
  componentId: "sc-zxh16d-0"
6
- })(["display:flex;flex-direction:column;width:100%;max-width:432px;gap:10px;flex:1;min-height:0;@media (min-height:1000px){flex:none;min-height:auto;}"]);
6
+ })(["display:flex;flex-direction:column;width:100%;max-width:432px;gap:10px;flex-shrink:0;"]);
7
7
  export var SCFAQsListContainer = styled.div.withConfig({
8
8
  displayName: "FrequentlyAskedQuestionsstyles__SCFAQsListContainer",
9
9
  componentId: "sc-zxh16d-1"
10
- })(["display:flex;flex-direction:column;width:100%;gap:10px;flex:1;min-height:0;@media (min-height:1000px){flex:none;min-height:auto;}"]);
10
+ })(["display:flex;flex-direction:column;width:100%;gap:10px;flex-shrink:0;"]);
11
11
  export var SCFAQsTitle = styled.div.withConfig({
12
12
  displayName: "FrequentlyAskedQuestionsstyles__SCFAQsTitle",
13
13
  componentId: "sc-zxh16d-2"
@@ -27,13 +27,13 @@ export var SCFAQList = styled.div.withConfig({
27
27
  export var SCFAQItem = styled.div.withConfig({
28
28
  displayName: "FrequentlyAskedQuestionsstyles__SCFAQItem",
29
29
  componentId: "sc-zxh16d-6"
30
- })(["display:flex;height:40px;padding:8px;align-items:center;gap:12px;align-self:stretch;cursor:pointer;border-radius:6px;border:0.5px solid #d9d9d9;background:#fff;&:hover{background:#f2f2f2;}"]);
31
- export var SCFAQItemIcon = styled.div.withConfig({
32
- displayName: "FrequentlyAskedQuestionsstyles__SCFAQItemIcon",
33
- componentId: "sc-zxh16d-7"
34
- })(["display:flex;padding:2px;align-items:center;justify-content:center;gap:10px;border-radius:4px;border:1px solid transparent;background:linear-gradient(180deg,#fff 0%,#fff 100%) padding-box,var(--Gradiente-3,linear-gradient(180deg,#4d3569 0%,#2d77bd 100%)) border-box;", ":hover &{background:linear-gradient(180deg,#f2f2f2 0%,#f2f2f2 100%) padding-box,var(--Gradiente-3,linear-gradient(180deg,#4d3569 0%,#2d77bd 100%)) border-box;}"], SCFAQItem);
30
+ })(["display:flex;padding:8px 10px;align-items:center;justify-content:space-between;gap:8px;align-self:stretch;cursor:pointer;border-radius:6px;border:0.5px solid #d9d9d9;background:#fff;&:hover{background:#f2f2f2;}"]);
35
31
  export var SCFAQItemText = styled.span.withConfig({
36
32
  displayName: "FrequentlyAskedQuestionsstyles__SCFAQItemText",
33
+ componentId: "sc-zxh16d-7"
34
+ })(["color:#20201f;font-size:11px;font-weight:400;line-height:120%;letter-spacing:-0.11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;"]);
35
+ export var SCFAQItemIcon = styled.div.withConfig({
36
+ displayName: "FrequentlyAskedQuestionsstyles__SCFAQItemIcon",
37
37
  componentId: "sc-zxh16d-8"
38
- })(["color:#20201f;font-size:11px;font-weight:400;line-height:120%;letter-spacing:-0.11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 40px);"]);
39
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJWSU9MRVRfSUFfQ09MT1JTIiwiU0NGQVFzQ29udGFpbmVyIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJTQ0ZBUXNMaXN0Q29udGFpbmVyIiwiU0NGQVFzVGl0bGUiLCJTQ0ZBUUNhdGVnb3J5IiwiU0NGQVFDYXRlZ29yeVRpdGxlVGV4dCIsInNwYW4iLCJTQ0ZBUUxpc3QiLCJTQ0ZBUUl0ZW0iLCJTQ0ZBUUl0ZW1JY29uIiwiU0NGQVFJdGVtVGV4dCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucy9GcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMuc3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgeyBWSU9MRVRfSUFfQ09MT1JTIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL2NvbmZpZydcblxuZXhwb3J0IGNvbnN0IFNDRkFRc0NvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQzMnB4O1xuICBnYXA6IDEwcHg7XG4gIGZsZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDA7XG5cbiAgQG1lZGlhIChtaW4taGVpZ2h0OiAxMDAwcHgpIHtcbiAgICBmbGV4OiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDRkFRc0xpc3RDb250YWluZXIgPSBzdHlsZWQuZGl2PHtcbiAgJHNob3dGQVFzPzogYm9vbGVhblxuICAkc2hvd1Byb2plY3RTdW1tYXJ5PzogYm9vbGVhblxufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBnYXA6IDEwcHg7XG4gIGZsZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDA7XG5cbiAgQG1lZGlhIChtaW4taGVpZ2h0OiAxMDAwcHgpIHtcbiAgICBmbGV4OiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDRkFRc1RpdGxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGNvbG9yOiAke1ZJT0xFVF9JQV9DT0xPUlNbNTAwXX07XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4yMXB4O1xuICBmbGV4LXNocmluazogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDRkFRQ2F0ZWdvcnkgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDhweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDRkFRQ2F0ZWdvcnlUaXRsZVRleHQgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4xcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0ZBUUxpc3QgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiA4cHg7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0ZBUUl0ZW0gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMnB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYm9yZGVyOiAwLjVweCBzb2xpZCAjZDlkOWQ5O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDRkFRSXRlbUljb24gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6XG4gICAgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2ZmZiAwJSwgI2ZmZiAxMDAlKSBwYWRkaW5nLWJveCxcbiAgICB2YXIoLS1HcmFkaWVudGUtMywgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzRkMzU2OSAwJSwgIzJkNzdiZCAxMDAlKSkgYm9yZGVyLWJveDtcblxuICAke1NDRkFRSXRlbX06aG92ZXIgJiB7XG4gICAgYmFja2dyb3VuZDpcbiAgICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmMmYyZjIgMCUsICNmMmYyZjIgMTAwJSkgcGFkZGluZy1ib3gsXG4gICAgICB2YXIoLS1HcmFkaWVudGUtMywgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzRkMzU2OSAwJSwgIzJkNzdiZCAxMDAlKSkgYm9yZGVyLWJveDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NGQVFJdGVtVGV4dCA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogIzIwMjAxZjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTIwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjExcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLE1BQU0sbUJBQW1CO0FBQ3RDLFNBQVNDLGdCQUFnQixRQUFRLHdCQUF3QjtBQUV6RCxPQUFPLElBQU1DLGVBQWUsR0FBR0YsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEseUpBYXhDO0FBRUQsT0FBTyxJQUFNQyxtQkFBbUIsR0FBR1AsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEseUlBZTVDO0FBRUQsT0FBTyxJQUFNRSxXQUFXLEdBQUdSLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZJQUcxQkwsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBTS9CO0FBRUQsT0FBTyxJQUFNUSxhQUFhLEdBQUdULE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG1EQUl0QztBQUVELE9BQU8sSUFBTUksc0JBQXNCLEdBQUdWLE1BQU0sQ0FBQ1csSUFBSSxDQUFBUCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGtIQU9oRDtBQUVELE9BQU8sSUFBTU0sU0FBUyxHQUFHWixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw2RkFNbEM7QUFFRCxPQUFPLElBQU1PLFNBQVMsR0FBR2IsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsb01BZWxDO0FBRUQsT0FBTyxJQUFNUSxhQUFhLEdBQUdkLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHNiQVluQ08sU0FBUyxDQUtaO0FBRUQsT0FBTyxJQUFNRSxhQUFhLEdBQUdmLE1BQU0sQ0FBQ1csSUFBSSxDQUFBUCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG1MQVV2QyIsImlnbm9yZUxpc3QiOltdfQ==
38
+ })(["display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transition:opacity 0.2s ease;", ":hover &{opacity:1;}"], SCFAQItem);
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJWSU9MRVRfSUFfQ09MT1JTIiwiU0NGQVFzQ29udGFpbmVyIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJTQ0ZBUXNMaXN0Q29udGFpbmVyIiwiU0NGQVFzVGl0bGUiLCJTQ0ZBUUNhdGVnb3J5IiwiU0NGQVFDYXRlZ29yeVRpdGxlVGV4dCIsInNwYW4iLCJTQ0ZBUUxpc3QiLCJTQ0ZBUUl0ZW0iLCJTQ0ZBUUl0ZW1UZXh0IiwiU0NGQVFJdGVtSWNvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucy9GcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMuc3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgeyBWSU9MRVRfSUFfQ09MT1JTIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL2NvbmZpZydcblxuZXhwb3J0IGNvbnN0IFNDRkFRc0NvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQzMnB4O1xuICBnYXA6IDEwcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NGQVFzTGlzdENvbnRhaW5lciA9IHN0eWxlZC5kaXY8e1xuICAkc2hvd0ZBUXM/OiBib29sZWFuXG4gICRzaG93UHJvamVjdFN1bW1hcnk/OiBib29sZWFuXG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGdhcDogMTBweDtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0ZBUXNUaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBjb2xvcjogJHtWSU9MRVRfSUFfQ09MT1JTWzUwMF19O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0ZBUUNhdGVnb3J5ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0ZBUUNhdGVnb3J5VGl0bGVUZXh0ID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjNjY2O1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NGQVFMaXN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogOHB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuYFxuXG5leHBvcnQgY29uc3QgU0NGQVFJdGVtID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiA4cHg7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBib3JkZXI6IDAuNXB4IHNvbGlkICNkOWQ5ZDk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NGQVFJdGVtVGV4dCA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogIzIwMjAxZjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTIwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjExcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0ZBUUl0ZW1JY29uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcblxuICAke1NDRkFRSXRlbX06aG92ZXIgJiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLE1BQU0sbUJBQW1CO0FBQ3RDLFNBQVNDLGdCQUFnQixRQUFRLHdCQUF3QjtBQUV6RCxPQUFPLElBQU1DLGVBQWUsR0FBR0YsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNkZBT3hDO0FBRUQsT0FBTyxJQUFNQyxtQkFBbUIsR0FBR1AsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNkVBUzVDO0FBRUQsT0FBTyxJQUFNRSxXQUFXLEdBQUdSLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZJQUcxQkwsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBTS9CO0FBRUQsT0FBTyxJQUFNUSxhQUFhLEdBQUdULE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG1EQUl0QztBQUVELE9BQU8sSUFBTUksc0JBQXNCLEdBQUdWLE1BQU0sQ0FBQ1csSUFBSSxDQUFBUCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGtIQU9oRDtBQUVELE9BQU8sSUFBTU0sU0FBUyxHQUFHWixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw2RkFNbEM7QUFFRCxPQUFPLElBQU1PLFNBQVMsR0FBR2IsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsME5BZWxDO0FBRUQsT0FBTyxJQUFNUSxhQUFhLEdBQUdkLE1BQU0sQ0FBQ1csSUFBSSxDQUFBUCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDBLQVd2QztBQUVELE9BQU8sSUFBTVMsYUFBYSxHQUFHZixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw2SUFRbkNPLFNBQVMsQ0FHWiIsImlnbm9yZUxpc3QiOltdfQ==