@projectcor/maia-components 2.11.90 → 2.11.91-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 (67) hide show
  1. package/lib/components/atoms/Chip/Chip.js +12 -5
  2. package/lib/components/atoms/Chip/styles.js +6 -6
  3. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +7 -3
  4. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +118 -28
  5. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +29 -2
  6. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +33 -24
  7. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +23 -4
  8. package/lib/components/atoms/MAIAInput/MAIAInput.js +218 -176
  9. package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +3 -6
  10. package/lib/components/atoms/MAIAInput/styles.js +86 -83
  11. package/lib/components/atoms/icons/MaiaInputAddIcon.js +42 -0
  12. package/lib/components/atoms/icons/MaiaInputAttachIcon.js +29 -0
  13. package/lib/components/atoms/icons/MaiaInputAttachmentImageIcon.js +33 -0
  14. package/lib/components/atoms/icons/MaiaInputDeepSearchIcon.js +35 -0
  15. package/lib/components/atoms/icons/MaiaInputMentionIcon.js +44 -0
  16. package/lib/components/atoms/icons/MaiaInputRobotIcon.js +29 -0
  17. package/lib/components/atoms/icons/MaiaInputSendIcon.js +29 -0
  18. package/lib/components/atoms/icons/MaiaInputSlashIcon.js +29 -0
  19. package/lib/components/atoms/icons/MaiaInputWebSearchIcon.js +35 -0
  20. package/lib/components/atoms/icons/SkillIcon.js +30 -0
  21. package/lib/components/atoms/icons/SkillsNavIcon.js +27 -0
  22. package/lib/components/atoms/icons/index.js +12 -1
  23. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +14 -1
  24. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +13 -2
  25. package/lib/components/molecules/ChatAIHome/styles.js +63 -18
  26. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +11 -36
  27. package/lib/components/molecules/ChatAIMessages/newStyles.js +10 -26
  28. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +34 -3
  29. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +1 -4
  30. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +4 -9
  31. package/lib/components/molecules/ChatAIModal/constants.js +6 -2
  32. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +357 -0
  33. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +145 -0
  34. package/lib/components/molecules/ChatAIMySkills/index.js +2 -0
  35. package/lib/components/molecules/ChatFooter/ChatFooter.js +23 -62
  36. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +3 -1
  37. package/lib/components/molecules/Sidebar/Sidebar.js +25 -4
  38. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +160 -0
  39. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +34 -0
  40. package/lib/components/organisms/AbmSkillGenerateModal/index.js +2 -0
  41. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +446 -0
  42. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +98 -0
  43. package/lib/components/organisms/AbmSkillModal/index.js +2 -0
  44. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +8 -1
  45. package/lib/constants/config.js +4 -1
  46. package/lib/constants/permissions/index.js +2 -2
  47. package/lib/constants/permissions/utils.js +4 -1
  48. package/lib/hooks/useContextMentions.js +47 -9
  49. package/lib/hooks/useEntitySearch.js +277 -91
  50. package/lib/hooks/useMentionAllowedTypes.js +26 -8
  51. package/lib/hooks/useMentionPopover.js +42 -13
  52. package/lib/lang/br/index.js +59 -5
  53. package/lib/lang/en/index.js +59 -5
  54. package/lib/lang/es/index.js +59 -5
  55. package/lib/lang/fr/index.js +61 -4
  56. package/lib/services/maia/Skills/createSkill.js +39 -0
  57. package/lib/services/maia/Skills/deleteSkill.js +38 -0
  58. package/lib/services/maia/Skills/generateSkill.js +41 -0
  59. package/lib/services/maia/Skills/getSkills.js +90 -0
  60. package/lib/services/maia/Skills/updateSkill.js +39 -0
  61. package/lib/styles/config.js +2 -2
  62. package/lib/types/contextMention.js +1 -1
  63. package/lib/types/skill.js +2 -0
  64. package/lib/utils/contextMentionIcons.js +29 -1
  65. package/lib/utils/contextMentionTriggers.js +3 -1
  66. package/lib/utils/renderContextMentions.js +9 -4
  67. package/package.json +1 -1
@@ -18,8 +18,6 @@ export var ChatAiModalFooter = function ChatAiModalFooter(_ref) {
18
18
  isWriting = _ref.isWriting,
19
19
  chatId = _ref.chatId,
20
20
  newChatKey = _ref.newChatKey,
21
- _ref$showFaqs = _ref.showFaqs,
22
- showFaqs = _ref$showFaqs === void 0 ? false : _ref$showFaqs,
23
21
  tooltipZIndex = _ref.tooltipZIndex,
24
22
  legacyContextSession = _ref.legacyContextSession,
25
23
  onContinueInNewChat = _ref.onContinueInNewChat,
@@ -176,10 +174,9 @@ export var ChatAiModalFooter = function ChatAiModalFooter(_ref) {
176
174
  onStopGeneration: handleStopGeneration,
177
175
  chatId: chatId,
178
176
  newChatKey: newChatKey,
179
- showFaqs: showFaqs,
180
177
  tooltipZIndex: tooltipZIndex,
181
178
  layoutMode: layoutMode
182
179
  })
183
180
  });
184
181
  };
185
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJbmZvcm1hdGlvbkNpcmNsZSIsImNvbG9ycyIsIm1vbWVudCIsInVzZVRyYW5zbGF0aW9uIiwiQ2hhdEZvb3RlciIsIlNFQ1RJT05TIiwidXNlVXNlciIsInZhbGlkYXRlSXNNYWlhIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJTQ0NBSU1GV3JhcHBlciIsIlNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudCIsIlNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQiLCJTQ0NBSU1GV3JhcHBlckluZm9JY29uIiwiU0NDQUlNRk1lc3NhZ2VXaXRoQWN0aW9uIiwiU0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkNoYXRBaU1vZGFsRm9vdGVyIiwiX3JlZiIsIl91c2VyJHBlcm1pc3Npb25zIiwiYWdlbnQiLCJoYW5kbGVTZW5kTWVzc2FnZSIsImhhbmRsZVN0b3BHZW5lcmF0aW9uIiwiaXNTdHJlYW1pbmciLCJpc1dyaXRpbmciLCJjaGF0SWQiLCJuZXdDaGF0S2V5IiwiX3JlZiRzaG93RmFxcyIsInNob3dGYXFzIiwidG9vbHRpcFpJbmRleCIsImxlZ2FjeUNvbnRleHRTZXNzaW9uIiwib25Db250aW51ZUluTmV3Q2hhdCIsImxheW91dE1vZGUiLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsInQiLCJ1c2VyIiwiZXZlbnRBbXBsaXR1ZGUiLCJpbmZvSWNvbkNvbG9yIiwidGV4dCIsInNlY29uZGFyeSIsImNhbkVkaXRDdXN0b21BZ2VudCIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiZWRpdCIsInR5cGUiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiaGFuZGxlT3BlbkNoYW5nZU1vZGVsTW9kYWwiLCJvcGVuTW9kYWwiLCJvcHRpb24iLCJkb2N1bWVudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsImFnZW50VmFsdWVzIiwidmFsdWVzIiwiaXNFZGl0aW5nIiwia25vd2xlZGdlIiwiZ2VuZXJhbCIsIm5hbWUiLCJpZCIsImlzT3BlbiIsImNoaWxkcmVuIiwid2lkdGgiLCJoZWlnaHQiLCJjb2xvciIsImNvbnRleHROYW1lIiwib25DbGljayIsImlzX2RlbGV0ZWQiLCJkZWxldGVkX2F0IiwiZm9ybWF0IiwicHJvamVjdF9kZWxldGVkIiwiaGFzX25vdF9hY2Nlc3MiLCJoYXNfbm90X3Blcm1pc3Npb25zIiwiY3VzdG9tQWdlbnRXYXJuaW5nS2V5IiwibW9kZWxfZGVwcmVjYXRlZCIsInByb3ZpZGVyX3N0YXR1cyIsIm9uU2VuZE1lc3NhZ2UiLCJkaXNhYmxlZCIsIm9uU3RvcEdlbmVyYXRpb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlNb2RhbEZvb3Rlci9DaGF0QWlNb2RhbEZvb3Rlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5mb3JtYXRpb25DaXJjbGUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9JbmZvcm1hdGlvbkNpcmNsZSdcbmltcG9ydCBjb2xvcnMgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBDaGF0Rm9vdGVyIH0gZnJvbSAnLi4vLi4vLi4vQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgdmFsaWRhdGVJc01haWEgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlscy92YWxpZGF0ZUlzTWFpYSdcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7XG4gIFNDQ0FJTUZXcmFwcGVyLFxuICBTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQsXG4gIFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQsXG4gIFNDQ0FJTUZXcmFwcGVySW5mb0ljb24sXG4gIFNDQ0FJTUZNZXNzYWdlV2l0aEFjdGlvbixcbiAgU0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uLFxufSBmcm9tICcuL0NoYXRBaU1vZGFsRm9vdGVyLnN0eWxlcydcbmltcG9ydCB0eXBlIHsgTWFpYUNoYXRNb2RhbExheW91dE1vZGUgfSBmcm9tICcuLi8uLi9sYXlvdXQnXG5cbmV4cG9ydCBjb25zdCBDaGF0QWlNb2RhbEZvb3RlciA9ICh7XG4gIGFnZW50LFxuICBoYW5kbGVTZW5kTWVzc2FnZSxcbiAgaGFuZGxlU3RvcEdlbmVyYXRpb24sXG4gIGlzU3RyZWFtaW5nLFxuICBpc1dyaXRpbmcsXG4gIGNoYXRJZCxcbiAgbmV3Q2hhdEtleSxcbiAgc2hvd0ZhcXMgPSBmYWxzZSxcbiAgdG9vbHRpcFpJbmRleCxcbiAgbGVnYWN5Q29udGV4dFNlc3Npb24sXG4gIG9uQ29udGludWVJbk5ld0NoYXQsXG4gIGxheW91dE1vZGUsXG59OiB7XG4gIGFnZW50PzogQWdlbnQgfCBudWxsXG4gIGhhbmRsZVNlbmRNZXNzYWdlOiBQYXJhbWV0ZXJzPHR5cGVvZiBDaGF0Rm9vdGVyPlswXVsnb25TZW5kTWVzc2FnZSddXG4gIGhhbmRsZVN0b3BHZW5lcmF0aW9uPzogKCgpID0+IHZvaWQpIHwgbnVsbFxuICBpc1N0cmVhbWluZz86IGJvb2xlYW5cbiAgaXNXcml0aW5nPzogYm9vbGVhblxuICBjaGF0SWQ/OiBzdHJpbmcgfCBudWxsXG4gIG5ld0NoYXRLZXk/OiBudW1iZXJcbiAgc2hvd0ZhcXM/OiBib29sZWFuXG4gIHRvb2x0aXBaSW5kZXg/OiBudW1iZXJcbiAgLyoqIFNpIGxhIHNlc3Npb24gYWJpZXJ0YSBlcyBkZSB1biBjbG9uZSBsZWdhY3kgKGVudGl0eSBwcm9qZWN0L3Rhc2svY2xpZW50KSwgc2UgbXVlc3RyYSB1biBjYXJ0ZWxcbiAgICogIHBhcmEgY29udGludWFyIGVsIGNvbnRleHRvIGVuIHVuIGNoYXQgbnVldm8gKGNvbiBlbCBvcmNoZXN0cmF0b3IpIGVuIHZleiBkZWwgaW5wdXQuICovXG4gIGxlZ2FjeUNvbnRleHRTZXNzaW9uPzogeyBlbnRpdHlUeXBlOiAncHJvamVjdCcgfCAndGFzaycgfCAnY2xpZW50JzsgY29udGV4dE5hbWU6IHN0cmluZyB9IHwgbnVsbFxuICBvbkNvbnRpbnVlSW5OZXdDaGF0PzogKCkgPT4gdm9pZFxuICBsYXlvdXRNb2RlPzogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnRdKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGV2ZW50QW1wbGl0dWRlID0gdXNlRXZlbnQoKVxuICBjb25zdCBpbmZvSWNvbkNvbG9yID0gY29sb3JzLnRleHQuc2Vjb25kYXJ5XG5cbiAgY29uc3QgY2FuRWRpdEN1c3RvbUFnZW50ID1cbiAgICAhIWFnZW50ICYmXG4gICAgISF1c2VyPy5wZXJtaXNzaW9ucz8uYWlfYWdlbnRzPy5lZGl0ICYmXG4gICAgIXZhbGlkYXRlSXNNYWlhKGFnZW50IGFzIEFnZW50KSAmJlxuICAgIGFnZW50LnR5cGUgPT09ICdjdXN0b20nICYmXG4gICAgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcblxuICBjb25zdCBoYW5kbGVPcGVuQ2hhbmdlTW9kZWxNb2RhbCA9ICgpID0+IHtcbiAgICBpZiAoIWFnZW50IHx8ICFjYW5FZGl0Q3VzdG9tQWdlbnQpIHJldHVyblxuXG4gICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLm9wZW5Nb2RhbCwgeyBvcHRpb246ICdlZGl0X2FnZW50JyB9KVxuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgIGlzRWRpdGluZzogdHJ1ZSxcbiAgICAgICAgICAgICAga25vd2xlZGdlOiBhZ2VudC5rbm93bGVkZ2UgfHwgW10sXG4gICAgICAgICAgICAgIGdlbmVyYWw6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiBhZ2VudC5uYW1lLFxuICAgICAgICAgICAgICAgIGlkOiBhZ2VudC5pZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpc09wZW46IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgaWYgKGxlZ2FjeUNvbnRleHRTZXNzaW9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICAgIDxJbmZvcm1hdGlvbkNpcmNsZSB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPXtpbmZvSWNvbkNvbG9yfSAvPlxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICA8U0NDQUlNRk1lc3NhZ2VXaXRoQWN0aW9uPlxuICAgICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICAgIHt0KCdsZWdlbmRMZWdhY3lDb250ZXh0U2Vzc2lvbicsIHsgbmFtZTogbGVnYWN5Q29udGV4dFNlc3Npb24uY29udGV4dE5hbWUgfSl9XG4gICAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICA8U0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtvbkNvbnRpbnVlSW5OZXdDaGF0fT5cbiAgICAgICAgICAgICAge3QoJ2NvbnRpbnVlSW5OZXdDaGF0Jyl9XG4gICAgICAgICAgICA8L1NDQ0FJTUZDaGFuZ2VNb2RlbEJ1dHRvbj5cbiAgICAgICAgICA8L1NDQ0FJTUZNZXNzYWdlV2l0aEFjdGlvbj5cbiAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICA8L1NDQ0FJTUZXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGlmIChhZ2VudD8uaXNfZGVsZXRlZCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj17aW5mb0ljb25Db2xvcn0gLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kRGVsZXRlZEFnZW50Jyl9IHttb21lbnQoYWdlbnQ/LmRlbGV0ZWRfYXQpLmZvcm1hdCgnREQgW2RlXSBNTU1NLCBZWVlZJyl9XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGFnZW50Py5wcm9qZWN0X2RlbGV0ZWQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9e2luZm9JY29uQ29sb3J9IC8+XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICAgICAge3QoJ2xlZ2VuZFByb2plY3REZWxldGVkJywgeyBuYW1lOiBhZ2VudC5wcm9qZWN0X2RlbGV0ZWQubmFtZSB9KX1cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBpZiAoYWdlbnQ/Lmhhc19ub3RfYWNjZXNzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICAgIDxJbmZvcm1hdGlvbkNpcmNsZSB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPXtpbmZvSWNvbkNvbG9yfSAvPlxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgICAgIHt0KCdsZWdlbmROb0FjY2VzcycsIHsgbmFtZTogYWdlbnQ/Lm5hbWUgfSl9XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8ICFhZ2VudCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj17aW5mb0ljb25Db2xvcn0gLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kTm9QZXJtaXNzaW9ucycsIHsgbmFtZTogYWdlbnQ/Lm5hbWUgfSl9XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgbGV0IGN1c3RvbUFnZW50V2FybmluZ0tleTogc3RyaW5nIHwgbnVsbCA9IG51bGxcblxuICBpZiAoYWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nICYmIGFnZW50Py5tb2RlbF9kZXByZWNhdGVkKSB7XG4gICAgY3VzdG9tQWdlbnRXYXJuaW5nS2V5ID0gJ2xlZ2VuZE1vZGVsRGVwcmVjYXRlZCdcbiAgfSBlbHNlIGlmIChcbiAgICBhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbScgJiZcbiAgICAoYWdlbnQ/LnByb3ZpZGVyX3N0YXR1cyA9PT0gJ3BhcnRpYWxfb3V0YWdlJyB8fFxuICAgICAgYWdlbnQ/LnByb3ZpZGVyX3N0YXR1cyA9PT0gJ21ham9yX291dGFnZScgfHxcbiAgICAgIGFnZW50Py5wcm92aWRlcl9zdGF0dXMgPT09ICd1bmRlcl9tYWludGVuYW5jZScpXG4gICkge1xuICAgIGN1c3RvbUFnZW50V2FybmluZ0tleSA9ICdsZWdlbmRQcm92aWRlclN0YXR1cydcbiAgfVxuXG4gIGlmIChjdXN0b21BZ2VudFdhcm5pbmdLZXkpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9e2luZm9JY29uQ29sb3J9IC8+XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgIDxTQ0NBSU1GTWVzc2FnZVdpdGhBY3Rpb24+XG4gICAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD57dChjdXN0b21BZ2VudFdhcm5pbmdLZXkpfTwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgICAgIHtjYW5FZGl0Q3VzdG9tQWdlbnQgJiYgKFxuICAgICAgICAgICAgICA8U0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVPcGVuQ2hhbmdlTW9kZWxNb2RhbH0+XG4gICAgICAgICAgICAgICAge3QoJ2NoYW5nZU1vZGVsJyl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1NDQ0FJTUZNZXNzYWdlV2l0aEFjdGlvbj5cbiAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICA8L1NDQ0FJTUZXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgPENoYXRGb290ZXJcbiAgICAgICAgb25TZW5kTWVzc2FnZT17aGFuZGxlU2VuZE1lc3NhZ2V9XG4gICAgICAgIGRpc2FibGVkPXtmYWxzZX1cbiAgICAgICAgaXNTdHJlYW1pbmc9e2lzU3RyZWFtaW5nfVxuICAgICAgICBpc1dyaXRpbmc9e2lzV3JpdGluZ31cbiAgICAgICAgb25TdG9wR2VuZXJhdGlvbj17aGFuZGxlU3RvcEdlbmVyYXRpb259XG4gICAgICAgIGNoYXRJZD17Y2hhdElkfVxuICAgICAgICBuZXdDaGF0S2V5PXtuZXdDaGF0S2V5fVxuICAgICAgICBzaG93RmFxcz17c2hvd0ZhcXN9XG4gICAgICAgIHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9XG4gICAgICAgIGxheW91dE1vZGU9e2xheW91dE1vZGV9XG4gICAgICAvPlxuICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsaUJBQWlCLFFBQVEsb0RBQW9EO0FBQ3RGLE9BQU9DLE1BQU0sTUFBTSxtQ0FBbUM7QUFDdEQsT0FBT0MsTUFBTSxNQUFNLFFBQVE7QUFDM0IsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBU0MsVUFBVSxRQUFRLGdDQUFnQztBQUMzRCxTQUFTQyxRQUFRLFFBQVEsaUNBQWlDO0FBQzFELFNBQVNDLE9BQU8sUUFBUSxpQ0FBaUM7QUFFekQsU0FBU0MsY0FBYyxRQUFRLDhDQUE4QztBQUM3RSxTQUFTQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSwrQkFBK0I7QUFDaEUsU0FDRUMsY0FBYyxFQUNkQyw4QkFBOEIsRUFDOUJDLGtDQUFr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QWdCLElBQzFDLENBQUF6RCxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRXlELGVBQWUsTUFBSyxjQUFjLElBQ3pDLENBQUF6RCxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRXlELGVBQWUsTUFBSyxtQkFBbUIsQ0FBQyxFQUNqRDtJQUNBRixxQkFBcUIsR0FBRyxzQkFBc0I7RUFDaEQ7RUFFQSxJQUFJQSxxQkFBcUIsRUFBRTtJQUN6QixvQkFDRTdELElBQUEsQ0FBQ1AsY0FBYztNQUFBd0QsUUFBQSxlQUNiL0MsS0FBQSxDQUFDUiw4QkFBOEI7UUFBQXVELFFBQUEsZ0JBQzdCakQsSUFBQSxDQUFDSixzQkFBc0I7VUFBQXFELFFBQUEsZUFDckJqRCxJQUFBLENBQUNqQixpQkFBaUI7WUFBQ21FLEtBQUssRUFBRSxFQUFHO1lBQUNDLE1BQU0sRUFBRSxFQUFHO1lBQUNDLEtBQUssRUFBRTVCO1VBQWMsQ0FBRTtRQUFDLENBQzVDLENBQUMsZUFDekJ0QixLQUFBLENBQUNMLHdCQUF3QjtVQUFBb0QsUUFBQSxnQkFDdkJqRCxJQUFBLENBQUNMLGtDQUFrQztZQUFBc0QsUUFBQSxFQUFFNUIsQ0FBQyxDQUFDd0MscUJBQXFCO1VBQUMsQ0FBcUMsQ0FBQyxFQUNsR2xDLGtCQUFrQixpQkFDakIzQixJQUFBLENBQUNGLHdCQUF3QjtZQUFDaUMsSUFBSSxFQUFDLFFBQVE7WUFBQ3VCLE9BQU8sRUFBRXBCLDBCQUEyQjtZQUFBZSxRQUFBLEVBQ3pFNUIsQ0FBQyxDQUFDLGFBQWE7VUFBQyxDQUNPLENBQzNCO1FBQUEsQ0FDdUIsQ0FBQztNQUFBLENBQ0c7SUFBQyxDQUNuQixDQUFDO0VBRXJCO0VBRUEsb0JBQ0VyQixJQUFBLENBQUNQLGNBQWM7SUFBQXdELFFBQUEsZUFDYmpELElBQUEsQ0FBQ2IsVUFBVTtNQUNUNkUsYUFBYSxFQUFFekQsaUJBQWtCO01BQ2pDMEQsUUFBUSxFQUFFLEtBQU07TUFDaEJ4RCxXQUFXLEVBQUVBLFdBQVk7TUFDekJDLFNBQVMsRUFBRUEsU0FBVTtNQUNyQndELGdCQUFnQixFQUFFMUQsb0JBQXFCO01BQ3ZDRyxNQUFNLEVBQUVBLE1BQU87TUFDZkMsVUFBVSxFQUFFQSxVQUFXO01BQ3ZCRSxRQUFRLEVBQUVBLFFBQVM7TUFDbkJDLGFBQWEsRUFBRUEsYUFBYztNQUM3QkcsVUFBVSxFQUFFQTtJQUFXLENBQ3hCO0VBQUMsQ0FDWSxDQUFDO0FBRXJCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
182
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJbmZvcm1hdGlvbkNpcmNsZSIsImNvbG9ycyIsIm1vbWVudCIsInVzZVRyYW5zbGF0aW9uIiwiQ2hhdEZvb3RlciIsIlNFQ1RJT05TIiwidXNlVXNlciIsInZhbGlkYXRlSXNNYWlhIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJTQ0NBSU1GV3JhcHBlciIsIlNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudCIsIlNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQiLCJTQ0NBSU1GV3JhcHBlckluZm9JY29uIiwiU0NDQUlNRk1lc3NhZ2VXaXRoQWN0aW9uIiwiU0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkNoYXRBaU1vZGFsRm9vdGVyIiwiX3JlZiIsIl91c2VyJHBlcm1pc3Npb25zIiwiYWdlbnQiLCJoYW5kbGVTZW5kTWVzc2FnZSIsImhhbmRsZVN0b3BHZW5lcmF0aW9uIiwiaXNTdHJlYW1pbmciLCJpc1dyaXRpbmciLCJjaGF0SWQiLCJuZXdDaGF0S2V5IiwidG9vbHRpcFpJbmRleCIsImxlZ2FjeUNvbnRleHRTZXNzaW9uIiwib25Db250aW51ZUluTmV3Q2hhdCIsImxheW91dE1vZGUiLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsInQiLCJ1c2VyIiwiZXZlbnRBbXBsaXR1ZGUiLCJpbmZvSWNvbkNvbG9yIiwidGV4dCIsInNlY29uZGFyeSIsImNhbkVkaXRDdXN0b21BZ2VudCIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiZWRpdCIsInR5cGUiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiaGFuZGxlT3BlbkNoYW5nZU1vZGVsTW9kYWwiLCJvcGVuTW9kYWwiLCJvcHRpb24iLCJkb2N1bWVudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsImFnZW50VmFsdWVzIiwidmFsdWVzIiwiaXNFZGl0aW5nIiwia25vd2xlZGdlIiwiZ2VuZXJhbCIsIm5hbWUiLCJpZCIsImlzT3BlbiIsImNoaWxkcmVuIiwid2lkdGgiLCJoZWlnaHQiLCJjb2xvciIsImNvbnRleHROYW1lIiwib25DbGljayIsImlzX2RlbGV0ZWQiLCJkZWxldGVkX2F0IiwiZm9ybWF0IiwicHJvamVjdF9kZWxldGVkIiwiaGFzX25vdF9hY2Nlc3MiLCJoYXNfbm90X3Blcm1pc3Npb25zIiwiY3VzdG9tQWdlbnRXYXJuaW5nS2V5IiwibW9kZWxfZGVwcmVjYXRlZCIsInByb3ZpZGVyX3N0YXR1cyIsIm9uU2VuZE1lc3NhZ2UiLCJkaXNhYmxlZCIsIm9uU3RvcEdlbmVyYXRpb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlNb2RhbEZvb3Rlci9DaGF0QWlNb2RhbEZvb3Rlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5mb3JtYXRpb25DaXJjbGUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9JbmZvcm1hdGlvbkNpcmNsZSdcbmltcG9ydCBjb2xvcnMgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBDaGF0Rm9vdGVyIH0gZnJvbSAnLi4vLi4vLi4vQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgdmFsaWRhdGVJc01haWEgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcy91dGlscy92YWxpZGF0ZUlzTWFpYSdcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7XG4gIFNDQ0FJTUZXcmFwcGVyLFxuICBTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQsXG4gIFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQsXG4gIFNDQ0FJTUZXcmFwcGVySW5mb0ljb24sXG4gIFNDQ0FJTUZNZXNzYWdlV2l0aEFjdGlvbixcbiAgU0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uLFxufSBmcm9tICcuL0NoYXRBaU1vZGFsRm9vdGVyLnN0eWxlcydcbmltcG9ydCB0eXBlIHsgTWFpYUNoYXRNb2RhbExheW91dE1vZGUgfSBmcm9tICcuLi8uLi9sYXlvdXQnXG5cbmV4cG9ydCBjb25zdCBDaGF0QWlNb2RhbEZvb3RlciA9ICh7XG4gIGFnZW50LFxuICBoYW5kbGVTZW5kTWVzc2FnZSxcbiAgaGFuZGxlU3RvcEdlbmVyYXRpb24sXG4gIGlzU3RyZWFtaW5nLFxuICBpc1dyaXRpbmcsXG4gIGNoYXRJZCxcbiAgbmV3Q2hhdEtleSxcbiAgdG9vbHRpcFpJbmRleCxcbiAgbGVnYWN5Q29udGV4dFNlc3Npb24sXG4gIG9uQ29udGludWVJbk5ld0NoYXQsXG4gIGxheW91dE1vZGUsXG59OiB7XG4gIGFnZW50PzogQWdlbnQgfCBudWxsXG4gIGhhbmRsZVNlbmRNZXNzYWdlOiBQYXJhbWV0ZXJzPHR5cGVvZiBDaGF0Rm9vdGVyPlswXVsnb25TZW5kTWVzc2FnZSddXG4gIGhhbmRsZVN0b3BHZW5lcmF0aW9uPzogKCgpID0+IHZvaWQpIHwgbnVsbFxuICBpc1N0cmVhbWluZz86IGJvb2xlYW5cbiAgaXNXcml0aW5nPzogYm9vbGVhblxuICBjaGF0SWQ/OiBzdHJpbmcgfCBudWxsXG4gIG5ld0NoYXRLZXk/OiBudW1iZXJcbiAgdG9vbHRpcFpJbmRleD86IG51bWJlclxuICAvKiogU2kgbGEgc2Vzc2lvbiBhYmllcnRhIGVzIGRlIHVuIGNsb25lIGxlZ2FjeSAoZW50aXR5IHByb2plY3QvdGFzay9jbGllbnQpLCBzZSBtdWVzdHJhIHVuIGNhcnRlbFxuICAgKiAgcGFyYSBjb250aW51YXIgZWwgY29udGV4dG8gZW4gdW4gY2hhdCBudWV2byAoY29uIGVsIG9yY2hlc3RyYXRvcikgZW4gdmV6IGRlbCBpbnB1dC4gKi9cbiAgbGVnYWN5Q29udGV4dFNlc3Npb24/OiB7IGVudGl0eVR5cGU6ICdwcm9qZWN0JyB8ICd0YXNrJyB8ICdjbGllbnQnOyBjb250ZXh0TmFtZTogc3RyaW5nIH0gfCBudWxsXG4gIG9uQ29udGludWVJbk5ld0NoYXQ/OiAoKSA9PiB2b2lkXG4gIGxheW91dE1vZGU/OiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZVxufSkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5hYm1BZ2VudF0pXG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgZXZlbnRBbXBsaXR1ZGUgPSB1c2VFdmVudCgpXG4gIGNvbnN0IGluZm9JY29uQ29sb3IgPSBjb2xvcnMudGV4dC5zZWNvbmRhcnlcblxuICBjb25zdCBjYW5FZGl0Q3VzdG9tQWdlbnQgPVxuICAgICEhYWdlbnQgJiZcbiAgICAhIXVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHM/LmVkaXQgJiZcbiAgICAhdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpICYmXG4gICAgYWdlbnQudHlwZSA9PT0gJ2N1c3RvbScgJiZcbiAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuXG4gIGNvbnN0IGhhbmRsZU9wZW5DaGFuZ2VNb2RlbE1vZGFsID0gKCkgPT4ge1xuICAgIGlmICghYWdlbnQgfHwgIWNhbkVkaXRDdXN0b21BZ2VudCkgcmV0dXJuXG5cbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMub3Blbk1vZGFsLCB7IG9wdGlvbjogJ2VkaXRfYWdlbnQnIH0pXG4gICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBDdXN0b21FdmVudCgnYWJtLWFnZW50LW1vZGFsLXNldC12YWx1ZXMnLCB7XG4gICAgICAgIGRldGFpbDoge1xuICAgICAgICAgIGFnZW50VmFsdWVzOiB7XG4gICAgICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgICAgaXNFZGl0aW5nOiB0cnVlLFxuICAgICAgICAgICAgICBrbm93bGVkZ2U6IGFnZW50Lmtub3dsZWRnZSB8fCBbXSxcbiAgICAgICAgICAgICAgZ2VuZXJhbDoge1xuICAgICAgICAgICAgICAgIG5hbWU6IGFnZW50Lm5hbWUsXG4gICAgICAgICAgICAgICAgaWQ6IGFnZW50LmlkLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBpZiAobGVnYWN5Q29udGV4dFNlc3Npb24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9e2luZm9JY29uQ29sb3J9IC8+XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgIDxTQ0NBSU1GTWVzc2FnZVdpdGhBY3Rpb24+XG4gICAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgICAgICAge3QoJ2xlZ2VuZExlZ2FjeUNvbnRleHRTZXNzaW9uJywgeyBuYW1lOiBsZWdhY3lDb250ZXh0U2Vzc2lvbi5jb250ZXh0TmFtZSB9KX1cbiAgICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgICAgIDxTQ0NBSU1GQ2hhbmdlTW9kZWxCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e29uQ29udGludWVJbk5ld0NoYXR9PlxuICAgICAgICAgICAgICB7dCgnY29udGludWVJbk5ld0NoYXQnKX1cbiAgICAgICAgICAgIDwvU0NDQUlNRkNoYW5nZU1vZGVsQnV0dG9uPlxuICAgICAgICAgIDwvU0NDQUlNRk1lc3NhZ2VXaXRoQWN0aW9uPlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgaWYgKGFnZW50Py5pc19kZWxldGVkKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICAgIDxJbmZvcm1hdGlvbkNpcmNsZSB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPXtpbmZvSWNvbkNvbG9yfSAvPlxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgICAgIHt0KCdsZWdlbmREZWxldGVkQWdlbnQnKX0ge21vbWVudChhZ2VudD8uZGVsZXRlZF9hdCkuZm9ybWF0KCdERCBbZGVdIE1NTU0sIFlZWVknKX1cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBpZiAoYWdlbnQ/LnByb2plY3RfZGVsZXRlZCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj17aW5mb0ljb25Db2xvcn0gLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgICB7dCgnbGVnZW5kUHJvamVjdERlbGV0ZWQnLCB7IG5hbWU6IGFnZW50LnByb2plY3RfZGVsZXRlZC5uYW1lIH0pfVxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICA8L1NDQ0FJTUZXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGlmIChhZ2VudD8uaGFzX25vdF9hY2Nlc3MpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUZXcmFwcGVyPlxuICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9e2luZm9JY29uQ29sb3J9IC8+XG4gICAgICAgICAgPC9TQ0NBSU1GV3JhcHBlckluZm9JY29uPlxuICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICAgICAge3QoJ2xlZ2VuZE5vQWNjZXNzJywgeyBuYW1lOiBhZ2VudD8ubmFtZSB9KX1cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBpZiAoYWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHwgIWFnZW50KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1GV3JhcHBlcj5cbiAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICAgIDxJbmZvcm1hdGlvbkNpcmNsZSB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPXtpbmZvSWNvbkNvbG9yfSAvPlxuICAgICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvSWNvbj5cbiAgICAgICAgICA8U0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50VGV4dD5cbiAgICAgICAgICAgIHt0KCdsZWdlbmROb1Blcm1pc3Npb25zJywgeyBuYW1lOiBhZ2VudD8ubmFtZSB9KX1cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudFRleHQ+XG4gICAgICAgIDwvU0NDQUlNRldyYXBwZXJJbmZvRGVsZXRlZEFnZW50PlxuICAgICAgPC9TQ0NBSU1GV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBsZXQgY3VzdG9tQWdlbnRXYXJuaW5nS2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbFxuXG4gIGlmIChhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbScgJiYgYWdlbnQ/Lm1vZGVsX2RlcHJlY2F0ZWQpIHtcbiAgICBjdXN0b21BZ2VudFdhcm5pbmdLZXkgPSAnbGVnZW5kTW9kZWxEZXByZWNhdGVkJ1xuICB9IGVsc2UgaWYgKFxuICAgIGFnZW50Py50eXBlID09PSAnY3VzdG9tJyAmJlxuICAgIChhZ2VudD8ucHJvdmlkZXJfc3RhdHVzID09PSAncGFydGlhbF9vdXRhZ2UnIHx8XG4gICAgICBhZ2VudD8ucHJvdmlkZXJfc3RhdHVzID09PSAnbWFqb3Jfb3V0YWdlJyB8fFxuICAgICAgYWdlbnQ/LnByb3ZpZGVyX3N0YXR1cyA9PT0gJ3VuZGVyX21haW50ZW5hbmNlJylcbiAgKSB7XG4gICAgY3VzdG9tQWdlbnRXYXJuaW5nS2V5ID0gJ2xlZ2VuZFByb3ZpZGVyU3RhdHVzJ1xuICB9XG5cbiAgaWYgKGN1c3RvbUFnZW50V2FybmluZ0tleSkge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnQ+XG4gICAgICAgICAgPFNDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj17aW5mb0ljb25Db2xvcn0gLz5cbiAgICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0ljb24+XG4gICAgICAgICAgPFNDQ0FJTUZNZXNzYWdlV2l0aEFjdGlvbj5cbiAgICAgICAgICAgIDxTQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0Pnt0KGN1c3RvbUFnZW50V2FybmluZ0tleSl9PC9TQ0NBSU1GV3JhcHBlckluZm9EZWxldGVkQWdlbnRUZXh0PlxuICAgICAgICAgICAge2NhbkVkaXRDdXN0b21BZ2VudCAmJiAoXG4gICAgICAgICAgICAgIDxTQ0NBSU1GQ2hhbmdlTW9kZWxCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZU9wZW5DaGFuZ2VNb2RlbE1vZGFsfT5cbiAgICAgICAgICAgICAgICB7dCgnY2hhbmdlTW9kZWwnKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1GQ2hhbmdlTW9kZWxCdXR0b24+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvU0NDQUlNRk1lc3NhZ2VXaXRoQWN0aW9uPlxuICAgICAgICA8L1NDQ0FJTUZXcmFwcGVySW5mb0RlbGV0ZWRBZ2VudD5cbiAgICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NDQUlNRldyYXBwZXI+XG4gICAgICA8Q2hhdEZvb3RlclxuICAgICAgICBvblNlbmRNZXNzYWdlPXtoYW5kbGVTZW5kTWVzc2FnZX1cbiAgICAgICAgZGlzYWJsZWQ9e2ZhbHNlfVxuICAgICAgICBpc1N0cmVhbWluZz17aXNTdHJlYW1pbmd9XG4gICAgICAgIGlzV3JpdGluZz17aXNXcml0aW5nfVxuICAgICAgICBvblN0b3BHZW5lcmF0aW9uPXtoYW5kbGVTdG9wR2VuZXJhdGlvbn1cbiAgICAgICAgY2hhdElkPXtjaGF0SWR9XG4gICAgICAgIG5ld0NoYXRLZXk9e25ld0NoYXRLZXl9XG4gICAgICAgIHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9XG4gICAgICAgIGxheW91dE1vZGU9e2xheW91dE1vZGV9XG4gICAgICAvPlxuICAgIDwvU0NDQUlNRldyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsaUJBQWlCLFFBQVEsb0RBQW9EO0FBQ3RGLE9BQU9DLE1BQU0sTUFBTSxtQ0FBbUM7QUFDdEQsT0FBT0MsTUFBTSxNQUFNLFFBQVE7QUFDM0IsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBU0MsVUFBVSxRQUFRLGdDQUFnQztBQUMzRCxTQUFTQyxRQUFRLFFBQVEsaUNBQWlDO0FBQzFELFNBQVNDLE9BQU8sUUFBUSxpQ0FBaUM7QUFFekQsU0FBU0MsY0FBYyxRQUFRLDhDQUE4QztBQUM3RSxTQUFTQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSwrQkFBK0I7QUFDaEUsU0FDRUMsY0FBYyxFQUNkQyw4QkFBOEIsRUFDOUJDLGtDQUFrQyxFQUNsQ0Msc0JBQXNCLEVBQ3RCQyx3QkFBd0IsRUFDeEJDLHdCQUF3QixRQUNuQiw0QkFBNEI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFB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
@@ -24,7 +24,6 @@ import { SCCAIMHModal, SCCAIMHSelectedAgent, SCCAIMHSelectedAgentText, SCCAIMHWr
24
24
  import { EVENTS, useEvent } from '../../../../../hooks/useEvent';
25
25
  import { useUser } from '../../../../../context/cor-user';
26
26
  import { isMaiaCloneAgentsRoleBlocked } from '../../../../../constants/maiaTaskPanelAccess';
27
- import { ChipLlm } from '../../../../atoms/ChipLlm';
28
27
  import { Loader } from '../../../../atoms/Loader';
29
28
  import { useMaiaTaskPanelZIndex } from '../../../../../hooks/useMaiaTaskPanelZIndex';
30
29
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
@@ -32,7 +31,6 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
32
31
  var _user$permissions, _localAgents$name;
33
32
  var layoutMode = _ref.layoutMode,
34
33
  onLayoutModeChange = _ref.onLayoutModeChange,
35
- expanded = _ref.expanded,
36
34
  _ref$draggable = _ref.draggable,
37
35
  draggable = _ref$draggable === void 0 ? false : _ref$draggable,
38
36
  onDragStart = _ref.onDragStart,
@@ -60,6 +58,8 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
60
58
  isMyAgentsSection = _ref$isMyAgentsSectio === void 0 ? false : _ref$isMyAgentsSectio,
61
59
  _ref$isMaiakerSection = _ref.isMaiakerSection,
62
60
  isMaiakerSection = _ref$isMaiakerSection === void 0 ? false : _ref$isMaiakerSection,
61
+ _ref$hideAgentSelecto = _ref.hideAgentSelector,
62
+ hideAgentSelector = _ref$hideAgentSelecto === void 0 ? false : _ref$hideAgentSelecto,
63
63
  onAgentSelected = _ref.onAgentSelected,
64
64
  _ref$showBackButton = _ref.showBackButton,
65
65
  showBackButton = _ref$showBackButton === void 0 ? false : _ref$showBackButton,
@@ -351,9 +351,7 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
351
351
  })]
352
352
  });
353
353
  };
354
- var selectedModelLlm = selectedAgent === null || selectedAgent === void 0 ? void 0 : selectedAgent.model_display_name;
355
- var selectedAgentType = (selectedAgent === null || selectedAgent === void 0 ? void 0 : selectedAgent.type) === 'custom';
356
- var shouldRenderSelector = !hasError && !loading && (!!selectedAgent || isMyAgentsSection) && (!!window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS || !!window.MAIA_CHAT_AI_FEATURE_ACCESS);
354
+ var shouldRenderSelector = !hasError && !loading && !hideAgentSelector && (!!selectedAgent || isMyAgentsSection) && (!!window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS || !!window.MAIA_CHAT_AI_FEATURE_ACCESS);
357
355
  return /*#__PURE__*/_jsxs(SCCAIMHModal, {
358
356
  $hasError: hasError,
359
357
  $loading: loading,
@@ -379,9 +377,6 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
379
377
  height: 14,
380
378
  color: "#343433"
381
379
  }), t('back')]
382
- }), selectedAgentType && selectedModelLlm && /*#__PURE__*/_jsx(ChipLlm, {
383
- model: selectedModelLlm,
384
- expanded: expanded
385
380
  }), showHeaderCreateAgentButton && /*#__PURE__*/_jsx(SCCAIMHCreateAgentButton, {
386
381
  type: "button",
387
382
  onClick: handleOpenCreateAgentModal,
@@ -448,4 +443,4 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
448
443
  })]
449
444
  });
450
445
  };
451
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJDcm9zcyIsIkNoZXZyb25Eb3duIiwiQ2hldnJvbkxlZnQiLCJQbHVzIiwidXNlVHJhbnNsYXRpb24iLCJTRUNUSU9OUyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkljb25CdXR0b24iLCJNQUlBSWNvbiIsIk1haWFDaGF0TGF5b3V0TWVudUljb24iLCJNYWlhQ2hhdExheW91dFNpZGViYXJJY29uIiwiTWFpYUNoYXRMYXlvdXRGdWxsc2NyZWVuSWNvbiIsIk1haWFDaGF0TGF5b3V0RmxvYXRpbmdJY29uIiwiQ2hhdEFJQWdlbnRPcHRpb24iLCJTQ0NBSU1ITW9kYWwiLCJTQ0NBSU1IU2VsZWN0ZWRBZ2VudCIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCIsIlNDQ0FJTUhXcmFwcGVyIiwiU0NDQUlNSFdyYXBwZXJCdXR0b24iLCJTQ0NBSU1IV3JhcHBlckljb24iLCJTQ0NBSU1IV3JhcHBlck1vZGFsIiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlIiwiU0NDQUlNSEFkZEFnZW50IiwiU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uIiwiU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dCIsIlNDQ0FJTUhEaXZpZGVyIiwiU0NDQUlNSEFnZW50c0xpc3QiLCJTQ0NBSU1ITG9hZGVyV3JhcHBlciIsIlNDQ0FJTUhQbHVzSWNvbldyYXBwZXIiLCJTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciIsIlNDQ0FJTUhMYXlvdXRNZW51UGFuZWwiLCJTQ0NBSU1ITGF5b3V0TWVudVJvdyIsIlNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbiIsIlNDQ0FJTUhCYWNrQnV0dG9uIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJ1c2VVc2VyIiwiaXNNYWlhQ2xvbmVBZ2VudHNSb2xlQmxvY2tlZCIsIkNoaXBMbG0iLCJMb2FkZXIiLCJ1c2VNYWlhVGFza1BhbmVsWkluZGV4IiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiQ2hhdEFJTW9kYWxIZWFkZXIiLCJfcmVmIiwiX3VzZXIkcGVybWlzc2lvbnMiLCJfbG9jYWxBZ2VudHMkbmFtZSIsImxheW91dE1vZGUiLCJvbkxheW91dE1vZGVDaGFuZ2UiLCJleHBhbmRlZCIsIl9yZWYkZHJhZ2dhYmxlIiwiZHJhZ2dhYmxlIiwib25EcmFnU3RhcnQiLCJvbkRyYWdNb3ZlIiwib25EcmFnRW5kIiwiX3JlZiRoYW5kbGVDbG9zZSIsImhhbmRsZUNsb3NlIiwiX3JlZiRhZ2VudHMiLCJhZ2VudHMiLCJfcmVmJGhhc0Vycm9yIiwiaGFzRXJyb3IiLCJfcmVmJGxvYWRpbmciLCJsb2FkaW5nIiwiX3JlZiRsb2FkaW5nTW9yZSIsImxvYWRpbmdNb3JlIiwiX3JlZiRoYXNNb3JlIiwiaGFzTW9yZSIsImhhbmRsZVJlc2V0Q2hhdCIsIm9uQWdlbnRVcGRhdGUiLCJsb2FkTW9yZUFnZW50cyIsInNvcnRBZ2VudHNMaXN0IiwiX3JlZiRpc015QWdlbnRzU2VjdGlvIiwiaXNNeUFnZW50c1NlY3Rpb24iLCJfcmVmJGlzTWFpYWtlclNlY3Rpb24iLCJpc01haWFrZXJTZWN0aW9uIiwib25BZ2VudFNlbGVjdGVkIiwiX3JlZiRzaG93QmFja0J1dHRvbiIsInNob3dCYWNrQnV0dG9uIiwiX3JlZiRvbkJhY2siLCJvbkJhY2siLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsImNoYXRBSSIsInQiLCJ1c2VyIiwiYW1wbGl0dWRFdmVudCIsIl91c2VHbG9iYWxDb250ZXh0Iiwic2VsZWN0ZWRBZ2VudCIsImFnZW50Iiwic2VsZWN0QWdlbnQiLCJzZXRQcm9qZWN0Iiwic2V0Q2xpZW50Iiwic2V0VGFzayIsInNlY3Rpb24iLCJ0b29sdGlwWkluZGV4IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNFeHBhbmRlZCIsInNldElzRXhwYW5kZWQiLCJ0ZXh0UmVmQWdlbnQiLCJkcm9wZG93blJlZiIsImxheW91dE1lbnVSZWYiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxheW91dE1lbnVPcGVuIiwic2V0TGF5b3V0TWVudU9wZW4iLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJuYW1lIiwic2hvd1Rvb2x0aXBBZ2VudCIsInNob3dUb29sdGlwIiwiYWdlbnRzUmVmIiwiaXNNYWlhQWdlbnQiLCJhZ2VudEl0ZW0iLCJ0eXBlIiwiYWdlbnRzRm9yU2VsZWN0b3IiLCJmaWx0ZXIiLCJlbnRpdHkiLCJ1c2VyUGVybWlzc2lvbnMiLCJwZXJtaXNzaW9ucyIsImFpX2FnZW50cyIsImNhbkNyZWF0ZUFnZW50IiwiY3JlYXRlIiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyIsInNob3dIZWFkZXJDcmVhdGVBZ2VudEJ1dHRvbiIsImhhbmRsZU9wZW5DcmVhdGVBZ2VudE1vZGFsIiwib3Blbk1vZGFsIiwib3B0aW9uIiwiZG9jdW1lbnQiLCJkaXNwYXRjaEV2ZW50IiwiQ3VzdG9tRXZlbnQiLCJkZXRhaWwiLCJhZ2VudFZhbHVlcyIsInZhbHVlcyIsImlzRWRpdGluZyIsImlzT3BlbiIsInVuZGVmaW5lZCIsImhhbmRsZVNjcm9sbCIsImN1cnJlbnQiLCJfYWdlbnRzUmVmJGN1cnJlbnQiLCJzY3JvbGxUb3AiLCJzY3JvbGxIZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJkaXN0YW5jZUZyb21Cb3R0b20iLCJ0aW1lb3V0SWQiLCJzZXRUaW1lb3V0Iiwic2Nyb2xsRWxlbWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJjbGVhclRpbWVvdXQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwibG9jYWxBZ2VudHMiLCJfcmVmMiIsImlzX2RlbGV0ZWQiLCJoYXNfbm90X3Blcm1pc3Npb25zIiwiaGFzX25vdF9hY2Nlc3MiLCJpc19mcm9tX2NvbnZlcnNhdGlvbiIsImlzX2xlZ2FjeV9jb250ZXh0IiwiZnJvbUxpc3QiLCJmaW5kIiwiaWQiLCJzZWxlY3Rvckljb24iLCJlbW9qaSIsInNlbGVjdG9yTGFiZWwiLCJucyIsImhhbmRsZVNlbGVjdEFnZW50IiwiYWlDaGF0QWdlbnRTZWxlY3QiLCJhZ2VudF90eXBlIiwibmVlZHNFbnRpdHkiLCJoYW5kbGVFeHBhbmRNb2RhbCIsImFpQ2hhdE9wZW5BZ2VudFNlbGVjdCIsInByZXYiLCJoYW5kbGVDbGlja091dHNpZGUiLCJldmVudCIsInRhcmdldCIsImNvbnRhaW5zIiwiaGFuZGxlUGlja0xheW91dCIsIm1vZGUiLCJwcm9qZWN0UmVzdW1lRXhwYW5kIiwiYWlDaGF0U2VsZWN0Vmlld09wdGlvbnMiLCJjbG9uZUFnZW50c1JvbGVCbG9ja2VkIiwicmVuZGVyTW9kYWwiLCJyZWYiLCJvbkNsaWNrIiwibGVuZ3RoIiwiY2hpbGRyZW4iLCJfb2JqZWN0U3ByZWFkIiwidGl0bGUiLCJzdHlsZSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwiZ2FwIiwicGxhY2VtZW50IiwiekluZGV4IiwiaXNBZ2VudERlbGV0ZWQiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIiwibWFpYUFnZW50cyIsIm1hcCIsIm1haWFBZ2VudCIsImluZGV4IiwiaXNTZWxlY3RlZCIsImlzTWFpYSIsIm9uRmF2b3JpdGVUb2dnbGUiLCJjb25jYXQiLCJzb21lIiwiY29tcGFueSIsImFnZW50c0NvdW50Iiwic2l6ZSIsInNlbGVjdGVkTW9kZWxMbG0iLCJtb2RlbF9kaXNwbGF5X25hbWUiLCJzZWxlY3RlZEFnZW50VHlwZSIsInNob3VsZFJlbmRlclNlbGVjdG9yIiwiJGhhc0Vycm9yIiwiJGxvYWRpbmciLCIkaGFzQWdlbnRzIiwib25Qb2ludGVyRG93biIsIm9uUG9pbnRlck1vdmUiLCJvblBvaW50ZXJVcCIsIm9uUG9pbnRlckNhbmNlbCIsIm9uTG9zdFBvaW50ZXJDYXB0dXJlIiwiY3Vyc29yIiwidG91Y2hBY3Rpb24iLCJtb2RlbCIsImJ1dHRvbklkIiwiaGFuZGxlQ2xpY2siLCJhaUNoYXRPcGVuVmlld09wdGlvbnMiLCJ0b29sdGlwIiwiZGlzYWJsZVRvb2x0aXAiLCJyb2xlIiwiJGFjdGl2ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9jb21wb25lbnRzL0NoYXRBaU1vZGFsSGVhZGVyL0NoYXRBaU1vZGFsSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvaW5kZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1uZXN0ZWQtdGVybmFyeSAqL1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlTWVtbywgUG9pbnRlckV2ZW50IGFzIFJlYWN0UG9pbnRlckV2ZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyBDcm9zcyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzJ1xuaW1wb3J0IHsgQ2hldnJvbkRvd24gfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGV2cm9uRG93bidcbmltcG9ydCB7IENoZXZyb25MZWZ0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hldnJvbkxlZnQnXG5pbXBvcnQgeyBQbHVzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvUGx1cydcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvSWNvbkJ1dHRvbidcbmltcG9ydCB7IE1BSUFJY29uLCBNYWlhQ2hhdExheW91dE1lbnVJY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvaWNvbnMnXG5pbXBvcnQgeyBNYWlhQ2hhdExheW91dFNpZGViYXJJY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvaWNvbnMvTWFpYUNoYXRMYXlvdXRTaWRlYmFySWNvbidcbmltcG9ydCB7IE1haWFDaGF0TGF5b3V0RnVsbHNjcmVlbkljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9pY29ucy9NYWlhQ2hhdExheW91dEZ1bGxzY3JlZW5JY29uJ1xuaW1wb3J0IHsgTWFpYUNoYXRMYXlvdXRGbG9hdGluZ0ljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9pY29ucy9NYWlhQ2hhdExheW91dEZsb2F0aW5nSWNvbidcbmltcG9ydCB7IENoYXRBSUFnZW50T3B0aW9uIH0gZnJvbSAnLi4vQ2hhdEFpQWdlbnRPcHRpb25zL0NoYXRBaUFnZW50T3B0aW9ucydcbmltcG9ydCB7XG4gIFNDQ0FJTUhNb2RhbCxcbiAgU0NDQUlNSFNlbGVjdGVkQWdlbnQsXG4gIFNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCxcbiAgU0NDQUlNSFdyYXBwZXIsXG4gIFNDQ0FJTUhXcmFwcGVyQnV0dG9uLFxuICBTQ0NBSU1IV3JhcHBlckljb24sXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWwsXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50LFxuICBTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlLFxuICBTQ0NBSU1IQWRkQWdlbnQsXG4gIFNDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvbixcbiAgU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dCxcbiAgU0NDQUlNSERpdmlkZXIsXG4gIFNDQ0FJTUhBZ2VudHNMaXN0LFxuICBTQ0NBSU1ITG9hZGVyV3JhcHBlcixcbiAgU0NDQUlNSFBsdXNJY29uV3JhcHBlcixcbiAgU0NDQUlNSExheW91dE1lbnVBbmNob3IsXG4gIFNDQ0FJTUhMYXlvdXRNZW51UGFuZWwsXG4gIFNDQ0FJTUhMYXlvdXRNZW51Um93LFxuICBTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24sXG4gIFNDQ0FJTUhCYWNrQnV0dG9uLFxufSBmcm9tICcuL0NoYXRBaU1vZGFsSGVhZGVyLnN0eWxlcydcbmltcG9ydCB0eXBlIHsgTWFpYUNoYXRNb2RhbExheW91dE1vZGUgfSBmcm9tICcuLi8uLi9sYXlvdXQnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IGlzTWFpYUNsb25lQWdlbnRzUm9sZUJsb2NrZWQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25zdGFudHMvbWFpYVRhc2tQYW5lbEFjY2VzcydcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBDaGlwTGxtIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvQ2hpcExsbSdcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0xvYWRlcidcbmltcG9ydCB7IHVzZU1haWFUYXNrUGFuZWxaSW5kZXggfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VNYWlhVGFza1BhbmVsWkluZGV4J1xuXG5leHBvcnQgY29uc3QgQ2hhdEFJTW9kYWxIZWFkZXIgPSAoe1xuICBsYXlvdXRNb2RlLFxuICBvbkxheW91dE1vZGVDaGFuZ2UsXG4gIGV4cGFuZGVkLFxuICBkcmFnZ2FibGUgPSBmYWxzZSxcbiAgb25EcmFnU3RhcnQsXG4gIG9uRHJhZ01vdmUsXG4gIG9uRHJhZ0VuZCxcbiAgaGFuZGxlQ2xvc2UgPSAoKSA9PiBudWxsLFxuICBhZ2VudHMgPSBbXSxcbiAgaGFzRXJyb3IgPSBmYWxzZSxcbiAgbG9hZGluZyA9IGZhbHNlLFxuICBsb2FkaW5nTW9yZSA9IGZhbHNlLFxuICBoYXNNb3JlID0gZmFsc2UsXG4gIGhhbmRsZVJlc2V0Q2hhdCxcbiAgb25BZ2VudFVwZGF0ZSxcbiAgbG9hZE1vcmVBZ2VudHMsXG4gIHNvcnRBZ2VudHNMaXN0LFxuICBpc015QWdlbnRzU2VjdGlvbiA9IGZhbHNlLFxuICBpc01haWFrZXJTZWN0aW9uID0gZmFsc2UsXG4gIG9uQWdlbnRTZWxlY3RlZCxcbiAgc2hvd0JhY2tCdXR0b24gPSBmYWxzZSxcbiAgb25CYWNrID0gKCkgPT4gbnVsbCxcbn06IHtcbiAgbGF5b3V0TW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbiAgb25MYXlvdXRNb2RlQ2hhbmdlOiAobW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGUpID0+IHZvaWRcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgZHJhZ2dhYmxlPzogYm9vbGVhblxuICBvbkRyYWdTdGFydD86IChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uRHJhZ01vdmU/OiAoZXZlbnQ6IFJlYWN0UG9pbnRlckV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZFxuICBvbkRyYWdFbmQ/OiAoZXZlbnQ6IFJlYWN0UG9pbnRlckV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZFxuICBoYW5kbGVDbG9zZT86ICgpID0+IHZvaWRcbiAgYWdlbnRzOiBBZ2VudFtdXG4gIGhhc0Vycm9yOiBib29sZWFuXG4gIGxvYWRpbmc6IGJvb2xlYW5cbiAgbG9hZGluZ01vcmU/OiBib29sZWFuXG4gIGhhc01vcmU/OiBib29sZWFuXG4gIGhhbmRsZVJlc2V0Q2hhdDogKCkgPT4gdm9pZFxuICBvbkFnZW50VXBkYXRlPzogKHVwZGF0ZWRBZ2VudDogQWdlbnQpID0+IHZvaWRcbiAgbG9hZE1vcmVBZ2VudHM/OiAoKSA9PiB2b2lkXG4gIHNvcnRBZ2VudHNMaXN0PzogKCkgPT4gdm9pZFxuICAvKiogU2VjY2nDs24gXCJNaXMgYWdlbnRlc1wiOiBzaSBubyBoYXkgYWdlbnRlIHNldGVhZG8sIGVsIHNlbGVjdG9yIG11ZXN0cmEgZWwgaWNvbm8gZGUgTUFJQSB5IGVsIG5vbWJyZSBkZSBsYSBzZWNjacOzbiAqL1xuICBpc015QWdlbnRzU2VjdGlvbj86IGJvb2xlYW5cbiAgLyoqIFNlY2Npw7NuIFwiQ3JlYWRvciBkZSBhZ2VudGVzXCIgKE1haWFrZXIpOiBoYWJpbGl0YSBlbCBib3TDs24gXCJDcmVhciBhZ2VudGVcIiBkZWwgaGVhZGVyICovXG4gIGlzTWFpYWtlclNlY3Rpb24/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTZSBpbnZvY2EgZGVzcHXDqXMgZGVsIHJlc2V0IGN1YW5kbyBlbCBhZ2VudGUgc2VsZWNjaW9uYWRvIE5PIHJlcXVpZXJlIHNlbGVjY2nDs25cbiAgICogZGUgZW50aXR5IChjdXN0b20gbyBjbG9uZStnbG9iYWwpLiBQZXJtaXRlIHJlc29sdmVyIGBHRVQgL3YyL3Nlc3Npb25zL2FnZW50L3tpZH1gXG4gICAqIHkgbmF2ZWdhciBhIHVuYSBjb252ZXJzYWNpw7NuIGV4aXN0ZW50ZSBzaSBsYSBoYXkuXG4gICAqL1xuICBvbkFnZW50U2VsZWN0ZWQ/OiAoYWdlbnQ6IEFnZW50KSA9PiB2b2lkIHwgUHJvbWlzZTx1bmtub3duPlxuICBzaG93QmFja0J1dHRvbj86IGJvb2xlYW5cbiAgb25CYWNrPzogKCkgPT4gdm9pZFxufSkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5hYm1BZ2VudCwgU0VDVElPTlMuY2hhdEFJXSlcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCBhbXBsaXR1ZEV2ZW50ID0gdXNlRXZlbnQoKVxuICBjb25zdCB7IGFnZW50OiBzZWxlY3RlZEFnZW50LCBzZWxlY3RBZ2VudCwgc2V0UHJvamVjdCwgc2V0Q2xpZW50LCBzZXRUYXNrLCBzZWN0aW9uIH0gPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgLy8gRW4gc2VjdGlvbiAndGFzaycgZWwgbW9kYWwgZGUgTWFpYSBzZSBlbGV2YSBwb3IgZW5jaW1hIGRlbCB0YXNrIHBhbmVsICh6LWluZGV4IDk4MDAwMDEpLlxuICAvLyBMb3MgdG9vbHRpcHMgc2UgbW9udGFuIGVuIHBvcnRhbCBjb24gei1pbmRleCAxNTAwIHBvciBkZWZlY3RvLCBhc8OtIHF1ZSBxdWVkYXLDrWFuIGRldHLDoXMuXG4gIC8vIFN1Ymltb3Mgc3Ugei1pbmRleCBzw7NsbyBlbiBlc3RlIGNhc28gcGFyYSBxdWUgc2UgdmVhbiBwb3IgZW5jaW1hIGRlbCBtb2RhbC5cbiAgY29uc3QgdG9vbHRpcFpJbmRleCA9IHVzZU1haWFUYXNrUGFuZWxaSW5kZXgoMTUwMCwgJ292ZXJsYXknKVxuICBjb25zdCBbaXNFeHBhbmRlZCwgc2V0SXNFeHBhbmRlZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgdGV4dFJlZkFnZW50ID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudD4obnVsbClcbiAgY29uc3QgZHJvcGRvd25SZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGxheW91dE1lbnVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtsYXlvdXRNZW51T3Blbiwgc2V0TGF5b3V0TWVudU9wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXA6IHNob3dUb29sdGlwQWdlbnQgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWZBZ2VudCwgW3NlbGVjdGVkQWdlbnQ/Lm5hbWVdKVxuICBjb25zdCBhZ2VudHNSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgY29uc3QgaXNNYWlhQWdlbnQgPSB1c2VDYWxsYmFjaygoYWdlbnRJdGVtOiBBZ2VudCkgPT4gYWdlbnRJdGVtLnR5cGUgPT09ICdvcmNoZXN0cmF0b3InLCBbXSlcbiAgY29uc3QgYWdlbnRzRm9yU2VsZWN0b3IgPSB1c2VNZW1vKFxuICAgICgpID0+IGFnZW50cy5maWx0ZXIoYWdlbnRJdGVtID0+IGlzTWFpYUFnZW50KGFnZW50SXRlbSkgfHwgYWdlbnRJdGVtLmVudGl0eSAhPT0gJ2dsb2JhbCcpLFxuICAgIFthZ2VudHMsIGlzTWFpYUFnZW50XVxuICApXG5cbiAgY29uc3QgdXNlclBlcm1pc3Npb25zID0gdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50c1xuICBjb25zdCBjYW5DcmVhdGVBZ2VudCA9ICEhdXNlclBlcm1pc3Npb25zPy5jcmVhdGUgJiYgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICBjb25zdCBzaG93SGVhZGVyQ3JlYXRlQWdlbnRCdXR0b24gPSBjYW5DcmVhdGVBZ2VudCAmJiAoaXNNeUFnZW50c1NlY3Rpb24gfHwgaXNNYWlha2VyU2VjdGlvbilcblxuICBjb25zdCBoYW5kbGVPcGVuQ3JlYXRlQWdlbnRNb2RhbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5vcGVuTW9kYWwsIHsgb3B0aW9uOiAnY3JlYXRlX2FnZW50JyB9KVxuICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgIGlzRWRpdGluZzogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIClcbiAgfSwgW2FtcGxpdHVkRXZlbnRdKVxuXG4gIC8vIE1hbmVqYXIgc2Nyb2xsIGluZmluaXRvIHBhcmEgY2FyZ2FyIG3DoXMgYWdlbnRzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gU29sbyBjdWFuZG8gZWwgZHJvcGRvd24gZXN0w6kgYWJpZXJ0b1xuICAgIGlmICghaXNFeHBhbmRlZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICAgIGlmICghYWdlbnRzUmVmLmN1cnJlbnQgfHwgIWxvYWRNb3JlQWdlbnRzIHx8ICFoYXNNb3JlIHx8IGxvYWRpbmdNb3JlKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgICBjb25zdCBkaXN0YW5jZUZyb21Cb3R0b20gPSBzY3JvbGxIZWlnaHQgLSBzY3JvbGxUb3AgLSBjbGllbnRIZWlnaHRcblxuICAgICAgLy8gQ2FyZ2FyIG3DoXMgKDUwcHggYW50ZXMpXG4gICAgICBpZiAoZGlzdGFuY2VGcm9tQm90dG9tIDwgNTApIHtcbiAgICAgICAgbG9hZE1vcmVBZ2VudHMoKVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGRlbGF5IHBhcmEgYXNlZ3VyYXIgcXVlIGVsIERPTSBlc3TDqSByZW5kZXJpemFkb1xuICAgIGNvbnN0IHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3Qgc2Nyb2xsRWxlbWVudCA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgICBpZiAoc2Nyb2xsRWxlbWVudCkge1xuICAgICAgICBzY3JvbGxFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcbiAgICAgIH1cbiAgICB9LCAxMDApXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZClcbiAgICAgIGNvbnN0IHNjcm9sbEVsZW1lbnQgPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgaWYgKHNjcm9sbEVsZW1lbnQpIHtcbiAgICAgICAgc2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgICB9XG4gICAgfVxuICB9LCBbaXNFeHBhbmRlZCwgbG9hZE1vcmVBZ2VudHMsIGhhc01vcmUsIGxvYWRpbmdNb3JlXSlcblxuICBjb25zdCBsb2NhbEFnZW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIHNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5pc19mcm9tX2NvbnZlcnNhdGlvbiB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaXNfbGVnYWN5X2NvbnRleHRcbiAgICApIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZEFnZW50XG4gICAgfVxuICAgIGNvbnN0IGZyb21MaXN0ID0gYWdlbnRzLmZpbmQoXG4gICAgICBhZ2VudCA9PlxuICAgICAgICAhYWdlbnQuaXNfZGVsZXRlZCAmJiAhYWdlbnQuaGFzX25vdF9wZXJtaXNzaW9ucyAmJiAhYWdlbnQuaGFzX25vdF9hY2Nlc3MgJiYgYWdlbnQuaWQgPT09IHNlbGVjdGVkQWdlbnQ/LmlkXG4gICAgKVxuICAgIC8vIEFnZW50ZSBoaWRyYXRhZG8gcG9yIEdFVCAocC4gZWouIG51ZXZvIGNoYXQgdHJhcyBjcmVhdGVfYWdlbnQpIHB1ZWRlIG5vIGVzdGFyIGHDum4gZW4gbGEgbGlzdGEgcGFnaW5hZGFcbiAgICByZXR1cm4gZnJvbUxpc3QgPz8gc2VsZWN0ZWRBZ2VudCA/PyBudWxsXG4gIH0sIFthZ2VudHMsIHNlbGVjdGVkQWdlbnRdKVxuXG4gIC8vIEVuICdNaXMgYWdlbnRlcycgc2luIGFnZW50ZSBzZXRlYWRvLCBlbCBzZWxlY3RvciBtdWVzdHJhIGVsIGljb25vIGRlIE1BSUEgeSBlbCBub21icmUgZGUgbGEgc2VjY2nDs25cbiAgLy8gZW4gbHVnYXIgZGVsIGFnZW50ZSwgcGFyYSBxdWUgZWwgdXN1YXJpbyBwdWVkYSBhYnJpciBlbCBkcm9wZG93biB5IGVsZWdpciB1bm8uXG4gIGNvbnN0IHNlbGVjdG9ySWNvbiA9XG4gICAgbG9jYWxBZ2VudHM/LnR5cGUgPT09ICdjdXN0b20nICYmICFsb2NhbEFnZW50cz8uaXNfbGVnYWN5X2NvbnRleHQgPyBsb2NhbEFnZW50cz8uZW1vamkgOiA8TUFJQUljb24gLz5cbiAgY29uc3Qgc2VsZWN0b3JMYWJlbCA9XG4gICAgbG9jYWxBZ2VudHM/Lm5hbWUgPz8gKGlzTXlBZ2VudHNTZWN0aW9uID8gdCgnbWFya2V0cGxhY2UubXlBZ2VudHNUaXRsZScsIHsgbnM6IFNFQ1RJT05TLmNoYXRBSSB9KSA6ICcnKVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEFnZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgKGFnZW50OiBBZ2VudCkgPT4ge1xuICAgICAgc2VsZWN0QWdlbnQoYWdlbnQpXG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRBZ2VudFNlbGVjdCwge1xuICAgICAgICBhZ2VudF90eXBlOiBhZ2VudD8udHlwZSxcbiAgICAgIH0pXG4gICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgc2V0UHJvamVjdChudWxsKVxuICAgICAgc2V0Q2xpZW50Py4obnVsbClcbiAgICAgIHNldFRhc2sobnVsbClcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBoYW5kbGVSZXNldENoYXQoKVxuICAgICAgICAvLyBTaSBlbCBhZ2VudGUgbm8gZGVwZW5kZSBkZSB1bmEgZW50aXR5IChjdXN0b20gbyBjbG9uZStnbG9iYWwpIHlhIHBvZGVtb3NcbiAgICAgICAgLy8gcmVzb2x2ZXIgc2kgZXhpc3RlIHVuYSBzZXNpw7NuIHByZXZpYSB5LCBlbiBlc2UgY2FzbywgbmF2ZWdhciBhIGVsbGEuXG4gICAgICAgIC8vIFBhcmEgY2xvbmUrcHJvamVjdHxjbGllbnQsIGxhIHJlc29sdWNpw7NuIG9jdXJyZSBlbiBsb3Mgc2VsZWN0b3JzIGRlIGVudGl0eS5cbiAgICAgICAgY29uc3QgbmVlZHNFbnRpdHkgPSBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyAmJiAoYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnIHx8IGFnZW50Py5lbnRpdHkgPT09ICdjbGllbnQnKVxuICAgICAgICBpZiAoIW5lZWRzRW50aXR5KSB7XG4gICAgICAgICAgb25BZ2VudFNlbGVjdGVkPy4oYWdlbnQpXG4gICAgICAgIH1cbiAgICAgIH0sIDEwMClcbiAgICB9LFxuICAgIFtzZWxlY3RBZ2VudCwgYW1wbGl0dWRFdmVudCwgaGFuZGxlUmVzZXRDaGF0LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQsIHNldFRhc2ssIG9uQWdlbnRTZWxlY3RlZF1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUV4cGFuZE1vZGFsID0gKCkgPT4ge1xuICAgIGlmICghaXNFeHBhbmRlZCkge1xuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0T3BlbkFnZW50U2VsZWN0KVxuICAgICAgLy8gQ3VhbmRvIHNlIGFicmUgZWwgc2VsZWN0b3IsIG9yZGVuYXIgbG9zIGFnZW50ZXNcbiAgICAgIGlmIChzb3J0QWdlbnRzTGlzdCkge1xuICAgICAgICBzb3J0QWdlbnRzTGlzdCgpXG4gICAgICB9XG4gICAgfVxuICAgIHNldElzRXhwYW5kZWQocHJldiA9PiAhcHJldilcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0V4cGFuZGVkICYmICFsYXlvdXRNZW51T3Blbikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIE5vZGVcbiAgICAgIGlmIChpc0V4cGFuZGVkICYmIGRyb3Bkb3duUmVmLmN1cnJlbnQgJiYgIWRyb3Bkb3duUmVmLmN1cnJlbnQuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgfVxuICAgICAgaWYgKGxheW91dE1lbnVPcGVuICYmIGxheW91dE1lbnVSZWYuY3VycmVudCAmJiAhbGF5b3V0TWVudVJlZi5jdXJyZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgc2V0TGF5b3V0TWVudU9wZW4oZmFsc2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuICB9LCBbaXNFeHBhbmRlZCwgbGF5b3V0TWVudU9wZW5dKVxuXG4gIGNvbnN0IGhhbmRsZVBpY2tMYXlvdXQgPSB1c2VDYWxsYmFjayhcbiAgICAobW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGUpID0+IHtcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLnByb2plY3RSZXN1bWVFeHBhbmQsIHtcbiAgICAgICAgZXhwYW5kZWQ6IG1vZGUgPT09ICdmdWxsc2NyZWVuJyxcbiAgICAgIH0pXG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRTZWxlY3RWaWV3T3B0aW9ucywgeyBvcHRpb246IG1vZGUgfSlcbiAgICAgIG9uTGF5b3V0TW9kZUNoYW5nZShtb2RlKVxuICAgICAgc2V0TGF5b3V0TWVudU9wZW4oZmFsc2UpXG4gICAgfSxcbiAgICBbYW1wbGl0dWRFdmVudCwgb25MYXlvdXRNb2RlQ2hhbmdlXVxuICApXG5cbiAgY29uc3QgY2xvbmVBZ2VudHNSb2xlQmxvY2tlZCA9IGlzTWFpYUNsb25lQWdlbnRzUm9sZUJsb2NrZWQodXNlciwgc2VjdGlvbilcblxuICBjb25zdCByZW5kZXJNb2RhbCA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUhXcmFwcGVyXG4gICAgICAgIHJlZj17ZHJvcGRvd25SZWZ9XG4gICAgICAgIGRhdGEtbm8tZHJhZz1cInRydWVcIlxuICAgICAgICBvbkNsaWNrPXthZ2VudHMubGVuZ3RoID8gaGFuZGxlRXhwYW5kTW9kYWwgOiB1bmRlZmluZWR9XG4gICAgICAgIGlkPVwiY2hhdC1haS1tb2RhbC1oZWFkZXItd3JhcHBlclwiXG4gICAgICA+XG4gICAgICAgIDxTQ0NBSU1IU2VsZWN0ZWRBZ2VudD5cbiAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgdGl0bGU9e1xuICAgICAgICAgICAgICBzaG93VG9vbHRpcEFnZW50ID8gKFxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJzRweCcgfX0+XG4gICAgICAgICAgICAgICAgICB7bG9jYWxBZ2VudHM/LnR5cGUgPT09ICdjdXN0b20nICYmICFsb2NhbEFnZW50cz8uaXNfbGVnYWN5X2NvbnRleHQgPyAoXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsQWdlbnRzPy5lbW9qaVxuICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgPE1BSUFJY29uIC8+XG4gICAgICAgICAgICAgICAgICApfXsnICd9XG4gICAgICAgICAgICAgICAgICB7bG9jYWxBZ2VudHM/Lm5hbWV9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICcnXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBsYWNlbWVudD17aXNFeHBhbmRlZCA/ICdsZWZ0JyA6ICd0b3AnfVxuICAgICAgICAgICAgey4uLih0b29sdGlwWkluZGV4ICE9IG51bGwgPyB7IHpJbmRleDogdG9vbHRpcFpJbmRleCB9IDoge30pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHRcbiAgICAgICAgICAgICAgcmVmPXt0ZXh0UmVmQWdlbnR9XG4gICAgICAgICAgICAgIGlzQWdlbnREZWxldGVkPXtcbiAgICAgICAgICAgICAgICAhIXNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgfHxcbiAgICAgICAgICAgICAgICAhIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHxcbiAgICAgICAgICAgICAgICAhIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzIHx8XG4gICAgICAgICAgICAgICAgISFzZWxlY3RlZEFnZW50Py5pc19sZWdhY3lfY29udGV4dFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJzRweCcgfX0+XG4gICAgICAgICAgICAgICAge3NlbGVjdG9ySWNvbn0ge3NlbGVjdG9yTGFiZWx9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0PlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPC9TQ0NBSU1IU2VsZWN0ZWRBZ2VudD5cbiAgICAgICAgPFNDQ0FJTUhXcmFwcGVySWNvbj5cbiAgICAgICAgICA8Q2hldnJvbkRvd24gd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSBjb2xvcj1cIiMyMDIwMUZcIiAvPlxuICAgICAgICA8L1NDQ0FJTUhXcmFwcGVySWNvbj5cbiAgICAgICAge2lzRXhwYW5kZWQgJiYgKFxuICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsPlxuICAgICAgICAgICAgPFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50PlxuICAgICAgICAgICAgICB7d2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyAmJiAhY2xvbmVBZ2VudHNSb2xlQmxvY2tlZCAmJiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYWlhQWdlbnRzID0gYWdlbnRzRm9yU2VsZWN0b3IuZmlsdGVyKGlzTWFpYUFnZW50KVxuICAgICAgICAgICAgICAgICAgICBpZiAoIW1haWFBZ2VudHMubGVuZ3RoKSByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7bWFpYUFnZW50cy5tYXAoKG1haWFBZ2VudCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPENoYXRBSUFnZW50T3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgYWdlbnQtJHttYWlhQWdlbnQuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2VudD17bWFpYUFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RBZ2VudD17aGFuZGxlU2VsZWN0QWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17c2VsZWN0ZWRBZ2VudD8uaWQgPT09IG1haWFBZ2VudC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc01haWFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZhdm9yaXRlVG9nZ2xlPXtvbkFnZW50VXBkYXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHthZ2VudHNGb3JTZWxlY3Rvci5zb21lKGFnZW50ID0+IGFnZW50LnR5cGUgPT09ICdjdXN0b20nKSAmJlxuICAgICAgICAgICAgICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTICYmIChcbiAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdhZ2VudHMnKX0gYnkge3VzZXIuY29tcGFueX1cbiAgICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSERpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDxTQ0NBSU1IQWdlbnRzTGlzdCBoYXNNb3JlPXtoYXNNb3JlfSBhZ2VudHNDb3VudD17YWdlbnRzRm9yU2VsZWN0b3IubGVuZ3RofSByZWY9e2FnZW50c1JlZn0+XG4gICAgICAgICAgICAgICAge2FnZW50c0ZvclNlbGVjdG9yPy5tYXAoKGFnZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaXNfZGVsZXRlZCB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaGFzX25vdF9hY2Nlc3MgfHxcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgfHxcbiAgICAgICAgICAgICAgICAgICAgaXNNYWlhQWdlbnQoYWdlbnQpIHx8XG4gICAgICAgICAgICAgICAgICAgIChhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbScgJiYgIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTKVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPENoYXRBSUFnZW50T3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAga2V5PXtgYWdlbnQtJHthZ2VudC5pZH1gfVxuICAgICAgICAgICAgICAgICAgICAgIGFnZW50PXthZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0QWdlbnQ9e2hhbmRsZVNlbGVjdEFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e3NlbGVjdGVkQWdlbnQ/LmlkID09PSBhZ2VudC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICBvbkZhdm9yaXRlVG9nZ2xlPXtvbkFnZW50VXBkYXRlfVxuICAgICAgICAgICAgICAgICAgICAgIHNldElzRXhwYW5kZWQ9e3NldElzRXhwYW5kZWR9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAge2xvYWRpbmdNb3JlICYmIChcbiAgICAgICAgICAgICAgICAgIDxTQ0NBSU1ITG9hZGVyV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgPExvYWRlciBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1ITG9hZGVyV3JhcHBlcj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhBZ2VudHNMaXN0PlxuICAgICAgICAgICAgICB7dXNlclBlcm1pc3Npb25zPy5jcmVhdGUgJiZcbiAgICAgICAgICAgICAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyAmJlxuICAgICAgICAgICAgICAgICFpc015QWdlbnRzU2VjdGlvbiAmJlxuICAgICAgICAgICAgICAgICFpc01haWFrZXJTZWN0aW9uICYmIChcbiAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IQWRkQWdlbnRcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIHNldElzRXhwYW5kZWQoZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMub3Blbk1vZGFsLCB7IG9wdGlvbjogJ2NyZWF0ZV9hZ2VudCcgfSlcbiAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KCdhYm0tYWdlbnQtbW9kYWwtc2V0LXZhbHVlcycsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdlbnRWYWx1ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IUGx1c0ljb25XcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgIDxQbHVzIGNvbG9yPVwid2hpdGVcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSFBsdXNJY29uV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAge3QoJ2NyZWF0ZUFnZW50Jyl9XG4gICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhBZGRBZ2VudD5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudD5cbiAgICAgICAgICA8L1NDQ0FJTUhXcmFwcGVyTW9kYWw+XG4gICAgICAgICl9XG4gICAgICA8L1NDQ0FJTUhXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHNlbGVjdGVkTW9kZWxMbG0gPSBzZWxlY3RlZEFnZW50Py5tb2RlbF9kaXNwbGF5X25hbWVcbiAgY29uc3Qgc2VsZWN0ZWRBZ2VudFR5cGUgPSBzZWxlY3RlZEFnZW50Py50eXBlID09PSAnY3VzdG9tJ1xuICBjb25zdCBzaG91bGRSZW5kZXJTZWxlY3RvciA9XG4gICAgIWhhc0Vycm9yICYmXG4gICAgIWxvYWRpbmcgJiZcbiAgICAoISFzZWxlY3RlZEFnZW50IHx8IGlzTXlBZ2VudHNTZWN0aW9uKSAmJlxuICAgICghIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIHx8ICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUylcblxuICByZXR1cm4gKFxuICAgIDxTQ0NBSU1ITW9kYWxcbiAgICAgICRoYXNFcnJvcj17aGFzRXJyb3J9XG4gICAgICAkbG9hZGluZz17bG9hZGluZ31cbiAgICAgICRoYXNBZ2VudHM9eyEhYWdlbnRzLmxlbmd0aH1cbiAgICAgIG9uUG9pbnRlckRvd249e2RyYWdnYWJsZSA/IG9uRHJhZ1N0YXJ0IDogdW5kZWZpbmVkfVxuICAgICAgb25Qb2ludGVyTW92ZT17ZHJhZ2dhYmxlID8gb25EcmFnTW92ZSA6IHVuZGVmaW5lZH1cbiAgICAgIG9uUG9pbnRlclVwPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBvblBvaW50ZXJDYW5jZWw9e2RyYWdnYWJsZSA/IG9uRHJhZ0VuZCA6IHVuZGVmaW5lZH1cbiAgICAgIG9uTG9zdFBvaW50ZXJDYXB0dXJlPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBzdHlsZT17eyBjdXJzb3I6IGRyYWdnYWJsZSA/ICdncmFiJyA6IHVuZGVmaW5lZCwgdG91Y2hBY3Rpb246IGRyYWdnYWJsZSA/ICdtYW5pcHVsYXRpb24nIDogdW5kZWZpbmVkIH19XG4gICAgPlxuICAgICAge3Nob3VsZFJlbmRlclNlbGVjdG9yID8gcmVuZGVyTW9kYWwoKSA6IDxkaXYgLz59XG4gICAgICA8U0NDQUlNSFdyYXBwZXJCdXR0b24gZGF0YS1uby1kcmFnPVwidHJ1ZVwiPlxuICAgICAgICB7c2hvd0JhY2tCdXR0b24gJiYgKFxuICAgICAgICAgIDxTQ0NBSU1IQmFja0J1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIG9uQmFjaygpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxDaGV2cm9uTGVmdCB3aWR0aD17MTR9IGhlaWdodD17MTR9IGNvbG9yPVwiIzM0MzQzM1wiIC8+XG4gICAgICAgICAgICB7dCgnYmFjaycpfVxuICAgICAgICAgIDwvU0NDQUlNSEJhY2tCdXR0b24+XG4gICAgICAgICl9XG4gICAgICAgIHtzZWxlY3RlZEFnZW50VHlwZSAmJiBzZWxlY3RlZE1vZGVsTGxtICYmIDxDaGlwTGxtIG1vZGVsPXtzZWxlY3RlZE1vZGVsTGxtfSBleHBhbmRlZD17ZXhwYW5kZWR9IC8+fVxuICAgICAgICB7c2hvd0hlYWRlckNyZWF0ZUFnZW50QnV0dG9uICYmIChcbiAgICAgICAgICA8U0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVPcGVuQ3JlYXRlQWdlbnRNb2RhbH0+XG4gICAgICAgICAgICA8U0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dD57dCgnb3BlbkFnZW50Q3JlYXRvcicpfTwvU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dD5cbiAgICAgICAgICA8L1NDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51QW5jaG9yIHJlZj17bGF5b3V0TWVudVJlZn0gZGF0YS1uby1kcmFnPVwidHJ1ZVwiPlxuICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICBidXR0b25JZD1cImJ0bi1tYWlhLWxheW91dC1tZW51XCJcbiAgICAgICAgICAgIGhhbmRsZUNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghbGF5b3V0TWVudU9wZW4pIHtcbiAgICAgICAgICAgICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRPcGVuVmlld09wdGlvbnMpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgc2V0TGF5b3V0TWVudU9wZW4ocHJldiA9PiAhcHJldilcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICB0b29sdGlwPXt0KCdsYXlvdXRNZW51VG9vbHRpcCcpfVxuICAgICAgICAgICAgZGlzYWJsZVRvb2x0aXA9e2xheW91dE1lbnVPcGVufVxuICAgICAgICAgICAgdG9vbHRpcFpJbmRleD17dG9vbHRpcFpJbmRleH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TWFpYUNoYXRMYXlvdXRNZW51SWNvbiAvPlxuICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICB7bGF5b3V0TWVudU9wZW4gPyAoXG4gICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVQYW5lbCByb2xlPVwibWVudVwiPlxuICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAkYWN0aXZlPXtsYXlvdXRNb2RlID09PSAnc2lkZWJhcid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnc2lkZWJhcicpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbiBhcmlhLWhpZGRlbj5cbiAgICAgICAgICAgICAgICAgIDxNYWlhQ2hhdExheW91dFNpZGViYXJJY29uIC8+XG4gICAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24+XG4gICAgICAgICAgICAgICAge3QoJ2xheW91dFNpZGViYXInKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvdz5cbiAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgJGFjdGl2ZT17bGF5b3V0TW9kZSA9PT0gJ2Z1bGxzY3JlZW4nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVBpY2tMYXlvdXQoJ2Z1bGxzY3JlZW4nKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24gYXJpYS1oaWRkZW4+XG4gICAgICAgICAgICAgICAgICA8TWFpYUNoYXRMYXlvdXRGdWxsc2NyZWVuSWNvbiAvPlxuICAgICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3dJY29uPlxuICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRGdWxsc2NyZWVuJyl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3c+XG4gICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd1xuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICRhY3RpdmU9e2xheW91dE1vZGUgPT09ICdmbG9hdGluZyd9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnZmxvYXRpbmcnKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24gYXJpYS1oaWRkZW4+XG4gICAgICAgICAgICAgICAgICA8TWFpYUNoYXRMYXlvdXRGbG9hdGluZ0ljb24gLz5cbiAgICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93SWNvbj5cbiAgICAgICAgICAgICAgICB7dCgnbGF5b3V0RmxvYXRpbmcnKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvdz5cbiAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVQYW5lbD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudUFuY2hvcj5cbiAgICAgICAgPEljb25CdXR0b24gaGFuZGxlQ2xpY2s9e2hhbmRsZUNsb3NlfSB0b29sdGlwPXt0KCdnbG9iYWxzLmNsb3NlJyl9IHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9PlxuICAgICAgICAgIDxDcm9zcyAvPlxuICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICA8L1NDQ0FJTUhXcmFwcGVyQnV0dG9uPlxuICAgIDwvU0NDQUlNSE1vZGFsPlxuICApXG59XG4iXSwibWFwcGlu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
446
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJDcm9zcyIsIkNoZXZyb25Eb3duIiwiQ2hldnJvbkxlZnQiLCJQbHVzIiwidXNlVHJhbnNsYXRpb24iLCJTRUNUSU9OUyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkljb25CdXR0b24iLCJNQUlBSWNvbiIsIk1haWFDaGF0TGF5b3V0TWVudUljb24iLCJNYWlhQ2hhdExheW91dFNpZGViYXJJY29uIiwiTWFpYUNoYXRMYXlvdXRGdWxsc2NyZWVuSWNvbiIsIk1haWFDaGF0TGF5b3V0RmxvYXRpbmdJY29uIiwiQ2hhdEFJQWdlbnRPcHRpb24iLCJTQ0NBSU1ITW9kYWwiLCJTQ0NBSU1IU2VsZWN0ZWRBZ2VudCIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCIsIlNDQ0FJTUhXcmFwcGVyIiwiU0NDQUlNSFdyYXBwZXJCdXR0b24iLCJTQ0NBSU1IV3JhcHBlckljb24iLCJTQ0NBSU1IV3JhcHBlck1vZGFsIiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlIiwiU0NDQUlNSEFkZEFnZW50IiwiU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uIiwiU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dCIsIlNDQ0FJTUhEaXZpZGVyIiwiU0NDQUlNSEFnZW50c0xpc3QiLCJTQ0NBSU1ITG9hZGVyV3JhcHBlciIsIlNDQ0FJTUhQbHVzSWNvbldyYXBwZXIiLCJTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciIsIlNDQ0FJTUhMYXlvdXRNZW51UGFuZWwiLCJTQ0NBSU1ITGF5b3V0TWVudVJvdyIsIlNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbiIsIlNDQ0FJTUhCYWNrQnV0dG9uIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJ1c2VVc2VyIiwiaXNNYWlhQ2xvbmVBZ2VudHNSb2xlQmxvY2tlZCIsIkxvYWRlciIsInVzZU1haWFUYXNrUGFuZWxaSW5kZXgiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJDaGF0QUlNb2RhbEhlYWRlciIsIl9yZWYiLCJfdXNlciRwZXJtaXNzaW9ucyIsIl9sb2NhbEFnZW50cyRuYW1lIiwibGF5b3V0TW9kZSIsIm9uTGF5b3V0TW9kZUNoYW5nZSIsIl9yZWYkZHJhZ2dhYmxlIiwiZHJhZ2dhYmxlIiwib25EcmFnU3RhcnQiLCJvbkRyYWdNb3ZlIiwib25EcmFnRW5kIiwiX3JlZiRoYW5kbGVDbG9zZSIsImhhbmRsZUNsb3NlIiwiX3JlZiRhZ2VudHMiLCJhZ2VudHMiLCJfcmVmJGhhc0Vycm9yIiwiaGFzRXJyb3IiLCJfcmVmJGxvYWRpbmciLCJsb2FkaW5nIiwiX3JlZiRsb2FkaW5nTW9yZSIsImxvYWRpbmdNb3JlIiwiX3JlZiRoYXNNb3JlIiwiaGFzTW9yZSIsImhhbmRsZVJlc2V0Q2hhdCIsIm9uQWdlbnRVcGRhdGUiLCJsb2FkTW9yZUFnZW50cyIsInNvcnRBZ2VudHNMaXN0IiwiX3JlZiRpc015QWdlbnRzU2VjdGlvIiwiaXNNeUFnZW50c1NlY3Rpb24iLCJfcmVmJGlzTWFpYWtlclNlY3Rpb24iLCJpc01haWFrZXJTZWN0aW9uIiwiX3JlZiRoaWRlQWdlbnRTZWxlY3RvIiwiaGlkZUFnZW50U2VsZWN0b3IiLCJvbkFnZW50U2VsZWN0ZWQiLCJfcmVmJHNob3dCYWNrQnV0dG9uIiwic2hvd0JhY2tCdXR0b24iLCJfcmVmJG9uQmFjayIsIm9uQmFjayIsIl91c2VUcmFuc2xhdGlvbiIsImFibUFnZW50IiwiY2hhdEFJIiwidCIsInVzZXIiLCJhbXBsaXR1ZEV2ZW50IiwiX3VzZUdsb2JhbENvbnRleHQiLCJzZWxlY3RlZEFnZW50IiwiYWdlbnQiLCJzZWxlY3RBZ2VudCIsInNldFByb2plY3QiLCJzZXRDbGllbnQiLCJzZXRUYXNrIiwic2VjdGlvbiIsInRvb2x0aXBaSW5kZXgiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc0V4cGFuZGVkIiwic2V0SXNFeHBhbmRlZCIsInRleHRSZWZBZ2VudCIsImRyb3Bkb3duUmVmIiwibGF5b3V0TWVudVJlZiIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwibGF5b3V0TWVudU9wZW4iLCJzZXRMYXlvdXRNZW51T3BlbiIsIl91c2VSZXNpemVMaXN0ZW5lciIsIm5hbWUiLCJzaG93VG9vbHRpcEFnZW50Iiwic2hvd1Rvb2x0aXAiLCJhZ2VudHNSZWYiLCJpc01haWFBZ2VudCIsImFnZW50SXRlbSIsInR5cGUiLCJhZ2VudHNGb3JTZWxlY3RvciIsImZpbHRlciIsImVudGl0eSIsInVzZXJQZXJtaXNzaW9ucyIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiY2FuQ3JlYXRlQWdlbnQiLCJjcmVhdGUiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwic2hvd0hlYWRlckNyZWF0ZUFnZW50QnV0dG9uIiwiaGFuZGxlT3BlbkNyZWF0ZUFnZW50TW9kYWwiLCJvcGVuTW9kYWwiLCJvcHRpb24iLCJkb2N1bWVudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsImFnZW50VmFsdWVzIiwidmFsdWVzIiwiaXNFZGl0aW5nIiwiaXNPcGVuIiwidW5kZWZpbmVkIiwiaGFuZGxlU2Nyb2xsIiwiY3VycmVudCIsIl9hZ2VudHNSZWYkY3VycmVudCIsInNjcm9sbFRvcCIsInNjcm9sbEhlaWdodCIsImNsaWVudEhlaWdodCIsImRpc3RhbmNlRnJvbUJvdHRvbSIsInRpbWVvdXRJZCIsInNldFRpbWVvdXQiLCJzY3JvbGxFbGVtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImNsZWFyVGltZW91dCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJsb2NhbEFnZW50cyIsIl9yZWYyIiwiaXNfZGVsZXRlZCIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJoYXNfbm90X2FjY2VzcyIsImlzX2Zyb21fY29udmVyc2F0aW9uIiwiaXNfbGVnYWN5X2NvbnRleHQiLCJmcm9tTGlzdCIsImZpbmQiLCJpZCIsInNlbGVjdG9ySWNvbiIsImVtb2ppIiwic2VsZWN0b3JMYWJlbCIsIm5zIiwiaGFuZGxlU2VsZWN0QWdlbnQiLCJhaUNoYXRBZ2VudFNlbGVjdCIsImFnZW50X3R5cGUiLCJuZWVkc0VudGl0eSIsImhhbmRsZUV4cGFuZE1vZGFsIiwiYWlDaGF0T3BlbkFnZW50U2VsZWN0IiwicHJldiIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImV2ZW50IiwidGFyZ2V0IiwiY29udGFpbnMiLCJoYW5kbGVQaWNrTGF5b3V0IiwibW9kZSIsInByb2plY3RSZXN1bWVFeHBhbmQiLCJleHBhbmRlZCIsImFpQ2hhdFNlbGVjdFZpZXdPcHRpb25zIiwiY2xvbmVBZ2VudHNSb2xlQmxvY2tlZCIsInJlbmRlck1vZGFsIiwicmVmIiwib25DbGljayIsImxlbmd0aCIsImNoaWxkcmVuIiwiX29iamVjdFNwcmVhZCIsInRpdGxlIiwic3R5bGUiLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImdhcCIsInBsYWNlbWVudCIsInpJbmRleCIsImlzQWdlbnREZWxldGVkIiwid2lkdGgiLCJoZWlnaHQiLCJjb2xvciIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyIsIm1haWFBZ2VudHMiLCJtYXAiLCJtYWlhQWdlbnQiLCJpbmRleCIsImlzU2VsZWN0ZWQiLCJpc01haWEiLCJvbkZhdm9yaXRlVG9nZ2xlIiwiY29uY2F0Iiwic29tZSIsImNvbXBhbnkiLCJhZ2VudHNDb3VudCIsInNpemUiLCJzaG91bGRSZW5kZXJTZWxlY3RvciIsIiRoYXNFcnJvciIsIiRsb2FkaW5nIiwiJGhhc0FnZW50cyIsIm9uUG9pbnRlckRvd24iLCJvblBvaW50ZXJNb3ZlIiwib25Qb2ludGVyVXAiLCJvblBvaW50ZXJDYW5jZWwiLCJvbkxvc3RQb2ludGVyQ2FwdHVyZSIsImN1cnNvciIsInRvdWNoQWN0aW9uIiwiYnV0dG9uSWQiLCJoYW5kbGVDbGljayIsImFpQ2hhdE9wZW5WaWV3T3B0aW9ucyIsInRvb2x0aXAiLCJkaXNhYmxlVG9vbHRpcCIsInJvbGUiLCIkYWN0aXZlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxIZWFkZXIvQ2hhdEFpTW9kYWxIZWFkZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9pbmRlbnQgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLW5lc3RlZC10ZXJuYXJ5ICovXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VNZW1vLCBQb2ludGVyRXZlbnQgYXMgUmVhY3RQb2ludGVyRXZlbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQgeyBDaGV2cm9uRG93biB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3duJ1xuaW1wb3J0IHsgQ2hldnJvbkxlZnQgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGV2cm9uTGVmdCdcbmltcG9ydCB7IFBsdXMgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9QbHVzJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB1c2VSZXNpemVMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZSdcbmltcG9ydCB7IEljb25CdXR0b24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9JY29uQnV0dG9uJ1xuaW1wb3J0IHsgTUFJQUljb24sIE1haWFDaGF0TGF5b3V0TWVudUljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9pY29ucydcbmltcG9ydCB7IE1haWFDaGF0TGF5b3V0U2lkZWJhckljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9pY29ucy9NYWlhQ2hhdExheW91dFNpZGViYXJJY29uJ1xuaW1wb3J0IHsgTWFpYUNoYXRMYXlvdXRGdWxsc2NyZWVuSWNvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL2ljb25zL01haWFDaGF0TGF5b3V0RnVsbHNjcmVlbkljb24nXG5pbXBvcnQgeyBNYWlhQ2hhdExheW91dEZsb2F0aW5nSWNvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL2ljb25zL01haWFDaGF0TGF5b3V0RmxvYXRpbmdJY29uJ1xuaW1wb3J0IHsgQ2hhdEFJQWdlbnRPcHRpb24gfSBmcm9tICcuLi9DaGF0QWlBZ2VudE9wdGlvbnMvQ2hhdEFpQWdlbnRPcHRpb25zJ1xuaW1wb3J0IHtcbiAgU0NDQUlNSE1vZGFsLFxuICBTQ0NBSU1IU2VsZWN0ZWRBZ2VudCxcbiAgU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0LFxuICBTQ0NBSU1IV3JhcHBlcixcbiAgU0NDQUlNSFdyYXBwZXJCdXR0b24sXG4gIFNDQ0FJTUhXcmFwcGVySWNvbixcbiAgU0NDQUlNSFdyYXBwZXJNb2RhbCxcbiAgU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQsXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGUsXG4gIFNDQ0FJTUhBZGRBZ2VudCxcbiAgU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uLFxuICBTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b25UZXh0LFxuICBTQ0NBSU1IRGl2aWRlcixcbiAgU0NDQUlNSEFnZW50c0xpc3QsXG4gIFNDQ0FJTUhMb2FkZXJXcmFwcGVyLFxuICBTQ0NBSU1IUGx1c0ljb25XcmFwcGVyLFxuICBTQ0NBSU1ITGF5b3V0TWVudUFuY2hvcixcbiAgU0NDQUlNSExheW91dE1lbnVQYW5lbCxcbiAgU0NDQUlNSExheW91dE1lbnVSb3csXG4gIFNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbixcbiAgU0NDQUlNSEJhY2tCdXR0b24sXG59IGZyb20gJy4vQ2hhdEFpTW9kYWxIZWFkZXIuc3R5bGVzJ1xuaW1wb3J0IHR5cGUgeyBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSB9IGZyb20gJy4uLy4uL2xheW91dCdcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgaXNNYWlhQ2xvbmVBZ2VudHNSb2xlQmxvY2tlZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnN0YW50cy9tYWlhVGFza1BhbmVsQWNjZXNzJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0xvYWRlcidcbmltcG9ydCB7IHVzZU1haWFUYXNrUGFuZWxaSW5kZXggfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VNYWlhVGFza1BhbmVsWkluZGV4J1xuXG5leHBvcnQgY29uc3QgQ2hhdEFJTW9kYWxIZWFkZXIgPSAoe1xuICBsYXlvdXRNb2RlLFxuICBvbkxheW91dE1vZGVDaGFuZ2UsXG4gIGRyYWdnYWJsZSA9IGZhbHNlLFxuICBvbkRyYWdTdGFydCxcbiAgb25EcmFnTW92ZSxcbiAgb25EcmFnRW5kLFxuICBoYW5kbGVDbG9zZSA9ICgpID0+IG51bGwsXG4gIGFnZW50cyA9IFtdLFxuICBoYXNFcnJvciA9IGZhbHNlLFxuICBsb2FkaW5nID0gZmFsc2UsXG4gIGxvYWRpbmdNb3JlID0gZmFsc2UsXG4gIGhhc01vcmUgPSBmYWxzZSxcbiAgaGFuZGxlUmVzZXRDaGF0LFxuICBvbkFnZW50VXBkYXRlLFxuICBsb2FkTW9yZUFnZW50cyxcbiAgc29ydEFnZW50c0xpc3QsXG4gIGlzTXlBZ2VudHNTZWN0aW9uID0gZmFsc2UsXG4gIGlzTWFpYWtlclNlY3Rpb24gPSBmYWxzZSxcbiAgaGlkZUFnZW50U2VsZWN0b3IgPSBmYWxzZSxcbiAgb25BZ2VudFNlbGVjdGVkLFxuICBzaG93QmFja0J1dHRvbiA9IGZhbHNlLFxuICBvbkJhY2sgPSAoKSA9PiBudWxsLFxufToge1xuICBsYXlvdXRNb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZVxuICBvbkxheW91dE1vZGVDaGFuZ2U6IChtb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSkgPT4gdm9pZFxuICBleHBhbmRlZDogYm9vbGVhblxuICBkcmFnZ2FibGU/OiBib29sZWFuXG4gIG9uRHJhZ1N0YXJ0PzogKGV2ZW50OiBSZWFjdFBvaW50ZXJFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgb25EcmFnTW92ZT86IChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uRHJhZ0VuZD86IChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIGhhbmRsZUNsb3NlPzogKCkgPT4gdm9pZFxuICBhZ2VudHM6IEFnZW50W11cbiAgaGFzRXJyb3I6IGJvb2xlYW5cbiAgbG9hZGluZzogYm9vbGVhblxuICBsb2FkaW5nTW9yZT86IGJvb2xlYW5cbiAgaGFzTW9yZT86IGJvb2xlYW5cbiAgaGFuZGxlUmVzZXRDaGF0OiAoKSA9PiB2b2lkXG4gIG9uQWdlbnRVcGRhdGU/OiAodXBkYXRlZEFnZW50OiBBZ2VudCkgPT4gdm9pZFxuICBsb2FkTW9yZUFnZW50cz86ICgpID0+IHZvaWRcbiAgc29ydEFnZW50c0xpc3Q/OiAoKSA9PiB2b2lkXG4gIC8qKiBTZWNjacOzbiBcIk1pcyBhZ2VudGVzXCI6IHNpIG5vIGhheSBhZ2VudGUgc2V0ZWFkbywgZWwgc2VsZWN0b3IgbXVlc3RyYSBlbCBpY29ubyBkZSBNQUlBIHkgZWwgbm9tYnJlIGRlIGxhIHNlY2Npw7NuICovXG4gIGlzTXlBZ2VudHNTZWN0aW9uPzogYm9vbGVhblxuICAvKiogT2N1bHRhIGVsIGNoaXAgZGUgbW9kZWxvIExMTSAocC4gZWouIGVuIE1pcyBhZ2VudGVzIC8gTWlzIHNraWxscykgKi9cbiAgaGlkZUFnZW50U2VsZWN0b3I/OiBib29sZWFuXG4gIC8qKiBTZWNjacOzbiBcIkNyZWFkb3IgZGUgYWdlbnRlc1wiIChNYWlha2VyKTogaGFiaWxpdGEgZWwgYm90w7NuIFwiQ3JlYXIgYWdlbnRlXCIgZGVsIGhlYWRlciAqL1xuICBpc01haWFrZXJTZWN0aW9uPzogYm9vbGVhblxuICAvKipcbiAgICogU2UgaW52b2NhIGRlc3B1w6lzIGRlbCByZXNldCBjdWFuZG8gZWwgYWdlbnRlIHNlbGVjY2lvbmFkbyBOTyByZXF1aWVyZSBzZWxlY2Npw7NuXG4gICAqIGRlIGVudGl0eSAoY3VzdG9tIG8gY2xvbmUrZ2xvYmFsKS4gUGVybWl0ZSByZXNvbHZlciBgR0VUIC92Mi9zZXNzaW9ucy9hZ2VudC97aWR9YFxuICAgKiB5IG5hdmVnYXIgYSB1bmEgY29udmVyc2FjacOzbiBleGlzdGVudGUgc2kgbGEgaGF5LlxuICAgKi9cbiAgb25BZ2VudFNlbGVjdGVkPzogKGFnZW50OiBBZ2VudCkgPT4gdm9pZCB8IFByb21pc2U8dW5rbm93bj5cbiAgc2hvd0JhY2tCdXR0b24/OiBib29sZWFuXG4gIG9uQmFjaz86ICgpID0+IHZvaWRcbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnQsIFNFQ1RJT05TLmNoYXRBSV0pXG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgYW1wbGl0dWRFdmVudCA9IHVzZUV2ZW50KClcbiAgY29uc3QgeyBhZ2VudDogc2VsZWN0ZWRBZ2VudCwgc2VsZWN0QWdlbnQsIHNldFByb2plY3QsIHNldENsaWVudCwgc2V0VGFzaywgc2VjdGlvbiB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIC8vIEVuIHNlY3Rpb24gJ3Rhc2snIGVsIG1vZGFsIGRlIE1haWEgc2UgZWxldmEgcG9yIGVuY2ltYSBkZWwgdGFzayBwYW5lbCAoei1pbmRleCA5ODAwMDAxKS5cbiAgLy8gTG9zIHRvb2x0aXBzIHNlIG1vbnRhbiBlbiBwb3J0YWwgY29uIHotaW5kZXggMTUwMCBwb3IgZGVmZWN0bywgYXPDrSBxdWUgcXVlZGFyw61hbiBkZXRyw6FzLlxuICAvLyBTdWJpbW9zIHN1IHotaW5kZXggc8OzbG8gZW4gZXN0ZSBjYXNvIHBhcmEgcXVlIHNlIHZlYW4gcG9yIGVuY2ltYSBkZWwgbW9kYWwuXG4gIGNvbnN0IHRvb2x0aXBaSW5kZXggPSB1c2VNYWlhVGFza1BhbmVsWkluZGV4KDE1MDAsICdvdmVybGF5JylcbiAgY29uc3QgW2lzRXhwYW5kZWQsIHNldElzRXhwYW5kZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHRleHRSZWZBZ2VudCA9IHVzZVJlZjxIVE1MU3BhbkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGRyb3Bkb3duUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBsYXlvdXRNZW51UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBbbGF5b3V0TWVudU9wZW4sIHNldExheW91dE1lbnVPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB7IHNob3dUb29sdGlwOiBzaG93VG9vbHRpcEFnZW50IH0gPSB1c2VSZXNpemVMaXN0ZW5lcih0ZXh0UmVmQWdlbnQsIFtzZWxlY3RlZEFnZW50Py5uYW1lXSlcbiAgY29uc3QgYWdlbnRzUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuXG4gIGNvbnN0IGlzTWFpYUFnZW50ID0gdXNlQ2FsbGJhY2soKGFnZW50SXRlbTogQWdlbnQpID0+IGFnZW50SXRlbS50eXBlID09PSAnb3JjaGVzdHJhdG9yJywgW10pXG4gIGNvbnN0IGFnZW50c0ZvclNlbGVjdG9yID0gdXNlTWVtbyhcbiAgICAoKSA9PiBhZ2VudHMuZmlsdGVyKGFnZW50SXRlbSA9PiBpc01haWFBZ2VudChhZ2VudEl0ZW0pIHx8IGFnZW50SXRlbS5lbnRpdHkgIT09ICdnbG9iYWwnKSxcbiAgICBbYWdlbnRzLCBpc01haWFBZ2VudF1cbiAgKVxuXG4gIGNvbnN0IHVzZXJQZXJtaXNzaW9ucyA9IHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHNcbiAgY29uc3QgY2FuQ3JlYXRlQWdlbnQgPSAhIXVzZXJQZXJtaXNzaW9ucz8uY3JlYXRlICYmICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcbiAgY29uc3Qgc2hvd0hlYWRlckNyZWF0ZUFnZW50QnV0dG9uID0gY2FuQ3JlYXRlQWdlbnQgJiYgKGlzTXlBZ2VudHNTZWN0aW9uIHx8IGlzTWFpYWtlclNlY3Rpb24pXG5cbiAgY29uc3QgaGFuZGxlT3BlbkNyZWF0ZUFnZW50TW9kYWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgYW1wbGl0dWRFdmVudChFVkVOVFMub3Blbk1vZGFsLCB7IG9wdGlvbjogJ2NyZWF0ZV9hZ2VudCcgfSlcbiAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IEN1c3RvbUV2ZW50KCdhYm0tYWdlbnQtbW9kYWwtc2V0LXZhbHVlcycsIHtcbiAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgYWdlbnRWYWx1ZXM6IHtcbiAgICAgICAgICAgIHZhbHVlczoge1xuICAgICAgICAgICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApXG4gIH0sIFthbXBsaXR1ZEV2ZW50XSlcblxuICAvLyBNYW5lamFyIHNjcm9sbCBpbmZpbml0byBwYXJhIGNhcmdhciBtw6FzIGFnZW50c1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFNvbG8gY3VhbmRvIGVsIGRyb3Bkb3duIGVzdMOpIGFiaWVydG9cbiAgICBpZiAoIWlzRXhwYW5kZWQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoKSA9PiB7XG4gICAgICBpZiAoIWFnZW50c1JlZi5jdXJyZW50IHx8ICFsb2FkTW9yZUFnZW50cyB8fCAhaGFzTW9yZSB8fCBsb2FkaW5nTW9yZSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgY29uc3QgZGlzdGFuY2VGcm9tQm90dG9tID0gc2Nyb2xsSGVpZ2h0IC0gc2Nyb2xsVG9wIC0gY2xpZW50SGVpZ2h0XG5cbiAgICAgIC8vIENhcmdhciBtw6FzICg1MHB4IGFudGVzKVxuICAgICAgaWYgKGRpc3RhbmNlRnJvbUJvdHRvbSA8IDUwKSB7XG4gICAgICAgIGxvYWRNb3JlQWdlbnRzKClcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBkZWxheSBwYXJhIGFzZWd1cmFyIHF1ZSBlbCBET00gZXN0w6kgcmVuZGVyaXphZG9cbiAgICBjb25zdCB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHNjcm9sbEVsZW1lbnQgPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgaWYgKHNjcm9sbEVsZW1lbnQpIHtcbiAgICAgICAgc2Nyb2xsRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgICB9XG4gICAgfSwgMTAwKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpXG4gICAgICBjb25zdCBzY3JvbGxFbGVtZW50ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGlmIChzY3JvbGxFbGVtZW50KSB7XG4gICAgICAgIHNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2lzRXhwYW5kZWQsIGxvYWRNb3JlQWdlbnRzLCBoYXNNb3JlLCBsb2FkaW5nTW9yZV0pXG5cbiAgY29uc3QgbG9jYWxBZ2VudHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5oYXNfbm90X2FjY2VzcyB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaXNfZnJvbV9jb252ZXJzYXRpb24gfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/LmlzX2xlZ2FjeV9jb250ZXh0XG4gICAgKSB7XG4gICAgICByZXR1cm4gc2VsZWN0ZWRBZ2VudFxuICAgIH1cbiAgICBjb25zdCBmcm9tTGlzdCA9IGFnZW50cy5maW5kKFxuICAgICAgYWdlbnQgPT5cbiAgICAgICAgIWFnZW50LmlzX2RlbGV0ZWQgJiYgIWFnZW50Lmhhc19ub3RfcGVybWlzc2lvbnMgJiYgIWFnZW50Lmhhc19ub3RfYWNjZXNzICYmIGFnZW50LmlkID09PSBzZWxlY3RlZEFnZW50Py5pZFxuICAgIClcbiAgICAvLyBBZ2VudGUgaGlkcmF0YWRvIHBvciBHRVQgKHAuIGVqLiBudWV2byBjaGF0IHRyYXMgY3JlYXRlX2FnZW50KSBwdWVkZSBubyBlc3RhciBhw7puIGVuIGxhIGxpc3RhIHBhZ2luYWRhXG4gICAgcmV0dXJuIGZyb21MaXN0ID8/IHNlbGVjdGVkQWdlbnQgPz8gbnVsbFxuICB9LCBbYWdlbnRzLCBzZWxlY3RlZEFnZW50XSlcblxuICAvLyBFbiAnTWlzIGFnZW50ZXMnIHNpbiBhZ2VudGUgc2V0ZWFkbywgZWwgc2VsZWN0b3IgbXVlc3RyYSBlbCBpY29ubyBkZSBNQUlBIHkgZWwgbm9tYnJlIGRlIGxhIHNlY2Npw7NuXG4gIC8vIGVuIGx1Z2FyIGRlbCBhZ2VudGUsIHBhcmEgcXVlIGVsIHVzdWFyaW8gcHVlZGEgYWJyaXIgZWwgZHJvcGRvd24geSBlbGVnaXIgdW5vLlxuICBjb25zdCBzZWxlY3Rvckljb24gPVxuICAgIGxvY2FsQWdlbnRzPy50eXBlID09PSAnY3VzdG9tJyAmJiAhbG9jYWxBZ2VudHM/LmlzX2xlZ2FjeV9jb250ZXh0ID8gbG9jYWxBZ2VudHM/LmVtb2ppIDogPE1BSUFJY29uIC8+XG4gIGNvbnN0IHNlbGVjdG9yTGFiZWwgPVxuICAgIGxvY2FsQWdlbnRzPy5uYW1lID8/IChpc015QWdlbnRzU2VjdGlvbiA/IHQoJ21hcmtldHBsYWNlLm15QWdlbnRzVGl0bGUnLCB7IG5zOiBTRUNUSU9OUy5jaGF0QUkgfSkgOiAnJylcblxuICBjb25zdCBoYW5kbGVTZWxlY3RBZ2VudCA9IHVzZUNhbGxiYWNrKFxuICAgIChhZ2VudDogQWdlbnQpID0+IHtcbiAgICAgIHNlbGVjdEFnZW50KGFnZW50KVxuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0QWdlbnRTZWxlY3QsIHtcbiAgICAgICAgYWdlbnRfdHlwZTogYWdlbnQ/LnR5cGUsXG4gICAgICB9KVxuICAgICAgc2V0SXNFeHBhbmRlZChmYWxzZSlcbiAgICAgIHNldFByb2plY3QobnVsbClcbiAgICAgIHNldENsaWVudD8uKG51bGwpXG4gICAgICBzZXRUYXNrKG51bGwpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaGFuZGxlUmVzZXRDaGF0KClcbiAgICAgICAgLy8gU2kgZWwgYWdlbnRlIG5vIGRlcGVuZGUgZGUgdW5hIGVudGl0eSAoY3VzdG9tIG8gY2xvbmUrZ2xvYmFsKSB5YSBwb2RlbW9zXG4gICAgICAgIC8vIHJlc29sdmVyIHNpIGV4aXN0ZSB1bmEgc2VzacOzbiBwcmV2aWEgeSwgZW4gZXNlIGNhc28sIG5hdmVnYXIgYSBlbGxhLlxuICAgICAgICAvLyBQYXJhIGNsb25lK3Byb2plY3R8Y2xpZW50LCBsYSByZXNvbHVjacOzbiBvY3VycmUgZW4gbG9zIHNlbGVjdG9ycyBkZSBlbnRpdHkuXG4gICAgICAgIGNvbnN0IG5lZWRzRW50aXR5ID0gYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgJiYgKGFnZW50Py5lbnRpdHkgPT09ICdwcm9qZWN0JyB8fCBhZ2VudD8uZW50aXR5ID09PSAnY2xpZW50JylcbiAgICAgICAgaWYgKCFuZWVkc0VudGl0eSkge1xuICAgICAgICAgIG9uQWdlbnRTZWxlY3RlZD8uKGFnZW50KVxuICAgICAgICB9XG4gICAgICB9LCAxMDApXG4gICAgfSxcbiAgICBbc2VsZWN0QWdlbnQsIGFtcGxpdHVkRXZlbnQsIGhhbmRsZVJlc2V0Q2hhdCwgc2V0UHJvamVjdCwgc2V0Q2xpZW50LCBzZXRUYXNrLCBvbkFnZW50U2VsZWN0ZWRdXG4gIClcblxuICBjb25zdCBoYW5kbGVFeHBhbmRNb2RhbCA9ICgpID0+IHtcbiAgICBpZiAoIWlzRXhwYW5kZWQpIHtcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLmFpQ2hhdE9wZW5BZ2VudFNlbGVjdClcbiAgICAgIC8vIEN1YW5kbyBzZSBhYnJlIGVsIHNlbGVjdG9yLCBvcmRlbmFyIGxvcyBhZ2VudGVzXG4gICAgICBpZiAoc29ydEFnZW50c0xpc3QpIHtcbiAgICAgICAgc29ydEFnZW50c0xpc3QoKVxuICAgICAgfVxuICAgIH1cbiAgICBzZXRJc0V4cGFuZGVkKHByZXYgPT4gIXByZXYpXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNFeHBhbmRlZCAmJiAhbGF5b3V0TWVudU9wZW4pIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBOb2RlXG4gICAgICBpZiAoaXNFeHBhbmRlZCAmJiBkcm9wZG93blJlZi5jdXJyZW50ICYmICFkcm9wZG93blJlZi5jdXJyZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgc2V0SXNFeHBhbmRlZChmYWxzZSlcbiAgICAgIH1cbiAgICAgIGlmIChsYXlvdXRNZW51T3BlbiAmJiBsYXlvdXRNZW51UmVmLmN1cnJlbnQgJiYgIWxheW91dE1lbnVSZWYuY3VycmVudC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgIHNldExheW91dE1lbnVPcGVuKGZhbHNlKVxuICAgICAgfVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIH1cbiAgfSwgW2lzRXhwYW5kZWQsIGxheW91dE1lbnVPcGVuXSlcblxuICBjb25zdCBoYW5kbGVQaWNrTGF5b3V0ID0gdXNlQ2FsbGJhY2soXG4gICAgKG1vZGU6IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlKSA9PiB7XG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5wcm9qZWN0UmVzdW1lRXhwYW5kLCB7XG4gICAgICAgIGV4cGFuZGVkOiBtb2RlID09PSAnZnVsbHNjcmVlbicsXG4gICAgICB9KVxuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0U2VsZWN0Vmlld09wdGlvbnMsIHsgb3B0aW9uOiBtb2RlIH0pXG4gICAgICBvbkxheW91dE1vZGVDaGFuZ2UobW9kZSlcbiAgICAgIHNldExheW91dE1lbnVPcGVuKGZhbHNlKVxuICAgIH0sXG4gICAgW2FtcGxpdHVkRXZlbnQsIG9uTGF5b3V0TW9kZUNoYW5nZV1cbiAgKVxuXG4gIGNvbnN0IGNsb25lQWdlbnRzUm9sZUJsb2NrZWQgPSBpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkKHVzZXIsIHNlY3Rpb24pXG5cbiAgY29uc3QgcmVuZGVyTW9kYWwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1IV3JhcHBlclxuICAgICAgICByZWY9e2Ryb3Bkb3duUmVmfVxuICAgICAgICBkYXRhLW5vLWRyYWc9XCJ0cnVlXCJcbiAgICAgICAgb25DbGljaz17YWdlbnRzLmxlbmd0aCA/IGhhbmRsZUV4cGFuZE1vZGFsIDogdW5kZWZpbmVkfVxuICAgICAgICBpZD1cImNoYXQtYWktbW9kYWwtaGVhZGVyLXdyYXBwZXJcIlxuICAgICAgPlxuICAgICAgICA8U0NDQUlNSFNlbGVjdGVkQWdlbnQ+XG4gICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgIHRpdGxlPXtcbiAgICAgICAgICAgICAgc2hvd1Rvb2x0aXBBZ2VudCA/IChcbiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICc0cHgnIH19PlxuICAgICAgICAgICAgICAgICAge2xvY2FsQWdlbnRzPy50eXBlID09PSAnY3VzdG9tJyAmJiAhbG9jYWxBZ2VudHM/LmlzX2xlZ2FjeV9jb250ZXh0ID8gKFxuICAgICAgICAgICAgICAgICAgICBsb2NhbEFnZW50cz8uZW1vamlcbiAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIDxNQUlBSWNvbiAvPlxuICAgICAgICAgICAgICAgICAgKX17JyAnfVxuICAgICAgICAgICAgICAgICAge2xvY2FsQWdlbnRzPy5uYW1lfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAnJ1xuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9e2lzRXhwYW5kZWQgPyAnbGVmdCcgOiAndG9wJ31cbiAgICAgICAgICAgIHsuLi4odG9vbHRpcFpJbmRleCAhPSBudWxsID8geyB6SW5kZXg6IHRvb2x0aXBaSW5kZXggfSA6IHt9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8U0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0XG4gICAgICAgICAgICAgIHJlZj17dGV4dFJlZkFnZW50fVxuICAgICAgICAgICAgICBpc0FnZW50RGVsZXRlZD17XG4gICAgICAgICAgICAgICAgISFzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkIHx8XG4gICAgICAgICAgICAgICAgISFzZWxlY3RlZEFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8XG4gICAgICAgICAgICAgICAgISFzZWxlY3RlZEFnZW50Py5oYXNfbm90X2FjY2VzcyB8fFxuICAgICAgICAgICAgICAgICEhc2VsZWN0ZWRBZ2VudD8uaXNfbGVnYWN5X2NvbnRleHRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICc0cHgnIH19PlxuICAgICAgICAgICAgICAgIHtzZWxlY3Rvckljb259IHtzZWxlY3RvckxhYmVsfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L1NDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dD5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDwvU0NDQUlNSFNlbGVjdGVkQWdlbnQ+XG4gICAgICAgIDxTQ0NBSU1IV3JhcHBlckljb24+XG4gICAgICAgICAgPENoZXZyb25Eb3duIHdpZHRoPXsxNH0gaGVpZ2h0PXsxNH0gY29sb3I9XCIjMjAyMDFGXCIgLz5cbiAgICAgICAgPC9TQ0NBSU1IV3JhcHBlckljb24+XG4gICAgICAgIHtpc0V4cGFuZGVkICYmIChcbiAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbD5cbiAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudD5cbiAgICAgICAgICAgICAge3dpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MgJiYgIWNsb25lQWdlbnRzUm9sZUJsb2NrZWQgJiYgKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICB7KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFpYUFnZW50cyA9IGFnZW50c0ZvclNlbGVjdG9yLmZpbHRlcihpc01haWFBZ2VudClcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFtYWlhQWdlbnRzLmxlbmd0aCkgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAge21haWFBZ2VudHMubWFwKChtYWlhQWdlbnQsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxDaGF0QUlBZ2VudE9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YGFnZW50LSR7bWFpYUFnZW50LmlkfWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdlbnQ9e21haWFBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0QWdlbnQ9e2hhbmRsZVNlbGVjdEFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e3NlbGVjdGVkQWdlbnQ/LmlkID09PSBtYWlhQWdlbnQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNNYWlhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25GYXZvcml0ZVRvZ2dsZT17b25BZ2VudFVwZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7YWdlbnRzRm9yU2VsZWN0b3Iuc29tZShhZ2VudCA9PiBhZ2VudC50eXBlID09PSAnY3VzdG9tJykgJiZcbiAgICAgICAgICAgICAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyAmJiAoXG4gICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICB7dCgnYWdlbnRzJyl9IGJ5IHt1c2VyLmNvbXBhbnl9XG4gICAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhEaXZpZGVyIC8+XG4gICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8U0NDQUlNSEFnZW50c0xpc3QgaGFzTW9yZT17aGFzTW9yZX0gYWdlbnRzQ291bnQ9e2FnZW50c0ZvclNlbGVjdG9yLmxlbmd0aH0gcmVmPXthZ2VudHNSZWZ9PlxuICAgICAgICAgICAgICAgIHthZ2VudHNGb3JTZWxlY3Rvcj8ubWFwKChhZ2VudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/LmlzX2RlbGV0ZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHxcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/Lmhhc19ub3RfYWNjZXNzIHx8XG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py50eXBlID09PSAnY2xvbmUnIHx8XG4gICAgICAgICAgICAgICAgICAgIGlzTWFpYUFnZW50KGFnZW50KSB8fFxuICAgICAgICAgICAgICAgICAgICAoYWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nICYmICF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUylcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxDaGF0QUlBZ2VudE9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgIGtleT17YGFnZW50LSR7YWdlbnQuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgICBhZ2VudD17YWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdEFnZW50PXtoYW5kbGVTZWxlY3RBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtzZWxlY3RlZEFnZW50Py5pZCA9PT0gYWdlbnQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgb25GYXZvcml0ZVRvZ2dsZT17b25BZ2VudFVwZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICBzZXRJc0V4cGFuZGVkPXtzZXRJc0V4cGFuZGVkfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIHtsb2FkaW5nTW9yZSAmJiAoXG4gICAgICAgICAgICAgICAgICA8U0NDQUlNSExvYWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIDxMb2FkZXIgc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSExvYWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1IQWdlbnRzTGlzdD5cbiAgICAgICAgICAgICAge3VzZXJQZXJtaXNzaW9ucz8uY3JlYXRlICYmXG4gICAgICAgICAgICAgICAgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgJiZcbiAgICAgICAgICAgICAgICAhaXNNeUFnZW50c1NlY3Rpb24gJiZcbiAgICAgICAgICAgICAgICAhaXNNYWlha2VyU2VjdGlvbiAmJiAoXG4gICAgICAgICAgICAgICAgICA8U0NDQUlNSEFkZEFnZW50XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLm9wZW5Nb2RhbCwgeyBvcHRpb246ICdjcmVhdGVfYWdlbnQnIH0pXG4gICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudCgnYWJtLWFnZW50LW1vZGFsLXNldC12YWx1ZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFnZW50VmFsdWVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc09wZW46IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSFBsdXNJY29uV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8UGx1cyBjb2xvcj1cIndoaXRlXCIgd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSAvPlxuICAgICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhQbHVzSWNvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjcmVhdGVBZ2VudCcpfVxuICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1IQWRkQWdlbnQ+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsPlxuICAgICAgICApfVxuICAgICAgPC9TQ0NBSU1IV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBjb25zdCBzaG91bGRSZW5kZXJTZWxlY3RvciA9XG4gICAgIWhhc0Vycm9yICYmXG4gICAgIWxvYWRpbmcgJiZcbiAgICAhaGlkZUFnZW50U2VsZWN0b3IgJiZcbiAgICAoISFzZWxlY3RlZEFnZW50IHx8IGlzTXlBZ2VudHNTZWN0aW9uKSAmJlxuICAgICghIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIHx8ICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUylcblxuICByZXR1cm4gKFxuICAgIDxTQ0NBSU1ITW9kYWxcbiAgICAgICRoYXNFcnJvcj17aGFzRXJyb3J9XG4gICAgICAkbG9hZGluZz17bG9hZGluZ31cbiAgICAgICRoYXNBZ2VudHM9eyEhYWdlbnRzLmxlbmd0aH1cbiAgICAgIG9uUG9pbnRlckRvd249e2RyYWdnYWJsZSA/IG9uRHJhZ1N0YXJ0IDogdW5kZWZpbmVkfVxuICAgICAgb25Qb2ludGVyTW92ZT17ZHJhZ2dhYmxlID8gb25EcmFnTW92ZSA6IHVuZGVmaW5lZH1cbiAgICAgIG9uUG9pbnRlclVwPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBvblBvaW50ZXJDYW5jZWw9e2RyYWdnYWJsZSA/IG9uRHJhZ0VuZCA6IHVuZGVmaW5lZH1cbiAgICAgIG9uTG9zdFBvaW50ZXJDYXB0dXJlPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBzdHlsZT17eyBjdXJzb3I6IGRyYWdnYWJsZSA/ICdncmFiJyA6IHVuZGVmaW5lZCwgdG91Y2hBY3Rpb246IGRyYWdnYWJsZSA/ICdtYW5pcHVsYXRpb24nIDogdW5kZWZpbmVkIH19XG4gICAgPlxuICAgICAge3Nob3VsZFJlbmRlclNlbGVjdG9yID8gcmVuZGVyTW9kYWwoKSA6IDxkaXYgLz59XG4gICAgICA8U0NDQUlNSFdyYXBwZXJCdXR0b24gZGF0YS1uby1kcmFnPVwidHJ1ZVwiPlxuICAgICAgICB7c2hvd0JhY2tCdXR0b24gJiYgKFxuICAgICAgICAgIDxTQ0NBSU1IQmFja0J1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIG9uQmFjaygpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxDaGV2cm9uTGVmdCB3aWR0aD17MTR9IGhlaWdodD17MTR9IGNvbG9yPVwiIzM0MzQzM1wiIC8+XG4gICAgICAgICAgICB7dCgnYmFjaycpfVxuICAgICAgICAgIDwvU0NDQUlNSEJhY2tCdXR0b24+XG4gICAgICAgICl9XG4gICAgICAgIHtzaG93SGVhZGVyQ3JlYXRlQWdlbnRCdXR0b24gJiYgKFxuICAgICAgICAgIDxTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZU9wZW5DcmVhdGVBZ2VudE1vZGFsfT5cbiAgICAgICAgICAgIDxTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b25UZXh0Pnt0KCdvcGVuQWdlbnRDcmVhdG9yJyl9PC9TQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b25UZXh0PlxuICAgICAgICAgIDwvU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgICA8U0NDQUlNSExheW91dE1lbnVBbmNob3IgcmVmPXtsYXlvdXRNZW51UmVmfSBkYXRhLW5vLWRyYWc9XCJ0cnVlXCI+XG4gICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgIGJ1dHRvbklkPVwiYnRuLW1haWEtbGF5b3V0LW1lbnVcIlxuICAgICAgICAgICAgaGFuZGxlQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFsYXlvdXRNZW51T3Blbikge1xuICAgICAgICAgICAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLmFpQ2hhdE9wZW5WaWV3T3B0aW9ucylcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBzZXRMYXlvdXRNZW51T3BlbihwcmV2ID0+ICFwcmV2KVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHRvb2x0aXA9e3QoJ2xheW91dE1lbnVUb29sdGlwJyl9XG4gICAgICAgICAgICBkaXNhYmxlVG9vbHRpcD17bGF5b3V0TWVudU9wZW59XG4gICAgICAgICAgICB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxNYWlhQ2hhdExheW91dE1lbnVJY29uIC8+XG4gICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgIHtsYXlvdXRNZW51T3BlbiA/IChcbiAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVBhbmVsIHJvbGU9XCJtZW51XCI+XG4gICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd1xuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICRhY3RpdmU9e2xheW91dE1vZGUgPT09ICdzaWRlYmFyJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVQaWNrTGF5b3V0KCdzaWRlYmFyJyl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dJY29uIGFyaWEtaGlkZGVuPlxuICAgICAgICAgICAgICAgICAgPE1haWFDaGF0TGF5b3V0U2lkZWJhckljb24gLz5cbiAgICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93SWNvbj5cbiAgICAgICAgICAgICAgICB7dCgnbGF5b3V0U2lkZWJhcicpfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93PlxuICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAkYWN0aXZlPXtsYXlvdXRNb2RlID09PSAnZnVsbHNjcmVlbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnZnVsbHNjcmVlbicpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbiBhcmlhLWhpZGRlbj5cbiAgICAgICAgICAgICAgICAgIDxNYWlhQ2hhdExheW91dEZ1bGxzY3JlZW5JY29uIC8+XG4gICAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24+XG4gICAgICAgICAgICAgICAge3QoJ2xheW91dEZ1bGxzY3JlZW4nKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvdz5cbiAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgJGFjdGl2ZT17bGF5b3V0TW9kZSA9PT0gJ2Zsb2F0aW5nJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVQaWNrTGF5b3V0KCdmbG9hdGluZycpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbiBhcmlhLWhpZGRlbj5cbiAgICAgICAgICAgICAgICAgIDxNYWlhQ2hhdExheW91dEZsb2F0aW5nSWNvbiAvPlxuICAgICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3dJY29uPlxuICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRGbG9hdGluZycpfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93PlxuICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVBhbmVsPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51QW5jaG9yPlxuICAgICAgICA8SWNvbkJ1dHRvbiBoYW5kbGVDbGljaz17aGFuZGxlQ2xvc2V9IHRvb2x0aXA9e3QoJ2dsb2JhbHMuY2xvc2UnKX0gdG9vbHRpcFpJbmRleD17dG9vbHRpcFpJbmRleH0+XG4gICAgICAgICAgPENyb3NzIC8+XG4gICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgIDwvU0NDQUlNSFdyYXBwZXJCdXR0b24+XG4gICAgPC9TQ0NBSU1ITW9kYWw+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSxTQUFTQSxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sUUFBMkMsT0FBTztBQUM1RyxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsV0FBVyxRQUFR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
@@ -7,10 +7,11 @@ export var options = /*#__PURE__*/function (options) {
7
7
  options["projectSelector"] = "projectSelector";
8
8
  options["clientSelector"] = "clientSelector";
9
9
  options["myAgents"] = "myAgents";
10
+ options["mySkills"] = "mySkills";
10
11
  return options;
11
12
  }({});
12
13
  export var buildHandlers = function buildHandlers(setCurrentOption, setHasError) {
13
- return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, options.home, function () {
14
+ return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, options.home, function () {
14
15
  setHasError(false);
15
16
  setCurrentOption(options.home);
16
17
  }), options.chatsHistory, function () {
@@ -31,6 +32,9 @@ export var buildHandlers = function buildHandlers(setCurrentOption, setHasError)
31
32
  }), options.myAgents, function () {
32
33
  setHasError(false);
33
34
  setCurrentOption(options.myAgents);
35
+ }), options.mySkills, function () {
36
+ setHasError(false);
37
+ setCurrentOption(options.mySkills);
34
38
  });
35
39
  };
36
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJvcHRpb25zIiwiYnVpbGRIYW5kbGVycyIsInNldEN1cnJlbnRPcHRpb24iLCJzZXRIYXNFcnJvciIsIl9kZWZpbmVQcm9wZXJ0eSIsImhvbWUiLCJjaGF0c0hpc3RvcnkiLCJwcm9qZWN0U3VtbWFyeSIsImNoYXQiLCJwcm9qZWN0U2VsZWN0b3IiLCJjbGllbnRTZWxlY3RvciIsIm15QWdlbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbnN0YW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBvcHRpb25zIHtcbiAgaG9tZSA9ICdob21lJyxcbiAgY2hhdHNIaXN0b3J5ID0gJ2NoYXRzSGlzdG9yeScsXG4gIHByb2plY3RTdW1tYXJ5ID0gJ3Byb2plY3RTdW1tYXJ5JyxcbiAgY2hhdCA9ICdjaGF0JyxcbiAgcHJvamVjdFNlbGVjdG9yID0gJ3Byb2plY3RTZWxlY3RvcicsXG4gIGNsaWVudFNlbGVjdG9yID0gJ2NsaWVudFNlbGVjdG9yJyxcbiAgbXlBZ2VudHMgPSAnbXlBZ2VudHMnLFxufVxuXG5leHBvcnQgY29uc3QgYnVpbGRIYW5kbGVycyA9IChcbiAgc2V0Q3VycmVudE9wdGlvbjogKG9wdGlvbjogb3B0aW9ucykgPT4gdm9pZCxcbiAgc2V0SGFzRXJyb3I6IChoYXNFcnJvcjogYm9vbGVhbikgPT4gdm9pZFxuKSA9PiAoe1xuICBbb3B0aW9ucy5ob21lXTogKCkgPT4ge1xuICAgIHNldEhhc0Vycm9yKGZhbHNlKVxuICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5ob21lKVxuICB9LFxuICBbb3B0aW9ucy5jaGF0c0hpc3RvcnldOiAoKSA9PiB7XG4gICAgc2V0SGFzRXJyb3IoZmFsc2UpXG4gICAgc2V0Q3VycmVudE9wdGlvbihvcHRpb25zLmNoYXRzSGlzdG9yeSlcbiAgfSxcbiAgW29wdGlvbnMucHJvamVjdFN1bW1hcnldOiAoKSA9PiB7XG4gICAgc2V0SGFzRXJyb3IoZmFsc2UpXG4gICAgc2V0Q3VycmVudE9wdGlvbihvcHRpb25zLnByb2plY3RTdW1tYXJ5KVxuICB9LFxuICBbb3B0aW9ucy5jaGF0XTogKCkgPT4ge1xuICAgIHNldEhhc0Vycm9yKGZhbHNlKVxuICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5jaGF0KVxuICB9LFxuICBbb3B0aW9ucy5wcm9qZWN0U2VsZWN0b3JdOiAoKSA9PiB7XG4gICAgc2V0SGFzRXJyb3IoZmFsc2UpXG4gICAgc2V0Q3VycmVudE9wdGlvbihvcHRpb25zLnByb2plY3RTZWxlY3RvcilcbiAgfSxcbiAgW29wdGlvbnMuY2xpZW50U2VsZWN0b3JdOiAoKSA9PiB7XG4gICAgc2V0SGFzRXJyb3IoZmFsc2UpXG4gICAgc2V0Q3VycmVudE9wdGlvbihvcHRpb25zLmNsaWVudFNlbGVjdG9yKVxuICB9LFxuICBbb3B0aW9ucy5teUFnZW50c106ICgpID0+IHtcbiAgICBzZXRIYXNFcnJvcihmYWxzZSlcbiAgICBzZXRDdXJyZW50T3B0aW9uKG9wdGlvbnMubXlBZ2VudHMpXG4gIH0sXG59KVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsV0FBWUEsT0FBTywwQkFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQUEsT0FBUEEsT0FBTztBQUFBO0FBVW5CLE9BQU8sSUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUN4QkMsZ0JBQTJDLEVBQzNDQyxXQUF3QztFQUFBLE9BQUFDLGVBQUEsQ0FBQUEsZUFBQSxDQUFBQSxlQUFBLENBQUFBLGVBQUEsQ0FBQUEsZUFBQSxDQUFBQSxlQUFBLENBQUFBLGVBQUEsS0FFdkNKLE9BQU8sQ0FBQ0ssSUFBSSxFQUFHLFlBQU07SUFDcEJGLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEJELGdCQUFnQixDQUFDRixPQUFPLENBQUNLLElBQUksQ0FBQztFQUNoQyxDQUFDLEdBQ0FMLE9BQU8sQ0FBQ00sWUFBWSxFQUFHLFlBQU07SUFDNUJILFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEJELGdCQUFnQixDQUFDRixPQUFPLENBQUNNLFlBQVksQ0FBQztFQUN4QyxDQUFDLEdBQ0FOLE9BQU8sQ0FBQ08sY0FBYyxFQUFHLFlBQU07SUFDOUJKLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEJELGdCQUFnQixDQUFDRixPQUFPLENBQUNPLGNBQWMsQ0FBQztFQUMxQyxDQUFDLEdBQ0FQLE9BQU8sQ0FBQ1EsSUFBSSxFQUFHLFlBQU07SUFDcEJMLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEJELGdCQUFnQixDQUFDRixPQUFPLENBQUNRLElBQUksQ0FBQztFQUNoQyxDQUFDLEdBQ0FSLE9BQU8sQ0FBQ1MsZUFBZSxFQUFHLFlBQU07SUFDL0JOLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEJELGdCQUFnQixDQUFDRixPQUFPLENBQUNTLGVBQWUsQ0FBQztFQUMzQyxDQUFDLEdBQ0FULE9BQU8sQ0FBQ1UsY0FBYyxFQUFHLFlBQU07SUFDOUJQLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEJELGdCQUFnQixDQUFDRixPQUFPLENBQUNVLGNBQWMsQ0FBQztFQUMxQyxDQUFDLEdBQ0FWLE9BQU8sQ0FBQ1csUUFBUSxFQUFHLFlBQU07SUFDeEJSLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEJELGdCQUFnQixDQUFDRixPQUFPLENBQUNXLFFBQVEsQ0FBQztFQUNwQyxDQUFDO0FBQUEsQ0FDRCIsImlnbm9yZUxpc3QiOltdfQ==
40
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJvcHRpb25zIiwiYnVpbGRIYW5kbGVycyIsInNldEN1cnJlbnRPcHRpb24iLCJzZXRIYXNFcnJvciIsIl9kZWZpbmVQcm9wZXJ0eSIsImhvbWUiLCJjaGF0c0hpc3RvcnkiLCJwcm9qZWN0U3VtbWFyeSIsImNoYXQiLCJwcm9qZWN0U2VsZWN0b3IiLCJjbGllbnRTZWxlY3RvciIsIm15QWdlbnRzIiwibXlTa2lsbHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29uc3RhbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIG9wdGlvbnMge1xuICBob21lID0gJ2hvbWUnLFxuICBjaGF0c0hpc3RvcnkgPSAnY2hhdHNIaXN0b3J5JyxcbiAgcHJvamVjdFN1bW1hcnkgPSAncHJvamVjdFN1bW1hcnknLFxuICBjaGF0ID0gJ2NoYXQnLFxuICBwcm9qZWN0U2VsZWN0b3IgPSAncHJvamVjdFNlbGVjdG9yJyxcbiAgY2xpZW50U2VsZWN0b3IgPSAnY2xpZW50U2VsZWN0b3InLFxuICBteUFnZW50cyA9ICdteUFnZW50cycsXG4gIG15U2tpbGxzID0gJ215U2tpbGxzJyxcbn1cblxuZXhwb3J0IGNvbnN0IGJ1aWxkSGFuZGxlcnMgPSAoXG4gIHNldEN1cnJlbnRPcHRpb246IChvcHRpb246IG9wdGlvbnMpID0+IHZvaWQsXG4gIHNldEhhc0Vycm9yOiAoaGFzRXJyb3I6IGJvb2xlYW4pID0+IHZvaWRcbikgPT4gKHtcbiAgW29wdGlvbnMuaG9tZV06ICgpID0+IHtcbiAgICBzZXRIYXNFcnJvcihmYWxzZSlcbiAgICBzZXRDdXJyZW50T3B0aW9uKG9wdGlvbnMuaG9tZSlcbiAgfSxcbiAgW29wdGlvbnMuY2hhdHNIaXN0b3J5XTogKCkgPT4ge1xuICAgIHNldEhhc0Vycm9yKGZhbHNlKVxuICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5jaGF0c0hpc3RvcnkpXG4gIH0sXG4gIFtvcHRpb25zLnByb2plY3RTdW1tYXJ5XTogKCkgPT4ge1xuICAgIHNldEhhc0Vycm9yKGZhbHNlKVxuICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5wcm9qZWN0U3VtbWFyeSlcbiAgfSxcbiAgW29wdGlvbnMuY2hhdF06ICgpID0+IHtcbiAgICBzZXRIYXNFcnJvcihmYWxzZSlcbiAgICBzZXRDdXJyZW50T3B0aW9uKG9wdGlvbnMuY2hhdClcbiAgfSxcbiAgW29wdGlvbnMucHJvamVjdFNlbGVjdG9yXTogKCkgPT4ge1xuICAgIHNldEhhc0Vycm9yKGZhbHNlKVxuICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5wcm9qZWN0U2VsZWN0b3IpXG4gIH0sXG4gIFtvcHRpb25zLmNsaWVudFNlbGVjdG9yXTogKCkgPT4ge1xuICAgIHNldEhhc0Vycm9yKGZhbHNlKVxuICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5jbGllbnRTZWxlY3RvcilcbiAgfSxcbiAgW29wdGlvbnMubXlBZ2VudHNdOiAoKSA9PiB7XG4gICAgc2V0SGFzRXJyb3IoZmFsc2UpXG4gICAgc2V0Q3VycmVudE9wdGlvbihvcHRpb25zLm15QWdlbnRzKVxuICB9LFxuICBbb3B0aW9ucy5teVNraWxsc106ICgpID0+IHtcbiAgICBzZXRIYXNFcnJvcihmYWxzZSlcbiAgICBzZXRDdXJyZW50T3B0aW9uKG9wdGlvbnMubXlTa2lsbHMpXG4gIH0sXG59KVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsV0FBWUEsT0FBTywwQkFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBQSxPQUFQQSxPQUFPO0FBQUE7QUFXbkIsT0FBTyxJQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQ3hCQyxnQkFBMkMsRUFDM0NDLFdBQXdDO0VBQUEsT0FBQUMsZUFBQSxDQUFBQSxlQUFBLENBQUFBLGVBQUEsQ0FBQUEsZUFBQSxDQUFBQSxlQUFBLENBQUFBLGVBQUEsQ0FBQUEsZUFBQSxDQUFBQSxlQUFBLEtBRXZDSixPQUFPLENBQUNLLElBQUksRUFBRyxZQUFNO0lBQ3BCRixXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xCRCxnQkFBZ0IsQ0FBQ0YsT0FBTyxDQUFDSyxJQUFJLENBQUM7RUFDaEMsQ0FBQyxHQUNBTCxPQUFPLENBQUNNLFlBQVksRUFBRyxZQUFNO0lBQzVCSCxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xCRCxnQkFBZ0IsQ0FBQ0YsT0FBTyxDQUFDTSxZQUFZLENBQUM7RUFDeEMsQ0FBQyxHQUNBTixPQUFPLENBQUNPLGNBQWMsRUFBRyxZQUFNO0lBQzlCSixXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xCRCxnQkFBZ0IsQ0FBQ0YsT0FBTyxDQUFDTyxjQUFjLENBQUM7RUFDMUMsQ0FBQyxHQUNBUCxPQUFPLENBQUNRLElBQUksRUFBRyxZQUFNO0lBQ3BCTCxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xCRCxnQkFBZ0IsQ0FBQ0YsT0FBTyxDQUFDUSxJQUFJLENBQUM7RUFDaEMsQ0FBQyxHQUNBUixPQUFPLENBQUNTLGVBQWUsRUFBRyxZQUFNO0lBQy9CTixXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xCRCxnQkFBZ0IsQ0FBQ0YsT0FBTyxDQUFDUyxlQUFlLENBQUM7RUFDM0MsQ0FBQyxHQUNBVCxPQUFPLENBQUNVLGNBQWMsRUFBRyxZQUFNO0lBQzlCUCxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xCRCxnQkFBZ0IsQ0FBQ0YsT0FBTyxDQUFDVSxjQUFjLENBQUM7RUFDMUMsQ0FBQyxHQUNBVixPQUFPLENBQUNXLFFBQVEsRUFBRyxZQUFNO0lBQ3hCUixXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xCRCxnQkFBZ0IsQ0FBQ0YsT0FBTyxDQUFDVyxRQUFRLENBQUM7RUFDcEMsQ0FBQyxHQUNBWCxPQUFPLENBQUNZLFFBQVEsRUFBRyxZQUFNO0lBQ3hCVCxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xCRCxnQkFBZ0IsQ0FBQ0YsT0FBTyxDQUFDWSxRQUFRLENBQUM7RUFDcEMsQ0FBQztBQUFBLENBQ0QiLCJpZ25vcmVMaXN0IjpbXX0=