@projectcor/maia-components 2.38.3 → 2.38.4

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 (60) hide show
  1. package/lib/components/atoms/ActionableButton.js +6 -1
  2. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +14 -4
  3. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +12 -3
  4. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +20 -4
  5. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +18 -7
  6. package/lib/components/atoms/MAIAInput/MAIAInput.js +29 -14
  7. package/lib/components/atoms/MAIAInput/styles.js +36 -29
  8. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +3 -3
  9. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +2 -2
  10. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +16 -5
  11. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +23 -2
  12. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +33 -5
  13. package/lib/components/molecules/ChatAIHome/styles.js +11 -2
  14. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +31 -20
  15. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +7 -2
  16. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +2 -2
  17. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +8 -1
  18. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +15 -9
  19. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +18 -3
  20. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +2 -2
  21. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +13 -2
  22. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +14 -5
  23. package/lib/components/molecules/ChatAIModal/layout.js +2 -2
  24. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +12 -2
  25. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +3 -3
  26. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +34 -10
  27. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +14 -6
  28. package/lib/components/molecules/ChatFooter/ChatFooter.js +66 -45
  29. package/lib/components/molecules/ChatFooter/styles.js +12 -6
  30. package/lib/components/molecules/MessageFeedback/MessageFeedback.js +15 -5
  31. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -2
  32. package/lib/components/molecules/UsageBlockedBanner/UsageBlockedBanner.js +30 -0
  33. package/lib/components/molecules/UsageBlockedBanner/UsageBlockedBanner.styles.js +47 -0
  34. package/lib/components/molecules/UsageBlockedBanner/index.js +2 -0
  35. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +30 -11
  36. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +31 -18
  37. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +40 -19
  38. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +2 -2
  39. package/lib/components/organisms/ChatAI/ChatAI.js +6 -1
  40. package/lib/constants/formatExtensions.js +8 -7
  41. package/lib/hooks/useChatManager/useChatManager.js +55 -34
  42. package/lib/lang/__mocks__/index.js +9 -0
  43. package/lib/lang/br/index.js +6 -2
  44. package/lib/lang/en/index.js +6 -2
  45. package/lib/lang/es/index.js +6 -2
  46. package/lib/lang/fr/index.js +7 -3
  47. package/lib/services/maia/Usage/getUsage.js +45 -0
  48. package/lib/services/maia/Usage/index.js +6 -0
  49. package/lib/services/maia/index.js +4 -2
  50. package/lib/services/utils/MaiaApiError.js +34 -0
  51. package/lib/services/utils/fetchCOR.js +106 -57
  52. package/lib/services/utils/index.js +2 -1
  53. package/lib/store/index.js +2 -1
  54. package/lib/store/sessions/sessionStreamManager.js +70 -35
  55. package/lib/store/sessions/sessions.types.js +1 -1
  56. package/lib/store/useUsageStore.js +115 -0
  57. package/lib/types/usage.js +16 -0
  58. package/lib/utils/usageBlockedMessage.js +11 -0
  59. package/package.json +2 -2
  60. package/README.md +0 -2
@@ -26,6 +26,7 @@ import { useUser } from '../../../../../context/cor-user';
26
26
  import { isMaiaCloneAgentsRoleBlocked } from '../../../../../constants/maiaTaskPanelAccess';
27
27
  import { Loader } from '../../../../atoms/Loader';
28
28
  import { useMaiaTaskPanelZIndex } from '../../../../../hooks/useMaiaTaskPanelZIndex';
29
+ import { useUsageStore } from '../../../../../store/useUsageStore';
29
30
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
30
31
  export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
31
32
  var _user$permissions, _localAgents$name;
@@ -103,10 +104,14 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
103
104
  return isMaiaAgent(agentItem) || agentItem.entity !== 'global';
104
105
  });
105
106
  }, [agents, isMaiaAgent]);
107
+ var usageBlocked = useUsageStore(function (state) {
108
+ return state.blocked;
109
+ });
106
110
  var userPermissions = user === null || user === void 0 || (_user$permissions = user.permissions) === null || _user$permissions === void 0 ? void 0 : _user$permissions.ai_agents;
107
111
  var canCreateAgent = !!(userPermissions !== null && userPermissions !== void 0 && userPermissions.create) && !!window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
108
112
  var showHeaderCreateAgentButton = canCreateAgent && (isMyAgentsSection || isMaiakerSection);
109
113
  var handleOpenCreateAgentModal = useCallback(function () {
114
+ if (usageBlocked) return;
110
115
  amplitudEvent(EVENTS.openModal, {
111
116
  option: 'create_agent'
112
117
  });
@@ -120,7 +125,7 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
120
125
  }
121
126
  }
122
127
  }));
123
- }, [amplitudEvent]);
128
+ }, [amplitudEvent, usageBlocked]);
124
129
 
125
130
  // Manejar scroll infinito para cargar más agents
126
131
  useEffect(function () {
@@ -325,7 +330,11 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
325
330
  })
326
331
  })]
327
332
  }), (userPermissions === null || userPermissions === void 0 ? void 0 : userPermissions.create) && window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS && !isMyAgentsSection && !isMySkillsSection && !isMaiakerSection && /*#__PURE__*/_jsxs(SCCAIMHAddAgent, {
333
+ $disabled: usageBlocked,
334
+ role: "button",
335
+ "aria-disabled": usageBlocked,
328
336
  onClick: function onClick() {
337
+ if (usageBlocked) return;
329
338
  setIsExpanded(false);
330
339
  amplitudEvent(EVENTS.openModal, {
331
340
  option: 'create_agent'
@@ -382,6 +391,8 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
382
391
  }), showHeaderCreateAgentButton && /*#__PURE__*/_jsx(SCCAIMHCreateAgentButton, {
383
392
  type: "button",
384
393
  onClick: handleOpenCreateAgentModal,
394
+ disabled: usageBlocked,
395
+ "aria-disabled": usageBlocked,
385
396
  children: /*#__PURE__*/_jsx(SCCAIMHCreateAgentButtonText, {
386
397
  children: t('openAgentCreator')
387
398
  })
@@ -450,4 +461,4 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
450
461
  })]
451
462
  });
452
463
  };
453
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJTdGF0dXMiLCJDaGV2cm9uRG93biIsIkNoZXZyb25MZWZ0IiwiUGx1cyIsInVzZVRyYW5zbGF0aW9uIiwiU0VDVElPTlMiLCJ1c2VHbG9iYWxDb250ZXh0IiwidXNlUmVzaXplTGlzdGVuZXIiLCJJY29uQnV0dG9uIiwiTUFJQUljb24iLCJNYWlhQ2hhdExheW91dE1lbnVJY29uIiwiTWFpYUNoYXRMYXlvdXRTaWRlYmFySWNvbiIsIk1haWFDaGF0TGF5b3V0RnVsbHNjcmVlbkljb24iLCJNYWlhQ2hhdExheW91dEZsb2F0aW5nSWNvbiIsIkNoYXRBSUFnZW50T3B0aW9uIiwiU0NDQUlNSE1vZGFsIiwiU0NDQUlNSFNlbGVjdGVkQWdlbnQiLCJTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHQiLCJTQ0NBSU1IV3JhcHBlciIsIlNDQ0FJTUhXcmFwcGVyQnV0dG9uIiwiU0NDQUlNSFdyYXBwZXJJY29uIiwiU0NDQUlNSFdyYXBwZXJNb2RhbCIsIlNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50IiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSIsIlNDQ0FJTUhBZGRBZ2VudCIsIlNDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvbiIsIlNDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvblRleHQiLCJTQ0NBSU1IRGl2aWRlciIsIlNDQ0FJTUhBZ2VudHNMaXN0IiwiU0NDQUlNSExvYWRlcldyYXBwZXIiLCJTQ0NBSU1IUGx1c0ljb25XcmFwcGVyIiwiU0NDQUlNSExheW91dE1lbnVBbmNob3IiLCJTQ0NBSU1ITGF5b3V0TWVudVBhbmVsIiwiU0NDQUlNSExheW91dE1lbnVSb3ciLCJTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24iLCJTQ0NBSU1IQmFja0J1dHRvbiIsIlNDQ0FJTUhNaW5pbWl6ZUljb24iLCJFVkVOVFMiLCJ1c2VFdmVudCIsInVzZVVzZXIiLCJpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkIiwiTG9hZGVyIiwidXNlTWFpYVRhc2tQYW5lbFpJbmRleCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkNoYXRBSU1vZGFsSGVhZGVyIiwiX3JlZiIsIl91c2VyJHBlcm1pc3Npb25zIiwiX2xvY2FsQWdlbnRzJG5hbWUiLCJsYXlvdXRNb2RlIiwib25MYXlvdXRNb2RlQ2hhbmdlIiwiX3JlZiRkcmFnZ2FibGUiLCJkcmFnZ2FibGUiLCJvbkRyYWdTdGFydCIsIm9uRHJhZ01vdmUiLCJvbkRyYWdFbmQiLCJoYW5kbGVNaW5pbWl6ZSIsIl9yZWYkYWdlbnRzIiwiYWdlbnRzIiwiX3JlZiRoYXNFcnJvciIsImhhc0Vycm9yIiwiX3JlZiRsb2FkaW5nIiwibG9hZGluZyIsIl9yZWYkbG9hZGluZ01vcmUiLCJsb2FkaW5nTW9yZSIsIl9yZWYkaGFzTW9yZSIsImhhc01vcmUiLCJoYW5kbGVSZXNldENoYXQiLCJvbkFnZW50VXBkYXRlIiwibG9hZE1vcmVBZ2VudHMiLCJzb3J0QWdlbnRzTGlzdCIsIl9yZWYkaXNNeUFnZW50c1NlY3RpbyIsImlzTXlBZ2VudHNTZWN0aW9uIiwiX3JlZiRpc015U2tpbGxzU2VjdGlvIiwiaXNNeVNraWxsc1NlY3Rpb24iLCJfcmVmJGlzTWFpYWtlclNlY3Rpb24iLCJpc01haWFrZXJTZWN0aW9uIiwiX3JlZiRoaWRlQWdlbnRTZWxlY3RvIiwiaGlkZUFnZW50U2VsZWN0b3IiLCJvbkFnZW50U2VsZWN0ZWQiLCJfcmVmJHNob3dCYWNrQnV0dG9uIiwic2hvd0JhY2tCdXR0b24iLCJfcmVmJG9uQmFjayIsIm9uQmFjayIsIl91c2VUcmFuc2xhdGlvbiIsImFibUFnZW50IiwiY2hhdEFJIiwidCIsInVzZXIiLCJhbXBsaXR1ZEV2ZW50IiwiX3VzZUdsb2JhbENvbnRleHQiLCJzZWxlY3RlZEFnZW50IiwiYWdlbnQiLCJzZWxlY3RBZ2VudCIsInNldFByb2plY3QiLCJzZXRDbGllbnQiLCJzZXRUYXNrIiwic2VjdGlvbiIsInRvb2x0aXBaSW5kZXgiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc0V4cGFuZGVkIiwic2V0SXNFeHBhbmRlZCIsInRleHRSZWZBZ2VudCIsImRyb3Bkb3duUmVmIiwibGF5b3V0TWVudVJlZiIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwibGF5b3V0TWVudU9wZW4iLCJzZXRMYXlvdXRNZW51T3BlbiIsIl91c2VSZXNpemVMaXN0ZW5lciIsIm5hbWUiLCJzaG93VG9vbHRpcEFnZW50Iiwic2hvd1Rvb2x0aXAiLCJhZ2VudHNSZWYiLCJpc01haWFBZ2VudCIsImFnZW50SXRlbSIsInR5cGUiLCJhZ2VudHNGb3JTZWxlY3RvciIsImZpbHRlciIsImVudGl0eSIsInVzZXJQZXJtaXNzaW9ucyIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiY2FuQ3JlYXRlQWdlbnQiLCJjcmVhdGUiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwic2hvd0hlYWRlckNyZWF0ZUFnZW50QnV0dG9uIiwiaGFuZGxlT3BlbkNyZWF0ZUFnZW50TW9kYWwiLCJvcGVuTW9kYWwiLCJvcHRpb24iLCJkb2N1bWVudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsImFnZW50VmFsdWVzIiwidmFsdWVzIiwiaXNFZGl0aW5nIiwiaXNPcGVuIiwidW5kZWZpbmVkIiwiaGFuZGxlU2Nyb2xsIiwiY3VycmVudCIsIl9hZ2VudHNSZWYkY3VycmVudCIsInNjcm9sbFRvcCIsInNjcm9sbEhlaWdodCIsImNsaWVudEhlaWdodCIsImRpc3RhbmNlRnJvbUJvdHRvbSIsInRpbWVvdXRJZCIsInNldFRpbWVvdXQiLCJzY3JvbGxFbGVtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImNsZWFyVGltZW91dCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJsb2NhbEFnZW50cyIsIl9yZWYyIiwiaXNfZGVsZXRlZCIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJoYXNfbm90X2FjY2VzcyIsImlzX2Zyb21fY29udmVyc2F0aW9uIiwiaXNfbGVnYWN5X2NvbnRleHQiLCJmcm9tTGlzdCIsImZpbmQiLCJpZCIsInNlbGVjdG9ySWNvbiIsImVtb2ppIiwic2VjdGlvblNlbGVjdG9yTGFiZWwiLCJucyIsInNlbGVjdG9yTGFiZWwiLCJoYW5kbGVTZWxlY3RBZ2VudCIsImFpQ2hhdEFnZW50U2VsZWN0IiwiYWdlbnRfdHlwZSIsIm5lZWRzRW50aXR5IiwiaGFuZGxlRXhwYW5kTW9kYWwiLCJhaUNoYXRPcGVuQWdlbnRTZWxlY3QiLCJwcmV2IiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwiZXZlbnQiLCJ0YXJnZXQiLCJjb250YWlucyIsImhhbmRsZVBpY2tMYXlvdXQiLCJtb2RlIiwicHJvamVjdFJlc3VtZUV4cGFuZCIsImV4cGFuZGVkIiwiYWlDaGF0U2VsZWN0Vmlld09wdGlvbnMiLCJjbG9uZUFnZW50c1JvbGVCbG9ja2VkIiwicmVuZGVyTW9kYWwiLCJyZWYiLCJvbkNsaWNrIiwibGVuZ3RoIiwiY2hpbGRyZW4iLCJfb2JqZWN0U3ByZWFkIiwidGl0bGUiLCJzdHlsZSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwiZ2FwIiwicGxhY2VtZW50IiwiekluZGV4IiwiaXNBZ2VudERlbGV0ZWQiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIiwibWFpYUFnZW50cyIsIm1hcCIsIm1haWFBZ2VudCIsImluZGV4IiwiaXNTZWxlY3RlZCIsImlzTWFpYSIsIm9uRmF2b3JpdGVUb2dnbGUiLCJjb25jYXQiLCJzb21lIiwiY29tcGFueSIsImFnZW50c0NvdW50Iiwic2l6ZSIsInNob3VsZFJlbmRlclNlbGVjdG9yIiwiJGhhc0Vycm9yIiwiJGxvYWRpbmciLCIkaGFzQWdlbnRzIiwib25Qb2ludGVyRG93biIsIm9uUG9pbnRlck1vdmUiLCJvblBvaW50ZXJVcCIsIm9uUG9pbnRlckNhbmNlbCIsIm9uTG9zdFBvaW50ZXJDYXB0dXJlIiwiY3Vyc29yIiwidG91Y2hBY3Rpb24iLCJidXR0b25JZCIsImhhbmRsZUNsaWNrIiwiYWlDaGF0T3BlblZpZXdPcHRpb25zIiwidG9vbHRpcCIsImRpc2FibGVUb29sdGlwIiwicm9sZSIsIiRhY3RpdmUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlNb2RhbEhlYWRlci9DaGF0QWlNb2RhbEhlYWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2luZGVudCAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8sIFBvaW50ZXJFdmVudCBhcyBSZWFjdFBvaW50ZXJFdmVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvU3RhdHVzJ1xuaW1wb3J0IHsgQ2hldnJvbkRvd24gfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGV2cm9uRG93bidcbmltcG9ydCB7IENoZXZyb25MZWZ0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hldnJvbkxlZnQnXG5pbXBvcnQgeyBQbHVzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvUGx1cydcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvSWNvbkJ1dHRvbidcbmltcG9ydCB7IE1BSUFJY29uLCBNYWlhQ2hhdExheW91dE1lbnVJY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvaWNvbnMnXG5pbXBvcnQgeyBNYWlhQ2hhdExheW91dFNpZGViYXJJY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvaWNvbnMvTWFpYUNoYXRMYXlvdXRTaWRlYmFySWNvbidcbmltcG9ydCB7IE1haWFDaGF0TGF5b3V0RnVsbHNjcmVlbkljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9pY29ucy9NYWlhQ2hhdExheW91dEZ1bGxzY3JlZW5JY29uJ1xuaW1wb3J0IHsgTWFpYUNoYXRMYXlvdXRGbG9hdGluZ0ljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9pY29ucy9NYWlhQ2hhdExheW91dEZsb2F0aW5nSWNvbidcbmltcG9ydCB7IENoYXRBSUFnZW50T3B0aW9uIH0gZnJvbSAnLi4vQ2hhdEFpQWdlbnRPcHRpb25zL0NoYXRBaUFnZW50T3B0aW9ucydcbmltcG9ydCB7XG4gIFNDQ0FJTUhNb2RhbCxcbiAgU0NDQUlNSFNlbGVjdGVkQWdlbnQsXG4gIFNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCxcbiAgU0NDQUlNSFdyYXBwZXIsXG4gIFNDQ0FJTUhXcmFwcGVyQnV0dG9uLFxuICBTQ0NBSU1IV3JhcHBlckljb24sXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWwsXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50LFxuICBTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlLFxuICBTQ0NBSU1IQWRkQWdlbnQsXG4gIFNDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvbixcbiAgU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dCxcbiAgU0NDQUlNSERpdmlkZXIsXG4gIFNDQ0FJTUhBZ2VudHNMaXN0LFxuICBTQ0NBSU1ITG9hZGVyV3JhcHBlcixcbiAgU0NDQUlNSFBsdXNJY29uV3JhcHBlcixcbiAgU0NDQUlNSExheW91dE1lbnVBbmNob3IsXG4gIFNDQ0FJTUhMYXlvdXRNZW51UGFuZWwsXG4gIFNDQ0FJTUhMYXlvdXRNZW51Um93LFxuICBTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24sXG4gIFNDQ0FJTUhCYWNrQnV0dG9uLFxuICBTQ0NBSU1ITWluaW1pemVJY29uLFxufSBmcm9tICcuL0NoYXRBaU1vZGFsSGVhZGVyLnN0eWxlcydcbmltcG9ydCB0eXBlIHsgTWFpYUNoYXRNb2RhbExheW91dE1vZGUgfSBmcm9tICcuLi8uLi9sYXlvdXQnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IGlzTWFpYUNsb25lQWdlbnRzUm9sZUJsb2NrZWQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25zdGFudHMvbWFpYVRhc2tQYW5lbEFjY2VzcydcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9Mb2FkZXInXG5pbXBvcnQgeyB1c2VNYWlhVGFza1BhbmVsWkluZGV4IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlTWFpYVRhc2tQYW5lbFpJbmRleCdcblxuZXhwb3J0IGNvbnN0IENoYXRBSU1vZGFsSGVhZGVyID0gKHtcbiAgbGF5b3V0TW9kZSxcbiAgb25MYXlvdXRNb2RlQ2hhbmdlLFxuICBkcmFnZ2FibGUgPSBmYWxzZSxcbiAgb25EcmFnU3RhcnQsXG4gIG9uRHJhZ01vdmUsXG4gIG9uRHJhZ0VuZCxcbiAgaGFuZGxlTWluaW1pemUsXG4gIGFnZW50cyA9IFtdLFxuICBoYXNFcnJvciA9IGZhbHNlLFxuICBsb2FkaW5nID0gZmFsc2UsXG4gIGxvYWRpbmdNb3JlID0gZmFsc2UsXG4gIGhhc01vcmUgPSBmYWxzZSxcbiAgaGFuZGxlUmVzZXRDaGF0LFxuICBvbkFnZW50VXBkYXRlLFxuICBsb2FkTW9yZUFnZW50cyxcbiAgc29ydEFnZW50c0xpc3QsXG4gIGlzTXlBZ2VudHNTZWN0aW9uID0gZmFsc2UsXG4gIGlzTXlTa2lsbHNTZWN0aW9uID0gZmFsc2UsXG4gIGlzTWFpYWtlclNlY3Rpb24gPSBmYWxzZSxcbiAgaGlkZUFnZW50U2VsZWN0b3IgPSBmYWxzZSxcbiAgb25BZ2VudFNlbGVjdGVkLFxuICBzaG93QmFja0J1dHRvbiA9IGZhbHNlLFxuICBvbkJhY2sgPSAoKSA9PiBudWxsLFxufToge1xuICBsYXlvdXRNb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZVxuICBvbkxheW91dE1vZGVDaGFuZ2U6IChtb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSkgPT4gdm9pZFxuICBleHBhbmRlZDogYm9vbGVhblxuICBkcmFnZ2FibGU/OiBib29sZWFuXG4gIG9uRHJhZ1N0YXJ0PzogKGV2ZW50OiBSZWFjdFBvaW50ZXJFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgb25EcmFnTW92ZT86IChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uRHJhZ0VuZD86IChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIGhhbmRsZU1pbmltaXplPzogKCkgPT4gdm9pZFxuICBhZ2VudHM6IEFnZW50W11cbiAgaGFzRXJyb3I6IGJvb2xlYW5cbiAgbG9hZGluZzogYm9vbGVhblxuICBsb2FkaW5nTW9yZT86IGJvb2xlYW5cbiAgaGFzTW9yZT86IGJvb2xlYW5cbiAgaGFuZGxlUmVzZXRDaGF0OiAoKSA9PiB2b2lkXG4gIG9uQWdlbnRVcGRhdGU/OiAodXBkYXRlZEFnZW50OiBBZ2VudCkgPT4gdm9pZFxuICBsb2FkTW9yZUFnZW50cz86ICgpID0+IHZvaWRcbiAgc29ydEFnZW50c0xpc3Q/OiAoKSA9PiB2b2lkXG4gIC8qKiBTZWNjacOzbiBcIk1pcyBhZ2VudGVzXCI6IHNpIG5vIGhheSBhZ2VudGUgc2V0ZWFkbywgZWwgc2VsZWN0b3IgbXVlc3RyYSBlbCBpY29ubyBkZSBNQUlBIHkgZWwgbm9tYnJlIGRlIGxhIHNlY2Npw7NuICovXG4gIGlzTXlBZ2VudHNTZWN0aW9uPzogYm9vbGVhblxuICAvKiogU2VjY2nDs24gXCJTa2lsbHNcIjogbWlzbW8gY29tcG9ydGFtaWVudG8gZGUgc2VsZWN0b3IgcXVlIE1pcyBhZ2VudGVzLCBjb24gZWwgbm9tYnJlIGRlIGxhIHNlY2Npw7NuICovXG4gIGlzTXlTa2lsbHNTZWN0aW9uPzogYm9vbGVhblxuICAvKiogT2N1bHRhIGVsIGNoaXAgZGUgbW9kZWxvIExMTSAocC4gZWouIGVuIE1pcyBhZ2VudGVzIC8gTWlzIHNraWxscykgKi9cbiAgaGlkZUFnZW50U2VsZWN0b3I/OiBib29sZWFuXG4gIC8qKiBTZWNjacOzbiBcIkNyZWFkb3IgZGUgYWdlbnRlc1wiIChNYWlha2VyKTogaGFiaWxpdGEgZWwgYm90w7NuIFwiQ3JlYXIgYWdlbnRlXCIgZGVsIGhlYWRlciAqL1xuICBpc01haWFrZXJTZWN0aW9uPzogYm9vbGVhblxuICAvKipcbiAgICogU2UgaW52b2NhIGRlc3B1w6lzIGRlbCByZXNldCBjdWFuZG8gZWwgYWdlbnRlIHNlbGVjY2lvbmFkbyBOTyByZXF1aWVyZSBzZWxlY2Npw7NuXG4gICAqIGRlIGVudGl0eSAoY3VzdG9tIG8gY2xvbmUrZ2xvYmFsKS4gUGVybWl0ZSByZXNvbHZlciBgR0VUIC92Mi9zZXNzaW9ucy9hZ2VudC97aWR9YFxuICAgKiB5IG5hdmVnYXIgYSB1bmEgY29udmVyc2FjacOzbiBleGlzdGVudGUgc2kgbGEgaGF5LlxuICAgKi9cbiAgb25BZ2VudFNlbGVjdGVkPzogKGFnZW50OiBBZ2VudCkgPT4gdm9pZCB8IFByb21pc2U8dW5rbm93bj5cbiAgc2hvd0JhY2tCdXR0b24/OiBib29sZWFuXG4gIG9uQmFjaz86ICgpID0+IHZvaWRcbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnQsIFNFQ1RJT05TLmNoYXRBSV0pXG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgYW1wbGl0dWRFdmVudCA9IHVzZUV2ZW50KClcbiAgY29uc3QgeyBhZ2VudDogc2VsZWN0ZWRBZ2VudCwgc2VsZWN0QWdlbnQsIHNldFByb2plY3QsIHNldENsaWVudCwgc2V0VGFzaywgc2VjdGlvbiB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIC8vIEVuIHNlY3Rpb24gJ3Rhc2snIGVsIG1vZGFsIGRlIE1haWEgc2UgZWxldmEgcG9yIGVuY2ltYSBkZWwgdGFzayBwYW5lbCAoei1pbmRleCA5ODAwMDAxKS5cbiAgLy8gTG9zIHRvb2x0aXBzIHNlIG1vbnRhbiBlbiBwb3J0YWwgY29uIHotaW5kZXggMTUwMCBwb3IgZGVmZWN0bywgYXPDrSBxdWUgcXVlZGFyw61hbiBkZXRyw6FzLlxuICAvLyBTdWJpbW9zIHN1IHotaW5kZXggc8OzbG8gZW4gZXN0ZSBjYXNvIHBhcmEgcXVlIHNlIHZlYW4gcG9yIGVuY2ltYSBkZWwgbW9kYWwuXG4gIGNvbnN0IHRvb2x0aXBaSW5kZXggPSB1c2VNYWlhVGFza1BhbmVsWkluZGV4KDE1MDAsICdvdmVybGF5JylcbiAgY29uc3QgW2lzRXhwYW5kZWQsIHNldElzRXhwYW5kZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHRleHRSZWZBZ2VudCA9IHVzZVJlZjxIVE1MU3BhbkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGRyb3Bkb3duUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBsYXlvdXRNZW51UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBbbGF5b3V0TWVudU9wZW4sIHNldExheW91dE1lbnVPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB7IHNob3dUb29sdGlwOiBzaG93VG9vbHRpcEFnZW50IH0gPSB1c2VSZXNpemVMaXN0ZW5lcih0ZXh0UmVmQWdlbnQsIFtzZWxlY3RlZEFnZW50Py5uYW1lXSlcbiAgY29uc3QgYWdlbnRzUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuXG4gIGNvbnN0IGlzTWFpYUFnZW50ID0gdXNlQ2FsbGJhY2soKGFnZW50SXRlbTogQWdlbnQpID0+IGFnZW50SXRlbS50eXBlID09PSAnb3JjaGVzdHJhdG9yJywgW10pXG4gIGNvbnN0IGFnZW50c0ZvclNlbGVjdG9yID0gdXNlTWVtbyhcbiAgICAoKSA9PiBhZ2VudHMuZmlsdGVyKGFnZW50SXRlbSA9PiBpc01haWFBZ2VudChhZ2VudEl0ZW0pIHx8IGFnZW50SXRlbS5lbnRpdHkgIT09ICdnbG9iYWwnKSxcbiAgICBbYWdlbnRzLCBpc01haWFBZ2VudF1cbiAgKVxuXG4gIGNvbnN0IHVzZXJQZXJtaXNzaW9ucyA9IHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHNcbiAgY29uc3QgY2FuQ3JlYXRlQWdlbnQgPSAhIXVzZXJQZXJtaXNzaW9ucz8uY3JlYXRlICYmICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcbiAgY29uc3Qgc2hvd0hlYWRlckNyZWF0ZUFnZW50QnV0dG9uID0gY2FuQ3JlYXRlQWdlbnQgJiYgKGlzTXlBZ2VudHNTZWN0aW9uIHx8IGlzTWFpYWtlclNlY3Rpb24pXG5cbiAgY29uc3QgaGFuZGxlT3BlbkNyZWF0ZUFnZW50TW9kYWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgYW1wbGl0dWRFdmVudChFVkVOVFMub3Blbk1vZGFsLCB7IG9wdGlvbjogJ2NyZWF0ZV9hZ2VudCcgfSlcbiAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IEN1c3RvbUV2ZW50KCdhYm0tYWdlbnQtbW9kYWwtc2V0LXZhbHVlcycsIHtcbiAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgYWdlbnRWYWx1ZXM6IHtcbiAgICAgICAgICAgIHZhbHVlczoge1xuICAgICAgICAgICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApXG4gIH0sIFthbXBsaXR1ZEV2ZW50XSlcblxuICAvLyBNYW5lamFyIHNjcm9sbCBpbmZpbml0byBwYXJhIGNhcmdhciBtw6FzIGFnZW50c1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFNvbG8gY3VhbmRvIGVsIGRyb3Bkb3duIGVzdMOpIGFiaWVydG9cbiAgICBpZiAoIWlzRXhwYW5kZWQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoKSA9PiB7XG4gICAgICBpZiAoIWFnZW50c1JlZi5jdXJyZW50IHx8ICFsb2FkTW9yZUFnZW50cyB8fCAhaGFzTW9yZSB8fCBsb2FkaW5nTW9yZSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgY29uc3QgZGlzdGFuY2VGcm9tQm90dG9tID0gc2Nyb2xsSGVpZ2h0IC0gc2Nyb2xsVG9wIC0gY2xpZW50SGVpZ2h0XG5cbiAgICAgIC8vIENhcmdhciBtw6FzICg1MHB4IGFudGVzKVxuICAgICAgaWYgKGRpc3RhbmNlRnJvbUJvdHRvbSA8IDUwKSB7XG4gICAgICAgIGxvYWRNb3JlQWdlbnRzKClcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBkZWxheSBwYXJhIGFzZWd1cmFyIHF1ZSBlbCBET00gZXN0w6kgcmVuZGVyaXphZG9cbiAgICBjb25zdCB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHNjcm9sbEVsZW1lbnQgPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgaWYgKHNjcm9sbEVsZW1lbnQpIHtcbiAgICAgICAgc2Nyb2xsRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgICB9XG4gICAgfSwgMTAwKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpXG4gICAgICBjb25zdCBzY3JvbGxFbGVtZW50ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGlmIChzY3JvbGxFbGVtZW50KSB7XG4gICAgICAgIHNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2lzRXhwYW5kZWQsIGxvYWRNb3JlQWdlbnRzLCBoYXNNb3JlLCBsb2FkaW5nTW9yZV0pXG5cbiAgY29uc3QgbG9jYWxBZ2VudHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5oYXNfbm90X2FjY2VzcyB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaXNfZnJvbV9jb252ZXJzYXRpb24gfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/LmlzX2xlZ2FjeV9jb250ZXh0XG4gICAgKSB7XG4gICAgICByZXR1cm4gc2VsZWN0ZWRBZ2VudFxuICAgIH1cbiAgICBjb25zdCBmcm9tTGlzdCA9IGFnZW50cy5maW5kKFxuICAgICAgYWdlbnQgPT5cbiAgICAgICAgIWFnZW50LmlzX2RlbGV0ZWQgJiYgIWFnZW50Lmhhc19ub3RfcGVybWlzc2lvbnMgJiYgIWFnZW50Lmhhc19ub3RfYWNjZXNzICYmIGFnZW50LmlkID09PSBzZWxlY3RlZEFnZW50Py5pZFxuICAgIClcbiAgICAvLyBBZ2VudGUgaGlkcmF0YWRvIHBvciBHRVQgKHAuIGVqLiBudWV2byBjaGF0IHRyYXMgY3JlYXRlX2FnZW50KSBwdWVkZSBubyBlc3RhciBhw7puIGVuIGxhIGxpc3RhIHBhZ2luYWRhXG4gICAgcmV0dXJuIGZyb21MaXN0ID8/IHNlbGVjdGVkQWdlbnQgPz8gbnVsbFxuICB9LCBbYWdlbnRzLCBzZWxlY3RlZEFnZW50XSlcblxuICAvLyBFbiAnTWlzIGFnZW50ZXMnIC8gJ1NraWxscycgc2luIGFnZW50ZSBzZXRlYWRvLCBlbCBzZWxlY3RvciBtdWVzdHJhIGVsIGljb25vIGRlIE1BSUEgeSBlbCBub21icmUgZGUgbGEgc2VjY2nDs25cbiAgLy8gZW4gbHVnYXIgZGVsIGFnZW50ZSwgcGFyYSBxdWUgZWwgdXN1YXJpbyBwdWVkYSBhYnJpciBlbCBkcm9wZG93biB5IGVsZWdpciB1bm8uXG4gIGNvbnN0IHNlbGVjdG9ySWNvbiA9XG4gICAgbG9jYWxBZ2VudHM/LnR5cGUgPT09ICdjdXN0b20nICYmICFsb2NhbEFnZW50cz8uaXNfbGVnYWN5X2NvbnRleHQgPyBsb2NhbEFnZW50cz8uZW1vamkgOiA8TUFJQUljb24gLz5cbiAgY29uc3Qgc2VjdGlvblNlbGVjdG9yTGFiZWwgPSBpc015QWdlbnRzU2VjdGlvblxuICAgID8gdCgnbWFya2V0cGxhY2UubXlBZ2VudHNUaXRsZScsIHsgbnM6IFNFQ1RJT05TLmNoYXRBSSB9KVxuICAgIDogaXNNeVNraWxsc1NlY3Rpb25cbiAgICAgID8gdCgnY29udmVyc2F0aW9ucy5teVNraWxsc05hdicsIHsgbnM6IFNFQ1RJT05TLmNoYXRBSSB9KVxuICAgICAgOiAnJ1xuICBjb25zdCBzZWxlY3RvckxhYmVsID0gbG9jYWxBZ2VudHM/Lm5hbWUgPz8gc2VjdGlvblNlbGVjdG9yTGFiZWxcblxuICBjb25zdCBoYW5kbGVTZWxlY3RBZ2VudCA9IHVzZUNhbGxiYWNrKFxuICAgIChhZ2VudDogQWdlbnQpID0+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+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1IQWdlbnRzTGlzdD5cbiAgICAgICAgICAgICAge3VzZXJQZXJtaXNzaW9ucz8uY3JlYXRlICYmXG4gICAgICAgICAgICAgICAgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgJiZcbiAgICAgICAgICAgICAgICAhaXNNeUFnZW50c1NlY3Rpb24gJiZcbiAgICAgICAgICAgICAgICAhaXNNeVNraWxsc1NlY3Rpb24gJiZcbiAgICAgICAgICAgICAgICAhaXNNYWlha2VyU2VjdGlvbiAmJiAoXG4gICAgICAgICAgICAgICAgICA8U0NDQUlNSEFkZEFnZW50XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBzZXRJc0V4cGFuZGVkKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLm9wZW5Nb2RhbCwgeyBvcHRpb246ICdjcmVhdGVfYWdlbnQnIH0pXG4gICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudCgnYWJtLWFnZW50LW1vZGFsLXNldC12YWx1ZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFnZW50VmFsdWVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc09wZW46IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSFBsdXNJY29uV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8UGx1cyBjb2xvcj1cIndoaXRlXCIgd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSAvPlxuICAgICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhQbHVzSWNvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjcmVhdGVBZ2VudCcpfVxuICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1IQWRkQWdlbnQ+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsPlxuICAgICAgICApfVxuICAgICAgPC9TQ0NBSU1IV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBjb25zdCBzaG91bGRSZW5kZXJTZWxlY3RvciA9XG4gICAgIWhhc0Vycm9yICYmXG4gICAgIWxvYWRpbmcgJiZcbiAgICAhaGlkZUFnZW50U2VsZWN0b3IgJiZcbiAgICAoISFzZWxlY3RlZEFnZW50IHx8IGlzTXlBZ2VudHNTZWN0aW9uIHx8IGlzTXlTa2lsbHNTZWN0aW9uKSAmJlxuICAgICghIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIHx8ICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUylcblxuICByZXR1cm4gKFxuICAgIDxTQ0NBSU1ITW9kYWxcbiAgICAgICRoYXNFcnJvcj17aGFzRXJyb3J9XG4gICAgICAkbG9hZGluZz17bG9hZGluZ31cbiAgICAgICRoYXNBZ2VudHM9eyEhYWdlbnRzLmxlbmd0aH1cbiAgICAgIG9uUG9pbnRlckRvd249e2RyYWdnYWJsZSA/IG9uRHJhZ1N0YXJ0IDogdW5kZWZpbmVkfVxuICAgICAgb25Qb2ludGVyTW92ZT17ZHJhZ2dhYmxlID8gb25EcmFnTW92ZSA6IHVuZGVmaW5lZH1cbiAgICAgIG9uUG9pbnRlclVwPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBvblBvaW50ZXJDYW5jZWw9e2RyYWdnYWJsZSA/IG9uRHJhZ0VuZCA6IHVuZGVmaW5lZH1cbiAgICAgIG9uTG9zdFBvaW50ZXJDYXB0dXJlPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBzdHlsZT17eyBjdXJzb3I6IGRyYWdnYWJsZSA/ICdncmFiJyA6IHVuZGVmaW5lZCwgdG91Y2hBY3Rpb246IGRyYWdnYWJsZSA/ICdtYW5pcHVsYXRpb24nIDogdW5kZWZpbmVkIH19XG4gICAgPlxuICAgICAge3Nob3VsZFJlbmRlclNlbGVjdG9yID8gcmVuZGVyTW9kYWwoKSA6IDxkaXYgLz59XG4gICAgICA8U0NDQUlNSFdyYXBwZXJCdXR0b24gZGF0YS1uby1kcmFnPVwidHJ1ZVwiPlxuICAgICAgICB7c2hvd0JhY2tCdXR0b24gJiYgKFxuICAgICAgICAgIDxTQ0NBSU1IQmFja0J1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIG9uQmFjaygpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxDaGV2cm9uTGVmdCB3aWR0aD17MTR9IGhlaWdodD17MTR9IGNvbG9yPVwiIzM0MzQzM1wiIC8+XG4gICAgICAgICAgICB7dCgnYmFjaycpfVxuICAgICAgICAgIDwvU0NDQUlNSEJhY2tCdXR0b24+XG4gICAgICAgICl9XG4gICAgICAgIHtzaG93SGVhZGVyQ3JlYXRlQWdlbnRCdXR0b24gJiYgKFxuICAgICAgICAgIDxTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZU9wZW5DcmVhdGVBZ2VudE1vZGFsfT5cbiAgICAgICAgICAgIDxTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b25UZXh0Pnt0KCdvcGVuQWdlbnRDcmVhdG9yJyl9PC9TQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b25UZXh0PlxuICAgICAgICAgIDwvU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uPlxuICAgICAgICApfVxuICAgICAgICA8U0NDQUlNSExheW91dE1lbnVBbmNob3IgcmVmPXtsYXlvdXRNZW51UmVmfSBkYXRhLW5vLWRyYWc9XCJ0cnVlXCI+XG4gICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgIGJ1dHRvbklkPVwiYnRuLW1haWEtbGF5b3V0LW1lbnVcIlxuICAgICAgICAgICAgaGFuZGxlQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFsYXlvdXRNZW51T3Blbikge1xuICAgICAgICAgICAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLmFpQ2hhdE9wZW5WaWV3T3B0aW9ucylcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBzZXRMYXlvdXRNZW51T3BlbihwcmV2ID0+ICFwcmV2KVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHRvb2x0aXA9e3QoJ2xheW91dE1lbnVUb29sdGlwJyl9XG4gICAgICAgICAgICBkaXNhYmxlVG9vbHRpcD17bGF5b3V0TWVudU9wZW59XG4gICAgICAgICAgICB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxNYWlhQ2hhdExheW91dE1lbnVJY29uIC8+XG4gICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgIHtsYXlvdXRNZW51T3BlbiA/IChcbiAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVBhbmVsIHJvbGU9XCJtZW51XCI+XG4gICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd1xuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICRhY3RpdmU9e2xheW91dE1vZGUgPT09ICdzaWRlYmFyJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVQaWNrTGF5b3V0KCdzaWRlYmFyJyl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dJY29uIGFyaWEtaGlkZGVuPlxuICAgICAgICAgICAgICAgICAgPE1haWFDaGF0TGF5b3V0U2lkZWJhckljb24gLz5cbiAgICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93SWNvbj5cbiAgICAgICAgICAgICAgICB7dCgnbGF5b3V0U2lkZWJhcicpfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93PlxuICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAkYWN0aXZlPXtsYXlvdXRNb2RlID09PSAnZnVsbHNjcmVlbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnZnVsbHNjcmVlbicpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbiBhcmlhLWhpZGRlbj5cbiAgICAgICAgICAgICAgICAgIDxNYWlhQ2hhdExheW91dEZ1bGxzY3JlZW5JY29uIC8+XG4gICAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24+XG4gICAgICAgICAgICAgICAge3QoJ2xheW91dEZ1bGxzY3JlZW4nKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvdz5cbiAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgJGFjdGl2ZT17bGF5b3V0TW9kZSA9PT0gJ2Zsb2F0aW5nJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVQaWNrTGF5b3V0KCdmbG9hdGluZycpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbiBhcmlhLWhpZGRlbj5cbiAgICAgICAgICAgICAgICAgIDxNYWlhQ2hhdExheW91dEZsb2F0aW5nSWNvbiAvPlxuICAgICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3dJY29uPlxuICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRGbG9hdGluZycpfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93PlxuICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVBhbmVsPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51QW5jaG9yPlxuICAgICAgICB7aGFuZGxlTWluaW1pemUgPyAoXG4gICAgICAgICAgPEljb25CdXR0b24gaGFuZGxlQ2xpY2s9e2hhbmRsZU1pbmltaXplfSB0b29sdGlwPXt0KCdnbG9iYWxzLm1pbmltaXplJyl9IHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9PlxuICAgICAgICAgICAgPFNDQ0FJTUhNaW5pbWl6ZUljb24+XG4gICAgICAgICAgICAgIDxTdGF0dXMgd2lkdGg9ezI0fSBoZWlnaHQ9ezI0fSAvPlxuICAgICAgICAgICAgPC9TQ0NBSU1ITWluaW1pemVJY29uPlxuICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L1NDQ0FJTUhXcmFwcGVyQnV0dG9uPlxuICAgIDwvU0NDQUlNSE1vZGFsPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0EsU0FBU0EsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLFFBQTJDLE9BQU87QUFDNUcsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyxNQUFNLFFBQVEseUNBQXlDO0FBQ2hFLFNBQVNDLFdBQVcsUUFBUSw4Q0FBOEM7QUFDMUUsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxJQUFJLFFBQVEsdUNBQXVDO0FBQzVELFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLFFBQVEsUUFBUSxpQ0FBaUM7QUFDMUQsU0FBU0MsZ0JBQWdCLFFBQVEsdUNBQXVDO0FBQ3hFLFNBQVNDLGlCQUFpQixRQUFRLGdDQUFnQztBQUNsRSxTQUFTQyxVQUFVLFFBQVEsOEJBQThCO0FBQ3pELFNBQVNDLFFBQVEsRUFBRUMsc0JBQXNCLFFBQVEseUJBQXlCO0FBQzFF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
464
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJTdGF0dXMiLCJDaGV2cm9uRG93biIsIkNoZXZyb25MZWZ0IiwiUGx1cyIsInVzZVRyYW5zbGF0aW9uIiwiU0VDVElPTlMiLCJ1c2VHbG9iYWxDb250ZXh0IiwidXNlUmVzaXplTGlzdGVuZXIiLCJJY29uQnV0dG9uIiwiTUFJQUljb24iLCJNYWlhQ2hhdExheW91dE1lbnVJY29uIiwiTWFpYUNoYXRMYXlvdXRTaWRlYmFySWNvbiIsIk1haWFDaGF0TGF5b3V0RnVsbHNjcmVlbkljb24iLCJNYWlhQ2hhdExheW91dEZsb2F0aW5nSWNvbiIsIkNoYXRBSUFnZW50T3B0aW9uIiwiU0NDQUlNSE1vZGFsIiwiU0NDQUlNSFNlbGVjdGVkQWdlbnQiLCJTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHQiLCJTQ0NBSU1IV3JhcHBlciIsIlNDQ0FJTUhXcmFwcGVyQnV0dG9uIiwiU0NDQUlNSFdyYXBwZXJJY29uIiwiU0NDQUlNSFdyYXBwZXJNb2RhbCIsIlNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50IiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSIsIlNDQ0FJTUhBZGRBZ2VudCIsIlNDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvbiIsIlNDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvblRleHQiLCJTQ0NBSU1IRGl2aWRlciIsIlNDQ0FJTUhBZ2VudHNMaXN0IiwiU0NDQUlNSExvYWRlcldyYXBwZXIiLCJTQ0NBSU1IUGx1c0ljb25XcmFwcGVyIiwiU0NDQUlNSExheW91dE1lbnVBbmNob3IiLCJTQ0NBSU1ITGF5b3V0TWVudVBhbmVsIiwiU0NDQUlNSExheW91dE1lbnVSb3ciLCJTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24iLCJTQ0NBSU1IQmFja0J1dHRvbiIsIlNDQ0FJTUhNaW5pbWl6ZUljb24iLCJFVkVOVFMiLCJ1c2VFdmVudCIsInVzZVVzZXIiLCJpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkIiwiTG9hZGVyIiwidXNlTWFpYVRhc2tQYW5lbFpJbmRleCIsInVzZVVzYWdlU3RvcmUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJDaGF0QUlNb2RhbEhlYWRlciIsIl9yZWYiLCJfdXNlciRwZXJtaXNzaW9ucyIsIl9sb2NhbEFnZW50cyRuYW1lIiwibGF5b3V0TW9kZSIsIm9uTGF5b3V0TW9kZUNoYW5nZSIsIl9yZWYkZHJhZ2dhYmxlIiwiZHJhZ2dhYmxlIiwib25EcmFnU3RhcnQiLCJvbkRyYWdNb3ZlIiwib25EcmFnRW5kIiwiaGFuZGxlTWluaW1pemUiLCJfcmVmJGFnZW50cyIsImFnZW50cyIsIl9yZWYkaGFzRXJyb3IiLCJoYXNFcnJvciIsIl9yZWYkbG9hZGluZyIsImxvYWRpbmciLCJfcmVmJGxvYWRpbmdNb3JlIiwibG9hZGluZ01vcmUiLCJfcmVmJGhhc01vcmUiLCJoYXNNb3JlIiwiaGFuZGxlUmVzZXRDaGF0Iiwib25BZ2VudFVwZGF0ZSIsImxvYWRNb3JlQWdlbnRzIiwic29ydEFnZW50c0xpc3QiLCJfcmVmJGlzTXlBZ2VudHNTZWN0aW8iLCJpc015QWdlbnRzU2VjdGlvbiIsIl9yZWYkaXNNeVNraWxsc1NlY3RpbyIsImlzTXlTa2lsbHNTZWN0aW9uIiwiX3JlZiRpc01haWFrZXJTZWN0aW9uIiwiaXNNYWlha2VyU2VjdGlvbiIsIl9yZWYkaGlkZUFnZW50U2VsZWN0byIsImhpZGVBZ2VudFNlbGVjdG9yIiwib25BZ2VudFNlbGVjdGVkIiwiX3JlZiRzaG93QmFja0J1dHRvbiIsInNob3dCYWNrQnV0dG9uIiwiX3JlZiRvbkJhY2siLCJvbkJhY2siLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsImNoYXRBSSIsInQiLCJ1c2VyIiwiYW1wbGl0dWRFdmVudCIsIl91c2VHbG9iYWxDb250ZXh0Iiwic2VsZWN0ZWRBZ2VudCIsImFnZW50Iiwic2VsZWN0QWdlbnQiLCJzZXRQcm9qZWN0Iiwic2V0Q2xpZW50Iiwic2V0VGFzayIsInNlY3Rpb24iLCJ0b29sdGlwWkluZGV4IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNFeHBhbmRlZCIsInNldElzRXhwYW5kZWQiLCJ0ZXh0UmVmQWdlbnQiLCJkcm9wZG93blJlZiIsImxheW91dE1lbnVSZWYiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxheW91dE1lbnVPcGVuIiwic2V0TGF5b3V0TWVudU9wZW4iLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJuYW1lIiwic2hvd1Rvb2x0aXBBZ2VudCIsInNob3dUb29sdGlwIiwiYWdlbnRzUmVmIiwiaXNNYWlhQWdlbnQiLCJhZ2VudEl0ZW0iLCJ0eXBlIiwiYWdlbnRzRm9yU2VsZWN0b3IiLCJmaWx0ZXIiLCJlbnRpdHkiLCJ1c2FnZUJsb2NrZWQiLCJzdGF0ZSIsImJsb2NrZWQiLCJ1c2VyUGVybWlzc2lvbnMiLCJwZXJtaXNzaW9ucyIsImFpX2FnZW50cyIsImNhbkNyZWF0ZUFnZW50IiwiY3JlYXRlIiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyIsInNob3dIZWFkZXJDcmVhdGVBZ2VudEJ1dHRvbiIsImhhbmRsZU9wZW5DcmVhdGVBZ2VudE1vZGFsIiwib3Blbk1vZGFsIiwib3B0aW9uIiwiZG9jdW1lbnQiLCJkaXNwYXRjaEV2ZW50IiwiQ3VzdG9tRXZlbnQiLCJkZXRhaWwiLCJhZ2VudFZhbHVlcyIsInZhbHVlcyIsImlzRWRpdGluZyIsImlzT3BlbiIsInVuZGVmaW5lZCIsImhhbmRsZVNjcm9sbCIsImN1cnJlbnQiLCJfYWdlbnRzUmVmJGN1cnJlbnQiLCJzY3JvbGxUb3AiLCJzY3JvbGxIZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJkaXN0YW5jZUZyb21Cb3R0b20iLCJ0aW1lb3V0SWQiLCJzZXRUaW1lb3V0Iiwic2Nyb2xsRWxlbWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJjbGVhclRpbWVvdXQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwibG9jYWxBZ2VudHMiLCJfcmVmMiIsImlzX2RlbGV0ZWQiLCJoYXNfbm90X3Blcm1pc3Npb25zIiwiaGFzX25vdF9hY2Nlc3MiLCJpc19mcm9tX2NvbnZlcnNhdGlvbiIsImlzX2xlZ2FjeV9jb250ZXh0IiwiZnJvbUxpc3QiLCJmaW5kIiwiaWQiLCJzZWxlY3Rvckljb24iLCJlbW9qaSIsInNlY3Rpb25TZWxlY3RvckxhYmVsIiwibnMiLCJzZWxlY3RvckxhYmVsIiwiaGFuZGxlU2VsZWN0QWdlbnQiLCJhaUNoYXRBZ2VudFNlbGVjdCIsImFnZW50X3R5cGUiLCJuZWVkc0VudGl0eSIsImhhbmRsZUV4cGFuZE1vZGFsIiwiYWlDaGF0T3BlbkFnZW50U2VsZWN0IiwicHJldiIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImV2ZW50IiwidGFyZ2V0IiwiY29udGFpbnMiLCJoYW5kbGVQaWNrTGF5b3V0IiwibW9kZSIsInByb2plY3RSZXN1bWVFeHBhbmQiLCJleHBhbmRlZCIsImFpQ2hhdFNlbGVjdFZpZXdPcHRpb25zIiwiY2xvbmVBZ2VudHNSb2xlQmxvY2tlZCIsInJlbmRlck1vZGFsIiwicmVmIiwib25DbGljayIsImxlbmd0aCIsImNoaWxkcmVuIiwiX29iamVjdFNwcmVhZCIsInRpdGxlIiwic3R5bGUiLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImdhcCIsInBsYWNlbWVudCIsInpJbmRleCIsImlzQWdlbnREZWxldGVkIiwid2lkdGgiLCJoZWlnaHQiLCJjb2xvciIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyIsIm1haWFBZ2VudHMiLCJtYXAiLCJtYWlhQWdlbnQiLCJpbmRleCIsImlzU2VsZWN0ZWQiLCJpc01haWEiLCJvbkZhdm9yaXRlVG9nZ2xlIiwiY29uY2F0Iiwic29tZSIsImNvbXBhbnkiLCJhZ2VudHNDb3VudCIsInNpemUiLCIkZGlzYWJsZWQiLCJyb2xlIiwic2hvdWxkUmVuZGVyU2VsZWN0b3IiLCIkaGFzRXJyb3IiLCIkbG9hZGluZyIsIiRoYXNBZ2VudHMiLCJvblBvaW50ZXJEb3duIiwib25Qb2ludGVyTW92ZSIsIm9uUG9pbnRlclVwIiwib25Qb2ludGVyQ2FuY2VsIiwib25Mb3N0UG9pbnRlckNhcHR1cmUiLCJjdXJzb3IiLCJ0b3VjaEFjdGlvbiIsImRpc2FibGVkIiwiYnV0dG9uSWQiLCJoYW5kbGVDbGljayIsImFpQ2hhdE9wZW5WaWV3T3B0aW9ucyIsInRvb2x0aXAiLCJkaXNhYmxlVG9vbHRpcCIsIiRhY3RpdmUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlNb2RhbEhlYWRlci9DaGF0QWlNb2RhbEhlYWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2luZGVudCAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8sIFBvaW50ZXJFdmVudCBhcyBSZWFjdFBvaW50ZXJFdmVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvU3RhdHVzJ1xuaW1wb3J0IHsgQ2hldnJvbkRvd24gfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGV2cm9uRG93bidcbmltcG9ydCB7IENoZXZyb25MZWZ0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hldnJvbkxlZnQnXG5pbXBvcnQgeyBQbHVzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvUGx1cydcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvSWNvbkJ1dHRvbidcbmltcG9ydCB7IE1BSUFJY29uLCBNYWlhQ2hhdExheW91dE1lbnVJY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvaWNvbnMnXG5pbXBvcnQgeyBNYWlhQ2hhdExheW91dFNpZGViYXJJY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvaWNvbnMvTWFpYUNoYXRMYXlvdXRTaWRlYmFySWNvbidcbmltcG9ydCB7IE1haWFDaGF0TGF5b3V0RnVsbHNjcmVlbkljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9pY29ucy9NYWlhQ2hhdExheW91dEZ1bGxzY3JlZW5JY29uJ1xuaW1wb3J0IHsgTWFpYUNoYXRMYXlvdXRGbG9hdGluZ0ljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9pY29ucy9NYWlhQ2hhdExheW91dEZsb2F0aW5nSWNvbidcbmltcG9ydCB7IENoYXRBSUFnZW50T3B0aW9uIH0gZnJvbSAnLi4vQ2hhdEFpQWdlbnRPcHRpb25zL0NoYXRBaUFnZW50T3B0aW9ucydcbmltcG9ydCB7XG4gIFNDQ0FJTUhNb2RhbCxcbiAgU0NDQUlNSFNlbGVjdGVkQWdlbnQsXG4gIFNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCxcbiAgU0NDQUlNSFdyYXBwZXIsXG4gIFNDQ0FJTUhXcmFwcGVyQnV0dG9uLFxuICBTQ0NBSU1IV3JhcHBlckljb24sXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWwsXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50LFxuICBTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlLFxuICBTQ0NBSU1IQWRkQWdlbnQsXG4gIFNDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvbixcbiAgU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dCxcbiAgU0NDQUlNSERpdmlkZXIsXG4gIFNDQ0FJTUhBZ2VudHNMaXN0LFxuICBTQ0NBSU1ITG9hZGVyV3JhcHBlcixcbiAgU0NDQUlNSFBsdXNJY29uV3JhcHBlcixcbiAgU0NDQUlNSExheW91dE1lbnVBbmNob3IsXG4gIFNDQ0FJTUhMYXlvdXRNZW51UGFuZWwsXG4gIFNDQ0FJTUhMYXlvdXRNZW51Um93LFxuICBTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24sXG4gIFNDQ0FJTUhCYWNrQnV0dG9uLFxuICBTQ0NBSU1ITWluaW1pemVJY29uLFxufSBmcm9tICcuL0NoYXRBaU1vZGFsSGVhZGVyLnN0eWxlcydcbmltcG9ydCB0eXBlIHsgTWFpYUNoYXRNb2RhbExheW91dE1vZGUgfSBmcm9tICcuLi8uLi9sYXlvdXQnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IGlzTWFpYUNsb25lQWdlbnRzUm9sZUJsb2NrZWQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25zdGFudHMvbWFpYVRhc2tQYW5lbEFjY2VzcydcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9Mb2FkZXInXG5pbXBvcnQgeyB1c2VNYWlhVGFza1BhbmVsWkluZGV4IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlTWFpYVRhc2tQYW5lbFpJbmRleCdcbmltcG9ydCB7IHVzZVVzYWdlU3RvcmUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zdG9yZS91c2VVc2FnZVN0b3JlJ1xuXG5leHBvcnQgY29uc3QgQ2hhdEFJTW9kYWxIZWFkZXIgPSAoe1xuICBsYXlvdXRNb2RlLFxuICBvbkxheW91dE1vZGVDaGFuZ2UsXG4gIGRyYWdnYWJsZSA9IGZhbHNlLFxuICBvbkRyYWdTdGFydCxcbiAgb25EcmFnTW92ZSxcbiAgb25EcmFnRW5kLFxuICBoYW5kbGVNaW5pbWl6ZSxcbiAgYWdlbnRzID0gW10sXG4gIGhhc0Vycm9yID0gZmFsc2UsXG4gIGxvYWRpbmcgPSBmYWxzZSxcbiAgbG9hZGluZ01vcmUgPSBmYWxzZSxcbiAgaGFzTW9yZSA9IGZhbHNlLFxuICBoYW5kbGVSZXNldENoYXQsXG4gIG9uQWdlbnRVcGRhdGUsXG4gIGxvYWRNb3JlQWdlbnRzLFxuICBzb3J0QWdlbnRzTGlzdCxcbiAgaXNNeUFnZW50c1NlY3Rpb24gPSBmYWxzZSxcbiAgaXNNeVNraWxsc1NlY3Rpb24gPSBmYWxzZSxcbiAgaXNNYWlha2VyU2VjdGlvbiA9IGZhbHNlLFxuICBoaWRlQWdlbnRTZWxlY3RvciA9IGZhbHNlLFxuICBvbkFnZW50U2VsZWN0ZWQsXG4gIHNob3dCYWNrQnV0dG9uID0gZmFsc2UsXG4gIG9uQmFjayA9ICgpID0+IG51bGwsXG59OiB7XG4gIGxheW91dE1vZGU6IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlXG4gIG9uTGF5b3V0TW9kZUNoYW5nZTogKG1vZGU6IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlKSA9PiB2b2lkXG4gIGV4cGFuZGVkOiBib29sZWFuXG4gIGRyYWdnYWJsZT86IGJvb2xlYW5cbiAgb25EcmFnU3RhcnQ/OiAoZXZlbnQ6IFJlYWN0UG9pbnRlckV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZFxuICBvbkRyYWdNb3ZlPzogKGV2ZW50OiBSZWFjdFBvaW50ZXJFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgb25EcmFnRW5kPzogKGV2ZW50OiBSZWFjdFBvaW50ZXJFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgaGFuZGxlTWluaW1pemU/OiAoKSA9PiB2b2lkXG4gIGFnZW50czogQWdlbnRbXVxuICBoYXNFcnJvcjogYm9vbGVhblxuICBsb2FkaW5nOiBib29sZWFuXG4gIGxvYWRpbmdNb3JlPzogYm9vbGVhblxuICBoYXNNb3JlPzogYm9vbGVhblxuICBoYW5kbGVSZXNldENoYXQ6ICgpID0+IHZvaWRcbiAgb25BZ2VudFVwZGF0ZT86ICh1cGRhdGVkQWdlbnQ6IEFnZW50KSA9PiB2b2lkXG4gIGxvYWRNb3JlQWdlbnRzPzogKCkgPT4gdm9pZFxuICBzb3J0QWdlbnRzTGlzdD86ICgpID0+IHZvaWRcbiAgLyoqIFNlY2Npw7NuIFwiTWlzIGFnZW50ZXNcIjogc2kgbm8gaGF5IGFnZW50ZSBzZXRlYWRvLCBlbCBzZWxlY3RvciBtdWVzdHJhIGVsIGljb25vIGRlIE1BSUEgeSBlbCBub21icmUgZGUgbGEgc2VjY2nDs24gKi9cbiAgaXNNeUFnZW50c1NlY3Rpb24/OiBib29sZWFuXG4gIC8qKiBTZWNjacOzbiBcIlNraWxsc1wiOiBtaXNtbyBjb21wb3J0YW1pZW50byBkZSBzZWxlY3RvciBxdWUgTWlzIGFnZW50ZXMsIGNvbiBlbCBub21icmUgZGUgbGEgc2VjY2nDs24gKi9cbiAgaXNNeVNraWxsc1NlY3Rpb24/OiBib29sZWFuXG4gIC8qKiBPY3VsdGEgZWwgY2hpcCBkZSBtb2RlbG8gTExNIChwLiBlai4gZW4gTWlzIGFnZW50ZXMgLyBNaXMgc2tpbGxzKSAqL1xuICBoaWRlQWdlbnRTZWxlY3Rvcj86IGJvb2xlYW5cbiAgLyoqIFNlY2Npw7NuIFwiQ3JlYWRvciBkZSBhZ2VudGVzXCIgKE1haWFrZXIpOiBoYWJpbGl0YSBlbCBib3TDs24gXCJDcmVhciBhZ2VudGVcIiBkZWwgaGVhZGVyICovXG4gIGlzTWFpYWtlclNlY3Rpb24/OiBib29sZWFuXG4gIC8qKlxuICAgKiBTZSBpbnZvY2EgZGVzcHXDqXMgZGVsIHJlc2V0IGN1YW5kbyBlbCBhZ2VudGUgc2VsZWNjaW9uYWRvIE5PIHJlcXVpZXJlIHNlbGVjY2nDs25cbiAgICogZGUgZW50aXR5IChjdXN0b20gbyBjbG9uZStnbG9iYWwpLiBQZXJtaXRlIHJlc29sdmVyIGBHRVQgL3YyL3Nlc3Npb25zL2FnZW50L3tpZH1gXG4gICAqIHkgbmF2ZWdhciBhIHVuYSBjb252ZXJzYWNpw7NuIGV4aXN0ZW50ZSBzaSBsYSBoYXkuXG4gICAqL1xuICBvbkFnZW50U2VsZWN0ZWQ/OiAoYWdlbnQ6IEFnZW50KSA9PiB2b2lkIHwgUHJvbWlzZTx1bmtub3duPlxuICBzaG93QmFja0J1dHRvbj86IGJvb2xlYW5cbiAgb25CYWNrPzogKCkgPT4gdm9pZFxufSkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5hYm1BZ2VudCwgU0VDVElPTlMuY2hhdEFJXSlcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCBhbXBsaXR1ZEV2ZW50ID0gdXNlRXZlbnQoKVxuICBjb25zdCB7IGFnZW50OiBzZWxlY3RlZEFnZW50LCBzZWxlY3RBZ2VudCwgc2V0UHJvamVjdCwgc2V0Q2xpZW50LCBzZXRUYXNrLCBzZWN0aW9uIH0gPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgLy8gRW4gc2VjdGlvbiAndGFzaycgZWwgbW9kYWwgZGUgTWFpYSBzZSBlbGV2YSBwb3IgZW5jaW1hIGRlbCB0YXNrIHBhbmVsICh6LWluZGV4IDk4MDAwMDEpLlxuICAvLyBMb3MgdG9vbHRpcHMgc2UgbW9udGFuIGVuIHBvcnRhbCBjb24gei1pbmRleCAxNTAwIHBvciBkZWZlY3RvLCBhc8OtIHF1ZSBxdWVkYXLDrWFuIGRldHLDoXMuXG4gIC8vIFN1Ymltb3Mgc3Ugei1pbmRleCBzw7NsbyBlbiBlc3RlIGNhc28gcGFyYSBxdWUgc2UgdmVhbiBwb3IgZW5jaW1hIGRlbCBtb2RhbC5cbiAgY29uc3QgdG9vbHRpcFpJbmRleCA9IHVzZU1haWFUYXNrUGFuZWxaSW5kZXgoMTUwMCwgJ292ZXJsYXknKVxuICBjb25zdCBbaXNFeHBhbmRlZCwgc2V0SXNFeHBhbmRlZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgdGV4dFJlZkFnZW50ID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudD4obnVsbClcbiAgY29uc3QgZHJvcGRvd25SZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGxheW91dE1lbnVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtsYXlvdXRNZW51T3Blbiwgc2V0TGF5b3V0TWVudU9wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXA6IHNob3dUb29sdGlwQWdlbnQgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWZBZ2VudCwgW3NlbGVjdGVkQWdlbnQ/Lm5hbWVdKVxuICBjb25zdCBhZ2VudHNSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgY29uc3QgaXNNYWlhQWdlbnQgPSB1c2VDYWxsYmFjaygoYWdlbnRJdGVtOiBBZ2VudCkgPT4gYWdlbnRJdGVtLnR5cGUgPT09ICdvcmNoZXN0cmF0b3InLCBbXSlcbiAgY29uc3QgYWdlbnRzRm9yU2VsZWN0b3IgPSB1c2VNZW1vKFxuICAgICgpID0+IGFnZW50cy5maWx0ZXIoYWdlbnRJdGVtID0+IGlzTWFpYUFnZW50KGFnZW50SXRlbSkgfHwgYWdlbnRJdGVtLmVudGl0eSAhPT0gJ2dsb2JhbCcpLFxuICAgIFthZ2VudHMsIGlzTWFpYUFnZW50XVxuICApXG5cbiAgY29uc3QgdXNhZ2VCbG9ja2VkID0gdXNlVXNhZ2VTdG9yZShzdGF0ZSA9PiBzdGF0ZS5ibG9ja2VkKVxuICBjb25zdCB1c2VyUGVybWlzc2lvbnMgPSB1c2VyPy5wZXJtaXNzaW9ucz8uYWlfYWdlbnRzXG4gIGNvbnN0IGNhbkNyZWF0ZUFnZW50ID0gISF1c2VyUGVybWlzc2lvbnM/LmNyZWF0ZSAmJiAhIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTXG4gIGNvbnN0IHNob3dIZWFkZXJDcmVhdGVBZ2VudEJ1dHRvbiA9IGNhbkNyZWF0ZUFnZW50ICYmIChpc015QWdlbnRzU2VjdGlvbiB8fCBpc01haWFrZXJTZWN0aW9uKVxuXG4gIGNvbnN0IGhhbmRsZU9wZW5DcmVhdGVBZ2VudE1vZGFsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICh1c2FnZUJsb2NrZWQpIHJldHVyblxuICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLm9wZW5Nb2RhbCwgeyBvcHRpb246ICdjcmVhdGVfYWdlbnQnIH0pXG4gICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBDdXN0b21FdmVudCgnYWJtLWFnZW50LW1vZGFsLXNldC12YWx1ZXMnLCB7XG4gICAgICAgIGRldGFpbDoge1xuICAgICAgICAgIGFnZW50VmFsdWVzOiB7XG4gICAgICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpc09wZW46IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKVxuICB9LCBbYW1wbGl0dWRFdmVudCwgdXNhZ2VCbG9ja2VkXSlcblxuICAvLyBNYW5lamFyIHNjcm9sbCBpbmZpbml0byBwYXJhIGNhcmdhciBtw6FzIGFnZW50c1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFNvbG8gY3VhbmRvIGVsIGRyb3Bkb3duIGVzdMOpIGFiaWVydG9cbiAgICBpZiAoIWlzRXhwYW5kZWQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoKSA9PiB7XG4gICAgICBpZiAoIWFnZW50c1JlZi5jdXJyZW50IHx8ICFsb2FkTW9yZUFnZW50cyB8fCAhaGFzTW9yZSB8fCBsb2FkaW5nTW9yZSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgY29uc3QgZGlzdGFuY2VGcm9tQm90dG9tID0gc2Nyb2xsSGVpZ2h0IC0gc2Nyb2xsVG9wIC0gY2xpZW50SGVpZ2h0XG5cbiAgICAgIC8vIENhcmdhciBtw6FzICg1MHB4IGFudGVzKVxuICAgICAgaWYgKGRpc3RhbmNlRnJvbUJvdHRvbSA8IDUwKSB7XG4gICAgICAgIGxvYWRNb3JlQWdlbnRzKClcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBkZWxheSBwYXJhIGFzZWd1cmFyIHF1ZSBlbCBET00gZXN0w6kgcmVuZGVyaXphZG9cbiAgICBjb25zdCB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHNjcm9sbEVsZW1lbnQgPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgaWYgKHNjcm9sbEVsZW1lbnQpIHtcbiAgICAgICAgc2Nyb2xsRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgICB9XG4gICAgfSwgMTAwKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpXG4gICAgICBjb25zdCBzY3JvbGxFbGVtZW50ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGlmIChzY3JvbGxFbGVtZW50KSB7XG4gICAgICAgIHNjcm9sbEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2lzRXhwYW5kZWQsIGxvYWRNb3JlQWdlbnRzLCBoYXNNb3JlLCBsb2FkaW5nTW9yZV0pXG5cbiAgY29uc3QgbG9jYWxBZ2VudHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoXG4gICAgICBzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5oYXNfbm90X2FjY2VzcyB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaXNfZnJvbV9jb252ZXJzYXRpb24gfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/LmlzX2xlZ2FjeV9jb250ZXh0XG4gICAgKSB7XG4gICAgICByZXR1cm4gc2VsZWN0ZWRBZ2VudFxuICAgIH1cbiAgICBjb25zdCBmcm9tTGlzdCA9IGFnZW50cy5maW5kKFxuICAgICAgYWdlbnQgPT5cbiAgICAgICAgIWFnZW50LmlzX2RlbGV0ZWQgJiYgIWFnZW50Lmhhc19ub3RfcGVybWlzc2lvbnMgJiYgIWFnZW50Lmhhc19ub3RfYWNjZXNzICYmIGFnZW50LmlkID09PSBzZWxlY3RlZEFnZW50Py5pZFxuICAgIClcbiAgICAvLyBBZ2VudGUgaGlkcmF0YWRvIHBvciBHRVQgKHAuIGVqLiBudWV2byBjaGF0IHRyYXMgY3JlYXRlX2FnZW50KSBwdWVkZSBubyBlc3RhciBhw7puIGVuIGxhIGxpc3RhIHBhZ2luYWRhXG4gICAgcmV0dXJuIGZyb21MaXN0ID8/IHNlbGVjdGVkQWdlbnQgPz8gbnVsbFxuICB9LCBbYWdlbnRzLCBzZWxlY3RlZEFnZW50XSlcblxuICAvLyBFbiAnTWlzIGFnZW50ZXMnIC8gJ1NraWxscycgc2luIGFnZW50ZSBzZXRlYWRvLCBlbCBzZWxlY3RvciBtdWVzdHJhIGVsIGljb25vIGRlIE1BSUEgeSBlbCBub21icmUgZGUgbGEgc2VjY2nDs25cbiAgLy8gZW4gbHVnYXIgZGVsIGFnZW50ZSwgcGFyYSBxdWUgZWwgdXN1YXJpbyBwdWVkYSBhYnJpciBlbCBkcm9wZG93biB5IGVsZWdpciB1bm8uXG4gIGNvbnN0IHNlbGVjdG9ySWNvbiA9XG4gICAgbG9jYWxBZ2VudHM/LnR5cGUgPT09ICdjdXN0b20nICYmICFsb2NhbEFnZW50cz8uaXNfbGVnYWN5X2NvbnRleHQgPyBsb2NhbEFnZW50cz8uZW1vamkgOiA8TUFJQUljb24gLz5cbiAgY29uc3Qgc2VjdGlvblNlbGVjdG9yTGFiZWwgPSBpc015QWdlbnRzU2VjdGlvblxuICAgID8gdCgnbWFya2V0cGxhY2UubXlBZ2VudHNUaXRsZScsIHsgbnM6IFNFQ1RJT05TLmNoYXRBSSB9KVxuICAgIDogaXNNeVNraWxsc1NlY3Rpb25cbiAgICAgID8gdCgnY29udmVyc2F0aW9ucy5teVNraWxsc05hdicsIHsgbnM6IFNFQ1RJT05TLmNoYXRBSSB9KVxuICAgICAgOiAnJ1xuICBjb25zdCBzZWxlY3RvckxhYmVsID0gbG9jYWxBZ2VudHM/Lm5hbWUgPz8gc2VjdGlvblNlbGVjdG9yTGFiZWxcblxuICBjb25zdCBoYW5kbGVTZWxlY3RBZ2VudCA9IHVzZUNhbGxiYWNrKFxuICAgIChhZ2VudDogQWdlbnQpID0+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+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1IQWdlbnRzTGlzdD5cbiAgICAgICAgICAgICAge3VzZXJQZXJtaXNzaW9ucz8uY3JlYXRlICYmXG4gICAgICAgICAgICAgICAgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgJiZcbiAgICAgICAgICAgICAgICAhaXNNeUFnZW50c1NlY3Rpb24gJiZcbiAgICAgICAgICAgICAgICAhaXNNeVNraWxsc1NlY3Rpb24gJiZcbiAgICAgICAgICAgICAgICAhaXNNYWlha2VyU2VjdGlvbiAmJiAoXG4gICAgICAgICAgICAgICAgICA8U0NDQUlNSEFkZEFnZW50XG4gICAgICAgICAgICAgICAgICAgICRkaXNhYmxlZD17dXNhZ2VCbG9ja2VkfVxuICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1kaXNhYmxlZD17dXNhZ2VCbG9ja2VkfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHVzYWdlQmxvY2tlZCkgcmV0dXJuXG4gICAgICAgICAgICAgICAgICAgICAgc2V0SXNFeHBhbmRlZChmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5vcGVuTW9kYWwsIHsgb3B0aW9uOiAnY3JlYXRlX2FnZW50JyB9KVxuICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRWRpdGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhQbHVzSWNvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgPFBsdXMgY29sb3I9XCJ3aGl0ZVwiIHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1IUGx1c0ljb25XcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICB7dCgnY3JlYXRlQWdlbnQnKX1cbiAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSEFkZEFnZW50PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1NDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50PlxuICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXJNb2RhbD5cbiAgICAgICAgKX1cbiAgICAgIDwvU0NDQUlNSFdyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgY29uc3Qgc2hvdWxkUmVuZGVyU2VsZWN0b3IgPVxuICAgICFoYXNFcnJvciAmJlxuICAgICFsb2FkaW5nICYmXG4gICAgIWhpZGVBZ2VudFNlbGVjdG9yICYmXG4gICAgKCEhc2VsZWN0ZWRBZ2VudCB8fCBpc015QWdlbnRzU2VjdGlvbiB8fCBpc015U2tpbGxzU2VjdGlvbikgJiZcbiAgICAoISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyB8fCAhIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MpXG5cbiAgcmV0dXJuIChcbiAgICA8U0NDQUlNSE1vZGFsXG4gICAgICAkaGFzRXJyb3I9e2hhc0Vycm9yfVxuICAgICAgJGxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAkaGFzQWdlbnRzPXshIWFnZW50cy5sZW5ndGh9XG4gICAgICBvblBvaW50ZXJEb3duPXtkcmFnZ2FibGUgPyBvbkRyYWdTdGFydCA6IHVuZGVmaW5lZH1cbiAgICAgIG9uUG9pbnRlck1vdmU9e2RyYWdnYWJsZSA/IG9uRHJhZ01vdmUgOiB1bmRlZmluZWR9XG4gICAgICBvblBvaW50ZXJVcD17ZHJhZ2dhYmxlID8gb25EcmFnRW5kIDogdW5kZWZpbmVkfVxuICAgICAgb25Qb2ludGVyQ2FuY2VsPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBvbkxvc3RQb2ludGVyQ2FwdHVyZT17ZHJhZ2dhYmxlID8gb25EcmFnRW5kIDogdW5kZWZpbmVkfVxuICAgICAgc3R5bGU9e3sgY3Vyc29yOiBkcmFnZ2FibGUgPyAnZ3JhYicgOiB1bmRlZmluZWQsIHRvdWNoQWN0aW9uOiBkcmFnZ2FibGUgPyAnbWFuaXB1bGF0aW9uJyA6IHVuZGVmaW5lZCB9fVxuICAgID5cbiAgICAgIHtzaG91bGRSZW5kZXJTZWxlY3RvciA/IHJlbmRlck1vZGFsKCkgOiA8ZGl2IC8+fVxuICAgICAgPFNDQ0FJTUhXcmFwcGVyQnV0dG9uIGRhdGEtbm8tZHJhZz1cInRydWVcIj5cbiAgICAgICAge3Nob3dCYWNrQnV0dG9uICYmIChcbiAgICAgICAgICA8U0NDQUlNSEJhY2tCdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICBvbkJhY2soKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Q2hldnJvbkxlZnQgd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSBjb2xvcj1cIiMzNDM0MzNcIiAvPlxuICAgICAgICAgICAge3QoJ2JhY2snKX1cbiAgICAgICAgICA8L1NDQ0FJTUhCYWNrQnV0dG9uPlxuICAgICAgICApfVxuICAgICAgICB7c2hvd0hlYWRlckNyZWF0ZUFnZW50QnV0dG9uICYmIChcbiAgICAgICAgICA8U0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZU9wZW5DcmVhdGVBZ2VudE1vZGFsfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e3VzYWdlQmxvY2tlZH1cbiAgICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9e3VzYWdlQmxvY2tlZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8U0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dD57dCgnb3BlbkFnZW50Q3JlYXRvcicpfTwvU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dD5cbiAgICAgICAgICA8L1NDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51QW5jaG9yIHJlZj17bGF5b3V0TWVudVJlZn0gZGF0YS1uby1kcmFnPVwidHJ1ZVwiPlxuICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICBidXR0b25JZD1cImJ0bi1tYWlhLWxheW91dC1tZW51XCJcbiAgICAgICAgICAgIGhhbmRsZUNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghbGF5b3V0TWVudU9wZW4pIHtcbiAgICAgICAgICAgICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRPcGVuVmlld09wdGlvbnMpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgc2V0TGF5b3V0TWVudU9wZW4ocHJldiA9PiAhcHJldilcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICB0b29sdGlwPXt0KCdsYXlvdXRNZW51VG9vbHRpcCcpfVxuICAgICAgICAgICAgZGlzYWJsZVRvb2x0aXA9e2xheW91dE1lbnVPcGVufVxuICAgICAgICAgICAgdG9vbHRpcFpJbmRleD17dG9vbHRpcFpJbmRleH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TWFpYUNoYXRMYXlvdXRNZW51SWNvbiAvPlxuICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICB7bGF5b3V0TWVudU9wZW4gPyAoXG4gICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVQYW5lbCByb2xlPVwibWVudVwiPlxuICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAkYWN0aXZlPXtsYXlvdXRNb2RlID09PSAnc2lkZWJhcid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnc2lkZWJhcicpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbiBhcmlhLWhpZGRlbj5cbiAgICAgICAgICAgICAgICAgIDxNYWlhQ2hhdExheW91dFNpZGViYXJJY29uIC8+XG4gICAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24+XG4gICAgICAgICAgICAgICAge3QoJ2xheW91dFNpZGViYXInKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvdz5cbiAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgJGFjdGl2ZT17bGF5b3V0TW9kZSA9PT0gJ2Z1bGxzY3JlZW4nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVBpY2tMYXlvdXQoJ2Z1bGxzY3JlZW4nKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24gYXJpYS1oaWRkZW4+XG4gICAgICAgICAgICAgICAgICA8TWFpYUNoYXRMYXlvdXRGdWxsc2NyZWVuSWNvbiAvPlxuICAgICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3dJY29uPlxuICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRGdWxsc2NyZWVuJyl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3c+XG4gICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd1xuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICRhY3RpdmU9e2xheW91dE1vZGUgPT09ICdmbG9hdGluZyd9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnZmxvYXRpbmcnKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24gYXJpYS1oaWRkZW4+XG4gICAgICAgICAgICAgICAgICA8TWFpYUNoYXRMYXlvdXRGbG9hdGluZ0ljb24gLz5cbiAgICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93SWNvbj5cbiAgICAgICAgICAgICAgICB7dCgnbGF5b3V0RmxvYXRpbmcnKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvdz5cbiAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVQYW5lbD5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudUFuY2hvcj5cbiAgICAgICAge2hhbmRsZU1pbmltaXplID8gKFxuICAgICAgICAgIDxJY29uQnV0dG9uIGhhbmRsZUNsaWNrPXtoYW5kbGVNaW5pbWl6ZX0gdG9vbHRpcD17dCgnZ2xvYmFscy5taW5pbWl6ZScpfSB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fT5cbiAgICAgICAgICAgIDxTQ0NBSU1ITWluaW1pemVJY29uPlxuICAgICAgICAgICAgICA8U3RhdHVzIHdpZHRoPXsyNH0gaGVpZ2h0PXsyNH0gLz5cbiAgICAgICAgICAgIDwvU0NDQUlNSE1pbmltaXplSWNvbj5cbiAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9TQ0NBSU1IV3JhcHBlckJ1dHRvbj5cbiAgICA8L1NDQ0FJTUhNb2RhbD5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBLFNBQVNBLFNBQVMsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxRQUEyQyxPQUFPO0FBQzVHLFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsTUFBTSxRQUFRLHlDQUF5QztBQUNoRSxTQUFTQyxXQUFXLFFBQVEsOENBQThDO0FBQzFFLFNBQVNDLFdBQVcsUUFBUSw4Q0FBOEM7QUFDMUUsU0FBU0MsSUFBSSxRQUFRLHVDQUF1QztBQUM1RCxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxRQUFRLFFBQVEsaUNBQWlDO0FBQzFELFNBQVNDLGdCQUFnQixRQUFRLHVDQUF1QztBQUN4RSxTQUFTQyxpQkFBaUIsUUFBUSxnQ0FBZ0M7QUFDbEUsU0FBU0MsVUFBVSxRQUFRLDhCQUE4QjtBQUN6RCxTQUFTQyxRQUFRLEVBQUVDLHNCQUFzQixRQUFRLHlCQUF5QjtBQUMxRSxTQUFTQyx5QkFBeUIsUUFBUSxtREFBbUQ7QUFDN0YsU0FBU0MsNEJBQTRCLFFBQVEsc0RBQXNEO0FBQ25HLFNBQVNDLDBCQUEwQixRQUFRLG9EQUFvRDtBQUMvRixTQUFTQyxpQkFBaUIsUUFBUSwwQ0FBMEM7QUFDNUUsU0FDRUMsWUFBWSxFQUNaQyxvQkFBb0IsRUFDcEJDLHdCQUF3QixFQUN4QkMsY0FBYyxFQUNkQyxvQkFBb0IsRUFDcEJDLGtCQUFrQixFQUNsQkMsbUJBQW1CLEVBQ25CQywwQkFBMEIsRUFDMUJDLCtCQUErQixFQUMvQkMsZUFBZSxFQUNmQyx3QkFBd0IsRUFDeEJDLDRCQUE0QixFQUM1QkMsY0FBYyxFQUNkQyxpQkFBaUIsRUFDakJDLG9CQUFvQixFQUNwQkMsc0JBQXNCLEVBQ3RCQyx1QkFBdUIsRUFDdkJD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
@@ -19,7 +19,7 @@ export var SCCAIMHBackButton = styled.button.withConfig({
19
19
  export var SCCAIMHCreateAgentButton = styled.button.withConfig({
20
20
  displayName: "ChatAiModalHeaderstyles__SCCAIMHCreateAgentButton",
21
21
  componentId: "sc-r6xbtc-4"
22
- })(["display:flex;min-width:64px;padding:var(--cor-space-space-sm,8px) var(--cor-space-space-md,12px);justify-content:center;align-items:center;border-radius:var(--cor-radius-radius-md,8px);border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--Gradiente-1,linear-gradient(0deg,#4d3569 0%,#2d77bd 100%)) border-box;cursor:pointer;transition:background-color 0.2s ease-in-out,box-shadow 0.3s ease,opacity 0.3s ease;&:hover{box-shadow:-2px 3px 16px 0 rgba(45,119,189,0.15);}"]);
22
+ })(["display:flex;min-width:64px;padding:var(--cor-space-space-sm,8px) var(--cor-space-space-md,12px);justify-content:center;align-items:center;border-radius:var(--cor-radius-radius-md,8px);border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--Gradiente-1,linear-gradient(0deg,#4d3569 0%,#2d77bd 100%)) border-box;cursor:pointer;transition:background-color 0.2s ease-in-out,box-shadow 0.3s ease,opacity 0.3s ease;&:hover:not(:disabled){box-shadow:-2px 3px 16px 0 rgba(45,119,189,0.15);}&:disabled{opacity:0.5;cursor:not-allowed;}"]);
23
23
  export var SCCAIMHCreateAgentButtonText = styled.span.withConfig({
24
24
  displayName: "ChatAiModalHeaderstyles__SCCAIMHCreateAgentButtonText",
25
25
  componentId: "sc-r6xbtc-5"
@@ -61,7 +61,16 @@ export var SCCAIMMAIAText = styled.h3.withConfig({
61
61
  export var SCCAIMHAddAgent = styled.div.withConfig({
62
62
  displayName: "ChatAiModalHeaderstyles__SCCAIMHAddAgent",
63
63
  componentId: "sc-r6xbtc-13"
64
- })(["display:flex;width:100%;padding:8px 12px;align-items:center;justify-content:center;cursor:pointer;font-size:14px;line-height:140%;background-color:#08c;color:white;gap:8px;border-radius:4px;&:hover{background-color:#069;}"]);
64
+ })(["display:flex;width:100%;padding:8px 12px;align-items:center;justify-content:center;cursor:", ";opacity:", ";font-size:14px;line-height:140%;background-color:#08c;color:white;gap:8px;border-radius:4px;&:hover{background-color:", ";}"], function (_ref3) {
65
+ var $disabled = _ref3.$disabled;
66
+ return $disabled ? 'not-allowed' : 'pointer';
67
+ }, function (_ref4) {
68
+ var $disabled = _ref4.$disabled;
69
+ return $disabled ? 0.5 : 1;
70
+ }, function (_ref5) {
71
+ var $disabled = _ref5.$disabled;
72
+ return $disabled ? '#08c' : '#069';
73
+ });
65
74
  export var SCCAIMHDivider = styled.div.withConfig({
66
75
  displayName: "ChatAiModalHeaderstyles__SCCAIMHDivider",
67
76
  componentId: "sc-r6xbtc-14"
@@ -93,8 +102,8 @@ export var SCCAIMHLayoutMenuRowIcon = styled.span.withConfig({
93
102
  export var SCCAIMHLayoutMenuRow = styled.button.withConfig({
94
103
  displayName: "ChatAiModalHeaderstyles__SCCAIMHLayoutMenuRow",
95
104
  componentId: "sc-r6xbtc-21"
96
- })(["display:flex;padding:var(--cor-space-space-sm,8px);align-items:center;gap:var(--cor-space-space-sm,8px);align-self:stretch;border:none;border-radius:var(--cor-radius-radius-sm,4px);background:", ";cursor:pointer;font-family:var(--cor-typography-font-family,'Work Sans'),sans-serif;font-size:var(--cor-typography-font-size-sm,14px);font-weight:400;line-height:var(--cor-typography-line-height-20,20px);letter-spacing:var(--cor-typography-letter-spacing-0,0);color:var(--cor-color-text-primary,#202020);text-align:left;&:hover{background:var(--cor-color-grey-100,#f2f2f2);}"], function (_ref3) {
97
- var $active = _ref3.$active;
105
+ })(["display:flex;padding:var(--cor-space-space-sm,8px);align-items:center;gap:var(--cor-space-space-sm,8px);align-self:stretch;border:none;border-radius:var(--cor-radius-radius-sm,4px);background:", ";cursor:pointer;font-family:var(--cor-typography-font-family,'Work Sans'),sans-serif;font-size:var(--cor-typography-font-size-sm,14px);font-weight:400;line-height:var(--cor-typography-line-height-20,20px);letter-spacing:var(--cor-typography-letter-spacing-0,0);color:var(--cor-color-text-primary,#202020);text-align:left;&:hover{background:var(--cor-color-grey-100,#f2f2f2);}"], function (_ref6) {
106
+ var $active = _ref6.$active;
98
107
  return $active ? 'var(--cor-color-grey-100, #f2f2f2)' : 'transparent';
99
108
  });
100
109
  export var SCCAIMHPlusIconWrapper = styled.div.withConfig({
@@ -105,4 +114,4 @@ export var SCCAIMHMinimizeIcon = styled.span.withConfig({
105
114
  displayName: "ChatAiModalHeaderstyles__SCCAIMHMinimizeIcon",
106
115
  componentId: "sc-r6xbtc-23"
107
116
  })(["display:flex;align-items:center;justify-content:center;transform:rotate(-90deg);"]);
108
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJkcm9wZG93bkluIiwiU0NDQUlNSFdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIlNDQ0FJTUhNb2RhbCIsIlNDQ0FJTUhXcmFwcGVyQnV0dG9uIiwiU0NDQUlNSEJhY2tCdXR0b24iLCJidXR0b24iLCJTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b24iLCJTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b25UZXh0Iiwic3BhbiIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50IiwiU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0IiwiX3JlZiIsImlzQWdlbnREZWxldGVkIiwiU0NDQUlNSFdyYXBwZXJJY29uIiwiU0NDQUlNSFdyYXBwZXJNb2RhbCIsIlNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50IiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSIsIl9yZWYyIiwiaXNDbG9uZSIsIlNDQ0FJTU1BSUFUZXh0IiwiaDMiLCJTQ0NBSU1IQWRkQWdlbnQiLCJTQ0NBSU1IRGl2aWRlciIsIlNDQ0FJV3JhcHBlciIsIlNDQ0FJTUhBZ2VudHNMaXN0IiwiU0NDQUlNSExvYWRlcldyYXBwZXIiLCJTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciIsIlNDQ0FJTUhMYXlvdXRNZW51UGFuZWwiLCJTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24iLCJTQ0NBSU1ITGF5b3V0TWVudVJvdyIsIl9yZWYzIiwiJGFjdGl2ZSIsIlNDQ0FJTUhQbHVzSWNvbldyYXBwZXIiLCJTQ0NBSU1ITWluaW1pemVJY29uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxIZWFkZXIvQ2hhdEFpTW9kYWxIZWFkZXIuc3R5bGVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IHsgZHJvcGRvd25JbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3N0eWxlcy90cmFuc2l0aW9ucydcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogNnB4IDhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZ2FwOiA2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4td2lkdGg6IDkwcHg7XG4gIG1heC13aWR0aDogMjUycHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITW9kYWwgPSBzdHlsZWQuZGl2PHsgJGhhc0Vycm9yPzogYm9vbGVhbjsgJGxvYWRpbmc/OiBib29sZWFuOyAkaGFzQWdlbnRzPzogYm9vbGVhbiB9PmBcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IV3JhcHBlckJ1dHRvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMjRweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhCYWNrQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIGhlaWdodDogMjhweDtcbiAgcGFkZGluZzogNnB4IDhweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjMzQzNDMzO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLXdpZHRoOiA2NHB4O1xuICBwYWRkaW5nOiB2YXIoLS1jb3Itc3BhY2Utc3BhY2Utc20sIDhweCkgdmFyKC0tY29yLXNwYWNlLXNwYWNlLW1kLCAxMnB4KTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNvci1yYWRpdXMtcmFkaXVzLW1kLCA4cHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDpcbiAgICBsaW5lYXItZ3JhZGllbnQoI2ZmZiwgI2ZmZikgcGFkZGluZy1ib3gsXG4gICAgdmFyKC0tR3JhZGllbnRlLTEsIGxpbmVhci1ncmFkaWVudCgwZGVnLCAjNGQzNTY5IDAlLCAjMmQ3N2JkIDEwMCUpKSBib3JkZXItYm94O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246XG4gICAgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0LFxuICAgIGJveC1zaGFkb3cgMC4zcyBlYXNlLFxuICAgIG9wYWNpdHkgMC4zcyBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IC0ycHggM3B4IDE2cHggMCByZ2JhKDQ1LCAxMTksIDE4OSwgMC4xNSk7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhDcmVhdGVBZ2VudEJ1dHRvblRleHQgPSBzdHlsZWQuc3BhbmBcbiAgZmxleDogMSAwIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1zaXplLXhzLCAxMnB4KTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tY29yLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtMTQsIDE0cHgpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY29yLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctMCwgMCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLUdyYWRpZW50ZS0xLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgIzRkMzU2OSAwJSwgIzJkNzdiZCAxMDAlKSk7XG4gIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhTZWxlY3RlZEFnZW50ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBmbGV4LWdyb3c6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCA9IHN0eWxlZC5zcGFuPHsgaXNBZ2VudERlbGV0ZWQ/OiBib29sZWFuIH0+YFxuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBjb2xvcjogIzM0MzQzMztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgJHsoeyBpc0FnZW50RGVsZXRlZCB9KSA9PlxuICAgIGlzQWdlbnREZWxldGVkICYmXG4gICAgY3NzYFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVySWNvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFdyYXBwZXJNb2RhbCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzOHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDMzNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3gtc2hhZG93OiAwcHggNHB4IDE2cHggMHB4IHJnYmEoMTgsIDE4LCAxOCwgMC4yNCk7XG4gIHBhZGRpbmc6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG4gICR7ZHJvcGRvd25Jbn1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGUgPSBzdHlsZWQuc3Bhbjx7IGlzQ2xvbmU/OiBib29sZWFuIH0+YFxuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzJiMmIyYjtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHsoeyBpc0Nsb25lIH0pID0+IChpc0Nsb25lID8gJzBweCcgOiAnMHB4IDEycHgnKX07XG4gIGN1cnNvcjogZGVmYXVsdDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTU1BSUFUZXh0ID0gc3R5bGVkLmgzYFxuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjYmE0M2ZmIDAlLCAjZmY0M2NhIDUwJSwgI2JhNDNmZiAxMDAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiAyMDAlIGF1dG87XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBhbmltYXRpb246XG4gICAgc2hpbmUgM3MgbGluZWFyIGluZmluaXRlLFxuICAgIGZhZGVJblNjYWxlIDAuOHMgZWFzZS1vdXQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuXG4gIEBrZXlmcmFtZXMgc2hpbmUge1xuICAgIHRvIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDIwMCUgY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgZmFkZUluU2NhbGUge1xuICAgIDAlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IQWRkQWdlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwOGM7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZ2FwOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA2OTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSERpdmlkZXIgPSBzdHlsZWQuZGl2YFxuICBoZWlnaHQ6IDAuNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDlkOWQ5O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiA0cHggMHB4IDJweCAwcHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAxMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNyk7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhBZ2VudHNMaXN0ID0gc3R5bGVkLmRpdjx7IGhhc01vcmU/OiBib29sZWFuOyBhZ2VudHNDb3VudD86IG51bWJlciB9PmBcbiAgbWF4LWhlaWdodDogMjc1cHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3IteTogY29udGFpbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITG9hZGVyV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhMYXlvdXRNZW51UGFuZWwgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgOHB4KTtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDExMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IHZhcigtLWNvci1zcGFjZS1zcGFjZS1zbSwgOHB4KTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNvci1yYWRpdXMtcmFkaXVzLW1kLCA4cHgpO1xuICBib3JkZXI6IDAuNXB4IHNvbGlkIHZhcigtLUNvbG9yLUxpZ2h0LUdyYXksICNlMGUwZTApO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OlxuICAgIHZhcigtLXNkcy1zaXplLWRlcHRoLTApIHZhcigtLXNkcy1zaXplLWRlcHRoLTAyNSkgdmFyKC0tc2RzLXNpemUtZGVwdGgtMTAwKSB2YXIoLS1zZHMtc2l6ZS1kZXB0aC0wKVxuICAgICAgdmFyKC0tc2RzLWNvbG9yLWJsYWNrLTIwMCwgcmdiYSgwLCAwLCAwLCAwLjA4KSksXG4gICAgdmFyKC0tc2RzLXNpemUtZGVwdGgtMCkgdmFyKC0tc2RzLXNpemUtZGVwdGgtMDI1KSB2YXIoLS1zZHMtc2l6ZS1kZXB0aC0xMDApIHZhcigtLXNkcy1zaXplLWRlcHRoLTApXG4gICAgICB2YXIoLS1zZHMtY29sb3ItYmxhY2stMTAwLCByZ2JhKDAsIDAsIDAsIDAuMDQpKTtcbiAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbiAgJHtkcm9wZG93bklufVxuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyMHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSExheW91dE1lbnVSb3cgPSBzdHlsZWQuYnV0dG9uPHsgJGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IHZhcigtLWNvci1zcGFjZS1zcGFjZS1zbSwgOHB4KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1jb3Itc3BhY2Utc3BhY2Utc20sIDhweCk7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY29yLXJhZGl1cy1yYWRpdXMtc20sIDRweCk7XG4gIGJhY2tncm91bmQ6ICR7KHsgJGFjdGl2ZSB9KSA9PiAoJGFjdGl2ZSA/ICd2YXIoLS1jb3ItY29sb3ItZ3JleS0xMDAsICNmMmYyZjIpJyA6ICd0cmFuc3BhcmVudCcpfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LXNpemUtc20sIDE0cHgpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tY29yLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtMjAsIDIwcHgpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY29yLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctMCwgMCk7XG4gIGNvbG9yOiB2YXIoLS1jb3ItY29sb3ItdGV4dC1wcmltYXJ5LCAjMjAyMDIwKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb3ItY29sb3ItZ3JleS0xMDAsICNmMmYyZjIpO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IUGx1c0ljb25XcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITWluaW1pemVJY29uID0gc3R5bGVkLnNwYW5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsUUFBUSxtQkFBbUI7QUFDL0MsU0FBU0MsVUFBVSxRQUFRLG1DQUFtQztBQUU5RCxPQUFPLElBQU1DLGNBQWMsR0FBR0gsTUFBTSxDQUFDSSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK0tBV3ZDO0FBRUQsT0FBTyxJQUFNQyxZQUFZLEdBQUdSLE1BQU0sQ0FBQ0ksR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHFHQU1yQztBQUVELE9BQU8sSUFBTUUsb0JBQW9CLEdBQUdULE1BQU0sQ0FBQ0ksR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGlEQUk3QztBQUVELE9BQU8sSUFBTUcs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
117
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJkcm9wZG93bkluIiwiU0NDQUlNSFdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIlNDQ0FJTUhNb2RhbCIsIlNDQ0FJTUhXcmFwcGVyQnV0dG9uIiwiU0NDQUlNSEJhY2tCdXR0b24iLCJidXR0b24iLCJTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b24iLCJTQ0NBSU1IQ3JlYXRlQWdlbnRCdXR0b25UZXh0Iiwic3BhbiIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50IiwiU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0IiwiX3JlZiIsImlzQWdlbnREZWxldGVkIiwiU0NDQUlNSFdyYXBwZXJJY29uIiwiU0NDQUlNSFdyYXBwZXJNb2RhbCIsIlNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50IiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSIsIl9yZWYyIiwiaXNDbG9uZSIsIlNDQ0FJTU1BSUFUZXh0IiwiaDMiLCJTQ0NBSU1IQWRkQWdlbnQiLCJfcmVmMyIsIiRkaXNhYmxlZCIsIl9yZWY0IiwiX3JlZjUiLCJTQ0NBSU1IRGl2aWRlciIsIlNDQ0FJV3JhcHBlciIsIlNDQ0FJTUhBZ2VudHNMaXN0IiwiU0NDQUlNSExvYWRlcldyYXBwZXIiLCJTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciIsIlNDQ0FJTUhMYXlvdXRNZW51UGFuZWwiLCJTQ0NBSU1ITGF5b3V0TWVudVJvd0ljb24iLCJTQ0NBSU1ITGF5b3V0TWVudVJvdyIsIl9yZWY2IiwiJGFjdGl2ZSIsIlNDQ0FJTUhQbHVzSWNvbldyYXBwZXIiLCJTQ0NBSU1ITWluaW1pemVJY29uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxIZWFkZXIvQ2hhdEFpTW9kYWxIZWFkZXIuc3R5bGVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IHsgZHJvcGRvd25JbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3N0eWxlcy90cmFuc2l0aW9ucydcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogNnB4IDhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZ2FwOiA2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4td2lkdGg6IDkwcHg7XG4gIG1heC13aWR0aDogMjUycHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITW9kYWwgPSBzdHlsZWQuZGl2PHsgJGhhc0Vycm9yPzogYm9vbGVhbjsgJGxvYWRpbmc/OiBib29sZWFuOyAkaGFzQWdlbnRzPzogYm9vbGVhbiB9PmBcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IV3JhcHBlckJ1dHRvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMjRweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhCYWNrQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIGhlaWdodDogMjhweDtcbiAgcGFkZGluZzogNnB4IDhweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjMzQzNDMzO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLXdpZHRoOiA2NHB4O1xuICBwYWRkaW5nOiB2YXIoLS1jb3Itc3BhY2Utc3BhY2Utc20sIDhweCkgdmFyKC0tY29yLXNwYWNlLXNwYWNlLW1kLCAxMnB4KTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWNvci1yYWRpdXMtcmFkaXVzLW1kLCA4cHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDpcbiAgICBsaW5lYXItZ3JhZGllbnQoI2ZmZiwgI2ZmZikgcGFkZGluZy1ib3gsXG4gICAgdmFyKC0tR3JhZGllbnRlLTEsIGxpbmVhci1ncmFkaWVudCgwZGVnLCAjNGQzNTY5IDAlLCAjMmQ3N2JkIDEwMCUpKSBib3JkZXItYm94O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246XG4gICAgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0LFxuICAgIGJveC1zaGFkb3cgMC4zcyBlYXNlLFxuICAgIG9wYWNpdHkgMC4zcyBlYXNlO1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJveC1zaGFkb3c6IC0ycHggM3B4IDE2cHggMCByZ2JhKDQ1LCAxMTksIDE4OSwgMC4xNSk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSENyZWF0ZUFnZW50QnV0dG9uVGV4dCA9IHN0eWxlZC5zcGFuYFxuICBmbGV4OiAxIDAgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC1zaXplOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LXNpemUteHMsIDEycHgpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1saW5lLWhlaWdodC0xNCwgMTRweCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy0wLCAwKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tR3JhZGllbnRlLTEsIGxpbmVhci1ncmFkaWVudCgwZGVnLCAjNGQzNTY5IDAlLCAjMmQ3N2JkIDEwMCUpKTtcbiAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFNlbGVjdGVkQWdlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0ID0gc3R5bGVkLnNwYW48eyBpc0FnZW50RGVsZXRlZD86IGJvb2xlYW4gfT5gXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGNvbG9yOiAjMzQzNDMzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICAkeyh7IGlzQWdlbnREZWxldGVkIH0pID0+XG4gICAgaXNBZ2VudERlbGV0ZWQgJiZcbiAgICBjc3NgXG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFdyYXBwZXJJY29uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IV3JhcHBlck1vZGFsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDM4cHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMzM0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJveC1zaGFkb3c6IDBweCA0cHggMTZweCAwcHggcmdiYSgxOCwgMTgsIDE4LCAwLjI0KTtcbiAgcGFkZGluZzogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbiAgJHtkcm9wZG93bklufVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSA9IHN0eWxlZC5zcGFuPHsgaXNDbG9uZT86IGJvb2xlYW4gfT5gXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjMmIyYjJiO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2Fucyc7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkeyh7IGlzQ2xvbmUgfSkgPT4gKGlzQ2xvbmUgPyAnMHB4JyA6ICcwcHggMTJweCcpfTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNTUFJQVRleHQgPSBzdHlsZWQuaDNgXG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNiYTQzZmYgMCUsICNmZjQzY2EgNTAlLCAjYmE0M2ZmIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgYXV0bztcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGFuaW1hdGlvbjpcbiAgICBzaGluZSAzcyBsaW5lYXIgaW5maW5pdGUsXG4gICAgZmFkZUluU2NhbGUgMC44cyBlYXNlLW91dDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG5cbiAgQGtleWZyYW1lcyBzaGluZSB7XG4gICAgdG8ge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAwJSBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBmYWRlSW5TY2FsZSB7XG4gICAgMCUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhBZGRBZ2VudCA9IHN0eWxlZC5kaXY8eyAkZGlzYWJsZWQ/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6ICR7KHsgJGRpc2FibGVkIH0pID0+ICgkZGlzYWJsZWQgPyAnbm90LWFsbG93ZWQnIDogJ3BvaW50ZXInKX07XG4gIG9wYWNpdHk6ICR7KHsgJGRpc2FibGVkIH0pID0+ICgkZGlzYWJsZWQgPyAwLjUgOiAxKX07XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwOGM7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZ2FwOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyAkZGlzYWJsZWQgfSkgPT4gKCRkaXNhYmxlZCA/ICcjMDhjJyA6ICcjMDY5Jyl9O1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IRGl2aWRlciA9IHN0eWxlZC5kaXZgXG4gIGhlaWdodDogMC41cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWQ5ZDk7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDRweCAwcHggMnB4IDBweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmctbGVmdDogNHB4O1xuICBzdmcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS43KTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSEFnZW50c0xpc3QgPSBzdHlsZWQuZGl2PHsgaGFzTW9yZT86IGJvb2xlYW47IGFnZW50c0NvdW50PzogbnVtYmVyIH0+YFxuICBtYXgtaGVpZ2h0OiAyNzVweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvci15OiBjb250YWluO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhMb2FkZXJXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhMYXlvdXRNZW51QW5jaG9yID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSExheW91dE1lbnVQYW5lbCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyA4cHgpO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTEwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogdmFyKC0tY29yLXNwYWNlLXNwYWNlLXNtLCA4cHgpO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY29yLXJhZGl1cy1yYWRpdXMtbWQsIDhweCk7XG4gIGJvcmRlcjogMC41cHggc29saWQgdmFyKC0tQ29sb3ItTGlnaHQtR3JheSwgI2UwZTBlMCk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6XG4gICAgdmFyKC0tc2RzLXNpemUtZGVwdGgtMCkgdmFyKC0tc2RzLXNpemUtZGVwdGgtMDI1KSB2YXIoLS1zZHMtc2l6ZS1kZXB0aC0xMDApIHZhcigtLXNkcy1zaXplLWRlcHRoLTApXG4gICAgICB2YXIoLS1zZHMtY29sb3ItYmxhY2stMjAwLCByZ2JhKDAsIDAsIDAsIDAuMDgpKSxcbiAgICB2YXIoLS1zZHMtc2l6ZS1kZXB0aC0wKSB2YXIoLS1zZHMtc2l6ZS1kZXB0aC0wMjUpIHZhcigtLXNkcy1zaXplLWRlcHRoLTEwMCkgdmFyKC0tc2RzLXNpemUtZGVwdGgtMClcbiAgICAgIHZhcigtLXNkcy1jb2xvci1ibGFjay0xMDAsIHJnYmEoMCwgMCwgMCwgMC4wNCkpO1xuICBtaW4td2lkdGg6IG1heC1jb250ZW50O1xuICAke2Ryb3Bkb3duSW59XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhMYXlvdXRNZW51Um93SWNvbiA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDIwcHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITGF5b3V0TWVudVJvdyA9IHN0eWxlZC5idXR0b248eyAkYWN0aXZlPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogdmFyKC0tY29yLXNwYWNlLXNwYWNlLXNtLCA4cHgpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLWNvci1zcGFjZS1zcGFjZS1zbSwgOHB4KTtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jb3ItcmFkaXVzLXJhZGl1cy1zbSwgNHB4KTtcbiAgYmFja2dyb3VuZDogJHsoeyAkYWN0aXZlIH0pID0+ICgkYWN0aXZlID8gJ3ZhcigtLWNvci1jb2xvci1ncmV5LTEwMCwgI2YyZjJmMiknIDogJ3RyYW5zcGFyZW50Jyl9O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LWZhbWlseSwgJ1dvcmsgU2FucycpLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtc2l6ZS1zbSwgMTRweCk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1saW5lLWhlaWdodC0yMCwgMjBweCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy0wLCAwKTtcbiAgY29sb3I6IHZhcigtLWNvci1jb2xvci10ZXh0LXByaW1hcnksICMyMDIwMjApO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvci1jb2xvci1ncmV5LTEwMCwgI2YyZjJmMik7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhQbHVzSWNvbldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhNaW5pbWl6ZUljb24gPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sSUFBSUMsR0FBRyxRQUFRLG1CQUFtQjtBQUMvQyxTQUFT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
@@ -39,7 +39,7 @@ export function resolveInitialMaiaChatLayoutMode(context) {
39
39
 
40
40
  /** Ancho del panel flotante en px: base y escalado en pantallas muy anchas */
41
41
  export var MAIA_FLOATING_PANEL_WIDTH_PX = {
42
- "default": 480,
42
+ "default": 490,
43
43
  large: 600,
44
44
  xxl: 720
45
45
  };
@@ -71,4 +71,4 @@ export function getMaiaFloatingPanelWidthPx() {
71
71
  }
72
72
  return MAIA_FLOATING_PANEL_WIDTH_PX["default"];
73
73
  }
74
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNQUlBX0NIQVRfTEFZT1VUX1NUT1JBR0VfS0VZIiwiVkFMSURfTEFZT1VUX01PREVTIiwiaXNNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSIsInZhbHVlIiwiaW5jbHVkZXMiLCJnZXRTZWN0aW9uRm9yY2VkTGF5b3V0TW9kZSIsImNvbnRleHQiLCJfY29udGV4dCRiYW5uZXJFbnRyeUYiLCJzZWN0aW9uIiwiYmFubmVyRW50cnlGYXEiLCJmYXFUaXRsZSIsInRyaW0iLCJnZXRTdG9yZWRNYWlhQ2hhdExheW91dE1vZGUiLCJ3aW5kb3ciLCJzdG9yZWQiLCJsb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwiX3VudXNlZCIsInNldFN0b3JlZE1haWFDaGF0TGF5b3V0TW9kZSIsIm1vZGUiLCJzZXRJdGVtIiwiX3VudXNlZDIiLCJyZXNvbHZlSW5pdGlhbE1haWFDaGF0TGF5b3V0TW9kZSIsIl9nZXRTdG9yZWRNYWlhQ2hhdExheSIsImZvcmNlZCIsIk1BSUFfRkxPQVRJTkdfUEFORUxfV0lEVEhfUFgiLCJsYXJnZSIsInh4bCIsIk1BSUFfRkxPQVRJTkdfUEFORUxfSEVJR0hUX1BYIiwiTUFJQV9GTE9BVElOR19CUkVBS1BPSU5UX0xBUkdFIiwiTUFJQV9GTE9BVElOR19CUkVBS1BPSU5UX1hYTCIsImdldE1haWFGbG9hdGluZ1BhbmVsV2lkdGhQeCIsInZ3IiwiaW5uZXJXaWR0aCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9sYXlvdXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcblxuZXhwb3J0IHR5cGUgTWFpYUNoYXRNb2RhbExheW91dE1vZGUgPSAnc2lkZWJhcicgfCAnZnVsbHNjcmVlbicgfCAnZmxvYXRpbmcnXG5cbmV4cG9ydCBjb25zdCBNQUlBX0NIQVRfTEFZT1VUX1NUT1JBR0VfS0VZID0gJ21haWEtY2hhdC1tb2RhbC1sYXlvdXQtbW9kZSdcblxuY29uc3QgVkFMSURfTEFZT1VUX01PREVTOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZVtdID0gWydzaWRlYmFyJywgJ2Z1bGxzY3JlZW4nLCAnZmxvYXRpbmcnXVxuXG5leHBvcnQgdHlwZSBNYWlhQ2hhdExheW91dE9wZW5Db250ZXh0ID0ge1xuICBzZWN0aW9uOiBTZWN0aW9uXG4gIGJhbm5lckVudHJ5RmFxPzogeyBmYXFUaXRsZT86IHN0cmluZyB8IG51bGwgfSB8IG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTWFpYUNoYXRNb2RhbExheW91dE1vZGUodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIFZBTElEX0xBWU9VVF9NT0RFUy5pbmNsdWRlcyh2YWx1ZSBhcyBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSlcbn1cblxuLyoqIExheW91dCBpbXB1ZXN0byBwb3Igc2VjY2nDs24vY29udGV4dG8gZGUgYXBlcnR1cmEgKHByaW9yaWRhZCBzb2JyZSBsb2NhbFN0b3JhZ2UpLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNlY3Rpb25Gb3JjZWRMYXlvdXRNb2RlKGNvbnRleHQ6IE1haWFDaGF0TGF5b3V0T3BlbkNvbnRleHQpOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSB8IG51bGwge1xuICBpZiAoY29udGV4dC5zZWN0aW9uID09PSAndGFzaycgfHwgY29udGV4dC5zZWN0aW9uID09PSAncGxhbm5lcicpIHJldHVybiAnZmxvYXRpbmcnXG4gIGlmIChjb250ZXh0LmJhbm5lckVudHJ5RmFxPy5mYXFUaXRsZT8udHJpbSgpKSByZXR1cm4gJ2Zsb2F0aW5nJ1xuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RvcmVkTWFpYUNoYXRMYXlvdXRNb2RlKCk6IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIHwgbnVsbCB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykgcmV0dXJuIG51bGxcblxuICB0cnkge1xuICAgIGNvbnN0IHN0b3JlZCA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShNQUlBX0NIQVRfTEFZT1VUX1NUT1JBR0VfS0VZKVxuICAgIHJldHVybiBpc01haWFDaGF0TW9kYWxMYXlvdXRNb2RlKHN0b3JlZCkgPyBzdG9yZWQgOiBudWxsXG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBudWxsXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFN0b3JlZE1haWFDaGF0TGF5b3V0TW9kZShtb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSk6IHZvaWQge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVyblxuXG4gIHRyeSB7XG4gICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKE1BSUFfQ0hBVF9MQVlPVVRfU1RPUkFHRV9LRVksIG1vZGUpXG4gIH0gY2F0Y2gge1xuICAgIC8vIElnbm9yYXIgcXVvdGEgZXhjZWVkZWQgbyBtb2RvIHByaXZhZG8uXG4gIH1cbn1cblxuLyoqIFJlc3VlbHZlIGVsIGxheW91dCBpbmljaWFsOiBzZWNjacOzbiBmb3J6YWRhID4gbG9jYWxTdG9yYWdlID4gc2lkZWJhci4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlSW5pdGlhbE1haWFDaGF0TGF5b3V0TW9kZShjb250ZXh0OiBNYWlhQ2hhdExheW91dE9wZW5Db250ZXh0KTogTWFpYUNoYXRNb2RhbExheW91dE1vZGUge1xuICBjb25zdCBmb3JjZWQgPSBnZXRTZWN0aW9uRm9yY2VkTGF5b3V0TW9kZShjb250ZXh0KVxuICBpZiAoZm9yY2VkKSByZXR1cm4gZm9yY2VkXG5cbiAgcmV0dXJuIGdldFN0b3JlZE1haWFDaGF0TGF5b3V0TW9kZSgpID8/ICdzaWRlYmFyJ1xufVxuXG4vKiogQW5jaG8gZGVsIHBhbmVsIGZsb3RhbnRlIGVuIHB4OiBiYXNlIHkgZXNjYWxhZG8gZW4gcGFudGFsbGFzIG11eSBhbmNoYXMgKi9cbmV4cG9ydCBjb25zdCBNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYID0ge1xuICBkZWZhdWx0OiA0ODAsXG4gIGxhcmdlOiA2MDAsXG4gIHh4bDogNzIwLFxufSBhcyBjb25zdFxuXG4vKiogQWx0byBkZWwgcGFuZWwgZmxvdGFudGUgZW4gcHg6IGJhc2UgeSBlc2NhbGFkbyBlbiBwYW50YWxsYXMgbXV5IGFuY2hhcyAoZWwgQ1NTIGFwbGljYSBtYXgtaGVpZ2h0OiA4NXZoKSAqL1xuZXhwb3J0IGNvbnN0IE1BSUFfRkxPQVRJTkdfUEFORUxfSEVJR0hUX1BYID0ge1xuICBkZWZhdWx0OiA2MjAsXG4gIGxhcmdlOiA3MjAsXG4gIHh4bDogOTYwLFxufSBhcyBjb25zdFxuXG4vKiogVmlld3BvcnQgbcOtbmltbyAoYW5jaG8pIHBhcmEgdXNhciBtZWRpZGFzIGBsYXJnZWAgKi9cbmV4cG9ydCBjb25zdCBNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0UgPSAxOTIwXG5cbi8qKiBWaWV3cG9ydCBtw61uaW1vIChhbmNobykgcGFyYSB1c2FyIG1lZGlkYXMgYHh4bGAgKi9cbmV4cG9ydCBjb25zdCBNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMID0gMjU2MFxuXG4vKiogQW5jaG8gZWZlY3Rpdm8gZGVsIHBhbmVsIChtaXNtYSBsw7NnaWNhIHF1ZSBsb3MgQG1lZGlhIGRlbCBDU1MpICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWFpYUZsb2F0aW5nUGFuZWxXaWR0aFB4KCk6IG51bWJlciB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLmRlZmF1bHRcbiAgfVxuICBjb25zdCB2dyA9IHdpbmRvdy5pbm5lcldpZHRoXG4gIGlmICh2dyA+PSBNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMKSB7XG4gICAgcmV0dXJuIE1BSUFfRkxPQVRJTkdfUEFORUxfV0lEVEhfUFgueHhsXG4gIH1cbiAgaWYgKHZ3ID49IE1BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9MQVJHRSkge1xuICAgIHJldHVybiBNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLmxhcmdlXG4gIH1cbiAgcmV0dXJuIE1BSUFfRkxPQVRJTkdfUEFORUxfV0lEVEhfUFguZGVmYXVsdFxufVxuIl0sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLElBQU1BLDRCQUE0QixHQUFHLDZCQUE2QjtBQUV6RSxJQUFNQyxrQkFBNkMsR0FBRyxDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDO0FBTzNGLE9BQU8sU0FBU0MseUJBQXlCQSxDQUFDQyxLQUFjLEVBQW9DO0VBQzFGLE9BQU8sT0FBT0EsS0FBSyxLQUFLLFFBQVEsSUFBSUYsa0JBQWtCLENBQUNHLFFBQVEsQ0FBQ0QsS0FBZ0MsQ0FBQztBQUNuRzs7QUFFQTtBQUNBLE9BQU8sU0FBU0UsMEJBQTBCQSxDQUFDQyxPQUFrQyxFQUFrQztFQUFBLElBQUFDLHFCQUFBO0VBQzdHLElBQUlELE9BQU8sQ0FBQ0UsT0FBTyxLQUFLLE1BQU0sSUFBSUYsT0FBTyxDQUFDRSxPQUFPLEtBQUssU0FBUyxFQUFFLE9BQU8sVUFBVTtFQUNsRixLQUFBRCxxQkFBQSxHQUFJRCxPQUFPLENBQUNHLGNBQWMsY0FBQUYscUJBQUEsZ0JBQUFBLHFCQUFBLEdBQXRCQSxxQkFBQSxDQUF3QkcsUUFBUSxjQUFBSCxxQkFBQSxlQUFoQ0EscUJBQUEsQ0FBa0NJLElBQUksQ0FBQyxDQUFDLEVBQUUsT0FBTyxVQUFVO0VBQy9ELE9BQU8sSUFBSTtBQUNiO0FBRUEsT0FBTyxTQUFTQywyQkFBMkJBLENBQUEsRUFBbUM7RUFDNUUsSUFBSSxPQUFPQyxNQUFNLEtBQUssV0FBVyxFQUFFLE9BQU8sSUFBSTtFQUU5QyxJQUFJO0lBQ0YsSUFBTUMsTUFBTSxHQUFHRCxNQUFNLENBQUNFLFlBQVksQ0FBQ0MsT0FBTyxDQUFDaEIsNEJBQTRCLENBQUM7SUFDeEUsT0FBT0UseUJBQXlCLENBQUNZLE1BQU0sQ0FBQyxHQUFHQSxNQUFNLEdBQUcsSUFBSTtFQUMxRCxDQUFDLENBQUMsT0FBQUcsT0FBQSxFQUFNO0lBQ04sT0FBTyxJQUFJO0VBQ2I7QUFDRjtBQUVBLE9BQU8sU0FBU0MsMkJBQTJCQSxDQUFDQyxJQUE2QixFQUFRO0VBQy9FLElBQUksT0FBT04sTUFBTSxLQUFLLFdBQVcsRUFBRTtFQUVuQyxJQUFJO0lBQ0ZBLE1BQU0sQ0FBQ0UsWUFBWSxDQUFDSyxPQUFPLENBQUNwQiw0QkFBNEIsRUFBRW1CLElBQUksQ0FBQztFQUNqRSxDQUFDLENBQUMsT0FBQUUsUUFBQSxFQUFNO0lBQ047RUFBQTtBQUVKOztBQUVBO0FBQ0EsT0FBTyxTQUFTQyxnQ0FBZ0NBLENBQUNoQixPQUFrQyxFQUEyQjtFQUFBLElBQUFpQixxQkFBQTtFQUM1RyxJQUFNQyxNQUFNLEdBQUduQiwwQkFBMEIsQ0FBQ0MsT0FBTyxDQUFDO0VBQ2xELElBQUlrQixNQUFNLEVBQUUsT0FBT0EsTUFBTTtFQUV6QixRQUFBRCxxQkFBQSxHQUFPWCwyQkFBMkIsQ0FBQyxDQUFDLGNBQUFXLHFCQUFBLGNBQUFBLHFCQUFBLEdBQUksU0FBUztBQUNuRDs7QUFFQTtBQUNBLE9BQU8sSUFBTUUsNEJBQTRCLEdBQUc7RUFDMUMsV0FBUyxHQUFHO0VBQ1pDLEtBQUssRUFBRSxHQUFHO0VBQ1ZDLEdBQUcsRUFBRTtBQUNQLENBQVU7O0FBRVY7QUFDQSxPQUFPLElBQU1DLDZCQUE2QixHQUFHO0VBQzNDLFdBQVMsR0FBRztFQUNaRixLQUFLLEVBQUUsR0FBRztFQUNWQyxHQUFHLEVBQUU7QUFDUCxDQUFVOztBQUVWO0FBQ0EsT0FBTyxJQUFNRSw4QkFBOEIsR0FBRyxJQUFJOztBQUVsRDtBQUNBLE9BQU8sSUFBTUMsNEJBQTRCLEdBQUcsSUFBSTs7QUFFaEQ7QUFDQSxPQUFPLFNBQVNDLDJCQUEyQkEsQ0FBQSxFQUFXO0VBQ3BELElBQUksT0FBT2xCLE1BQU0sS0FBSyxXQUFXLEVBQUU7SUFDakMsT0FBT1ksNEJBQTRCLFdBQVE7RUFDN0M7RUFDQSxJQUFNTyxFQUFFLEdBQUduQixNQUFNLENBQUNvQixVQUFVO0VBQzVCLElBQUlELEVBQUUsSUFBSUYsNEJBQTRCLEVBQUU7SUFDdEMsT0FBT0wsNEJBQTRCLENBQUNFLEdBQUc7RUFDekM7RUFDQSxJQUFJSyxFQUFFLElBQUlILDhCQUE4QixFQUFFO0lBQ3hDLE9BQU9KLDRCQUE0QixDQUFDQyxLQUFLO0VBQzNDO0VBQ0EsT0FBT0QsNEJBQTRCLFdBQVE7QUFDN0MiLCJpZ25vcmVMaXN0IjpbXX0=
74
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNQUlBX0NIQVRfTEFZT1VUX1NUT1JBR0VfS0VZIiwiVkFMSURfTEFZT1VUX01PREVTIiwiaXNNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSIsInZhbHVlIiwiaW5jbHVkZXMiLCJnZXRTZWN0aW9uRm9yY2VkTGF5b3V0TW9kZSIsImNvbnRleHQiLCJfY29udGV4dCRiYW5uZXJFbnRyeUYiLCJzZWN0aW9uIiwiYmFubmVyRW50cnlGYXEiLCJmYXFUaXRsZSIsInRyaW0iLCJnZXRTdG9yZWRNYWlhQ2hhdExheW91dE1vZGUiLCJ3aW5kb3ciLCJzdG9yZWQiLCJsb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwiX3VudXNlZCIsInNldFN0b3JlZE1haWFDaGF0TGF5b3V0TW9kZSIsIm1vZGUiLCJzZXRJdGVtIiwiX3VudXNlZDIiLCJyZXNvbHZlSW5pdGlhbE1haWFDaGF0TGF5b3V0TW9kZSIsIl9nZXRTdG9yZWRNYWlhQ2hhdExheSIsImZvcmNlZCIsIk1BSUFfRkxPQVRJTkdfUEFORUxfV0lEVEhfUFgiLCJsYXJnZSIsInh4bCIsIk1BSUFfRkxPQVRJTkdfUEFORUxfSEVJR0hUX1BYIiwiTUFJQV9GTE9BVElOR19CUkVBS1BPSU5UX0xBUkdFIiwiTUFJQV9GTE9BVElOR19CUkVBS1BPSU5UX1hYTCIsImdldE1haWFGbG9hdGluZ1BhbmVsV2lkdGhQeCIsInZ3IiwiaW5uZXJXaWR0aCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9sYXlvdXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcblxuZXhwb3J0IHR5cGUgTWFpYUNoYXRNb2RhbExheW91dE1vZGUgPSAnc2lkZWJhcicgfCAnZnVsbHNjcmVlbicgfCAnZmxvYXRpbmcnXG5cbmV4cG9ydCBjb25zdCBNQUlBX0NIQVRfTEFZT1VUX1NUT1JBR0VfS0VZID0gJ21haWEtY2hhdC1tb2RhbC1sYXlvdXQtbW9kZSdcblxuY29uc3QgVkFMSURfTEFZT1VUX01PREVTOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZVtdID0gWydzaWRlYmFyJywgJ2Z1bGxzY3JlZW4nLCAnZmxvYXRpbmcnXVxuXG5leHBvcnQgdHlwZSBNYWlhQ2hhdExheW91dE9wZW5Db250ZXh0ID0ge1xuICBzZWN0aW9uOiBTZWN0aW9uXG4gIGJhbm5lckVudHJ5RmFxPzogeyBmYXFUaXRsZT86IHN0cmluZyB8IG51bGwgfSB8IG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTWFpYUNoYXRNb2RhbExheW91dE1vZGUodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIFZBTElEX0xBWU9VVF9NT0RFUy5pbmNsdWRlcyh2YWx1ZSBhcyBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSlcbn1cblxuLyoqIExheW91dCBpbXB1ZXN0byBwb3Igc2VjY2nDs24vY29udGV4dG8gZGUgYXBlcnR1cmEgKHByaW9yaWRhZCBzb2JyZSBsb2NhbFN0b3JhZ2UpLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNlY3Rpb25Gb3JjZWRMYXlvdXRNb2RlKGNvbnRleHQ6IE1haWFDaGF0TGF5b3V0T3BlbkNvbnRleHQpOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSB8IG51bGwge1xuICBpZiAoY29udGV4dC5zZWN0aW9uID09PSAndGFzaycgfHwgY29udGV4dC5zZWN0aW9uID09PSAncGxhbm5lcicpIHJldHVybiAnZmxvYXRpbmcnXG4gIGlmIChjb250ZXh0LmJhbm5lckVudHJ5RmFxPy5mYXFUaXRsZT8udHJpbSgpKSByZXR1cm4gJ2Zsb2F0aW5nJ1xuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RvcmVkTWFpYUNoYXRMYXlvdXRNb2RlKCk6IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIHwgbnVsbCB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykgcmV0dXJuIG51bGxcblxuICB0cnkge1xuICAgIGNvbnN0IHN0b3JlZCA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShNQUlBX0NIQVRfTEFZT1VUX1NUT1JBR0VfS0VZKVxuICAgIHJldHVybiBpc01haWFDaGF0TW9kYWxMYXlvdXRNb2RlKHN0b3JlZCkgPyBzdG9yZWQgOiBudWxsXG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBudWxsXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFN0b3JlZE1haWFDaGF0TGF5b3V0TW9kZShtb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSk6IHZvaWQge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVyblxuXG4gIHRyeSB7XG4gICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKE1BSUFfQ0hBVF9MQVlPVVRfU1RPUkFHRV9LRVksIG1vZGUpXG4gIH0gY2F0Y2gge1xuICAgIC8vIElnbm9yYXIgcXVvdGEgZXhjZWVkZWQgbyBtb2RvIHByaXZhZG8uXG4gIH1cbn1cblxuLyoqIFJlc3VlbHZlIGVsIGxheW91dCBpbmljaWFsOiBzZWNjacOzbiBmb3J6YWRhID4gbG9jYWxTdG9yYWdlID4gc2lkZWJhci4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlSW5pdGlhbE1haWFDaGF0TGF5b3V0TW9kZShjb250ZXh0OiBNYWlhQ2hhdExheW91dE9wZW5Db250ZXh0KTogTWFpYUNoYXRNb2RhbExheW91dE1vZGUge1xuICBjb25zdCBmb3JjZWQgPSBnZXRTZWN0aW9uRm9yY2VkTGF5b3V0TW9kZShjb250ZXh0KVxuICBpZiAoZm9yY2VkKSByZXR1cm4gZm9yY2VkXG5cbiAgcmV0dXJuIGdldFN0b3JlZE1haWFDaGF0TGF5b3V0TW9kZSgpID8/ICdzaWRlYmFyJ1xufVxuXG4vKiogQW5jaG8gZGVsIHBhbmVsIGZsb3RhbnRlIGVuIHB4OiBiYXNlIHkgZXNjYWxhZG8gZW4gcGFudGFsbGFzIG11eSBhbmNoYXMgKi9cbmV4cG9ydCBjb25zdCBNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYID0ge1xuICBkZWZhdWx0OiA0OTAsXG4gIGxhcmdlOiA2MDAsXG4gIHh4bDogNzIwLFxufSBhcyBjb25zdFxuXG4vKiogQWx0byBkZWwgcGFuZWwgZmxvdGFudGUgZW4gcHg6IGJhc2UgeSBlc2NhbGFkbyBlbiBwYW50YWxsYXMgbXV5IGFuY2hhcyAoZWwgQ1NTIGFwbGljYSBtYXgtaGVpZ2h0OiA4NXZoKSAqL1xuZXhwb3J0IGNvbnN0IE1BSUFfRkxPQVRJTkdfUEFORUxfSEVJR0hUX1BYID0ge1xuICBkZWZhdWx0OiA2MjAsXG4gIGxhcmdlOiA3MjAsXG4gIHh4bDogOTYwLFxufSBhcyBjb25zdFxuXG4vKiogVmlld3BvcnQgbcOtbmltbyAoYW5jaG8pIHBhcmEgdXNhciBtZWRpZGFzIGBsYXJnZWAgKi9cbmV4cG9ydCBjb25zdCBNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0UgPSAxOTIwXG5cbi8qKiBWaWV3cG9ydCBtw61uaW1vIChhbmNobykgcGFyYSB1c2FyIG1lZGlkYXMgYHh4bGAgKi9cbmV4cG9ydCBjb25zdCBNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMID0gMjU2MFxuXG4vKiogQW5jaG8gZWZlY3Rpdm8gZGVsIHBhbmVsIChtaXNtYSBsw7NnaWNhIHF1ZSBsb3MgQG1lZGlhIGRlbCBDU1MpICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWFpYUZsb2F0aW5nUGFuZWxXaWR0aFB4KCk6IG51bWJlciB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLmRlZmF1bHRcbiAgfVxuICBjb25zdCB2dyA9IHdpbmRvdy5pbm5lcldpZHRoXG4gIGlmICh2dyA+PSBNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMKSB7XG4gICAgcmV0dXJuIE1BSUFfRkxPQVRJTkdfUEFORUxfV0lEVEhfUFgueHhsXG4gIH1cbiAgaWYgKHZ3ID49IE1BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9MQVJHRSkge1xuICAgIHJldHVybiBNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLmxhcmdlXG4gIH1cbiAgcmV0dXJuIE1BSUFfRkxPQVRJTkdfUEFORUxfV0lEVEhfUFguZGVmYXVsdFxufVxuIl0sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLElBQU1BLDRCQUE0QixHQUFHLDZCQUE2QjtBQUV6RSxJQUFNQyxrQkFBNkMsR0FBRyxDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDO0FBTzNGLE9BQU8sU0FBU0MseUJBQXlCQSxDQUFDQyxLQUFjLEVBQW9DO0VBQzFGLE9BQU8sT0FBT0EsS0FBSyxLQUFLLFFBQVEsSUFBSUYsa0JBQWtCLENBQUNHLFFBQVEsQ0FBQ0QsS0FBZ0MsQ0FBQztBQUNuRzs7QUFFQTtBQUNBLE9BQU8sU0FBU0UsMEJBQTBCQSxDQUFDQyxPQUFrQyxFQUFrQztFQUFBLElBQUFDLHFCQUFBO0VBQzdHLElBQUlELE9BQU8sQ0FBQ0UsT0FBTyxLQUFLLE1BQU0sSUFBSUYsT0FBTyxDQUFDRSxPQUFPLEtBQUssU0FBUyxFQUFFLE9BQU8sVUFBVTtFQUNsRixLQUFBRCxxQkFBQSxHQUFJRCxPQUFPLENBQUNHLGNBQWMsY0FBQUYscUJBQUEsZ0JBQUFBLHFCQUFBLEdBQXRCQSxxQkFBQSxDQUF3QkcsUUFBUSxjQUFBSCxxQkFBQSxlQUFoQ0EscUJBQUEsQ0FBa0NJLElBQUksQ0FBQyxDQUFDLEVBQUUsT0FBTyxVQUFVO0VBQy9ELE9BQU8sSUFBSTtBQUNiO0FBRUEsT0FBTyxTQUFTQywyQkFBMkJBLENBQUEsRUFBbUM7RUFDNUUsSUFBSSxPQUFPQyxNQUFNLEtBQUssV0FBVyxFQUFFLE9BQU8sSUFBSTtFQUU5QyxJQUFJO0lBQ0YsSUFBTUMsTUFBTSxHQUFHRCxNQUFNLENBQUNFLFlBQVksQ0FBQ0MsT0FBTyxDQUFDaEIsNEJBQTRCLENBQUM7SUFDeEUsT0FBT0UseUJBQXlCLENBQUNZLE1BQU0sQ0FBQyxHQUFHQSxNQUFNLEdBQUcsSUFBSTtFQUMxRCxDQUFDLENBQUMsT0FBQUcsT0FBQSxFQUFNO0lBQ04sT0FBTyxJQUFJO0VBQ2I7QUFDRjtBQUVBLE9BQU8sU0FBU0MsMkJBQTJCQSxDQUFDQyxJQUE2QixFQUFRO0VBQy9FLElBQUksT0FBT04sTUFBTSxLQUFLLFdBQVcsRUFBRTtFQUVuQyxJQUFJO0lBQ0ZBLE1BQU0sQ0FBQ0UsWUFBWSxDQUFDSyxPQUFPLENBQUNwQiw0QkFBNEIsRUFBRW1CLElBQUksQ0FBQztFQUNqRSxDQUFDLENBQUMsT0FBQUUsUUFBQSxFQUFNO0lBQ047RUFBQTtBQUVKOztBQUVBO0FBQ0EsT0FBTyxTQUFTQyxnQ0FBZ0NBLENBQUNoQixPQUFrQyxFQUEyQjtFQUFBLElBQUFpQixxQkFBQTtFQUM1RyxJQUFNQyxNQUFNLEdBQUduQiwwQkFBMEIsQ0FBQ0MsT0FBTyxDQUFDO0VBQ2xELElBQUlrQixNQUFNLEVBQUUsT0FBT0EsTUFBTTtFQUV6QixRQUFBRCxxQkFBQSxHQUFPWCwyQkFBMkIsQ0FBQyxDQUFDLGNBQUFXLHFCQUFBLGNBQUFBLHFCQUFBLEdBQUksU0FBUztBQUNuRDs7QUFFQTtBQUNBLE9BQU8sSUFBTUUsNEJBQTRCLEdBQUc7RUFDMUMsV0FBUyxHQUFHO0VBQ1pDLEtBQUssRUFBRSxHQUFHO0VBQ1ZDLEdBQUcsRUFBRTtBQUNQLENBQVU7O0FBRVY7QUFDQSxPQUFPLElBQU1DLDZCQUE2QixHQUFHO0VBQzNDLFdBQVMsR0FBRztFQUNaRixLQUFLLEVBQUUsR0FBRztFQUNWQyxHQUFHLEVBQUU7QUFDUCxDQUFVOztBQUVWO0FBQ0EsT0FBTyxJQUFNRSw4QkFBOEIsR0FBRyxJQUFJOztBQUVsRDtBQUNBLE9BQU8sSUFBTUMsNEJBQTRCLEdBQUcsSUFBSTs7QUFFaEQ7QUFDQSxPQUFPLFNBQVNDLDJCQUEyQkEsQ0FBQSxFQUFXO0VBQ3BELElBQUksT0FBT2xCLE1BQU0sS0FBSyxXQUFXLEVBQUU7SUFDakMsT0FBT1ksNEJBQTRCLFdBQVE7RUFDN0M7RUFDQSxJQUFNTyxFQUFFLEdBQUduQixNQUFNLENBQUNvQixVQUFVO0VBQzVCLElBQUlELEVBQUUsSUFBSUYsNEJBQTRCLEVBQUU7SUFDdEMsT0FBT0wsNEJBQTRCLENBQUNFLEdBQUc7RUFDekM7RUFDQSxJQUFJSyxFQUFFLElBQUlILDhCQUE4QixFQUFFO0lBQ3hDLE9BQU9KLDRCQUE0QixDQUFDQyxLQUFLO0VBQzNDO0VBQ0EsT0FBT0QsNEJBQTRCLFdBQVE7QUFDN0MiLCJpZ25vcmVMaXN0IjpbXX0=