@projectcor/maia-components 2.11.65 → 2.11.66-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.
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +7 -3
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +4 -2
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +29 -2
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +33 -24
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +34 -6
- package/lib/components/atoms/icons/MAIAIsologo.js +5 -2
- package/lib/components/atoms/icons/SkillIcon.js +30 -0
- package/lib/components/atoms/icons/SkillsNavIcon.js +27 -0
- package/lib/components/atoms/icons/index.js +3 -1
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +19 -2
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +38 -4
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +2 -2
- package/lib/components/molecules/ChatAIModal/constants.js +6 -2
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +123 -28
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +66 -41
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +357 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +145 -0
- package/lib/components/molecules/ChatAIMySkills/index.js +2 -0
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +3 -1
- package/lib/components/molecules/Sidebar/Sidebar.js +19 -5
- package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +18 -14
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +160 -0
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +34 -0
- package/lib/components/organisms/AbmSkillGenerateModal/index.js +2 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +446 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +98 -0
- package/lib/components/organisms/AbmSkillModal/index.js +2 -0
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +8 -1
- package/lib/constants/config.js +4 -1
- package/lib/constants/permissions/index.js +2 -2
- package/lib/constants/permissions/utils.js +4 -1
- package/lib/hooks/useContextMentions.js +47 -9
- package/lib/hooks/useEntitySearch.js +294 -108
- package/lib/hooks/useMentionAllowedTypes.js +19 -4
- package/lib/hooks/useMentionPopover.js +35 -15
- package/lib/lang/br/index.js +59 -5
- package/lib/lang/en/index.js +59 -5
- package/lib/lang/es/index.js +59 -5
- package/lib/lang/fr/index.js +59 -5
- package/lib/services/maia/Agents/getAgents.js +92 -20
- package/lib/services/maia/Skills/createSkill.js +39 -0
- package/lib/services/maia/Skills/deleteSkill.js +38 -0
- package/lib/services/maia/Skills/generateSkill.js +41 -0
- package/lib/services/maia/Skills/getSkills.js +90 -0
- package/lib/services/maia/Skills/updateSkill.js +39 -0
- package/lib/types/contextMention.js +1 -1
- package/lib/types/skill.js +2 -0
- package/lib/utils/contextMentionIcons.js +29 -1
- package/lib/utils/renderContextMentions.js +9 -4
- package/package.json +1 -1
package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js
CHANGED
|
@@ -328,7 +328,7 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
328
328
|
height: 14,
|
|
329
329
|
color: "#343433"
|
|
330
330
|
}), t('back')]
|
|
331
|
-
}), selectedAgentType && selectedModelLlm && /*#__PURE__*/_jsx(ChipLlm, {
|
|
331
|
+
}), !hideAgentSelector && selectedAgentType && selectedModelLlm && /*#__PURE__*/_jsx(ChipLlm, {
|
|
332
332
|
model: selectedModelLlm,
|
|
333
333
|
expanded: expanded
|
|
334
334
|
}), /*#__PURE__*/_jsxs(SCCAIMHLayoutMenuAnchor, {
|
|
@@ -382,4 +382,4 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
382
382
|
})]
|
|
383
383
|
});
|
|
384
384
|
};
|
|
385
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJDcm9zcyIsIkNoZXZyb25Eb3duIiwiQ2hldnJvbkxlZnQiLCJ1c2VUcmFuc2xhdGlvbiIsIlNFQ1RJT05TIiwidXNlR2xvYmFsQ29udGV4dCIsInVzZVJlc2l6ZUxpc3RlbmVyIiwiSWNvbkJ1dHRvbiIsIk1BSUFJY29uIiwiTWFpYUNoYXRMYXlvdXRNZW51SWNvbiIsIkNoYXRBSUFnZW50T3B0aW9uIiwiU0NDQUlNSE1vZGFsIiwiU0NDQUlNSFNlbGVjdGVkQWdlbnQiLCJTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHQiLCJTQ0NBSU1IV3JhcHBlciIsIlNDQ0FJTUhXcmFwcGVyQnV0dG9uIiwiU0NDQUlNSFdyYXBwZXJJY29uIiwiU0NDQUlNSFdyYXBwZXJNb2RhbCIsIlNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50IiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSIsIlNDQ0FJTUhEaXZpZGVyIiwiU0NDQUlNSEFnZW50c0xpc3QiLCJTQ0NBSU1ITG9hZGVyV3JhcHBlciIsIlNDQ0FJV3JhcHBlciIsIlNDQ0FJTUhMYXlvdXRNZW51QW5jaG9yIiwiU0NDQUlNSExheW91dE1lbnVQYW5lbCIsIlNDQ0FJTUhMYXlvdXRNZW51Um93IiwiU0NDQUlNSEJhY2tCdXR0b24iLCJFVkVOVFMiLCJ1c2VFdmVudCIsInVzZVVzZXIiLCJpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkIiwiQ2hpcExsbSIsIkxvYWRlciIsInVzZU1haWFUYXNrUGFuZWxaSW5kZXgiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJDaGF0QUlNb2RhbEhlYWRlciIsIl9yZWYiLCJsYXlvdXRNb2RlIiwib25MYXlvdXRNb2RlQ2hhbmdlIiwiZXhwYW5kZWQiLCJfcmVmJGRyYWdnYWJsZSIsImRyYWdnYWJsZSIsIm9uRHJhZ1N0YXJ0Iiwib25EcmFnTW92ZSIsIm9uRHJhZ0VuZCIsIl9yZWYkaGFuZGxlQ2xvc2UiLCJoYW5kbGVDbG9zZSIsIl9yZWYkYWdlbnRzIiwiYWdlbnRzIiwiX3JlZiRoYXNFcnJvciIsImhhc0Vycm9yIiwiX3JlZiRsb2FkaW5nIiwibG9hZGluZyIsIl9yZWYkbG9hZGluZ01vcmUiLCJsb2FkaW5nTW9yZSIsIl9yZWYkaGFzTW9yZSIsImhhc01vcmUiLCJoYW5kbGVSZXNldENoYXQiLCJvbkFnZW50VXBkYXRlIiwibG9hZE1vcmVBZ2VudHMiLCJzb3J0QWdlbnRzTGlzdCIsIl9yZWYkaGlkZUFnZW50U2VsZWN0byIsImhpZGVBZ2VudFNlbGVjdG9yIiwib25BZ2VudFNlbGVjdGVkIiwiX3JlZiRzaG93QmFja0J1dHRvbiIsInNob3dCYWNrQnV0dG9uIiwiX3JlZiRvbkJhY2siLCJvbkJhY2siLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsInQiLCJ1c2VyIiwiYW1wbGl0dWRFdmVudCIsIl91c2VHbG9iYWxDb250ZXh0Iiwic2VsZWN0ZWRBZ2VudCIsImFnZW50Iiwic2VsZWN0QWdlbnQiLCJzZXRQcm9qZWN0Iiwic2V0Q2xpZW50Iiwic2V0VGFzayIsInNlY3Rpb24iLCJ0b29sdGlwWkluZGV4IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNFeHBhbmRlZCIsInNldElzRXhwYW5kZWQiLCJ0ZXh0UmVmQWdlbnQiLCJkcm9wZG93blJlZiIsImxheW91dE1lbnVSZWYiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxheW91dE1lbnVPcGVuIiwic2V0TGF5b3V0TWVudU9wZW4iLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJuYW1lIiwic2hvd1Rvb2x0aXBBZ2VudCIsInNob3dUb29sdGlwIiwiYWdlbnRzUmVmIiwiYWdlbnRzRm9yU2VsZWN0b3IiLCJmaWx0ZXIiLCJhZ2VudEl0ZW0iLCJlbnRpdHkiLCJ1bmRlZmluZWQiLCJoYW5kbGVTY3JvbGwiLCJjdXJyZW50IiwiX2FnZW50c1JlZiRjdXJyZW50Iiwic2Nyb2xsVG9wIiwic2Nyb2xsSGVpZ2h0IiwiY2xpZW50SGVpZ2h0IiwiZGlzdGFuY2VGcm9tQm90dG9tIiwidGltZW91dElkIiwic2V0VGltZW91dCIsInNjcm9sbEVsZW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiY2xlYXJUaW1lb3V0IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImxvY2FsQWdlbnRzIiwiX3JlZjIiLCJpc19kZWxldGVkIiwiaGFzX25vdF9wZXJtaXNzaW9ucyIsImhhc19ub3RfYWNjZXNzIiwiaXNfZnJvbV9jb252ZXJzYXRpb24iLCJmcm9tTGlzdCIsImZpbmQiLCJpZCIsImhhbmRsZVNlbGVjdEFnZW50IiwiYWlDaGF0QWdlbnRTZWxlY3QiLCJhZ2VudF90eXBlIiwidHlwZSIsIm5lZWRzRW50aXR5IiwiaGFuZGxlRXhwYW5kTW9kYWwiLCJhaUNoYXRPcGVuQWdlbnRTZWxlY3QiLCJwcmV2IiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwiZXZlbnQiLCJ0YXJnZXQiLCJjb250YWlucyIsImRvY3VtZW50IiwiaGFuZGxlUGlja0xheW91dCIsIm1vZGUiLCJwcm9qZWN0UmVzdW1lRXhwYW5kIiwiYWlDaGF0U2VsZWN0Vmlld09wdGlvbnMiLCJvcHRpb24iLCJjbG9uZUFnZW50c1JvbGVCbG9ja2VkIiwicmVuZGVyTW9kYWwiLCJyZWYiLCJvbkNsaWNrIiwibGVuZ3RoIiwiY2hpbGRyZW4iLCJfb2JqZWN0U3ByZWFkIiwidGl0bGUiLCJzdHlsZSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwiZ2FwIiwiZW1vamkiLCJwbGFjZW1lbnQiLCJ6SW5kZXgiLCJpc0FnZW50RGVsZXRlZCIsIndpZHRoIiwiaGVpZ2h0IiwiY29sb3IiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MiLCJjbG9uZUFnZW50cyIsImFnIiwiaXNDbG9uZSIsIm1hcCIsImNsb25lQWdlbnQiLCJpbmRleCIsImlzU2VsZWN0ZWQiLCJpc01haWEiLCJvbkZhdm9yaXRlVG9nZ2xlIiwiY29uY2F0Iiwic29tZSIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJjb21wYW55IiwiYWdlbnRzQ291bnQiLCJzaXplIiwic2VsZWN0ZWRNb2RlbExsbSIsIm1vZGVsX2Rpc3BsYXlfbmFtZSIsInNlbGVjdGVkQWdlbnRUeXBlIiwic2hvdWxkUmVuZGVyU2VsZWN0b3IiLCIkaGFzRXJyb3IiLCIkbG9hZGluZyIsIiRoYXNBZ2VudHMiLCJvblBvaW50ZXJEb3duIiwib25Qb2ludGVyTW92ZSIsIm9uUG9pbnRlclVwIiwib25Qb2ludGVyQ2FuY2VsIiwib25Mb3N0UG9pbnRlckNhcHR1cmUiLCJjdXJzb3IiLCJ0b3VjaEFjdGlvbiIsImFpQ2hhdEJhY2siLCJtb2RlbCIsImJ1dHRvbklkIiwiaGFuZGxlQ2xpY2siLCJhaUNoYXRPcGVuVmlld09wdGlvbnMiLCJ0b29sdGlwIiwiZGlzYWJsZVRvb2x0aXAiLCJyb2xlIiwiJGFjdGl2ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9jb21wb25lbnRzL0NoYXRBaU1vZGFsSGVhZGVyL0NoYXRBaU1vZGFsSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvaW5kZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1uZXN0ZWQtdGVybmFyeSAqL1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlTWVtbywgUG9pbnRlckV2ZW50IGFzIFJlYWN0UG9pbnRlckV2ZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyBDcm9zcyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzJ1xuaW1wb3J0IHsgQ2hldnJvbkRvd24gfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGV2cm9uRG93bidcbmltcG9ydCB7IENoZXZyb25MZWZ0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hldnJvbkxlZnQnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZVJlc2l6ZUxpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlUmVzaXplJ1xuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0ljb25CdXR0b24nXG5pbXBvcnQgeyBNQUlBSWNvbiwgTWFpYUNoYXRMYXlvdXRNZW51SWNvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL2ljb25zJ1xuaW1wb3J0IHsgQ2hhdEFJQWdlbnRPcHRpb24gfSBmcm9tICcuLi9DaGF0QWlBZ2VudE9wdGlvbnMvQ2hhdEFpQWdlbnRPcHRpb25zJ1xuaW1wb3J0IHtcbiAgU0NDQUlNSE1vZGFsLFxuICBTQ0NBSU1IU2VsZWN0ZWRBZ2VudCxcbiAgU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0LFxuICBTQ0NBSU1IV3JhcHBlcixcbiAgU0NDQUlNSFdyYXBwZXJCdXR0b24sXG4gIFNDQ0FJTUhXcmFwcGVySWNvbixcbiAgU0NDQUlNSFdyYXBwZXJNb2RhbCxcbiAgU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQsXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGUsXG4gIFNDQ0FJTUhEaXZpZGVyLFxuICBTQ0NBSU1IQWdlbnRzTGlzdCxcbiAgU0NDQUlNSExvYWRlcldyYXBwZXIsXG4gIFNDQ0FJV3JhcHBlcixcbiAgU0NDQUlNSExheW91dE1lbnVBbmNob3IsXG4gIFNDQ0FJTUhMYXlvdXRNZW51UGFuZWwsXG4gIFNDQ0FJTUhMYXlvdXRNZW51Um93LFxuICBTQ0NBSU1IQmFja0J1dHRvbixcbn0gZnJvbSAnLi9DaGF0QWlNb2RhbEhlYWRlci5zdHlsZXMnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi4vLi4vbGF5b3V0J1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29uc3RhbnRzL21haWFUYXNrUGFuZWxBY2Nlc3MnXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgQ2hpcExsbSB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0NoaXBMbG0nXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9Mb2FkZXInXG5pbXBvcnQgeyB1c2VNYWlhVGFza1BhbmVsWkluZGV4IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlTWFpYVRhc2tQYW5lbFpJbmRleCdcblxuZXhwb3J0IGNvbnN0IENoYXRBSU1vZGFsSGVhZGVyID0gKHtcbiAgbGF5b3V0TW9kZSxcbiAgb25MYXlvdXRNb2RlQ2hhbmdlLFxuICBleHBhbmRlZCxcbiAgZHJhZ2dhYmxlID0gZmFsc2UsXG4gIG9uRHJhZ1N0YXJ0LFxuICBvbkRyYWdNb3ZlLFxuICBvbkRyYWdFbmQsXG4gIGhhbmRsZUNsb3NlID0gKCkgPT4gbnVsbCxcbiAgYWdlbnRzID0gW10sXG4gIGhhc0Vycm9yID0gZmFsc2UsXG4gIGxvYWRpbmcgPSBmYWxzZSxcbiAgbG9hZGluZ01vcmUgPSBmYWxzZSxcbiAgaGFzTW9yZSA9IGZhbHNlLFxuICBoYW5kbGVSZXNldENoYXQsXG4gIG9uQWdlbnRVcGRhdGUsXG4gIGxvYWRNb3JlQWdlbnRzLFxuICBzb3J0QWdlbnRzTGlzdCxcbiAgaGlkZUFnZW50U2VsZWN0b3IgPSBmYWxzZSxcbiAgb25BZ2VudFNlbGVjdGVkLFxuICBzaG93QmFja0J1dHRvbiA9IGZhbHNlLFxuICBvbkJhY2sgPSAoKSA9PiBudWxsLFxufToge1xuICBsYXlvdXRNb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZVxuICBvbkxheW91dE1vZGVDaGFuZ2U6IChtb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSkgPT4gdm9pZFxuICBleHBhbmRlZDogYm9vbGVhblxuICBkcmFnZ2FibGU/OiBib29sZWFuXG4gIG9uRHJhZ1N0YXJ0PzogKGV2ZW50OiBSZWFjdFBvaW50ZXJFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgb25EcmFnTW92ZT86IChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uRHJhZ0VuZD86IChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIGhhbmRsZUNsb3NlPzogKCkgPT4gdm9pZFxuICBhZ2VudHM6IEFnZW50W11cbiAgaGFzRXJyb3I6IGJvb2xlYW5cbiAgbG9hZGluZzogYm9vbGVhblxuICBsb2FkaW5nTW9yZT86IGJvb2xlYW5cbiAgaGFzTW9yZT86IGJvb2xlYW5cbiAgaGFuZGxlUmVzZXRDaGF0OiAoKSA9PiB2b2lkXG4gIG9uQWdlbnRVcGRhdGU/OiAodXBkYXRlZEFnZW50OiBBZ2VudCkgPT4gdm9pZFxuICBsb2FkTW9yZUFnZW50cz86ICgpID0+IHZvaWRcbiAgc29ydEFnZW50c0xpc3Q/OiAoKSA9PiB2b2lkXG4gIGhpZGVBZ2VudFNlbGVjdG9yPzogYm9vbGVhblxuICAvKipcbiAgICogU2UgaW52b2NhIGRlc3B1w6lzIGRlbCByZXNldCBjdWFuZG8gZWwgYWdlbnRlIHNlbGVjY2lvbmFkbyBOTyByZXF1aWVyZSBzZWxlY2Npw7NuXG4gICAqIGRlIGVudGl0eSAoY3VzdG9tIG8gY2xvbmUrZ2xvYmFsKS4gUGVybWl0ZSByZXNvbHZlciBgR0VUIC92Mi9zZXNzaW9ucy9hZ2VudC97aWR9YFxuICAgKiB5IG5hdmVnYXIgYSB1bmEgY29udmVyc2FjacOzbiBleGlzdGVudGUgc2kgbGEgaGF5LlxuICAgKi9cbiAgb25BZ2VudFNlbGVjdGVkPzogKGFnZW50OiBBZ2VudCkgPT4gdm9pZCB8IFByb21pc2U8dW5rbm93bj5cbiAgc2hvd0JhY2tCdXR0b24/OiBib29sZWFuXG4gIG9uQmFjaz86ICgpID0+IHZvaWRcbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnRdKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGFtcGxpdHVkRXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgYWdlbnQ6IHNlbGVjdGVkQWdlbnQsIHNlbGVjdEFnZW50LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQsIHNldFRhc2ssIHNlY3Rpb24gfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICAvLyBFbiBzZWN0aW9uICd0YXNrJyBlbCBtb2RhbCBkZSBNYWlhIHNlIGVsZXZhIHBvciBlbmNpbWEgZGVsIHRhc2sgcGFuZWwgKHotaW5kZXggOTgwMDAwMSkuXG4gIC8vIExvcyB0b29sdGlwcyBzZSBtb250YW4gZW4gcG9ydGFsIGNvbiB6LWluZGV4IDE1MDAgcG9yIGRlZmVjdG8sIGFzw60gcXVlIHF1ZWRhcsOtYW4gZGV0csOhcy5cbiAgLy8gU3ViaW1vcyBzdSB6LWluZGV4IHPDs2xvIGVuIGVzdGUgY2FzbyBwYXJhIHF1ZSBzZSB2ZWFuIHBvciBlbmNpbWEgZGVsIG1vZGFsLlxuICBjb25zdCB0b29sdGlwWkluZGV4ID0gdXNlTWFpYVRhc2tQYW5lbFpJbmRleCgxNTAwLCAnb3ZlcmxheScpXG4gIGNvbnN0IFtpc0V4cGFuZGVkLCBzZXRJc0V4cGFuZGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB0ZXh0UmVmQWdlbnQgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50PihudWxsKVxuICBjb25zdCBkcm9wZG93blJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgbGF5b3V0TWVudVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgW2xheW91dE1lbnVPcGVuLCBzZXRMYXlvdXRNZW51T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgeyBzaG93VG9vbHRpcDogc2hvd1Rvb2x0aXBBZ2VudCB9ID0gdXNlUmVzaXplTGlzdGVuZXIodGV4dFJlZkFnZW50LCBbc2VsZWN0ZWRBZ2VudD8ubmFtZV0pXG4gIGNvbnN0IGFnZW50c1JlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcblxuICBjb25zdCBhZ2VudHNGb3JTZWxlY3RvciA9IHVzZU1lbW8oKCkgPT4gYWdlbnRzLmZpbHRlcihhZ2VudEl0ZW0gPT4gYWdlbnRJdGVtLmVudGl0eSAhPT0gJ2dsb2JhbCcpLCBbYWdlbnRzXSlcblxuICAvLyBNYW5lamFyIHNjcm9sbCBpbmZpbml0byBwYXJhIGNhcmdhciBtw6FzIGFnZW50c1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFNvbG8gY3VhbmRvIGVsIGRyb3Bkb3duIGVzdMOpIGFiaWVydG9cbiAgICBpZiAoIWlzRXhwYW5kZWQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoKSA9PiB7XG4gICAgICBpZiAoIWFnZW50c1JlZi5jdXJyZW50IHx8ICFsb2FkTW9yZUFnZW50cyB8fCAhaGFzTW9yZSB8fCBsb2FkaW5nTW9yZSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgY29uc3QgZGlzdGFuY2VGcm9tQm90dG9tID0gc2Nyb2xsSGVpZ2h0IC0gc2Nyb2xsVG9wIC0gY2xpZW50SGVpZ2h0XG5cbiAgICAgIC8vIENhcmdhciBtw6FzICg1MHB4IGFudGVzKVxuICAgICAgaWYgKGRpc3RhbmNlRnJvbUJvdHRvbSA8IDUwKSB7XG4gICAgICAgIGxvYWRNb3JlQWdlbnRzKClcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBkZWxheSBwYXJhIGFzZWd1cmFyIHF1ZSBlbCBET00gZXN0w6kgcmVuZGVyaXphZG9cbiAgICBjb25zdCB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHNjcm9sbEVsZW1lbnQgPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgaWYgKHNjcm9sbEVsZW1lbnQpIHtcbiAgICAgICAgc2Nyb2xsRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgICB9XG4gICAgfSwgMTAwKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpXG4gICAgICBjb25zdCBzY3JvbGxFbGVtZW50ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGlmIChzY3JvbGxFbGVtZW50KSB7XG4gICAgICAgIHNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2lzRXhwYW5kZWQsIGxvYWRNb3JlQWdlbnRzLCBoYXNNb3JlLCBsb2FkaW5nTW9yZV0pXG5cbiAgY29uc3QgbG9jYWxBZ2VudHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5oYXNfbm90X2FjY2VzcyB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaXNfZnJvbV9jb252ZXJzYXRpb25cbiAgICApIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZEFnZW50XG4gICAgfVxuICAgIGNvbnN0IGZyb21MaXN0ID0gYWdlbnRzLmZpbmQoXG4gICAgICBhZ2VudCA9PlxuICAgICAgICAhYWdlbnQuaXNfZGVsZXRlZCAmJiAhYWdlbnQuaGFzX25vdF9wZXJtaXNzaW9ucyAmJiAhYWdlbnQuaGFzX25vdF9hY2Nlc3MgJiYgYWdlbnQuaWQgPT09IHNlbGVjdGVkQWdlbnQ/LmlkXG4gICAgKVxuICAgIC8vIEFnZW50ZSBoaWRyYXRhZG8gcG9yIEdFVCAocC4gZWouIG51ZXZvIGNoYXQgdHJhcyBjcmVhdGVfYWdlbnQpIHB1ZWRlIG5vIGVzdGFyIGHDum4gZW4gbGEgbGlzdGEgcGFnaW5hZGFcbiAgICByZXR1cm4gZnJvbUxpc3QgPz8gc2VsZWN0ZWRBZ2VudCA/PyBudWxsXG4gIH0sIFthZ2VudHMsIHNlbGVjdGVkQWdlbnRdKVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEFnZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgKGFnZW50OiBBZ2VudCkgPT4ge1xuICAgICAgc2VsZWN0QWdlbnQoYWdlbnQpXG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRBZ2VudFNlbGVjdCwge1xuICAgICAgICBhZ2VudF90eXBlOiBhZ2VudD8udHlwZSxcbiAgICAgIH0pXG4gICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgc2V0UHJvamVjdChudWxsKVxuICAgICAgc2V0Q2xpZW50Py4obnVsbClcbiAgICAgIHNldFRhc2sobnVsbClcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBoYW5kbGVSZXNldENoYXQoKVxuICAgICAgICAvLyBTaSBlbCBhZ2VudGUgbm8gZGVwZW5kZSBkZSB1bmEgZW50aXR5IChjdXN0b20gbyBjbG9uZStnbG9iYWwpIHlhIHBvZGVtb3NcbiAgICAgICAgLy8gcmVzb2x2ZXIgc2kgZXhpc3RlIHVuYSBzZXNpw7NuIHByZXZpYSB5LCBlbiBlc2UgY2FzbywgbmF2ZWdhciBhIGVsbGEuXG4gICAgICAgIC8vIFBhcmEgY2xvbmUrcHJvamVjdHxjbGllbnQsIGxhIHJlc29sdWNpw7NuIG9jdXJyZSBlbiBsb3Mgc2VsZWN0b3JzIGRlIGVudGl0eS5cbiAgICAgICAgY29uc3QgbmVlZHNFbnRpdHkgPSBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyAmJiAoYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnIHx8IGFnZW50Py5lbnRpdHkgPT09ICdjbGllbnQnKVxuICAgICAgICBpZiAoIW5lZWRzRW50aXR5KSB7XG4gICAgICAgICAgb25BZ2VudFNlbGVjdGVkPy4oYWdlbnQpXG4gICAgICAgIH1cbiAgICAgIH0sIDEwMClcbiAgICB9LFxuICAgIFtzZWxlY3RBZ2VudCwgYW1wbGl0dWRFdmVudCwgaGFuZGxlUmVzZXRDaGF0LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQsIHNldFRhc2ssIG9uQWdlbnRTZWxlY3RlZF1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUV4cGFuZE1vZGFsID0gKCkgPT4ge1xuICAgIGlmICghaXNFeHBhbmRlZCkge1xuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0T3BlbkFnZW50U2VsZWN0KVxuICAgICAgLy8gQ3VhbmRvIHNlIGFicmUgZWwgc2VsZWN0b3IsIG9yZGVuYXIgbG9zIGFnZW50ZXNcbiAgICAgIGlmIChzb3J0QWdlbnRzTGlzdCkge1xuICAgICAgICBzb3J0QWdlbnRzTGlzdCgpXG4gICAgICB9XG4gICAgfVxuICAgIHNldElzRXhwYW5kZWQocHJldiA9PiAhcHJldilcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0V4cGFuZGVkICYmICFsYXlvdXRNZW51T3Blbikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIE5vZGVcbiAgICAgIGlmIChpc0V4cGFuZGVkICYmIGRyb3Bkb3duUmVmLmN1cnJlbnQgJiYgIWRyb3Bkb3duUmVmLmN1cnJlbnQuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgfVxuICAgICAgaWYgKGxheW91dE1lbnVPcGVuICYmIGxheW91dE1lbnVSZWYuY3VycmVudCAmJiAhbGF5b3V0TWVudVJlZi5jdXJyZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgc2V0TGF5b3V0TWVudU9wZW4oZmFsc2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuICB9LCBbaXNFeHBhbmRlZCwgbGF5b3V0TWVudU9wZW5dKVxuXG4gIGNvbnN0IGhhbmRsZVBpY2tMYXlvdXQgPSB1c2VDYWxsYmFjayhcbiAgICAobW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGUpID0+IHtcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLnByb2plY3RSZXN1bWVFeHBhbmQsIHtcbiAgICAgICAgZXhwYW5kZWQ6IG1vZGUgPT09ICdmdWxsc2NyZWVuJyxcbiAgICAgIH0pXG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRTZWxlY3RWaWV3T3B0aW9ucywgeyBvcHRpb246IG1vZGUgfSlcbiAgICAgIG9uTGF5b3V0TW9kZUNoYW5nZShtb2RlKVxuICAgICAgc2V0TGF5b3V0TWVudU9wZW4oZmFsc2UpXG4gICAgfSxcbiAgICBbYW1wbGl0dWRFdmVudCwgb25MYXlvdXRNb2RlQ2hhbmdlXVxuICApXG5cbiAgY29uc3QgY2xvbmVBZ2VudHNSb2xlQmxvY2tlZCA9IGlzTWFpYUNsb25lQWdlbnRzUm9sZUJsb2NrZWQodXNlciwgc2VjdGlvbilcblxuICBjb25zdCByZW5kZXJNb2RhbCA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUhXcmFwcGVyXG4gICAgICAgIHJlZj17ZHJvcGRvd25SZWZ9XG4gICAgICAgIGRhdGEtbm8tZHJhZz1cInRydWVcIlxuICAgICAgICBvbkNsaWNrPXthZ2VudHMubGVuZ3RoID8gaGFuZGxlRXhwYW5kTW9kYWwgOiB1bmRlZmluZWR9XG4gICAgICAgIGlkPVwiY2hhdC1haS1tb2RhbC1oZWFkZXItd3JhcHBlclwiXG4gICAgICA+XG4gICAgICAgIDxTQ0NBSU1IU2VsZWN0ZWRBZ2VudD5cbiAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgdGl0bGU9e1xuICAgICAgICAgICAgICBzaG93VG9vbHRpcEFnZW50ID8gKFxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJzRweCcgfX0+XG4gICAgICAgICAgICAgICAgICB7bG9jYWxBZ2VudHM/LnR5cGUgPT09ICdjdXN0b20nID8gbG9jYWxBZ2VudHM/LmVtb2ppIDogPE1BSUFJY29uIC8+fSB7bG9jYWxBZ2VudHM/Lm5hbWV9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICcnXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBsYWNlbWVudD17aXNFeHBhbmRlZCA/ICdsZWZ0JyA6ICd0b3AnfVxuICAgICAgICAgICAgey4uLih0b29sdGlwWkluZGV4ICE9IG51bGwgPyB7IHpJbmRleDogdG9vbHRpcFpJbmRleCB9IDoge30pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHRcbiAgICAgICAgICAgICAgcmVmPXt0ZXh0UmVmQWdlbnR9XG4gICAgICAgICAgICAgIGlzQWdlbnREZWxldGVkPXtcbiAgICAgICAgICAgICAgICAhIXNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgfHwgISFzZWxlY3RlZEFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8ICEhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9hY2Nlc3NcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICc0cHgnIH19PlxuICAgICAgICAgICAgICAgIHtsb2NhbEFnZW50cz8udHlwZSA9PT0gJ2N1c3RvbScgPyBsb2NhbEFnZW50cz8uZW1vamkgOiA8TUFJQUljb24gLz59IHtsb2NhbEFnZW50cz8ubmFtZX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9TQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICA8L1NDQ0FJTUhTZWxlY3RlZEFnZW50PlxuICAgICAgICA8U0NDQUlNSFdyYXBwZXJJY29uPlxuICAgICAgICAgIDxDaGV2cm9uRG93biB3aWR0aD17MTR9IGhlaWdodD17MTR9IGNvbG9yPVwiIzIwMjAxRlwiIC8+XG4gICAgICAgIDwvU0NDQUlNSFdyYXBwZXJJY29uPlxuICAgICAgICB7aXNFeHBhbmRlZCAmJiAoXG4gICAgICAgICAgPFNDQ0FJTUhXcmFwcGVyTW9kYWw+XG4gICAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgICAgIHt3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTICYmICFjbG9uZUFnZW50c1JvbGVCbG9ja2VkICYmIChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNsb25lQWdlbnRzID0gYWdlbnRzRm9yU2VsZWN0b3IuZmlsdGVyKChhZzogQWdlbnQpID0+IGFnLnR5cGUgPT09ICdjbG9uZScpXG4gICAgICAgICAgICAgICAgICAgIGlmICghY2xvbmVBZ2VudHMubGVuZ3RoKSByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U0NDQUlXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TUFJQUljb24gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGUgaXNDbG9uZT5NQUlBIGJ5IENPUjwvU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU0NDQUlXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhEaXZpZGVyIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjbG9uZUFnZW50cy5tYXAoKGNsb25lQWdlbnQsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxDaGF0QUlBZ2VudE9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YGFnZW50LSR7Y2xvbmVBZ2VudC5pZH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFnZW50PXtjbG9uZUFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RBZ2VudD17aGFuZGxlU2VsZWN0QWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17c2VsZWN0ZWRBZ2VudD8uaWQgPT09IGNsb25lQWdlbnQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNNYWlhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25GYXZvcml0ZVRvZ2dsZT17b25BZ2VudFVwZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7YWdlbnRzRm9yU2VsZWN0b3Iuc29tZShhZ2VudCA9PiBhZ2VudC50eXBlID09PSAnY3VzdG9tJykgJiZcbiAgICAgICAgICAgICAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyAmJiAoXG4gICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICB7dCgnYWdlbnRzJyl9IGJ5IHt1c2VyLmNvbXBhbnl9XG4gICAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhEaXZpZGVyIC8+XG4gICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8U0NDQUlNSEFnZW50c0xpc3QgaGFzTW9yZT17aGFzTW9yZX0gYWdlbnRzQ291bnQ9e2FnZW50c0ZvclNlbGVjdG9yLmxlbmd0aH0gcmVmPXthZ2VudHNSZWZ9PlxuICAgICAgICAgICAgICAgIHthZ2VudHNGb3JTZWxlY3Rvcj8ubWFwKChhZ2VudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/LmlzX2RlbGV0ZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHxcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/Lmhhc19ub3RfYWNjZXNzIHx8XG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py50eXBlID09PSAnY2xvbmUnIHx8XG4gICAgICAgICAgICAgICAgICAgIChhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbScgJiYgIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTKVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPENoYXRBSUFnZW50T3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAga2V5PXtgYWdlbnQtJHthZ2VudC5pZH1gfVxuICAgICAgICAgICAgICAgICAgICAgIGFnZW50PXthZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0QWdlbnQ9e2hhbmRsZVNlbGVjdEFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e3NlbGVjdGVkQWdlbnQ/LmlkID09PSBhZ2VudC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICBvbkZhdm9yaXRlVG9nZ2xlPXtvbkFnZW50VXBkYXRlfVxuICAgICAgICAgICAgICAgICAgICAgIHNldElzRXhwYW5kZWQ9e3NldElzRXhwYW5kZWR9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAge2xvYWRpbmdNb3JlICYmIChcbiAgICAgICAgICAgICAgICAgIDxTQ0NBSU1ITG9hZGVyV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgPExvYWRlciBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1ITG9hZGVyV3JhcHBlcj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhBZ2VudHNMaXN0PlxuICAgICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudD5cbiAgICAgICAgICA8L1NDQ0FJTUhXcmFwcGVyTW9kYWw+XG4gICAgICAgICl9XG4gICAgICA8L1NDQ0FJTUhXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHNlbGVjdGVkTW9kZWxMbG0gPSBzZWxlY3RlZEFnZW50Py5tb2RlbF9kaXNwbGF5X25hbWVcbiAgY29uc3Qgc2VsZWN0ZWRBZ2VudFR5cGUgPSBzZWxlY3RlZEFnZW50Py50eXBlID09PSAnY3VzdG9tJ1xuICBjb25zdCBzaG91bGRSZW5kZXJTZWxlY3RvciA9XG4gICAgIWhhc0Vycm9yICYmXG4gICAgIWxvYWRpbmcgJiZcbiAgICAhaGlkZUFnZW50U2VsZWN0b3IgJiZcbiAgICAhIXNlbGVjdGVkQWdlbnQgJiZcbiAgICAoISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyB8fCAhIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MpXG5cbiAgcmV0dXJuIChcbiAgICA8U0NDQUlNSE1vZGFsXG4gICAgICAkaGFzRXJyb3I9e2hhc0Vycm9yfVxuICAgICAgJGxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAkaGFzQWdlbnRzPXshIWFnZW50cy5sZW5ndGh9XG4gICAgICBvblBvaW50ZXJEb3duPXtkcmFnZ2FibGUgPyBvbkRyYWdTdGFydCA6IHVuZGVmaW5lZH1cbiAgICAgIG9uUG9pbnRlck1vdmU9e2RyYWdnYWJsZSA/IG9uRHJhZ01vdmUgOiB1bmRlZmluZWR9XG4gICAgICBvblBvaW50ZXJVcD17ZHJhZ2dhYmxlID8gb25EcmFnRW5kIDogdW5kZWZpbmVkfVxuICAgICAgb25Qb2ludGVyQ2FuY2VsPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBvbkxvc3RQb2ludGVyQ2FwdHVyZT17ZHJhZ2dhYmxlID8gb25EcmFnRW5kIDogdW5kZWZpbmVkfVxuICAgICAgc3R5bGU9e3sgY3Vyc29yOiBkcmFnZ2FibGUgPyAnZ3JhYicgOiB1bmRlZmluZWQsIHRvdWNoQWN0aW9uOiBkcmFnZ2FibGUgPyAnbWFuaXB1bGF0aW9uJyA6IHVuZGVmaW5lZCB9fVxuICAgID5cbiAgICAgIHtzaG91bGRSZW5kZXJTZWxlY3RvciA/IHJlbmRlck1vZGFsKCkgOiA8ZGl2IC8+fVxuICAgICAgPFNDQ0FJTUhXcmFwcGVyQnV0dG9uIGRhdGEtbm8tZHJhZz1cInRydWVcIj5cbiAgICAgICAge3Nob3dCYWNrQnV0dG9uICYmIChcbiAgICAgICAgICA8U0NDQUlNSEJhY2tCdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRCYWNrKVxuICAgICAgICAgICAgICBvbkJhY2soKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Q2hldnJvbkxlZnQgd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSBjb2xvcj1cIiMzNDM0MzNcIiAvPlxuICAgICAgICAgICAge3QoJ2JhY2snKX1cbiAgICAgICAgICA8L1NDQ0FJTUhCYWNrQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgICB7c2VsZWN0ZWRBZ2VudFR5cGUgJiYgc2VsZWN0ZWRNb2RlbExsbSAmJiA8Q2hpcExsbSBtb2RlbD17c2VsZWN0ZWRNb2RlbExsbX0gZXhwYW5kZWQ9e2V4cGFuZGVkfSAvPn1cbiAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51QW5jaG9yIHJlZj17bGF5b3V0TWVudVJlZn0gZGF0YS1uby1kcmFnPVwidHJ1ZVwiPlxuICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICBidXR0b25JZD1cImJ0bi1tYWlhLWxheW91dC1tZW51XCJcbiAgICAgICAgICAgIGhhbmRsZUNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghbGF5b3V0TWVudU9wZW4pIHtcbiAgICAgICAgICAgICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRPcGVuVmlld09wdGlvbnMpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgc2V0TGF5b3V0TWVudU9wZW4ocHJldiA9PiAhcHJldilcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICB0b29sdGlwPXt0KCdsYXlvdXRNZW51VG9vbHRpcCcpfVxuICAgICAgICAgICAgZGlzYWJsZVRvb2x0aXA9e2xheW91dE1lbnVPcGVufVxuICAgICAgICAgICAgdG9vbHRpcFpJbmRleD17dG9vbHRpcFpJbmRleH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TWFpYUNoYXRMYXlvdXRNZW51SWNvbiAvPlxuICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICB7bGF5b3V0TWVudU9wZW4gPyAoXG4gICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVQYW5lbCByb2xlPVwibWVudVwiPlxuICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAkYWN0aXZlPXtsYXlvdXRNb2RlID09PSAnc2lkZWJhcid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnc2lkZWJhcicpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3QoJ2xheW91dFNpZGViYXInKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvdz5cbiAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgJGFjdGl2ZT17bGF5b3V0TW9kZSA9PT0gJ2Z1bGxzY3JlZW4nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVBpY2tMYXlvdXQoJ2Z1bGxzY3JlZW4nKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRGdWxsc2NyZWVuJyl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3c+XG4gICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd1xuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICRhY3RpdmU9e2xheW91dE1vZGUgPT09ICdmbG9hdGluZyd9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnZmxvYXRpbmcnKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRGbG9hdGluZycpfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93PlxuICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVBhbmVsPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51QW5jaG9yPlxuICAgICAgICA8SWNvbkJ1dHRvbiBoYW5kbGVDbGljaz17aGFuZGxlQ2xvc2V9IHRvb2x0aXA9e3QoJ2dsb2JhbHMuY2xvc2UnKX0gdG9vbHRpcFpJbmRleD17dG9vbHRpcFpJbmRleH0+XG4gICAgICAgICAgPENyb3NzIC8+XG4gICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgIDwvU0NDQUlNSFdyYXBwZXJC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
|
|
385
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJDcm9zcyIsIkNoZXZyb25Eb3duIiwiQ2hldnJvbkxlZnQiLCJ1c2VUcmFuc2xhdGlvbiIsIlNFQ1RJT05TIiwidXNlR2xvYmFsQ29udGV4dCIsInVzZVJlc2l6ZUxpc3RlbmVyIiwiSWNvbkJ1dHRvbiIsIk1BSUFJY29uIiwiTWFpYUNoYXRMYXlvdXRNZW51SWNvbiIsIkNoYXRBSUFnZW50T3B0aW9uIiwiU0NDQUlNSE1vZGFsIiwiU0NDQUlNSFNlbGVjdGVkQWdlbnQiLCJTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHQiLCJTQ0NBSU1IV3JhcHBlciIsIlNDQ0FJTUhXcmFwcGVyQnV0dG9uIiwiU0NDQUlNSFdyYXBwZXJJY29uIiwiU0NDQUlNSFdyYXBwZXJNb2RhbCIsIlNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50IiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSIsIlNDQ0FJTUhEaXZpZGVyIiwiU0NDQUlNSEFnZW50c0xpc3QiLCJTQ0NBSU1ITG9hZGVyV3JhcHBlciIsIlNDQ0FJV3JhcHBlciIsIlNDQ0FJTUhMYXlvdXRNZW51QW5jaG9yIiwiU0NDQUlNSExheW91dE1lbnVQYW5lbCIsIlNDQ0FJTUhMYXlvdXRNZW51Um93IiwiU0NDQUlNSEJhY2tCdXR0b24iLCJFVkVOVFMiLCJ1c2VFdmVudCIsInVzZVVzZXIiLCJpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkIiwiQ2hpcExsbSIsIkxvYWRlciIsInVzZU1haWFUYXNrUGFuZWxaSW5kZXgiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJDaGF0QUlNb2RhbEhlYWRlciIsIl9yZWYiLCJsYXlvdXRNb2RlIiwib25MYXlvdXRNb2RlQ2hhbmdlIiwiZXhwYW5kZWQiLCJfcmVmJGRyYWdnYWJsZSIsImRyYWdnYWJsZSIsIm9uRHJhZ1N0YXJ0Iiwib25EcmFnTW92ZSIsIm9uRHJhZ0VuZCIsIl9yZWYkaGFuZGxlQ2xvc2UiLCJoYW5kbGVDbG9zZSIsIl9yZWYkYWdlbnRzIiwiYWdlbnRzIiwiX3JlZiRoYXNFcnJvciIsImhhc0Vycm9yIiwiX3JlZiRsb2FkaW5nIiwibG9hZGluZyIsIl9yZWYkbG9hZGluZ01vcmUiLCJsb2FkaW5nTW9yZSIsIl9yZWYkaGFzTW9yZSIsImhhc01vcmUiLCJoYW5kbGVSZXNldENoYXQiLCJvbkFnZW50VXBkYXRlIiwibG9hZE1vcmVBZ2VudHMiLCJzb3J0QWdlbnRzTGlzdCIsIl9yZWYkaGlkZUFnZW50U2VsZWN0byIsImhpZGVBZ2VudFNlbGVjdG9yIiwib25BZ2VudFNlbGVjdGVkIiwiX3JlZiRzaG93QmFja0J1dHRvbiIsInNob3dCYWNrQnV0dG9uIiwiX3JlZiRvbkJhY2siLCJvbkJhY2siLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsInQiLCJ1c2VyIiwiYW1wbGl0dWRFdmVudCIsIl91c2VHbG9iYWxDb250ZXh0Iiwic2VsZWN0ZWRBZ2VudCIsImFnZW50Iiwic2VsZWN0QWdlbnQiLCJzZXRQcm9qZWN0Iiwic2V0Q2xpZW50Iiwic2V0VGFzayIsInNlY3Rpb24iLCJ0b29sdGlwWkluZGV4IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNFeHBhbmRlZCIsInNldElzRXhwYW5kZWQiLCJ0ZXh0UmVmQWdlbnQiLCJkcm9wZG93blJlZiIsImxheW91dE1lbnVSZWYiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxheW91dE1lbnVPcGVuIiwic2V0TGF5b3V0TWVudU9wZW4iLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJuYW1lIiwic2hvd1Rvb2x0aXBBZ2VudCIsInNob3dUb29sdGlwIiwiYWdlbnRzUmVmIiwiYWdlbnRzRm9yU2VsZWN0b3IiLCJmaWx0ZXIiLCJhZ2VudEl0ZW0iLCJlbnRpdHkiLCJ1bmRlZmluZWQiLCJoYW5kbGVTY3JvbGwiLCJjdXJyZW50IiwiX2FnZW50c1JlZiRjdXJyZW50Iiwic2Nyb2xsVG9wIiwic2Nyb2xsSGVpZ2h0IiwiY2xpZW50SGVpZ2h0IiwiZGlzdGFuY2VGcm9tQm90dG9tIiwidGltZW91dElkIiwic2V0VGltZW91dCIsInNjcm9sbEVsZW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiY2xlYXJUaW1lb3V0IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImxvY2FsQWdlbnRzIiwiX3JlZjIiLCJpc19kZWxldGVkIiwiaGFzX25vdF9wZXJtaXNzaW9ucyIsImhhc19ub3RfYWNjZXNzIiwiaXNfZnJvbV9jb252ZXJzYXRpb24iLCJmcm9tTGlzdCIsImZpbmQiLCJpZCIsImhhbmRsZVNlbGVjdEFnZW50IiwiYWlDaGF0QWdlbnRTZWxlY3QiLCJhZ2VudF90eXBlIiwidHlwZSIsIm5lZWRzRW50aXR5IiwiaGFuZGxlRXhwYW5kTW9kYWwiLCJhaUNoYXRPcGVuQWdlbnRTZWxlY3QiLCJwcmV2IiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwiZXZlbnQiLCJ0YXJnZXQiLCJjb250YWlucyIsImRvY3VtZW50IiwiaGFuZGxlUGlja0xheW91dCIsIm1vZGUiLCJwcm9qZWN0UmVzdW1lRXhwYW5kIiwiYWlDaGF0U2VsZWN0Vmlld09wdGlvbnMiLCJvcHRpb24iLCJjbG9uZUFnZW50c1JvbGVCbG9ja2VkIiwicmVuZGVyTW9kYWwiLCJyZWYiLCJvbkNsaWNrIiwibGVuZ3RoIiwiY2hpbGRyZW4iLCJfb2JqZWN0U3ByZWFkIiwidGl0bGUiLCJzdHlsZSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwiZ2FwIiwiZW1vamkiLCJwbGFjZW1lbnQiLCJ6SW5kZXgiLCJpc0FnZW50RGVsZXRlZCIsIndpZHRoIiwiaGVpZ2h0IiwiY29sb3IiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MiLCJjbG9uZUFnZW50cyIsImFnIiwiaXNDbG9uZSIsIm1hcCIsImNsb25lQWdlbnQiLCJpbmRleCIsImlzU2VsZWN0ZWQiLCJpc01haWEiLCJvbkZhdm9yaXRlVG9nZ2xlIiwiY29uY2F0Iiwic29tZSIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJjb21wYW55IiwiYWdlbnRzQ291bnQiLCJzaXplIiwic2VsZWN0ZWRNb2RlbExsbSIsIm1vZGVsX2Rpc3BsYXlfbmFtZSIsInNlbGVjdGVkQWdlbnRUeXBlIiwic2hvdWxkUmVuZGVyU2VsZWN0b3IiLCIkaGFzRXJyb3IiLCIkbG9hZGluZyIsIiRoYXNBZ2VudHMiLCJvblBvaW50ZXJEb3duIiwib25Qb2ludGVyTW92ZSIsIm9uUG9pbnRlclVwIiwib25Qb2ludGVyQ2FuY2VsIiwib25Mb3N0UG9pbnRlckNhcHR1cmUiLCJjdXJzb3IiLCJ0b3VjaEFjdGlvbiIsImFpQ2hhdEJhY2siLCJtb2RlbCIsImJ1dHRvbklkIiwiaGFuZGxlQ2xpY2siLCJhaUNoYXRPcGVuVmlld09wdGlvbnMiLCJ0b29sdGlwIiwiZGlzYWJsZVRvb2x0aXAiLCJyb2xlIiwiJGFjdGl2ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9jb21wb25lbnRzL0NoYXRBaU1vZGFsSGVhZGVyL0NoYXRBaU1vZGFsSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvaW5kZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1uZXN0ZWQtdGVybmFyeSAqL1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlTWVtbywgUG9pbnRlckV2ZW50IGFzIFJlYWN0UG9pbnRlckV2ZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyBDcm9zcyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzJ1xuaW1wb3J0IHsgQ2hldnJvbkRvd24gfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGV2cm9uRG93bidcbmltcG9ydCB7IENoZXZyb25MZWZ0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hldnJvbkxlZnQnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZVJlc2l6ZUxpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlUmVzaXplJ1xuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0ljb25CdXR0b24nXG5pbXBvcnQgeyBNQUlBSWNvbiwgTWFpYUNoYXRMYXlvdXRNZW51SWNvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL2ljb25zJ1xuaW1wb3J0IHsgQ2hhdEFJQWdlbnRPcHRpb24gfSBmcm9tICcuLi9DaGF0QWlBZ2VudE9wdGlvbnMvQ2hhdEFpQWdlbnRPcHRpb25zJ1xuaW1wb3J0IHtcbiAgU0NDQUlNSE1vZGFsLFxuICBTQ0NBSU1IU2VsZWN0ZWRBZ2VudCxcbiAgU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0LFxuICBTQ0NBSU1IV3JhcHBlcixcbiAgU0NDQUlNSFdyYXBwZXJCdXR0b24sXG4gIFNDQ0FJTUhXcmFwcGVySWNvbixcbiAgU0NDQUlNSFdyYXBwZXJNb2RhbCxcbiAgU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQsXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGUsXG4gIFNDQ0FJTUhEaXZpZGVyLFxuICBTQ0NBSU1IQWdlbnRzTGlzdCxcbiAgU0NDQUlNSExvYWRlcldyYXBwZXIsXG4gIFNDQ0FJV3JhcHBlcixcbiAgU0NDQUlNSExheW91dE1lbnVBbmNob3IsXG4gIFNDQ0FJTUhMYXlvdXRNZW51UGFuZWwsXG4gIFNDQ0FJTUhMYXlvdXRNZW51Um93LFxuICBTQ0NBSU1IQmFja0J1dHRvbixcbn0gZnJvbSAnLi9DaGF0QWlNb2RhbEhlYWRlci5zdHlsZXMnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi4vLi4vbGF5b3V0J1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29uc3RhbnRzL21haWFUYXNrUGFuZWxBY2Nlc3MnXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgQ2hpcExsbSB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0NoaXBMbG0nXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9Mb2FkZXInXG5pbXBvcnQgeyB1c2VNYWlhVGFza1BhbmVsWkluZGV4IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlTWFpYVRhc2tQYW5lbFpJbmRleCdcblxuZXhwb3J0IGNvbnN0IENoYXRBSU1vZGFsSGVhZGVyID0gKHtcbiAgbGF5b3V0TW9kZSxcbiAgb25MYXlvdXRNb2RlQ2hhbmdlLFxuICBleHBhbmRlZCxcbiAgZHJhZ2dhYmxlID0gZmFsc2UsXG4gIG9uRHJhZ1N0YXJ0LFxuICBvbkRyYWdNb3ZlLFxuICBvbkRyYWdFbmQsXG4gIGhhbmRsZUNsb3NlID0gKCkgPT4gbnVsbCxcbiAgYWdlbnRzID0gW10sXG4gIGhhc0Vycm9yID0gZmFsc2UsXG4gIGxvYWRpbmcgPSBmYWxzZSxcbiAgbG9hZGluZ01vcmUgPSBmYWxzZSxcbiAgaGFzTW9yZSA9IGZhbHNlLFxuICBoYW5kbGVSZXNldENoYXQsXG4gIG9uQWdlbnRVcGRhdGUsXG4gIGxvYWRNb3JlQWdlbnRzLFxuICBzb3J0QWdlbnRzTGlzdCxcbiAgaGlkZUFnZW50U2VsZWN0b3IgPSBmYWxzZSxcbiAgb25BZ2VudFNlbGVjdGVkLFxuICBzaG93QmFja0J1dHRvbiA9IGZhbHNlLFxuICBvbkJhY2sgPSAoKSA9PiBudWxsLFxufToge1xuICBsYXlvdXRNb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZVxuICBvbkxheW91dE1vZGVDaGFuZ2U6IChtb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSkgPT4gdm9pZFxuICBleHBhbmRlZDogYm9vbGVhblxuICBkcmFnZ2FibGU/OiBib29sZWFuXG4gIG9uRHJhZ1N0YXJ0PzogKGV2ZW50OiBSZWFjdFBvaW50ZXJFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgb25EcmFnTW92ZT86IChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uRHJhZ0VuZD86IChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIGhhbmRsZUNsb3NlPzogKCkgPT4gdm9pZFxuICBhZ2VudHM6IEFnZW50W11cbiAgaGFzRXJyb3I6IGJvb2xlYW5cbiAgbG9hZGluZzogYm9vbGVhblxuICBsb2FkaW5nTW9yZT86IGJvb2xlYW5cbiAgaGFzTW9yZT86IGJvb2xlYW5cbiAgaGFuZGxlUmVzZXRDaGF0OiAoKSA9PiB2b2lkXG4gIG9uQWdlbnRVcGRhdGU/OiAodXBkYXRlZEFnZW50OiBBZ2VudCkgPT4gdm9pZFxuICBsb2FkTW9yZUFnZW50cz86ICgpID0+IHZvaWRcbiAgc29ydEFnZW50c0xpc3Q/OiAoKSA9PiB2b2lkXG4gIGhpZGVBZ2VudFNlbGVjdG9yPzogYm9vbGVhblxuICAvKipcbiAgICogU2UgaW52b2NhIGRlc3B1w6lzIGRlbCByZXNldCBjdWFuZG8gZWwgYWdlbnRlIHNlbGVjY2lvbmFkbyBOTyByZXF1aWVyZSBzZWxlY2Npw7NuXG4gICAqIGRlIGVudGl0eSAoY3VzdG9tIG8gY2xvbmUrZ2xvYmFsKS4gUGVybWl0ZSByZXNvbHZlciBgR0VUIC92Mi9zZXNzaW9ucy9hZ2VudC97aWR9YFxuICAgKiB5IG5hdmVnYXIgYSB1bmEgY29udmVyc2FjacOzbiBleGlzdGVudGUgc2kgbGEgaGF5LlxuICAgKi9cbiAgb25BZ2VudFNlbGVjdGVkPzogKGFnZW50OiBBZ2VudCkgPT4gdm9pZCB8IFByb21pc2U8dW5rbm93bj5cbiAgc2hvd0JhY2tCdXR0b24/OiBib29sZWFuXG4gIG9uQmFjaz86ICgpID0+IHZvaWRcbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnRdKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGFtcGxpdHVkRXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgYWdlbnQ6IHNlbGVjdGVkQWdlbnQsIHNlbGVjdEFnZW50LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQsIHNldFRhc2ssIHNlY3Rpb24gfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICAvLyBFbiBzZWN0aW9uICd0YXNrJyBlbCBtb2RhbCBkZSBNYWlhIHNlIGVsZXZhIHBvciBlbmNpbWEgZGVsIHRhc2sgcGFuZWwgKHotaW5kZXggOTgwMDAwMSkuXG4gIC8vIExvcyB0b29sdGlwcyBzZSBtb250YW4gZW4gcG9ydGFsIGNvbiB6LWluZGV4IDE1MDAgcG9yIGRlZmVjdG8sIGFzw60gcXVlIHF1ZWRhcsOtYW4gZGV0csOhcy5cbiAgLy8gU3ViaW1vcyBzdSB6LWluZGV4IHPDs2xvIGVuIGVzdGUgY2FzbyBwYXJhIHF1ZSBzZSB2ZWFuIHBvciBlbmNpbWEgZGVsIG1vZGFsLlxuICBjb25zdCB0b29sdGlwWkluZGV4ID0gdXNlTWFpYVRhc2tQYW5lbFpJbmRleCgxNTAwLCAnb3ZlcmxheScpXG4gIGNvbnN0IFtpc0V4cGFuZGVkLCBzZXRJc0V4cGFuZGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB0ZXh0UmVmQWdlbnQgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50PihudWxsKVxuICBjb25zdCBkcm9wZG93blJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgbGF5b3V0TWVudVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgW2xheW91dE1lbnVPcGVuLCBzZXRMYXlvdXRNZW51T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgeyBzaG93VG9vbHRpcDogc2hvd1Rvb2x0aXBBZ2VudCB9ID0gdXNlUmVzaXplTGlzdGVuZXIodGV4dFJlZkFnZW50LCBbc2VsZWN0ZWRBZ2VudD8ubmFtZV0pXG4gIGNvbnN0IGFnZW50c1JlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcblxuICBjb25zdCBhZ2VudHNGb3JTZWxlY3RvciA9IHVzZU1lbW8oKCkgPT4gYWdlbnRzLmZpbHRlcihhZ2VudEl0ZW0gPT4gYWdlbnRJdGVtLmVudGl0eSAhPT0gJ2dsb2JhbCcpLCBbYWdlbnRzXSlcblxuICAvLyBNYW5lamFyIHNjcm9sbCBpbmZpbml0byBwYXJhIGNhcmdhciBtw6FzIGFnZW50c1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFNvbG8gY3VhbmRvIGVsIGRyb3Bkb3duIGVzdMOpIGFiaWVydG9cbiAgICBpZiAoIWlzRXhwYW5kZWQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoKSA9PiB7XG4gICAgICBpZiAoIWFnZW50c1JlZi5jdXJyZW50IHx8ICFsb2FkTW9yZUFnZW50cyB8fCAhaGFzTW9yZSB8fCBsb2FkaW5nTW9yZSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgY29uc3QgZGlzdGFuY2VGcm9tQm90dG9tID0gc2Nyb2xsSGVpZ2h0IC0gc2Nyb2xsVG9wIC0gY2xpZW50SGVpZ2h0XG5cbiAgICAgIC8vIENhcmdhciBtw6FzICg1MHB4IGFudGVzKVxuICAgICAgaWYgKGRpc3RhbmNlRnJvbUJvdHRvbSA8IDUwKSB7XG4gICAgICAgIGxvYWRNb3JlQWdlbnRzKClcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBkZWxheSBwYXJhIGFzZWd1cmFyIHF1ZSBlbCBET00gZXN0w6kgcmVuZGVyaXphZG9cbiAgICBjb25zdCB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHNjcm9sbEVsZW1lbnQgPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgaWYgKHNjcm9sbEVsZW1lbnQpIHtcbiAgICAgICAgc2Nyb2xsRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgICB9XG4gICAgfSwgMTAwKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpXG4gICAgICBjb25zdCBzY3JvbGxFbGVtZW50ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGlmIChzY3JvbGxFbGVtZW50KSB7XG4gICAgICAgIHNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2lzRXhwYW5kZWQsIGxvYWRNb3JlQWdlbnRzLCBoYXNNb3JlLCBsb2FkaW5nTW9yZV0pXG5cbiAgY29uc3QgbG9jYWxBZ2VudHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5oYXNfbm90X2FjY2VzcyB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaXNfZnJvbV9jb252ZXJzYXRpb25cbiAgICApIHtcbiAgICAgIHJldHVybiBzZWxlY3RlZEFnZW50XG4gICAgfVxuICAgIGNvbnN0IGZyb21MaXN0ID0gYWdlbnRzLmZpbmQoXG4gICAgICBhZ2VudCA9PlxuICAgICAgICAhYWdlbnQuaXNfZGVsZXRlZCAmJiAhYWdlbnQuaGFzX25vdF9wZXJtaXNzaW9ucyAmJiAhYWdlbnQuaGFzX25vdF9hY2Nlc3MgJiYgYWdlbnQuaWQgPT09IHNlbGVjdGVkQWdlbnQ/LmlkXG4gICAgKVxuICAgIC8vIEFnZW50ZSBoaWRyYXRhZG8gcG9yIEdFVCAocC4gZWouIG51ZXZvIGNoYXQgdHJhcyBjcmVhdGVfYWdlbnQpIHB1ZWRlIG5vIGVzdGFyIGHDum4gZW4gbGEgbGlzdGEgcGFnaW5hZGFcbiAgICByZXR1cm4gZnJvbUxpc3QgPz8gc2VsZWN0ZWRBZ2VudCA/PyBudWxsXG4gIH0sIFthZ2VudHMsIHNlbGVjdGVkQWdlbnRdKVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEFnZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgKGFnZW50OiBBZ2VudCkgPT4ge1xuICAgICAgc2VsZWN0QWdlbnQoYWdlbnQpXG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRBZ2VudFNlbGVjdCwge1xuICAgICAgICBhZ2VudF90eXBlOiBhZ2VudD8udHlwZSxcbiAgICAgIH0pXG4gICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgc2V0UHJvamVjdChudWxsKVxuICAgICAgc2V0Q2xpZW50Py4obnVsbClcbiAgICAgIHNldFRhc2sobnVsbClcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBoYW5kbGVSZXNldENoYXQoKVxuICAgICAgICAvLyBTaSBlbCBhZ2VudGUgbm8gZGVwZW5kZSBkZSB1bmEgZW50aXR5IChjdXN0b20gbyBjbG9uZStnbG9iYWwpIHlhIHBvZGVtb3NcbiAgICAgICAgLy8gcmVzb2x2ZXIgc2kgZXhpc3RlIHVuYSBzZXNpw7NuIHByZXZpYSB5LCBlbiBlc2UgY2FzbywgbmF2ZWdhciBhIGVsbGEuXG4gICAgICAgIC8vIFBhcmEgY2xvbmUrcHJvamVjdHxjbGllbnQsIGxhIHJlc29sdWNpw7NuIG9jdXJyZSBlbiBsb3Mgc2VsZWN0b3JzIGRlIGVudGl0eS5cbiAgICAgICAgY29uc3QgbmVlZHNFbnRpdHkgPSBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyAmJiAoYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnIHx8IGFnZW50Py5lbnRpdHkgPT09ICdjbGllbnQnKVxuICAgICAgICBpZiAoIW5lZWRzRW50aXR5KSB7XG4gICAgICAgICAgb25BZ2VudFNlbGVjdGVkPy4oYWdlbnQpXG4gICAgICAgIH1cbiAgICAgIH0sIDEwMClcbiAgICB9LFxuICAgIFtzZWxlY3RBZ2VudCwgYW1wbGl0dWRFdmVudCwgaGFuZGxlUmVzZXRDaGF0LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQsIHNldFRhc2ssIG9uQWdlbnRTZWxlY3RlZF1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUV4cGFuZE1vZGFsID0gKCkgPT4ge1xuICAgIGlmICghaXNFeHBhbmRlZCkge1xuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0T3BlbkFnZW50U2VsZWN0KVxuICAgICAgLy8gQ3VhbmRvIHNlIGFicmUgZWwgc2VsZWN0b3IsIG9yZGVuYXIgbG9zIGFnZW50ZXNcbiAgICAgIGlmIChzb3J0QWdlbnRzTGlzdCkge1xuICAgICAgICBzb3J0QWdlbnRzTGlzdCgpXG4gICAgICB9XG4gICAgfVxuICAgIHNldElzRXhwYW5kZWQocHJldiA9PiAhcHJldilcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0V4cGFuZGVkICYmICFsYXlvdXRNZW51T3Blbikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIE5vZGVcbiAgICAgIGlmIChpc0V4cGFuZGVkICYmIGRyb3Bkb3duUmVmLmN1cnJlbnQgJiYgIWRyb3Bkb3duUmVmLmN1cnJlbnQuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgfVxuICAgICAgaWYgKGxheW91dE1lbnVPcGVuICYmIGxheW91dE1lbnVSZWYuY3VycmVudCAmJiAhbGF5b3V0TWVudVJlZi5jdXJyZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgc2V0TGF5b3V0TWVudU9wZW4oZmFsc2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuICB9LCBbaXNFeHBhbmRlZCwgbGF5b3V0TWVudU9wZW5dKVxuXG4gIGNvbnN0IGhhbmRsZVBpY2tMYXlvdXQgPSB1c2VDYWxsYmFjayhcbiAgICAobW9kZTogTWFpYUNoYXRNb2RhbExheW91dE1vZGUpID0+IHtcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLnByb2plY3RSZXN1bWVFeHBhbmQsIHtcbiAgICAgICAgZXhwYW5kZWQ6IG1vZGUgPT09ICdmdWxsc2NyZWVuJyxcbiAgICAgIH0pXG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRTZWxlY3RWaWV3T3B0aW9ucywgeyBvcHRpb246IG1vZGUgfSlcbiAgICAgIG9uTGF5b3V0TW9kZUNoYW5nZShtb2RlKVxuICAgICAgc2V0TGF5b3V0TWVudU9wZW4oZmFsc2UpXG4gICAgfSxcbiAgICBbYW1wbGl0dWRFdmVudCwgb25MYXlvdXRNb2RlQ2hhbmdlXVxuICApXG5cbiAgY29uc3QgY2xvbmVBZ2VudHNSb2xlQmxvY2tlZCA9IGlzTWFpYUNsb25lQWdlbnRzUm9sZUJsb2NrZWQodXNlciwgc2VjdGlvbilcblxuICBjb25zdCByZW5kZXJNb2RhbCA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJTUhXcmFwcGVyXG4gICAgICAgIHJlZj17ZHJvcGRvd25SZWZ9XG4gICAgICAgIGRhdGEtbm8tZHJhZz1cInRydWVcIlxuICAgICAgICBvbkNsaWNrPXthZ2VudHMubGVuZ3RoID8gaGFuZGxlRXhwYW5kTW9kYWwgOiB1bmRlZmluZWR9XG4gICAgICAgIGlkPVwiY2hhdC1haS1tb2RhbC1oZWFkZXItd3JhcHBlclwiXG4gICAgICA+XG4gICAgICAgIDxTQ0NBSU1IU2VsZWN0ZWRBZ2VudD5cbiAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgdGl0bGU9e1xuICAgICAgICAgICAgICBzaG93VG9vbHRpcEFnZW50ID8gKFxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJzRweCcgfX0+XG4gICAgICAgICAgICAgICAgICB7bG9jYWxBZ2VudHM/LnR5cGUgPT09ICdjdXN0b20nID8gbG9jYWxBZ2VudHM/LmVtb2ppIDogPE1BSUFJY29uIC8+fSB7bG9jYWxBZ2VudHM/Lm5hbWV9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICcnXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBsYWNlbWVudD17aXNFeHBhbmRlZCA/ICdsZWZ0JyA6ICd0b3AnfVxuICAgICAgICAgICAgey4uLih0b29sdGlwWkluZGV4ICE9IG51bGwgPyB7IHpJbmRleDogdG9vbHRpcFpJbmRleCB9IDoge30pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHRcbiAgICAgICAgICAgICAgcmVmPXt0ZXh0UmVmQWdlbnR9XG4gICAgICAgICAgICAgIGlzQWdlbnREZWxldGVkPXtcbiAgICAgICAgICAgICAgICAhIXNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgfHwgISFzZWxlY3RlZEFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8ICEhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9hY2Nlc3NcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICc0cHgnIH19PlxuICAgICAgICAgICAgICAgIHtsb2NhbEFnZW50cz8udHlwZSA9PT0gJ2N1c3RvbScgPyBsb2NhbEFnZW50cz8uZW1vamkgOiA8TUFJQUljb24gLz59IHtsb2NhbEFnZW50cz8ubmFtZX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9TQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHQ+XG4gICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICA8L1NDQ0FJTUhTZWxlY3RlZEFnZW50PlxuICAgICAgICA8U0NDQUlNSFdyYXBwZXJJY29uPlxuICAgICAgICAgIDxDaGV2cm9uRG93biB3aWR0aD17MTR9IGhlaWdodD17MTR9IGNvbG9yPVwiIzIwMjAxRlwiIC8+XG4gICAgICAgIDwvU0NDQUlNSFdyYXBwZXJJY29uPlxuICAgICAgICB7aXNFeHBhbmRlZCAmJiAoXG4gICAgICAgICAgPFNDQ0FJTUhXcmFwcGVyTW9kYWw+XG4gICAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgICAgIHt3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTICYmICFjbG9uZUFnZW50c1JvbGVCbG9ja2VkICYmIChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgeygoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNsb25lQWdlbnRzID0gYWdlbnRzRm9yU2VsZWN0b3IuZmlsdGVyKChhZzogQWdlbnQpID0+IGFnLnR5cGUgPT09ICdjbG9uZScpXG4gICAgICAgICAgICAgICAgICAgIGlmICghY2xvbmVBZ2VudHMubGVuZ3RoKSByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U0NDQUlXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TUFJQUljb24gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGUgaXNDbG9uZT5NQUlBIGJ5IENPUjwvU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU0NDQUlXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhEaXZpZGVyIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjbG9uZUFnZW50cy5tYXAoKGNsb25lQWdlbnQsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxDaGF0QUlBZ2VudE9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YGFnZW50LSR7Y2xvbmVBZ2VudC5pZH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFnZW50PXtjbG9uZUFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RBZ2VudD17aGFuZGxlU2VsZWN0QWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17c2VsZWN0ZWRBZ2VudD8uaWQgPT09IGNsb25lQWdlbnQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNNYWlhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25GYXZvcml0ZVRvZ2dsZT17b25BZ2VudFVwZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICB9KSgpfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7YWdlbnRzRm9yU2VsZWN0b3Iuc29tZShhZ2VudCA9PiBhZ2VudC50eXBlID09PSAnY3VzdG9tJykgJiZcbiAgICAgICAgICAgICAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyAmJiAoXG4gICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICB7dCgnYWdlbnRzJyl9IGJ5IHt1c2VyLmNvbXBhbnl9XG4gICAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhEaXZpZGVyIC8+XG4gICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8U0NDQUlNSEFnZW50c0xpc3QgaGFzTW9yZT17aGFzTW9yZX0gYWdlbnRzQ291bnQ9e2FnZW50c0ZvclNlbGVjdG9yLmxlbmd0aH0gcmVmPXthZ2VudHNSZWZ9PlxuICAgICAgICAgICAgICAgIHthZ2VudHNGb3JTZWxlY3Rvcj8ubWFwKChhZ2VudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/LmlzX2RlbGV0ZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHxcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/Lmhhc19ub3RfYWNjZXNzIHx8XG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py50eXBlID09PSAnY2xvbmUnIHx8XG4gICAgICAgICAgICAgICAgICAgIChhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbScgJiYgIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTKVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPENoYXRBSUFnZW50T3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAga2V5PXtgYWdlbnQtJHthZ2VudC5pZH1gfVxuICAgICAgICAgICAgICAgICAgICAgIGFnZW50PXthZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0QWdlbnQ9e2hhbmRsZVNlbGVjdEFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e3NlbGVjdGVkQWdlbnQ/LmlkID09PSBhZ2VudC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICBvbkZhdm9yaXRlVG9nZ2xlPXtvbkFnZW50VXBkYXRlfVxuICAgICAgICAgICAgICAgICAgICAgIHNldElzRXhwYW5kZWQ9e3NldElzRXhwYW5kZWR9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAge2xvYWRpbmdNb3JlICYmIChcbiAgICAgICAgICAgICAgICAgIDxTQ0NBSU1ITG9hZGVyV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgPExvYWRlciBzaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1ITG9hZGVyV3JhcHBlcj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhBZ2VudHNMaXN0PlxuICAgICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudD5cbiAgICAgICAgICA8L1NDQ0FJTUhXcmFwcGVyTW9kYWw+XG4gICAgICAgICl9XG4gICAgICA8L1NDQ0FJTUhXcmFwcGVyPlxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHNlbGVjdGVkTW9kZWxMbG0gPSBzZWxlY3RlZEFnZW50Py5tb2RlbF9kaXNwbGF5X25hbWVcbiAgY29uc3Qgc2VsZWN0ZWRBZ2VudFR5cGUgPSBzZWxlY3RlZEFnZW50Py50eXBlID09PSAnY3VzdG9tJ1xuICBjb25zdCBzaG91bGRSZW5kZXJTZWxlY3RvciA9XG4gICAgIWhhc0Vycm9yICYmXG4gICAgIWxvYWRpbmcgJiZcbiAgICAhaGlkZUFnZW50U2VsZWN0b3IgJiZcbiAgICAhIXNlbGVjdGVkQWdlbnQgJiZcbiAgICAoISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyB8fCAhIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MpXG5cbiAgcmV0dXJuIChcbiAgICA8U0NDQUlNSE1vZGFsXG4gICAgICAkaGFzRXJyb3I9e2hhc0Vycm9yfVxuICAgICAgJGxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAkaGFzQWdlbnRzPXshIWFnZW50cy5sZW5ndGh9XG4gICAgICBvblBvaW50ZXJEb3duPXtkcmFnZ2FibGUgPyBvbkRyYWdTdGFydCA6IHVuZGVmaW5lZH1cbiAgICAgIG9uUG9pbnRlck1vdmU9e2RyYWdnYWJsZSA/IG9uRHJhZ01vdmUgOiB1bmRlZmluZWR9XG4gICAgICBvblBvaW50ZXJVcD17ZHJhZ2dhYmxlID8gb25EcmFnRW5kIDogdW5kZWZpbmVkfVxuICAgICAgb25Qb2ludGVyQ2FuY2VsPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBvbkxvc3RQb2ludGVyQ2FwdHVyZT17ZHJhZ2dhYmxlID8gb25EcmFnRW5kIDogdW5kZWZpbmVkfVxuICAgICAgc3R5bGU9e3sgY3Vyc29yOiBkcmFnZ2FibGUgPyAnZ3JhYicgOiB1bmRlZmluZWQsIHRvdWNoQWN0aW9uOiBkcmFnZ2FibGUgPyAnbWFuaXB1bGF0aW9uJyA6IHVuZGVmaW5lZCB9fVxuICAgID5cbiAgICAgIHtzaG91bGRSZW5kZXJTZWxlY3RvciA/IHJlbmRlck1vZGFsKCkgOiA8ZGl2IC8+fVxuICAgICAgPFNDQ0FJTUhXcmFwcGVyQnV0dG9uIGRhdGEtbm8tZHJhZz1cInRydWVcIj5cbiAgICAgICAge3Nob3dCYWNrQnV0dG9uICYmIChcbiAgICAgICAgICA8U0NDQUlNSEJhY2tCdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRCYWNrKVxuICAgICAgICAgICAgICBvbkJhY2soKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Q2hldnJvbkxlZnQgd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSBjb2xvcj1cIiMzNDM0MzNcIiAvPlxuICAgICAgICAgICAge3QoJ2JhY2snKX1cbiAgICAgICAgICA8L1NDQ0FJTUhCYWNrQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgICB7IWhpZGVBZ2VudFNlbGVjdG9yICYmIHNlbGVjdGVkQWdlbnRUeXBlICYmIHNlbGVjdGVkTW9kZWxMbG0gJiYgKFxuICAgICAgICAgIDxDaGlwTGxtIG1vZGVsPXtzZWxlY3RlZE1vZGVsTGxtfSBleHBhbmRlZD17ZXhwYW5kZWR9IC8+XG4gICAgICAgICl9XG4gICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciByZWY9e2xheW91dE1lbnVSZWZ9IGRhdGEtbm8tZHJhZz1cInRydWVcIj5cbiAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgYnV0dG9uSWQ9XCJidG4tbWFpYS1sYXlvdXQtbWVudVwiXG4gICAgICAgICAgICBoYW5kbGVDbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIWxheW91dE1lbnVPcGVuKSB7XG4gICAgICAgICAgICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0T3BlblZpZXdPcHRpb25zKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHNldExheW91dE1lbnVPcGVuKHByZXYgPT4gIXByZXYpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdG9vbHRpcD17dCgnbGF5b3V0TWVudVRvb2x0aXAnKX1cbiAgICAgICAgICAgIGRpc2FibGVUb29sdGlwPXtsYXlvdXRNZW51T3Blbn1cbiAgICAgICAgICAgIHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPE1haWFDaGF0TGF5b3V0TWVudUljb24gLz5cbiAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAge2xheW91dE1lbnVPcGVuID8gKFxuICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51UGFuZWwgcm9sZT1cIm1lbnVcIj5cbiAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgJGFjdGl2ZT17bGF5b3V0TW9kZSA9PT0gJ3NpZGViYXInfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVBpY2tMYXlvdXQoJ3NpZGViYXInKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRTaWRlYmFyJyl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3c+XG4gICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd1xuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICRhY3RpdmU9e2xheW91dE1vZGUgPT09ICdmdWxsc2NyZWVuJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVQaWNrTGF5b3V0KCdmdWxsc2NyZWVuJyl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7dCgnbGF5b3V0RnVsbHNjcmVlbicpfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93PlxuICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAkYWN0aXZlPXtsYXlvdXRNb2RlID09PSAnZmxvYXRpbmcnfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVBpY2tMYXlvdXQoJ2Zsb2F0aW5nJyl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7dCgnbGF5b3V0RmxvYXRpbmcnKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvdz5cbiAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVQYW5lbD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudUFuY2hvcj5cbiAgICAgICAgPEljb25CdXR0b24gaGFuZGxlQ2xpY2s9e2hhbmRsZUNsb3NlfSB0b29sdGlwPXt0KCdnbG9iYWxzLmNsb3NlJyl9IHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9PlxuICAgICAgICAgIDxDcm9zcyAvPlxuICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICA8L1NDQ0FJTUhXcmFwcGVyQnV0dG9uPlxuICAgIDwvU0NDQUlNSE1vZGFsPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0EsU0FBU0EsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLFFBQTJDLE9BQU87QUFDNUcsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBQzlELFNBQVNDLFdBQVcsUUFBUSw4Q0FBOEM7QUFDMUUsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxRQUFRLFFBQVEsaUNBQWlDO0FBQzFELFNBQVNDLGdCQUFnQixRQUFRLHVDQUF1QztBQUN4RSxTQUFTQyxpQkFBaUIsUUFBUSxnQ0FBZ0M7QUFDbEUsU0FBU0MsVUFBVSxRQUFRLDhCQUE4QjtBQUN6RCxTQUFTQyxRQUFRLEVBQUVDLHNCQUFzQixRQUFRLHlCQUF5QjtBQUMxRSxTQUFTQyxpQkFBaUIsUUFBUSwwQ0FBMEM7QUFDNUUsU0FDRUMsWUFBWSxFQUNaQyxvQkFBb0IsRUFDcEJDLHdCQUF3QixFQUN4QkMsY0FBYyxFQUNkQyxvQkFBb0IsRUFDcEJDLGtCQUFrQixFQUNsQkMsbUJBQW1CLEVBQ25CQywwQkFBMEIsRUFDMUJDLCtCQUErQixFQUMvQkMsY0FBYyxFQUNkQyxpQkFBaUIsRUFDakJDLG9CQUFvQixFQUNwQkMsWUFBWSxFQUNaQyx1QkFBdUIsRUFDdkJDLHNCQUFzQixFQUN0QkMsb0JBQW9CLEVBQ3BCQyxpQkFBaUIsUUFDWiw0QkFBNEI7QUFFbkMsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEsK0JBQStCO0FBQ2hFLFNBQVNDLE9BQU8sUUFBUSxpQ0FBaUM7QUFDekQsU0FBU0MsNEJBQTRCLFFBQVEsOENBQThDO0FBRTNGLFNBQVNDLE9BQU8sUUFBUSwyQkFBMkI7QUFDbkQsU0FB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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,
|
|
40
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJvcHRpb25zIiwiYnVpbGRIYW5kbGVycyIsInNldEN1cnJlbnRPcHRpb24iLCJzZXRIYXNFcnJvciIsIl9kZWZpbmVQcm9wZXJ0eSIsImhvbWUiLCJjaGF0c0hpc3RvcnkiLCJwcm9qZWN0U3VtbWFyeSIsImNoYXQiLCJwcm9qZWN0U2VsZWN0b3IiLCJjbGllbnRTZWxlY3RvciIsIm15QWdlbnRzIiwibXlTa2lsbHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29uc3RhbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIG9wdGlvbnMge1xuICBob21lID0gJ2hvbWUnLFxuICBjaGF0c0hpc3RvcnkgPSAnY2hhdHNIaXN0b3J5JyxcbiAgcHJvamVjdFN1bW1hcnkgPSAncHJvamVjdFN1bW1hcnknLFxuICBjaGF0ID0gJ2NoYXQnLFxuICBwcm9qZWN0U2VsZWN0b3IgPSAncHJvamVjdFNlbGVjdG9yJyxcbiAgY2xpZW50U2VsZWN0b3IgPSAnY2xpZW50U2VsZWN0b3InLFxuICBteUFnZW50cyA9ICdteUFnZW50cycsXG4gIG15U2tpbGxzID0gJ215U2tpbGxzJyxcbn1cblxuZXhwb3J0IGNvbnN0IGJ1aWxkSGFuZGxlcnMgPSAoXG4gIHNldEN1cnJlbnRPcHRpb246IChvcHRpb246IG9wdGlvbnMpID0+IHZvaWQsXG4gIHNldEhhc0Vycm9yOiAoaGFzRXJyb3I6IGJvb2xlYW4pID0+IHZvaWRcbikgPT4gKHtcbiAgW29wdGlvbnMuaG9tZV06ICgpID0+IHtcbiAgICBzZXRIYXNFcnJvcihmYWxzZSlcbiAgICBzZXRDdXJyZW50T3B0aW9uKG9wdGlvbnMuaG9tZSlcbiAgfSxcbiAgW29wdGlvbnMuY2hhdHNIaXN0b3J5XTogKCkgPT4ge1xuICAgIHNldEhhc0Vycm9yKGZhbHNlKVxuICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5jaGF0c0hpc3RvcnkpXG4gIH0sXG4gIFtvcHRpb25zLnByb2plY3RTdW1tYXJ5XTogKCkgPT4ge1xuICAgIHNldEhhc0Vycm9yKGZhbHNlKVxuICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5wcm9qZWN0U3VtbWFyeSlcbiAgfSxcbiAgW29wdGlvbnMuY2hhdF06ICgpID0+IHtcbiAgICBzZXRIYXNFcnJvcihmYWxzZSlcbiAgICBzZXRDdXJyZW50T3B0aW9uKG9wdGlvbnMuY2hhdClcbiAgfSxcbiAgW29wdGlvbnMucHJvamVjdFNlbGVjdG9yXTogKCkgPT4ge1xuICAgIHNldEhhc0Vycm9yKGZhbHNlKVxuICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5wcm9qZWN0U2VsZWN0b3IpXG4gIH0sXG4gIFtvcHRpb25zLmNsaWVudFNlbGVjdG9yXTogKCkgPT4ge1xuICAgIHNldEhhc0Vycm9yKGZhbHNlKVxuICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5jbGllbnRTZWxlY3RvcilcbiAgfSxcbiAgW29wdGlvbnMubXlBZ2VudHNdOiAoKSA9PiB7XG4gICAgc2V0SGFzRXJyb3IoZmFsc2UpXG4gICAgc2V0Q3VycmVudE9wdGlvbihvcHRpb25zLm15QWdlbnRzKVxuICB9LFxuICBbb3B0aW9ucy5teVNraWxsc106ICgpID0+IHtcbiAgICBzZXRIYXNFcnJvcihmYWxzZSlcbiAgICBzZXRDdXJyZW50T3B0aW9uKG9wdGlvbnMubXlTa2lsbHMpXG4gIH0sXG59KVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsV0FBWUEsT0FBTywwQkFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBQSxPQUFQQSxPQUFPO0FBQUE7QUFXbkIsT0FBTyxJQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQ3hCQyxnQkFBMkMsRUFDM0NDLFdBQXdDO0VBQUEsT0FBQUMsZUFBQSxDQUFBQSxlQUFBLENBQUFBLGVBQUEsQ0FBQUEsZUFBQSxDQUFBQSxlQUFBLENBQUFBLGVBQUEsQ0FBQUEsZUFBQSxDQUFBQSxlQUFBLEtBRXZDSixPQUFPLENBQUNLLElBQUksRUFBRyxZQUFNO0lBQ3BCRixXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xCRCxnQkFBZ0IsQ0FBQ0YsT0FBTyxDQUFDSyxJQUFJLENBQUM7RUFDaEMsQ0FBQyxHQUNBTCxPQUFPLENBQUNNLFlBQVksRUFBRyxZQUFNO0lBQzVCSCxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xCRCxnQkFBZ0IsQ0FBQ0YsT0FBTyxDQUFDTSxZQUFZLENBQUM7RUFDeEMsQ0FBQyxHQUNBTixPQUFPLENBQUNPLGNBQWMsRUFBRyxZQUFNO0lBQzlCSixXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xCRCxnQkFBZ0IsQ0FBQ0YsT0FBTyxDQUFDTyxjQUFjLENBQUM7RUFDMUMsQ0FBQyxHQUNBUCxPQUFPLENBQUNRLElBQUksRUFBRyxZQUFNO0lBQ3BCTCxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xCRCxnQkFBZ0IsQ0FBQ0YsT0FBTyxDQUFDUSxJQUFJLENBQUM7RUFDaEMsQ0FBQyxHQUNBUixPQUFPLENBQUNTLGVBQWUsRUFBRyxZQUFNO0lBQy9CTixXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xCRCxnQkFBZ0IsQ0FBQ0YsT0FBTyxDQUFDUyxlQUFlLENBQUM7RUFDM0MsQ0FBQyxHQUNBVCxPQUFPLENBQUNVLGNBQWMsRUFBRyxZQUFNO0lBQzlCUCxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xCRCxnQkFBZ0IsQ0FBQ0YsT0FBTyxDQUFDVSxjQUFjLENBQUM7RUFDMUMsQ0FBQyxHQUNBVixPQUFPLENBQUNXLFFBQVEsRUFBRyxZQUFNO0lBQ3hCUixXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xCRCxnQkFBZ0IsQ0FBQ0YsT0FBTyxDQUFDVyxRQUFRLENBQUM7RUFDcEMsQ0FBQyxHQUNBWCxPQUFPLENBQUNZLFFBQVEsRUFBRyxZQUFNO0lBQ3hCVCxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ2xCRCxnQkFBZ0IsQ0FBQ0YsT0FBTyxDQUFDWSxRQUFRLENBQUM7RUFDcEMsQ0FBQztBQUFBLENBQ0QiLCJpZ25vcmVMaXN0IjpbXX0=
|