@projectcor/maia-components 2.38.4 → 2.39.1

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 (171) hide show
  1. package/CHANGELOG.md +798 -0
  2. package/lib/components/atoms/ActionableButton.js +1 -6
  3. package/lib/components/atoms/ApprovalBox/ApprovalBox.spec.js +135 -0
  4. package/lib/components/atoms/Checkbox/Checkbox.spec.js +27 -0
  5. package/lib/components/atoms/Chip/Chip.spec.js +32 -0
  6. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.spec.js +29 -0
  7. package/lib/components/atoms/Fade/Fade.spec.js +31 -0
  8. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +4 -14
  9. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +3 -12
  10. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +4 -20
  11. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +7 -18
  12. package/lib/components/atoms/MAIAButton/MAIAButton.spec.js +42 -0
  13. package/lib/components/atoms/MAIAInput/MAIAInput.js +14 -29
  14. package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +300 -0
  15. package/lib/components/atoms/MAIAInput/styles.js +29 -36
  16. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +3 -3
  17. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.spec.js +68 -0
  18. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +2 -2
  19. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.spec.js +107 -0
  20. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.spec.js +85 -0
  21. package/lib/components/atoms/Switch/Switch.spec.js +41 -0
  22. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.spec.js +77 -0
  23. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +5 -16
  24. package/lib/components/molecules/ChatAIHome/ChatAIHome.spec.js +246 -0
  25. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +2 -23
  26. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +5 -33
  27. package/lib/components/molecules/ChatAIHome/styles.js +2 -11
  28. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +20 -31
  29. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.spec.js +104 -0
  30. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +2 -7
  31. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.spec.js +291 -0
  32. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.spec.js +46 -0
  33. package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.js +56 -0
  34. package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.spec.js +124 -0
  35. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +202 -134
  36. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +2 -2
  37. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +1 -8
  38. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +9 -15
  39. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +3 -18
  40. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +2 -2
  41. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +2 -13
  42. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +5 -14
  43. package/lib/components/molecules/ChatAIModal/layout.js +2 -2
  44. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +2 -12
  45. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +3 -3
  46. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +10 -34
  47. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.spec.js +128 -0
  48. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +6 -14
  49. package/lib/components/molecules/ChatFooter/ChatFooter.js +45 -66
  50. package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +105 -0
  51. package/lib/components/molecules/ChatFooter/styles.js +6 -12
  52. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.spec.js +84 -0
  53. package/lib/components/molecules/MessageFeedback/MessageFeedback.js +5 -15
  54. package/lib/components/molecules/MessageFeedback/MessageFeedback.spec.js +116 -0
  55. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -2
  56. package/lib/components/molecules/Sidebar/Sidebar.spec.js +208 -0
  57. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +11 -30
  58. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.spec.js +335 -0
  59. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +18 -31
  60. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +23 -43
  61. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +405 -0
  62. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +2 -2
  63. package/lib/components/organisms/ChatAI/ChatAI.js +1 -6
  64. package/lib/components/organisms/ChatAI/ChatAI.spec.js +174 -0
  65. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.spec.js +59 -0
  66. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.spec.js +79 -0
  67. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.spec.js +86 -0
  68. package/lib/constants/formatExtensions.js +7 -8
  69. package/lib/constants/permissions/utils.spec.js +34 -0
  70. package/lib/hooks/useAgentModel/useCreateAgent.spec.js +95 -0
  71. package/lib/hooks/useAgentModel/useUpdateAgent.spec.js +96 -0
  72. package/lib/hooks/useCaretPosition.spec.js +58 -0
  73. package/lib/hooks/useChatManager/useChatManager.js +34 -55
  74. package/lib/hooks/useDebounce.spec.js +42 -0
  75. package/lib/hooks/useEvent.spec.js +40 -0
  76. package/lib/hooks/useMentionAllowedTypes.spec.js +89 -0
  77. package/lib/hooks/useModal/useModal.spec.js +73 -0
  78. package/lib/hooks/useResize.spec.js +37 -0
  79. package/lib/hooks/useSkillsCatalog.spec.js +88 -0
  80. package/lib/hooks/useSnackBarManager/useSnackBarManager.spec.js +33 -0
  81. package/lib/hooks/useT.spec.js +20 -0
  82. package/lib/hooks/useToggle.spec.js +33 -0
  83. package/lib/lang/br/index.js +2 -6
  84. package/lib/lang/en/index.js +2 -6
  85. package/lib/lang/es/index.js +2 -6
  86. package/lib/lang/fr/index.js +3 -7
  87. package/lib/lib/utils.js +9 -0
  88. package/lib/services/maia/Access/updateAccess.spec.js +108 -0
  89. package/lib/services/maia/Actions/getFrequentlyUsedActions.spec.js +69 -0
  90. package/lib/services/maia/Actions/getSlashCommands.spec.js +74 -0
  91. package/lib/services/maia/Agents/createAgent.spec.js +55 -0
  92. package/lib/services/maia/Agents/deleteAgent.spec.js +42 -0
  93. package/lib/services/maia/Agents/fetchAgentDetail.spec.js +108 -0
  94. package/lib/services/maia/Agents/getAgentById.spec.js +55 -0
  95. package/lib/services/maia/Agents/getAgentSuggestions.spec.js +82 -0
  96. package/lib/services/maia/Agents/getAgents.js +5 -5
  97. package/lib/services/maia/Agents/setAgentToolGroups.spec.js +45 -0
  98. package/lib/services/maia/Agents/toggleFavorite.spec.js +47 -0
  99. package/lib/services/maia/Agents/updateAgent.spec.js +48 -0
  100. package/lib/services/maia/Chats/deleteChat.spec.js +31 -0
  101. package/lib/services/maia/Chats/getChatMessages.spec.js +150 -0
  102. package/lib/services/maia/Chats/getChatsByUserId.spec.js +149 -0
  103. package/lib/services/maia/Chats/markSessionAsRead.spec.js +30 -0
  104. package/lib/services/maia/Chats/patchChat.spec.js +41 -0
  105. package/lib/services/maia/Chats/wasHelpfulChat.spec.js +28 -0
  106. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.spec.js +58 -0
  107. package/lib/services/maia/Knowledge/delete.spec.js +45 -0
  108. package/lib/services/maia/Knowledge/download.spec.js +78 -0
  109. package/lib/services/maia/Knowledge/save.spec.js +58 -0
  110. package/lib/services/maia/Orchestrator/orchestrator.spec.js +72 -0
  111. package/lib/services/maia/RecentClients/getRecentClients.spec.js +52 -0
  112. package/lib/services/maia/RecentContexts/getRecentContexts.spec.js +83 -0
  113. package/lib/services/maia/RecentProjects/getRecentProjects.spec.js +82 -0
  114. package/lib/services/maia/RecentTasks/getRecentTasks.spec.js +63 -0
  115. package/lib/services/maia/RecentUsers/getRecentUsers.spec.js +82 -0
  116. package/lib/services/maia/Skills/createSkill.spec.js +68 -0
  117. package/lib/services/maia/Skills/deleteSkill.spec.js +42 -0
  118. package/lib/services/maia/Skills/generateSkill.spec.js +48 -0
  119. package/lib/services/maia/Skills/getSkills.spec.js +152 -0
  120. package/lib/services/maia/Skills/updateSkill.spec.js +62 -0
  121. package/lib/services/maia/client.spec.js +56 -0
  122. package/lib/services/maia/index.js +2 -4
  123. package/lib/services/utils/fetchCOR.js +57 -106
  124. package/lib/services/utils/fetchCOR.spec.js +211 -0
  125. package/lib/services/utils/getCookie.spec.js +20 -0
  126. package/lib/services/utils/index.js +1 -2
  127. package/lib/store/chatsSidebarOptimistic.spec.js +120 -0
  128. package/lib/store/index.js +1 -2
  129. package/lib/store/maiaLastChatPersistence.spec.js +22 -0
  130. package/lib/store/maiaPanelSessionPersistence.spec.js +62 -0
  131. package/lib/store/sessions/sessionStreamManager.js +35 -70
  132. package/lib/store/sessions/sessions.types.js +1 -1
  133. package/lib/store/sessions/sessions.types.spec.js +16 -0
  134. package/lib/store/sessions/useSessionsStore.spec.js +135 -0
  135. package/lib/store/useChatsStore.spec.js +619 -0
  136. package/lib/store/useFaqsStore.spec.js +57 -0
  137. package/lib/utils/agentDisplayName.spec.js +44 -0
  138. package/lib/utils/autoApproveStorage.spec.js +25 -0
  139. package/lib/utils/chatInputFiles.spec.js +39 -0
  140. package/lib/utils/contextMentionLabel.spec.js +13 -0
  141. package/lib/utils/contextMentionTriggers.spec.js +38 -0
  142. package/lib/utils/contextMentionTypeLabel.spec.js +14 -0
  143. package/lib/utils/corConnectorMentionTypes.spec.js +23 -0
  144. package/lib/utils/fileDownloadHelper.spec.js +67 -0
  145. package/lib/utils/formatQuickActionMessage.spec.js +27 -0
  146. package/lib/utils/formatUnreadCount.spec.js +12 -0
  147. package/lib/utils/getUnitFileSize.spec.js +18 -0
  148. package/lib/utils/hitlAnalytics.spec.js +100 -0
  149. package/lib/utils/hoursPlannerQuickActionType.spec.js +64 -0
  150. package/lib/utils/mapBackendLang.spec.js +19 -0
  151. package/lib/utils/normalizeAgentConnectors.spec.js +89 -0
  152. package/lib/utils/orchestratorSubagents.spec.js +32 -0
  153. package/lib/utils/reasoningMappers.spec.js +103 -0
  154. package/lib/utils/retryCompletion.spec.js +99 -0
  155. package/lib/utils/skillContentSize.spec.js +13 -0
  156. package/lib/utils/slashCommandMarker.spec.js +43 -0
  157. package/lib/utils/sortManagerHoursHomeFuas.spec.js +51 -0
  158. package/lib/utils/sseStreamContent.spec.js +31 -0
  159. package/lib/utils/streamActivityMessages.spec.js +98 -0
  160. package/lib/utils/validateTrimmedFields.spec.js +26 -0
  161. package/package.json +2 -2
  162. package/lib/components/molecules/UsageBlockedBanner/UsageBlockedBanner.js +0 -30
  163. package/lib/components/molecules/UsageBlockedBanner/UsageBlockedBanner.styles.js +0 -47
  164. package/lib/components/molecules/UsageBlockedBanner/index.js +0 -2
  165. package/lib/lang/__mocks__/index.js +0 -9
  166. package/lib/services/maia/Usage/getUsage.js +0 -45
  167. package/lib/services/maia/Usage/index.js +0 -6
  168. package/lib/services/utils/MaiaApiError.js +0 -34
  169. package/lib/store/useUsageStore.js +0 -115
  170. package/lib/types/usage.js +0 -16
  171. package/lib/utils/usageBlockedMessage.js +0 -11
@@ -255,17 +255,8 @@ export var SCCAIHomeRecentContextsList = styled.div.withConfig({
255
255
  export var SCCAIHomeRecentContextPill = styled.button.withConfig({
256
256
  displayName: "styles__SCCAIHomeRecentContextPill",
257
257
  componentId: "sc-33wjx7-28"
258
- })(["display:flex;align-items:center;align-self:stretch;gap:4px;width:100%;max-width:", ";padding:4px 8px;border-radius:20px;border:none;background:#ffffff;min-width:0;cursor:", ";opacity:", ";transition:background-color 0.14s ease;&:hover{background:", ";}"], function (props) {
258
+ })(["display:flex;align-items:center;align-self:stretch;gap:4px;width:100%;max-width:", ";padding:4px 8px;border-radius:20px;border:none;background:#ffffff;min-width:0;cursor:pointer;transition:background-color 0.14s ease;&:hover{background:#f9f9f9;}"], function (props) {
259
259
  return props.$fullWidth ? '100%' : '438px';
260
- }, function (_ref12) {
261
- var $disabled = _ref12.$disabled;
262
- return $disabled ? 'not-allowed' : 'pointer';
263
- }, function (_ref13) {
264
- var $disabled = _ref13.$disabled;
265
- return $disabled ? 0.5 : 1;
266
- }, function (_ref14) {
267
- var $disabled = _ref14.$disabled;
268
- return $disabled ? '#ffffff' : '#f9f9f9';
269
260
  });
270
261
  export var SCCAIHomeRecentContextPillIcon = styled.span.withConfig({
271
262
  displayName: "styles__SCCAIHomeRecentContextPillIcon",
@@ -341,4 +332,4 @@ export var SCCAIHomeLogoWrapper = styled.div.withConfig({
341
332
  displayName: "styles__SCCAIHomeLogoWrapper",
342
333
  componentId: "sc-33wjx7-46"
343
334
  })(["position:relative;z-index:1;"]);
344
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJHTE9CQUxfQ09MT1JTIiwiVklPTEVUX0lBX0NPTE9SUyIsIk1BSUFfSEVBREVSX0NPTExBQk9SQVRPUl9IT01FX0NPTlRFTlRfV0lEVEhfUFgiLCJqdXN0aWZ5U0NDQUlIb21lQ29udGVudE1haW4iLCJwcm9wcyIsIiRhbGlnblN0YXJ0IiwiJGZsb2F0aW5nQ3VzdG9tQ2VudGVyIiwiJGNlbnRlclZlcnRpY2FsbHkiLCJzaG93RkFRcyIsIiRpc0FnZW50VmlldyIsImp1c3RpZnlTQ0NBSUhvbWVDb250ZW50VGFsbFZpZXdwb3J0IiwiZmFkZUluIiwicmVjZW50Q29udGV4dExvYWRpbmciLCJTQ0NBSUhvbWVDb250YWluZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIlNDQ0FJSG9tZUNvbnRlbnQiLCIkZml4ZWRDb250ZW50V2lkdGgiLCJjb25jYXQiLCJTQ0NBSUhvbWVDb250ZW50SW5uZXIiLCIkc2VjdGlvbk9yY2hlc3RyYXRvckhvbWUiLCIkaGVhZGVyQ29sbGFib3JhdG9ySG9tZSIsIl9yZWYiLCJTQ0NBSUhvbWVEeW5hbWljU2VjdGlvbiIsIl9yZWYyIiwiJGdyb3ciLCJfcmVmMyIsIlNDQ0FJSG9tZUxvYWRpbmdPdmVybGF5IiwiU0NDQUlIb21lR3JhZGllbnRUb3AiLCIkc2hvdyIsIlNDQ0FJSG9tZUdyYWRpZW50Qm90dG9tIiwiU0NDQUlIb21lSGVhZGVyIiwiJGdhcCIsIiRhbGlnbiIsIiRtYXhXaWR0aCIsIlNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lciIsIlNDQ0FJSG9tZU1haWFIZWFkZXJTdGFjayIsInAiLCIkbm9HYXAiLCJTQ0NBSUhvbWVHcmVldGluZyIsInNwYW4iLCJfcmVmNCIsIiRzaXplIiwiX3JlZjUiLCIkdHJ1bmNhdGUiLCJTQ0NBSUhvbWVUaXRsZSIsIl9yZWY2IiwiJGZ1bGxXaWR0aCIsIl9yZWY3IiwiX3JlZjgiLCJfcmVmOSIsIlNDQ0FJSG9tZVRpdGxlQmxvY2siLCJfcmVmMCIsIl9yZWYxIiwiU0NDQUlIb21lU3VidGl0bGUiLCJfcmVmMTAiLCJfcmVmMTEiLCIkY29sbGFib3JhdG9ySG9tZSIsIlNDQ0FJSG9tZUFnZW50SW5mbyIsIlNDQ0FJSG9tZUludHJvZHVjdGlvbiIsImV4cGFuZGVkIiwiU0NDQUlIb21lSG93SXRXb3JrcyIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZSIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24iLCJTQ0NBSUhvbWVSZWNlbnRDb250ZXh0cyIsIl9wcm9wcyQkY29udGVudEdhcCIsIiRjb250ZW50R2FwIiwiU0NDQUlIb21lQ29sbGFib3JhdG9yU2VjdGlvbiIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRzU2VjdGlvbkhlYWRlciIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRzU2VjdGlvblRpdGxlIiwiU0NDQUlIb21lUmVjZW50Q29udGV4dHNTZWN0aW9uU3VidGl0bGUiLCJTQ0NBSUhvbWVSZWNlbnRDb250ZXh0c1RpdGxlIiwiU0NDQUlIb21lUmVjZW50Q29udGV4dHNMaXN0IiwiJGZsdXNoUGlsbHMiLCJTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbCIsImJ1dHRvbiIsIl9yZWYxMiIsIiRkaXNhYmxlZCIsIl9yZWYxMyIsIl9yZWYxNCIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsSWNvbiIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsVGV4dCIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsU2tlbGV0b24iLCJTQ0NBSUhvbWVRQUNvbnRhaW5lciIsIlNDQ0FJSG9tZVFBVGl0bGUiLCJTQ0NBSUhvbWVRQVRpdGxlVGV4dCIsIlNDQ0FJSG9tZVFBSXRlbSIsIlNDQ0FJSG9tZVFBSXRlbVRleHQiLCJTdHlsZWRRQUNvbnRhaW5lciIsInByaW1hcnkiLCJ0ZXh0Iiwic2Vjb25kYXJ5IiwiU0NDQUhXcmFwcGVyU3VtbWFyeVByb2plY3QiLCJTQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXIiLCJTQ0NBSUhvbWVDcmVhdGVkQnlMaW5lIiwiU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dCIsIlNDQ0FJSG9tZUNyZWF0ZWRCeVRleHROYW1lIiwiZ3JhZGllbnRQdWxzZTEiLCJncmFkaWVudFB1bHNlMiIsIlNDQ0FJSG9tZUljb25Db250YWluZXIiLCJTQ0NBSUhvbWVHcmFkaWVudDEiLCJTQ0NBSUhvbWVHcmFkaWVudDIiLCJTQ0NBSUhvbWVMb2dvV3JhcHBlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlIb21lL3N0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkLCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgY29sb3JzIGZyb20gJ0Bwcm9qZWN0Y29yL3RoZW1lL2xpYi9iYXNlL2NvbG9ycydcblxuaW1wb3J0IHsgR0xPQkFMX0NPTE9SUywgVklPTEVUX0lBX0NPTE9SUyB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb25maWcnXG5cbi8qKiBBbmNobyBkZWwgY29udGVuaWRvIEhPTUUgY29sYWJvcmFkb3IgKGhlYWRlcikgeSBzZWN0aW9uIG9yY2hlc3RyYXRvciAocHJvamVjdC9jbGllbnQvdGFzaykuICovXG5leHBvcnQgY29uc3QgTUFJQV9IRUFERVJfQ09MTEFCT1JBVE9SX0hPTUVfQ09OVEVOVF9XSURUSF9QWCA9IDQ0OFxuXG5mdW5jdGlvbiBqdXN0aWZ5U0NDQUlIb21lQ29udGVudE1haW4ocHJvcHM6IHtcbiAgJGZsb2F0aW5nQ3VzdG9tQ2VudGVyPzogYm9vbGVhblxuICAkY2VudGVyVmVydGljYWxseT86IGJvb2xlYW5cbiAgc2hvd0ZBUXM/OiBib29sZWFuXG4gICRpc0FnZW50Vmlldz86IGJvb2xlYW5cbiAgJGFsaWduU3RhcnQ/OiBib29sZWFuXG59KTogc3RyaW5nIHtcbiAgLy8gU2VjdGlvbiBob21lIChwcm9qZWN0L2NsaWVudC90YXNrKTogc2llbXByZSBhcnJpYmEuIFBsYW5uZXI6IGNlbnRybyB2ZXJ0aWNhbC5cbiAgaWYgKHByb3BzLiRhbGlnblN0YXJ0KSByZXR1cm4gJ2ZsZXgtc3RhcnQnXG4gIGlmIChwcm9wcy4kZmxvYXRpbmdDdXN0b21DZW50ZXIgfHwgcHJvcHMuJGNlbnRlclZlcnRpY2FsbHkpIHJldHVybiAnc2FmZSBjZW50ZXInXG4gIGlmIChwcm9wcy5zaG93RkFRcyB8fCBwcm9wcy4kaXNBZ2VudFZpZXcpIHJldHVybiAnZmxleC1zdGFydCdcbiAgcmV0dXJuICdjZW50ZXInXG59XG5cbmZ1bmN0aW9uIGp1c3RpZnlTQ0NBSUhvbWVDb250ZW50VGFsbFZpZXdwb3J0KHByb3BzOiB7XG4gICRmbG9hdGluZ0N1c3RvbUNlbnRlcj86IGJvb2xlYW5cbiAgJGNlbnRlclZlcnRpY2FsbHk/OiBib29sZWFuXG4gICRpc0FnZW50Vmlldz86IGJvb2xlYW5cbiAgJGFsaWduU3RhcnQ/OiBib29sZWFuXG59KTogc3RyaW5nIHtcbiAgaWYgKHByb3BzLiRhbGlnblN0YXJ0KSByZXR1cm4gJ2ZsZXgtc3RhcnQnXG4gIGlmIChwcm9wcy4kZmxvYXRpbmdDdXN0b21DZW50ZXIgfHwgcHJvcHMuJGNlbnRlclZlcnRpY2FsbHkpIHJldHVybiAnc2FmZSBjZW50ZXInXG4gIGlmIChwcm9wcy4kaXNBZ2VudFZpZXcpIHJldHVybiAnZmxleC1zdGFydCdcbiAgcmV0dXJuICdjZW50ZXInXG59XG5cbmNvbnN0IGZhZGVJbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5jb25zdCByZWNlbnRDb250ZXh0TG9hZGluZyA9IGtleWZyYW1lc2BcbiAgMCUge1xuICAgIG9wYWNpdHk6IDAuNDU7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjg1O1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuNDU7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyBzaG93RkFRcz86IGJvb2xlYW47ICRhbGlnblN0YXJ0PzogYm9vbGVhbiB9PmBcbiAgZmxleDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC8qIENvbHVtbmEgY2VudHJhZGEgaG9yaXpvbnRhbG1lbnRlOyBwb3IgZGVmZWN0byBhbmNsYWRvIGFycmliYSAobm8gY2VudHJhciB2ZXJ0aWNhbG1lbnRlKS4gKi9cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gMC41cyBlYXNlLW91dDtcblxuICBAbWVkaWEgKG1pbi1oZWlnaHQ6IDEwMDBweCkge1xuICAgIC8qIFNvbG8gaG9tZXMgbm8tc2VjdGlvbiBwdWVkZW4gY2VudHJhciBlbiB2aWV3cG9ydHMgbXV5IGFsdG9zOyBzZWN0aW9uIHF1ZWRhIGFycmliYS4gKi9cbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR7cHJvcHMgPT4gKHByb3BzLiRhbGlnblN0YXJ0ID8gJ2ZsZXgtc3RhcnQnIDogJ2NlbnRlcicpfTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lQ29udGVudCA9IHN0eWxlZC5kaXY8e1xuICBzaG93RkFRcz86IGJvb2xlYW5cbiAgJGlzQWdlbnRWaWV3PzogYm9vbGVhblxuICAkZmxvYXRpbmdDdXN0b21DZW50ZXI/OiBib29sZWFuXG4gICRjZW50ZXJWZXJ0aWNhbGx5PzogYm9vbGVhblxuICAkYWxpZ25TdGFydD86IGJvb2xlYW5cbiAgJGZpeGVkQ29udGVudFdpZHRoPzogbnVtYmVyXG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMDtcbiAgYWxpZ24taXRlbXM6ICR7cHJvcHMgPT4gKHByb3BzLiRhbGlnblN0YXJ0ID8gJ3N0cmV0Y2gnIDogJ2NlbnRlcicpfTtcbiAgZ2FwOiAwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAke3Byb3BzID0+IChwcm9wcy4kZml4ZWRDb250ZW50V2lkdGggPyBgJHtwcm9wcy4kZml4ZWRDb250ZW50V2lkdGh9cHhgIDogJzg2NHB4Jyl9O1xuICAvKiBObyB1c2FyIHN0cmV0Y2g6IGNvbiBtYXgtd2lkdGggZW4gZnVsbHNjcmVlbiBlbCBibG9xdWUgcXVlZGEgYSBsYSBpenF1aWVyZGEuICovXG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGp1c3RpZnktY29udGVudDogJHtqdXN0aWZ5U0NDQUlIb21lQ29udGVudE1haW59O1xuICBmbGV4OiAxO1xuICBtaW4taGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICR7cHJvcHMgPT4gcHJvcHMuc2hvd0ZBUXMgJiYgJ292ZXJmbG93LXk6IGF1dG87IG92ZXJzY3JvbGwtYmVoYXZpb3IteTogY29udGFpbjsnfVxuICAke3Byb3BzID0+IHtcbiAgICBpZiAocHJvcHMuJGZpeGVkQ29udGVudFdpZHRoKSB7XG4gICAgICByZXR1cm4gYFxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogJHtwcm9wcy4kYWxpZ25TdGFydCA/ICdzdHJldGNoJyA6ICdmbGV4LXN0YXJ0J307XG4gICAgICBgXG4gICAgfVxuICAgIHJldHVybiAhcHJvcHMuc2hvd0ZBUXMgJiYgIXByb3BzLiRhbGlnblN0YXJ0ID8gJ3BhZGRpbmc6IDAgMTZweDsnIDogJydcbiAgfX1cblxuICBAbWVkaWEgKG1pbi1oZWlnaHQ6IDEwMDBweCkge1xuICAgIGp1c3RpZnktY29udGVudDogJHtqdXN0aWZ5U0NDQUlIb21lQ29udGVudFRhbGxWaWV3cG9ydH07XG4gICAgcGFkZGluZzogJHtwcm9wcyA9PiAocHJvcHMuJGZpeGVkQ29udGVudFdpZHRoIHx8IHByb3BzLiRhbGlnblN0YXJ0ID8gJzAnIDogJzAgMTZweCcpfTtcbiAgICAvKiBTZWN0aW9uIGhvbWUgeSBwbGFubmVyIG1hbnRpZW5lbiBmbGV4IHBhcmEgb2N1cGFyIGFsdG87IGVsIHJlc3RvIG5vIHNlIGVzdGlyYS4gKi9cbiAgICBmbGV4OiAke3Byb3BzID0+IChwcm9wcy4kY2VudGVyVmVydGljYWxseSB8fCBwcm9wcy4kYWxpZ25TdGFydCA/ICcxIDEgYXV0bycgOiAnMCAxIGF1dG8nKX07XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUNvbnRlbnRJbm5lciA9IHN0eWxlZC5kaXY8e1xuICBzaG93RkFRcz86IGJvb2xlYW5cbiAgJGlzQWdlbnRWaWV3PzogYm9vbGVhblxuICAkZmxvYXRpbmdDdXN0b21DZW50ZXI/OiBib29sZWFuXG4gICRjZW50ZXJWZXJ0aWNhbGx5PzogYm9vbGVhblxuICAkYWxpZ25TdGFydD86IGJvb2xlYW5cbiAgJGhlYWRlckNvbGxhYm9yYXRvckhvbWU/OiBib29sZWFuXG4gICRzZWN0aW9uT3JjaGVzdHJhdG9ySG9tZT86IGJvb2xlYW5cbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAke3Byb3BzID0+IHtcbiAgICBpZiAocHJvcHMuJHNlY3Rpb25PcmNoZXN0cmF0b3JIb21lKSByZXR1cm4gJzMycHggMCdcbiAgICBpZiAocHJvcHMuJGhlYWRlckNvbGxhYm9yYXRvckhvbWUpIHJldHVybiAnNTBweCAwIDE2cHggMCdcbiAgICByZXR1cm4gcHJvcHMuc2hvd0ZBUXMgPyAnMTZweCcgOiAnMCdcbiAgfX07XG4gIGFsaWduLWl0ZW1zOiAke3Byb3BzID0+IChwcm9wcy4kYWxpZ25TdGFydCA/ICdzdHJldGNoJyA6ICdjZW50ZXInKX07XG4gIGdhcDogMTJweDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gICR7cHJvcHMgPT4gKHByb3BzLnNob3dGQVFzIHx8IHByb3BzLiRjZW50ZXJWZXJ0aWNhbGx5IHx8IHByb3BzLiRzZWN0aW9uT3JjaGVzdHJhdG9ySG9tZSkgJiYgJ21pbi1oZWlnaHQ6IDEwMCU7J31cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAganVzdGlmeS1jb250ZW50OiAke3Byb3BzID0+IHtcbiAgICBpZiAocHJvcHMuJHNlY3Rpb25PcmNoZXN0cmF0b3JIb21lIHx8IHByb3BzLiRhbGlnblN0YXJ0KSByZXR1cm4gJ2ZsZXgtc3RhcnQnXG4gICAgaWYgKHByb3BzLiRjZW50ZXJWZXJ0aWNhbGx5KSByZXR1cm4gJ3NhZmUgY2VudGVyJ1xuICAgIHJldHVybiBwcm9wcy5zaG93RkFRcyA/ICdmbGV4LXN0YXJ0JyA6ICdjZW50ZXInXG4gIH19O1xuICAvKiBDZW50cmFkbyBlbiB2aWV3cG9ydCBjb21wbGV0bzsgZW4gcGFuZWwgZmxvdGFudGUgKyBjdXN0b20gZWwgcGFkcmUgY2VudHJhIGNvbiBmbGV4ICg1MHZoIG5vIGFwbGljYSBhbCBwYW5lbCkuXG4gICAgIEN1YW5kbyBoYXkgRlVBcy9GQVFzIChzaG93RkFRcykgZWwgbGF5b3V0IGVzIHNjcm9sbGFibGUgeSBzZSBhbmNsYSBhcnJpYmEsIHNpbiBuZWNlc2lkYWQgZGUgbWFyZ2luLXRvcC5cbiAgICAgUGxhbm5lciAoJGNlbnRlclZlcnRpY2FsbHkpIGNlbnRyYSB0w610dWxvICsgRlVBcyBlbiBlbCBhbHRvIGRpc3BvbmlibGUuXG4gICAgIFNlY3Rpb24gb3JjaGVzdHJhdG9yICgkc2VjdGlvbk9yY2hlc3RyYXRvckhvbWUpIHNpZW1wcmUgdG9wLiAqL1xuICBtYXJnaW4tdG9wOiAke3Byb3BzID0+IHtcbiAgICBpZiAocHJvcHMuJHNlY3Rpb25PcmNoZXN0cmF0b3JIb21lIHx8IHByb3BzLiRmbG9hdGluZ0N1c3RvbUNlbnRlciB8fCBwcm9wcy4kY2VudGVyVmVydGljYWxseSB8fCBwcm9wcy5zaG93RkFRcykge1xuICAgICAgcmV0dXJuICcwJ1xuICAgIH1cbiAgICByZXR1cm4gcHJvcHMuJGlzQWdlbnRWaWV3ID8gJ2NhbGMoNTB2aCAtIDgwcHggLSAxNnB4IC0gNTZweCknIDogJzAnXG4gIH19O1xuXG4gIEBtZWRpYSAobWluLWhlaWdodDogMTAwMHB4KSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gICR7KHsgJGFsaWduU3RhcnQgfSkgPT5cbiAgICAkYWxpZ25TdGFydCAmJlxuICAgIGNzc2BcbiAgICAgICYgPiAqIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVEeW5hbWljU2VjdGlvbiA9IHN0eWxlZC5kaXY8eyAkZ3Jvdz86IGJvb2xlYW47ICRhbGlnblN0YXJ0PzogYm9vbGVhbiB9PmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6ICR7cHJvcHMgPT4gKHByb3BzLiRhbGlnblN0YXJ0ID8gJ3N0cmV0Y2gnIDogJ2NlbnRlcicpfTtcbiAgZ2FwOiAyNHB4O1xuICBmbGV4LXNocmluazogMDtcbiAgJHsoeyAkZ3JvdyB9KSA9PiAkZ3JvdyAmJiAnZmxleDogMSAxIGF1dG87IG1pbi1oZWlnaHQ6IDA7J31cbiAgJHsoeyAkYWxpZ25TdGFydCB9KSA9PlxuICAgICRhbGlnblN0YXJ0ICYmXG4gICAgY3NzYFxuICAgICAgJiA+ICoge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUxvYWRpbmdPdmVybGF5ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDhweDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUdyYWRpZW50VG9wID0gc3R5bGVkLmRpdjx7ICRzaG93OiBib29sZWFuIH0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogNjBweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgIHRvIGJvdHRvbSxcbiAgICAjZmZmZmZmIDAlLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAzMCUsXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDcwJSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCVcbiAgKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwO1xuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy4kc2hvdyA/IDEgOiAwKX07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogODY0cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lR3JhZGllbnRCb3R0b20gPSBzdHlsZWQuZGl2PHsgJHNob3c6IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgdG8gdG9wLFxuICAgICNmZmZmZmYgMCUsXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDMwJSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgNzAlLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJVxuICApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTA7XG4gIG9wYWNpdHk6ICR7cHJvcHMgPT4gKHByb3BzLiRzaG93ID8gMSA6IDApfTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA4NjRweDtcbiAgbWFyZ2luOiAwIGF1dG87XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVIZWFkZXIgPSBzdHlsZWQuZGl2PHtcbiAgJGdhcD86IHN0cmluZ1xuICAkbWF4V2lkdGg/OiBzdHJpbmdcbiAgJGlzQWdlbnRWaWV3PzogYm9vbGVhblxuICAkYWxpZ24/OiAnY2VudGVyJyB8ICdzdGFydCdcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6ICR7cHJvcHMgPT4gcHJvcHMuJGdhcCB8fCAnMjBweCd9O1xuICBhbGlnbi1pdGVtczogJHtwcm9wcyA9PiAocHJvcHMuJGFsaWduID09PSAnc3RhcnQnID8gJ2ZsZXgtc3RhcnQnIDogJ2NlbnRlcicpfTtcbiAgbWF4LXdpZHRoOiAke3Byb3BzID0+IHByb3BzLiRtYXhXaWR0aCB8fCAnMTAwJSd9O1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGp1c3RpZnktY29udGVudDogJHtwcm9wcyA9PiAocHJvcHMuJGFsaWduID09PSAnc3RhcnQnIHx8IHByb3BzLiRpc0FnZW50VmlldyA/ICdmbGV4LXN0YXJ0JyA6ICdjZW50ZXInKX07XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVBZ2VudEluZm9Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG5gXG5cbi8qKiBIZWFkZXIgTUFJQSAoaXNvbG9nbyArIHNhbHVkbyk6IGdhcCAwIHNpIG5vIGhheSB0ZXh0byBkZSBzYWx1ZG8gKi9cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVNYWlhSGVhZGVyU3RhY2sgPSBzdHlsZWQuZGl2PHsgJG5vR2FwPzogYm9vbGVhbjsgJGFsaWduPzogJ2NlbnRlcicgfCAnc3RhcnQnIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogJHtwID0+IChwLiRhbGlnbiA9PT0gJ3N0YXJ0JyA/ICdmbGV4LXN0YXJ0JyA6ICdjZW50ZXInKX07XG4gIGFsaWduLXNlbGY6ICR7cCA9PiAocC4kYWxpZ24gPT09ICdzdGFydCcgPyAnc3RyZXRjaCcgOiAnYXV0bycpfTtcbiAgd2lkdGg6ICR7cCA9PiAocC4kYWxpZ24gPT09ICdzdGFydCcgPyAnMTAwJScgOiAnYXV0bycpfTtcbiAgZ2FwOiAke3AgPT4gKHAuJG5vR2FwID8gMCA6ICc4cHgnKX07XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVHcmVldGluZyA9IHN0eWxlZC5zcGFuPHtcbiAgJHRydW5jYXRlPzogYm9vbGVhblxuICAkYWxpZ24/OiAnY2VudGVyJyB8ICdzdGFydCdcbiAgJHNpemU/OiAnbWQnIHwgJ2xnJ1xufT5gXG4gIGZvbnQtc2l6ZTogJHsoeyAkc2l6ZSB9KSA9PiAoJHNpemUgPT09ICdtZCcgPyAnMTZweCcgOiAnMjBweCcpfTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHJnYmEoMzIsIDMyLCAzMSwgMSk7XG4gIGxpbmUtaGVpZ2h0OiAkeyh7ICRzaXplIH0pID0+ICgkc2l6ZSA9PT0gJ21kJyA/ICcyNHB4JyA6ICcxMjIlJyl9O1xuICB0ZXh0LWFsaWduOiAke3Byb3BzID0+IChwcm9wcy4kYWxpZ24gPT09ICdzdGFydCcgPyAnbGVmdCcgOiAnY2VudGVyJyl9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICR7cHJvcHMgPT4gcHJvcHMuJGFsaWduID09PSAnc3RhcnQnICYmICdhbGlnbi1zZWxmOiBzdHJldGNoOyd9XG4gICR7cHJvcHMgPT5cbiAgICBwcm9wcy4kdHJ1bmNhdGUgJiZcbiAgICBgXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVUaXRsZSA9IHN0eWxlZC5zcGFuPHtcbiAgJHNpemU/OiAnbGcnIHwgJ21kJyB8ICdjb250ZXh0J1xuICAkYWxpZ24/OiAnY2VudGVyJyB8ICdzdGFydCdcbiAgJGZ1bGxXaWR0aD86IGJvb2xlYW5cbn0+YFxuICBtYXgtd2lkdGg6ICR7KHsgJHNpemUsICRmdWxsV2lkdGggfSkgPT4ge1xuICAgIGlmICgkZnVsbFdpZHRoKSByZXR1cm4gJzEwMCUnXG4gICAgaWYgKCRzaXplID09PSAnbWQnIHx8ICRzaXplID09PSAnY29udGV4dCcpIHJldHVybiAnMzIwcHgnXG4gICAgcmV0dXJuICc0MzJweCdcbiAgfX07XG4gIGNvbG9yOiAjMjAyMDFmO1xuICB0ZXh0LWFsaWduOiAkeyh7ICRhbGlnbiB9KSA9PiAoJGFsaWduID09PSAnc3RhcnQnID8gJ2xlZnQnIDogJ2NlbnRlcicpfTtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICBmb250LXNpemU6ICR7KHsgJHNpemUgfSkgPT4ge1xuICAgIGlmICgkc2l6ZSA9PT0gJ21kJykgcmV0dXJuICcxNnB4J1xuICAgIGlmICgkc2l6ZSA9PT0gJ2NvbnRleHQnKSByZXR1cm4gJzIwcHgnXG4gICAgcmV0dXJuICcyOHB4J1xuICB9fTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogJHsoeyAkc2l6ZSB9KSA9PiB7XG4gICAgaWYgKCRzaXplID09PSAnbWQnKSByZXR1cm4gJzI0cHgnXG4gICAgaWYgKCRzaXplID09PSAnY29udGV4dCcpIHJldHVybiAnMjRweCdcbiAgICByZXR1cm4gJzMycHgnXG4gIH19O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbmBcblxuLyoqIEJsb3F1ZSB0w610dWxvICsgYmFqYWRhIChGaWdtYSBUaXRsZSk6IGdhcCAwIGVudHJlIGFtYm9zLiAqL1xuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVRpdGxlQmxvY2sgPSBzdHlsZWQuZGl2PHsgJGFsaWduPzogJ2NlbnRlcicgfCAnc3RhcnQnOyAkZnVsbFdpZHRoPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiAkeyh7ICRhbGlnbiB9KSA9PiAoJGFsaWduID09PSAnc3RhcnQnID8gJ2ZsZXgtc3RhcnQnIDogJ2NlbnRlcicpfTtcbiAgZ2FwOiAwO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBtYXgtd2lkdGg6ICR7KHsgJGZ1bGxXaWR0aCB9KSA9PiAoJGZ1bGxXaWR0aCA/ICcxMDAlJyA6ICczMjBweCcpfTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVN1YnRpdGxlID0gc3R5bGVkLnNwYW48eyAkYWxpZ24/OiAnY2VudGVyJyB8ICdzdGFydCc7ICRjb2xsYWJvcmF0b3JIb21lPzogYm9vbGVhbiB9PmBcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgY29sb3I6ICM0ZDRkNGQ7XG4gIHRleHQtYWxpZ246ICR7KHsgJGFsaWduIH0pID0+ICgkYWxpZ24gPT09ICdzdGFydCcgPyAnbGVmdCcgOiAnY2VudGVyJyl9O1xuICBmb250LWZhbWlseTogJ1dvcmsgU2Fucyc7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbiAgJHsoeyAkY29sbGFib3JhdG9ySG9tZSB9KSA9PlxuICAgICRjb2xsYWJvcmF0b3JIb21lICYmXG4gICAgYFxuICAgICYmIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIH1cbiAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUFnZW50SW5mbyA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogIzIwMjAxZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2Fucyc7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDExNSU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4xMnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lSW50cm9kdWN0aW9uID0gc3R5bGVkLnNwYW48eyBleHBhbmRlZD86IGJvb2xlYW4gfT5gXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGNvbG9yOiByZ2JhKDEwMiwgMTAyLCAxMDIsIDEpO1xuICBtYXgtd2lkdGg6ICR7cHJvcHMgPT4gKHByb3BzLmV4cGFuZGVkID8gJzQ4MnB4JyA6ICczNjBweCcpfTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICBvdmVyZmxvdy13cmFwOiBub3JtYWw7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVIb3dJdFdvcmtzID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjNmYzM2EwO1xuICBmb250LWZhbWlseTogV29yayBTYW5zO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjYWE2ZWRlO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5Q29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeVRpdGxlID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6IHJnYmEoMzIsIDMyLCAzMSwgMSk7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeURlc2NyaXB0aW9uID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6IHJnYmEoMTAyLCAxMDIsIDEwMiwgMSk7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0cyA9IHN0eWxlZC5kaXY8eyAkZml4ZWRDb250ZW50V2lkdGg/OiBudW1iZXI7ICRjb250ZW50R2FwPzogbnVtYmVyIH0+YFxuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtwcm9wcyA9PiBwcm9wcy4kY29udGVudEdhcCA/PyAxMn1weDtcbiAgbWF4LXdpZHRoOiAke3Byb3BzID0+IChwcm9wcy4kZml4ZWRDb250ZW50V2lkdGggPyAnMTAwJScgOiAnNDMycHgnKX07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVDb2xsYWJvcmF0b3JTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogOHB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVJlY2VudENvbnRleHRzU2VjdGlvbkhlYWRlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDJweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0c1NlY3Rpb25UaXRsZSA9IHN0eWxlZC5zcGFuYFxuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBjb2xvcjogIzIwMjAyMDtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUmVjZW50Q29udGV4dHNTZWN0aW9uU3VidGl0bGUgPSBzdHlsZWQuc3BhbmBcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgY29sb3I6ICM4MDgwODA7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVJlY2VudENvbnRleHRzVGl0bGUgPSBzdHlsZWQuc3BhbmBcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDZweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6ICM0ZDRkNGQ7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUmVjZW50Q29udGV4dHNMaXN0ID0gc3R5bGVkLmRpdjx7ICRmbHVzaFBpbGxzPzogYm9vbGVhbiB9PmBcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogJHtwcm9wcyA9PiAocHJvcHMuJGZsdXNoUGlsbHMgPyAnMCcgOiAnMCA2cHgnKX07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbCA9IHN0eWxlZC5idXR0b248eyAkZnVsbFdpZHRoPzogYm9vbGVhbjsgJGRpc2FibGVkPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgZ2FwOiA0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6ICR7cHJvcHMgPT4gKHByb3BzLiRmdWxsV2lkdGggPyAnMTAwJScgOiAnNDM4cHgnKX07XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbWluLXdpZHRoOiAwO1xuICBjdXJzb3I6ICR7KHsgJGRpc2FibGVkIH0pID0+ICgkZGlzYWJsZWQgPyAnbm90LWFsbG93ZWQnIDogJ3BvaW50ZXInKX07XG4gIG9wYWNpdHk6ICR7KHsgJGRpc2FibGVkIH0pID0+ICgkZGlzYWJsZWQgPyAwLjUgOiAxKX07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNHMgZWFzZTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyh7ICRkaXNhYmxlZCB9KSA9PiAoJGRpc2FibGVkID8gJyNmZmZmZmYnIDogJyNmOWY5ZjknKX07XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsSWNvbiA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbFRleHQgPSBzdHlsZWQuc3BhbmBcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICMyMDIwMjA7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbFNrZWxldG9uID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNDM4cHg7XG4gIGhlaWdodDogMjhweDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDI0MiwgMjQyLCAxKTtcbiAgYW5pbWF0aW9uOiAke3JlY2VudENvbnRleHRMb2FkaW5nfSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUUFDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUUFUaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiA2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVRQVRpdGxlVGV4dCA9IHN0eWxlZC5zcGFuYFxuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAke1ZJT0xFVF9JQV9DT0xPUlNbNTAwXX07XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVRQUl0ZW0gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVRQUl0ZW1UZXh0ID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6IHJnYigxMDIsIDEwMiwgMTAyKTtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTdHlsZWRRQUNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTZweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDM2cHg7XG4gIGZsZXg6IDE7XG5cbiAgLkNoYXRBSUhvbWUtcWEtdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBjb2xvcjogJHtHTE9CQUxfQ09MT1JTLnByaW1hcnl9O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICBwYWRkaW5nOiAwIDZweDtcbiAgfVxuXG4gIC5DaGF0QUlIb21lLXFhLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEycHg7XG5cbiAgICAuQ2hhdEFJSG9tZS1xYS1pdGVtIHtcbiAgICAgIGNvbG9yOiAke2NvbG9ycy50ZXh0LnNlY29uZGFyeX07XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA4cHg7XG4gICAgICBwYWRkaW5nOiA2cHg7XG4gICAgfVxuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjQyLCAyNDIsIDI0MiwgMSk7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQzMnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHRyYW5zaXRpb246XG4gICAgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0LFxuICAgIHRyYW5zZm9ybSAwLjFzIGVhc2UtaW4tb3V0O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgZ2FwOiAxMnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lQ3JlYXRlZEJ5TGluZSA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNSk7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0ID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICM5OTk5OTk7XG4gIGN1cnNvcjogZGVmYXVsdDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHROYW1lID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbmBcblxuY29uc3QgZ3JhZGllbnRQdWxzZTEgPSBrZXlmcmFtZXNgXG4gIDAlLCAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDAuODUpO1xuICB9XG5gXG5cbmNvbnN0IGdyYWRpZW50UHVsc2UyID0ga2V5ZnJhbWVzYFxuICAwJSwgMTAwJSB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDAuODUpO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbiAgfVxuYFxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUljb25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUdyYWRpZW50MSA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KDUwJSA1MCUgYXQgNTAlIDEwMCUsICNmZmZmZiAwJSwgI2ZmZmZmZiAxMDAlKTtcbiAgZmlsdGVyOiBibHVyKDI1cHgpO1xuICBhbmltYXRpb246ICR7Z3JhZGllbnRQdWxzZTF9IDNzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICB6LWluZGV4OiAwO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lR3JhZGllbnQyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogNjBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoNTAlIDUwJSBhdCA1MCUgMTAwJSwgI2ZmZmZmZiAwJSwgI2ZmZmZmZiAxMDAlKTtcbiAgZmlsdGVyOiBibHVyKDI1cHgpO1xuICBhbmltYXRpb246ICR7Z3JhZGllbnRQdWxzZTJ9IDNzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICB6LWluZGV4OiAwO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lTG9nb1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sSUFBSUMsR0FBRyxFQUFFQyxTQUFTLFFBQVEsbUJBQW1CO0FBQzFELE9BQU9DLE1BQU0sTUFBTSxtQ0FBbUM7QUFFdEQsU0FBU0MsYUFBYSxFQUFFQyxnQkFBZ0IsUUFBUSx3QkFBd0I7O0FBRXhFO0FBQ0EsT0FBTyxJQUFNQyw4Q0FBOEMsR0FBRyxHQUFHO0FBRWpFLFNBQVNDLDJCQUEyQkEsQ0FBQ0MsS0FNcEMsRUFBVTtFQUNUO0VBQ0EsSUFBSUEsS0FBSyxDQUFDQyxXQUFXLEVBQUUsT0FBTyxZQUFZO0VBQzFDLElBQUlELEtBQUssQ0FBQ0UscUJBQXFCLElBQUlGLEtBQUssQ0FBQ0csaUJBQWlCLEVBQUUsT0FBTyxhQUFhO0VBQ2hGLElBQUlILEtBQUssQ0FBQ0ksUUFBUSxJQUFJSixLQUFLLENBQUNLLFlBQVksRUFBRSxPQUFPLFlBQVk7RUFDN0QsT0FBTyxRQUFRO0FBQ2pCO0FBRUEsU0FBU0MsbUNBQW1DQSxDQUFDTixLQUs1QyxFQUFVO0VBQ1QsSUFBSUEsS0FBSyxDQUFDQyxXQUFXLEVBQUUsT0FBTyxZQUFZO0VBQzFDLElBQUlELEtBQUssQ0FBQ0UscUJBQXFCLElBQUlGLEtBQUssQ0FBQ0csaUJBQWlCLEVB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
335
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJHTE9CQUxfQ09MT1JTIiwiVklPTEVUX0lBX0NPTE9SUyIsIk1BSUFfSEVBREVSX0NPTExBQk9SQVRPUl9IT01FX0NPTlRFTlRfV0lEVEhfUFgiLCJqdXN0aWZ5U0NDQUlIb21lQ29udGVudE1haW4iLCJwcm9wcyIsIiRhbGlnblN0YXJ0IiwiJGZsb2F0aW5nQ3VzdG9tQ2VudGVyIiwiJGNlbnRlclZlcnRpY2FsbHkiLCJzaG93RkFRcyIsIiRpc0FnZW50VmlldyIsImp1c3RpZnlTQ0NBSUhvbWVDb250ZW50VGFsbFZpZXdwb3J0IiwiZmFkZUluIiwicmVjZW50Q29udGV4dExvYWRpbmciLCJTQ0NBSUhvbWVDb250YWluZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIlNDQ0FJSG9tZUNvbnRlbnQiLCIkZml4ZWRDb250ZW50V2lkdGgiLCJjb25jYXQiLCJTQ0NBSUhvbWVDb250ZW50SW5uZXIiLCIkc2VjdGlvbk9yY2hlc3RyYXRvckhvbWUiLCIkaGVhZGVyQ29sbGFib3JhdG9ySG9tZSIsIl9yZWYiLCJTQ0NBSUhvbWVEeW5hbWljU2VjdGlvbiIsIl9yZWYyIiwiJGdyb3ciLCJfcmVmMyIsIlNDQ0FJSG9tZUxvYWRpbmdPdmVybGF5IiwiU0NDQUlIb21lR3JhZGllbnRUb3AiLCIkc2hvdyIsIlNDQ0FJSG9tZUdyYWRpZW50Qm90dG9tIiwiU0NDQUlIb21lSGVhZGVyIiwiJGdhcCIsIiRhbGlnbiIsIiRtYXhXaWR0aCIsIlNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lciIsIlNDQ0FJSG9tZU1haWFIZWFkZXJTdGFjayIsInAiLCIkbm9HYXAiLCJTQ0NBSUhvbWVHcmVldGluZyIsInNwYW4iLCJfcmVmNCIsIiRzaXplIiwiX3JlZjUiLCIkdHJ1bmNhdGUiLCJTQ0NBSUhvbWVUaXRsZSIsIl9yZWY2IiwiJGZ1bGxXaWR0aCIsIl9yZWY3IiwiX3JlZjgiLCJfcmVmOSIsIlNDQ0FJSG9tZVRpdGxlQmxvY2siLCJfcmVmMCIsIl9yZWYxIiwiU0NDQUlIb21lU3VidGl0bGUiLCJfcmVmMTAiLCJfcmVmMTEiLCIkY29sbGFib3JhdG9ySG9tZSIsIlNDQ0FJSG9tZUFnZW50SW5mbyIsIlNDQ0FJSG9tZUludHJvZHVjdGlvbiIsImV4cGFuZGVkIiwiU0NDQUlIb21lSG93SXRXb3JrcyIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZSIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24iLCJTQ0NBSUhvbWVSZWNlbnRDb250ZXh0cyIsIl9wcm9wcyQkY29udGVudEdhcCIsIiRjb250ZW50R2FwIiwiU0NDQUlIb21lQ29sbGFib3JhdG9yU2VjdGlvbiIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRzU2VjdGlvbkhlYWRlciIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRzU2VjdGlvblRpdGxlIiwiU0NDQUlIb21lUmVjZW50Q29udGV4dHNTZWN0aW9uU3VidGl0bGUiLCJTQ0NBSUhvbWVSZWNlbnRDb250ZXh0c1RpdGxlIiwiU0NDQUlIb21lUmVjZW50Q29udGV4dHNMaXN0IiwiJGZsdXNoUGlsbHMiLCJTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbCIsImJ1dHRvbiIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsSWNvbiIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsVGV4dCIsIlNDQ0FJSG9tZVJlY2VudENvbnRleHRQaWxsU2tlbGV0b24iLCJTQ0NBSUhvbWVRQUNvbnRhaW5lciIsIlNDQ0FJSG9tZVFBVGl0bGUiLCJTQ0NBSUhvbWVRQVRpdGxlVGV4dCIsIlNDQ0FJSG9tZVFBSXRlbSIsIlNDQ0FJSG9tZVFBSXRlbVRleHQiLCJTdHlsZWRRQUNvbnRhaW5lciIsInByaW1hcnkiLCJ0ZXh0Iiwic2Vjb25kYXJ5IiwiU0NDQUhXcmFwcGVyU3VtbWFyeVByb2plY3QiLCJTQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXIiLCJTQ0NBSUhvbWVDcmVhdGVkQnlMaW5lIiwiU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dCIsIlNDQ0FJSG9tZUNyZWF0ZWRCeVRleHROYW1lIiwiZ3JhZGllbnRQdWxzZTEiLCJncmFkaWVudFB1bHNlMiIsIlNDQ0FJSG9tZUljb25Db250YWluZXIiLCJTQ0NBSUhvbWVHcmFkaWVudDEiLCJTQ0NBSUhvbWVHcmFkaWVudDIiLCJTQ0NBSUhvbWVMb2dvV3JhcHBlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlIb21lL3N0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkLCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgY29sb3JzIGZyb20gJ0Bwcm9qZWN0Y29yL3RoZW1lL2xpYi9iYXNlL2NvbG9ycydcblxuaW1wb3J0IHsgR0xPQkFMX0NPTE9SUywgVklPTEVUX0lBX0NPTE9SUyB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb25maWcnXG5cbi8qKiBBbmNobyBkZWwgY29udGVuaWRvIEhPTUUgY29sYWJvcmFkb3IgKGhlYWRlcikgeSBzZWN0aW9uIG9yY2hlc3RyYXRvciAocHJvamVjdC9jbGllbnQvdGFzaykuICovXG5leHBvcnQgY29uc3QgTUFJQV9IRUFERVJfQ09MTEFCT1JBVE9SX0hPTUVfQ09OVEVOVF9XSURUSF9QWCA9IDQ0OFxuXG5mdW5jdGlvbiBqdXN0aWZ5U0NDQUlIb21lQ29udGVudE1haW4ocHJvcHM6IHtcbiAgJGZsb2F0aW5nQ3VzdG9tQ2VudGVyPzogYm9vbGVhblxuICAkY2VudGVyVmVydGljYWxseT86IGJvb2xlYW5cbiAgc2hvd0ZBUXM/OiBib29sZWFuXG4gICRpc0FnZW50Vmlldz86IGJvb2xlYW5cbiAgJGFsaWduU3RhcnQ/OiBib29sZWFuXG59KTogc3RyaW5nIHtcbiAgLy8gU2VjdGlvbiBob21lIChwcm9qZWN0L2NsaWVudC90YXNrKTogc2llbXByZSBhcnJpYmEuIFBsYW5uZXI6IGNlbnRybyB2ZXJ0aWNhbC5cbiAgaWYgKHByb3BzLiRhbGlnblN0YXJ0KSByZXR1cm4gJ2ZsZXgtc3RhcnQnXG4gIGlmIChwcm9wcy4kZmxvYXRpbmdDdXN0b21DZW50ZXIgfHwgcHJvcHMuJGNlbnRlclZlcnRpY2FsbHkpIHJldHVybiAnc2FmZSBjZW50ZXInXG4gIGlmIChwcm9wcy5zaG93RkFRcyB8fCBwcm9wcy4kaXNBZ2VudFZpZXcpIHJldHVybiAnZmxleC1zdGFydCdcbiAgcmV0dXJuICdjZW50ZXInXG59XG5cbmZ1bmN0aW9uIGp1c3RpZnlTQ0NBSUhvbWVDb250ZW50VGFsbFZpZXdwb3J0KHByb3BzOiB7XG4gICRmbG9hdGluZ0N1c3RvbUNlbnRlcj86IGJvb2xlYW5cbiAgJGNlbnRlclZlcnRpY2FsbHk/OiBib29sZWFuXG4gICRpc0FnZW50Vmlldz86IGJvb2xlYW5cbiAgJGFsaWduU3RhcnQ/OiBib29sZWFuXG59KTogc3RyaW5nIHtcbiAgaWYgKHByb3BzLiRhbGlnblN0YXJ0KSByZXR1cm4gJ2ZsZXgtc3RhcnQnXG4gIGlmIChwcm9wcy4kZmxvYXRpbmdDdXN0b21DZW50ZXIgfHwgcHJvcHMuJGNlbnRlclZlcnRpY2FsbHkpIHJldHVybiAnc2FmZSBjZW50ZXInXG4gIGlmIChwcm9wcy4kaXNBZ2VudFZpZXcpIHJldHVybiAnZmxleC1zdGFydCdcbiAgcmV0dXJuICdjZW50ZXInXG59XG5cbmNvbnN0IGZhZGVJbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5jb25zdCByZWNlbnRDb250ZXh0TG9hZGluZyA9IGtleWZyYW1lc2BcbiAgMCUge1xuICAgIG9wYWNpdHk6IDAuNDU7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjg1O1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuNDU7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyBzaG93RkFRcz86IGJvb2xlYW47ICRhbGlnblN0YXJ0PzogYm9vbGVhbiB9PmBcbiAgZmxleDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC8qIENvbHVtbmEgY2VudHJhZGEgaG9yaXpvbnRhbG1lbnRlOyBwb3IgZGVmZWN0byBhbmNsYWRvIGFycmliYSAobm8gY2VudHJhciB2ZXJ0aWNhbG1lbnRlKS4gKi9cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gMC41cyBlYXNlLW91dDtcblxuICBAbWVkaWEgKG1pbi1oZWlnaHQ6IDEwMDBweCkge1xuICAgIC8qIFNvbG8gaG9tZXMgbm8tc2VjdGlvbiBwdWVkZW4gY2VudHJhciBlbiB2aWV3cG9ydHMgbXV5IGFsdG9zOyBzZWN0aW9uIHF1ZWRhIGFycmliYS4gKi9cbiAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR7cHJvcHMgPT4gKHByb3BzLiRhbGlnblN0YXJ0ID8gJ2ZsZXgtc3RhcnQnIDogJ2NlbnRlcicpfTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lQ29udGVudCA9IHN0eWxlZC5kaXY8e1xuICBzaG93RkFRcz86IGJvb2xlYW5cbiAgJGlzQWdlbnRWaWV3PzogYm9vbGVhblxuICAkZmxvYXRpbmdDdXN0b21DZW50ZXI/OiBib29sZWFuXG4gICRjZW50ZXJWZXJ0aWNhbGx5PzogYm9vbGVhblxuICAkYWxpZ25TdGFydD86IGJvb2xlYW5cbiAgJGZpeGVkQ29udGVudFdpZHRoPzogbnVtYmVyXG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMDtcbiAgYWxpZ24taXRlbXM6ICR7cHJvcHMgPT4gKHByb3BzLiRhbGlnblN0YXJ0ID8gJ3N0cmV0Y2gnIDogJ2NlbnRlcicpfTtcbiAgZ2FwOiAwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAke3Byb3BzID0+IChwcm9wcy4kZml4ZWRDb250ZW50V2lkdGggPyBgJHtwcm9wcy4kZml4ZWRDb250ZW50V2lkdGh9cHhgIDogJzg2NHB4Jyl9O1xuICAvKiBObyB1c2FyIHN0cmV0Y2g6IGNvbiBtYXgtd2lkdGggZW4gZnVsbHNjcmVlbiBlbCBibG9xdWUgcXVlZGEgYSBsYSBpenF1aWVyZGEuICovXG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGp1c3RpZnktY29udGVudDogJHtqdXN0aWZ5U0NDQUlIb21lQ29udGVudE1haW59O1xuICBmbGV4OiAxO1xuICBtaW4taGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICR7cHJvcHMgPT4gcHJvcHMuc2hvd0ZBUXMgJiYgJ292ZXJmbG93LXk6IGF1dG87IG92ZXJzY3JvbGwtYmVoYXZpb3IteTogY29udGFpbjsnfVxuICAke3Byb3BzID0+IHtcbiAgICBpZiAocHJvcHMuJGZpeGVkQ29udGVudFdpZHRoKSB7XG4gICAgICByZXR1cm4gYFxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogJHtwcm9wcy4kYWxpZ25TdGFydCA/ICdzdHJldGNoJyA6ICdmbGV4LXN0YXJ0J307XG4gICAgICBgXG4gICAgfVxuICAgIHJldHVybiAhcHJvcHMuc2hvd0ZBUXMgJiYgIXByb3BzLiRhbGlnblN0YXJ0ID8gJ3BhZGRpbmc6IDAgMTZweDsnIDogJydcbiAgfX1cblxuICBAbWVkaWEgKG1pbi1oZWlnaHQ6IDEwMDBweCkge1xuICAgIGp1c3RpZnktY29udGVudDogJHtqdXN0aWZ5U0NDQUlIb21lQ29udGVudFRhbGxWaWV3cG9ydH07XG4gICAgcGFkZGluZzogJHtwcm9wcyA9PiAocHJvcHMuJGZpeGVkQ29udGVudFdpZHRoIHx8IHByb3BzLiRhbGlnblN0YXJ0ID8gJzAnIDogJzAgMTZweCcpfTtcbiAgICAvKiBTZWN0aW9uIGhvbWUgeSBwbGFubmVyIG1hbnRpZW5lbiBmbGV4IHBhcmEgb2N1cGFyIGFsdG87IGVsIHJlc3RvIG5vIHNlIGVzdGlyYS4gKi9cbiAgICBmbGV4OiAke3Byb3BzID0+IChwcm9wcy4kY2VudGVyVmVydGljYWxseSB8fCBwcm9wcy4kYWxpZ25TdGFydCA/ICcxIDEgYXV0bycgOiAnMCAxIGF1dG8nKX07XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUNvbnRlbnRJbm5lciA9IHN0eWxlZC5kaXY8e1xuICBzaG93RkFRcz86IGJvb2xlYW5cbiAgJGlzQWdlbnRWaWV3PzogYm9vbGVhblxuICAkZmxvYXRpbmdDdXN0b21DZW50ZXI/OiBib29sZWFuXG4gICRjZW50ZXJWZXJ0aWNhbGx5PzogYm9vbGVhblxuICAkYWxpZ25TdGFydD86IGJvb2xlYW5cbiAgJGhlYWRlckNvbGxhYm9yYXRvckhvbWU/OiBib29sZWFuXG4gICRzZWN0aW9uT3JjaGVzdHJhdG9ySG9tZT86IGJvb2xlYW5cbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAke3Byb3BzID0+IHtcbiAgICBpZiAocHJvcHMuJHNlY3Rpb25PcmNoZXN0cmF0b3JIb21lKSByZXR1cm4gJzMycHggMCdcbiAgICBpZiAocHJvcHMuJGhlYWRlckNvbGxhYm9yYXRvckhvbWUpIHJldHVybiAnNTBweCAwIDE2cHggMCdcbiAgICByZXR1cm4gcHJvcHMuc2hvd0ZBUXMgPyAnMTZweCcgOiAnMCdcbiAgfX07XG4gIGFsaWduLWl0ZW1zOiAke3Byb3BzID0+IChwcm9wcy4kYWxpZ25TdGFydCA/ICdzdHJldGNoJyA6ICdjZW50ZXInKX07XG4gIGdhcDogMTJweDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gICR7cHJvcHMgPT4gKHByb3BzLnNob3dGQVFzIHx8IHByb3BzLiRjZW50ZXJWZXJ0aWNhbGx5IHx8IHByb3BzLiRzZWN0aW9uT3JjaGVzdHJhdG9ySG9tZSkgJiYgJ21pbi1oZWlnaHQ6IDEwMCU7J31cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAganVzdGlmeS1jb250ZW50OiAke3Byb3BzID0+IHtcbiAgICBpZiAocHJvcHMuJHNlY3Rpb25PcmNoZXN0cmF0b3JIb21lIHx8IHByb3BzLiRhbGlnblN0YXJ0KSByZXR1cm4gJ2ZsZXgtc3RhcnQnXG4gICAgaWYgKHByb3BzLiRjZW50ZXJWZXJ0aWNhbGx5KSByZXR1cm4gJ3NhZmUgY2VudGVyJ1xuICAgIHJldHVybiBwcm9wcy5zaG93RkFRcyA/ICdmbGV4LXN0YXJ0JyA6ICdjZW50ZXInXG4gIH19O1xuICAvKiBDZW50cmFkbyBlbiB2aWV3cG9ydCBjb21wbGV0bzsgZW4gcGFuZWwgZmxvdGFudGUgKyBjdXN0b20gZWwgcGFkcmUgY2VudHJhIGNvbiBmbGV4ICg1MHZoIG5vIGFwbGljYSBhbCBwYW5lbCkuXG4gICAgIEN1YW5kbyBoYXkgRlVBcy9GQVFzIChzaG93RkFRcykgZWwgbGF5b3V0IGVzIHNjcm9sbGFibGUgeSBzZSBhbmNsYSBhcnJpYmEsIHNpbiBuZWNlc2lkYWQgZGUgbWFyZ2luLXRvcC5cbiAgICAgUGxhbm5lciAoJGNlbnRlclZlcnRpY2FsbHkpIGNlbnRyYSB0w610dWxvICsgRlVBcyBlbiBlbCBhbHRvIGRpc3BvbmlibGUuXG4gICAgIFNlY3Rpb24gb3JjaGVzdHJhdG9yICgkc2VjdGlvbk9yY2hlc3RyYXRvckhvbWUpIHNpZW1wcmUgdG9wLiAqL1xuICBtYXJnaW4tdG9wOiAke3Byb3BzID0+IHtcbiAgICBpZiAocHJvcHMuJHNlY3Rpb25PcmNoZXN0cmF0b3JIb21lIHx8IHByb3BzLiRmbG9hdGluZ0N1c3RvbUNlbnRlciB8fCBwcm9wcy4kY2VudGVyVmVydGljYWxseSB8fCBwcm9wcy5zaG93RkFRcykge1xuICAgICAgcmV0dXJuICcwJ1xuICAgIH1cbiAgICByZXR1cm4gcHJvcHMuJGlzQWdlbnRWaWV3ID8gJ2NhbGMoNTB2aCAtIDgwcHggLSAxNnB4IC0gNTZweCknIDogJzAnXG4gIH19O1xuXG4gIEBtZWRpYSAobWluLWhlaWdodDogMTAwMHB4KSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gICR7KHsgJGFsaWduU3RhcnQgfSkgPT5cbiAgICAkYWxpZ25TdGFydCAmJlxuICAgIGNzc2BcbiAgICAgICYgPiAqIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVEeW5hbWljU2VjdGlvbiA9IHN0eWxlZC5kaXY8eyAkZ3Jvdz86IGJvb2xlYW47ICRhbGlnblN0YXJ0PzogYm9vbGVhbiB9PmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6ICR7cHJvcHMgPT4gKHByb3BzLiRhbGlnblN0YXJ0ID8gJ3N0cmV0Y2gnIDogJ2NlbnRlcicpfTtcbiAgZ2FwOiAyNHB4O1xuICBmbGV4LXNocmluazogMDtcbiAgJHsoeyAkZ3JvdyB9KSA9PiAkZ3JvdyAmJiAnZmxleDogMSAxIGF1dG87IG1pbi1oZWlnaHQ6IDA7J31cbiAgJHsoeyAkYWxpZ25TdGFydCB9KSA9PlxuICAgICRhbGlnblN0YXJ0ICYmXG4gICAgY3NzYFxuICAgICAgJiA+ICoge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUxvYWRpbmdPdmVybGF5ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDhweDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUdyYWRpZW50VG9wID0gc3R5bGVkLmRpdjx7ICRzaG93OiBib29sZWFuIH0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogNjBweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgIHRvIGJvdHRvbSxcbiAgICAjZmZmZmZmIDAlLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAzMCUsXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDcwJSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCVcbiAgKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwO1xuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy4kc2hvdyA/IDEgOiAwKX07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogODY0cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lR3JhZGllbnRCb3R0b20gPSBzdHlsZWQuZGl2PHsgJHNob3c6IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgdG8gdG9wLFxuICAgICNmZmZmZmYgMCUsXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDMwJSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgNzAlLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJVxuICApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTA7XG4gIG9wYWNpdHk6ICR7cHJvcHMgPT4gKHByb3BzLiRzaG93ID8gMSA6IDApfTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA4NjRweDtcbiAgbWFyZ2luOiAwIGF1dG87XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVIZWFkZXIgPSBzdHlsZWQuZGl2PHtcbiAgJGdhcD86IHN0cmluZ1xuICAkbWF4V2lkdGg/OiBzdHJpbmdcbiAgJGlzQWdlbnRWaWV3PzogYm9vbGVhblxuICAkYWxpZ24/OiAnY2VudGVyJyB8ICdzdGFydCdcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6ICR7cHJvcHMgPT4gcHJvcHMuJGdhcCB8fCAnMjBweCd9O1xuICBhbGlnbi1pdGVtczogJHtwcm9wcyA9PiAocHJvcHMuJGFsaWduID09PSAnc3RhcnQnID8gJ2ZsZXgtc3RhcnQnIDogJ2NlbnRlcicpfTtcbiAgbWF4LXdpZHRoOiAke3Byb3BzID0+IHByb3BzLiRtYXhXaWR0aCB8fCAnMTAwJSd9O1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGp1c3RpZnktY29udGVudDogJHtwcm9wcyA9PiAocHJvcHMuJGFsaWduID09PSAnc3RhcnQnIHx8IHByb3BzLiRpc0FnZW50VmlldyA/ICdmbGV4LXN0YXJ0JyA6ICdjZW50ZXInKX07XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVBZ2VudEluZm9Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG5gXG5cbi8qKiBIZWFkZXIgTUFJQSAoaXNvbG9nbyArIHNhbHVkbyk6IGdhcCAwIHNpIG5vIGhheSB0ZXh0byBkZSBzYWx1ZG8gKi9cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVNYWlhSGVhZGVyU3RhY2sgPSBzdHlsZWQuZGl2PHsgJG5vR2FwPzogYm9vbGVhbjsgJGFsaWduPzogJ2NlbnRlcicgfCAnc3RhcnQnIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogJHtwID0+IChwLiRhbGlnbiA9PT0gJ3N0YXJ0JyA/ICdmbGV4LXN0YXJ0JyA6ICdjZW50ZXInKX07XG4gIGFsaWduLXNlbGY6ICR7cCA9PiAocC4kYWxpZ24gPT09ICdzdGFydCcgPyAnc3RyZXRjaCcgOiAnYXV0bycpfTtcbiAgd2lkdGg6ICR7cCA9PiAocC4kYWxpZ24gPT09ICdzdGFydCcgPyAnMTAwJScgOiAnYXV0bycpfTtcbiAgZ2FwOiAke3AgPT4gKHAuJG5vR2FwID8gMCA6ICc4cHgnKX07XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVHcmVldGluZyA9IHN0eWxlZC5zcGFuPHtcbiAgJHRydW5jYXRlPzogYm9vbGVhblxuICAkYWxpZ24/OiAnY2VudGVyJyB8ICdzdGFydCdcbiAgJHNpemU/OiAnbWQnIHwgJ2xnJ1xufT5gXG4gIGZvbnQtc2l6ZTogJHsoeyAkc2l6ZSB9KSA9PiAoJHNpemUgPT09ICdtZCcgPyAnMTZweCcgOiAnMjBweCcpfTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHJnYmEoMzIsIDMyLCAzMSwgMSk7XG4gIGxpbmUtaGVpZ2h0OiAkeyh7ICRzaXplIH0pID0+ICgkc2l6ZSA9PT0gJ21kJyA/ICcyNHB4JyA6ICcxMjIlJyl9O1xuICB0ZXh0LWFsaWduOiAke3Byb3BzID0+IChwcm9wcy4kYWxpZ24gPT09ICdzdGFydCcgPyAnbGVmdCcgOiAnY2VudGVyJyl9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICR7cHJvcHMgPT4gcHJvcHMuJGFsaWduID09PSAnc3RhcnQnICYmICdhbGlnbi1zZWxmOiBzdHJldGNoOyd9XG4gICR7cHJvcHMgPT5cbiAgICBwcm9wcy4kdHJ1bmNhdGUgJiZcbiAgICBgXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVUaXRsZSA9IHN0eWxlZC5zcGFuPHtcbiAgJHNpemU/OiAnbGcnIHwgJ21kJyB8ICdjb250ZXh0J1xuICAkYWxpZ24/OiAnY2VudGVyJyB8ICdzdGFydCdcbiAgJGZ1bGxXaWR0aD86IGJvb2xlYW5cbn0+YFxuICBtYXgtd2lkdGg6ICR7KHsgJHNpemUsICRmdWxsV2lkdGggfSkgPT4ge1xuICAgIGlmICgkZnVsbFdpZHRoKSByZXR1cm4gJzEwMCUnXG4gICAgaWYgKCRzaXplID09PSAnbWQnIHx8ICRzaXplID09PSAnY29udGV4dCcpIHJldHVybiAnMzIwcHgnXG4gICAgcmV0dXJuICc0MzJweCdcbiAgfX07XG4gIGNvbG9yOiAjMjAyMDFmO1xuICB0ZXh0LWFsaWduOiAkeyh7ICRhbGlnbiB9KSA9PiAoJGFsaWduID09PSAnc3RhcnQnID8gJ2xlZnQnIDogJ2NlbnRlcicpfTtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICBmb250LXNpemU6ICR7KHsgJHNpemUgfSkgPT4ge1xuICAgIGlmICgkc2l6ZSA9PT0gJ21kJykgcmV0dXJuICcxNnB4J1xuICAgIGlmICgkc2l6ZSA9PT0gJ2NvbnRleHQnKSByZXR1cm4gJzIwcHgnXG4gICAgcmV0dXJuICcyOHB4J1xuICB9fTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogJHsoeyAkc2l6ZSB9KSA9PiB7XG4gICAgaWYgKCRzaXplID09PSAnbWQnKSByZXR1cm4gJzI0cHgnXG4gICAgaWYgKCRzaXplID09PSAnY29udGV4dCcpIHJldHVybiAnMjRweCdcbiAgICByZXR1cm4gJzMycHgnXG4gIH19O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbmBcblxuLyoqIEJsb3F1ZSB0w610dWxvICsgYmFqYWRhIChGaWdtYSBUaXRsZSk6IGdhcCAwIGVudHJlIGFtYm9zLiAqL1xuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVRpdGxlQmxvY2sgPSBzdHlsZWQuZGl2PHsgJGFsaWduPzogJ2NlbnRlcicgfCAnc3RhcnQnOyAkZnVsbFdpZHRoPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiAkeyh7ICRhbGlnbiB9KSA9PiAoJGFsaWduID09PSAnc3RhcnQnID8gJ2ZsZXgtc3RhcnQnIDogJ2NlbnRlcicpfTtcbiAgZ2FwOiAwO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBtYXgtd2lkdGg6ICR7KHsgJGZ1bGxXaWR0aCB9KSA9PiAoJGZ1bGxXaWR0aCA/ICcxMDAlJyA6ICczMjBweCcpfTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVN1YnRpdGxlID0gc3R5bGVkLnNwYW48eyAkYWxpZ24/OiAnY2VudGVyJyB8ICdzdGFydCc7ICRjb2xsYWJvcmF0b3JIb21lPzogYm9vbGVhbiB9PmBcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgY29sb3I6ICM0ZDRkNGQ7XG4gIHRleHQtYWxpZ246ICR7KHsgJGFsaWduIH0pID0+ICgkYWxpZ24gPT09ICdzdGFydCcgPyAnbGVmdCcgOiAnY2VudGVyJyl9O1xuICBmb250LWZhbWlseTogJ1dvcmsgU2Fucyc7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbiAgJHsoeyAkY29sbGFib3JhdG9ySG9tZSB9KSA9PlxuICAgICRjb2xsYWJvcmF0b3JIb21lICYmXG4gICAgYFxuICAgICYmIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIH1cbiAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUFnZW50SW5mbyA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogIzIwMjAxZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2Fucyc7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDExNSU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4xMnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lSW50cm9kdWN0aW9uID0gc3R5bGVkLnNwYW48eyBleHBhbmRlZD86IGJvb2xlYW4gfT5gXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGNvbG9yOiByZ2JhKDEwMiwgMTAyLCAxMDIsIDEpO1xuICBtYXgtd2lkdGg6ICR7cHJvcHMgPT4gKHByb3BzLmV4cGFuZGVkID8gJzQ4MnB4JyA6ICczNjBweCcpfTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICBvdmVyZmxvdy13cmFwOiBub3JtYWw7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVIb3dJdFdvcmtzID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjNmYzM2EwO1xuICBmb250LWZhbWlseTogV29yayBTYW5zO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjYWE2ZWRlO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5Q29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeVRpdGxlID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6IHJnYmEoMzIsIDMyLCAzMSwgMSk7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeURlc2NyaXB0aW9uID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6IHJnYmEoMTAyLCAxMDIsIDEwMiwgMSk7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0cyA9IHN0eWxlZC5kaXY8eyAkZml4ZWRDb250ZW50V2lkdGg/OiBudW1iZXI7ICRjb250ZW50R2FwPzogbnVtYmVyIH0+YFxuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogJHtwcm9wcyA9PiBwcm9wcy4kY29udGVudEdhcCA/PyAxMn1weDtcbiAgbWF4LXdpZHRoOiAke3Byb3BzID0+IChwcm9wcy4kZml4ZWRDb250ZW50V2lkdGggPyAnMTAwJScgOiAnNDMycHgnKX07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVDb2xsYWJvcmF0b3JTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogOHB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVJlY2VudENvbnRleHRzU2VjdGlvbkhlYWRlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDJweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0c1NlY3Rpb25UaXRsZSA9IHN0eWxlZC5zcGFuYFxuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBjb2xvcjogIzIwMjAyMDtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUmVjZW50Q29udGV4dHNTZWN0aW9uU3VidGl0bGUgPSBzdHlsZWQuc3BhbmBcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgY29sb3I6ICM4MDgwODA7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVJlY2VudENvbnRleHRzVGl0bGUgPSBzdHlsZWQuc3BhbmBcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDZweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6ICM0ZDRkNGQ7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUmVjZW50Q29udGV4dHNMaXN0ID0gc3R5bGVkLmRpdjx7ICRmbHVzaFBpbGxzPzogYm9vbGVhbiB9PmBcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogJHtwcm9wcyA9PiAocHJvcHMuJGZsdXNoUGlsbHMgPyAnMCcgOiAnMCA2cHgnKX07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbCA9IHN0eWxlZC5idXR0b248eyAkZnVsbFdpZHRoPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgZ2FwOiA0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6ICR7cHJvcHMgPT4gKHByb3BzLiRmdWxsV2lkdGggPyAnMTAwJScgOiAnNDM4cHgnKX07XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgbWluLXdpZHRoOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNHMgZWFzZTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVSZWNlbnRDb250ZXh0UGlsbEljb24gPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxUZXh0ID0gc3R5bGVkLnNwYW5gXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtaW4td2lkdGg6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiAjMjAyMDIwO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2Fucyc7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUmVjZW50Q29udGV4dFBpbGxTa2VsZXRvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDQzOHB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQyLCAyNDIsIDI0MiwgMSk7XG4gIGFuaW1hdGlvbjogJHtyZWNlbnRDb250ZXh0TG9hZGluZ30gMS4ycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVFBQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTJweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZVFBVGl0bGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogNnB4O1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUUFUaXRsZVRleHQgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogJHtWSU9MRVRfSUFfQ09MT1JTWzUwMF19O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUUFJdGVtID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmc6IDZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lUUFJdGVtVGV4dCA9IHN0eWxlZC5zcGFuYFxuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiByZ2IoMTAyLCAxMDIsIDEwMik7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkUUFDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDE2cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAzNnB4O1xuICBmbGV4OiAxO1xuXG4gIC5DaGF0QUlIb21lLXFhLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgY29sb3I6ICR7R0xPQkFMX0NPTE9SUy5wcmltYXJ5fTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgcGFkZGluZzogMCA2cHg7XG4gIH1cblxuICAuQ2hhdEFJSG9tZS1xYS1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMnB4O1xuXG4gICAgLkNoYXRBSUhvbWUtcWEtaXRlbSB7XG4gICAgICBjb2xvcjogJHtjb2xvcnMudGV4dC5zZWNvbmRhcnl9O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogOHB4O1xuICAgICAgcGFkZGluZzogNnB4O1xuICAgIH1cbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUhXcmFwcGVyU3VtbWFyeVByb2plY3QgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI0MiwgMjQyLCAyNDIsIDEpO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA0MzJweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB0cmFuc2l0aW9uOlxuICAgIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dCxcbiAgICB0cmFuc2Zvcm0gMC4xcyBlYXNlLWluLW91dDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGdhcDogMTJweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUNyZWF0ZWRCeUxpbmUgPSBzdHlsZWQuZGl2YFxuICBmbGV4OiAxO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjUpO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dCA9IHN0eWxlZC5zcGFuYFxuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjOTk5OTk5O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0TmFtZSA9IHN0eWxlZC5zcGFuYFxuICBmb250LXN0eWxlOiBpdGFsaWM7XG5gXG5cbmNvbnN0IGdyYWRpZW50UHVsc2UxID0ga2V5ZnJhbWVzYFxuICAwJSwgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwLjg1KTtcbiAgfVxuYFxuXG5jb25zdCBncmFkaWVudFB1bHNlMiA9IGtleWZyYW1lc2BcbiAgMCUsIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwLjg1KTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG4gIH1cbmBcbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVJY29uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSUhvbWVHcmFkaWVudDEgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCg1MCUgNTAlIGF0IDUwJSAxMDAlLCAjZmZmZmYgMCUsICNmZmZmZmYgMTAwJSk7XG4gIGZpbHRlcjogYmx1cigyNXB4KTtcbiAgYW5pbWF0aW9uOiAke2dyYWRpZW50UHVsc2UxfSAzcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgei1pbmRleDogMDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUdyYWRpZW50MiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KDUwJSA1MCUgYXQgNTAlIDEwMCUsICNmZmZmZmYgMCUsICNmZmZmZmYgMTAwJSk7XG4gIGZpbHRlcjogYmx1cigyNXB4KTtcbiAgYW5pbWF0aW9uOiAke2dyYWRpZW50UHVsc2UyfSAzcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgei1pbmRleDogMDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJSG9tZUxvZ29XcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsRUFBRUMsU0FBUyxRQUFRLG1CQUFtQjtBQUMxRCxPQUFPQyxNQUFNLE1BQU0sbUNBQW1DO0FBRXRELFNBQVNDLGFBQWEsRUFBRUMsZ0JBQWdCLFFBQVEsd0JBQXdCOztBQUV4RTtBQUNBLE9BQU8sSUFBTUMsOENBQThDLEdBQUcsR0FBRztBQUVqRSxTQUFTQywyQkFBMkJBLENBQUNDLEtBTXBDLEVBQVU7RUFDVDtFQUNBLElBQUlBLEtBQUssQ0FBQ0MsV0FBVyxFQUFFLE9BQU8sWUFBWTtFQUMxQyxJQUFJRCxLQUFLLENBQUNFLHFCQUFxQixJQUFJRixLQUFLLENBQUNHLGlCQUFpQixFQUFFLE9BQU8sYUFBYTtFQUNoRixJQUFJSCxLQUFLLENBQUNJLFFBQVEsSUFBSUosS0FBSyxDQUFDSyxZQUFZLEVBQUUsT0FBTyxZQUFZO0VBQzdELE9BQU8sUUFBUTtBQUNqQjtBQUVBLFNBQVNDLG1DQUFtQ0EsQ0FBQ04sS0FLNUMsRUFBVTtFQUNULElBQUlBLEtBQUssQ0FBQ0MsV0FBVyxFQUFFLE9BQU8sWUFBWTtFQUMxQyxJQUFJRCxLQUFLLENBQUNFLHFCQUFxQixJQUFJRixLQUFLLENBQUNHLGlCQUFpQixFQUFFLE9BQU8sYUFBYTtFQUNoRixJQUFJSCxLQUFLLENBQUNLLFlBQVksRUFBRSxPQUFPLFlBQVk7RUFDM0MsT0FBTyxRQUFRO0FBQ2pCO0FBRUEsSUFBTUUsTUFBTSxHQUFHYixTQUFTLG9DQU92QjtBQUVELElBQU1jLG9CQUFvQixHQUFHZCxTQUFTLDREQVVyQztBQUVELE9BQU8sSUFBTWUsa0JBQWtCLEdBQUdqQixNQUFNLENBQUNrQixHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFB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
@@ -6,7 +6,6 @@ import { useState, useCallback } from 'react';
6
6
  import { ArrowRight } from '@projectcor/icons/lib/components/ArrowRight';
7
7
  import { useT } from '../../../hooks/useT';
8
8
  import { useSnackBarManager } from '../../../hooks/useSnackBarManager/useSnackBarManager';
9
- import { useUsageStore } from '../../../store/useUsageStore';
10
9
  import { fetchAgentDetailAndParsedForAbm } from '../../../services/maia/Agents/fetchAgentDetail';
11
10
  import { SCSuggestionsWrapper, SCSuggestionsTitle, SCSuggestionsList, SCSuggestionButton, SCSuggestionText } from './ChatAISuggestions.styles';
12
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -20,48 +19,38 @@ export var ChatAICreateAgentActions = function ChatAICreateAgentActions(_ref) {
20
19
  t = _useT.t;
21
20
  var _useSnackBarManager = useSnackBarManager(),
22
21
  handleSnackbarError = _useSnackBarManager.handleSnackbarError;
23
- var usageBlocked = useUsageStore(function (state) {
24
- return state.blocked;
25
- });
26
22
  var _useState = useState(null),
27
23
  _useState2 = _slicedToArray(_useState, 2),
28
24
  busy = _useState2[0],
29
25
  setBusy = _useState2[1];
30
- var isActionDisabled = disabled || hidden || usageBlocked;
31
26
  var runAction = useCallback(/*#__PURE__*/function () {
32
27
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(action) {
33
28
  var _yield$fetchAgentDeta, chatAgent, abmParsed, message, _t;
34
29
  return _regeneratorRuntime.wrap(function (_context) {
35
30
  while (1) switch (_context.prev = _context.next) {
36
31
  case 0:
37
- if (!(!(agentId !== null && agentId !== void 0 && agentId.trim()) || isActionDisabled || busy)) {
32
+ if (!(!(agentId !== null && agentId !== void 0 && agentId.trim()) || disabled || hidden || busy)) {
38
33
  _context.next = 1;
39
34
  break;
40
35
  }
41
36
  return _context.abrupt("return");
42
37
  case 1:
43
- if (!(action === 'knowledge' && usageBlocked)) {
38
+ if (window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS) {
44
39
  _context.next = 2;
45
40
  break;
46
41
  }
47
42
  return _context.abrupt("return");
48
43
  case 2:
49
- if (window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS) {
50
- _context.next = 3;
51
- break;
52
- }
53
- return _context.abrupt("return");
54
- case 3:
55
44
  setBusy(action);
56
- _context.prev = 4;
57
- _context.next = 5;
45
+ _context.prev = 3;
46
+ _context.next = 4;
58
47
  return fetchAgentDetailAndParsedForAbm(agentId);
59
- case 5:
48
+ case 4:
60
49
  _yield$fetchAgentDeta = _context.sent;
61
50
  chatAgent = _yield$fetchAgentDeta.chatAgent;
62
51
  abmParsed = _yield$fetchAgentDeta.abmParsed;
63
52
  if (!(action === 'start_chat')) {
64
- _context.next = 6;
53
+ _context.next = 5;
65
54
  break;
66
55
  }
67
56
  // Igual que ChatAIMyAgents: setProject/client, selectAgent, volver al home del modal
@@ -71,7 +60,7 @@ export var ChatAICreateAgentActions = function ChatAICreateAgentActions(_ref) {
71
60
  }
72
61
  }));
73
62
  return _context.abrupt("return");
74
- case 6:
63
+ case 5:
75
64
  document.dispatchEvent(new CustomEvent('abm-agent-modal-set-values', {
76
65
  detail: {
77
66
  agentValues: {
@@ -88,27 +77,27 @@ export var ChatAICreateAgentActions = function ChatAICreateAgentActions(_ref) {
88
77
  }
89
78
  }
90
79
  }));
91
- _context.next = 8;
80
+ _context.next = 7;
92
81
  break;
93
- case 7:
94
- _context.prev = 7;
95
- _t = _context["catch"](4);
82
+ case 6:
83
+ _context.prev = 6;
84
+ _t = _context["catch"](3);
96
85
  message = _t instanceof Error ? _t.message : t('chat.createAgentActionLoadError');
97
86
  handleSnackbarError(message);
98
- case 8:
99
- _context.prev = 8;
87
+ case 7:
88
+ _context.prev = 7;
100
89
  setBusy(null);
101
- return _context.finish(8);
102
- case 9:
90
+ return _context.finish(7);
91
+ case 8:
103
92
  case "end":
104
93
  return _context.stop();
105
94
  }
106
- }, _callee, null, [[4, 7, 8, 9]]);
95
+ }, _callee, null, [[3, 6, 7, 8]]);
107
96
  }));
108
97
  return function (_x) {
109
98
  return _ref2.apply(this, arguments);
110
99
  };
111
- }(), [agentId, isActionDisabled, busy, handleSnackbarError, t, usageBlocked]);
100
+ }(), [agentId, disabled, hidden, busy, handleSnackbarError, t]);
112
101
  if (!window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS) return null;
113
102
  return /*#__PURE__*/_jsxs(SCSuggestionsWrapper, {
114
103
  $hidden: hidden,
@@ -120,7 +109,7 @@ export var ChatAICreateAgentActions = function ChatAICreateAgentActions(_ref) {
120
109
  onClick: function onClick() {
121
110
  return runAction('start_chat');
122
111
  },
123
- disabled: isActionDisabled || busy !== null,
112
+ disabled: disabled || hidden || busy !== null,
124
113
  children: [/*#__PURE__*/_jsx(ArrowRight, {
125
114
  width: 12,
126
115
  height: 12,
@@ -133,7 +122,7 @@ export var ChatAICreateAgentActions = function ChatAICreateAgentActions(_ref) {
133
122
  onClick: function onClick() {
134
123
  return runAction('knowledge');
135
124
  },
136
- disabled: isActionDisabled || busy !== null,
125
+ disabled: disabled || hidden || busy !== null,
137
126
  children: [/*#__PURE__*/_jsx(ArrowRight, {
138
127
  width: 12,
139
128
  height: 12,
@@ -145,4 +134,4 @@ export var ChatAICreateAgentActions = function ChatAICreateAgentActions(_ref) {
145
134
  })]
146
135
  });
147
136
  };
148
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwiQXJyb3dSaWdodCIsInVzZVQiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJ1c2VVc2FnZVN0b3JlIiwiZmV0Y2hBZ2VudERldGFpbEFuZFBhcnNlZEZvckFibSIsIlNDU3VnZ2VzdGlvbnNXcmFwcGVyIiwiU0NTdWdnZXN0aW9uc1RpdGxlIiwiU0NTdWdnZXN0aW9uc0xpc3QiLCJTQ1N1Z2dlc3Rpb25CdXR0b24iLCJTQ1N1Z2dlc3Rpb25UZXh0IiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkNoYXRBSUNyZWF0ZUFnZW50QWN0aW9ucyIsIl9yZWYiLCJhZ2VudElkIiwiX3JlZiRoaWRkZW4iLCJoaWRkZW4iLCJfcmVmJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfdXNlVCIsInQiLCJfdXNlU25hY2tCYXJNYW5hZ2VyIiwiaGFuZGxlU25hY2tiYXJFcnJvciIsInVzYWdlQmxvY2tlZCIsInN0YXRlIiwiYmxvY2tlZCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImJ1c3kiLCJzZXRCdXN5IiwiaXNBY3Rpb25EaXNhYmxlZCIsInJ1bkFjdGlvbiIsIl9yZWYyIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJhY3Rpb24iLCJfeWllbGQkZmV0Y2hBZ2VudERldGEiLCJjaGF0QWdlbnQiLCJhYm1QYXJzZWQiLCJtZXNzYWdlIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInRyaW0iLCJhYnJ1cHQiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwic2VudCIsImRvY3VtZW50IiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwiYWdlbnQiLCJhZ2VudFZhbHVlcyIsInZhbHVlcyIsImlzRWRpdGluZyIsImdlbmVyYWwiLCJpZCIsIm5hbWUiLCJwcmVmZXRjaGVkQWdlbnRCeUlkIiwiaXNPcGVuIiwiaW5pdGlhbFNlY3Rpb24iLCJFcnJvciIsImZpbmlzaCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiJGhpZGRlbiIsImNoaWxkcmVuIiwidHlwZSIsIm9uQ2xpY2siLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1lc3NhZ2VzL0NoYXRBSUNyZWF0ZUFnZW50QWN0aW9ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvZnVuY3Rpb24tY29tcG9uZW50LWRlZmluaXRpb24gKi9cbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQXJyb3dSaWdodCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Fycm93UmlnaHQnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVCdcbmltcG9ydCB7IHVzZVNuYWNrQmFyTWFuYWdlciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVNuYWNrQmFyTWFuYWdlci91c2VTbmFja0Jhck1hbmFnZXInXG5pbXBvcnQgeyB1c2VVc2FnZVN0b3JlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvdXNlVXNhZ2VTdG9yZSdcbmltcG9ydCB7IGZldGNoQWdlbnREZXRhaWxBbmRQYXJzZWRGb3JBYm0gfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYWlhL0FnZW50cy9mZXRjaEFnZW50RGV0YWlsJ1xuaW1wb3J0IHtcbiAgU0NTdWdnZXN0aW9uc1dyYXBwZXIsXG4gIFNDU3VnZ2VzdGlvbnNUaXRsZSxcbiAgU0NTdWdnZXN0aW9uc0xpc3QsXG4gIFNDU3VnZ2VzdGlvbkJ1dHRvbixcbiAgU0NTdWdnZXN0aW9uVGV4dCxcbn0gZnJvbSAnLi9DaGF0QUlTdWdnZXN0aW9ucy5zdHlsZXMnXG5cbmV4cG9ydCB0eXBlIENyZWF0ZUFnZW50Rm9sbG93VXBBY3Rpb24gPSAnc3RhcnRfY2hhdCcgfCAna25vd2xlZGdlJ1xuXG50eXBlIENoYXRBSUNyZWF0ZUFnZW50QWN0aW9uc1Byb3BzID0ge1xuICBhZ2VudElkOiBzdHJpbmdcbiAgaGlkZGVuPzogYm9vbGVhblxuICBkaXNhYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IENoYXRBSUNyZWF0ZUFnZW50QWN0aW9ucyA9ICh7XG4gIGFnZW50SWQsXG4gIGhpZGRlbiA9IGZhbHNlLFxuICBkaXNhYmxlZCA9IGZhbHNlLFxufTogQ2hhdEFJQ3JlYXRlQWdlbnRBY3Rpb25zUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUKClcbiAgY29uc3QgeyBoYW5kbGVTbmFja2JhckVycm9yIH0gPSB1c2VTbmFja0Jhck1hbmFnZXIoKVxuICBjb25zdCB1c2FnZUJsb2NrZWQgPSB1c2VVc2FnZVN0b3JlKHN0YXRlID0+IHN0YXRlLmJsb2NrZWQpXG4gIGNvbnN0IFtidXN5LCBzZXRCdXN5XSA9IHVzZVN0YXRlPENyZWF0ZUFnZW50Rm9sbG93VXBBY3Rpb24gfCBudWxsPihudWxsKVxuICBjb25zdCBpc0FjdGlvbkRpc2FibGVkID0gZGlzYWJsZWQgfHwgaGlkZGVuIHx8IHVzYWdlQmxvY2tlZFxuXG4gIGNvbnN0IHJ1bkFjdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChhY3Rpb246IENyZWF0ZUFnZW50Rm9sbG93VXBBY3Rpb24pID0+IHtcbiAgICAgIGlmICghYWdlbnRJZD8udHJpbSgpIHx8IGlzQWN0aW9uRGlzYWJsZWQgfHwgYnVzeSkgcmV0dXJuXG4gICAgICBpZiAoYWN0aW9uID09PSAna25vd2xlZGdlJyAmJiB1c2FnZUJsb2NrZWQpIHJldHVyblxuICAgICAgaWYgKCF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgc2V0QnVzeShhY3Rpb24pXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB7IGNoYXRBZ2VudCwgYWJtUGFyc2VkIH0gPSBhd2FpdCBmZXRjaEFnZW50RGV0YWlsQW5kUGFyc2VkRm9yQWJtKGFnZW50SWQpXG4gICAgICAgIGlmIChhY3Rpb24gPT09ICdzdGFydF9jaGF0Jykge1xuICAgICAgICAgIC8vIElndWFsIHF1ZSBDaGF0QUlNeUFnZW50czogc2V0UHJvamVjdC9jbGllbnQsIHNlbGVjdEFnZW50LCB2b2x2ZXIgYWwgaG9tZSBkZWwgbW9kYWxcbiAgICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KCdtYWlhLW9wZW4tbmV3LWNoYXQtd2l0aC1hZ2VudCcsIHtcbiAgICAgICAgICAgICAgZGV0YWlsOiB7IGFnZW50OiBjaGF0QWdlbnQgfSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgIGFnZW50VmFsdWVzOiB7XG4gICAgICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgICAgICBpc0VkaXRpbmc6IHRydWUsXG4gICAgICAgICAgICAgICAgICBnZW5lcmFsOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBhYm1QYXJzZWQuaWQsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGFibVBhcnNlZC5uYW1lLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHByZWZldGNoZWRBZ2VudEJ5SWQ6IGFibVBhcnNlZCxcbiAgICAgICAgICAgICAgICBpc09wZW46IHRydWUsXG4gICAgICAgICAgICAgICAgaW5pdGlhbFNlY3Rpb246ICdrbm93bGVkZ2UnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlIGluc3RhbmNlb2YgRXJyb3IgPyBlLm1lc3NhZ2UgOiB0KCdjaGF0LmNyZWF0ZUFnZW50QWN0aW9uTG9hZEVycm9yJylcbiAgICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcihtZXNzYWdlKVxuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0QnVzeShudWxsKVxuICAgICAgfVxuICAgIH0sXG4gICAgW2FnZW50SWQsIGlzQWN0aW9uRGlzYWJsZWQsIGJ1c3ksIGhhbmRsZVNuYWNrYmFyRXJyb3IsIHQsIHVzYWdlQmxvY2tlZF1cbiAgKVxuXG4gIGlmICghd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMpIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIChcbiAgICA8U0NTdWdnZXN0aW9uc1dyYXBwZXIgJGhpZGRlbj17aGlkZGVufT5cbiAgICAgIDxTQ1N1Z2dlc3Rpb25zVGl0bGU+e3QoJ2NoYXQuY3JlYXRlQWdlbnRBY3Rpb25zVGl0bGUnKX08L1NDU3VnZ2VzdGlvbnNUaXRsZT5cbiAgICAgIDxTQ1N1Z2dlc3Rpb25zTGlzdD5cbiAgICAgICAgPFNDU3VnZ2VzdGlvbkJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHJ1bkFjdGlvbignc3RhcnRfY2hhdCcpfVxuICAgICAgICAgIGRpc2FibGVkPXtpc0FjdGlvbkRpc2FibGVkIHx8IGJ1c3kgIT09IG51bGx9XG4gICAgICAgID5cbiAgICAgICAgICA8QXJyb3dSaWdodCB3aWR0aD17MTJ9IGhlaWdodD17MTJ9IGNvbG9yPVwiIzIwMjAxRlwiIC8+XG4gICAgICAgICAgPFNDU3VnZ2VzdGlvblRleHQ+e3QoJ2NoYXQuY3JlYXRlQWdlbnRBY3Rpb25TdGFydENoYXQnKX08L1NDU3VnZ2VzdGlvblRleHQ+XG4gICAgICAgIDwvU0NTdWdnZXN0aW9uQnV0dG9uPlxuICAgICAgICA8U0NTdWdnZXN0aW9uQnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gcnVuQWN0aW9uKCdrbm93bGVkZ2UnKX1cbiAgICAgICAgICBkaXNhYmxlZD17aXNBY3Rpb25EaXNhYmxlZCB8fCBidXN5ICE9PSBudWxsfVxuICAgICAgICA+XG4gICAgICAgICAgPEFycm93UmlnaHQgd2lkdGg9ezEyfSBoZWlnaHQ9ezEyfSBjb2xvcj1cIiMyMDIwMUZcIiAvPlxuICAgICAgICAgIDxTQ1N1Z2dlc3Rpb25UZXh0Pnt0KCdjaGF0LmNyZWF0ZUFnZW50QWN0aW9uS25vd2xlZGdlJyl9PC9TQ1N1Z2dlc3Rpb25UZXh0PlxuICAgICAgICA8L1NDU3VnZ2VzdGlvbkJ1dHRvbj5cbiAgICAgIDwvU0NTdWdnZXN0aW9uc0xpc3Q+XG4gICAgPC9TQ1N1Z2dlc3Rpb25zV3JhcHBlcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQTtBQUNBLFNBQVNBLFFBQVEsRUFBRUMsV0FBVyxRQUFRLE9BQU87QUFDN0MsU0FBU0MsVUFBVSxRQUFRLDZDQUE2QztBQUN4RSxTQUFTQyxJQUFJLFFBQVEscUJBQXFCO0FBQzFDLFNBQVNDLGtCQUFrQixRQUFRLHNEQUFzRDtBQUN6RixTQUFTQyxhQUFhLFFBQVEsOEJBQThCO0FBQzVELFNBQVNDLCtCQUErQixRQUFRLGdEQUFnRDtBQUNoRyxTQUNFQyxvQkFBb0IsRUFDcEJDLGtCQUFrQixFQUNsQkMsaUJBQWlCLEVBQ2pCQyxrQkFBa0IsRUFDbEJDLGdCQUFnQixRQUNYLDRCQUE0QjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFVbkMsT0FBTyxJQUFN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
137
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwiQXJyb3dSaWdodCIsInVzZVQiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJmZXRjaEFnZW50RGV0YWlsQW5kUGFyc2VkRm9yQWJtIiwiU0NTdWdnZXN0aW9uc1dyYXBwZXIiLCJTQ1N1Z2dlc3Rpb25zVGl0bGUiLCJTQ1N1Z2dlc3Rpb25zTGlzdCIsIlNDU3VnZ2VzdGlvbkJ1dHRvbiIsIlNDU3VnZ2VzdGlvblRleHQiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQ2hhdEFJQ3JlYXRlQWdlbnRBY3Rpb25zIiwiX3JlZiIsImFnZW50SWQiLCJfcmVmJGhpZGRlbiIsImhpZGRlbiIsIl9yZWYkZGlzYWJsZWQiLCJkaXNhYmxlZCIsIl91c2VUIiwidCIsIl91c2VTbmFja0Jhck1hbmFnZXIiLCJoYW5kbGVTbmFja2JhckVycm9yIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiYnVzeSIsInNldEJ1c3kiLCJydW5BY3Rpb24iLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiYWN0aW9uIiwiX3lpZWxkJGZldGNoQWdlbnREZXRhIiwiY2hhdEFnZW50IiwiYWJtUGFyc2VkIiwibWVzc2FnZSIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJ0cmltIiwiYWJydXB0Iiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyIsInNlbnQiLCJkb2N1bWVudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsImFnZW50IiwiYWdlbnRWYWx1ZXMiLCJ2YWx1ZXMiLCJpc0VkaXRpbmciLCJnZW5lcmFsIiwiaWQiLCJuYW1lIiwicHJlZmV0Y2hlZEFnZW50QnlJZCIsImlzT3BlbiIsImluaXRpYWxTZWN0aW9uIiwiRXJyb3IiLCJmaW5pc2giLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsIiRoaWRkZW4iLCJjaGlsZHJlbiIsInR5cGUiLCJvbkNsaWNrIiwid2lkdGgiLCJoZWlnaHQiLCJjb2xvciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNZXNzYWdlcy9DaGF0QUlDcmVhdGVBZ2VudEFjdGlvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2Z1bmN0aW9uLWNvbXBvbmVudC1kZWZpbml0aW9uICovXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEFycm93UmlnaHQgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9BcnJvd1JpZ2h0J1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyB1c2VTbmFja0Jhck1hbmFnZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VTbmFja0Jhck1hbmFnZXIvdXNlU25hY2tCYXJNYW5hZ2VyJ1xuaW1wb3J0IHsgZmV0Y2hBZ2VudERldGFpbEFuZFBhcnNlZEZvckFibSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvQWdlbnRzL2ZldGNoQWdlbnREZXRhaWwnXG5pbXBvcnQge1xuICBTQ1N1Z2dlc3Rpb25zV3JhcHBlcixcbiAgU0NTdWdnZXN0aW9uc1RpdGxlLFxuICBTQ1N1Z2dlc3Rpb25zTGlzdCxcbiAgU0NTdWdnZXN0aW9uQnV0dG9uLFxuICBTQ1N1Z2dlc3Rpb25UZXh0LFxufSBmcm9tICcuL0NoYXRBSVN1Z2dlc3Rpb25zLnN0eWxlcydcblxuZXhwb3J0IHR5cGUgQ3JlYXRlQWdlbnRGb2xsb3dVcEFjdGlvbiA9ICdzdGFydF9jaGF0JyB8ICdrbm93bGVkZ2UnXG5cbnR5cGUgQ2hhdEFJQ3JlYXRlQWdlbnRBY3Rpb25zUHJvcHMgPSB7XG4gIGFnZW50SWQ6IHN0cmluZ1xuICBoaWRkZW4/OiBib29sZWFuXG4gIGRpc2FibGVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgQ2hhdEFJQ3JlYXRlQWdlbnRBY3Rpb25zID0gKHtcbiAgYWdlbnRJZCxcbiAgaGlkZGVuID0gZmFsc2UsXG4gIGRpc2FibGVkID0gZmFsc2UsXG59OiBDaGF0QUlDcmVhdGVBZ2VudEFjdGlvbnNQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCB7IGhhbmRsZVNuYWNrYmFyRXJyb3IgfSA9IHVzZVNuYWNrQmFyTWFuYWdlcigpXG4gIGNvbnN0IFtidXN5LCBzZXRCdXN5XSA9IHVzZVN0YXRlPENyZWF0ZUFnZW50Rm9sbG93VXBBY3Rpb24gfCBudWxsPihudWxsKVxuXG4gIGNvbnN0IHJ1bkFjdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChhY3Rpb246IENyZWF0ZUFnZW50Rm9sbG93VXBBY3Rpb24pID0+IHtcbiAgICAgIGlmICghYWdlbnRJZD8udHJpbSgpIHx8IGRpc2FibGVkIHx8IGhpZGRlbiB8fCBidXN5KSByZXR1cm5cbiAgICAgIGlmICghd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIHNldEJ1c3koYWN0aW9uKVxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyBjaGF0QWdlbnQsIGFibVBhcnNlZCB9ID0gYXdhaXQgZmV0Y2hBZ2VudERldGFpbEFuZFBhcnNlZEZvckFibShhZ2VudElkKVxuICAgICAgICBpZiAoYWN0aW9uID09PSAnc3RhcnRfY2hhdCcpIHtcbiAgICAgICAgICAvLyBJZ3VhbCBxdWUgQ2hhdEFJTXlBZ2VudHM6IHNldFByb2plY3QvY2xpZW50LCBzZWxlY3RBZ2VudCwgdm9sdmVyIGFsIGhvbWUgZGVsIG1vZGFsXG4gICAgICAgICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudCgnbWFpYS1vcGVuLW5ldy1jaGF0LXdpdGgtYWdlbnQnLCB7XG4gICAgICAgICAgICAgIGRldGFpbDogeyBhZ2VudDogY2hhdEFnZW50IH0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KCdhYm0tYWdlbnQtbW9kYWwtc2V0LXZhbHVlcycsIHtcbiAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgICAgIHZhbHVlczoge1xuICAgICAgICAgICAgICAgICAgaXNFZGl0aW5nOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgZ2VuZXJhbDoge1xuICAgICAgICAgICAgICAgICAgICBpZDogYWJtUGFyc2VkLmlkLFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBhYm1QYXJzZWQubmFtZSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBwcmVmZXRjaGVkQWdlbnRCeUlkOiBhYm1QYXJzZWQsXG4gICAgICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgICAgICAgIGluaXRpYWxTZWN0aW9uOiAna25vd2xlZGdlJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gZSBpbnN0YW5jZW9mIEVycm9yID8gZS5tZXNzYWdlIDogdCgnY2hhdC5jcmVhdGVBZ2VudEFjdGlvbkxvYWRFcnJvcicpXG4gICAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IobWVzc2FnZSlcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHNldEJ1c3kobnVsbClcbiAgICAgIH1cbiAgICB9LFxuICAgIFthZ2VudElkLCBkaXNhYmxlZCwgaGlkZGVuLCBidXN5LCBoYW5kbGVTbmFja2JhckVycm9yLCB0XVxuICApXG5cbiAgaWYgKCF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUykgcmV0dXJuIG51bGxcblxuICByZXR1cm4gKFxuICAgIDxTQ1N1Z2dlc3Rpb25zV3JhcHBlciAkaGlkZGVuPXtoaWRkZW59PlxuICAgICAgPFNDU3VnZ2VzdGlvbnNUaXRsZT57dCgnY2hhdC5jcmVhdGVBZ2VudEFjdGlvbnNUaXRsZScpfTwvU0NTdWdnZXN0aW9uc1RpdGxlPlxuICAgICAgPFNDU3VnZ2VzdGlvbnNMaXN0PlxuICAgICAgICA8U0NTdWdnZXN0aW9uQnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gcnVuQWN0aW9uKCdzdGFydF9jaGF0Jyl9XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkIHx8IGhpZGRlbiB8fCBidXN5ICE9PSBudWxsfVxuICAgICAgICA+XG4gICAgICAgICAgPEFycm93UmlnaHQgd2lkdGg9ezEyfSBoZWlnaHQ9ezEyfSBjb2xvcj1cIiMyMDIwMUZcIiAvPlxuICAgICAgICAgIDxTQ1N1Z2dlc3Rpb25UZXh0Pnt0KCdjaGF0LmNyZWF0ZUFnZW50QWN0aW9uU3RhcnRDaGF0Jyl9PC9TQ1N1Z2dlc3Rpb25UZXh0PlxuICAgICAgICA8L1NDU3VnZ2VzdGlvbkJ1dHRvbj5cbiAgICAgICAgPFNDU3VnZ2VzdGlvbkJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHJ1bkFjdGlvbigna25vd2xlZGdlJyl9XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkIHx8IGhpZGRlbiB8fCBidXN5ICE9PSBudWxsfVxuICAgICAgICA+XG4gICAgICAgICAgPEFycm93UmlnaHQgd2lkdGg9ezEyfSBoZWlnaHQ9ezEyfSBjb2xvcj1cIiMyMDIwMUZcIiAvPlxuICAgICAgICAgIDxTQ1N1Z2dlc3Rpb25UZXh0Pnt0KCdjaGF0LmNyZWF0ZUFnZW50QWN0aW9uS25vd2xlZGdlJyl9PC9TQ1N1Z2dlc3Rpb25UZXh0PlxuICAgICAgICA8L1NDU3VnZ2VzdGlvbkJ1dHRvbj5cbiAgICAgIDwvU0NTdWdnZXN0aW9uc0xpc3Q+XG4gICAgPC9TQ1N1Z2dlc3Rpb25zV3JhcHBlcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQTtBQUNBLFNBQVNBLFFBQVEsRUFBRUMsV0FBVyxRQUFRLE9BQU87QUFDN0MsU0FBU0MsVUFBVSxRQUFRLDZDQUE2QztBQUN4RSxTQUFTQyxJQUFJLFFBQVEscUJBQXFCO0FBQzFDLFNBQVNDLGtCQUFrQixRQUFRLHNEQUFzRDtBQUN6RixTQUFTQywrQkFBK0IsUUFBUSxnREFBZ0Q7QUFDaEcsU0FDRUMsb0JBQW9CLEVBQ3BCQyxrQkFBa0IsRUFDbEJDLGlCQUFpQixFQUNqQkMsa0JBQWtCLEVBQ2xCQyxnQkFBZ0IsUUFDWCw0QkFBNEI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBVW5DLE9BQU8sSUFBTUMsd0JBQXdCLEdBQUcsU0FBM0JBLHdCQUF3QkEsQ0FBQUMsSUFBQSxFQUlBO0VBQUEsSUFIbkNDLE9BQU8sR0FBQUQsSUFBQSxDQUFQQyxPQUFPO0lBQUFDLFdBQUEsR0FBQUYsSUFBQSxDQUNQRyxNQUFNO0lBQU5BLE1BQU0sR0FBQUQsV0FBQSxjQUFHLEtBQUssR0FBQUEsV0FBQTtJQUFBRSxhQUFBLEdBQUFKLElBQUEsQ0FDZEssUUFBUTtJQUFSQSxRQUFRLEdBQUFELGFBQUEsY0FBRyxLQUFLLEdBQUFBLGFBQUE7RUFFaEIsSUFBQUUsS0FBQSxHQUFjbkIsSUFBSSxDQUFDLENBQUM7SUFBWm9CLENBQUMsR0FBQUQsS0FBQSxDQUFEQyxDQUFDO0VBQ1QsSUFBQUMsbUJBQUEsR0FBZ0NwQixrQkFBa0IsQ0FBQyxDQUFD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
@@ -0,0 +1,104 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import { fireEvent, renderWithProviders, screen, waitFor } from '../../../test/test-utils';
4
+ import { fetchAgentDetailAndParsedForAbm } from '../../../services/maia/Agents/fetchAgentDetail';
5
+ import { ChatAICreateAgentActions } from './ChatAICreateAgentActions';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ jest.mock('../../../services/maia/Agents/fetchAgentDetail', function () {
8
+ return {
9
+ fetchAgentDetailAndParsedForAbm: jest.fn()
10
+ };
11
+ });
12
+ jest.mock('../../../hooks/useSnackBarManager/useSnackBarManager', function () {
13
+ return {
14
+ useSnackBarManager: function useSnackBarManager() {
15
+ return {
16
+ handleSnackbarError: jest.fn()
17
+ };
18
+ }
19
+ };
20
+ });
21
+ var fetchDetail = fetchAgentDetailAndParsedForAbm;
22
+ var flags = window;
23
+ describe('ChatAICreateAgentActions', function () {
24
+ beforeEach(function () {
25
+ flags.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS = true;
26
+ fetchDetail.mockResolvedValue({
27
+ chatAgent: {
28
+ id: 'a1',
29
+ name: 'Nuevo',
30
+ emoji: '✨',
31
+ type: 'custom'
32
+ },
33
+ abmParsed: {
34
+ id: 'a1',
35
+ name: 'Nuevo'
36
+ }
37
+ });
38
+ });
39
+ afterEach(function () {
40
+ delete flags.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
41
+ });
42
+ it('returns null without the multi-agents flag', function () {
43
+ delete flags.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
44
+ var _renderWithProviders = renderWithProviders(/*#__PURE__*/_jsx(ChatAICreateAgentActions, {
45
+ agentId: "a1"
46
+ })),
47
+ container = _renderWithProviders.container;
48
+ expect(container).toBeEmptyDOMElement();
49
+ });
50
+ it('opens a new chat with the created agent', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
51
+ var onOpen;
52
+ return _regeneratorRuntime.wrap(function (_context) {
53
+ while (1) switch (_context.prev = _context.next) {
54
+ case 0:
55
+ onOpen = jest.fn();
56
+ document.addEventListener('maia-open-new-chat-with-agent', onOpen);
57
+ renderWithProviders(/*#__PURE__*/_jsx(ChatAICreateAgentActions, {
58
+ agentId: "a1"
59
+ }));
60
+ fireEvent.click(screen.getByRole('button', {
61
+ name: 'chat.createAgentActionStartChat'
62
+ }));
63
+ _context.next = 1;
64
+ return waitFor(function () {
65
+ expect(fetchDetail).toHaveBeenCalledWith('a1');
66
+ expect(onOpen).toHaveBeenCalled();
67
+ });
68
+ case 1:
69
+ document.removeEventListener('maia-open-new-chat-with-agent', onOpen);
70
+ case 2:
71
+ case "end":
72
+ return _context.stop();
73
+ }
74
+ }, _callee);
75
+ })));
76
+ it('opens the ABM on the knowledge section', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
77
+ var onAbm, event;
78
+ return _regeneratorRuntime.wrap(function (_context2) {
79
+ while (1) switch (_context2.prev = _context2.next) {
80
+ case 0:
81
+ onAbm = jest.fn();
82
+ document.addEventListener('abm-agent-modal-set-values', onAbm);
83
+ renderWithProviders(/*#__PURE__*/_jsx(ChatAICreateAgentActions, {
84
+ agentId: "a1"
85
+ }));
86
+ fireEvent.click(screen.getByRole('button', {
87
+ name: 'chat.createAgentActionKnowledge'
88
+ }));
89
+ _context2.next = 1;
90
+ return waitFor(function () {
91
+ expect(onAbm).toHaveBeenCalled();
92
+ });
93
+ case 1:
94
+ event = onAbm.mock.calls[0][0];
95
+ expect(event.detail.agentValues.initialSection).toBe('knowledge');
96
+ document.removeEventListener('abm-agent-modal-set-values', onAbm);
97
+ case 2:
98
+ case "end":
99
+ return _context2.stop();
100
+ }
101
+ }, _callee2);
102
+ })));
103
+ });
104
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaXJlRXZlbnQiLCJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwid2FpdEZvciIsImZldGNoQWdlbnREZXRhaWxBbmRQYXJzZWRGb3JBYm0iLCJDaGF0QUlDcmVhdGVBZ2VudEFjdGlvbnMiLCJqc3giLCJfanN4IiwiamVzdCIsIm1vY2siLCJmbiIsInVzZVNuYWNrQmFyTWFuYWdlciIsImhhbmRsZVNuYWNrYmFyRXJyb3IiLCJmZXRjaERldGFpbCIsImZsYWdzIiwid2luZG93IiwiZGVzY3JpYmUiLCJiZWZvcmVFYWNoIiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyIsIm1vY2tSZXNvbHZlZFZhbHVlIiwiY2hhdEFnZW50IiwiaWQiLCJuYW1lIiwiZW1vamkiLCJ0eXBlIiwiYWJtUGFyc2VkIiwiYWZ0ZXJFYWNoIiwiaXQiLCJfcmVuZGVyV2l0aFByb3ZpZGVycyIsImFnZW50SWQiLCJjb250YWluZXIiLCJleHBlY3QiLCJ0b0JlRW1wdHlET01FbGVtZW50IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJvbk9wZW4iLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImNsaWNrIiwiZ2V0QnlSb2xlIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJ0b0hhdmVCZWVuQ2FsbGVkIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInN0b3AiLCJfY2FsbGVlMiIsIm9uQWJtIiwiZXZlbnQiLCJfY29udGV4dDIiLCJjYWxscyIsImRldGFpbCIsImFnZW50VmFsdWVzIiwiaW5pdGlhbFNlY3Rpb24iLCJ0b0JlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1lc3NhZ2VzL0NoYXRBSUNyZWF0ZUFnZW50QWN0aW9ucy5zcGVjLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaXJlRXZlbnQsIHJlbmRlcldpdGhQcm92aWRlcnMsIHNjcmVlbiwgd2FpdEZvciB9IGZyb20gJy4uLy4uLy4uL3Rlc3QvdGVzdC11dGlscydcbmltcG9ydCB7IGZldGNoQWdlbnREZXRhaWxBbmRQYXJzZWRGb3JBYm0gfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYWlhL0FnZW50cy9mZXRjaEFnZW50RGV0YWlsJ1xuaW1wb3J0IHsgQ2hhdEFJQ3JlYXRlQWdlbnRBY3Rpb25zIH0gZnJvbSAnLi9DaGF0QUlDcmVhdGVBZ2VudEFjdGlvbnMnXG5cbmplc3QubW9jaygnLi4vLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvZmV0Y2hBZ2VudERldGFpbCcsICgpID0+ICh7XG4gIGZldGNoQWdlbnREZXRhaWxBbmRQYXJzZWRGb3JBYm06IGplc3QuZm4oKSxcbn0pKVxuXG5qZXN0Lm1vY2soJy4uLy4uLy4uL2hvb2tzL3VzZVNuYWNrQmFyTWFuYWdlci91c2VTbmFja0Jhck1hbmFnZXInLCAoKSA9PiAoe1xuICB1c2VTbmFja0Jhck1hbmFnZXI6ICgpID0+ICh7IGhhbmRsZVNuYWNrYmFyRXJyb3I6IGplc3QuZm4oKSB9KSxcbn0pKVxuXG5jb25zdCBmZXRjaERldGFpbCA9IGZldGNoQWdlbnREZXRhaWxBbmRQYXJzZWRGb3JBYm0gYXMgamVzdC5Nb2NrZWRGdW5jdGlvbjx0eXBlb2YgZmV0Y2hBZ2VudERldGFpbEFuZFBhcnNlZEZvckFibT5cblxudHlwZSBNdWx0aUFnZW50V2luZG93ID0gV2luZG93ICYgeyBNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTPzogYm9vbGVhbiB9XG5cbmNvbnN0IGZsYWdzID0gd2luZG93IGFzIE11bHRpQWdlbnRXaW5kb3dcblxuZGVzY3JpYmUoJ0NoYXRBSUNyZWF0ZUFnZW50QWN0aW9ucycsICgpID0+IHtcbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgZmxhZ3MuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyA9IHRydWVcbiAgICBmZXRjaERldGFpbC5tb2NrUmVzb2x2ZWRWYWx1ZSh7XG4gICAgICBjaGF0QWdlbnQ6IHsgaWQ6ICdhMScsIG5hbWU6ICdOdWV2bycsIGVtb2ppOiAn4pyoJywgdHlwZTogJ2N1c3RvbScgfSxcbiAgICAgIGFibVBhcnNlZDogeyBpZDogJ2ExJywgbmFtZTogJ051ZXZvJyB9LFxuICAgIH0gYXMgQXdhaXRlZDxSZXR1cm5UeXBlPHR5cGVvZiBmZXRjaEFnZW50RGV0YWlsQW5kUGFyc2VkRm9yQWJtPj4pXG4gIH0pXG5cbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICBkZWxldGUgZmxhZ3MuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICB9KVxuXG4gIGl0KCdyZXR1cm5zIG51bGwgd2l0aG91dCB0aGUgbXVsdGktYWdlbnRzIGZsYWcnLCAoKSA9PiB7XG4gICAgZGVsZXRlIGZsYWdzLk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyV2l0aFByb3ZpZGVycyg8Q2hhdEFJQ3JlYXRlQWdlbnRBY3Rpb25zIGFnZW50SWQ9XCJhMVwiIC8+KVxuXG4gICAgZXhwZWN0KGNvbnRhaW5lcikudG9CZUVtcHR5RE9NRWxlbWVudCgpXG4gIH0pXG5cbiAgaXQoJ29wZW5zIGEgbmV3IGNoYXQgd2l0aCB0aGUgY3JlYXRlZCBhZ2VudCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBvbk9wZW4gPSBqZXN0LmZuKClcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtYWlhLW9wZW4tbmV3LWNoYXQtd2l0aC1hZ2VudCcsIG9uT3BlbilcblxuICAgIHJlbmRlcldpdGhQcm92aWRlcnMoPENoYXRBSUNyZWF0ZUFnZW50QWN0aW9ucyBhZ2VudElkPVwiYTFcIiAvPilcbiAgICBmaXJlRXZlbnQuY2xpY2soc2NyZWVuLmdldEJ5Um9sZSgnYnV0dG9uJywgeyBuYW1lOiAnY2hhdC5jcmVhdGVBZ2VudEFjdGlvblN0YXJ0Q2hhdCcgfSkpXG5cbiAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHtcbiAgICAgIGV4cGVjdChmZXRjaERldGFpbCkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ2ExJylcbiAgICAgIGV4cGVjdChvbk9wZW4pLnRvSGF2ZUJlZW5DYWxsZWQoKVxuICAgIH0pXG5cbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtYWlhLW9wZW4tbmV3LWNoYXQtd2l0aC1hZ2VudCcsIG9uT3BlbilcbiAgfSlcblxuICBpdCgnb3BlbnMgdGhlIEFCTSBvbiB0aGUga25vd2xlZGdlIHNlY3Rpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb25BYm0gPSBqZXN0LmZuKClcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdhYm0tYWdlbnQtbW9kYWwtc2V0LXZhbHVlcycsIG9uQWJtKVxuXG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyg8Q2hhdEFJQ3JlYXRlQWdlbnRBY3Rpb25zIGFnZW50SWQ9XCJhMVwiIC8+KVxuICAgIGZpcmVFdmVudC5jbGljayhzY3JlZW4uZ2V0QnlSb2xlKCdidXR0b24nLCB7IG5hbWU6ICdjaGF0LmNyZWF0ZUFnZW50QWN0aW9uS25vd2xlZGdlJyB9KSlcblxuICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4ge1xuICAgICAgZXhwZWN0KG9uQWJtKS50b0hhdmVCZWVuQ2FsbGVkKClcbiAgICB9KVxuXG4gICAgY29uc3QgZXZlbnQgPSBvbkFibS5tb2NrLmNhbGxzWzBdWzBdIGFzIEN1c3RvbUV2ZW50XG4gICAgZXhwZWN0KGV2ZW50LmRldGFpbC5hZ2VudFZhbHVlcy5pbml0aWFsU2VjdGlvbikudG9CZSgna25vd2xlZGdlJylcblxuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FibS1hZ2VudC1tb2RhbC1zZXQtdmFsdWVzJywgb25BYm0pXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiOztB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