@projectcor/maia-components 2.11.110-1 → 2.26.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 (668) hide show
  1. package/README.md +2 -0
  2. package/package.json +3 -3
  3. package/CHANGELOG.md +0 -642
  4. package/lib/App.js +0 -55
  5. package/lib/components/atoms/ActionableButton.js +0 -60
  6. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.js +0 -89
  7. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.styles.js +0 -21
  8. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.utils.js +0 -9
  9. package/lib/components/atoms/AgentActivityIndicator/index.js +0 -2
  10. package/lib/components/atoms/ApprovalBox/ApprovalBox.js +0 -209
  11. package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +0 -93
  12. package/lib/components/atoms/ApprovalBox/index.js +0 -2
  13. package/lib/components/atoms/AttachmentCard/AttachmentCard.js +0 -218
  14. package/lib/components/atoms/AttachmentCard/AttachmentCard.styles.js +0 -52
  15. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.js +0 -448
  16. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.styles.js +0 -58
  17. package/lib/components/atoms/AttachmentCard/AttachmentCardImage.js +0 -55
  18. package/lib/components/atoms/AttachmentCard/AttachmentCardImage.styles.js +0 -14
  19. package/lib/components/atoms/AttachmentCard/index.js +0 -4
  20. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +0 -442
  21. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.styles.js +0 -119
  22. package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.js +0 -222
  23. package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +0 -313
  24. package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +0 -128
  25. package/lib/components/atoms/AttachmentPreviewModal/index.js +0 -2
  26. package/lib/components/atoms/Backdrop/Backdrop.js +0 -17
  27. package/lib/components/atoms/Backdrop/Backdrop.styles.js +0 -9
  28. package/lib/components/atoms/Backdrop/index.js +0 -2
  29. package/lib/components/atoms/CardItem.js +0 -7
  30. package/lib/components/atoms/CardMenu/CardMenu.js +0 -131
  31. package/lib/components/atoms/CardMenu/index.js +0 -2
  32. package/lib/components/atoms/CardMenu/styles.js +0 -21
  33. package/lib/components/atoms/ChatClientSelector/ChatClientSelector.js +0 -77
  34. package/lib/components/atoms/ChatClientSelector/index.js +0 -2
  35. package/lib/components/atoms/ChatDisclaimerMessage/ChatDisclaimerMessage.js +0 -9
  36. package/lib/components/atoms/ChatDisclaimerMessage/index.js +0 -2
  37. package/lib/components/atoms/ChatDisclaimerMessage/styles.js +0 -6
  38. package/lib/components/atoms/Checkbox/Checkbox.js +0 -34
  39. package/lib/components/atoms/Checkbox/index.js +0 -2
  40. package/lib/components/atoms/Checkbox/styles.js +0 -39
  41. package/lib/components/atoms/Chip/Chip.js +0 -150
  42. package/lib/components/atoms/Chip/index.js +0 -2
  43. package/lib/components/atoms/Chip/styles.js +0 -43
  44. package/lib/components/atoms/ChipLlm/ChipLlm.js +0 -45
  45. package/lib/components/atoms/ChipLlm/ChipLlm.style.js +0 -21
  46. package/lib/components/atoms/ChipLlm/index.js +0 -2
  47. package/lib/components/atoms/ChipStatus/ChipStatus.interface.js +0 -2
  48. package/lib/components/atoms/ChipStatus/ChipStatus.js +0 -14
  49. package/lib/components/atoms/ChipStatus/ChipStatus.styles.js +0 -27
  50. package/lib/components/atoms/ChipStatus/index.js +0 -2
  51. package/lib/components/atoms/ClearButton.js +0 -6
  52. package/lib/components/atoms/ClientSelector/ClientSelector.js +0 -146
  53. package/lib/components/atoms/ClientSelector/ClientSelector.styles.js +0 -15
  54. package/lib/components/atoms/ClientSelector/index.js +0 -2
  55. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.js +0 -38
  56. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +0 -188
  57. package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.js +0 -39
  58. package/lib/components/atoms/ContextMentionChip/buildChipElement.js +0 -445
  59. package/lib/components/atoms/ContextMentionChip/index.js +0 -4
  60. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +0 -533
  61. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +0 -10
  62. package/lib/components/atoms/ContextMentionEditor/index.js +0 -2
  63. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +0 -282
  64. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +0 -148
  65. package/lib/components/atoms/ContextMentionItem/index.js +0 -2
  66. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +0 -290
  67. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +0 -108
  68. package/lib/components/atoms/ContextMentionPopover/index.js +0 -3
  69. package/lib/components/atoms/CopyToClipboard.js +0 -70
  70. package/lib/components/atoms/EditableLabel/EditableLabel.js +0 -110
  71. package/lib/components/atoms/EditableLabel/index.js +0 -2
  72. package/lib/components/atoms/EditableLabel/styles.js +0 -7
  73. package/lib/components/atoms/EmptySearchClients/EmptySearchClients.js +0 -22
  74. package/lib/components/atoms/EmptySearchClients/EmptySearchClients.styles.js +0 -18
  75. package/lib/components/atoms/EmptySearchClients/index.js +0 -2
  76. package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.js +0 -19
  77. package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.styles.js +0 -15
  78. package/lib/components/atoms/EmptySearchProjects/index.js +0 -2
  79. package/lib/components/atoms/EntitySelector/EntitySelector.js +0 -247
  80. package/lib/components/atoms/EntitySelector/EntitySelector.skeleton.js +0 -38
  81. package/lib/components/atoms/EntitySelector/EntitySelector.styles.js +0 -67
  82. package/lib/components/atoms/EntitySelector/index.js +0 -2
  83. package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.js +0 -14
  84. package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.styles.js +0 -15
  85. package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.js +0 -14
  86. package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.style.js +0 -15
  87. package/lib/components/atoms/ErrorSearchFaqs/index.js +0 -2
  88. package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.js +0 -18
  89. package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.style.js +0 -15
  90. package/lib/components/atoms/ErrorSearchProjects/index.js +0 -2
  91. package/lib/components/atoms/Expand/Expand.js +0 -32
  92. package/lib/components/atoms/Expand/index.js +0 -2
  93. package/lib/components/atoms/Fade/Fade.js +0 -56
  94. package/lib/components/atoms/Fade/index.js +0 -2
  95. package/lib/components/atoms/FeedbackButton/FeedbackButton.js +0 -59
  96. package/lib/components/atoms/FeedbackButton/FeedbackButton.styles.js +0 -14
  97. package/lib/components/atoms/FeedbackButton/index.js +0 -2
  98. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +0 -138
  99. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.skeleton.js +0 -44
  100. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +0 -43
  101. package/lib/components/atoms/FrequentlyAskedQuestions/index.js +0 -2
  102. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +0 -122
  103. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.skeleton.js +0 -43
  104. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +0 -62
  105. package/lib/components/atoms/FrequentlyUsedActions/index.js +0 -2
  106. package/lib/components/atoms/GoBackButton.js +0 -24
  107. package/lib/components/atoms/HelpButton.js +0 -44
  108. package/lib/components/atoms/IconButton.js +0 -56
  109. package/lib/components/atoms/ImagePreview/ImagePreview.js +0 -96
  110. package/lib/components/atoms/ImagePreview/ImagePreview.styles.js +0 -70
  111. package/lib/components/atoms/Input/CustomInput.interface.js +0 -2
  112. package/lib/components/atoms/Input/CustomInput.js +0 -91
  113. package/lib/components/atoms/Input/CustomInput.styles.js +0 -39
  114. package/lib/components/atoms/Input/index.js +0 -2
  115. package/lib/components/atoms/ListMenuOption/ListMenuOption.js +0 -41
  116. package/lib/components/atoms/ListMenuOption/index.js +0 -2
  117. package/lib/components/atoms/ListMenuOption/styles.js +0 -9
  118. package/lib/components/atoms/Loader.js +0 -41
  119. package/lib/components/atoms/LoadingFaqs/LoadingFaqs.js +0 -11
  120. package/lib/components/atoms/LoadingFaqs/LoadingFaqs.style.js +0 -6
  121. package/lib/components/atoms/LoadingFaqs/index.js +0 -2
  122. package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.js +0 -11
  123. package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.styles.js +0 -6
  124. package/lib/components/atoms/LoadingSearchClients/index.js +0 -2
  125. package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.js +0 -14
  126. package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.style.js +0 -10
  127. package/lib/components/atoms/LoadingSearchProjects/index.js +0 -2
  128. package/lib/components/atoms/LoadingText/LoadingText.js +0 -18
  129. package/lib/components/atoms/LoadingText/index.js +0 -2
  130. package/lib/components/atoms/LoadingText/styles.js +0 -7
  131. package/lib/components/atoms/MAIAButton/MAIAButton.js +0 -33
  132. package/lib/components/atoms/MAIAButton/index.js +0 -2
  133. package/lib/components/atoms/MAIAError/MAIAError.js +0 -15
  134. package/lib/components/atoms/MAIAError/index.js +0 -2
  135. package/lib/components/atoms/MAIAInput/MAIAInput.js +0 -1233
  136. package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +0 -266
  137. package/lib/components/atoms/MAIAInput/index.js +0 -2
  138. package/lib/components/atoms/MAIAInput/maiaInputLayout.js +0 -25
  139. package/lib/components/atoms/MAIAInput/styles.js +0 -186
  140. package/lib/components/atoms/MAIAMessage/MAIAMessage.interfaces.js +0 -2
  141. package/lib/components/atoms/MAIAMessage/MAIAMessage.js +0 -22
  142. package/lib/components/atoms/MAIAMessage/index.js +0 -2
  143. package/lib/components/atoms/MAIAMessage/styles.js +0 -7
  144. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.config.js +0 -23
  145. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.interfaces.js +0 -2
  146. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.js +0 -51
  147. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.styles.js +0 -26
  148. package/lib/components/atoms/MaiaStreamdown/index.js +0 -2
  149. package/lib/components/atoms/MaiaWrapper/MaiaWrapper.js +0 -18
  150. package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.js +0 -84
  151. package/lib/components/atoms/MaiaWrapper/ModernMaiaWrapper.js +0 -15
  152. package/lib/components/atoms/MaiaWrapper/index.js +0 -3
  153. package/lib/components/atoms/MaiaWrapper/styles.js +0 -21
  154. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.interface.js +0 -2
  155. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.js +0 -84
  156. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.styles.js +0 -53
  157. package/lib/components/atoms/ModalClientAccess/index.js +0 -2
  158. package/lib/components/atoms/ModalInfo/ModalInfo.js +0 -52
  159. package/lib/components/atoms/ModalInfo/ModalInfoContent.js +0 -7
  160. package/lib/components/atoms/ModalInfo/index.js +0 -3
  161. package/lib/components/atoms/ModalInfo/styles.js +0 -7
  162. package/lib/components/atoms/ModalProject/ModalProject.interface.js +0 -2
  163. package/lib/components/atoms/ModalProject/ModalProject.js +0 -112
  164. package/lib/components/atoms/ModalProject/ModalProject.style.js +0 -59
  165. package/lib/components/atoms/ModalProject/index.js +0 -2
  166. package/lib/components/atoms/NextPageLoader.js +0 -33
  167. package/lib/components/atoms/OnboardingModalButton/OnboardingModal.js +0 -28
  168. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.js +0 -180
  169. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.styles.js +0 -34
  170. package/lib/components/atoms/OnboardingModalButton/index.js +0 -3
  171. package/lib/components/atoms/OptionAccessibility/OptionAccessibility.js +0 -131
  172. package/lib/components/atoms/OptionAccessibility/OptionAccessibility.styles.js +0 -59
  173. package/lib/components/atoms/OptionAccessibility/index.js +0 -2
  174. package/lib/components/atoms/OptionCorPermission/OptionCorPermission.js +0 -27
  175. package/lib/components/atoms/OptionCorPermission/OptionCorPermission.styles.js +0 -18
  176. package/lib/components/atoms/OptionCorPermission/index.js +0 -2
  177. package/lib/components/atoms/PrimaryButton.js +0 -31
  178. package/lib/components/atoms/ProjectSelector/ProjectSelector.js +0 -77
  179. package/lib/components/atoms/ProjectSelector/ProjectSelector.styles.js +0 -61
  180. package/lib/components/atoms/ProjectSelector/index.js +0 -2
  181. package/lib/components/atoms/SecondaryButton.js +0 -20
  182. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.js +0 -20
  183. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.styles.js +0 -20
  184. package/lib/components/atoms/SessionGeneratingDot/index.js +0 -2
  185. package/lib/components/atoms/Skeleton/Skeleton.js +0 -36
  186. package/lib/components/atoms/Skeleton/index.js +0 -2
  187. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.js +0 -208
  188. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.styles.js +0 -77
  189. package/lib/components/atoms/SkillsDropdown/index.js +0 -2
  190. package/lib/components/atoms/SlashCommandChip/SlashCommandChip.js +0 -16
  191. package/lib/components/atoms/SlashCommandChip/SlashCommandChip.styles.js +0 -24
  192. package/lib/components/atoms/SlashCommandChip/buildSlashChipElement.js +0 -18
  193. package/lib/components/atoms/SlashCommandChip/index.js +0 -4
  194. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +0 -210
  195. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.styles.js +0 -53
  196. package/lib/components/atoms/SlashCommandDropdown/index.js +0 -2
  197. package/lib/components/atoms/Switch/Switch.js +0 -27
  198. package/lib/components/atoms/Switch/Switch.styles.js +0 -22
  199. package/lib/components/atoms/Switch/index.js +0 -2
  200. package/lib/components/atoms/TextArea/CustomTextArea.interface.js +0 -2
  201. package/lib/components/atoms/TextArea/CustomTextArea.js +0 -93
  202. package/lib/components/atoms/TextArea/CustomTextArea.styles.js +0 -25
  203. package/lib/components/atoms/TextArea/TextArea.interfaces.js +0 -2
  204. package/lib/components/atoms/TextArea/TextArea.js +0 -172
  205. package/lib/components/atoms/TextArea/TextArea.styles.js +0 -16
  206. package/lib/components/atoms/TextArea/index.js +0 -2
  207. package/lib/components/atoms/ThirdButton.js +0 -19
  208. package/lib/components/atoms/VideoModal/VideoModal.js +0 -76
  209. package/lib/components/atoms/VideoModal/index.js +0 -2
  210. package/lib/components/atoms/WithAppCfg.js +0 -26
  211. package/lib/components/atoms/WithFeatureValidation.js +0 -23
  212. package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.js +0 -9
  213. package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.styles.js +0 -6
  214. package/lib/components/atoms/WrapperCenterIcon/index.js +0 -2
  215. package/lib/components/atoms/icons/AIIcon.js +0 -23
  216. package/lib/components/atoms/icons/AacFile.js +0 -39
  217. package/lib/components/atoms/icons/AccessibilityIcon.js +0 -42
  218. package/lib/components/atoms/icons/ActionAssignIcon.js +0 -111
  219. package/lib/components/atoms/icons/ActionCalendarIcon.js +0 -112
  220. package/lib/components/atoms/icons/ActionChargeHoursIcon.js +0 -111
  221. package/lib/components/atoms/icons/ActionChatIcon.js +0 -71
  222. package/lib/components/atoms/icons/ActionCreateIcon.js +0 -91
  223. package/lib/components/atoms/icons/ActionCreateReworkIcon.js +0 -39
  224. package/lib/components/atoms/icons/ActionCreateSubtaskIcon.js +0 -37
  225. package/lib/components/atoms/icons/ActionEditIcon.js +0 -39
  226. package/lib/components/atoms/icons/ActionSummaryMessagesIcon.js +0 -88
  227. package/lib/components/atoms/icons/ActionSummaryTaskIcon.js +0 -37
  228. package/lib/components/atoms/icons/ActionTimeBackIcon.js +0 -112
  229. package/lib/components/atoms/icons/AgentMaiaIcon.js +0 -31
  230. package/lib/components/atoms/icons/Brain.js +0 -77
  231. package/lib/components/atoms/icons/CorAccessIcon.js +0 -41
  232. package/lib/components/atoms/icons/CorLogo.js +0 -76
  233. package/lib/components/atoms/icons/CsvFile.js +0 -41
  234. package/lib/components/atoms/icons/DocFile.js +0 -41
  235. package/lib/components/atoms/icons/DocxFile.js +0 -41
  236. package/lib/components/atoms/icons/EmptyClientIllustration.js +0 -67
  237. package/lib/components/atoms/icons/EmptyHistory.js +0 -46
  238. package/lib/components/atoms/icons/EmptySearchIllustration.js +0 -37
  239. package/lib/components/atoms/icons/EmptyState.js +0 -84
  240. package/lib/components/atoms/icons/EmptyStateAgents.js +0 -58
  241. package/lib/components/atoms/icons/ErrorIcon.js +0 -14
  242. package/lib/components/atoms/icons/ErrorSearchIllustration.js +0 -52
  243. package/lib/components/atoms/icons/ErrorState.js +0 -51
  244. package/lib/components/atoms/icons/FaqChevronIcon.js +0 -39
  245. package/lib/components/atoms/icons/FaqsIcon.js +0 -51
  246. package/lib/components/atoms/icons/FlacIcon.js +0 -39
  247. package/lib/components/atoms/icons/FolderIcon.js +0 -29
  248. package/lib/components/atoms/icons/HomeIcon.js +0 -30
  249. package/lib/components/atoms/icons/ImageFile.js +0 -46
  250. package/lib/components/atoms/icons/M4aFile.js +0 -39
  251. package/lib/components/atoms/icons/MAIAIcon.js +0 -20
  252. package/lib/components/atoms/icons/MAIAIsologo.js +0 -65
  253. package/lib/components/atoms/icons/MDFile.js +0 -41
  254. package/lib/components/atoms/icons/MaiaChatLayoutFloatingIcon.js +0 -41
  255. package/lib/components/atoms/icons/MaiaChatLayoutFullscreenIcon.js +0 -41
  256. package/lib/components/atoms/icons/MaiaChatLayoutMenuIcon.js +0 -33
  257. package/lib/components/atoms/icons/MaiaChatLayoutSidebarIcon.js +0 -41
  258. package/lib/components/atoms/icons/MaiaInputAddIcon.js +0 -42
  259. package/lib/components/atoms/icons/MaiaInputAttachIcon.js +0 -29
  260. package/lib/components/atoms/icons/MaiaInputAttachmentImageIcon.js +0 -33
  261. package/lib/components/atoms/icons/MaiaInputDeepSearchIcon.js +0 -35
  262. package/lib/components/atoms/icons/MaiaInputMentionIcon.js +0 -44
  263. package/lib/components/atoms/icons/MaiaInputRobotIcon.js +0 -29
  264. package/lib/components/atoms/icons/MaiaInputSendIcon.js +0 -29
  265. package/lib/components/atoms/icons/MaiaInputSlashIcon.js +0 -29
  266. package/lib/components/atoms/icons/MaiaInputWebSearchIcon.js +0 -35
  267. package/lib/components/atoms/icons/MaiaSettingsProject.js +0 -111
  268. package/lib/components/atoms/icons/MaiaSettingsProjectV2.js +0 -193
  269. package/lib/components/atoms/icons/MaiaSparkleIcon.js +0 -75
  270. package/lib/components/atoms/icons/MaiaStoreIcon.js +0 -31
  271. package/lib/components/atoms/icons/Mp3File.js +0 -39
  272. package/lib/components/atoms/icons/Mp4File.js +0 -39
  273. package/lib/components/atoms/icons/MyAgentsNavIcon.js +0 -51
  274. package/lib/components/atoms/icons/NewChat.js +0 -29
  275. package/lib/components/atoms/icons/NotionIcon.js +0 -36
  276. package/lib/components/atoms/icons/OgaFile.js +0 -39
  277. package/lib/components/atoms/icons/OggFile.js +0 -39
  278. package/lib/components/atoms/icons/PdfFile.js +0 -39
  279. package/lib/components/atoms/icons/PlusIcon.js +0 -29
  280. package/lib/components/atoms/icons/PptFile.js +0 -47
  281. package/lib/components/atoms/icons/PptxFile.js +0 -49
  282. package/lib/components/atoms/icons/RetryIcon.js +0 -34
  283. package/lib/components/atoms/icons/SkillCreatedByIcon.js +0 -20
  284. package/lib/components/atoms/icons/SkillIcon.js +0 -30
  285. package/lib/components/atoms/icons/SkillVisibilityEveryoneIcon.js +0 -23
  286. package/lib/components/atoms/icons/SkillVisibilityOnlyMeIcon.js +0 -23
  287. package/lib/components/atoms/icons/SkillsNavIcon.js +0 -24
  288. package/lib/components/atoms/icons/SubtaskIcon.js +0 -36
  289. package/lib/components/atoms/icons/TaskLinkIcon.js +0 -27
  290. package/lib/components/atoms/icons/TelescopeIcon.js +0 -60
  291. package/lib/components/atoms/icons/TemplateGradientIcon.js +0 -42
  292. package/lib/components/atoms/icons/TextFile.js +0 -41
  293. package/lib/components/atoms/icons/WavFile.js +0 -39
  294. package/lib/components/atoms/icons/WebmFile.js +0 -50
  295. package/lib/components/atoms/icons/XlsFile.js +0 -42
  296. package/lib/components/atoms/icons/XlsxFile.js +0 -42
  297. package/lib/components/atoms/icons/index.js +0 -54
  298. package/lib/components/atoms/index.js +0 -42
  299. package/lib/components/index.js +0 -11
  300. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.interface.js +0 -2
  301. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +0 -149
  302. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +0 -53
  303. package/lib/components/molecules/AbmSection/AbmGeneralSection.js +0 -415
  304. package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +0 -152
  305. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +0 -374
  306. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.styles.js +0 -106
  307. package/lib/components/molecules/AbmSection/AbmLoaderFiles.js +0 -92
  308. package/lib/components/molecules/AbmSection/AbmLoaderFiles.styles.js +0 -57
  309. package/lib/components/molecules/AbmSection/index.js +0 -4
  310. package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.js +0 -52
  311. package/lib/components/molecules/ChatAIClientSelector/index.js +0 -2
  312. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +0 -119
  313. package/lib/components/molecules/ChatAIContent/ChatAIContent.skeleton.js +0 -187
  314. package/lib/components/molecules/ChatAIContent/ChatAIContent.styles.js +0 -6
  315. package/lib/components/molecules/ChatAIContent/index.js +0 -2
  316. package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +0 -241
  317. package/lib/components/molecules/ChatAIHistory/index.js +0 -2
  318. package/lib/components/molecules/ChatAIHistory/styles.js +0 -22
  319. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +0 -649
  320. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +0 -115
  321. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +0 -95
  322. package/lib/components/molecules/ChatAIHome/index.js +0 -2
  323. package/lib/components/molecules/ChatAIHome/styles.js +0 -335
  324. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +0 -137
  325. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +0 -853
  326. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.js +0 -47
  327. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.styles.js +0 -37
  328. package/lib/components/molecules/ChatAIMessages/README.md +0 -101
  329. package/lib/components/molecules/ChatAIMessages/index.js +0 -2
  330. package/lib/components/molecules/ChatAIMessages/newStyles.js +0 -131
  331. package/lib/components/molecules/ChatAIMessages/styles.js +0 -94
  332. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +0 -1254
  333. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +0 -58
  334. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +0 -127
  335. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +0 -34
  336. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/index.js +0 -2
  337. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +0 -189
  338. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +0 -26
  339. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/index.js +0 -2
  340. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +0 -453
  341. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +0 -108
  342. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/index.js +0 -2
  343. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +0 -48
  344. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +0 -38
  345. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/index.js +0 -2
  346. package/lib/components/molecules/ChatAIModal/constants.js +0 -40
  347. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.js +0 -16
  348. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.styles.js +0 -12
  349. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/constants.js +0 -13
  350. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/index.js +0 -3
  351. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.js +0 -57
  352. package/lib/components/molecules/ChatAIModal/index.js +0 -2
  353. package/lib/components/molecules/ChatAIModal/layout.js +0 -74
  354. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +0 -457
  355. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +0 -218
  356. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +0 -430
  357. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +0 -169
  358. package/lib/components/molecules/ChatAIMySkills/index.js +0 -2
  359. package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.js +0 -48
  360. package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.styles.js +0 -49
  361. package/lib/components/molecules/ChatAIProjectSelector/index.js +0 -2
  362. package/lib/components/molecules/ChatFooter/ChatFooter.js +0 -337
  363. package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.js +0 -32
  364. package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.styles.js +0 -14
  365. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +0 -201
  366. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.styles.js +0 -51
  367. package/lib/components/molecules/ChatFooter/index.js +0 -2
  368. package/lib/components/molecules/ChatFooter/styles.js +0 -23
  369. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +0 -60
  370. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.styles.js +0 -6
  371. package/lib/components/molecules/ContextMentionInput/index.js +0 -2
  372. package/lib/components/molecules/MessageFeedback/MessageFeedback.js +0 -118
  373. package/lib/components/molecules/MessageFeedback/index.js +0 -2
  374. package/lib/components/molecules/MessageFeedback/styles.js +0 -14
  375. package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.js +0 -127
  376. package/lib/components/molecules/ProjectSummaryChat/index.js +0 -2
  377. package/lib/components/molecules/ProjectSummaryChat/styles.js +0 -8
  378. package/lib/components/molecules/ProjectSummaryConfig/ProjectSummaryConfig.js +0 -152
  379. package/lib/components/molecules/ProjectSummaryConfig/index.js +0 -2
  380. package/lib/components/molecules/ProjectSummaryConfig/styles.js +0 -86
  381. package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.js +0 -49
  382. package/lib/components/molecules/ProjectSummaryContent/index.js +0 -2
  383. package/lib/components/molecules/ProjectSummaryModal/ProjectSummaryModal.js +0 -19
  384. package/lib/components/molecules/ProjectSummaryModal/index.js +0 -2
  385. package/lib/components/molecules/ProjectSummaryModal/styles.js +0 -2
  386. package/lib/components/molecules/Sidebar/Sidebar.js +0 -716
  387. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +0 -157
  388. package/lib/components/molecules/Sidebar/Sidebar.skeleton.js +0 -48
  389. package/lib/components/molecules/Sidebar/Sidebar.styles.js +0 -75
  390. package/lib/components/molecules/Sidebar/index.js +0 -2
  391. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +0 -1420
  392. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.styles.js +0 -93
  393. package/lib/components/organisms/AbmAgentModal/index.js +0 -2
  394. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +0 -182
  395. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +0 -34
  396. package/lib/components/organisms/AbmSkillGenerateModal/index.js +0 -2
  397. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +0 -585
  398. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +0 -154
  399. package/lib/components/organisms/AbmSkillModal/index.js +0 -2
  400. package/lib/components/organisms/ChatAI/ChatAI.js +0 -167
  401. package/lib/components/organisms/ChatAI/index.js +0 -2
  402. package/lib/components/organisms/ChatAI/styles.js +0 -7
  403. package/lib/components/organisms/ClientAIButton/ClientAIButton.js +0 -23
  404. package/lib/components/organisms/ClientAIButton/index.js +0 -2
  405. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.js +0 -86
  406. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.styles.js +0 -39
  407. package/lib/components/organisms/DeleteAgentModal/index.js +0 -2
  408. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +0 -122
  409. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.styles.js +0 -47
  410. package/lib/components/organisms/DeleteQuestionModal/index.js +0 -2
  411. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +0 -138
  412. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.styles.js +0 -69
  413. package/lib/components/organisms/EditQuestionModal/index.js +0 -2
  414. package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.js +0 -113
  415. package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.styles.js +0 -54
  416. package/lib/components/organisms/ModalFileExceeds/index.js +0 -2
  417. package/lib/components/organisms/ProjectAIButton/ProjectAIButton.js +0 -26
  418. package/lib/components/organisms/ProjectAIButton/index.js +0 -2
  419. package/lib/components/organisms/ProjectSummary/ProjectSummary.js +0 -60
  420. package/lib/components/organisms/ProjectSummary/index.js +0 -2
  421. package/lib/components/organisms/ProjectSummary/styles.js +0 -7
  422. package/lib/components/organisms/SnackBar/Snackbar.interface.js +0 -2
  423. package/lib/components/organisms/SnackBar/Snackbar.js +0 -73
  424. package/lib/components/organisms/SnackBar/Snackbar.styles.js +0 -9
  425. package/lib/components/organisms/SnackBar/index.js +0 -2
  426. package/lib/components/organisms/SourcesInformation/SourceItem.js +0 -18
  427. package/lib/components/organisms/SourcesInformation/SourceItem.styles.js +0 -14
  428. package/lib/components/organisms/SourcesInformation/SourcesInformationModal.js +0 -66
  429. package/lib/components/organisms/SourcesInformation/SourcesInformationModal.styles.js +0 -27
  430. package/lib/components/organisms/SourcesInformation/index.js +0 -2
  431. package/lib/constants/config.js +0 -10
  432. package/lib/constants/formatExtensions.js +0 -55
  433. package/lib/constants/gqlClient.js +0 -4
  434. package/lib/constants/maiaHourAgentAccess.js +0 -15
  435. package/lib/constants/maiaTaskPanelAccess.js +0 -24
  436. package/lib/constants/maiaTaskPanelOutsideClick.js +0 -9
  437. package/lib/constants/maiaTaskPanelZIndex.js +0 -19
  438. package/lib/constants/permissions/config.js +0 -72
  439. package/lib/constants/permissions/index.js +0 -3
  440. package/lib/constants/permissions/types.js +0 -2
  441. package/lib/constants/permissions/utils.js +0 -18
  442. package/lib/constants/plannerSyncEvents.js +0 -15
  443. package/lib/constants/taskLinkIcon.js +0 -15
  444. package/lib/constants/taskUrls.js +0 -11
  445. package/lib/context/cor-user.js +0 -31
  446. package/lib/context/global-context.js +0 -39
  447. package/lib/dev/DevChatAI.js +0 -101
  448. package/lib/dev/DevContextMentionInput.js +0 -67
  449. package/lib/dev/ProjectSummary.js +0 -9
  450. package/lib/dev/Providers.js +0 -27
  451. package/lib/exports.js +0 -2
  452. package/lib/hooks/README.md +0 -192
  453. package/lib/hooks/index.js +0 -30
  454. package/lib/hooks/useAccessClient/index.js +0 -2
  455. package/lib/hooks/useAccessClient/useAccessClient.js +0 -81
  456. package/lib/hooks/useAgentModel/index.js +0 -2
  457. package/lib/hooks/useAgentModel/useAgentModel.js +0 -62
  458. package/lib/hooks/useAgentModel/useCreateAgent.js +0 -128
  459. package/lib/hooks/useAgentModel/useDeleteAgent.js +0 -88
  460. package/lib/hooks/useAgentModel/useUpdateAgent.js +0 -129
  461. package/lib/hooks/useAgentSuggestions.js +0 -60
  462. package/lib/hooks/useCaretPosition.js +0 -65
  463. package/lib/hooks/useChatManager/index.js +0 -2
  464. package/lib/hooks/useChatManager/useChatManager.interface.js +0 -2
  465. package/lib/hooks/useChatManager/useChatManager.js +0 -1782
  466. package/lib/hooks/useChatMessages/index.js +0 -2
  467. package/lib/hooks/useChatMessages/useChatMessages.interface.js +0 -2
  468. package/lib/hooks/useChatMessages/useChatMessages.js +0 -722
  469. package/lib/hooks/useChats/index.js +0 -2
  470. package/lib/hooks/useChats/useChats.interfaces.js +0 -2
  471. package/lib/hooks/useChats/useChats.js +0 -187
  472. package/lib/hooks/useClientSearch.js +0 -163
  473. package/lib/hooks/useContextMentions.js +0 -500
  474. package/lib/hooks/useContextPinPopover.js +0 -228
  475. package/lib/hooks/useDebounce.js +0 -18
  476. package/lib/hooks/useEntitySearch.js +0 -1053
  477. package/lib/hooks/useEvent.js +0 -93
  478. package/lib/hooks/useFrequentlyAskedQuestions.js +0 -150
  479. package/lib/hooks/useFrequentlyUsedActions.js +0 -94
  480. package/lib/hooks/useKnowledge/deleteKnowledge.js +0 -69
  481. package/lib/hooks/useKnowledge/downloadKnowledge.js +0 -81
  482. package/lib/hooks/useKnowledge/index.js +0 -4
  483. package/lib/hooks/useKnowledge/saveKnowledge.js +0 -107
  484. package/lib/hooks/useKnowledge/useKnowledgeOperations.js +0 -156
  485. package/lib/hooks/useMaiaTaskPanelZIndex.js +0 -17
  486. package/lib/hooks/useMentionAllowedTypes.js +0 -120
  487. package/lib/hooks/useMentionPopover.js +0 -342
  488. package/lib/hooks/useMinimizedPillBottomOffset.js +0 -110
  489. package/lib/hooks/useModal/index.js +0 -2
  490. package/lib/hooks/useModal/useModal.interfaces.js +0 -2
  491. package/lib/hooks/useModal/useModal.js +0 -47
  492. package/lib/hooks/useOnboardingNavigation.js +0 -20
  493. package/lib/hooks/useOrchestratorStream/index.js +0 -2
  494. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +0 -2
  495. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +0 -269
  496. package/lib/hooks/useProjectSearch.js +0 -183
  497. package/lib/hooks/useProjectSummary.js +0 -101
  498. package/lib/hooks/useProjectSummaryConfig.js +0 -211
  499. package/lib/hooks/useProjects.js +0 -46
  500. package/lib/hooks/useRecentClientsSearch.js +0 -150
  501. package/lib/hooks/useRecentContexts.js +0 -86
  502. package/lib/hooks/useResize.js +0 -29
  503. package/lib/hooks/useSkillsCatalog.js +0 -66
  504. package/lib/hooks/useSlashCommands.js +0 -84
  505. package/lib/hooks/useSmoothStreamText/index.js +0 -2
  506. package/lib/hooks/useSmoothStreamText/useSmoothStreamText.js +0 -197
  507. package/lib/hooks/useSnackBarManager/useSnackBarManager.js +0 -41
  508. package/lib/hooks/useStreamResponse.js +0 -112
  509. package/lib/hooks/useStreamdownStyles.js +0 -13
  510. package/lib/hooks/useStreamingMessage/index.js +0 -2
  511. package/lib/hooks/useStreamingMessage/useStreamingMessage.js +0 -18
  512. package/lib/hooks/useT.js +0 -17
  513. package/lib/hooks/useTabTaskDefault.js +0 -33
  514. package/lib/hooks/useTaskPanel.js +0 -22
  515. package/lib/hooks/useTextOverflowEllipsisTooltip.js +0 -34
  516. package/lib/hooks/useToggle.js +0 -19
  517. package/lib/hooks/useToggleFavorite/index.js +0 -2
  518. package/lib/hooks/useToggleFavorite/useToggleFavorite.js +0 -83
  519. package/lib/index.css +0 -76
  520. package/lib/index.js +0 -30
  521. package/lib/lang/br/index.js +0 -785
  522. package/lib/lang/en/index.js +0 -785
  523. package/lib/lang/es/index.js +0 -786
  524. package/lib/lang/fr/index.js +0 -606
  525. package/lib/lang/index.js +0 -24
  526. package/lib/lang/utils.js +0 -33
  527. package/lib/mocks/mockChats.js +0 -395
  528. package/lib/mocks/mockOrchestrator.js +0 -5
  529. package/lib/mocks/mockProject.js +0 -11
  530. package/lib/mocks/mockProjectSummary.js +0 -6
  531. package/lib/mocks/mockedUser.js +0 -169
  532. package/lib/services/apolloClient.js +0 -3
  533. package/lib/services/appcues.js +0 -19
  534. package/lib/services/corpilot/ProjectSummary/getProjectSummary.js +0 -31
  535. package/lib/services/corpilot/ProjectSummary/index.js +0 -5
  536. package/lib/services/corpilot/client.js +0 -27
  537. package/lib/services/corpilot/index.js +0 -5
  538. package/lib/services/maia/Access/updateAccess.js +0 -59
  539. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +0 -46
  540. package/lib/services/maia/Actions/getSlashCommands.js +0 -39
  541. package/lib/services/maia/Actions/index.js +0 -7
  542. package/lib/services/maia/Agents/createAgent.js +0 -39
  543. package/lib/services/maia/Agents/deleteAgent.js +0 -38
  544. package/lib/services/maia/Agents/fetchAgentDetail.js +0 -122
  545. package/lib/services/maia/Agents/getAgentById.js +0 -162
  546. package/lib/services/maia/Agents/getAgentModels.js +0 -112
  547. package/lib/services/maia/Agents/getAgentSuggestions.js +0 -44
  548. package/lib/services/maia/Agents/getAgents.js +0 -718
  549. package/lib/services/maia/Agents/setAgentToolGroups.js +0 -42
  550. package/lib/services/maia/Agents/toggleFavorite.js +0 -34
  551. package/lib/services/maia/Agents/updateAgent.js +0 -39
  552. package/lib/services/maia/Chats/deleteChat.js +0 -32
  553. package/lib/services/maia/Chats/getChatMessages.js +0 -144
  554. package/lib/services/maia/Chats/getChatsByUserId.js +0 -82
  555. package/lib/services/maia/Chats/index.js +0 -15
  556. package/lib/services/maia/Chats/markSessionAsRead.js +0 -32
  557. package/lib/services/maia/Chats/patchChat.js +0 -43
  558. package/lib/services/maia/Chats/wasHelpfulChat.js +0 -31
  559. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.js +0 -55
  560. package/lib/services/maia/Faqs/index.js +0 -5
  561. package/lib/services/maia/Knowledge/delete.js +0 -41
  562. package/lib/services/maia/Knowledge/download.js +0 -48
  563. package/lib/services/maia/Knowledge/index.js +0 -3
  564. package/lib/services/maia/Knowledge/save.js +0 -43
  565. package/lib/services/maia/Orchestrator/index.js +0 -7
  566. package/lib/services/maia/Orchestrator/orchestrator.js +0 -246
  567. package/lib/services/maia/RecentClients/getRecentClients.js +0 -43
  568. package/lib/services/maia/RecentClients/index.js +0 -6
  569. package/lib/services/maia/RecentContexts/getRecentContexts.js +0 -54
  570. package/lib/services/maia/RecentContexts/index.js +0 -6
  571. package/lib/services/maia/RecentProjects/getRecentProjects.js +0 -55
  572. package/lib/services/maia/RecentProjects/index.js +0 -6
  573. package/lib/services/maia/RecentTasks/getRecentTasks.js +0 -54
  574. package/lib/services/maia/RecentTasks/index.js +0 -6
  575. package/lib/services/maia/RecentUsers/getRecentUsers.js +0 -59
  576. package/lib/services/maia/RecentUsers/index.js +0 -6
  577. package/lib/services/maia/Skills/createSkill.js +0 -39
  578. package/lib/services/maia/Skills/deleteSkill.js +0 -38
  579. package/lib/services/maia/Skills/generateSkill.js +0 -41
  580. package/lib/services/maia/Skills/getSkills.js +0 -120
  581. package/lib/services/maia/Skills/updateSkill.js +0 -39
  582. package/lib/services/maia/client.js +0 -27
  583. package/lib/services/maia/index.js +0 -17
  584. package/lib/services/query/ClientSearchQuery.js +0 -5
  585. package/lib/services/query/entitySearchQuery.js +0 -18
  586. package/lib/services/query/index.js +0 -2
  587. package/lib/services/query/projectSearchByValueQuery.js +0 -5
  588. package/lib/services/query/taskUserTabQuery.js +0 -8
  589. package/lib/services/query/usersDirectoryQuery.js +0 -19
  590. package/lib/services/types.js +0 -6
  591. package/lib/services/utils/fetchCOR.js +0 -117
  592. package/lib/services/utils/getCookie.js +0 -10
  593. package/lib/services/utils/index.js +0 -3
  594. package/lib/services/utils/mapChatMessages.js +0 -287
  595. package/lib/services/utils/validateIsMaia.js +0 -4
  596. package/lib/store/chatsSidebarOptimistic.js +0 -92
  597. package/lib/store/chatsStore.types.js +0 -2
  598. package/lib/store/chatsStoreLifecycle.js +0 -8
  599. package/lib/store/faqsStore.types.js +0 -2
  600. package/lib/store/index.js +0 -4
  601. package/lib/store/maiaLastChatPersistence.js +0 -35
  602. package/lib/store/sessions/activeView.js +0 -22
  603. package/lib/store/sessions/index.js +0 -9
  604. package/lib/store/sessions/sessionHitlContext.js +0 -15
  605. package/lib/store/sessions/sessionNotificationSound.js +0 -57
  606. package/lib/store/sessions/sessionNotifications.js +0 -110
  607. package/lib/store/sessions/sessionNotifications.types.js +0 -2
  608. package/lib/store/sessions/sessionStreamManager.js +0 -715
  609. package/lib/store/sessions/sessionStreamingText.js +0 -80
  610. package/lib/store/sessions/sessions.types.js +0 -35
  611. package/lib/store/sessions/useSessionMeta.js +0 -39
  612. package/lib/store/sessions/useSessionStreamingText.js +0 -18
  613. package/lib/store/sessions/useSessionsStore.js +0 -197
  614. package/lib/store/useChatsStore.js +0 -387
  615. package/lib/store/useFaqsStore.js +0 -27
  616. package/lib/streamdownStyles.js +0 -9
  617. package/lib/styles/StyledCleanContainer.js +0 -7
  618. package/lib/styles/cascade.js +0 -14
  619. package/lib/styles/config.js +0 -47
  620. package/lib/styles/shared/scrollable.js +0 -3
  621. package/lib/styles/transitions.js +0 -21
  622. package/lib/types/Action.js +0 -2
  623. package/lib/types/AgentSuggestion.js +0 -2
  624. package/lib/types/Chat.js +0 -10
  625. package/lib/types/Client.js +0 -2
  626. package/lib/types/FrequentlyAskedQuestion.js +0 -2
  627. package/lib/types/Project.js +0 -2
  628. package/lib/types/ProjectSummaryConfigKeys.js +0 -9
  629. package/lib/types/Task.js +0 -2
  630. package/lib/types/agent.js +0 -2
  631. package/lib/types/agentModal.js +0 -2
  632. package/lib/types/contextMention.js +0 -37
  633. package/lib/types/global.d.js +0 -2
  634. package/lib/types/skill.js +0 -2
  635. package/lib/types/streamActivity.js +0 -2
  636. package/lib/types/userType.d.js +0 -2
  637. package/lib/utils/actionCategoryMap.js +0 -37
  638. package/lib/utils/actionIconMap.js +0 -61
  639. package/lib/utils/agentDisplayName.js +0 -42
  640. package/lib/utils/chatInputFiles.js +0 -52
  641. package/lib/utils/contextMentionIcons.js +0 -134
  642. package/lib/utils/contextMentionLabel.js +0 -4
  643. package/lib/utils/contextMentionTriggers.js +0 -51
  644. package/lib/utils/contextMentionTypeLabel.js +0 -17
  645. package/lib/utils/corConnectorMentionTypes.js +0 -41
  646. package/lib/utils/ensureStreamdownStyles.js +0 -21
  647. package/lib/utils/entityLinkRender.js +0 -135
  648. package/lib/utils/fileDownloadHelper.js +0 -40
  649. package/lib/utils/formatQuickActionMessage.js +0 -16
  650. package/lib/utils/formatUnreadCount.js +0 -6
  651. package/lib/utils/getUnitFileSize.js +0 -13
  652. package/lib/utils/hitlAnalytics.js +0 -65
  653. package/lib/utils/hoursPlannerQuickActionType.js +0 -64
  654. package/lib/utils/imagePreprocessor.js +0 -108
  655. package/lib/utils/index.js +0 -3
  656. package/lib/utils/maiaHostOpen.js +0 -19
  657. package/lib/utils/maiaStreamdownRehypePlugins.js +0 -27
  658. package/lib/utils/mapBackendLang.js +0 -8
  659. package/lib/utils/normalizeAgentConnectors.js +0 -70
  660. package/lib/utils/openTaskInCorPanel.js +0 -22
  661. package/lib/utils/orchestratorSubagents.js +0 -11
  662. package/lib/utils/renderContextMentions.js +0 -420
  663. package/lib/utils/retryCompletion.js +0 -85
  664. package/lib/utils/slashCommandMarker.js +0 -30
  665. package/lib/utils/sortManagerHoursHomeFuas.js +0 -14
  666. package/lib/utils/sseStreamContent.js +0 -17
  667. package/lib/utils/streamActivityMessages.js +0 -359
  668. package/lib/utils/validateTrimmedFields.js +0 -8
package/lib/lang/index.js DELETED
@@ -1,24 +0,0 @@
1
- import i18next from 'i18next';
2
- import br from './br';
3
- import en from './en';
4
- import es from './es';
5
- import fr from './fr';
6
- var fallbackLng = 'es';
7
- export var LANG = window.lang || fallbackLng;
8
- var i18n = i18next.createInstance();
9
- i18n.init({
10
- lng: LANG,
11
- fallbackLng: fallbackLng,
12
- resources: {
13
- en: en,
14
- es: es,
15
- br: br,
16
- fr: fr
17
- },
18
- keySeparator: '.',
19
- interpolation: {
20
- escapeValue: false
21
- }
22
- });
23
- export default i18n;
24
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpMThuZXh0IiwiYnIiLCJlbiIsImVzIiwiZnIiLCJmYWxsYmFja0xuZyIsIkxBTkciLCJ3aW5kb3ciLCJsYW5nIiwiaTE4biIsImNyZWF0ZUluc3RhbmNlIiwiaW5pdCIsImxuZyIsInJlc291cmNlcyIsImtleVNlcGFyYXRvciIsImludGVycG9sYXRpb24iLCJlc2NhcGVWYWx1ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYW5nL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpMThuZXh0IGZyb20gJ2kxOG5leHQnXG5pbXBvcnQgYnIgZnJvbSAnLi9icidcbmltcG9ydCBlbiBmcm9tICcuL2VuJ1xuaW1wb3J0IGVzIGZyb20gJy4vZXMnXG5pbXBvcnQgZnIgZnJvbSAnLi9mcidcblxuY29uc3QgZmFsbGJhY2tMbmcgPSAnZXMnXG5leHBvcnQgY29uc3QgTEFORzogc3RyaW5nID0gd2luZG93LmxhbmcgfHwgZmFsbGJhY2tMbmdcblxuY29uc3QgaTE4biA9IGkxOG5leHQuY3JlYXRlSW5zdGFuY2UoKVxuXG5pMThuLmluaXQoe1xuICBsbmc6IExBTkcsXG4gIGZhbGxiYWNrTG5nLFxuICByZXNvdXJjZXM6IHtcbiAgICBlbixcbiAgICBlcyxcbiAgICBicixcbiAgICBmcixcbiAgfSxcbiAga2V5U2VwYXJhdG9yOiAnLicsXG4gIGludGVycG9sYXRpb246IHtcbiAgICBlc2NhcGVWYWx1ZTogZmFsc2UsXG4gIH0sXG59KVxuXG5leHBvcnQgZGVmYXVsdCBpMThuXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE9BQU8sTUFBTSxTQUFTO0FBQzdCLE9BQU9DLEVBQUUsTUFBTSxNQUFNO0FBQ3JCLE9BQU9DLEVBQUUsTUFBTSxNQUFNO0FBQ3JCLE9BQU9DLEVBQUUsTUFBTSxNQUFNO0FBQ3JCLE9BQU9DLEVBQUUsTUFBTSxNQUFNO0FBRXJCLElBQU1DLFdBQVcsR0FBRyxJQUFJO0FBQ3hCLE9BQU8sSUFBTUMsSUFBWSxHQUFHQyxNQUFNLENBQUNDLElBQUksSUFBSUgsV0FBVztBQUV0RCxJQUFNSSxJQUFJLEdBQUdULE9BQU8sQ0FBQ1UsY0FBYyxDQUFDLENBQUM7QUFFckNELElBQUksQ0FBQ0UsSUFBSSxDQUFDO0VBQ1JDLEdBQUcsRUFBRU4sSUFBSTtFQUNURCxXQUFXLEVBQVhBLFdBQVc7RUFDWFEsU0FBUyxFQUFFO0lBQ1RYLEVBQUUsRUFBRkEsRUFBRTtJQUNGQyxFQUFFLEVBQUZBLEVBQUU7SUFDRkYsRUFBRSxFQUFGQSxFQUFFO0lBQ0ZHLEVBQUUsRUFBRkE7RUFDRixDQUFDO0VBQ0RVLFlBQVksRUFBRSxHQUFHO0VBQ2pCQyxhQUFhLEVBQUU7SUFDYkMsV0FBVyxFQUFFO0VBQ2Y7QUFDRixDQUFDLENBQUM7QUFFRixlQUFlUCxJQUFJIiwiaWdub3JlTGlzdCI6W119
package/lib/lang/utils.js DELETED
@@ -1,33 +0,0 @@
1
- import moment from 'moment';
2
- import i18n from './index';
3
- export var mapCORLang = function mapCORLang(lang) {
4
- if (lang === 'br') return 'pt';
5
- return lang;
6
- };
7
- export var LANGS = /*#__PURE__*/function (LANGS) {
8
- LANGS["ES"] = "es";
9
- LANGS["EN"] = "en";
10
- LANGS["BR"] = "br";
11
- LANGS["MOMENT_BR"] = "pt-BR";
12
- LANGS["EJ2_BR"] = "pt";
13
- return LANGS;
14
- }({});
15
- export var getMomentLocale = function getMomentLocale() {
16
- var current = i18n.language;
17
- switch (current) {
18
- case LANGS.BR:
19
- return LANGS.MOMENT_BR;
20
- default:
21
- return current;
22
- }
23
- };
24
- export var formatDate = function formatDate(date) {
25
- var momentLocale = getMomentLocale();
26
- var formatted = moment(date).locale(momentLocale).format('DD MMM, YYYY').replace(/\./g, '');
27
- // Capitalize the month (which is the second word in the string)
28
- return formatted.replace(/\b\w/g, function (match, offset) {
29
- // Only capitalize if it's the month (second word)
30
- return offset > 2 ? match.toUpperCase() : match;
31
- });
32
- };
33
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtb21lbnQiLCJpMThuIiwibWFwQ09STGFuZyIsImxhbmciLCJMQU5HUyIsImdldE1vbWVudExvY2FsZSIsImN1cnJlbnQiLCJsYW5ndWFnZSIsIkJSIiwiTU9NRU5UX0JSIiwiZm9ybWF0RGF0ZSIsImRhdGUiLCJtb21lbnRMb2NhbGUiLCJmb3JtYXR0ZWQiLCJsb2NhbGUiLCJmb3JtYXQiLCJyZXBsYWNlIiwibWF0Y2giLCJvZmZzZXQiLCJ0b1VwcGVyQ2FzZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYW5nL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50J1xuaW1wb3J0IGkxOG4gZnJvbSAnLi9pbmRleCdcblxuZXhwb3J0IGNvbnN0IG1hcENPUkxhbmcgPSAobGFuZzogc3RyaW5nKSA9PiB7XG4gIGlmIChsYW5nID09PSAnYnInKSByZXR1cm4gJ3B0J1xuICByZXR1cm4gbGFuZ1xufVxuXG5leHBvcnQgZW51bSBMQU5HUyB7XG4gIEVTID0gJ2VzJyxcbiAgRU4gPSAnZW4nLFxuICBCUiA9ICdicicsXG4gIE1PTUVOVF9CUiA9ICdwdC1CUicsXG4gIEVKMl9CUiA9ICdwdCcsXG59XG5cbmV4cG9ydCBjb25zdCBnZXRNb21lbnRMb2NhbGUgPSAoKSA9PiB7XG4gIGNvbnN0IGN1cnJlbnQgPSBpMThuLmxhbmd1YWdlXG5cbiAgc3dpdGNoIChjdXJyZW50KSB7XG4gICAgY2FzZSBMQU5HUy5CUjpcbiAgICAgIHJldHVybiBMQU5HUy5NT01FTlRfQlJcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGN1cnJlbnRcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZm9ybWF0RGF0ZSA9IChkYXRlOiBEYXRlKSA9PiB7XG4gIGNvbnN0IG1vbWVudExvY2FsZSA9IGdldE1vbWVudExvY2FsZSgpXG4gIGNvbnN0IGZvcm1hdHRlZCA9IG1vbWVudChkYXRlKS5sb2NhbGUobW9tZW50TG9jYWxlKS5mb3JtYXQoJ0REIE1NTSwgWVlZWScpLnJlcGxhY2UoL1xcLi9nLCAnJylcbiAgLy8gQ2FwaXRhbGl6ZSB0aGUgbW9udGggKHdoaWNoIGlzIHRoZSBzZWNvbmQgd29yZCBpbiB0aGUgc3RyaW5nKVxuICByZXR1cm4gZm9ybWF0dGVkLnJlcGxhY2UoL1xcYlxcdy9nLCAobWF0Y2gsIG9mZnNldCkgPT4ge1xuICAgIC8vIE9ubHkgY2FwaXRhbGl6ZSBpZiBpdCdzIHRoZSBtb250aCAoc2Vjb25kIHdvcmQpXG4gICAgcmV0dXJuIG9mZnNldCA+IDIgPyBtYXRjaC50b1VwcGVyQ2FzZSgpIDogbWF0Y2hcbiAgfSlcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLFFBQVE7QUFDM0IsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFFMUIsT0FBTyxJQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBVUEsQ0FBSUMsSUFBWSxFQUFLO0VBQzFDLElBQUlBLElBQUksS0FBSyxJQUFJLEVBQUUsT0FBTyxJQUFJO0VBQzlCLE9BQU9BLElBQUk7QUFDYixDQUFDO0FBRUQsV0FBWUMsS0FBSywwQkFBTEEsS0FBSztFQUFMQSxLQUFLO0VBQUxBLEtBQUs7RUFBTEEsS0FBSztFQUFMQSxLQUFLO0VBQUxBLEtBQUs7RUFBQSxPQUFMQSxLQUFLO0FBQUE7QUFRakIsT0FBTyxJQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUEsRUFBUztFQUNuQyxJQUFNQyxPQUFPLEdBQUdMLElBQUksQ0FBQ00sUUFBUTtFQUU3QixRQUFRRCxPQUFPO0lBQ2IsS0FBS0YsS0FBSyxDQUFDSSxFQUFFO01BQ1gsT0FBT0osS0FBSyxDQUFDSyxTQUFTO0lBQ3hCO01BQ0UsT0FBT0gsT0FBTztFQUNsQjtBQUNGLENBQUM7QUFFRCxPQUFPLElBQU1JLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFJQyxJQUFVLEVBQUs7RUFDeEMsSUFBTUMsWUFBWSxHQUFHUCxlQUFlLENBQUMsQ0FBQztFQUN0QyxJQUFNUSxTQUFTLEdBQUdiLE1BQU0sQ0FBQ1csSUFBSSxDQUFDLENBQUNHLE1BQU0sQ0FBQ0YsWUFBWSxDQUFDLENBQUNHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7RUFDN0Y7RUFDQSxPQUFPSCxTQUFTLENBQUNHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsVUFBQ0MsS0FBSyxFQUFFQyxNQUFNLEVBQUs7SUFDbkQ7SUFDQSxPQUFPQSxNQUFNLEdBQUcsQ0FBQyxHQUFHRCxLQUFLLENBQUNFLFdBQVcsQ0FBQyxDQUFDLEdBQUdGLEtBQUs7RUFDakQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,395 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- import { v4 as uuidv4 } from 'uuid';
5
- export var MOCK_TIME_SLEEP_RESPONSE = 1000; // milliseconds
6
-
7
- export var MOCK_CHATS_RESPONSE = {
8
- items: [{
9
- chat_id: 'bfcad520-dbf7-4d99-ba9b-0eed93424459',
10
- chat_status: 'active',
11
- last_question: 'What is the profitability of this project?',
12
- last_question_date: '2025-05-14T17:48:08Z',
13
- message_id: uuidv4(),
14
- q_answers: 1,
15
- general_rating: 5,
16
- user_id: '47138',
17
- agent_id: '123'
18
- }, {
19
- chat_id: 'e5711ca1-00f5-4e35-afc8-22f1a230ca25',
20
- chat_status: 'active',
21
- last_question: 'What are the upcoming tasks due?',
22
- last_question_date: '2025-05-14T15:16:06Z',
23
- message_id: uuidv4(),
24
- q_answers: 1,
25
- general_rating: 5,
26
- user_id: '47138',
27
- agent_id: '123'
28
- }, {
29
- chat_id: '415bc2ff-6061-461a-b867-039ee905c118',
30
- chat_status: 'active',
31
- last_question: 'What is the progress of this project?',
32
- last_question_date: '2025-05-14T15:16:03Z',
33
- message_id: uuidv4(),
34
- q_answers: 1,
35
- general_rating: 5,
36
- user_id: '47138',
37
- agent_id: '123'
38
- }, {
39
- chat_id: '9c4699b3-0e7f-4540-9fad-4cfb7ef6242a',
40
- chat_status: 'active',
41
- last_question: 'What is the progress of this project?',
42
- last_question_date: '2025-05-14T15:16:00Z',
43
- message_id: uuidv4(),
44
- q_answers: 1,
45
- general_rating: 5,
46
- user_id: '47138',
47
- agent_id: '123'
48
- }, {
49
- chat_id: '51b67392-5ea7-4f2e-ac44-83f4c825767c',
50
- chat_status: 'active',
51
- last_question: 'What is the profitability of this project?',
52
- last_question_date: '2025-05-14T15:15:59Z',
53
- message_id: uuidv4(),
54
- q_answers: 1,
55
- general_rating: 5,
56
- user_id: '47138',
57
- agent_id: '123'
58
- }, {
59
- chat_id: '3e9ba276-c688-45a8-8fe1-c491629bbba3',
60
- chat_status: 'active',
61
- last_question: 'What are the upcoming tasks due?',
62
- last_question_date: '2025-05-14T15:15:55Z',
63
- message_id: uuidv4(),
64
- q_answers: 1,
65
- general_rating: 5,
66
- user_id: '47138',
67
- agent_id: '123'
68
- }, {
69
- chat_id: '04ff2f62-b07b-4c3b-b224-39f2d50e0734',
70
- chat_status: 'active',
71
- last_question: 'What is the progress of this project?',
72
- last_question_date: '2025-05-14T15:15:53Z',
73
- message_id: uuidv4(),
74
- q_answers: 1,
75
- general_rating: 5,
76
- user_id: '47138',
77
- agent_id: '123'
78
- }, {
79
- chat_id: '4b286566-8bf3-4f84-bd04-6f79f5575dbf',
80
- chat_status: 'active',
81
- last_question: 'What is the profitability of this project?',
82
- last_question_date: '2025-05-14T15:15:51Z',
83
- message_id: uuidv4(),
84
- q_answers: 1,
85
- general_rating: 5,
86
- user_id: '47138',
87
- agent_id: '123'
88
- }, {
89
- chat_id: 'cc6b91ea-f8ed-4862-acf3-e4ecb454f547',
90
- chat_status: 'active',
91
- last_question: 'What are the upcoming tasks due?',
92
- last_question_date: '2025-05-14T15:15:35Z',
93
- message_id: uuidv4(),
94
- q_answers: 1,
95
- general_rating: 5,
96
- user_id: '47138',
97
- agent_id: '123'
98
- }, {
99
- chat_id: '5d9eb5fa-733d-4e7c-aea8-0d599a8b01af',
100
- chat_status: 'active',
101
- last_question: 'What is the profitability of this project?',
102
- last_question_date: '2025-05-14T15:15:30Z',
103
- message_id: uuidv4(),
104
- q_answers: 1,
105
- general_rating: 5,
106
- user_id: '47138',
107
- agent_id: '123'
108
- }],
109
- last_evaluated_key: '%7B%22index%22%3A%2010%7D'
110
- };
111
-
112
- // Base de datos de preguntas y respuestas por tipo de chat
113
- var CHAT_MESSAGES_DATABASE = {
114
- 'bfcad520-dbf7-4d99-ba9b-0eed93424459': [{
115
- question: '¿Cuál es la rentabilidad esperada del proyecto?',
116
- answer: 'La rentabilidad proyectada del proyecto es del 28% anual. Los principales indicadores son:\n- ROI esperado: 2.8x\n- Margen de beneficio: 35%\n- Período de recuperación: 18 meses\n\nEstos números están basados en las proyecciones actuales y el análisis de mercado realizado en Q1 2025.',
117
- project_id: 40532
118
- }, {
119
- question: '¿Cuáles son los costos operativos mensuales?',
120
- answer: 'Los costos operativos mensuales ascienden a $45,000 distribuidos de la siguiente manera:\n- Infraestructura y hosting: $12,000\n- Licencias de software: $8,000\n- Recursos humanos: $20,000\n- Marketing y publicidad: $5,000\n\nEstos costos están dentro del presupuesto proyectado.',
121
- project_id: 40532
122
- }, {
123
- question: '¿Cuál es el margen de contribución actual?',
124
- answer: 'El margen de contribución actual es del 65%. Esto significa que por cada $100 de ingresos, $65 contribuyen directamente a cubrir los costos fijos y generar utilidades. Este margen está por encima del objetivo del 60%.',
125
- project_id: 40532
126
- }],
127
- 'e5711ca1-00f5-4e35-afc8-22f1a230ca25': [{
128
- question: '¿Cuáles son las próximas tareas pendientes?',
129
- answer: 'Las próximas tareas prioritarias son:\n1. Finalizar la integración con el sistema de pagos (Fecha límite: 2025-05-20)\n2. Implementar el nuevo módulo de reportes (Fecha límite: 2025-05-25)\n3. Realizar pruebas de carga del sistema (Fecha límite: 2025-05-28)\n4. Preparar la documentación para el lanzamiento (Fecha límite: 2025-06-01)',
130
- project_id: 40532
131
- }, {
132
- question: '¿Quién está asignado a la tarea de integración?',
133
- answer: 'La tarea de integración está asignada al equipo de desarrollo backend:\n- Líder técnico: María González\n- Desarrolladores: Carlos Ruiz, Ana López\n- QA: Pedro Martínez\n\nEl equipo está trabajando en modalidad híbrida con reuniones diarias de seguimiento.',
134
- project_id: 40532
135
- }, {
136
- question: '¿Cuál es el estado de las tareas críticas?',
137
- answer: 'Estado de las tareas críticas:\n- ✅ Integración API: 85% completado\n- 🔄 Módulo de reportes: 60% completado\n- ⏳ Pruebas de carga: 30% completado\n- 📋 Documentación: 20% completado\n\nTodas las tareas están en camino de cumplir sus fechas límite.',
138
- project_id: 40532
139
- }],
140
- '415bc2ff-6061-461a-b867-039ee905c118': [{
141
- question: '¿Cuál es el estado actual del proyecto?',
142
- answer: 'El proyecto actualmente tiene un progreso del 75%. Los hitos principales completados incluyen la fase de diseño (100%), desarrollo del backend (90%), y la interfaz de usuario (60%). El sprint actual está enfocado en la implementación de nuevas características y la optimización del rendimiento.',
143
- project_id: 40532
144
- }, {
145
- question: '¿Cuáles son los hitos alcanzados este mes?',
146
- answer: 'Hitos alcanzados en mayo 2025:\n- ✅ Lanzamiento de la versión beta\n- ✅ Integración completa con sistemas externos\n- ✅ Implementación del sistema de autenticación\n- ✅ Optimización del rendimiento en un 40%\n- 🔄 Migración a la nueva infraestructura (80% completado)',
147
- project_id: 40532
148
- }, {
149
- question: '¿Cómo se compara el progreso con el plan original?',
150
- answer: 'El progreso actual está 5% adelantado respecto al plan original:\n- Plan original: 70% completado\n- Progreso actual: 75% completado\n- Adelanto: +5%\n\nEste adelanto se debe principalmente a la eficiencia del equipo y la optimización de procesos.',
151
- project_id: 40532
152
- }],
153
- '9c4699b3-0e7f-4540-9fad-4cfb7ef6242a': [{
154
- question: '¿Cuál es el progreso del desarrollo frontend?',
155
- answer: 'El desarrollo frontend está al 60% completado:\n- Componentes principales: 90%\n- Integración con APIs: 75%\n- Responsive design: 85%\n- Testing: 40%\n- Optimización: 30%\n\nEl equipo frontend está trabajando en paralelo con el backend.',
156
- project_id: 40531
157
- }, {
158
- question: '¿Cuándo estará lista la versión beta?',
159
- answer: 'La versión beta estará lista para el 25 de mayo de 2025. El cronograma detallado es:\n- Semana 1: Finalización de funcionalidades core\n- Semana 2: Testing y corrección de bugs\n- Semana 3: Preparación de documentación\n- Semana 4: Lanzamiento beta con usuarios selectos',
160
- project_id: 40531
161
- }, {
162
- question: '¿Cuáles son los principales desafíos técnicos?',
163
- answer: 'Los principales desafíos técnicos identificados son:\n1. Optimización de consultas de base de datos\n2. Implementación de cache distribuido\n3. Manejo de concurrencia en tiempo real\n4. Integración con sistemas legacy\n\nSe están aplicando soluciones escalables para cada desafío.',
164
- project_id: 40531
165
- }],
166
- '51b67392-5ea7-4f2e-ac44-83f4c825767c': [{
167
- question: '¿Cuál es el ROI esperado del proyecto?',
168
- answer: 'El ROI esperado del proyecto es de 2.8x en un período de 18 meses. Desglose:\n- Inversión inicial: $500,000\n- Ingresos proyectados: $1,400,000\n- ROI: 180%\n- Período de recuperación: 18 meses\n\nEstas proyecciones están basadas en análisis de mercado y tendencias actuales.',
169
- project_id: 155671
170
- }, {
171
- question: '¿Cuáles son las fuentes de ingresos principales?',
172
- answer: 'Las fuentes de ingresos principales son:\n1. Suscripciones premium: 45% ($630,000)\n2. Licencias empresariales: 35% ($490,000)\n3. Servicios de consultoría: 15% ($210,000)\n4. Integraciones personalizadas: 5% ($70,000)\n\nLa estrategia se enfoca en diversificar las fuentes de ingresos.',
173
- project_id: 155671
174
- }, {
175
- question: '¿Cómo se compara con la competencia?',
176
- answer: 'Comparación con la competencia:\n- Nuestro margen: 35%\n- Competencia promedio: 25%\n- Ventaja competitiva: +10%\n\nEsta ventaja se debe a nuestra tecnología propietaria y eficiencia operativa.',
177
- project_id: 155671
178
- }],
179
- '3e9ba276-c688-45a8-8fe1-c491629bbba3': [{
180
- question: '¿Cuáles son las tareas del sprint actual?',
181
- answer: 'Tareas del sprint actual (Sprint 12):\n1. Implementar filtros avanzados (8 puntos)\n2. Optimizar consultas de base de datos (5 puntos)\n3. Agregar exportación a PDF (3 puntos)\n4. Corregir bugs de UI (2 puntos)\n5. Actualizar documentación (1 punto)\n\nTotal: 19 puntos - 85% completado',
182
- project_id: 40532
183
- }, {
184
- question: '¿Quién está disponible para nuevas tareas?',
185
- answer: 'Disponibilidad del equipo:\n- María (Frontend): Disponible desde 2025-05-20\n- Carlos (Backend): Ocupado hasta 2025-05-25\n- Ana (QA): Disponible desde 2025-05-18\n- Pedro (DevOps): Ocupado hasta 2025-05-30\n\nRecomendación: Asignar tareas frontend a María y Ana.',
186
- project_id: 40532
187
- }, {
188
- question: '¿Cuál es la velocidad del equipo?',
189
- answer: 'La velocidad promedio del equipo es de 45 puntos por sprint:\n- Sprint 10: 42 puntos\n- Sprint 11: 48 puntos\n- Sprint 12 (actual): 38 puntos (proyectado)\n- Promedio: 45 puntos\n\nEl equipo está estable y consistente en su rendimiento.',
190
- project_id: 40532
191
- }],
192
- '04ff2f62-b07b-4c3b-b224-39f2d50e0734': [{
193
- question: '¿Cuál es el progreso de la fase de testing?',
194
- answer: 'Progreso de la fase de testing:\n- Tests unitarios: 95% completado\n- Tests de integración: 80% completado\n- Tests de aceptación: 70% completado\n- Tests de rendimiento: 60% completado\n- Tests de seguridad: 85% completado\n\nCobertura total: 78% - Objetivo: 85%',
195
- project_id: 40532
196
- }, {
197
- question: '¿Cuántos bugs críticos quedan por resolver?',
198
- answer: 'Estado de bugs por prioridad:\n- Críticos: 2 bugs (ambos en proceso)\n- Altos: 8 bugs (5 resueltos)\n- Medios: 15 bugs (12 resueltos)\n- Bajos: 25 bugs (20 resueltos)\n\nLos bugs críticos están programados para resolución antes del 2025-05-20.',
199
- project_id: 40532
200
- }, {
201
- question: '¿Cuándo estará lista la versión de producción?',
202
- answer: 'La versión de producción estará lista el 15 de junio de 2025:\n- Semana 1: Finalización de testing\n- Semana 2: Corrección de bugs críticos\n- Semana 3: Preparación de despliegue\n- Semana 4: Lanzamiento gradual\n\nEl cronograma está alineado con los objetivos del proyecto.',
203
- project_id: 40532
204
- }],
205
- '4b286566-8bf3-4f84-bd04-6f79f5575dbf': [{
206
- question: '¿Cuál es el análisis de rentabilidad por segmento?',
207
- answer: 'Análisis de rentabilidad por segmento:\n- Segmento SMB: 25% margen, $200K ingresos\n- Segmento Enterprise: 40% margen, $800K ingresos\n- Segmento Gobierno: 30% margen, $400K ingresos\n\nEl segmento Enterprise es el más rentable y representa el 57% de los ingresos.',
208
- project_id: 155671
209
- }, {
210
- question: '¿Cuáles son las proyecciones para el próximo trimestre?',
211
- answer: 'Proyecciones Q2 2025:\n- Ingresos totales: $450,000 (+15% vs Q1)\n- Nuevos clientes: 25 (+20% vs Q1)\n- Churn rate: 5% (objetivo: <8%)\n- LTV promedio: $18,000 (+10% vs Q1)\n\nLas proyecciones están basadas en el pipeline actual y tendencias de mercado.',
212
- project_id: 155671
213
- }, {
214
- question: '¿Cómo afecta la inflación a la rentabilidad?',
215
- answer: 'Impacto de la inflación en la rentabilidad:\n- Costos operativos: +8% (vs 5% proyectado)\n- Precios: +12% (ajuste implementado)\n- Margen neto: +2% (beneficio del ajuste de precios)\n\nLa estrategia de precios ha compensado el aumento de costos.',
216
- project_id: 155671
217
- }],
218
- 'cc6b91ea-f8ed-4862-acf3-e4ecb454f547': [{
219
- question: '¿Cuáles son las tareas bloqueadas actualmente?',
220
- answer: 'Tareas bloqueadas:\n1. Integración con sistema de pagos (bloqueada por dependencia externa)\n2. Implementación de notificaciones push (bloqueada por aprobación de seguridad)\n3. Migración de datos (bloqueada por mantenimiento de BD)\n\nSe están coordinando con los equipos externos para resolver los bloqueos.',
221
- project_id: 40532
222
- }, {
223
- question: '¿Quién puede ayudar con las tareas bloqueadas?',
224
- answer: 'Recursos disponibles para desbloquear tareas:\n- Juan (Arquitecto): Puede ayudar con dependencias técnicas\n- Laura (Product Manager): Puede coordinar con stakeholders externos\n- Roberto (DevOps): Puede resolver problemas de infraestructura\n\nSe ha asignado un coordinador para cada tarea bloqueada.',
225
- project_id: 40532
226
- }, {
227
- question: '¿Cuál es el plan de contingencia?',
228
- answer: 'Plan de contingencia para tareas bloqueadas:\n- Alternativa 1: Usar sistema de pagos alternativo (implementación: 3 días)\n- Alternativa 2: Implementar notificaciones por email (implementación: 1 día)\n- Alternativa 3: Migración incremental de datos (implementación: 5 días)\n\nSe activará el plan de contingencia si los bloqueos persisten más de 48 horas.',
229
- project_id: 40532
230
- }],
231
- '5d9eb5fa-733d-4e7c-aea8-0d599a8b01af': [{
232
- question: '¿Cuál es el análisis de costos vs beneficios?',
233
- answer: 'Análisis costo-beneficio:\n- Costos totales: $350,000\n- Beneficios proyectados: $1,200,000\n- Ratio beneficio/costo: 3.4:1\n- Valor presente neto: $750,000\n- Tasa interna de retorno: 45%\n\nEl proyecto es altamente rentable y supera todos los criterios de inversión.',
234
- project_id: 155671
235
- }, {
236
- question: '¿Cuáles son los riesgos financieros?',
237
- answer: 'Riesgos financieros identificados:\n1. Fluctuación de divisas (Probabilidad: Media, Impacto: Alto)\n2. Cambios regulatorios (Probabilidad: Baja, Impacto: Alto)\n3. Competencia agresiva (Probabilidad: Alta, Impacto: Medio)\n4. Recesión económica (Probabilidad: Baja, Impacto: Alto)\n\nSe han implementado estrategias de mitigación para cada riesgo.',
238
- project_id: 155671
239
- }, {
240
- question: '¿Cómo se distribuye el presupuesto?',
241
- answer: 'Distribución del presupuesto:\n- Desarrollo: 40% ($140,000)\n- Infraestructura: 25% ($87,500)\n- Marketing: 20% ($70,000)\n- Operaciones: 10% ($35,000)\n- Contingencia: 5% ($17,500)\n\nEl presupuesto está alineado con las mejores prácticas del sector.',
242
- project_id: 155671
243
- }]
244
- };
245
-
246
- // Función para generar mensajes aleatorios basados en el chatId
247
- export var generateMockChatMessages = function generateMockChatMessages(chatId) {
248
- var messagesForChat = CHAT_MESSAGES_DATABASE[chatId] || CHAT_MESSAGES_DATABASE['bfcad520-dbf7-4d99-ba9b-0eed93424459'];
249
-
250
- // Generar entre 3 y 6 mensajes aleatorios
251
- var numMessages = Math.floor(Math.random() * 4) + 3;
252
- var selectedMessages = [];
253
- for (var i = 0; i < numMessages; i += 1) {
254
- var randomIndex = Math.floor(Math.random() * messagesForChat.length);
255
- var message = messagesForChat[randomIndex];
256
-
257
- // Generar fecha aleatoria en los últimos 7 días
258
- var randomDate = new Date();
259
- randomDate.setDate(randomDate.getDate() - Math.floor(Math.random() * 7));
260
- randomDate.setHours(Math.floor(Math.random() * 24));
261
- randomDate.setMinutes(Math.floor(Math.random() * 60));
262
- selectedMessages.push(_objectSpread(_objectSpread({}, message), {}, {
263
- date: randomDate.toISOString(),
264
- message_id: "msg_".concat(Date.now(), "_").concat(i),
265
- user_id: '15',
266
- was_helpful: Math.random() > 0.3 ? 1 : 0
267
- }));
268
- }
269
-
270
- // Ordenar por fecha
271
- selectedMessages.sort(function (a, b) {
272
- return new Date(a.date).getTime() - new Date(b.date).getTime();
273
- });
274
- return {
275
- items: selectedMessages,
276
- last_evaluated_key: "%7B%22PK%22%3A%20%22staging%23CHATID%23".concat(chatId, "%23PROJECT%23pm_agent%22%2C%20%22SK%22%3A%20").concat(Date.now(), "%7D")
277
- };
278
- };
279
-
280
- // Mock original para compatibilidad
281
- export var MOCK_CHAT_MESSAGES_RESPONSE = {
282
- items: [{
283
- answer: 'El proyecto actualmente tiene un progreso del 75%. Los hitos principales completados incluyen la fase de diseño (100%), desarrollo del backend (90%), y la interfaz de usuario (60%). El sprint actual está enfocado en la implementación de nuevas características y la optimización del rendimiento.',
284
- date: '2025-05-14T17:52:44.117485',
285
- message_id: 'msg_20250514_001',
286
- question: '¿Cuál es el estado actual del proyecto?',
287
- user_id: '15',
288
- was_helpful: true,
289
- project_id: 40532,
290
- agent_id: '123',
291
- timestamp: '',
292
- memory_session_id: ''
293
- }, {
294
- answer: 'La rentabilidad proyectada del proyecto es del 28% anual. Los principales indicadores son:\n- ROI esperado: 2.8x\n- Margen de beneficio: 35%\n- Período de recuperación: 18 meses\n\nEstos números están basados en las proyecciones actuales y el análisis de mercado realizado en Q1 2025.',
295
- date: '2025-05-14T17:52:46.543980',
296
- message_id: 'msg_20250514_002',
297
- question: '¿Cuál es la rentabilidad esperada del proyecto?',
298
- user_id: '15',
299
- was_helpful: true,
300
- project_id: 40532,
301
- agent_id: '123',
302
- timestamp: '',
303
- memory_session_id: ''
304
- }, {
305
- answer: 'Las próximas tareas prioritarias son:\n1. Finalizar la integración con el sistema de pagos (Fecha límite: 2025-05-20)\n2. Implementar el nuevo módulo de reportes (Fecha límite: 2025-05-25)\n3. Realizar pruebas de carga del sistema (Fecha límite: 2025-05-28)\n4. Preparar la documentación para el lanzamiento (Fecha límite: 2025-06-01)',
306
- date: '2025-05-14T17:52:48.786884',
307
- message_id: 'msg_20250514_003',
308
- question: '¿Cuáles son las próximas tareas pendientes?',
309
- user_id: '15',
310
- was_helpful: true,
311
- project_id: 40532,
312
- agent_id: '123',
313
- timestamp: '',
314
- memory_session_id: ''
315
- }, {
316
- answer: 'El equipo actual está compuesto por:\n- 3 desarrolladores backend\n- 2 desarrolladores frontend\n- 1 diseñador UX/UI\n- 1 Project Manager\n- 1 QA Engineer\n\nTodos los miembros están asignados al 100% al proyecto y trabajan en modalidad híbrida.',
317
- date: '2025-05-14T17:52:50.657815',
318
- message_id: 'msg_20250514_004',
319
- question: '¿Cómo está conformado el equipo del proyecto?',
320
- user_id: '15',
321
- was_helpful: true,
322
- project_id: 40531,
323
- agent_id: '123',
324
- timestamp: '',
325
- memory_session_id: ''
326
- }, {
327
- answer: 'Los principales riesgos identificados son:\n1. Dependencias de terceros (Probabilidad: Media, Impacto: Alto)\n2. Escalabilidad del sistema (Probabilidad: Baja, Impacto: Alto)\n3. Cumplimiento regulatorio (Probabilidad: Media, Impacto: Medio)\n\nSe están implementando planes de mitigación para cada uno de estos riesgos.',
328
- date: '2025-05-14T17:52:53.271657',
329
- message_id: 'msg_20250514_005',
330
- question: '¿Cuáles son los principales riesgos del proyecto?',
331
- user_id: '15',
332
- was_helpful: true,
333
- project_id: 40532,
334
- agent_id: '123',
335
- timestamp: '',
336
- memory_session_id: ''
337
- }, {
338
- answer: 'El presupuesto actual del proyecto es de $450,000. Hasta la fecha, se han gastado $320,000 (71% del presupuesto). Los principales gastos han sido en desarrollo (45%), infraestructura (25%), y recursos humanos (30%). El presupuesto está alineado con las proyecciones iniciales.',
339
- date: '2025-05-14T17:52:54.872512',
340
- message_id: 'msg_20250514_006',
341
- question: '¿Cuál es el estado del presupuesto del proyecto?',
342
- user_id: '15',
343
- was_helpful: true,
344
- project_id: 155671,
345
- agent_id: '123',
346
- timestamp: '',
347
- memory_session_id: ''
348
- }, {
349
- answer: 'Las métricas clave (KPIs) del proyecto son:\n- Velocidad del equipo: 45 puntos por sprint\n- Calidad del código: 98% de cobertura de pruebas\n- Satisfacción del cliente: 4.8/5\n- Tiempo de respuesta a incidencias: < 2 horas\n\nTodas las métricas están dentro de los rangos objetivos establecidos.',
350
- date: '2025-05-14T17:53:11.677306',
351
- message_id: 'msg_20250514_007',
352
- question: '¿Cuáles son las métricas actuales del proyecto?',
353
- user_id: '15',
354
- was_helpful: true,
355
- project_id: 40532,
356
- agent_id: '123',
357
- timestamp: '',
358
- memory_session_id: ''
359
- }, {
360
- answer: 'El cronograma actual indica que el proyecto está en la Fase 3 de 5. Las fechas clave son:\n- Fase 3 (Actual): 2025-05-01 a 2025-06-15\n- Fase 4: 2025-06-16 a 2025-07-31\n- Fase 5 (Final): 2025-08-01 a 2025-08-31\n\nEl proyecto está avanzando según lo planificado.',
361
- date: '2025-05-14T17:53:12.618905',
362
- message_id: 'msg_20250514_008',
363
- question: '¿Cuál es el cronograma actual del proyecto?',
364
- user_id: '15',
365
- was_helpful: true,
366
- project_id: 40532,
367
- agent_id: '123',
368
- timestamp: '',
369
- memory_session_id: ''
370
- }, {
371
- answer: 'Los stakeholders principales son:\n1. Cliente final: Empresa XYZ\n2. Patrocinador: Director de Innovación\n3. Usuarios finales: Equipo de Operaciones\n4. Proveedores: Cloud Services Inc.\n\nSe realizan reuniones semanales con los stakeholders para mantenerlos informados del progreso.',
372
- date: '2025-05-14T17:53:15.706412',
373
- message_id: 'msg_20250514_009',
374
- question: '¿Quiénes son los stakeholders del proyecto?',
375
- user_id: '15',
376
- was_helpful: true,
377
- project_id: 40532,
378
- agent_id: '123',
379
- timestamp: '',
380
- memory_session_id: ''
381
- }, {
382
- answer: 'Los entregables pendientes para este trimestre son:\n\n| Título de la Tarea | Estado |\n|--------------------|--------|\n| Propuesta creativa | Nueva |\n| Aplicaciones de marca | Nueva |\n| Brainstorming Conceptos visuales | Nueva |\n| Brainstorming Naming | Nueva |\n| Consolidación de Brief | Nueva |\n| Análisis de la Marca | Nueva |\n| tarea de Prueba | Nueva |\n| Presentación de propuesta (1) | Nueva |\n| Manual de marca | Nueva |\n| Ajustes de Diseño Propuesta 1 | Nueva |\n| tarea al medio | Nueva |\n| La tarea para refrescar | Nueva |\n\nTodos los entregables tienen sus fechas de entrega definidas y están siendo monitoreados activamente.',
383
- date: '2025-05-14T17:53:16.918493',
384
- message_id: 'msg_20250514_010',
385
- question: '¿Cuáles son los entregables pendientes?',
386
- user_id: '15',
387
- was_helpful: true,
388
- project_id: 40532,
389
- agent_id: '123',
390
- timestamp: '',
391
- memory_session_id: ''
392
- }],
393
- last_evaluated_key: '%7B%22PK%22%3A%20%22staging%23CHATID%2390491d3c-058a-4149-b87e-f37f00681839%23PROJECT%23pm_agent%22%2C%20%22SK%22%3A%201747245164%7D'
394
- };
395
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ2NCIsInV1aWR2NCIsIk1PQ0tfVElNRV9TTEVFUF9SRVNQT05TRSIsIk1PQ0tfQ0hBVFNfUkVTUE9OU0UiLCJpdGVtcyIsImNoYXRfaWQiLCJjaGF0X3N0YXR1cyIsImxhc3RfcXVlc3Rpb24iLCJsYXN0X3F1ZXN0aW9uX2RhdGUiLCJtZXNzYWdlX2lkIiwicV9hbnN3ZXJzIiwiZ2VuZXJhbF9yYXRpbmciLCJ1c2VyX2lkIiwiYWdlbnRfaWQiLCJsYXN0X2V2YWx1YXRlZF9rZXkiLCJDSEFUX01FU1NBR0VTX0RBVEFCQVNFIiwicXVlc3Rpb24iLCJhbnN3ZXIiLCJwcm9qZWN0X2lkIiwiZ2VuZXJhdGVNb2NrQ2hhdE1lc3NhZ2VzIiwiY2hhdElkIiwibWVzc2FnZXNGb3JDaGF0IiwibnVtTWVzc2FnZXMiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJzZWxlY3RlZE1lc3NhZ2VzIiwiaSIsInJhbmRvbUluZGV4IiwibGVuZ3RoIiwibWVzc2FnZSIsInJhbmRvbURhdGUiLCJEYXRlIiwic2V0RGF0ZSIsImdldERhdGUiLCJzZXRIb3VycyIsInNldE1pbnV0ZXMiLCJwdXNoIiwiX29iamVjdFNwcmVhZCIsImRhdGUiLCJ0b0lTT1N0cmluZyIsImNvbmNhdCIsIm5vdyIsIndhc19oZWxwZnVsIiwic29ydCIsImEiLCJiIiwiZ2V0VGltZSIsIk1PQ0tfQ0hBVF9NRVNTQUdFU19SRVNQT05TRSIsInRpbWVzdGFtcCIsIm1lbW9yeV9zZXNzaW9uX2lkIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vY2tzL21vY2tDaGF0cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJ1xuaW1wb3J0IHsgQ2hhdE1lc3NhZ2VzUmVzcG9uc2VTY2hlbWEsIENoYXRNZXNzYWdlSXRlbVJlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMvQ2hhdCdcblxuZXhwb3J0IGNvbnN0IE1PQ0tfVElNRV9TTEVFUF9SRVNQT05TRSA9IDEwMDAgLy8gbWlsbGlzZWNvbmRzXG5cbmV4cG9ydCBjb25zdCBNT0NLX0NIQVRTX1JFU1BPTlNFID0ge1xuICBpdGVtczogW1xuICAgIHtcbiAgICAgIGNoYXRfaWQ6ICdiZmNhZDUyMC1kYmY3LTRkOTktYmE5Yi0wZWVkOTM0MjQ0NTknLFxuICAgICAgY2hhdF9zdGF0dXM6ICdhY3RpdmUnLFxuICAgICAgbGFzdF9xdWVzdGlvbjogJ1doYXQgaXMgdGhlIHByb2ZpdGFiaWxpdHkgb2YgdGhpcyBwcm9qZWN0PycsXG4gICAgICBsYXN0X3F1ZXN0aW9uX2RhdGU6ICcyMDI1LTA1LTE0VDE3OjQ4OjA4WicsXG4gICAgICBtZXNzYWdlX2lkOiB1dWlkdjQoKSxcbiAgICAgIHFfYW5zd2VyczogMSxcbiAgICAgIGdlbmVyYWxfcmF0aW5nOiA1LFxuICAgICAgdXNlcl9pZDogJzQ3MTM4JyxcbiAgICAgIGFnZW50X2lkOiAnMTIzJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNoYXRfaWQ6ICdlNTcxMWNhMS0wMGY1LTRlMzUtYWZjOC0yMmYxYTIzMGNhMjUnLFxuICAgICAgY2hhdF9zdGF0dXM6ICdhY3RpdmUnLFxuICAgICAgbGFzdF9xdWVzdGlvbjogJ1doYXQgYXJlIHRoZSB1cGNvbWluZyB0YXNrcyBkdWU/JyxcbiAgICAgIGxhc3RfcXVlc3Rpb25fZGF0ZTogJzIwMjUtMDUtMTRUMTU6MTY6MDZaJyxcbiAgICAgIG1lc3NhZ2VfaWQ6IHV1aWR2NCgpLFxuICAgICAgcV9hbnN3ZXJzOiAxLFxuICAgICAgZ2VuZXJhbF9yYXRpbmc6IDUsXG4gICAgICB1c2VyX2lkOiAnNDcxMzgnLFxuICAgICAgYWdlbnRfaWQ6ICcxMjMnLFxuICAgIH0sXG4gICAge1xuICAgICAgY2hhdF9pZDogJzQxNWJjMmZmLTYwNjEtNDYxYS1iODY3LTAzOWVlOTA1YzExOCcsXG4gICAgICBjaGF0X3N0YXR1czogJ2FjdGl2ZScsXG4gICAgICBsYXN0X3F1ZXN0aW9uOiAnV2hhdCBpcyB0aGUgcHJvZ3Jlc3Mgb2YgdGhpcyBwcm9qZWN0PycsXG4gICAgICBsYXN0X3F1ZXN0aW9uX2RhdGU6ICcyMDI1LTA1LTE0VDE1OjE2OjAzWicsXG4gICAgICBtZXNzYWdlX2lkOiB1dWlkdjQoKSxcbiAgICAgIHFfYW5zd2VyczogMSxcbiAgICAgIGdlbmVyYWxfcmF0aW5nOiA1LFxuICAgICAgdXNlcl9pZDogJzQ3MTM4JyxcbiAgICAgIGFnZW50X2lkOiAnMTIzJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNoYXRfaWQ6ICc5YzQ2OTliMy0wZTdmLTQ1NDAtOWZhZC00Y2ZiN2VmNjI0MmEnLFxuICAgICAgY2hhdF9zdGF0dXM6ICdhY3RpdmUnLFxuICAgICAgbGFzdF9xdWVzdGlvbjogJ1doYXQgaXMgdGhlIHByb2dyZXNzIG9mIHRoaXMgcHJvamVjdD8nLFxuICAgICAgbGFzdF9xdWVzdGlvbl9kYXRlOiAnMjAyNS0wNS0xNFQxNToxNjowMFonLFxuICAgICAgbWVzc2FnZV9pZDogdXVpZHY0KCksXG4gICAgICBxX2Fuc3dlcnM6IDEsXG4gICAgICBnZW5lcmFsX3JhdGluZzogNSxcbiAgICAgIHVzZXJfaWQ6ICc0NzEzOCcsXG4gICAgICBhZ2VudF9pZDogJzEyMycsXG4gICAgfSxcbiAgICB7XG4gICAgICBjaGF0X2lkOiAnNTFiNjczOTItNWVhNy00ZjJlLWFjNDQtODNmNGM4MjU3NjdjJyxcbiAgICAgIGNoYXRfc3RhdHVzOiAnYWN0aXZlJyxcbiAgICAgIGxhc3RfcXVlc3Rpb246ICdXaGF0IGlzIHRoZSBwcm9maXRhYmlsaXR5IG9mIHRoaXMgcHJvamVjdD8nLFxuICAgICAgbGFzdF9xdWVzdGlvbl9kYXRlOiAnMjAyNS0wNS0xNFQxNToxNTo1OVonLFxuICAgICAgbWVzc2FnZV9pZDogdXVpZHY0KCksXG4gICAgICBxX2Fuc3dlcnM6IDEsXG4gICAgICBnZW5lcmFsX3JhdGluZzogNSxcbiAgICAgIHVzZXJfaWQ6ICc0NzEzOCcsXG4gICAgICBhZ2VudF9pZDogJzEyMycsXG4gICAgfSxcbiAgICB7XG4gICAgICBjaGF0X2lkOiAnM2U5YmEyNzYtYzY4OC00NWE4LThmZTEtYzQ5MTYyOWJiYmEzJyxcbiAgICAgIGNoYXRfc3RhdHVzOiAnYWN0aXZlJyxcbiAgICAgIGxhc3RfcXVlc3Rpb246ICdXaGF0IGFyZSB0aGUgdXBjb21pbmcgdGFza3MgZHVlPycsXG4gICAgICBsYXN0X3F1ZXN0aW9uX2RhdGU6ICcyMDI1LTA1LTE0VDE1OjE1OjU1WicsXG4gICAgICBtZXNzYWdlX2lkOiB1dWlkdjQoKSxcbiAgICAgIHFfYW5zd2VyczogMSxcbiAgICAgIGdlbmVyYWxfcmF0aW5nOiA1LFxuICAgICAgdXNlcl9pZDogJzQ3MTM4JyxcbiAgICAgIGFnZW50X2lkOiAnMTIzJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNoYXRfaWQ6ICcwNGZmMmY2Mi1iMDdiLTRjM2ItYjIyNC0zOWYyZDUwZTA3MzQnLFxuICAgICAgY2hhdF9zdGF0dXM6ICdhY3RpdmUnLFxuICAgICAgbGFzdF9xdWVzdGlvbjogJ1doYXQgaXMgdGhlIHByb2dyZXNzIG9mIHRoaXMgcHJvamVjdD8nLFxuICAgICAgbGFzdF9xdWVzdGlvbl9kYXRlOiAnMjAyNS0wNS0xNFQxNToxNTo1M1onLFxuICAgICAgbWVzc2FnZV9pZDogdXVpZHY0KCksXG4gICAgICBxX2Fuc3dlcnM6IDEsXG4gICAgICBnZW5lcmFsX3JhdGluZzogNSxcbiAgICAgIHVzZXJfaWQ6ICc0NzEzOCcsXG4gICAgICBhZ2VudF9pZDogJzEyMycsXG4gICAgfSxcbiAgICB7XG4gICAgICBjaGF0X2lkOiAnNGIyODY1NjYtOGJmMy00Zjg0LWJkMDQtNmY3OWY1NTc1ZGJmJyxcbiAgICAgIGNoYXRfc3RhdHVzOiAnYWN0aXZlJyxcbiAgICAgIGxhc3RfcXVlc3Rpb246ICdXaGF0IGlzIHRoZSBwcm9maXRhYmlsaXR5IG9mIHRoaXMgcHJvamVjdD8nLFxuICAgICAgbGFzdF9xdWVzdGlvbl9kYXRlOiAnMjAyNS0wNS0xNFQxNToxNTo1MVonLFxuICAgICAgbWVzc2FnZV9pZDogdXVpZHY0KCksXG4gICAgICBxX2Fuc3dlcnM6IDEsXG4gICAgICBnZW5lcmFsX3JhdGluZzogNSxcbiAgICAgIHVzZXJfaWQ6ICc0NzEzOCcsXG4gICAgICBhZ2VudF9pZDogJzEyMycsXG4gICAgfSxcbiAgICB7XG4gICAgICBjaGF0X2lkOiAnY2M2YjkxZWEtZjhlZC00ODYyLWFjZjMtZTRlY2I0NTRmNTQ3JyxcbiAgICAgIGNoYXRfc3RhdHVzOiAnYWN0aXZlJyxcbiAgICAgIGxhc3RfcXVlc3Rpb246ICdXaGF0IGFyZSB0aGUgdXBjb21pbmcgdGFza3MgZHVlPycsXG4gICAgICBsYXN0X3F1ZXN0aW9uX2RhdGU6ICcyMDI1LTA1LTE0VDE1OjE1OjM1WicsXG4gICAgICBtZXNzYWdlX2lkOiB1dWlkdjQoKSxcbiAgICAgIHFfYW5zd2VyczogMSxcbiAgICAgIGdlbmVyYWxfcmF0aW5nOiA1LFxuICAgICAgdXNlcl9pZDogJzQ3MTM4JyxcbiAgICAgIGFnZW50X2lkOiAnMTIzJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNoYXRfaWQ6ICc1ZDllYjVmYS03MzNkLTRlN2MtYWVhOC0wZDU5OWE4YjAxYWYnLFxuICAgICAgY2hhdF9zdGF0dXM6ICdhY3RpdmUnLFxuICAgICAgbGFzdF9xdWVzdGlvbjogJ1doYXQgaXMgdGhlIHByb2ZpdGFiaWxpdHkgb2YgdGhpcyBwcm9qZWN0PycsXG4gICAgICBsYXN0X3F1ZXN0aW9uX2RhdGU6ICcyMDI1LTA1LTE0VDE1OjE1OjMwWicsXG4gICAgICBtZXNzYWdlX2lkOiB1dWlkdjQoKSxcbiAgICAgIHFfYW5zd2VyczogMSxcbiAgICAgIGdlbmVyYWxfcmF0aW5nOiA1LFxuICAgICAgdXNlcl9pZDogJzQ3MTM4JyxcbiAgICAgIGFnZW50X2lkOiAnMTIzJyxcbiAgICB9LFxuICBdLFxuICBsYXN0X2V2YWx1YXRlZF9rZXk6ICclN0IlMjJpbmRleCUyMiUzQSUyMDEwJTdEJyxcbn1cblxuLy8gQmFzZSBkZSBkYXRvcyBkZSBwcmVndW50YXMgeSByZXNwdWVzdGFzIHBvciB0aXBvIGRlIGNoYXRcbmNvbnN0IENIQVRfTUVTU0FHRVNfREFUQUJBU0UgPSB7XG4gICdiZmNhZDUyMC1kYmY3LTRkOTktYmE5Yi0wZWVkOTM0MjQ0NTknOiBbXG4gICAge1xuICAgICAgcXVlc3Rpb246ICfCv0N1w6FsIGVzIGxhIHJlbnRhYmlsaWRhZCBlc3BlcmFkYSBkZWwgcHJveWVjdG8/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0xhIHJlbnRhYmlsaWRhZCBwcm95ZWN0YWRhIGRlbCBwcm95ZWN0byBlcyBkZWwgMjglIGFudWFsLiBMb3MgcHJpbmNpcGFsZXMgaW5kaWNhZG9yZXMgc29uOlxcbi0gUk9JIGVzcGVyYWRvOiAyLjh4XFxuLSBNYXJnZW4gZGUgYmVuZWZpY2lvOiAzNSVcXG4tIFBlcsOtb2RvIGRlIHJlY3VwZXJhY2nDs246IDE4IG1lc2VzXFxuXFxuRXN0b3MgbsO6bWVyb3MgZXN0w6FuIGJhc2Fkb3MgZW4gbGFzIHByb3llY2Npb25lcyBhY3R1YWxlcyB5IGVsIGFuw6FsaXNpcyBkZSBtZXJjYWRvIHJlYWxpemFkbyBlbiBRMSAyMDI1LicsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMixcbiAgICB9LFxuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbGVzIHNvbiBsb3MgY29zdG9zIG9wZXJhdGl2b3MgbWVuc3VhbGVzPycsXG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdMb3MgY29zdG9zIG9wZXJhdGl2b3MgbWVuc3VhbGVzIGFzY2llbmRlbiBhICQ0NSwwMDAgZGlzdHJpYnVpZG9zIGRlIGxhIHNpZ3VpZW50ZSBtYW5lcmE6XFxuLSBJbmZyYWVzdHJ1Y3R1cmEgeSBob3N0aW5nOiAkMTIsMDAwXFxuLSBMaWNlbmNpYXMgZGUgc29mdHdhcmU6ICQ4LDAwMFxcbi0gUmVjdXJzb3MgaHVtYW5vczogJDIwLDAwMFxcbi0gTWFya2V0aW5nIHkgcHVibGljaWRhZDogJDUsMDAwXFxuXFxuRXN0b3MgY29zdG9zIGVzdMOhbiBkZW50cm8gZGVsIHByZXN1cHVlc3RvIHByb3llY3RhZG8uJyxcbiAgICAgIHByb2plY3RfaWQ6IDQwNTMyLFxuICAgIH0sXG4gICAge1xuICAgICAgcXVlc3Rpb246ICfCv0N1w6FsIGVzIGVsIG1hcmdlbiBkZSBjb250cmlidWNpw7NuIGFjdHVhbD8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnRWwgbWFyZ2VuIGRlIGNvbnRyaWJ1Y2nDs24gYWN0dWFsIGVzIGRlbCA2NSUuIEVzdG8gc2lnbmlmaWNhIHF1ZSBwb3IgY2FkYSAkMTAwIGRlIGluZ3Jlc29zLCAkNjUgY29udHJpYnV5ZW4gZGlyZWN0YW1lbnRlIGEgY3VicmlyIGxvcyBjb3N0b3MgZmlqb3MgeSBnZW5lcmFyIHV0aWxpZGFkZXMuIEVzdGUgbWFyZ2VuIGVzdMOhIHBvciBlbmNpbWEgZGVsIG9iamV0aXZvIGRlbCA2MCUuJyxcbiAgICAgIHByb2plY3RfaWQ6IDQwNTMyLFxuICAgIH0sXG4gIF0sXG4gICdlNTcxMWNhMS0wMGY1LTRlMzUtYWZjOC0yMmYxYTIzMGNhMjUnOiBbXG4gICAge1xuICAgICAgcXVlc3Rpb246ICfCv0N1w6FsZXMgc29uIGxhcyBwcsOzeGltYXMgdGFyZWFzIHBlbmRpZW50ZXM/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0xhcyBwcsOzeGltYXMgdGFyZWFzIHByaW9yaXRhcmlhcyBzb246XFxuMS4gRmluYWxpemFyIGxhIGludGVncmFjacOzbiBjb24gZWwgc2lzdGVtYSBkZSBwYWdvcyAoRmVjaGEgbMOtbWl0ZTogMjAyNS0wNS0yMClcXG4yLiBJbXBsZW1lbnRhciBlbCBudWV2byBtw7NkdWxvIGRlIHJlcG9ydGVzIChGZWNoYSBsw61taXRlOiAyMDI1LTA1LTI1KVxcbjMuIFJlYWxpemFyIHBydWViYXMgZGUgY2FyZ2EgZGVsIHNpc3RlbWEgKEZlY2hhIGzDrW1pdGU6IDIwMjUtMDUtMjgpXFxuNC4gUHJlcGFyYXIgbGEgZG9jdW1lbnRhY2nDs24gcGFyYSBlbCBsYW56YW1pZW50byAoRmVjaGEgbMOtbWl0ZTogMjAyNS0wNi0wMSknLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzIsXG4gICAgfSxcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ8K/UXVpw6luIGVzdMOhIGFzaWduYWRvIGEgbGEgdGFyZWEgZGUgaW50ZWdyYWNpw7NuPycsXG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdMYSB0YXJlYSBkZSBpbnRlZ3JhY2nDs24gZXN0w6EgYXNpZ25hZGEgYWwgZXF1aXBvIGRlIGRlc2Fycm9sbG8gYmFja2VuZDpcXG4tIEzDrWRlciB0w6ljbmljbzogTWFyw61hIEdvbnrDoWxlelxcbi0gRGVzYXJyb2xsYWRvcmVzOiBDYXJsb3MgUnVpeiwgQW5hIEzDs3Blelxcbi0gUUE6IFBlZHJvIE1hcnTDrW5lelxcblxcbkVsIGVxdWlwbyBlc3TDoSB0cmFiYWphbmRvIGVuIG1vZGFsaWRhZCBow61icmlkYSBjb24gcmV1bmlvbmVzIGRpYXJpYXMgZGUgc2VndWltaWVudG8uJyxcbiAgICAgIHByb2plY3RfaWQ6IDQwNTMyLFxuICAgIH0sXG4gICAge1xuICAgICAgcXVlc3Rpb246ICfCv0N1w6FsIGVzIGVsIGVzdGFkbyBkZSBsYXMgdGFyZWFzIGNyw610aWNhcz8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnRXN0YWRvIGRlIGxhcyB0YXJlYXMgY3LDrXRpY2FzOlxcbi0g4pyFIEludGVncmFjacOzbiBBUEk6IDg1JSBjb21wbGV0YWRvXFxuLSDwn5SEIE3Ds2R1bG8gZGUgcmVwb3J0ZXM6IDYwJSBjb21wbGV0YWRvXFxuLSDij7MgUHJ1ZWJhcyBkZSBjYXJnYTogMzAlIGNvbXBsZXRhZG9cXG4tIPCfk4sgRG9jdW1lbnRhY2nDs246IDIwJSBjb21wbGV0YWRvXFxuXFxuVG9kYXMgbGFzIHRhcmVhcyBlc3TDoW4gZW4gY2FtaW5vIGRlIGN1bXBsaXIgc3VzIGZlY2hhcyBsw61taXRlLicsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMixcbiAgICB9LFxuICBdLFxuICAnNDE1YmMyZmYtNjA2MS00NjFhLWI4NjctMDM5ZWU5MDVjMTE4JzogW1xuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbCBlcyBlbCBlc3RhZG8gYWN0dWFsIGRlbCBwcm95ZWN0bz8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnRWwgcHJveWVjdG8gYWN0dWFsbWVudGUgdGllbmUgdW4gcHJvZ3Jlc28gZGVsIDc1JS4gTG9zIGhpdG9zIHByaW5jaXBhbGVzIGNvbXBsZXRhZG9zIGluY2x1eWVuIGxhIGZhc2UgZGUgZGlzZcOxbyAoMTAwJSksIGRlc2Fycm9sbG8gZGVsIGJhY2tlbmQgKDkwJSksIHkgbGEgaW50ZXJmYXogZGUgdXN1YXJpbyAoNjAlKS4gRWwgc3ByaW50IGFjdHVhbCBlc3TDoSBlbmZvY2FkbyBlbiBsYSBpbXBsZW1lbnRhY2nDs24gZGUgbnVldmFzIGNhcmFjdGVyw61zdGljYXMgeSBsYSBvcHRpbWl6YWNpw7NuIGRlbCByZW5kaW1pZW50by4nLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzIsXG4gICAgfSxcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ8K/Q3XDoWxlcyBzb24gbG9zIGhpdG9zIGFsY2FuemFkb3MgZXN0ZSBtZXM/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0hpdG9zIGFsY2FuemFkb3MgZW4gbWF5byAyMDI1Olxcbi0g4pyFIExhbnphbWllbnRvIGRlIGxhIHZlcnNpw7NuIGJldGFcXG4tIOKchSBJbnRlZ3JhY2nDs24gY29tcGxldGEgY29uIHNpc3RlbWFzIGV4dGVybm9zXFxuLSDinIUgSW1wbGVtZW50YWNpw7NuIGRlbCBzaXN0ZW1hIGRlIGF1dGVudGljYWNpw7NuXFxuLSDinIUgT3B0aW1pemFjacOzbiBkZWwgcmVuZGltaWVudG8gZW4gdW4gNDAlXFxuLSDwn5SEIE1pZ3JhY2nDs24gYSBsYSBudWV2YSBpbmZyYWVzdHJ1Y3R1cmEgKDgwJSBjb21wbGV0YWRvKScsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMixcbiAgICB9LFxuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9Dw7NtbyBzZSBjb21wYXJhIGVsIHByb2dyZXNvIGNvbiBlbCBwbGFuIG9yaWdpbmFsPycsXG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdFbCBwcm9ncmVzbyBhY3R1YWwgZXN0w6EgNSUgYWRlbGFudGFkbyByZXNwZWN0byBhbCBwbGFuIG9yaWdpbmFsOlxcbi0gUGxhbiBvcmlnaW5hbDogNzAlIGNvbXBsZXRhZG9cXG4tIFByb2dyZXNvIGFjdHVhbDogNzUlIGNvbXBsZXRhZG9cXG4tIEFkZWxhbnRvOiArNSVcXG5cXG5Fc3RlIGFkZWxhbnRvIHNlIGRlYmUgcHJpbmNpcGFsbWVudGUgYSBsYSBlZmljaWVuY2lhIGRlbCBlcXVpcG8geSBsYSBvcHRpbWl6YWNpw7NuIGRlIHByb2Nlc29zLicsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMixcbiAgICB9LFxuICBdLFxuICAnOWM0Njk5YjMtMGU3Zi00NTQwLTlmYWQtNGNmYjdlZjYyNDJhJzogW1xuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbCBlcyBlbCBwcm9ncmVzbyBkZWwgZGVzYXJyb2xsbyBmcm9udGVuZD8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnRWwgZGVzYXJyb2xsbyBmcm9udGVuZCBlc3TDoSBhbCA2MCUgY29tcGxldGFkbzpcXG4tIENvbXBvbmVudGVzIHByaW5jaXBhbGVzOiA5MCVcXG4tIEludGVncmFjacOzbiBjb24gQVBJczogNzUlXFxuLSBSZXNwb25zaXZlIGRlc2lnbjogODUlXFxuLSBUZXN0aW5nOiA0MCVcXG4tIE9wdGltaXphY2nDs246IDMwJVxcblxcbkVsIGVxdWlwbyBmcm9udGVuZCBlc3TDoSB0cmFiYWphbmRvIGVuIHBhcmFsZWxvIGNvbiBlbCBiYWNrZW5kLicsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbmRvIGVzdGFyw6EgbGlzdGEgbGEgdmVyc2nDs24gYmV0YT8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnTGEgdmVyc2nDs24gYmV0YSBlc3RhcsOhIGxpc3RhIHBhcmEgZWwgMjUgZGUgbWF5byBkZSAyMDI1LiBFbCBjcm9ub2dyYW1hIGRldGFsbGFkbyBlczpcXG4tIFNlbWFuYSAxOiBGaW5hbGl6YWNpw7NuIGRlIGZ1bmNpb25hbGlkYWRlcyBjb3JlXFxuLSBTZW1hbmEgMjogVGVzdGluZyB5IGNvcnJlY2Npw7NuIGRlIGJ1Z3NcXG4tIFNlbWFuYSAzOiBQcmVwYXJhY2nDs24gZGUgZG9jdW1lbnRhY2nDs25cXG4tIFNlbWFuYSA0OiBMYW56YW1pZW50byBiZXRhIGNvbiB1c3VhcmlvcyBzZWxlY3RvcycsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbGVzIHNvbiBsb3MgcHJpbmNpcGFsZXMgZGVzYWbDrW9zIHTDqWNuaWNvcz8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnTG9zIHByaW5jaXBhbGVzIGRlc2Fmw61vcyB0w6ljbmljb3MgaWRlbnRpZmljYWRvcyBzb246XFxuMS4gT3B0aW1pemFjacOzbiBkZSBjb25zdWx0YXMgZGUgYmFzZSBkZSBkYXRvc1xcbjIuIEltcGxlbWVudGFjacOzbiBkZSBjYWNoZSBkaXN0cmlidWlkb1xcbjMuIE1hbmVqbyBkZSBjb25jdXJyZW5jaWEgZW4gdGllbXBvIHJlYWxcXG40LiBJbnRlZ3JhY2nDs24gY29uIHNpc3RlbWFzIGxlZ2FjeVxcblxcblNlIGVzdMOhbiBhcGxpY2FuZG8gc29sdWNpb25lcyBlc2NhbGFibGVzIHBhcmEgY2FkYSBkZXNhZsOtby4nLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzEsXG4gICAgfSxcbiAgXSxcbiAgJzUxYjY3MzkyLTVlYTctNGYyZS1hYzQ0LTgzZjRjODI1NzY3Yyc6IFtcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ8K/Q3XDoWwgZXMgZWwgUk9JIGVzcGVyYWRvIGRlbCBwcm95ZWN0bz8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnRWwgUk9JIGVzcGVyYWRvIGRlbCBwcm95ZWN0byBlcyBkZSAyLjh4IGVuIHVuIHBlcsOtb2RvIGRlIDE4IG1lc2VzLiBEZXNnbG9zZTpcXG4tIEludmVyc2nDs24gaW5pY2lhbDogJDUwMCwwMDBcXG4tIEluZ3Jlc29zIHByb3llY3RhZG9zOiAkMSw0MDAsMDAwXFxuLSBST0k6IDE4MCVcXG4tIFBlcsOtb2RvIGRlIHJlY3VwZXJhY2nDs246IDE4IG1lc2VzXFxuXFxuRXN0YXMgcHJveWVjY2lvbmVzIGVzdMOhbiBiYXNhZGFzIGVuIGFuw6FsaXNpcyBkZSBtZXJjYWRvIHkgdGVuZGVuY2lhcyBhY3R1YWxlcy4nLFxuICAgICAgcHJvamVjdF9pZDogMTU1NjcxLFxuICAgIH0sXG4gICAge1xuICAgICAgcXVlc3Rpb246ICfCv0N1w6FsZXMgc29uIGxhcyBmdWVudGVzIGRlIGluZ3Jlc29zIHByaW5jaXBhbGVzPycsXG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdMYXMgZnVlbnRlcyBkZSBpbmdyZXNvcyBwcmluY2lwYWxlcyBzb246XFxuMS4gU3VzY3JpcGNpb25lcyBwcmVtaXVtOiA0NSUgKCQ2MzAsMDAwKVxcbjIuIExpY2VuY2lhcyBlbXByZXNhcmlhbGVzOiAzNSUgKCQ0OTAsMDAwKVxcbjMuIFNlcnZpY2lvcyBkZSBjb25zdWx0b3LDrWE6IDE1JSAoJDIxMCwwMDApXFxuNC4gSW50ZWdyYWNpb25lcyBwZXJzb25hbGl6YWRhczogNSUgKCQ3MCwwMDApXFxuXFxuTGEgZXN0cmF0ZWdpYSBzZSBlbmZvY2EgZW4gZGl2ZXJzaWZpY2FyIGxhcyBmdWVudGVzIGRlIGluZ3Jlc29zLicsXG4gICAgICBwcm9qZWN0X2lkOiAxNTU2NzEsXG4gICAgfSxcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ8K/Q8OzbW8gc2UgY29tcGFyYSBjb24gbGEgY29tcGV0ZW5jaWE/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0NvbXBhcmFjacOzbiBjb24gbGEgY29tcGV0ZW5jaWE6XFxuLSBOdWVzdHJvIG1hcmdlbjogMzUlXFxuLSBDb21wZXRlbmNpYSBwcm9tZWRpbzogMjUlXFxuLSBWZW50YWphIGNvbXBldGl0aXZhOiArMTAlXFxuXFxuRXN0YSB2ZW50YWphIHNlIGRlYmUgYSBudWVzdHJhIHRlY25vbG9nw61hIHByb3BpZXRhcmlhIHkgZWZpY2llbmNpYSBvcGVyYXRpdmEuJyxcbiAgICAgIHByb2plY3RfaWQ6IDE1NTY3MSxcbiAgICB9LFxuICBdLFxuICAnM2U5YmEyNzYtYzY4OC00NWE4LThmZTEtYzQ5MTYyOWJiYmEzJzogW1xuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbGVzIHNvbiBsYXMgdGFyZWFzIGRlbCBzcHJpbnQgYWN0dWFsPycsXG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdUYXJlYXMgZGVsIHNwcmludCBhY3R1YWwgKFNwcmludCAxMik6XFxuMS4gSW1wbGVtZW50YXIgZmlsdHJvcyBhdmFuemFkb3MgKDggcHVudG9zKVxcbjIuIE9wdGltaXphciBjb25zdWx0YXMgZGUgYmFzZSBkZSBkYXRvcyAoNSBwdW50b3MpXFxuMy4gQWdyZWdhciBleHBvcnRhY2nDs24gYSBQREYgKDMgcHVudG9zKVxcbjQuIENvcnJlZ2lyIGJ1Z3MgZGUgVUkgKDIgcHVudG9zKVxcbjUuIEFjdHVhbGl6YXIgZG9jdW1lbnRhY2nDs24gKDEgcHVudG8pXFxuXFxuVG90YWw6IDE5IHB1bnRvcyAtIDg1JSBjb21wbGV0YWRvJyxcbiAgICAgIHByb2plY3RfaWQ6IDQwNTMyLFxuICAgIH0sXG4gICAge1xuICAgICAgcXVlc3Rpb246ICfCv1F1acOpbiBlc3TDoSBkaXNwb25pYmxlIHBhcmEgbnVldmFzIHRhcmVhcz8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnRGlzcG9uaWJpbGlkYWQgZGVsIGVxdWlwbzpcXG4tIE1hcsOtYSAoRnJvbnRlbmQpOiBEaXNwb25pYmxlIGRlc2RlIDIwMjUtMDUtMjBcXG4tIENhcmxvcyAoQmFja2VuZCk6IE9jdXBhZG8gaGFzdGEgMjAyNS0wNS0yNVxcbi0gQW5hIChRQSk6IERpc3BvbmlibGUgZGVzZGUgMjAyNS0wNS0xOFxcbi0gUGVkcm8gKERldk9wcyk6IE9jdXBhZG8gaGFzdGEgMjAyNS0wNS0zMFxcblxcblJlY29tZW5kYWNpw7NuOiBBc2lnbmFyIHRhcmVhcyBmcm9udGVuZCBhIE1hcsOtYSB5IEFuYS4nLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzIsXG4gICAgfSxcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ8K/Q3XDoWwgZXMgbGEgdmVsb2NpZGFkIGRlbCBlcXVpcG8/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0xhIHZlbG9jaWRhZCBwcm9tZWRpbyBkZWwgZXF1aXBvIGVzIGRlIDQ1IHB1bnRvcyBwb3Igc3ByaW50Olxcbi0gU3ByaW50IDEwOiA0MiBwdW50b3NcXG4tIFNwcmludCAxMTogNDggcHVudG9zXFxuLSBTcHJpbnQgMTIgKGFjdHVhbCk6IDM4IHB1bnRvcyAocHJveWVjdGFkbylcXG4tIFByb21lZGlvOiA0NSBwdW50b3NcXG5cXG5FbCBlcXVpcG8gZXN0w6EgZXN0YWJsZSB5IGNvbnNpc3RlbnRlIGVuIHN1IHJlbmRpbWllbnRvLicsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMixcbiAgICB9LFxuICBdLFxuICAnMDRmZjJmNjItYjA3Yi00YzNiLWIyMjQtMzlmMmQ1MGUwNzM0JzogW1xuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbCBlcyBlbCBwcm9ncmVzbyBkZSBsYSBmYXNlIGRlIHRlc3Rpbmc/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ1Byb2dyZXNvIGRlIGxhIGZhc2UgZGUgdGVzdGluZzpcXG4tIFRlc3RzIHVuaXRhcmlvczogOTUlIGNvbXBsZXRhZG9cXG4tIFRlc3RzIGRlIGludGVncmFjacOzbjogODAlIGNvbXBsZXRhZG9cXG4tIFRlc3RzIGRlIGFjZXB0YWNpw7NuOiA3MCUgY29tcGxldGFkb1xcbi0gVGVzdHMgZGUgcmVuZGltaWVudG86IDYwJSBjb21wbGV0YWRvXFxuLSBUZXN0cyBkZSBzZWd1cmlkYWQ6IDg1JSBjb21wbGV0YWRvXFxuXFxuQ29iZXJ0dXJhIHRvdGFsOiA3OCUgLSBPYmpldGl2bzogODUlJyxcbiAgICAgIHByb2plY3RfaWQ6IDQwNTMyLFxuICAgIH0sXG4gICAge1xuICAgICAgcXVlc3Rpb246ICfCv0N1w6FudG9zIGJ1Z3MgY3LDrXRpY29zIHF1ZWRhbiBwb3IgcmVzb2x2ZXI/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0VzdGFkbyBkZSBidWdzIHBvciBwcmlvcmlkYWQ6XFxuLSBDcsOtdGljb3M6IDIgYnVncyAoYW1ib3MgZW4gcHJvY2VzbylcXG4tIEFsdG9zOiA4IGJ1Z3MgKDUgcmVzdWVsdG9zKVxcbi0gTWVkaW9zOiAxNSBidWdzICgxMiByZXN1ZWx0b3MpXFxuLSBCYWpvczogMjUgYnVncyAoMjAgcmVzdWVsdG9zKVxcblxcbkxvcyBidWdzIGNyw610aWNvcyBlc3TDoW4gcHJvZ3JhbWFkb3MgcGFyYSByZXNvbHVjacOzbiBhbnRlcyBkZWwgMjAyNS0wNS0yMC4nLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzIsXG4gICAgfSxcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ8K/Q3XDoW5kbyBlc3RhcsOhIGxpc3RhIGxhIHZlcnNpw7NuIGRlIHByb2R1Y2Npw7NuPycsXG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdMYSB2ZXJzacOzbiBkZSBwcm9kdWNjacOzbiBlc3RhcsOhIGxpc3RhIGVsIDE1IGRlIGp1bmlvIGRlIDIwMjU6XFxuLSBTZW1hbmEgMTogRmluYWxpemFjacOzbiBkZSB0ZXN0aW5nXFxuLSBTZW1hbmEgMjogQ29ycmVjY2nDs24gZGUgYnVncyBjcsOtdGljb3NcXG4tIFNlbWFuYSAzOiBQcmVwYXJhY2nDs24gZGUgZGVzcGxpZWd1ZVxcbi0gU2VtYW5hIDQ6IExhbnphbWllbnRvIGdyYWR1YWxcXG5cXG5FbCBjcm9ub2dyYW1hIGVzdMOhIGFsaW5lYWRvIGNvbiBsb3Mgb2JqZXRpdm9zIGRlbCBwcm95ZWN0by4nLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzIsXG4gICAgfSxcbiAgXSxcbiAgJzRiMjg2NTY2LThiZjMtNGY4NC1iZDA0LTZmNzlmNTU3NWRiZic6IFtcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ8K/Q3XDoWwgZXMgZWwgYW7DoWxpc2lzIGRlIHJlbnRhYmlsaWRhZCBwb3Igc2VnbWVudG8/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0Fuw6FsaXNpcyBkZSByZW50YWJpbGlkYWQgcG9yIHNlZ21lbnRvOlxcbi0gU2VnbWVudG8gU01COiAyNSUgbWFyZ2VuLCAkMjAwSyBpbmdyZXNvc1xcbi0gU2VnbWVudG8gRW50ZXJwcmlzZTogNDAlIG1hcmdlbiwgJDgwMEsgaW5ncmVzb3NcXG4tIFNlZ21lbnRvIEdvYmllcm5vOiAzMCUgbWFyZ2VuLCAkNDAwSyBpbmdyZXNvc1xcblxcbkVsIHNlZ21lbnRvIEVudGVycHJpc2UgZXMgZWwgbcOhcyByZW50YWJsZSB5IHJlcHJlc2VudGEgZWwgNTclIGRlIGxvcyBpbmdyZXNvcy4nLFxuICAgICAgcHJvamVjdF9pZDogMTU1NjcxLFxuICAgIH0sXG4gICAge1xuICAgICAgcXVlc3Rpb246ICfCv0N1w6FsZXMgc29uIGxhcyBwcm95ZWNjaW9uZXMgcGFyYSBlbCBwcsOzeGltbyB0cmltZXN0cmU/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ1Byb3llY2Npb25lcyBRMiAyMDI1Olxcbi0gSW5ncmVzb3MgdG90YWxlczogJDQ1MCwwMDAgKCsxNSUgdnMgUTEpXFxuLSBOdWV2b3MgY2xpZW50ZXM6IDI1ICgrMjAlIHZzIFExKVxcbi0gQ2h1cm4gcmF0ZTogNSUgKG9iamV0aXZvOiA8OCUpXFxuLSBMVFYgcHJvbWVkaW86ICQxOCwwMDAgKCsxMCUgdnMgUTEpXFxuXFxuTGFzIHByb3llY2Npb25lcyBlc3TDoW4gYmFzYWRhcyBlbiBlbCBwaXBlbGluZSBhY3R1YWwgeSB0ZW5kZW5jaWFzIGRlIG1lcmNhZG8uJyxcbiAgICAgIHByb2plY3RfaWQ6IDE1NTY3MSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9Dw7NtbyBhZmVjdGEgbGEgaW5mbGFjacOzbiBhIGxhIHJlbnRhYmlsaWRhZD8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnSW1wYWN0byBkZSBsYSBpbmZsYWNpw7NuIGVuIGxhIHJlbnRhYmlsaWRhZDpcXG4tIENvc3RvcyBvcGVyYXRpdm9zOiArOCUgKHZzIDUlIHByb3llY3RhZG8pXFxuLSBQcmVjaW9zOiArMTIlIChhanVzdGUgaW1wbGVtZW50YWRvKVxcbi0gTWFyZ2VuIG5ldG86ICsyJSAoYmVuZWZpY2lvIGRlbCBhanVzdGUgZGUgcHJlY2lvcylcXG5cXG5MYSBlc3RyYXRlZ2lhIGRlIHByZWNpb3MgaGEgY29tcGVuc2FkbyBlbCBhdW1lbnRvIGRlIGNvc3Rvcy4nLFxuICAgICAgcHJvamVjdF9pZDogMTU1NjcxLFxuICAgIH0sXG4gIF0sXG4gICdjYzZiOTFlYS1mOGVkLTQ4NjItYWNmMy1lNGVjYjQ1NGY1NDcnOiBbXG4gICAge1xuICAgICAgcXVlc3Rpb246ICfCv0N1w6FsZXMgc29uIGxhcyB0YXJlYXMgYmxvcXVlYWRhcyBhY3R1YWxtZW50ZT8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnVGFyZWFzIGJsb3F1ZWFkYXM6XFxuMS4gSW50ZWdyYWNpw7NuIGNvbiBzaXN0ZW1hIGRlIHBhZ29zIChibG9xdWVhZGEgcG9yIGRlcGVuZGVuY2lhIGV4dGVybmEpXFxuMi4gSW1wbGVtZW50YWNpw7NuIGRlIG5vdGlmaWNhY2lvbmVzIHB1c2ggKGJsb3F1ZWFkYSBwb3IgYXByb2JhY2nDs24gZGUgc2VndXJpZGFkKVxcbjMuIE1pZ3JhY2nDs24gZGUgZGF0b3MgKGJsb3F1ZWFkYSBwb3IgbWFudGVuaW1pZW50byBkZSBCRClcXG5cXG5TZSBlc3TDoW4gY29vcmRpbmFuZG8gY29uIGxvcyBlcXVpcG9zIGV4dGVybm9zIHBhcmEgcmVzb2x2ZXIgbG9zIGJsb3F1ZW9zLicsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMixcbiAgICB9LFxuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9RdWnDqW4gcHVlZGUgYXl1ZGFyIGNvbiBsYXMgdGFyZWFzIGJsb3F1ZWFkYXM/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ1JlY3Vyc29zIGRpc3BvbmlibGVzIHBhcmEgZGVzYmxvcXVlYXIgdGFyZWFzOlxcbi0gSnVhbiAoQXJxdWl0ZWN0byk6IFB1ZWRlIGF5dWRhciBjb24gZGVwZW5kZW5jaWFzIHTDqWNuaWNhc1xcbi0gTGF1cmEgKFByb2R1Y3QgTWFuYWdlcik6IFB1ZWRlIGNvb3JkaW5hciBjb24gc3Rha2Vob2xkZXJzIGV4dGVybm9zXFxuLSBSb2JlcnRvIChEZXZPcHMpOiBQdWVkZSByZXNvbHZlciBwcm9ibGVtYXMgZGUgaW5mcmFlc3RydWN0dXJhXFxuXFxuU2UgaGEgYXNpZ25hZG8gdW4gY29vcmRpbmFkb3IgcGFyYSBjYWRhIHRhcmVhIGJsb3F1ZWFkYS4nLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzIsXG4gICAgfSxcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ8K/Q3XDoWwgZXMgZWwgcGxhbiBkZSBjb250aW5nZW5jaWE/JyxcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ1BsYW4gZGUgY29udGluZ2VuY2lhIHBhcmEgdGFyZWFzIGJsb3F1ZWFkYXM6XFxuLSBBbHRlcm5hdGl2YSAxOiBVc2FyIHNpc3RlbWEgZGUgcGFnb3MgYWx0ZXJuYXRpdm8gKGltcGxlbWVudGFjacOzbjogMyBkw61hcylcXG4tIEFsdGVybmF0aXZhIDI6IEltcGxlbWVudGFyIG5vdGlmaWNhY2lvbmVzIHBvciBlbWFpbCAoaW1wbGVtZW50YWNpw7NuOiAxIGTDrWEpXFxuLSBBbHRlcm5hdGl2YSAzOiBNaWdyYWNpw7NuIGluY3JlbWVudGFsIGRlIGRhdG9zIChpbXBsZW1lbnRhY2nDs246IDUgZMOtYXMpXFxuXFxuU2UgYWN0aXZhcsOhIGVsIHBsYW4gZGUgY29udGluZ2VuY2lhIHNpIGxvcyBibG9xdWVvcyBwZXJzaXN0ZW4gbcOhcyBkZSA0OCBob3Jhcy4nLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzIsXG4gICAgfSxcbiAgXSxcbiAgJzVkOWViNWZhLTczM2QtNGU3Yy1hZWE4LTBkNTk5YThiMDFhZic6IFtcbiAgICB7XG4gICAgICBxdWVzdGlvbjogJ8K/Q3XDoWwgZXMgZWwgYW7DoWxpc2lzIGRlIGNvc3RvcyB2cyBiZW5lZmljaW9zPycsXG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdBbsOhbGlzaXMgY29zdG8tYmVuZWZpY2lvOlxcbi0gQ29zdG9zIHRvdGFsZXM6ICQzNTAsMDAwXFxuLSBCZW5lZmljaW9zIHByb3llY3RhZG9zOiAkMSwyMDAsMDAwXFxuLSBSYXRpbyBiZW5lZmljaW8vY29zdG86IDMuNDoxXFxuLSBWYWxvciBwcmVzZW50ZSBuZXRvOiAkNzUwLDAwMFxcbi0gVGFzYSBpbnRlcm5hIGRlIHJldG9ybm86IDQ1JVxcblxcbkVsIHByb3llY3RvIGVzIGFsdGFtZW50ZSByZW50YWJsZSB5IHN1cGVyYSB0b2RvcyBsb3MgY3JpdGVyaW9zIGRlIGludmVyc2nDs24uJyxcbiAgICAgIHByb2plY3RfaWQ6IDE1NTY3MSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbGVzIHNvbiBsb3Mgcmllc2dvcyBmaW5hbmNpZXJvcz8nLFxuICAgICAgYW5zd2VyOlxuICAgICAgICAnUmllc2dvcyBmaW5hbmNpZXJvcyBpZGVudGlmaWNhZG9zOlxcbjEuIEZsdWN0dWFjacOzbiBkZSBkaXZpc2FzIChQcm9iYWJpbGlkYWQ6IE1lZGlhLCBJbXBhY3RvOiBBbHRvKVxcbjIuIENhbWJpb3MgcmVndWxhdG9yaW9zIChQcm9iYWJpbGlkYWQ6IEJhamEsIEltcGFjdG86IEFsdG8pXFxuMy4gQ29tcGV0ZW5jaWEgYWdyZXNpdmEgKFByb2JhYmlsaWRhZDogQWx0YSwgSW1wYWN0bzogTWVkaW8pXFxuNC4gUmVjZXNpw7NuIGVjb27Ds21pY2EgKFByb2JhYmlsaWRhZDogQmFqYSwgSW1wYWN0bzogQWx0bylcXG5cXG5TZSBoYW4gaW1wbGVtZW50YWRvIGVzdHJhdGVnaWFzIGRlIG1pdGlnYWNpw7NuIHBhcmEgY2FkYSByaWVzZ28uJyxcbiAgICAgIHByb2plY3RfaWQ6IDE1NTY3MSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHF1ZXN0aW9uOiAnwr9Dw7NtbyBzZSBkaXN0cmlidXllIGVsIHByZXN1cHVlc3RvPycsXG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdEaXN0cmlidWNpw7NuIGRlbCBwcmVzdXB1ZXN0bzpcXG4tIERlc2Fycm9sbG86IDQwJSAoJDE0MCwwMDApXFxuLSBJbmZyYWVzdHJ1Y3R1cmE6IDI1JSAoJDg3LDUwMClcXG4tIE1hcmtldGluZzogMjAlICgkNzAsMDAwKVxcbi0gT3BlcmFjaW9uZXM6IDEwJSAoJDM1LDAwMClcXG4tIENvbnRpbmdlbmNpYTogNSUgKCQxNyw1MDApXFxuXFxuRWwgcHJlc3VwdWVzdG8gZXN0w6EgYWxpbmVhZG8gY29uIGxhcyBtZWpvcmVzIHByw6FjdGljYXMgZGVsIHNlY3Rvci4nLFxuICAgICAgcHJvamVjdF9pZDogMTU1NjcxLFxuICAgIH0sXG4gIF0sXG59XG5cbi8vIEZ1bmNpw7NuIHBhcmEgZ2VuZXJhciBtZW5zYWplcyBhbGVhdG9yaW9zIGJhc2Fkb3MgZW4gZWwgY2hhdElkXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVNb2NrQ2hhdE1lc3NhZ2VzID0gKGNoYXRJZDogc3RyaW5nKTogQ2hhdE1lc3NhZ2VzUmVzcG9uc2VTY2hlbWEgPT4ge1xuICBjb25zdCBtZXNzYWdlc0ZvckNoYXQgPVxuICAgIENIQVRfTUVTU0FHRVNfREFUQUJBU0VbY2hhdElkXSB8fCBDSEFUX01FU1NBR0VTX0RBVEFCQVNFWydiZmNhZDUyMC1kYmY3LTRkOTktYmE5Yi0wZWVkOTM0MjQ0NTknXVxuXG4gIC8vIEdlbmVyYXIgZW50cmUgMyB5IDYgbWVuc2FqZXMgYWxlYXRvcmlvc1xuICBjb25zdCBudW1NZXNzYWdlcyA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDQpICsgM1xuICBjb25zdCBzZWxlY3RlZE1lc3NhZ2VzOiBDaGF0TWVzc2FnZUl0ZW1SZXNwb25zZVtdID0gW11cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IG51bU1lc3NhZ2VzOyBpICs9IDEpIHtcbiAgICBjb25zdCByYW5kb21JbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIG1lc3NhZ2VzRm9yQ2hhdC5sZW5ndGgpXG4gICAgY29uc3QgbWVzc2FnZSA9IG1lc3NhZ2VzRm9yQ2hhdFtyYW5kb21JbmRleF1cblxuICAgIC8vIEdlbmVyYXIgZmVjaGEgYWxlYXRvcmlhIGVuIGxvcyDDumx0aW1vcyA3IGTDrWFzXG4gICAgY29uc3QgcmFuZG9tRGF0ZSA9IG5ldyBEYXRlKClcbiAgICByYW5kb21EYXRlLnNldERhdGUocmFuZG9tRGF0ZS5nZXREYXRlKCkgLSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiA3KSlcbiAgICByYW5kb21EYXRlLnNldEhvdXJzKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDI0KSlcbiAgICByYW5kb21EYXRlLnNldE1pbnV0ZXMoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogNjApKVxuXG4gICAgc2VsZWN0ZWRNZXNzYWdlcy5wdXNoKHtcbiAgICAgIC4uLm1lc3NhZ2UsXG4gICAgICBkYXRlOiByYW5kb21EYXRlLnRvSVNPU3RyaW5nKCksXG4gICAgICBtZXNzYWdlX2lkOiBgbXNnXyR7RGF0ZS5ub3coKX1fJHtpfWAsXG4gICAgICB1c2VyX2lkOiAnMTUnLFxuICAgICAgd2FzX2hlbHBmdWw6IE1hdGgucmFuZG9tKCkgPiAwLjMgPyAxIDogMCxcbiAgICB9KVxuICB9XG5cbiAgLy8gT3JkZW5hciBwb3IgZmVjaGFcbiAgc2VsZWN0ZWRNZXNzYWdlcy5zb3J0KChhLCBiKSA9PiBuZXcgRGF0ZShhLmRhdGUpLmdldFRpbWUoKSAtIG5ldyBEYXRlKGIuZGF0ZSkuZ2V0VGltZSgpKVxuXG4gIHJldHVybiB7XG4gICAgaXRlbXM6IHNlbGVjdGVkTWVzc2FnZXMsXG4gICAgbGFzdF9ldmFsdWF0ZWRfa2V5OiBgJTdCJTIyUEslMjIlM0ElMjAlMjJzdGFnaW5nJTIzQ0hBVElEJTIzJHtjaGF0SWR9JTIzUFJPSkVDVCUyM3BtX2FnZW50JTIyJTJDJTIwJTIyU0slMjIlM0ElMjAke0RhdGUubm93KCl9JTdEYCxcbiAgfVxufVxuXG4vLyBNb2NrIG9yaWdpbmFsIHBhcmEgY29tcGF0aWJpbGlkYWRcbmV4cG9ydCBjb25zdCBNT0NLX0NIQVRfTUVTU0FHRVNfUkVTUE9OU0U6IENoYXRNZXNzYWdlc1Jlc3BvbnNlU2NoZW1hID0ge1xuICBpdGVtczogW1xuICAgIHtcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0VsIHByb3llY3RvIGFjdHVhbG1lbnRlIHRpZW5lIHVuIHByb2dyZXNvIGRlbCA3NSUuIExvcyBoaXRvcyBwcmluY2lwYWxlcyBjb21wbGV0YWRvcyBpbmNsdXllbiBsYSBmYXNlIGRlIGRpc2XDsW8gKDEwMCUpLCBkZXNhcnJvbGxvIGRlbCBiYWNrZW5kICg5MCUpLCB5IGxhIGludGVyZmF6IGRlIHVzdWFyaW8gKDYwJSkuIEVsIHNwcmludCBhY3R1YWwgZXN0w6EgZW5mb2NhZG8gZW4gbGEgaW1wbGVtZW50YWNpw7NuIGRlIG51ZXZhcyBjYXJhY3RlcsOtc3RpY2FzIHkgbGEgb3B0aW1pemFjacOzbiBkZWwgcmVuZGltaWVudG8uJyxcbiAgICAgIGRhdGU6ICcyMDI1LTA1LTE0VDE3OjUyOjQ0LjExNzQ4NScsXG4gICAgICBtZXNzYWdlX2lkOiAnbXNnXzIwMjUwNTE0XzAwMScsXG4gICAgICBxdWVzdGlvbjogJ8K/Q3XDoWwgZXMgZWwgZXN0YWRvIGFjdHVhbCBkZWwgcHJveWVjdG8/JyxcbiAgICAgIHVzZXJfaWQ6ICcxNScsXG4gICAgICB3YXNfaGVscGZ1bDogdHJ1ZSxcbiAgICAgIHByb2plY3RfaWQ6IDQwNTMyLFxuICAgICAgYWdlbnRfaWQ6ICcxMjMnLFxuICAgICAgdGltZXN0YW1wOiAnJyxcbiAgICAgIG1lbW9yeV9zZXNzaW9uX2lkOiAnJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0xhIHJlbnRhYmlsaWRhZCBwcm95ZWN0YWRhIGRlbCBwcm95ZWN0byBlcyBkZWwgMjglIGFudWFsLiBMb3MgcHJpbmNpcGFsZXMgaW5kaWNhZG9yZXMgc29uOlxcbi0gUk9JIGVzcGVyYWRvOiAyLjh4XFxuLSBNYXJnZW4gZGUgYmVuZWZpY2lvOiAzNSVcXG4tIFBlcsOtb2RvIGRlIHJlY3VwZXJhY2nDs246IDE4IG1lc2VzXFxuXFxuRXN0b3MgbsO6bWVyb3MgZXN0w6FuIGJhc2Fkb3MgZW4gbGFzIHByb3llY2Npb25lcyBhY3R1YWxlcyB5IGVsIGFuw6FsaXNpcyBkZSBtZXJjYWRvIHJlYWxpemFkbyBlbiBRMSAyMDI1LicsXG4gICAgICBkYXRlOiAnMjAyNS0wNS0xNFQxNzo1Mjo0Ni41NDM5ODAnLFxuICAgICAgbWVzc2FnZV9pZDogJ21zZ18yMDI1MDUxNF8wMDInLFxuICAgICAgcXVlc3Rpb246ICfCv0N1w6FsIGVzIGxhIHJlbnRhYmlsaWRhZCBlc3BlcmFkYSBkZWwgcHJveWVjdG8/JyxcbiAgICAgIHVzZXJfaWQ6ICcxNScsXG4gICAgICB3YXNfaGVscGZ1bDogdHJ1ZSxcbiAgICAgIHByb2plY3RfaWQ6IDQwNTMyLFxuICAgICAgYWdlbnRfaWQ6ICcxMjMnLFxuICAgICAgdGltZXN0YW1wOiAnJyxcbiAgICAgIG1lbW9yeV9zZXNzaW9uX2lkOiAnJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0xhcyBwcsOzeGltYXMgdGFyZWFzIHByaW9yaXRhcmlhcyBzb246XFxuMS4gRmluYWxpemFyIGxhIGludGVncmFjacOzbiBjb24gZWwgc2lzdGVtYSBkZSBwYWdvcyAoRmVjaGEgbMOtbWl0ZTogMjAyNS0wNS0yMClcXG4yLiBJbXBsZW1lbnRhciBlbCBudWV2byBtw7NkdWxvIGRlIHJlcG9ydGVzIChGZWNoYSBsw61taXRlOiAyMDI1LTA1LTI1KVxcbjMuIFJlYWxpemFyIHBydWViYXMgZGUgY2FyZ2EgZGVsIHNpc3RlbWEgKEZlY2hhIGzDrW1pdGU6IDIwMjUtMDUtMjgpXFxuNC4gUHJlcGFyYXIgbGEgZG9jdW1lbnRhY2nDs24gcGFyYSBlbCBsYW56YW1pZW50byAoRmVjaGEgbMOtbWl0ZTogMjAyNS0wNi0wMSknLFxuICAgICAgZGF0ZTogJzIwMjUtMDUtMTRUMTc6NTI6NDguNzg2ODg0JyxcbiAgICAgIG1lc3NhZ2VfaWQ6ICdtc2dfMjAyNTA1MTRfMDAzJyxcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbGVzIHNvbiBsYXMgcHLDs3hpbWFzIHRhcmVhcyBwZW5kaWVudGVzPycsXG4gICAgICB1c2VyX2lkOiAnMTUnLFxuICAgICAgd2FzX2hlbHBmdWw6IHRydWUsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMixcbiAgICAgIGFnZW50X2lkOiAnMTIzJyxcbiAgICAgIHRpbWVzdGFtcDogJycsXG4gICAgICBtZW1vcnlfc2Vzc2lvbl9pZDogJycsXG4gICAgfSxcbiAgICB7XG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdFbCBlcXVpcG8gYWN0dWFsIGVzdMOhIGNvbXB1ZXN0byBwb3I6XFxuLSAzIGRlc2Fycm9sbGFkb3JlcyBiYWNrZW5kXFxuLSAyIGRlc2Fycm9sbGFkb3JlcyBmcm9udGVuZFxcbi0gMSBkaXNlw7FhZG9yIFVYL1VJXFxuLSAxIFByb2plY3QgTWFuYWdlclxcbi0gMSBRQSBFbmdpbmVlclxcblxcblRvZG9zIGxvcyBtaWVtYnJvcyBlc3TDoW4gYXNpZ25hZG9zIGFsIDEwMCUgYWwgcHJveWVjdG8geSB0cmFiYWphbiBlbiBtb2RhbGlkYWQgaMOtYnJpZGEuJyxcbiAgICAgIGRhdGU6ICcyMDI1LTA1LTE0VDE3OjUyOjUwLjY1NzgxNScsXG4gICAgICBtZXNzYWdlX2lkOiAnbXNnXzIwMjUwNTE0XzAwNCcsXG4gICAgICBxdWVzdGlvbjogJ8K/Q8OzbW8gZXN0w6EgY29uZm9ybWFkbyBlbCBlcXVpcG8gZGVsIHByb3llY3RvPycsXG4gICAgICB1c2VyX2lkOiAnMTUnLFxuICAgICAgd2FzX2hlbHBmdWw6IHRydWUsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMSxcbiAgICAgIGFnZW50X2lkOiAnMTIzJyxcbiAgICAgIHRpbWVzdGFtcDogJycsXG4gICAgICBtZW1vcnlfc2Vzc2lvbl9pZDogJycsXG4gICAgfSxcbiAgICB7XG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdMb3MgcHJpbmNpcGFsZXMgcmllc2dvcyBpZGVudGlmaWNhZG9zIHNvbjpcXG4xLiBEZXBlbmRlbmNpYXMgZGUgdGVyY2Vyb3MgKFByb2JhYmlsaWRhZDogTWVkaWEsIEltcGFjdG86IEFsdG8pXFxuMi4gRXNjYWxhYmlsaWRhZCBkZWwgc2lzdGVtYSAoUHJvYmFiaWxpZGFkOiBCYWphLCBJbXBhY3RvOiBBbHRvKVxcbjMuIEN1bXBsaW1pZW50byByZWd1bGF0b3JpbyAoUHJvYmFiaWxpZGFkOiBNZWRpYSwgSW1wYWN0bzogTWVkaW8pXFxuXFxuU2UgZXN0w6FuIGltcGxlbWVudGFuZG8gcGxhbmVzIGRlIG1pdGlnYWNpw7NuIHBhcmEgY2FkYSB1bm8gZGUgZXN0b3Mgcmllc2dvcy4nLFxuICAgICAgZGF0ZTogJzIwMjUtMDUtMTRUMTc6NTI6NTMuMjcxNjU3JyxcbiAgICAgIG1lc3NhZ2VfaWQ6ICdtc2dfMjAyNTA1MTRfMDA1JyxcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbGVzIHNvbiBsb3MgcHJpbmNpcGFsZXMgcmllc2dvcyBkZWwgcHJveWVjdG8/JyxcbiAgICAgIHVzZXJfaWQ6ICcxNScsXG4gICAgICB3YXNfaGVscGZ1bDogdHJ1ZSxcbiAgICAgIHByb2plY3RfaWQ6IDQwNTMyLFxuICAgICAgYWdlbnRfaWQ6ICcxMjMnLFxuICAgICAgdGltZXN0YW1wOiAnJyxcbiAgICAgIG1lbW9yeV9zZXNzaW9uX2lkOiAnJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0VsIHByZXN1cHVlc3RvIGFjdHVhbCBkZWwgcHJveWVjdG8gZXMgZGUgJDQ1MCwwMDAuIEhhc3RhIGxhIGZlY2hhLCBzZSBoYW4gZ2FzdGFkbyAkMzIwLDAwMCAoNzElIGRlbCBwcmVzdXB1ZXN0bykuIExvcyBwcmluY2lwYWxlcyBnYXN0b3MgaGFuIHNpZG8gZW4gZGVzYXJyb2xsbyAoNDUlKSwgaW5mcmFlc3RydWN0dXJhICgyNSUpLCB5IHJlY3Vyc29zIGh1bWFub3MgKDMwJSkuIEVsIHByZXN1cHVlc3RvIGVzdMOhIGFsaW5lYWRvIGNvbiBsYXMgcHJveWVjY2lvbmVzIGluaWNpYWxlcy4nLFxuICAgICAgZGF0ZTogJzIwMjUtMDUtMTRUMTc6NTI6NTQuODcyNTEyJyxcbiAgICAgIG1lc3NhZ2VfaWQ6ICdtc2dfMjAyNTA1MTRfMDA2JyxcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbCBlcyBlbCBlc3RhZG8gZGVsIHByZXN1cHVlc3RvIGRlbCBwcm95ZWN0bz8nLFxuICAgICAgdXNlcl9pZDogJzE1JyxcbiAgICAgIHdhc19oZWxwZnVsOiB0cnVlLFxuICAgICAgcHJvamVjdF9pZDogMTU1NjcxLFxuICAgICAgYWdlbnRfaWQ6ICcxMjMnLFxuICAgICAgdGltZXN0YW1wOiAnJyxcbiAgICAgIG1lbW9yeV9zZXNzaW9uX2lkOiAnJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGFuc3dlcjpcbiAgICAgICAgJ0xhcyBtw6l0cmljYXMgY2xhdmUgKEtQSXMpIGRlbCBwcm95ZWN0byBzb246XFxuLSBWZWxvY2lkYWQgZGVsIGVxdWlwbzogNDUgcHVudG9zIHBvciBzcHJpbnRcXG4tIENhbGlkYWQgZGVsIGPDs2RpZ286IDk4JSBkZSBjb2JlcnR1cmEgZGUgcHJ1ZWJhc1xcbi0gU2F0aXNmYWNjacOzbiBkZWwgY2xpZW50ZTogNC44LzVcXG4tIFRpZW1wbyBkZSByZXNwdWVzdGEgYSBpbmNpZGVuY2lhczogPCAyIGhvcmFzXFxuXFxuVG9kYXMgbGFzIG3DqXRyaWNhcyBlc3TDoW4gZGVudHJvIGRlIGxvcyByYW5nb3Mgb2JqZXRpdm9zIGVzdGFibGVjaWRvcy4nLFxuICAgICAgZGF0ZTogJzIwMjUtMDUtMTRUMTc6NTM6MTEuNjc3MzA2JyxcbiAgICAgIG1lc3NhZ2VfaWQ6ICdtc2dfMjAyNTA1MTRfMDA3JyxcbiAgICAgIHF1ZXN0aW9uOiAnwr9DdcOhbGVzIHNvbiBsYXMgbcOpdHJpY2FzIGFjdHVhbGVzIGRlbCBwcm95ZWN0bz8nLFxuICAgICAgdXNlcl9pZDogJzE1JyxcbiAgICAgIHdhc19oZWxwZnVsOiB0cnVlLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzIsXG4gICAgICBhZ2VudF9pZDogJzEyMycsXG4gICAgICB0aW1lc3RhbXA6ICcnLFxuICAgICAgbWVtb3J5X3Nlc3Npb25faWQ6ICcnLFxuICAgIH0sXG4gICAge1xuICAgICAgYW5zd2VyOlxuICAgICAgICAnRWwgY3Jvbm9ncmFtYSBhY3R1YWwgaW5kaWNhIHF1ZSBlbCBwcm95ZWN0byBlc3TDoSBlbiBsYSBGYXNlIDMgZGUgNS4gTGFzIGZlY2hhcyBjbGF2ZSBzb246XFxuLSBGYXNlIDMgKEFjdHVhbCk6IDIwMjUtMDUtMDEgYSAyMDI1LTA2LTE1XFxuLSBGYXNlIDQ6IDIwMjUtMDYtMTYgYSAyMDI1LTA3LTMxXFxuLSBGYXNlIDUgKEZpbmFsKTogMjAyNS0wOC0wMSBhIDIwMjUtMDgtMzFcXG5cXG5FbCBwcm95ZWN0byBlc3TDoSBhdmFuemFuZG8gc2Vnw7puIGxvIHBsYW5pZmljYWRvLicsXG4gICAgICBkYXRlOiAnMjAyNS0wNS0xNFQxNzo1MzoxMi42MTg5MDUnLFxuICAgICAgbWVzc2FnZV9pZDogJ21zZ18yMDI1MDUxNF8wMDgnLFxuICAgICAgcXVlc3Rpb246ICfCv0N1w6FsIGVzIGVsIGNyb25vZ3JhbWEgYWN0dWFsIGRlbCBwcm95ZWN0bz8nLFxuICAgICAgdXNlcl9pZDogJzE1JyxcbiAgICAgIHdhc19oZWxwZnVsOiB0cnVlLFxuICAgICAgcHJvamVjdF9pZDogNDA1MzIsXG4gICAgICBhZ2VudF9pZDogJzEyMycsXG4gICAgICB0aW1lc3RhbXA6ICcnLFxuICAgICAgbWVtb3J5X3Nlc3Npb25faWQ6ICcnLFxuICAgIH0sXG4gICAge1xuICAgICAgYW5zd2VyOlxuICAgICAgICAnTG9zIHN0YWtlaG9sZGVycyBwcmluY2lwYWxlcyBzb246XFxuMS4gQ2xpZW50ZSBmaW5hbDogRW1wcmVzYSBYWVpcXG4yLiBQYXRyb2NpbmFkb3I6IERpcmVjdG9yIGRlIElubm92YWNpw7NuXFxuMy4gVXN1YXJpb3MgZmluYWxlczogRXF1aXBvIGRlIE9wZXJhY2lvbmVzXFxuNC4gUHJvdmVlZG9yZXM6IENsb3VkIFNlcnZpY2VzIEluYy5cXG5cXG5TZSByZWFsaXphbiByZXVuaW9uZXMgc2VtYW5hbGVzIGNvbiBsb3Mgc3Rha2Vob2xkZXJzIHBhcmEgbWFudGVuZXJsb3MgaW5mb3JtYWRvcyBkZWwgcHJvZ3Jlc28uJyxcbiAgICAgIGRhdGU6ICcyMDI1LTA1LTE0VDE3OjUzOjE1LjcwNjQxMicsXG4gICAgICBtZXNzYWdlX2lkOiAnbXNnXzIwMjUwNTE0XzAwOScsXG4gICAgICBxdWVzdGlvbjogJ8K/UXVpw6luZXMgc29uIGxvcyBzdGFrZWhvbGRlcnMgZGVsIHByb3llY3RvPycsXG4gICAgICB1c2VyX2lkOiAnMTUnLFxuICAgICAgd2FzX2hlbHBmdWw6IHRydWUsXG4gICAgICBwcm9qZWN0X2lkOiA0MDUzMixcbiAgICAgIGFnZW50X2lkOiAnMTIzJyxcbiAgICAgIHRpbWVzdGFtcDogJycsXG4gICAgICBtZW1vcnlfc2Vzc2lvbl9pZDogJycsXG4gICAgfSxcbiAgICB7XG4gICAgICBhbnN3ZXI6XG4gICAgICAgICdMb3MgZW50cmVnYWJsZXMgcGVuZGllbnRlcyBwYXJhIGVzdGUgdHJpbWVzdHJlIHNvbjpcXG5cXG58IFTDrXR1bG8gZGUgbGEgVGFyZWEgfCBFc3RhZG8gfFxcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLXxcXG58IFByb3B1ZXN0YSBjcmVhdGl2YSB8IE51ZXZhIHxcXG58IEFwbGljYWNpb25lcyBkZSBtYXJjYSB8IE51ZXZhIHxcXG58IEJyYWluc3Rvcm1pbmcgQ29uY2VwdG9zIHZpc3VhbGVzIHwgTnVldmEgfFxcbnwgQnJhaW5zdG9ybWluZyBOYW1pbmcgfCBOdWV2YSB8XFxufCBDb25zb2xpZGFjacOzbiBkZSBCcmllZiB8IE51ZXZhIHxcXG58IEFuw6FsaXNpcyBkZSBsYSBNYXJjYSB8IE51ZXZhIHxcXG58IHRhcmVhIGRlIFBydWViYSB8IE51ZXZhIHxcXG58IFByZXNlbnRhY2nDs24gZGUgcHJvcHVlc3RhICgxKSB8IE51ZXZhIHxcXG58IE1hbnVhbCBkZSBtYXJjYSB8IE51ZXZhIHxcXG58IEFqdXN0ZXMgZGUgRGlzZcOxbyBQcm9wdWVzdGEgMSB8IE51ZXZhIHxcXG58IHRhcmVhIGFsIG1lZGlvIHwgTnVldmEgfFxcbnwgTGEgdGFyZWEgcGFyYSByZWZyZXNjYXIgfCBOdWV2YSB8XFxuXFxuVG9kb3MgbG9zIGVudHJlZ2FibGVzIHRpZW5lbiBzdXMgZmVjaGFzIGRlIGVudHJlZ2EgZGVmaW5pZGFzIHkgZXN0w6FuIHNpZW5kbyBtb25pdG9yZWFkb3MgYWN0aXZhbWVudGUuJyxcbiAgICAgIGRhdGU6ICcyMDI1LTA1LTE0VDE3OjUzOjE2LjkxODQ5MycsXG4gICAgICBtZXNzYWdlX2lkOiAnbXNnXzIwMjUwNTE0XzAxMCcsXG4gICAgICBxdWVzdGlvbjogJ8K/Q3XDoWxlcyBzb24gbG9zIGVudHJlZ2FibGVzIHBlbmRpZW50ZXM/JyxcbiAgICAgIHVzZXJfaWQ6ICcxNScsXG4gICAgICB3YXNfaGVscGZ1bDogdHJ1ZSxcbiAgICAgIHByb2plY3RfaWQ6IDQwNTMyLFxuICAgICAgYWdlbnRfaWQ6ICcxMjMnLFxuICAgICAgdGltZXN0YW1wOiAnJyxcbiAgICAgIG1lbW9yeV9zZXNzaW9uX2lkOiAnJyxcbiAgICB9LFxuICBdLFxuICBsYXN0X2V2YWx1YXRlZF9rZXk6XG4gICAgJyU3QiUyMlBLJTIyJTNBJTIwJTIyc3RhZ2luZyUyM0NIQVRJRCUyMzkwNDkxZDNjLTA1OGEtNDE0OS1iODdlLWYzN2YwMDY4MTgzOSUyM1BST0pFQ1QlMjNwbV9hZ2VudCUyMiUyQyUyMCUyMlNLJTIyJTNBJTIwMTc0NzI0NTE2NCU3RCcsXG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQVNBLEVBQUUsSUFBSUMsTUFBTSxRQUFRLE1BQU07QUFH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
@@ -1,5 +0,0 @@
1
- export var MOCK_ORCHESTRATOR_RESPONSE = {
2
- content: "Let me help you analyze this project in detail.\n\nFirst, let's look at the key objectives and deliverables. Based on the information provided, this project aims to:\n\n1. Improve the user experience by implementing a new interface\n2. Optimize performance across different devices\n3. Enhance security measures\n4. Integrate with existing systems\n\nThe current implementation shows several areas that need attention:\n\n\u2022 The authentication flow could be more robust\n\u2022 API endpoints need better error handling\n\u2022 Database queries should be optimized\n\u2022 Frontend components require better state management\n\nHere are my recommendations for moving forward:\n\n1. Authentication:\n - Implement OAuth 2.0 with refresh tokens\n - Add rate limiting\n - Set up proper session management\n\n2. Performance:\n - Implement caching strategies\n - Optimize database indexes\n - Use lazy loading for components\n - Consider implementing a CDN\n\n3. Security:\n - Add input validation\n - Implement CSRF protection\n - Set up proper CORS policies\n - Regular security audits\n\n4. Code Quality:\n - Increase test coverage\n - Implement proper logging\n - Add documentation\n - Set up CI/CD pipelines\n\nWould you like me to elaborate on any of these points or provide specific code examples for implementation?",
3
- mockDelay: 100 // This is no longer used since we're streaming
4
- };
5
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNT0NLX09SQ0hFU1RSQVRPUl9SRVNQT05TRSIsImNvbnRlbnQiLCJtb2NrRGVsYXkiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ja3MvbW9ja09yY2hlc3RyYXRvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgTU9DS19PUkNIRVNUUkFUT1JfUkVTUE9OU0UgPSB7XG4gIGNvbnRlbnQ6IGBMZXQgbWUgaGVscCB5b3UgYW5hbHl6ZSB0aGlzIHByb2plY3QgaW4gZGV0YWlsLlxuXG5GaXJzdCwgbGV0J3MgbG9vayBhdCB0aGUga2V5IG9iamVjdGl2ZXMgYW5kIGRlbGl2ZXJhYmxlcy4gQmFzZWQgb24gdGhlIGluZm9ybWF0aW9uIHByb3ZpZGVkLCB0aGlzIHByb2plY3QgYWltcyB0bzpcblxuMS4gSW1wcm92ZSB0aGUgdXNlciBleHBlcmllbmNlIGJ5IGltcGxlbWVudGluZyBhIG5ldyBpbnRlcmZhY2VcbjIuIE9wdGltaXplIHBlcmZvcm1hbmNlIGFjcm9zcyBkaWZmZXJlbnQgZGV2aWNlc1xuMy4gRW5oYW5jZSBzZWN1cml0eSBtZWFzdXJlc1xuNC4gSW50ZWdyYXRlIHdpdGggZXhpc3Rpbmcgc3lzdGVtc1xuXG5UaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBzaG93cyBzZXZlcmFsIGFyZWFzIHRoYXQgbmVlZCBhdHRlbnRpb246XG5cbuKAoiBUaGUgYXV0aGVudGljYXRpb24gZmxvdyBjb3VsZCBiZSBtb3JlIHJvYnVzdFxu4oCiIEFQSSBlbmRwb2ludHMgbmVlZCBiZXR0ZXIgZXJyb3IgaGFuZGxpbmdcbuKAoiBEYXRhYmFzZSBxdWVyaWVzIHNob3VsZCBiZSBvcHRpbWl6ZWRcbuKAoiBGcm9udGVuZCBjb21wb25lbnRzIHJlcXVpcmUgYmV0dGVyIHN0YXRlIG1hbmFnZW1lbnRcblxuSGVyZSBhcmUgbXkgcmVjb21tZW5kYXRpb25zIGZvciBtb3ZpbmcgZm9yd2FyZDpcblxuMS4gQXV0aGVudGljYXRpb246XG4gICAtIEltcGxlbWVudCBPQXV0aCAyLjAgd2l0aCByZWZyZXNoIHRva2Vuc1xuICAgLSBBZGQgcmF0ZSBsaW1pdGluZ1xuICAgLSBTZXQgdXAgcHJvcGVyIHNlc3Npb24gbWFuYWdlbWVudFxuXG4yLiBQZXJmb3JtYW5jZTpcbiAgIC0gSW1wbGVtZW50IGNhY2hpbmcgc3RyYXRlZ2llc1xuICAgLSBPcHRpbWl6ZSBkYXRhYmFzZSBpbmRleGVzXG4gICAtIFVzZSBsYXp5IGxvYWRpbmcgZm9yIGNvbXBvbmVudHNcbiAgIC0gQ29uc2lkZXIgaW1wbGVtZW50aW5nIGEgQ0ROXG5cbjMuIFNlY3VyaXR5OlxuICAgLSBBZGQgaW5wdXQgdmFsaWRhdGlvblxuICAgLSBJbXBsZW1lbnQgQ1NSRiBwcm90ZWN0aW9uXG4gICAtIFNldCB1cCBwcm9wZXIgQ09SUyBwb2xpY2llc1xuICAgLSBSZWd1bGFyIHNlY3VyaXR5IGF1ZGl0c1xuXG40LiBDb2RlIFF1YWxpdHk6XG4gICAtIEluY3JlYXNlIHRlc3QgY292ZXJhZ2VcbiAgIC0gSW1wbGVtZW50IHByb3BlciBsb2dnaW5nXG4gICAtIEFkZCBkb2N1bWVudGF0aW9uXG4gICAtIFNldCB1cCBDSS9DRCBwaXBlbGluZXNcblxuV291bGQgeW91IGxpa2UgbWUgdG8gZWxhYm9yYXRlIG9uIGFueSBvZiB0aGVzZSBwb2ludHMgb3IgcHJvdmlkZSBzcGVjaWZpYyBjb2RlIGV4YW1wbGVzIGZvciBpbXBsZW1lbnRhdGlvbj9gLFxuICBtb2NrRGVsYXk6IDEwMCwgLy8gVGhpcyBpcyBubyBsb25nZXIgdXNlZCBzaW5jZSB3ZSdyZSBzdHJlYW1pbmdcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFNQSwwQkFBMEIsR0FBRztFQUN4Q0MsT0FBTywwMENBeUNtRztFQUMxR0MsU0FBUyxFQUFFLEdBQUcsQ0FBRTtBQUNsQixDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -1,11 +0,0 @@
1
- export var MOCK_PROJECT_DATA = {
2
- id: 40531,
3
- // id: 44653,
4
- name: 'Mock project',
5
- client: {
6
- id: 14,
7
- name: 'Mock client'
8
- },
9
- incomeType: 'fee'
10
- };
11
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNT0NLX1BST0pFQ1RfREFUQSIsImlkIiwibmFtZSIsImNsaWVudCIsImluY29tZVR5cGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ja3MvbW9ja1Byb2plY3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IE1PQ0tfUFJPSkVDVF9EQVRBID0ge1xuICBpZDogNDA1MzEsXG4gIC8vIGlkOiA0NDY1MyxcbiAgbmFtZTogJ01vY2sgcHJvamVjdCcsXG4gIGNsaWVudDoge1xuICAgIGlkOiAxNCxcbiAgICBuYW1lOiAnTW9jayBjbGllbnQnLFxuICB9LFxuICBpbmNvbWVUeXBlOiAnZmVlJyxcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFNQSxpQkFBaUIsR0FBRztFQUMvQkMsRUFBRSxFQUFFLEtBQUs7RUFDVDtFQUNBQyxJQUFJLEVBQUUsY0FBYztFQUNwQkMsTUFBTSxFQUFFO0lBQ05GLEVBQUUsRUFBRSxFQUFFO0lBQ05DLElBQUksRUFBRTtFQUNSLENBQUM7RUFDREUsVUFBVSxFQUFFO0FBQ2QsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,6 +0,0 @@
1
- export var MOCK_PROJECT_SUMMARY = 'data: # 📅 Fechas y Deadlines\nThe project does not have a defined deadline. It has been active for **2,159 days** since its start date on June 1, 2019. It is recommended to define a deadline to better assess potential deviations and ensure timely completion.\n\n---\n\n#### 💰 Estado Rentabilidad\nInformation not available.\n\n---\n\n#### ⏱️ Estimación de Horas y Consumos\nThe project has consumed **114.34** hours out of the estimated **2,556** hours, representing approximately **4.47%** of the total estimated time. There are still **2,441.66** hours remaining to be utilized. The current consumption suggests a significant margin of **95.53%** is still available, indicating that the project is well within its time allocation.\n\n---\n\n#### 📊 Tareas y Avances\n- **Total Tasks**: 91\n - **New**: 74 tasks (81.32%). This high percentage suggests a low execution rate.\n - **In Process**: 12 tasks (13.19%).\n - **Working**: 9 tasks\n - **In Design**: 3 tasks\n - **Stuck**: 1 task (1.10%). Minimal impact but should be monitored.\n - **Finished**: 4 tasks (4.40%). The project shows limited progress, with a small number of tasks completed.\n - **In Review**: 0 tasks. No tasks are currently under review.\n\n---\n\n#### 🔄 Retrabajos\nA total of 12 reworks have been identified in the project:\n- **Internal**: 4 reworks (33.33%)\n- **Client Requirements**: 8 reworks (66.67%). This high percentage suggests a potential area for improvement in initial requirement gathering or client communication.\n\nDistribution by type:\n- **Adjustment**: 6 reworks (50%). A significant portion, indicating a need to address recurring adjustments.\n- **Redefinition**: 1 rework (8.33%).\n- **Additional**: 2 reworks (16.67%).\n\nThe dominance of client-requested reworks and adjustments highlights areas for potential process refinement or enhanced client collaboration.';
2
- export var MOCK_PROJECT_SUMMARY_RESPONSE = {
3
- content: MOCK_PROJECT_SUMMARY,
4
- date: '2021-09-30T12:00:00Z'
5
- };
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNT0NLX1BST0pFQ1RfU1VNTUFSWSIsIk1PQ0tfUFJPSkVDVF9TVU1NQVJZX1JFU1BPTlNFIiwiY29udGVudCIsImRhdGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ja3MvbW9ja1Byb2plY3RTdW1tYXJ5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBNT0NLX1BST0pFQ1RfU1VNTUFSWSA9XG4gICdkYXRhOiAjIPCfk4UgRmVjaGFzIHkgRGVhZGxpbmVzXFxuVGhlIHByb2plY3QgZG9lcyBub3QgaGF2ZSBhIGRlZmluZWQgZGVhZGxpbmUuIEl0IGhhcyBiZWVuIGFjdGl2ZSBmb3IgKioyLDE1OSBkYXlzKiogc2luY2UgaXRzIHN0YXJ0IGRhdGUgb24gSnVuZSAxLCAyMDE5LiBJdCBpcyByZWNvbW1lbmRlZCB0byBkZWZpbmUgYSBkZWFkbGluZSB0byBiZXR0ZXIgYXNzZXNzIHBvdGVudGlhbCBkZXZpYXRpb25zIGFuZCBlbnN1cmUgdGltZWx5IGNvbXBsZXRpb24uXFxuXFxuLS0tXFxuXFxuIyMjIyDwn5KwIEVzdGFkbyBSZW50YWJpbGlkYWRcXG5JbmZvcm1hdGlvbiBub3QgYXZhaWxhYmxlLlxcblxcbi0tLVxcblxcbiMjIyMg4o+x77iPIEVzdGltYWNpw7NuIGRlIEhvcmFzIHkgQ29uc3Vtb3NcXG5UaGUgcHJvamVjdCBoYXMgY29uc3VtZWQgKioxMTQuMzQqKiBob3VycyBvdXQgb2YgdGhlIGVzdGltYXRlZCAqKjIsNTU2KiogaG91cnMsIHJlcHJlc2VudGluZyBhcHByb3hpbWF0ZWx5ICoqNC40NyUqKiBvZiB0aGUgdG90YWwgZXN0aW1hdGVkIHRpbWUuIFRoZXJlIGFyZSBzdGlsbCAqKjIsNDQxLjY2KiogaG91cnMgcmVtYWluaW5nIHRvIGJlIHV0aWxpemVkLiBUaGUgY3VycmVudCBjb25zdW1wdGlvbiBzdWdnZXN0cyBhIHNpZ25pZmljYW50IG1hcmdpbiBvZiAqKjk1LjUzJSoqIGlzIHN0aWxsIGF2YWlsYWJsZSwgaW5kaWNhdGluZyB0aGF0IHRoZSBwcm9qZWN0IGlzIHdlbGwgd2l0aGluIGl0cyB0aW1lIGFsbG9jYXRpb24uXFxuXFxuLS0tXFxuXFxuIyMjIyDwn5OKIFRhcmVhcyB5IEF2YW5jZXNcXG4tICoqVG90YWwgVGFza3MqKjogOTFcXG4gIC0gKipOZXcqKjogNzQgdGFza3MgKDgxLjMyJSkuIFRoaXMgaGlnaCBwZXJjZW50YWdlIHN1Z2dlc3RzIGEgbG93IGV4ZWN1dGlvbiByYXRlLlxcbiAgLSAqKkluIFByb2Nlc3MqKjogMTIgdGFza3MgKDEzLjE5JSkuXFxuICAgIC0gKipXb3JraW5nKio6IDkgdGFza3NcXG4gICAgLSAqKkluIERlc2lnbioqOiAzIHRhc2tzXFxuICAtICoqU3R1Y2sqKjogMSB0YXNrICgxLjEwJSkuIE1pbmltYWwgaW1wYWN0IGJ1dCBzaG91bGQgYmUgbW9uaXRvcmVkLlxcbiAgLSAqKkZpbmlzaGVkKio6IDQgdGFza3MgKDQuNDAlKS4gVGhlIHByb2plY3Qgc2hvd3MgbGltaXRlZCBwcm9ncmVzcywgd2l0aCBhIHNtYWxsIG51bWJlciBvZiB0YXNrcyBjb21wbGV0ZWQuXFxuICAtICoqSW4gUmV2aWV3Kio6IDAgdGFza3MuIE5vIHRhc2tzIGFyZSBjdXJyZW50bHkgdW5kZXIgcmV2aWV3Llxcblxcbi0tLVxcblxcbiMjIyMg8J+UhCBSZXRyYWJham9zXFxuQSB0b3RhbCBvZiAxMiByZXdvcmtzIGhhdmUgYmVlbiBpZGVudGlmaWVkIGluIHRoZSBwcm9qZWN0Olxcbi0gKipJbnRlcm5hbCoqOiA0IHJld29ya3MgKDMzLjMzJSlcXG4tICoqQ2xpZW50IFJlcXVpcmVtZW50cyoqOiA4IHJld29ya3MgKDY2LjY3JSkuIFRoaXMgaGlnaCBwZXJjZW50YWdlIHN1Z2dlc3RzIGEgcG90ZW50aWFsIGFyZWEgZm9yIGltcHJvdmVtZW50IGluIGluaXRpYWwgcmVxdWlyZW1lbnQgZ2F0aGVyaW5nIG9yIGNsaWVudCBjb21tdW5pY2F0aW9uLlxcblxcbkRpc3RyaWJ1dGlvbiBieSB0eXBlOlxcbi0gKipBZGp1c3RtZW50Kio6IDYgcmV3b3JrcyAoNTAlKS4gQSBzaWduaWZpY2FudCBwb3J0aW9uLCBpbmRpY2F0aW5nIGEgbmVlZCB0byBhZGRyZXNzIHJlY3VycmluZyBhZGp1c3RtZW50cy5cXG4tICoqUmVkZWZpbml0aW9uKio6IDEgcmV3b3JrICg4LjMzJSkuXFxuLSAqKkFkZGl0aW9uYWwqKjogMiByZXdvcmtzICgxNi42NyUpLlxcblxcblRoZSBkb21pbmFuY2Ugb2YgY2xpZW50LXJlcXVlc3RlZCByZXdvcmtzIGFuZCBhZGp1c3RtZW50cyBoaWdobGlnaHRzIGFyZWFzIGZvciBwb3RlbnRpYWwgcHJvY2VzcyByZWZpbmVtZW50IG9yIGVuaGFuY2VkIGNsaWVudCBjb2xsYWJvcmF0aW9uLidcblxuZXhwb3J0IGNvbnN0IE1PQ0tfUFJPSkVDVF9TVU1NQVJZX1JFU1BPTlNFID0ge1xuICBjb250ZW50OiBNT0NLX1BST0pFQ1RfU1VNTUFSWSxcbiAgZGF0ZTogJzIwMjEtMDktMzBUMTI6MDA6MDBaJyxcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFNQSxvQkFBb0IsR0FDL0IsdzFEQUF3MUQ7QUFFMTFELE9BQU8sSUFBTUMsNkJBQTZCLEdBQUc7RUFDM0NDLE9BQU8sRUFBRUYsb0JBQW9CO0VBQzdCRyxJQUFJLEVBQUU7QUFDUixDQUFDIiwiaWdub3JlTGlzdCI6W119