@projectcor/maia-components 2.29.0 → 2.30.1-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +656 -0
- package/lib/App.js +55 -0
- package/lib/components/atoms/ActionableButton.js +60 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.js +89 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.styles.js +21 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.utils.js +9 -0
- package/lib/components/atoms/AgentActivityIndicator/index.js +2 -0
- package/lib/components/atoms/ApprovalBox/ApprovalBox.js +209 -0
- package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +93 -0
- package/lib/components/atoms/ApprovalBox/index.js +2 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCard.js +218 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCard.styles.js +52 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.js +448 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.styles.js +58 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardImage.js +55 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardImage.styles.js +14 -0
- package/lib/components/atoms/AttachmentCard/index.js +4 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +442 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.styles.js +119 -0
- package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.js +222 -0
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +313 -0
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +128 -0
- package/lib/components/atoms/AttachmentPreviewModal/index.js +2 -0
- package/lib/components/atoms/Backdrop/Backdrop.js +17 -0
- package/lib/components/atoms/Backdrop/Backdrop.styles.js +9 -0
- package/lib/components/atoms/Backdrop/index.js +2 -0
- package/lib/components/atoms/CardItem.js +7 -0
- package/lib/components/atoms/CardMenu/CardMenu.js +131 -0
- package/lib/components/atoms/CardMenu/index.js +2 -0
- package/lib/components/atoms/CardMenu/styles.js +21 -0
- package/lib/components/atoms/ChatClientSelector/ChatClientSelector.js +77 -0
- package/lib/components/atoms/ChatClientSelector/index.js +2 -0
- package/lib/components/atoms/ChatDisclaimerMessage/ChatDisclaimerMessage.js +9 -0
- package/lib/components/atoms/ChatDisclaimerMessage/index.js +2 -0
- package/lib/components/atoms/ChatDisclaimerMessage/styles.js +6 -0
- package/lib/components/atoms/Checkbox/Checkbox.js +34 -0
- package/lib/components/atoms/Checkbox/index.js +2 -0
- package/lib/components/atoms/Checkbox/styles.js +39 -0
- package/lib/components/atoms/Chip/Chip.js +150 -0
- package/lib/components/atoms/Chip/index.js +2 -0
- package/lib/components/atoms/Chip/styles.js +43 -0
- package/lib/components/atoms/ChipLlm/ChipLlm.js +45 -0
- package/lib/components/atoms/ChipLlm/ChipLlm.style.js +21 -0
- package/lib/components/atoms/ChipLlm/index.js +2 -0
- package/lib/components/atoms/ChipStatus/ChipStatus.interface.js +2 -0
- package/lib/components/atoms/ChipStatus/ChipStatus.js +14 -0
- package/lib/components/atoms/ChipStatus/ChipStatus.styles.js +27 -0
- package/lib/components/atoms/ChipStatus/index.js +2 -0
- package/lib/components/atoms/ClearButton.js +6 -0
- package/lib/components/atoms/ClientSelector/ClientSelector.js +146 -0
- package/lib/components/atoms/ClientSelector/ClientSelector.styles.js +15 -0
- package/lib/components/atoms/ClientSelector/index.js +2 -0
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.js +38 -0
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +188 -0
- package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.js +39 -0
- package/lib/components/atoms/ContextMentionChip/buildChipElement.js +445 -0
- package/lib/components/atoms/ContextMentionChip/index.js +4 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +533 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +10 -0
- package/lib/components/atoms/ContextMentionEditor/index.js +2 -0
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +282 -0
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +148 -0
- package/lib/components/atoms/ContextMentionItem/index.js +2 -0
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +290 -0
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +108 -0
- package/lib/components/atoms/ContextMentionPopover/index.js +3 -0
- package/lib/components/atoms/CopyToClipboard.js +70 -0
- package/lib/components/atoms/EditableLabel/EditableLabel.js +110 -0
- package/lib/components/atoms/EditableLabel/index.js +2 -0
- package/lib/components/atoms/EditableLabel/styles.js +7 -0
- package/lib/components/atoms/EmptySearchClients/EmptySearchClients.js +22 -0
- package/lib/components/atoms/EmptySearchClients/EmptySearchClients.styles.js +18 -0
- package/lib/components/atoms/EmptySearchClients/index.js +2 -0
- package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.js +19 -0
- package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.styles.js +15 -0
- package/lib/components/atoms/EmptySearchProjects/index.js +2 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.js +247 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.skeleton.js +38 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.styles.js +67 -0
- package/lib/components/atoms/EntitySelector/index.js +2 -0
- package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.js +14 -0
- package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.styles.js +15 -0
- package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.js +14 -0
- package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.style.js +15 -0
- package/lib/components/atoms/ErrorSearchFaqs/index.js +2 -0
- package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.js +18 -0
- package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.style.js +15 -0
- package/lib/components/atoms/ErrorSearchProjects/index.js +2 -0
- package/lib/components/atoms/Expand/Expand.js +32 -0
- package/lib/components/atoms/Expand/index.js +2 -0
- package/lib/components/atoms/Fade/Fade.js +56 -0
- package/lib/components/atoms/Fade/index.js +2 -0
- package/lib/components/atoms/FeedbackButton/FeedbackButton.js +59 -0
- package/lib/components/atoms/FeedbackButton/FeedbackButton.styles.js +14 -0
- package/lib/components/atoms/FeedbackButton/index.js +2 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +138 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.skeleton.js +44 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +43 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/index.js +2 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +122 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.skeleton.js +43 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +62 -0
- package/lib/components/atoms/FrequentlyUsedActions/index.js +2 -0
- package/lib/components/atoms/GoBackButton.js +24 -0
- package/lib/components/atoms/HelpButton.js +44 -0
- package/lib/components/atoms/IconButton.js +56 -0
- package/lib/components/atoms/ImagePreview/ImagePreview.js +96 -0
- package/lib/components/atoms/ImagePreview/ImagePreview.styles.js +70 -0
- package/lib/components/atoms/Input/CustomInput.interface.js +2 -0
- package/lib/components/atoms/Input/CustomInput.js +91 -0
- package/lib/components/atoms/Input/CustomInput.styles.js +39 -0
- package/lib/components/atoms/Input/index.js +2 -0
- package/lib/components/atoms/ListMenuOption/ListMenuOption.js +41 -0
- package/lib/components/atoms/ListMenuOption/index.js +2 -0
- package/lib/components/atoms/ListMenuOption/styles.js +9 -0
- package/lib/components/atoms/Loader.js +41 -0
- package/lib/components/atoms/LoadingFaqs/LoadingFaqs.js +11 -0
- package/lib/components/atoms/LoadingFaqs/LoadingFaqs.style.js +6 -0
- package/lib/components/atoms/LoadingFaqs/index.js +2 -0
- package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.js +11 -0
- package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.styles.js +6 -0
- package/lib/components/atoms/LoadingSearchClients/index.js +2 -0
- package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.js +14 -0
- package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.style.js +10 -0
- package/lib/components/atoms/LoadingSearchProjects/index.js +2 -0
- package/lib/components/atoms/LoadingText/LoadingText.js +18 -0
- package/lib/components/atoms/LoadingText/index.js +2 -0
- package/lib/components/atoms/LoadingText/styles.js +7 -0
- package/lib/components/atoms/MAIAButton/MAIAButton.js +33 -0
- package/lib/components/atoms/MAIAButton/index.js +2 -0
- package/lib/components/atoms/MAIAError/MAIAError.js +15 -0
- package/lib/components/atoms/MAIAError/index.js +2 -0
- package/lib/components/atoms/MAIAInput/MAIAInput.js +1233 -0
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +266 -0
- package/lib/components/atoms/MAIAInput/index.js +2 -0
- package/lib/components/atoms/MAIAInput/maiaInputLayout.js +25 -0
- package/lib/components/atoms/MAIAInput/styles.js +186 -0
- package/lib/components/atoms/MAIAMessage/MAIAMessage.interfaces.js +2 -0
- package/lib/components/atoms/MAIAMessage/MAIAMessage.js +22 -0
- package/lib/components/atoms/MAIAMessage/index.js +2 -0
- package/lib/components/atoms/MAIAMessage/styles.js +7 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.config.js +23 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.interfaces.js +2 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.js +51 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.styles.js +26 -0
- package/lib/components/atoms/MaiaStreamdown/index.js +2 -0
- package/lib/components/atoms/MaiaWrapper/MaiaWrapper.js +18 -0
- package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.js +84 -0
- package/lib/components/atoms/MaiaWrapper/ModernMaiaWrapper.js +15 -0
- package/lib/components/atoms/MaiaWrapper/index.js +3 -0
- package/lib/components/atoms/MaiaWrapper/styles.js +21 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.interface.js +2 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.js +84 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.styles.js +53 -0
- package/lib/components/atoms/ModalClientAccess/index.js +2 -0
- package/lib/components/atoms/ModalInfo/ModalInfo.js +52 -0
- package/lib/components/atoms/ModalInfo/ModalInfoContent.js +7 -0
- package/lib/components/atoms/ModalInfo/index.js +3 -0
- package/lib/components/atoms/ModalInfo/styles.js +7 -0
- package/lib/components/atoms/ModalProject/ModalProject.interface.js +2 -0
- package/lib/components/atoms/ModalProject/ModalProject.js +112 -0
- package/lib/components/atoms/ModalProject/ModalProject.style.js +59 -0
- package/lib/components/atoms/ModalProject/index.js +2 -0
- package/lib/components/atoms/NextPageLoader.js +33 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModal.js +28 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.js +180 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.styles.js +34 -0
- package/lib/components/atoms/OnboardingModalButton/index.js +3 -0
- package/lib/components/atoms/OptionAccessibility/OptionAccessibility.js +131 -0
- package/lib/components/atoms/OptionAccessibility/OptionAccessibility.styles.js +59 -0
- package/lib/components/atoms/OptionAccessibility/index.js +2 -0
- package/lib/components/atoms/OptionCorPermission/OptionCorPermission.js +27 -0
- package/lib/components/atoms/OptionCorPermission/OptionCorPermission.styles.js +18 -0
- package/lib/components/atoms/OptionCorPermission/index.js +2 -0
- package/lib/components/atoms/PrimaryButton.js +31 -0
- package/lib/components/atoms/ProjectSelector/ProjectSelector.js +77 -0
- package/lib/components/atoms/ProjectSelector/ProjectSelector.styles.js +61 -0
- package/lib/components/atoms/ProjectSelector/index.js +2 -0
- package/lib/components/atoms/SecondaryButton.js +20 -0
- package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.js +20 -0
- package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.styles.js +20 -0
- package/lib/components/atoms/SessionGeneratingDot/index.js +2 -0
- package/lib/components/atoms/Skeleton/Skeleton.js +36 -0
- package/lib/components/atoms/Skeleton/index.js +2 -0
- package/lib/components/atoms/SkillsDropdown/SkillsDropdown.js +208 -0
- package/lib/components/atoms/SkillsDropdown/SkillsDropdown.styles.js +77 -0
- package/lib/components/atoms/SkillsDropdown/index.js +2 -0
- package/lib/components/atoms/SlashCommandChip/SlashCommandChip.js +16 -0
- package/lib/components/atoms/SlashCommandChip/SlashCommandChip.styles.js +24 -0
- package/lib/components/atoms/SlashCommandChip/buildSlashChipElement.js +18 -0
- package/lib/components/atoms/SlashCommandChip/index.js +4 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +210 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.styles.js +53 -0
- package/lib/components/atoms/SlashCommandDropdown/index.js +2 -0
- package/lib/components/atoms/Switch/Switch.js +27 -0
- package/lib/components/atoms/Switch/Switch.styles.js +22 -0
- package/lib/components/atoms/Switch/index.js +2 -0
- package/lib/components/atoms/TextArea/CustomTextArea.interface.js +2 -0
- package/lib/components/atoms/TextArea/CustomTextArea.js +93 -0
- package/lib/components/atoms/TextArea/CustomTextArea.styles.js +25 -0
- package/lib/components/atoms/TextArea/TextArea.interfaces.js +2 -0
- package/lib/components/atoms/TextArea/TextArea.js +172 -0
- package/lib/components/atoms/TextArea/TextArea.styles.js +16 -0
- package/lib/components/atoms/TextArea/index.js +2 -0
- package/lib/components/atoms/ThirdButton.js +19 -0
- package/lib/components/atoms/VideoModal/VideoModal.js +76 -0
- package/lib/components/atoms/VideoModal/index.js +2 -0
- package/lib/components/atoms/WithAppCfg.js +26 -0
- package/lib/components/atoms/WithFeatureValidation.js +23 -0
- package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.js +9 -0
- package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.styles.js +6 -0
- package/lib/components/atoms/WrapperCenterIcon/index.js +2 -0
- package/lib/components/atoms/icons/AIIcon.js +23 -0
- package/lib/components/atoms/icons/AacFile.js +39 -0
- package/lib/components/atoms/icons/AccessibilityIcon.js +42 -0
- package/lib/components/atoms/icons/ActionAssignIcon.js +111 -0
- package/lib/components/atoms/icons/ActionCalendarIcon.js +112 -0
- package/lib/components/atoms/icons/ActionChargeHoursIcon.js +111 -0
- package/lib/components/atoms/icons/ActionChatIcon.js +71 -0
- package/lib/components/atoms/icons/ActionCreateIcon.js +91 -0
- package/lib/components/atoms/icons/ActionCreateReworkIcon.js +39 -0
- package/lib/components/atoms/icons/ActionCreateSubtaskIcon.js +37 -0
- package/lib/components/atoms/icons/ActionEditIcon.js +39 -0
- package/lib/components/atoms/icons/ActionSummaryMessagesIcon.js +88 -0
- package/lib/components/atoms/icons/ActionSummaryTaskIcon.js +37 -0
- package/lib/components/atoms/icons/ActionTimeBackIcon.js +112 -0
- package/lib/components/atoms/icons/AgentMaiaIcon.js +31 -0
- package/lib/components/atoms/icons/Brain.js +77 -0
- package/lib/components/atoms/icons/CorAccessIcon.js +41 -0
- package/lib/components/atoms/icons/CorLogo.js +76 -0
- package/lib/components/atoms/icons/CsvFile.js +41 -0
- package/lib/components/atoms/icons/DocFile.js +41 -0
- package/lib/components/atoms/icons/DocxFile.js +41 -0
- package/lib/components/atoms/icons/EmptyClientIllustration.js +67 -0
- package/lib/components/atoms/icons/EmptyHistory.js +46 -0
- package/lib/components/atoms/icons/EmptySearchIllustration.js +37 -0
- package/lib/components/atoms/icons/EmptyState.js +84 -0
- package/lib/components/atoms/icons/EmptyStateAgents.js +58 -0
- package/lib/components/atoms/icons/ErrorIcon.js +14 -0
- package/lib/components/atoms/icons/ErrorSearchIllustration.js +52 -0
- package/lib/components/atoms/icons/ErrorState.js +51 -0
- package/lib/components/atoms/icons/FaqChevronIcon.js +39 -0
- package/lib/components/atoms/icons/FaqsIcon.js +51 -0
- package/lib/components/atoms/icons/FlacIcon.js +39 -0
- package/lib/components/atoms/icons/FolderIcon.js +29 -0
- package/lib/components/atoms/icons/HomeIcon.js +30 -0
- package/lib/components/atoms/icons/ImageFile.js +46 -0
- package/lib/components/atoms/icons/M4aFile.js +39 -0
- package/lib/components/atoms/icons/MAIAIcon.js +20 -0
- package/lib/components/atoms/icons/MAIAIsologo.js +65 -0
- package/lib/components/atoms/icons/MDFile.js +41 -0
- package/lib/components/atoms/icons/MaiaChatLayoutFloatingIcon.js +41 -0
- package/lib/components/atoms/icons/MaiaChatLayoutFullscreenIcon.js +41 -0
- package/lib/components/atoms/icons/MaiaChatLayoutMenuIcon.js +33 -0
- package/lib/components/atoms/icons/MaiaChatLayoutSidebarIcon.js +41 -0
- package/lib/components/atoms/icons/MaiaInputAddIcon.js +42 -0
- package/lib/components/atoms/icons/MaiaInputAttachIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputAttachmentImageIcon.js +33 -0
- package/lib/components/atoms/icons/MaiaInputDeepSearchIcon.js +35 -0
- package/lib/components/atoms/icons/MaiaInputMentionIcon.js +44 -0
- package/lib/components/atoms/icons/MaiaInputRobotIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputSendIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputSlashIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputWebSearchIcon.js +35 -0
- package/lib/components/atoms/icons/MaiaSettingsProject.js +111 -0
- package/lib/components/atoms/icons/MaiaSettingsProjectV2.js +193 -0
- package/lib/components/atoms/icons/MaiaSparkleIcon.js +75 -0
- package/lib/components/atoms/icons/MaiaStoreIcon.js +31 -0
- package/lib/components/atoms/icons/Mp3File.js +39 -0
- package/lib/components/atoms/icons/Mp4File.js +39 -0
- package/lib/components/atoms/icons/MyAgentsNavIcon.js +51 -0
- package/lib/components/atoms/icons/NewChat.js +29 -0
- package/lib/components/atoms/icons/NotionIcon.js +36 -0
- package/lib/components/atoms/icons/OgaFile.js +39 -0
- package/lib/components/atoms/icons/OggFile.js +39 -0
- package/lib/components/atoms/icons/PdfFile.js +39 -0
- package/lib/components/atoms/icons/PlusIcon.js +29 -0
- package/lib/components/atoms/icons/PptFile.js +47 -0
- package/lib/components/atoms/icons/PptxFile.js +49 -0
- package/lib/components/atoms/icons/RetryIcon.js +34 -0
- package/lib/components/atoms/icons/SkillCreatedByIcon.js +20 -0
- package/lib/components/atoms/icons/SkillIcon.js +30 -0
- package/lib/components/atoms/icons/SkillVisibilityEveryoneIcon.js +23 -0
- package/lib/components/atoms/icons/SkillVisibilityOnlyMeIcon.js +23 -0
- package/lib/components/atoms/icons/SkillsNavIcon.js +24 -0
- package/lib/components/atoms/icons/SubtaskIcon.js +36 -0
- package/lib/components/atoms/icons/TaskLinkIcon.js +27 -0
- package/lib/components/atoms/icons/TelescopeIcon.js +60 -0
- package/lib/components/atoms/icons/TemplateGradientIcon.js +42 -0
- package/lib/components/atoms/icons/TextFile.js +41 -0
- package/lib/components/atoms/icons/WavFile.js +39 -0
- package/lib/components/atoms/icons/WebmFile.js +50 -0
- package/lib/components/atoms/icons/XlsFile.js +42 -0
- package/lib/components/atoms/icons/XlsxFile.js +42 -0
- package/lib/components/atoms/icons/index.js +54 -0
- package/lib/components/atoms/index.js +42 -0
- package/lib/components/index.js +11 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.interface.js +2 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +236 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +53 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.js +415 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +152 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +374 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.styles.js +106 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.js +92 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.styles.js +57 -0
- package/lib/components/molecules/AbmSection/index.js +4 -0
- package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.js +52 -0
- package/lib/components/molecules/ChatAIClientSelector/index.js +2 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +119 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.skeleton.js +187 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.styles.js +6 -0
- package/lib/components/molecules/ChatAIContent/index.js +2 -0
- package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +241 -0
- package/lib/components/molecules/ChatAIHistory/index.js +2 -0
- package/lib/components/molecules/ChatAIHistory/styles.js +22 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +649 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +115 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +95 -0
- package/lib/components/molecules/ChatAIHome/index.js +2 -0
- package/lib/components/molecules/ChatAIHome/styles.js +335 -0
- package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +137 -0
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +853 -0
- package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.js +47 -0
- package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.styles.js +37 -0
- package/lib/components/molecules/ChatAIMessages/README.md +101 -0
- package/lib/components/molecules/ChatAIMessages/index.js +2 -0
- package/lib/components/molecules/ChatAIMessages/newStyles.js +131 -0
- package/lib/components/molecules/ChatAIMessages/styles.js +94 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +1254 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +58 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +127 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +34 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +189 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +26 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +453 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +108 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +48 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +38 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/constants.js +40 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.js +16 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.styles.js +12 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/constants.js +13 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/index.js +3 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.js +57 -0
- package/lib/components/molecules/ChatAIModal/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/layout.js +74 -0
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +457 -0
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +218 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +430 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +169 -0
- package/lib/components/molecules/ChatAIMySkills/index.js +2 -0
- package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.js +48 -0
- package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.styles.js +49 -0
- package/lib/components/molecules/ChatAIProjectSelector/index.js +2 -0
- package/lib/components/molecules/ChatFooter/ChatFooter.js +337 -0
- package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.js +32 -0
- package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.styles.js +14 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +201 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.styles.js +51 -0
- package/lib/components/molecules/ChatFooter/index.js +2 -0
- package/lib/components/molecules/ChatFooter/styles.js +23 -0
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +60 -0
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.styles.js +6 -0
- package/lib/components/molecules/ContextMentionInput/index.js +2 -0
- package/lib/components/molecules/MessageFeedback/MessageFeedback.js +118 -0
- package/lib/components/molecules/MessageFeedback/index.js +2 -0
- package/lib/components/molecules/MessageFeedback/styles.js +14 -0
- package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.js +127 -0
- package/lib/components/molecules/ProjectSummaryChat/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryChat/styles.js +8 -0
- package/lib/components/molecules/ProjectSummaryConfig/ProjectSummaryConfig.js +152 -0
- package/lib/components/molecules/ProjectSummaryConfig/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryConfig/styles.js +86 -0
- package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.js +49 -0
- package/lib/components/molecules/ProjectSummaryContent/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryModal/ProjectSummaryModal.js +19 -0
- package/lib/components/molecules/ProjectSummaryModal/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryModal/styles.js +2 -0
- package/lib/components/molecules/Sidebar/Sidebar.js +716 -0
- package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +157 -0
- package/lib/components/molecules/Sidebar/Sidebar.skeleton.js +48 -0
- package/lib/components/molecules/Sidebar/Sidebar.styles.js +75 -0
- package/lib/components/molecules/Sidebar/index.js +2 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +1449 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.styles.js +93 -0
- package/lib/components/organisms/AbmAgentModal/index.js +2 -0
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +182 -0
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +34 -0
- package/lib/components/organisms/AbmSkillGenerateModal/index.js +2 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +585 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +154 -0
- package/lib/components/organisms/AbmSkillModal/index.js +2 -0
- package/lib/components/organisms/ChatAI/ChatAI.js +167 -0
- package/lib/components/organisms/ChatAI/index.js +2 -0
- package/lib/components/organisms/ChatAI/styles.js +7 -0
- package/lib/components/organisms/ClientAIButton/ClientAIButton.js +23 -0
- package/lib/components/organisms/ClientAIButton/index.js +2 -0
- package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.js +86 -0
- package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.styles.js +39 -0
- package/lib/components/organisms/DeleteAgentModal/index.js +2 -0
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +122 -0
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.styles.js +47 -0
- package/lib/components/organisms/DeleteQuestionModal/index.js +2 -0
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +138 -0
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.styles.js +69 -0
- package/lib/components/organisms/EditQuestionModal/index.js +2 -0
- package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.js +113 -0
- package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.styles.js +54 -0
- package/lib/components/organisms/ModalFileExceeds/index.js +2 -0
- package/lib/components/organisms/ProjectAIButton/ProjectAIButton.js +26 -0
- package/lib/components/organisms/ProjectAIButton/index.js +2 -0
- package/lib/components/organisms/ProjectSummary/ProjectSummary.js +60 -0
- package/lib/components/organisms/ProjectSummary/index.js +2 -0
- package/lib/components/organisms/ProjectSummary/styles.js +7 -0
- package/lib/components/organisms/SnackBar/Snackbar.interface.js +2 -0
- package/lib/components/organisms/SnackBar/Snackbar.js +73 -0
- package/lib/components/organisms/SnackBar/Snackbar.styles.js +9 -0
- package/lib/components/organisms/SnackBar/index.js +2 -0
- package/lib/components/organisms/SourcesInformation/SourceItem.js +18 -0
- package/lib/components/organisms/SourcesInformation/SourceItem.styles.js +14 -0
- package/lib/components/organisms/SourcesInformation/SourcesInformationModal.js +66 -0
- package/lib/components/organisms/SourcesInformation/SourcesInformationModal.styles.js +27 -0
- package/lib/components/organisms/SourcesInformation/index.js +2 -0
- package/lib/constants/config.js +10 -0
- package/lib/constants/formatExtensions.js +55 -0
- package/lib/constants/gqlClient.js +4 -0
- package/lib/constants/maiaHourAgentAccess.js +15 -0
- package/lib/constants/maiaTaskPanelAccess.js +24 -0
- package/lib/constants/maiaTaskPanelOutsideClick.js +9 -0
- package/lib/constants/maiaTaskPanelZIndex.js +19 -0
- package/lib/constants/permissions/config.js +72 -0
- package/lib/constants/permissions/index.js +3 -0
- package/lib/constants/permissions/types.js +2 -0
- package/lib/constants/permissions/utils.js +18 -0
- package/lib/constants/plannerSyncEvents.js +15 -0
- package/lib/constants/taskLinkIcon.js +15 -0
- package/lib/constants/taskUrls.js +11 -0
- package/lib/context/cor-user.js +31 -0
- package/lib/context/global-context.js +39 -0
- package/lib/dev/DevChatAI.js +101 -0
- package/lib/dev/DevContextMentionInput.js +67 -0
- package/lib/dev/ProjectSummary.js +9 -0
- package/lib/dev/Providers.js +27 -0
- package/lib/exports.js +2 -0
- package/lib/hooks/README.md +192 -0
- package/lib/hooks/index.js +30 -0
- package/lib/hooks/useAccessClient/index.js +2 -0
- package/lib/hooks/useAccessClient/useAccessClient.js +81 -0
- package/lib/hooks/useAgentModel/index.js +2 -0
- package/lib/hooks/useAgentModel/useAgentModel.js +62 -0
- package/lib/hooks/useAgentModel/useCreateAgent.js +175 -0
- package/lib/hooks/useAgentModel/useDeleteAgent.js +88 -0
- package/lib/hooks/useAgentModel/useUpdateAgent.js +176 -0
- package/lib/hooks/useAgentSuggestions.js +60 -0
- package/lib/hooks/useCaretPosition.js +65 -0
- package/lib/hooks/useChatManager/index.js +2 -0
- package/lib/hooks/useChatManager/useChatManager.interface.js +2 -0
- package/lib/hooks/useChatManager/useChatManager.js +1782 -0
- package/lib/hooks/useChatMessages/index.js +2 -0
- package/lib/hooks/useChatMessages/useChatMessages.interface.js +2 -0
- package/lib/hooks/useChatMessages/useChatMessages.js +722 -0
- package/lib/hooks/useChats/index.js +2 -0
- package/lib/hooks/useChats/useChats.interfaces.js +2 -0
- package/lib/hooks/useChats/useChats.js +187 -0
- package/lib/hooks/useClientSearch.js +163 -0
- package/lib/hooks/useContextMentions.js +500 -0
- package/lib/hooks/useContextPinPopover.js +228 -0
- package/lib/hooks/useDebounce.js +18 -0
- package/lib/hooks/useEntitySearch.js +1053 -0
- package/lib/hooks/useEvent.js +94 -0
- package/lib/hooks/useFrequentlyAskedQuestions.js +150 -0
- package/lib/hooks/useFrequentlyUsedActions.js +94 -0
- package/lib/hooks/useKnowledge/deleteKnowledge.js +69 -0
- package/lib/hooks/useKnowledge/downloadKnowledge.js +81 -0
- package/lib/hooks/useKnowledge/index.js +4 -0
- package/lib/hooks/useKnowledge/saveKnowledge.js +107 -0
- package/lib/hooks/useKnowledge/useKnowledgeOperations.js +156 -0
- package/lib/hooks/useMaiaTaskPanelZIndex.js +17 -0
- package/lib/hooks/useMentionAllowedTypes.js +120 -0
- package/lib/hooks/useMentionPopover.js +342 -0
- package/lib/hooks/useMinimizedPillBottomOffset.js +110 -0
- package/lib/hooks/useModal/index.js +2 -0
- package/lib/hooks/useModal/useModal.interfaces.js +2 -0
- package/lib/hooks/useModal/useModal.js +47 -0
- package/lib/hooks/useOnboardingNavigation.js +20 -0
- package/lib/hooks/useOrchestratorStream/index.js +2 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +2 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +269 -0
- package/lib/hooks/useProjectSearch.js +183 -0
- package/lib/hooks/useProjectSummary.js +101 -0
- package/lib/hooks/useProjectSummaryConfig.js +211 -0
- package/lib/hooks/useProjects.js +46 -0
- package/lib/hooks/useRecentClientsSearch.js +150 -0
- package/lib/hooks/useRecentContexts.js +86 -0
- package/lib/hooks/useResize.js +29 -0
- package/lib/hooks/useSkillsCatalog.js +66 -0
- package/lib/hooks/useSlashCommands.js +84 -0
- package/lib/hooks/useSmoothStreamText/index.js +2 -0
- package/lib/hooks/useSmoothStreamText/useSmoothStreamText.js +197 -0
- package/lib/hooks/useSnackBarManager/useSnackBarManager.js +41 -0
- package/lib/hooks/useStreamResponse.js +112 -0
- package/lib/hooks/useStreamdownStyles.js +13 -0
- package/lib/hooks/useStreamingMessage/index.js +2 -0
- package/lib/hooks/useStreamingMessage/useStreamingMessage.js +18 -0
- package/lib/hooks/useT.js +17 -0
- package/lib/hooks/useTabTaskDefault.js +33 -0
- package/lib/hooks/useTaskPanel.js +22 -0
- package/lib/hooks/useTextOverflowEllipsisTooltip.js +34 -0
- package/lib/hooks/useToggle.js +19 -0
- package/lib/hooks/useToggleFavorite/index.js +2 -0
- package/lib/hooks/useToggleFavorite/useToggleFavorite.js +83 -0
- package/lib/index.css +76 -0
- package/lib/index.js +30 -0
- package/lib/lang/br/index.js +793 -0
- package/lib/lang/en/index.js +793 -0
- package/lib/lang/es/index.js +794 -0
- package/lib/lang/fr/index.js +614 -0
- package/lib/lang/index.js +24 -0
- package/lib/lang/utils.js +33 -0
- package/lib/mocks/mockChats.js +395 -0
- package/lib/mocks/mockOrchestrator.js +5 -0
- package/lib/mocks/mockProject.js +11 -0
- package/lib/mocks/mockProjectSummary.js +6 -0
- package/lib/mocks/mockedUser.js +169 -0
- package/lib/services/apolloClient.js +3 -0
- package/lib/services/appcues.js +19 -0
- package/lib/services/corpilot/ProjectSummary/getProjectSummary.js +31 -0
- package/lib/services/corpilot/ProjectSummary/index.js +5 -0
- package/lib/services/corpilot/client.js +27 -0
- package/lib/services/corpilot/index.js +5 -0
- package/lib/services/maia/Access/updateAccess.js +59 -0
- package/lib/services/maia/Actions/getFrequentlyUsedActions.js +46 -0
- package/lib/services/maia/Actions/getSlashCommands.js +39 -0
- package/lib/services/maia/Actions/index.js +7 -0
- package/lib/services/maia/Agents/connectors.js +250 -0
- package/lib/services/maia/Agents/createAgent.js +39 -0
- package/lib/services/maia/Agents/deleteAgent.js +38 -0
- package/lib/services/maia/Agents/fetchAgentDetail.js +122 -0
- package/lib/services/maia/Agents/getAgentById.js +162 -0
- package/lib/services/maia/Agents/getAgentModels.js +112 -0
- package/lib/services/maia/Agents/getAgentSuggestions.js +44 -0
- package/lib/services/maia/Agents/getAgents.js +718 -0
- package/lib/services/maia/Agents/setAgentToolGroups.js +42 -0
- package/lib/services/maia/Agents/toggleFavorite.js +34 -0
- package/lib/services/maia/Agents/updateAgent.js +39 -0
- package/lib/services/maia/Chats/deleteChat.js +32 -0
- package/lib/services/maia/Chats/getChatMessages.js +144 -0
- package/lib/services/maia/Chats/getChatsByUserId.js +82 -0
- package/lib/services/maia/Chats/index.js +15 -0
- package/lib/services/maia/Chats/markSessionAsRead.js +32 -0
- package/lib/services/maia/Chats/patchChat.js +43 -0
- package/lib/services/maia/Chats/wasHelpfulChat.js +31 -0
- package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.js +55 -0
- package/lib/services/maia/Faqs/index.js +5 -0
- package/lib/services/maia/Knowledge/delete.js +41 -0
- package/lib/services/maia/Knowledge/download.js +48 -0
- package/lib/services/maia/Knowledge/index.js +3 -0
- package/lib/services/maia/Knowledge/save.js +43 -0
- package/lib/services/maia/Orchestrator/index.js +7 -0
- package/lib/services/maia/Orchestrator/orchestrator.js +246 -0
- package/lib/services/maia/RecentClients/getRecentClients.js +43 -0
- package/lib/services/maia/RecentClients/index.js +6 -0
- package/lib/services/maia/RecentContexts/getRecentContexts.js +54 -0
- package/lib/services/maia/RecentContexts/index.js +6 -0
- package/lib/services/maia/RecentProjects/getRecentProjects.js +55 -0
- package/lib/services/maia/RecentProjects/index.js +6 -0
- package/lib/services/maia/RecentTasks/getRecentTasks.js +54 -0
- package/lib/services/maia/RecentTasks/index.js +6 -0
- package/lib/services/maia/RecentUsers/getRecentUsers.js +59 -0
- package/lib/services/maia/RecentUsers/index.js +6 -0
- package/lib/services/maia/Skills/createSkill.js +39 -0
- package/lib/services/maia/Skills/deleteSkill.js +38 -0
- package/lib/services/maia/Skills/generateSkill.js +41 -0
- package/lib/services/maia/Skills/getSkills.js +120 -0
- package/lib/services/maia/Skills/updateSkill.js +39 -0
- package/lib/services/maia/client.js +27 -0
- package/lib/services/maia/index.js +17 -0
- package/lib/services/query/ClientSearchQuery.js +5 -0
- package/lib/services/query/entitySearchQuery.js +18 -0
- package/lib/services/query/index.js +2 -0
- package/lib/services/query/projectSearchByValueQuery.js +5 -0
- package/lib/services/query/taskUserTabQuery.js +8 -0
- package/lib/services/query/usersDirectoryQuery.js +19 -0
- package/lib/services/types.js +6 -0
- package/lib/services/utils/fetchCOR.js +117 -0
- package/lib/services/utils/getCookie.js +10 -0
- package/lib/services/utils/index.js +3 -0
- package/lib/services/utils/mapChatMessages.js +287 -0
- package/lib/services/utils/validateIsMaia.js +4 -0
- package/lib/store/chatsSidebarOptimistic.js +92 -0
- package/lib/store/chatsStore.types.js +2 -0
- package/lib/store/chatsStoreLifecycle.js +8 -0
- package/lib/store/faqsStore.types.js +2 -0
- package/lib/store/index.js +4 -0
- package/lib/store/maiaLastChatPersistence.js +35 -0
- package/lib/store/sessions/activeView.js +22 -0
- package/lib/store/sessions/index.js +9 -0
- package/lib/store/sessions/sessionHitlContext.js +15 -0
- package/lib/store/sessions/sessionNotificationSound.js +57 -0
- package/lib/store/sessions/sessionNotifications.js +110 -0
- package/lib/store/sessions/sessionNotifications.types.js +2 -0
- package/lib/store/sessions/sessionStreamManager.js +715 -0
- package/lib/store/sessions/sessionStreamingText.js +80 -0
- package/lib/store/sessions/sessions.types.js +35 -0
- package/lib/store/sessions/useSessionMeta.js +39 -0
- package/lib/store/sessions/useSessionStreamingText.js +18 -0
- package/lib/store/sessions/useSessionsStore.js +197 -0
- package/lib/store/useChatsStore.js +387 -0
- package/lib/store/useFaqsStore.js +27 -0
- package/lib/streamdownStyles.js +9 -0
- package/lib/styles/StyledCleanContainer.js +7 -0
- package/lib/styles/cascade.js +14 -0
- package/lib/styles/config.js +47 -0
- package/lib/styles/shared/scrollable.js +3 -0
- package/lib/styles/transitions.js +21 -0
- package/lib/types/Action.js +2 -0
- package/lib/types/AgentSuggestion.js +2 -0
- package/lib/types/Chat.js +10 -0
- package/lib/types/Client.js +2 -0
- package/lib/types/FrequentlyAskedQuestion.js +2 -0
- package/lib/types/Project.js +2 -0
- package/lib/types/ProjectSummaryConfigKeys.js +9 -0
- package/lib/types/Task.js +2 -0
- package/lib/types/agent.js +2 -0
- package/lib/types/agentModal.js +2 -0
- package/lib/types/contextMention.js +37 -0
- package/lib/types/global.d.js +2 -0
- package/lib/types/skill.js +2 -0
- package/lib/types/streamActivity.js +2 -0
- package/lib/types/userType.d.js +2 -0
- package/lib/utils/actionCategoryMap.js +37 -0
- package/lib/utils/actionIconMap.js +61 -0
- package/lib/utils/agentDisplayName.js +42 -0
- package/lib/utils/chatInputFiles.js +52 -0
- package/lib/utils/contextMentionIcons.js +134 -0
- package/lib/utils/contextMentionLabel.js +4 -0
- package/lib/utils/contextMentionTriggers.js +51 -0
- package/lib/utils/contextMentionTypeLabel.js +17 -0
- package/lib/utils/corConnectorMentionTypes.js +41 -0
- package/lib/utils/ensureStreamdownStyles.js +21 -0
- package/lib/utils/entityLinkRender.js +135 -0
- package/lib/utils/fileDownloadHelper.js +40 -0
- package/lib/utils/formatQuickActionMessage.js +16 -0
- package/lib/utils/formatUnreadCount.js +6 -0
- package/lib/utils/getUnitFileSize.js +13 -0
- package/lib/utils/hitlAnalytics.js +65 -0
- package/lib/utils/hoursPlannerQuickActionType.js +64 -0
- package/lib/utils/imagePreprocessor.js +108 -0
- package/lib/utils/index.js +3 -0
- package/lib/utils/maiaHostOpen.js +19 -0
- package/lib/utils/maiaStreamdownRehypePlugins.js +27 -0
- package/lib/utils/mapBackendLang.js +8 -0
- package/lib/utils/normalizeAgentConnectors.js +95 -0
- package/lib/utils/openTaskInCorPanel.js +22 -0
- package/lib/utils/orchestratorSubagents.js +11 -0
- package/lib/utils/renderContextMentions.js +420 -0
- package/lib/utils/retryCompletion.js +85 -0
- package/lib/utils/slashCommandMarker.js +30 -0
- package/lib/utils/sortManagerHoursHomeFuas.js +14 -0
- package/lib/utils/sseStreamContent.js +17 -0
- package/lib/utils/streamActivityMessages.js +359 -0
- package/lib/utils/validateTrimmedFields.js +8 -0
- package/package.json +1 -1
- package/README.md +0 -2
|
@@ -0,0 +1,794 @@
|
|
|
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 { SECTIONS } from '../../constants/config';
|
|
5
|
+
import { ProjectSummaryConfigKeys } from '../../types/ProjectSummaryConfigKeys';
|
|
6
|
+
var globals = {
|
|
7
|
+
close: 'Cerrar',
|
|
8
|
+
minimize: 'Minimizar',
|
|
9
|
+
howWorks: 'Cómo funciona?',
|
|
10
|
+
brandName: 'MAIA',
|
|
11
|
+
expand: 'Expandir',
|
|
12
|
+
collapse: 'Colapsar',
|
|
13
|
+
goBack: 'Volver al inicio',
|
|
14
|
+
copy: 'Copiar',
|
|
15
|
+
copied: 'Copiado',
|
|
16
|
+
saved: 'Guardado',
|
|
17
|
+
selectProject: 'Seleccionar proyecto',
|
|
18
|
+
save: 'Guardar',
|
|
19
|
+
cancel: 'Cancelar'
|
|
20
|
+
};
|
|
21
|
+
var error = {
|
|
22
|
+
title: 'Ha ocurrido un problema',
|
|
23
|
+
description: 'En estos momentos estamos experimentando algunos inconvenientes, por favor, intente en unos minutos.',
|
|
24
|
+
tryAgain: 'Volver a intentar'
|
|
25
|
+
};
|
|
26
|
+
var genericSection = {
|
|
27
|
+
error: error,
|
|
28
|
+
globals: globals
|
|
29
|
+
};
|
|
30
|
+
var projectSummarySection = {
|
|
31
|
+
resume: 'Resumir',
|
|
32
|
+
hello: '¡Hola, {{name}}!',
|
|
33
|
+
welcome: 'Soy MAIA, tu asistente en COR',
|
|
34
|
+
feedback: {
|
|
35
|
+
thumbsUp: 'Me sirvió',
|
|
36
|
+
thumbsDown: 'No me sirvió',
|
|
37
|
+
sources: 'Fuentes'
|
|
38
|
+
},
|
|
39
|
+
config: {
|
|
40
|
+
projectSummary: 'Resumir proyecto',
|
|
41
|
+
projectSummaryTitle: 'Resumen de proyectos',
|
|
42
|
+
goBack: 'Volver atrás',
|
|
43
|
+
selectedProject: 'Proyecto seleccionado',
|
|
44
|
+
selectProject: 'Seleccionar proyecto',
|
|
45
|
+
configureResume: 'Configuración avanzada',
|
|
46
|
+
generatingResume: 'Generando resumen',
|
|
47
|
+
generateResume: 'Generar',
|
|
48
|
+
hideConfig: 'Ocultar configuración'
|
|
49
|
+
},
|
|
50
|
+
configureSettings: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ProjectSummaryConfigKeys.GENERAL_STATUS, 'Fechas y deadlines'), ProjectSummaryConfigKeys.INCOME_COSTS, 'Rentabilidad'), ProjectSummaryConfigKeys.TIME_HOURS, 'Estimación de horas y consumo'), ProjectSummaryConfigKeys.TASKS_PROGRESS, 'Tareas y avances'), ProjectSummaryConfigKeys.REWORKS, 'Retrabajos')
|
|
51
|
+
};
|
|
52
|
+
var homeMenu = {
|
|
53
|
+
projectSummary: {
|
|
54
|
+
title: 'Resumen del proyecto',
|
|
55
|
+
description: 'Elabora informes con AI basado en tu proyecto'
|
|
56
|
+
},
|
|
57
|
+
faq: {
|
|
58
|
+
title: 'Preguntas frecuentes',
|
|
59
|
+
startTitle: 'Puedes comenzar por...',
|
|
60
|
+
empty: 'No hay preguntas frecuentes',
|
|
61
|
+
error: '¡Ups! Tuvimos un problema al cargar las preguntas frecuentes. Por favor, intenta de nuevo en unos minutos.',
|
|
62
|
+
categories: {
|
|
63
|
+
projects: 'Proyecto',
|
|
64
|
+
tasks: 'Tareas',
|
|
65
|
+
hours: 'Horas',
|
|
66
|
+
reworks: 'Retrabajos',
|
|
67
|
+
undefined: 'Sin categoría'
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
fua: {
|
|
71
|
+
title: 'Acciones frecuentes',
|
|
72
|
+
newBadge: 'Nuevo',
|
|
73
|
+
error: '¡Ups! Tuvimos un problema al cargar las acciones frecuentes. Por favor, intenta de nuevo en unos minutos.'
|
|
74
|
+
},
|
|
75
|
+
recentContexts: {
|
|
76
|
+
title: 'Elige un contexto reciente para mayor precisión en la respuesta:',
|
|
77
|
+
types: {
|
|
78
|
+
client: 'Cliente',
|
|
79
|
+
project: 'Proyecto',
|
|
80
|
+
task: 'Tarea'
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
contextHome: {
|
|
84
|
+
greeting: 'Hola, {{name}} 👋',
|
|
85
|
+
subtitle: 'Soy MAIA, tu asistente en tareas, proyectos y clientes.\n¿Seguimos con algo reciente?',
|
|
86
|
+
subtitleCollaborator: 'Soy MAIA, tu asistente en tareas. ¿Seguimos con algo reciente?',
|
|
87
|
+
subtitleCollaboratorWithHours: 'Completá tus horas o empezá un chat sobre una tarea.',
|
|
88
|
+
subtitleManagerWithHours: '¿Por dónde quieres empezar?',
|
|
89
|
+
hoursSection: {
|
|
90
|
+
title: 'Carga horas'
|
|
91
|
+
},
|
|
92
|
+
recentTasksSection: {
|
|
93
|
+
title: 'Consulta sobre una tarea',
|
|
94
|
+
subtitle: 'Elegí una tarea reciente para usarla como contexto.'
|
|
95
|
+
},
|
|
96
|
+
recentContextsSectionManager: {
|
|
97
|
+
title: 'O retoma algo reciente',
|
|
98
|
+
subtitle: 'Elegí una tarea, proyecto o cliente para usarlo como contexto'
|
|
99
|
+
},
|
|
100
|
+
contextGreeting: {
|
|
101
|
+
project: '¿Qué quieres que analicemos? ¿Horas, estimaciones, retrabajos?, ¡tu eliges!',
|
|
102
|
+
task: 'Estoy aquí para ayudarte con esta tarea. Usa una de las funciones para comenzar.',
|
|
103
|
+
client: '¿Qué quieres que analicemos? ¿Rentabilidad, avances, deadlines? ¡Tú eliges!'
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
plannerHome: {
|
|
107
|
+
title: 'Empecemos con tu carga de horas',
|
|
108
|
+
subtitle: '¿Por dónde comenzamos?'
|
|
109
|
+
},
|
|
110
|
+
action: {
|
|
111
|
+
categories: {
|
|
112
|
+
tasks: 'Acciones sobre tareas',
|
|
113
|
+
collaborators: 'Colaboradores y responsables',
|
|
114
|
+
labels: 'Etiquetas y tipos',
|
|
115
|
+
checklists: 'Checklists',
|
|
116
|
+
deliverables: 'Entregables',
|
|
117
|
+
reworks: 'Retrabajos',
|
|
118
|
+
hours: 'Carga de horas'
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
createdBy: 'por',
|
|
122
|
+
createdByTooltip: 'Usuario creador del agente',
|
|
123
|
+
createdByTooltipDeleted: 'Usuario eliminado. Su nombre se mantiene para referencia.',
|
|
124
|
+
taskGreeting: 'Estoy aquí para ayudarte con esta tarea. Usa una de las funciones para comenzar.',
|
|
125
|
+
hello: {
|
|
126
|
+
title: '¡Listo! Ya estoy usando el proyecto',
|
|
127
|
+
title_1: 'Anticipa desvíos. Analicemos este proyecto.',
|
|
128
|
+
title_2: '¿Qué quieres que analicemos? ¿Horas, estimaciones, retrabajos?, ¡tu eliges!',
|
|
129
|
+
title_3: 'Revisemos el avance de este proyecto.',
|
|
130
|
+
subtitle: 'Para empezar, te puedo ayudar con estas opciones. O si no, ¡escríbeme directamente tu consulta!',
|
|
131
|
+
titlePm: '¡Hola, {{name}}! Soy {{agent}}, tu asistente.',
|
|
132
|
+
subtitlePm: 'Para darte respuestas precisas, primero necesito saber sobre qué proyecto vamos a conversar. ¿Cuál eliges?'
|
|
133
|
+
},
|
|
134
|
+
maiaker: {
|
|
135
|
+
title: 'Convierte procesos repetitivos en agentes inteligentes',
|
|
136
|
+
description: 'Crea agentes que analicen, generen contenido según tus necesidades.',
|
|
137
|
+
createManualAgent: 'Crear agente manualmente',
|
|
138
|
+
badgeNew: 'Nuevo',
|
|
139
|
+
briefCard: {
|
|
140
|
+
title: 'Agente especialista en brief',
|
|
141
|
+
description: 'Crea y mejora briefs para que estén listos para usar en tareas.',
|
|
142
|
+
prompt: 'Quiero crear un agente especialista en brief.'
|
|
143
|
+
},
|
|
144
|
+
comingSoonCard: {
|
|
145
|
+
title: 'Más próximamente',
|
|
146
|
+
description: 'Estamos trabajando para brindarte más agentes'
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
export default _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, SECTIONS.projectSummary, _objectSpread(_objectSpread({}, genericSection), projectSummarySection)), SECTIONS.chatAI, _objectSpread(_objectSpread(_objectSpread({}, genericSection), projectSummarySection), {}, {
|
|
151
|
+
homeMenu: homeMenu,
|
|
152
|
+
contextMention: {
|
|
153
|
+
keyboardHint: 'Navegación entre pestañas: @, @@… en orden. También Alt/Cmd + ←/→',
|
|
154
|
+
recentsTitle: 'Recientes',
|
|
155
|
+
userNoPosition: 'Sin posición',
|
|
156
|
+
me: 'Yo',
|
|
157
|
+
tabs: {
|
|
158
|
+
client: 'Cliente',
|
|
159
|
+
project: 'Proyecto',
|
|
160
|
+
task: 'Tarea',
|
|
161
|
+
user: 'Usuario',
|
|
162
|
+
mcp: 'Conectores',
|
|
163
|
+
skill: 'Habilidades'
|
|
164
|
+
},
|
|
165
|
+
loading: 'Buscando...',
|
|
166
|
+
error: 'Tuvimos un problema al buscar. Intentá de nuevo.',
|
|
167
|
+
empty: {
|
|
168
|
+
recents: 'Empezá a escribir para buscar',
|
|
169
|
+
withQuery: 'No hay resultados para "{{query}}"'
|
|
170
|
+
},
|
|
171
|
+
counters: {
|
|
172
|
+
projects: 'proyectos',
|
|
173
|
+
tasks: 'tareas'
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
contextPin: {
|
|
177
|
+
addContext: 'Contexto global',
|
|
178
|
+
searchPlaceholder: 'Buscar contexto…',
|
|
179
|
+
remove: 'Quitar contexto'
|
|
180
|
+
},
|
|
181
|
+
button: 'IA',
|
|
182
|
+
title: '¡Hola, {{name}}!',
|
|
183
|
+
description: 'Soy MAIA tu asistente y estoy aquí para ayudarte con tus consultas.',
|
|
184
|
+
newChat: 'Nuevo chat',
|
|
185
|
+
openAgentCreator: 'Crear agente',
|
|
186
|
+
openMarketplace: 'Marketplace de agentes',
|
|
187
|
+
history: {
|
|
188
|
+
tooltip: 'Historial',
|
|
189
|
+
title: 'Historial vacío',
|
|
190
|
+
description: 'No se han encontrado conversaciones',
|
|
191
|
+
item: {
|
|
192
|
+
date: 'Última actualización {{date}}'
|
|
193
|
+
},
|
|
194
|
+
menu: {
|
|
195
|
+
rename: 'Renombrar',
|
|
196
|
+
"delete": 'Eliminar'
|
|
197
|
+
},
|
|
198
|
+
loadingMore: 'Cargando más conversaciones'
|
|
199
|
+
},
|
|
200
|
+
onboarding: {
|
|
201
|
+
maia: 'MAIA',
|
|
202
|
+
agentCustom: 'Agentes custom',
|
|
203
|
+
howCreateAgent: '¿Cómo crear un agente?',
|
|
204
|
+
tooltip: '¿Cómo funciona?',
|
|
205
|
+
howItWorks: '¿Cómo funciona?'
|
|
206
|
+
},
|
|
207
|
+
qa: {
|
|
208
|
+
title: 'Preguntas frecuentes',
|
|
209
|
+
items: {
|
|
210
|
+
rentabilidad_proyecto: '¿Cuál es la rentabilidad de este proyecto?',
|
|
211
|
+
avance_proyecto: '¿Cuáles son los avances de este proyecto?',
|
|
212
|
+
tareas_proyecto: '¿Cuáles son las tareas próximas a vencer?'
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
chat: {
|
|
216
|
+
generating: 'Pensando',
|
|
217
|
+
generatingAttachment: 'Analizando adjunto',
|
|
218
|
+
generatingDeepSearch: 'Iniciando la investigación',
|
|
219
|
+
generatingWebSearch: 'Buscando en la web',
|
|
220
|
+
suggestionsTitle: 'Respuestas sugeridas',
|
|
221
|
+
createAgentActionsTitle: 'Siguiente paso',
|
|
222
|
+
createAgentActionStartChat: 'Iniciar conversación con el nuevo agente',
|
|
223
|
+
createAgentActionKnowledge: 'Subir archivos a la base de conocimiento',
|
|
224
|
+
createAgentActionLoadError: 'No se pudo cargar el agente. Intenta de nuevo.',
|
|
225
|
+
writing: 'Escribiendo la respuesta',
|
|
226
|
+
executingAction: 'Ejecutando acción',
|
|
227
|
+
processing: 'Procesando',
|
|
228
|
+
activity: {
|
|
229
|
+
generating: {
|
|
230
|
+
preparing: 'Preparando la respuesta',
|
|
231
|
+
considering: 'Revisando tu consulta',
|
|
232
|
+
almostReady: 'Definiendo el enfoque'
|
|
233
|
+
},
|
|
234
|
+
thinking: {
|
|
235
|
+
analyzing: 'Analizando tu consulta',
|
|
236
|
+
reviewing: 'Revisando el contexto',
|
|
237
|
+
planning: 'Armando la respuesta'
|
|
238
|
+
},
|
|
239
|
+
search: {
|
|
240
|
+
scanning: 'Buscando en la web',
|
|
241
|
+
summarizing: 'Revisando resultados'
|
|
242
|
+
},
|
|
243
|
+
deepSearch: {
|
|
244
|
+
exploring: 'Explorando fuentes',
|
|
245
|
+
crossChecking: 'Verificando la información'
|
|
246
|
+
},
|
|
247
|
+
attachment: {
|
|
248
|
+
reading: 'Leyendo el adjunto',
|
|
249
|
+
extracting: 'Extrayendo lo relevante',
|
|
250
|
+
readingPlural: 'Leyendo los adjuntos',
|
|
251
|
+
extractingPlural: 'Extrayendo lo relevante'
|
|
252
|
+
},
|
|
253
|
+
writing: {
|
|
254
|
+
composing: 'Escribiendo la respuesta'
|
|
255
|
+
},
|
|
256
|
+
dynamicContextTooltip: 'Este contexto fue generado dinámicamente y puede cambiar a lo largo de la conversación.',
|
|
257
|
+
creatingTask: 'Creando tarea',
|
|
258
|
+
creatingTasksBatch: 'Creando tareas',
|
|
259
|
+
creatingAgent: 'Creando agente',
|
|
260
|
+
editingAgent: 'Editando agente',
|
|
261
|
+
editingTask: 'Editando tarea',
|
|
262
|
+
editingTasksBatch: 'Editando tareas',
|
|
263
|
+
deletingTask: 'Eliminando tarea',
|
|
264
|
+
deletingTasksBatch: 'Eliminando tareas',
|
|
265
|
+
assigningUser: 'Asignando usuario',
|
|
266
|
+
unassigningUser: 'Desasignando usuario',
|
|
267
|
+
assigningLabel: 'Asignando etiqueta',
|
|
268
|
+
updatingTaskType: 'Actualizando tipo de tarea',
|
|
269
|
+
updatingEstimatedHours: 'Actualizando horas estimadas',
|
|
270
|
+
updatingDeliverable: 'Actualizando entregable',
|
|
271
|
+
loggingHours: 'Cargando horas',
|
|
272
|
+
creatingChecklist: 'Creando checklist',
|
|
273
|
+
creatingLabel: 'Creando etiqueta',
|
|
274
|
+
editingProject: 'Editando proyecto',
|
|
275
|
+
creatingChecklistItem: 'Agregando ítem al checklist',
|
|
276
|
+
queryingHours: 'Consultando horas',
|
|
277
|
+
configuringAgentAccess: 'Cambiando visibilidad del agente',
|
|
278
|
+
sendingTaskMessage: 'Enviando mensaje en la tarea',
|
|
279
|
+
deletingChecklistItem: 'Eliminando ítem del checklist',
|
|
280
|
+
removingTaskType: 'Eliminando tipo de tarea',
|
|
281
|
+
removingLabel: 'Quitando etiqueta',
|
|
282
|
+
updatingDeliverableCount: 'Actualizando contador de entregables',
|
|
283
|
+
creatingRework: 'Creando retrabajo',
|
|
284
|
+
updatingRework: 'Actualizando retrabajo',
|
|
285
|
+
generatingFile: 'Generando archivo',
|
|
286
|
+
resumingAction: 'Ejecutando acción aprobada'
|
|
287
|
+
},
|
|
288
|
+
loadingMore: 'Cargando más mensajes',
|
|
289
|
+
footer: {
|
|
290
|
+
placeholder: 'Escribe tu consulta acá…',
|
|
291
|
+
orchestratorPlaceholder: 'Pregúntale a Maia, @ mencionar o / acciones rápidas',
|
|
292
|
+
agentLabel: 'El Agente',
|
|
293
|
+
disclaimer: '{{agentName}} puede cometer errores. Comprueba la información importante.',
|
|
294
|
+
disclaimerAgent: 'Los modelos de IA pueden cometer errores. Verifica la información importante.',
|
|
295
|
+
corAccessLabel: 'Acceso a COR',
|
|
296
|
+
corAccessTooltip: 'Acceso a datos de COR'
|
|
297
|
+
},
|
|
298
|
+
error: 'Ha ocurrido un error al generar tu respuesta, por favor, intenta nuevamente.',
|
|
299
|
+
retry: 'Reintentar',
|
|
300
|
+
errorAccessDenied: 'No tienes acceso para interactuar con este agente. Es posible que su configuración de accesibilidad haya cambiado. Por favor, contacta a la persona de tu organización que administra los agentes para obtener más información.',
|
|
301
|
+
errorPromptTooLong: 'Te has excedido del limite de contexto {{used}} tokens. Por favor reintenta nuevamente o continúa en otro chat',
|
|
302
|
+
changeProject: 'Detecto que quieres cambiar de Proyecto.\n\n**Selecciona el proyecto para continuar:**',
|
|
303
|
+
searchWeb: 'Buscar en la web',
|
|
304
|
+
deepSearch: 'Búsqueda avanzada en internet (acceso a más fuentes)',
|
|
305
|
+
attachFile: 'Adjuntar archivo',
|
|
306
|
+
plusMenuAttach: 'Adjuntar archivos',
|
|
307
|
+
dropFilesHere: 'Soltá los archivos aquí',
|
|
308
|
+
plusMenuDeepInvestigation: 'Investigar a fondo',
|
|
309
|
+
plusMenuQuickActions: 'Acciones rápidas',
|
|
310
|
+
openPlusMenuAria: 'Adjuntos y opciones de búsqueda',
|
|
311
|
+
openMentionAria: 'Mencionar',
|
|
312
|
+
removeAttachmentAria: 'Quitar archivo',
|
|
313
|
+
removeActiveToolAria: 'Quitar modo de búsqueda',
|
|
314
|
+
send: 'Enviar',
|
|
315
|
+
limitFiles: 'Solo puedes adjuntar hasta 5 archivos por mensaje.',
|
|
316
|
+
stop: 'Detener respuesta',
|
|
317
|
+
cancelled: 'Se ha cancelado la búsqueda.',
|
|
318
|
+
tooManyActiveSessions: 'Hay demasiadas conversaciones generando a la vez. Esperá a que termine una antes de iniciar otra.',
|
|
319
|
+
attachmentPreviewModal: {
|
|
320
|
+
loading: 'Cargando...',
|
|
321
|
+
unsupportedFileMessage: 'Este tipo de archivo no puede ser previsualizado. Por favor, intenta de nuevo en unos minutos.',
|
|
322
|
+
typeLabel: 'Tipo:',
|
|
323
|
+
unknown: 'Desconocido',
|
|
324
|
+
sizeLabel: 'Tamaño:',
|
|
325
|
+
excel: {
|
|
326
|
+
sheetSelectorLabel: 'Hoja:',
|
|
327
|
+
loadError: 'No se pudo cargar el contenido del archivo Excel.',
|
|
328
|
+
fileReadError: 'Error al leer el archivo.',
|
|
329
|
+
sheetLoadError: 'Error al cargar la hoja seleccionada.'
|
|
330
|
+
},
|
|
331
|
+
word: {
|
|
332
|
+
loadError: 'No se pudo cargar el contenido del documento Word.',
|
|
333
|
+
legacyDocUnsupported: 'La previsualización de archivos .doc no está disponible. Usa formato .docx.'
|
|
334
|
+
},
|
|
335
|
+
ppt: {
|
|
336
|
+
loadError: 'No se pudo cargar el contenido de la presentación.',
|
|
337
|
+
legacyPptUnsupported: 'La previsualización de archivos .ppt no está disponible. Usa formato .pptx.',
|
|
338
|
+
slideLabel: 'Diapositiva {{number}}',
|
|
339
|
+
emptySlide: 'Esta diapositiva no tiene texto ni imágenes para previsualizar.'
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
},
|
|
343
|
+
deleteQuestionModal: {
|
|
344
|
+
title: '¿Deseas eliminar esta conversación?',
|
|
345
|
+
firstPart: 'Estás por eliminar',
|
|
346
|
+
secondPart: 'Esta acción es irreversible.',
|
|
347
|
+
cancel: 'Cancelar',
|
|
348
|
+
"delete": 'Eliminar'
|
|
349
|
+
},
|
|
350
|
+
deleteSkillModal: {
|
|
351
|
+
title: '¿Deseas eliminar esta skill?',
|
|
352
|
+
firstPart: 'Estás por eliminar',
|
|
353
|
+
secondPart: 'Esta acción es irreversible.',
|
|
354
|
+
cancel: 'Cancelar',
|
|
355
|
+
"delete": 'Eliminar'
|
|
356
|
+
},
|
|
357
|
+
editQuestionModal: {
|
|
358
|
+
newName: 'Nuevo nombre',
|
|
359
|
+
title: 'Renombrar conversación',
|
|
360
|
+
rename: 'Renombrar',
|
|
361
|
+
cancel: 'Cancelar',
|
|
362
|
+
maxLength: 'Completaste los 140 caracteres del límite.'
|
|
363
|
+
},
|
|
364
|
+
modalFileExceeds: {
|
|
365
|
+
limitFilesTitle: 'Has superado el límite de adjuntos.',
|
|
366
|
+
limitSizeTitle: 'Has superado el límite de peso permitido.',
|
|
367
|
+
limitFilesDescription: 'Solo puedes adjuntar hasta 5 archivos por mensaje. Los siguientes archivos no se pudieron adjuntar:',
|
|
368
|
+
limitSizeDescription: 'Uno o más superan el tamaño máximo permitido por tipo. Los siguientes archivos no se pudieron adjuntar:',
|
|
369
|
+
accept: 'Aceptar',
|
|
370
|
+
limit: 'límite'
|
|
371
|
+
},
|
|
372
|
+
sourcesInformationModal: {
|
|
373
|
+
title: 'Fuentes:'
|
|
374
|
+
},
|
|
375
|
+
agents: {
|
|
376
|
+
title: 'Agentes',
|
|
377
|
+
newAgent: 'Nuevo agente',
|
|
378
|
+
createAgent: 'Crear Agente',
|
|
379
|
+
edit: 'Editar',
|
|
380
|
+
maia: '(Especialista de proyecto)',
|
|
381
|
+
addFavorite: 'Agregar a favoritos',
|
|
382
|
+
removeFavorite: 'Quitar de favoritos',
|
|
383
|
+
favoriteToggledAddedSuccess: 'Agente agregado a favoritos',
|
|
384
|
+
favoriteToggledRemovedSuccess: 'Agente removido de favoritos',
|
|
385
|
+
favoriteToggledError: 'No se pudo guardar tu favorito. Intenta nuevamente.',
|
|
386
|
+
favoriteToggledRemovedError: 'No se pudo quitar el favorito. Intenta nuevamente.',
|
|
387
|
+
maiaIntroduction: 'Bienvenido a MAIA tu asistente, para mejorar tu día a día.'
|
|
388
|
+
},
|
|
389
|
+
conversations: {
|
|
390
|
+
title: 'Mis conversaciones',
|
|
391
|
+
agentsSectionTitle: 'Agentes',
|
|
392
|
+
maiakerNav: 'Creador de agentes',
|
|
393
|
+
myAgentsNav: 'Mis agentes',
|
|
394
|
+
mySkillsNav: 'Skills',
|
|
395
|
+
error: 'Ocurrió un error al cargar el historial de conversaciones',
|
|
396
|
+
empty: 'Aquí se mostrarán todas tus conversaciones con los agentes',
|
|
397
|
+
emptyLabel: 'Mensaje con archivos',
|
|
398
|
+
unreadLabel: 'Sin leer',
|
|
399
|
+
minimizedOpen: 'Abrir MAIA',
|
|
400
|
+
minimizedSeeAnswer: 'Ver respuesta',
|
|
401
|
+
collapse: 'Colapsar',
|
|
402
|
+
expand: 'Expandir',
|
|
403
|
+
newChat: 'Nuevo chat',
|
|
404
|
+
generating: 'Generando respuesta',
|
|
405
|
+
sessionFinished: '{{title}} terminó de responder',
|
|
406
|
+
sessionFinishedApproval: '{{title}} requiere tu aprobación',
|
|
407
|
+
sessionFinishedError: '{{title}} tuvo un error al responder',
|
|
408
|
+
openAgentCreator: 'Crear agente',
|
|
409
|
+
openMarketplace: 'Marketplace de agentes'
|
|
410
|
+
},
|
|
411
|
+
marketplace: {
|
|
412
|
+
back: 'Volver',
|
|
413
|
+
title: 'Ideas para crear agentes',
|
|
414
|
+
description: 'Elegí una sugerencia bien armada y abrí el editor con el agente ya precargado para adaptarlo a tu caso.',
|
|
415
|
+
myAgentsTitle: 'Mis agentes',
|
|
416
|
+
myAgentsReadyTitle: 'Tus agentes estan listos para ayudarte en tareas',
|
|
417
|
+
myAgentsDescription: 'Estos son tus agentes custom. Selecciona uno para empezar a conversar con ese perfil.',
|
|
418
|
+
myAgentsEmptyStateTitle: 'Aún no tienes agentes creados',
|
|
419
|
+
myAgentsEmptyStateDescription: 'Haz clic en el botón de abajo para empezar a crear agentes a tu medida.',
|
|
420
|
+
myAgentsEmptyStateDescriptionNoPerm: 'Cuando la persona con permisos para crearlos los configure, vas a poder acceder desde acá.',
|
|
421
|
+
myAgentsEmptyStateButton: 'Crear agente',
|
|
422
|
+
myAgentsFallbackIntro: 'Agente personalizado listo para ayudarte en tu flujo de trabajo.',
|
|
423
|
+
myAgentsFallbackDescription: 'Haz click en usar agente para iniciar una conversación con este agente.',
|
|
424
|
+
myAgentsFallbackDate: 'Hace pocos dias',
|
|
425
|
+
myAgentsToday: 'Hoy',
|
|
426
|
+
myAgentsOneDayAgo: 'Hace 1 dia',
|
|
427
|
+
myAgentsDaysAgo: 'Hace {{days}} dias',
|
|
428
|
+
cardMenuAriaLabel: 'Menu de acciones del agente',
|
|
429
|
+
use: 'Usar',
|
|
430
|
+
createAgent: 'Crear agente manualmente',
|
|
431
|
+
searchAgentPlaceholder: 'Buscar agente...',
|
|
432
|
+
searchMinLength: 'mín. 3 caracteres',
|
|
433
|
+
searchNoResults: 'No se encontraron resultados.',
|
|
434
|
+
searchNoResultsSubtitle: 'Crea un agente de IA que pueda pensar, actuar y automatizar el trabajo para ti',
|
|
435
|
+
useTemplate: 'Crear desde esta idea',
|
|
436
|
+
useMyAgent: 'Usar agente',
|
|
437
|
+
badges: {
|
|
438
|
+
branding: 'Branding',
|
|
439
|
+
linkedin: 'LinkedIn',
|
|
440
|
+
marketing: 'Marketing'
|
|
441
|
+
}
|
|
442
|
+
},
|
|
443
|
+
mySkills: {
|
|
444
|
+
title: 'Especializa a MAIA con tus propias reglas',
|
|
445
|
+
subtitle: 'Las skills son globales: están disponibles para todos tus agentes.',
|
|
446
|
+
tabMySkills: 'Mis skills',
|
|
447
|
+
tabSharedSkills: 'Skills compartidas',
|
|
448
|
+
dropdownButton: 'Skills',
|
|
449
|
+
dropdownCreate: 'Crear nueva skill',
|
|
450
|
+
dropdownEmpty: 'Todavía no hay skills',
|
|
451
|
+
dropdownError: 'Hubo un problema. Intentá de nuevo.',
|
|
452
|
+
mySkillsDescription: 'Habilidades creado por ti.',
|
|
453
|
+
sharedSkillsDescription: 'Habilidades compartidas por otros miembros de tu equipo.',
|
|
454
|
+
searchPlaceholder: 'Buscar habilidades...',
|
|
455
|
+
createManually: 'Crear manualmente',
|
|
456
|
+
visibilityOnlyMe: 'Solo yo',
|
|
457
|
+
visibilityEveryone: 'Visible para todos',
|
|
458
|
+
sharedEmptyStateTitle: 'Aún no compartieron skills contigo.',
|
|
459
|
+
sharedEmptyStateDescription: 'Cuando tu compañía comparta skills, aparecerán aquí.',
|
|
460
|
+
createSkill: 'Crear skill',
|
|
461
|
+
preview: 'Vista previa',
|
|
462
|
+
previewEmpty: 'Nada para previsualizar todavía.',
|
|
463
|
+
uploadMd: 'Subir .md',
|
|
464
|
+
uploadError: 'Solo se permiten archivos .md',
|
|
465
|
+
createWithMaia: 'Crear con Maia',
|
|
466
|
+
writeInstructions: 'Escribir instrucciones',
|
|
467
|
+
uploadSkill: 'Subir una skill',
|
|
468
|
+
generatePlaceholder: 'Quiero una Skill para crear mis proyectos',
|
|
469
|
+
generateWithMaia: 'Crear la Skill con Maia',
|
|
470
|
+
generateNeedsName: 'Escribí un nombre primero para describir la skill',
|
|
471
|
+
generateSuccess: 'Skill generada con Maia',
|
|
472
|
+
generateError: 'No se pudo generar la skill. Intenta nuevamente.',
|
|
473
|
+
cardMenuAriaLabel: 'Menú de acciones de la skill',
|
|
474
|
+
edit: 'Editar',
|
|
475
|
+
"delete": 'Eliminar',
|
|
476
|
+
cancel: 'Cancelar',
|
|
477
|
+
save: 'Guardar',
|
|
478
|
+
close: 'Cerrar',
|
|
479
|
+
createTitle: 'Creación de skill',
|
|
480
|
+
editTitle: 'Edición de skill',
|
|
481
|
+
viewTitle: 'Skill compartida',
|
|
482
|
+
useSkill: 'Usar skill',
|
|
483
|
+
infoTooltip: 'Las skills son instrucciones que le das a un agente para que resuelva una tarea siempre de la misma forma. Mencionala con # en el chat y el agente seguirá ese paso a paso.',
|
|
484
|
+
sharedCreatedBy: 'Creada por {{name}}',
|
|
485
|
+
nameLabel: 'Nombre',
|
|
486
|
+
namePlaceholder: 'Nombre de la skill',
|
|
487
|
+
descriptionLabel: 'Descripción',
|
|
488
|
+
descriptionPlaceholder: 'Describe brevemente para qué sirve la skill',
|
|
489
|
+
instructionsLabel: 'Instrucciones',
|
|
490
|
+
shareWithCompany: 'Habilitar para toda la compañía',
|
|
491
|
+
createdBy: 'Creado por',
|
|
492
|
+
lastUpdated: 'Última actualización',
|
|
493
|
+
saveAndUse: 'Guardar y usar skill',
|
|
494
|
+
contentLabel: 'Skill',
|
|
495
|
+
contentPlaceholder: 'Escribe la skill...',
|
|
496
|
+
emptyStateTitle: 'Aún no tienes skills creadas',
|
|
497
|
+
emptyStateDescription: 'Haz clic en el botón de abajo para empezar a crear skills a tu medida.',
|
|
498
|
+
emptyStateDescriptionNoPerm: 'Cuando la persona con permisos para crearlas las configure, vas a poder acceder desde acá.',
|
|
499
|
+
emptyStateButton: 'Crear skill',
|
|
500
|
+
searchEmptyStateTitle: 'No encontramos ninguna skill',
|
|
501
|
+
searchEmptyStateDescription: 'Prueba con otro término o revisa tu búsqueda.',
|
|
502
|
+
createSuccess: 'Skill creada con éxito',
|
|
503
|
+
createError: 'No se pudo crear la skill. Intenta nuevamente.',
|
|
504
|
+
updateSuccess: 'Skill actualizada con éxito',
|
|
505
|
+
updateError: 'No se pudo actualizar la skill. Intenta nuevamente.',
|
|
506
|
+
deleteSuccess: 'Skill eliminada con éxito',
|
|
507
|
+
deleteError: 'No se pudo eliminar la skill. Intenta nuevamente.'
|
|
508
|
+
},
|
|
509
|
+
snackbar: {
|
|
510
|
+
deleteChat: {
|
|
511
|
+
success: 'Tu conversación fue eliminada con éxito.',
|
|
512
|
+
error: 'Ocurrió un error inesperado. Por favor vuelve a intentarlo.'
|
|
513
|
+
},
|
|
514
|
+
renamedChat: {
|
|
515
|
+
success: 'Conversación renombrada con éxito',
|
|
516
|
+
error: 'Ocurrió un error inesperado. Por favor vuelve a intentarlo.'
|
|
517
|
+
},
|
|
518
|
+
loadMoreAgents: {
|
|
519
|
+
error: 'Ocurrió un error inesperado. Por favor vuelve a intentarlo.'
|
|
520
|
+
}
|
|
521
|
+
},
|
|
522
|
+
approvalBox: {
|
|
523
|
+
untitledAgent: 'Agente sin nombre',
|
|
524
|
+
actions: {
|
|
525
|
+
create_task: 'Creación de tarea',
|
|
526
|
+
create_tasks_batch: 'Creación de tareas',
|
|
527
|
+
create_agent: 'Creación de agente',
|
|
528
|
+
edit_agent: 'Edición de agente',
|
|
529
|
+
edit_project: 'Edición de proyecto',
|
|
530
|
+
edit_task: 'Edición de tarea',
|
|
531
|
+
edit_tasks_batch: 'Edición de tareas',
|
|
532
|
+
delete_task: 'Eliminación de tarea',
|
|
533
|
+
delete_tasks_batch: 'Eliminación de tareas',
|
|
534
|
+
task_assign: 'Asignación de usuario',
|
|
535
|
+
task_unassign: 'Desasignación de usuario',
|
|
536
|
+
assign_task_label: 'Asignación de etiqueta',
|
|
537
|
+
create_labels: 'Creación de etiqueta',
|
|
538
|
+
update_task_type: 'Actualización de tipo de tarea',
|
|
539
|
+
update_estimated_hours: 'Actualización de horas estimadas',
|
|
540
|
+
update_deliverable: 'Actualización de entregable',
|
|
541
|
+
create_hour: 'Carga de horas',
|
|
542
|
+
create_checklist: 'Creación de checklist',
|
|
543
|
+
create_checklist_item: 'Creación de ítem del checklist',
|
|
544
|
+
clone_task: 'Clonar tarea',
|
|
545
|
+
get_task_date_hours: 'Consulta de horas por fecha',
|
|
546
|
+
configure_agent_access: 'Cambiar visibilidad del agente',
|
|
547
|
+
send_task_message: 'Envío de mensaje en la tarea',
|
|
548
|
+
delete_checklist_item: 'Eliminación de ítem del checklist',
|
|
549
|
+
remove_task_type: 'Eliminación de tipo de tarea',
|
|
550
|
+
remove_task_label: 'Eliminación de etiqueta',
|
|
551
|
+
count_deliverable: 'Actualización del contador de entregables',
|
|
552
|
+
create_rework: 'Creación de retrabajo',
|
|
553
|
+
update_rework: 'Actualización de retrabajo',
|
|
554
|
+
delete_agent: 'Eliminación de agente',
|
|
555
|
+
unknown: 'Acción desconocida'
|
|
556
|
+
},
|
|
557
|
+
special: {
|
|
558
|
+
createRework: {
|
|
559
|
+
title: 'Crear retrabajo',
|
|
560
|
+
description: 'Se creará un retrabajo en la tarea con la información indicada.'
|
|
561
|
+
},
|
|
562
|
+
updateDeliverableChildren: {
|
|
563
|
+
title: 'Actualizar avance de entregables',
|
|
564
|
+
description: 'Se actualizará el avance de los subentregables vinculados a esta tarea.'
|
|
565
|
+
}
|
|
566
|
+
},
|
|
567
|
+
fields: {
|
|
568
|
+
name: 'Nombre',
|
|
569
|
+
emoji: 'Emoji',
|
|
570
|
+
introduction: 'Introducción',
|
|
571
|
+
input_placeholder: 'Placeholder',
|
|
572
|
+
user_prompt: 'Prompt principal',
|
|
573
|
+
language: 'Idioma',
|
|
574
|
+
provider: 'Provider',
|
|
575
|
+
model_name: 'Modelo',
|
|
576
|
+
api_key: 'API key'
|
|
577
|
+
},
|
|
578
|
+
title: 'Confirmación requerida',
|
|
579
|
+
description: 'Se requiere tu aprobación para ejecutar la siguiente acción:',
|
|
580
|
+
approve: 'Aprobar',
|
|
581
|
+
deny: 'Denegar',
|
|
582
|
+
manualApprovalWarning: 'Maia ha detectado que la solicitud ha sido aprobada manualmente',
|
|
583
|
+
status: {
|
|
584
|
+
approved: 'Solicitud Aprobada',
|
|
585
|
+
denied: 'Solicitud Denegada'
|
|
586
|
+
}
|
|
587
|
+
},
|
|
588
|
+
chipLlm: {
|
|
589
|
+
tooltip: 'Modelo: {{model}}'
|
|
590
|
+
},
|
|
591
|
+
clientSelector: {
|
|
592
|
+
project: 'proyecto',
|
|
593
|
+
projects: 'proyectos'
|
|
594
|
+
}
|
|
595
|
+
})), SECTIONS.abmAgent, _objectSpread(_objectSpread({}, genericSection), {}, {
|
|
596
|
+
legendDeletedAgent: 'Este agente ha sido eliminado el día',
|
|
597
|
+
legendProjectDeleted: 'El proyecto {{name}} ha sido eliminado. No es posible continuar con la conversación',
|
|
598
|
+
legendNoAccess: 'Ya no tienes acceso para interactuar con el agente {{name}}',
|
|
599
|
+
legendNoPermissions: 'Ya no tienes permisos para visualizar ni interactuar con el agente {{name}}',
|
|
600
|
+
legendLegacyContextSession: 'Esta conversación pertenece a un contexto anterior. Podés continuar con {{name}} en un chat nuevo.',
|
|
601
|
+
continueInNewChat: 'Continuar en un chat nuevo',
|
|
602
|
+
legendModelDeprecated: 'El modelo seleccionado para este agente ya no está disponible. Cambia a otro modelo para seguir utilizándolo.',
|
|
603
|
+
legendProviderStatus: 'El modelo que usa este agente está teniendo problemas temporales. Puedes esperar a que se restablezca o cambiar a otro modelo.',
|
|
604
|
+
changeModel: 'Cambiar modelo',
|
|
605
|
+
agents: 'Agentes',
|
|
606
|
+
layoutMenuTooltip: 'Disposición del chat',
|
|
607
|
+
layoutSidebar: 'Chat lateral',
|
|
608
|
+
layoutFullscreen: 'Chat completo',
|
|
609
|
+
layoutFloating: 'Chat flotante',
|
|
610
|
+
back: 'Volver',
|
|
611
|
+
addAgent: 'Agregar nuevo agente',
|
|
612
|
+
newAgent: 'Nuevo agente',
|
|
613
|
+
editAgent: 'Editar agente',
|
|
614
|
+
createAgent: 'Crear Agente',
|
|
615
|
+
cancel: 'Cancelar',
|
|
616
|
+
accept: 'Aceptar',
|
|
617
|
+
deleteAgent: 'Eliminar agente',
|
|
618
|
+
"continue": 'Continuar',
|
|
619
|
+
edit: 'Editar',
|
|
620
|
+
"delete": 'Eliminar',
|
|
621
|
+
feedback: 'Enviar Feedback',
|
|
622
|
+
sendFeedback: 'Enviar feedback',
|
|
623
|
+
saveChanges: 'Guardar cambios',
|
|
624
|
+
createAgentLabelButton: 'Crear agente',
|
|
625
|
+
openAgentCreator: 'Crear agente',
|
|
626
|
+
openMarketplace: 'Marketplace de agentes',
|
|
627
|
+
confirmAgentUpdatedWithFilesError: 'El agente se editó exitosamente, pero hay archivos que no pudieron procesarse.',
|
|
628
|
+
confirmAgentCreated: 'El agente se ha creado con éxito',
|
|
629
|
+
confirmAgentDeleted: 'El agente se ha eliminado con éxito',
|
|
630
|
+
confirmAgentWithFilesError: 'El agente se creó exitosamente, pero hay archivos que no pudieron procesarse.',
|
|
631
|
+
confirmAgentUpdated: 'El agente se ha actualizado con éxito',
|
|
632
|
+
confirmCloseCreateAgent: '¿Estás seguro de que quieres cerrar? Se perderán los cambios realizados.',
|
|
633
|
+
confirmCloseEditAgent: '¿Estás seguro de que quieres cerrar? Se perderán los cambios realizados.',
|
|
634
|
+
confirmReloadBrowser: '¿Estás seguro de que quieres recargar la página? Se perderán los cambios realizados.',
|
|
635
|
+
errorAccessDenied: 'No tienes permisos para acceder a este agente. Contacta con soporte.',
|
|
636
|
+
errorAgentCreated: 'Ocurrió un error inesperado. Por favor vuelve a intentarlo.',
|
|
637
|
+
attachmentCard: {
|
|
638
|
+
download: 'Descargar',
|
|
639
|
+
"delete": 'Eliminar'
|
|
640
|
+
},
|
|
641
|
+
generalSection: {
|
|
642
|
+
title: 'General',
|
|
643
|
+
generalSettings: 'Configuración general',
|
|
644
|
+
requiredFieldsLabel: '*obligatorios',
|
|
645
|
+
infoLabel: 'Agrega toda la información para personalizar el comportamiento de tu agente',
|
|
646
|
+
optionalLabel: 'Opcional',
|
|
647
|
+
basicSettings: 'Configuración básica',
|
|
648
|
+
selectEmoji: 'Seleccionar emoji',
|
|
649
|
+
name: '¿Cuál es el nombre de tu agente?',
|
|
650
|
+
namePlaceholder: 'Asígnale un nombre a tu agente',
|
|
651
|
+
behaviorSettings: 'Configuración de comportamiento',
|
|
652
|
+
initialPrompt: '¿Cuáles son las instrucciones?',
|
|
653
|
+
initialPromptPlaceholder: 'Ejemplo: Eres un social media copywriter que redacta y adapta mensajes para diferentes redes, asegurando consistencia en el tono, la personalidad y los valores de la marca."',
|
|
654
|
+
modelAiLabel: 'Modelo de AI',
|
|
655
|
+
noModelsAvailable: 'No hay modelos disponibles',
|
|
656
|
+
inputPlaceholderTitle: '¿Qué verá el usuario en el campo de chat antes de escribir?',
|
|
657
|
+
inputPlaceholder: 'Pregúntame lo que necesites…',
|
|
658
|
+
introduction: '¿Cómo se va a presentar tu agente?',
|
|
659
|
+
introductionPlaceholder: 'Ejemplo: ¡Hola! 👋. Te voy a ayudar a crear, adaptar y revisar copys para distintas plataformas asegurando que mantengan la voz, el tono y la personalidad de tu marca. Puedes pedirme que te proponga ideas para una campaña, adapte un texto para otro canal o revise la coherencia del mensaje',
|
|
660
|
+
error: {
|
|
661
|
+
maxCaracterName: 'Completaste los 150 caracteres del límite.',
|
|
662
|
+
maxCaracterInitialPrompt: 'Completaste los 5000 caracteres del límite.',
|
|
663
|
+
maxInputPlaceholder: 'Completaste los 100 caracteres del límite.',
|
|
664
|
+
maxCaracterIntroduction: 'Completaste los 400 caracteres del límite.'
|
|
665
|
+
},
|
|
666
|
+
howToWritePrompt: 'Cómo redactar un prompt',
|
|
667
|
+
whatIsModelAiTitle: '¿Qué modelo de IA vas a usar?',
|
|
668
|
+
whatIsModelAi: '¿Qué es un modelo de AI?',
|
|
669
|
+
addFavorite: 'Agregar a favoritos',
|
|
670
|
+
removeFavorite: 'Quitar de favoritos',
|
|
671
|
+
createdBy: 'Por',
|
|
672
|
+
createdByTooltip: 'Usuario creador del agente',
|
|
673
|
+
createdByTooltipDeleted: 'Usuario eliminado. Su nombre se mantiene para referencia.'
|
|
674
|
+
},
|
|
675
|
+
knowledgeSection: {
|
|
676
|
+
title: 'Conocimiento',
|
|
677
|
+
knowledgeTab: 'Base de conocimientos',
|
|
678
|
+
infoLabel: 'Carga los archivos que tu agente usará como fuente para sus respuestas.',
|
|
679
|
+
selectFileTitle: 'SELECCIONAR ARCHIVOS',
|
|
680
|
+
attachFiles: 'Adjuntar archivos',
|
|
681
|
+
dropZoneText: {
|
|
682
|
+
1: 'Clic aquí para cargar',
|
|
683
|
+
2: 'o arrastra los archivos'
|
|
684
|
+
},
|
|
685
|
+
infoFileTypes: '.md, .pdf, .doc, .docx, .ppt, .pptx, .txt, .csv, .png, .jpg, .jpeg, .xls, .xlsx (máx. total de 5MB)',
|
|
686
|
+
error: {
|
|
687
|
+
title: 'Algunos archivos no se pudieron cargar',
|
|
688
|
+
maxFilesTitle: 'Has superado el límite de tamaño total',
|
|
689
|
+
maxFilesDescription: 'Solo puedes adjuntar archivos hasta un total de 5 MB. Los siguientes archivos no se pudieron adjuntar:',
|
|
690
|
+
maxSizeTitle: 'Superaste el límite de peso permitido',
|
|
691
|
+
maxSizeDescription: {
|
|
692
|
+
1: 'Se alcanzó el límite máximo de 5 MB.',
|
|
693
|
+
2: 'Estos archivos no se cargaron porque supera el espacio disponible:'
|
|
694
|
+
},
|
|
695
|
+
invalidExtensionDescription: {
|
|
696
|
+
1: 'Solo se aceptan archivos con las siguientes extensiones: .md, .pdf, .doc, .docx, .ppt, .pptx, .txt, .csv, .png, .jpg, .jpeg, .xls, .xlsx',
|
|
697
|
+
2: 'Estos archivos no se cargaron porque su extensión no está permitida:'
|
|
698
|
+
}
|
|
699
|
+
},
|
|
700
|
+
moreInfo: 'Mira cómo funciona acá'
|
|
701
|
+
},
|
|
702
|
+
accessibilitySection: {
|
|
703
|
+
titleTab: 'Permisos',
|
|
704
|
+
titleSection: 'Visibilidad y permisos del agente',
|
|
705
|
+
subtitleSection: 'Definí quién puede usar este agente y si puede acceder a datos de COR.',
|
|
706
|
+
corPermissionsTitle: 'Permisos de acceso a datos de COR',
|
|
707
|
+
corPermissionsSubtitle: '¿A qué tiene acceso este agente?',
|
|
708
|
+
taskAccessTitle: 'Acceso a tareas',
|
|
709
|
+
taskAccessDescription: 'El agente podrá leer, crear, modificar y eliminar tareas según los permisos del usuario.',
|
|
710
|
+
mcpPermissionsTitle: 'Conectores externos',
|
|
711
|
+
mcpPermissionsSubtitle: '¿A qué herramientas externas tiene acceso este agente?',
|
|
712
|
+
netsuiteAccessTitle: 'NetSuite',
|
|
713
|
+
netsuiteAccessDescription: 'El agente podrá leer y actualizar registros de NetSuite. Al guardar te pediremos autorizar el acceso.',
|
|
714
|
+
connectorAccessDescription: 'El agente podrá usar {{name}}. Al guardar te pediremos autorizar el acceso.',
|
|
715
|
+
connectorAuthFailed: 'No pudimos abrir el login del conector. Probá de nuevo o revisá la configuración OAuth.',
|
|
716
|
+
connectorAuthIncomplete: 'No se completó el login de NetSuite. Volvé a guardar, tocá Permitir y esperá a que cierre la ventana.',
|
|
717
|
+
netsuiteAuthSetupRequired: 'NetSuite no registra la app solo. Un admin tiene que crear una Integration (Public Client, scope AI Connector, Redirect URI de MAIA). Después el login aparece en el popup.',
|
|
718
|
+
visibilityTitle: 'Visibilidad del agente',
|
|
719
|
+
whoCanAccess: '¿Quién puede usar este agente?',
|
|
720
|
+
allCompanyTitle: 'Toda la compañía',
|
|
721
|
+
allCompanyDescription: 'Todos los usuarios de tu organización podrán ver y usar este agente.',
|
|
722
|
+
clientTitle: 'Para clientes específicos',
|
|
723
|
+
clientDescription: 'Asocia este agente a uno o más clientes. Todos los usuarios podrán ver con qué clientes está vinculado.',
|
|
724
|
+
ownTitle: 'Solo yo',
|
|
725
|
+
ownDescription: 'Este agente será privado y no estará disponible para otros usuarios.',
|
|
726
|
+
clientsSelected: 'Clientes seleccionados:',
|
|
727
|
+
searchError: '¡Ups! Tuvimos un problema al cargar los clientes. ¿Puedes intentarlo de nuevo en un momento?',
|
|
728
|
+
searchEmpty: '¡Ups! No encontramos clientes con ese nombre. Prueba realizando otra búsqueda',
|
|
729
|
+
searchInitial: 'Comienza a escribir el nombre de un cliente para asociarlo',
|
|
730
|
+
searchPlaceholder: 'Buscar cliente',
|
|
731
|
+
clientInactive: 'Este cliente está inactivo. Te recomendamos quitarlo de la lista.',
|
|
732
|
+
clientDeletedTooltip: 'Este cliente fue eliminado. Te recomendamos quitarlo de la lista.',
|
|
733
|
+
clientDeleted: 'Cliente eliminado',
|
|
734
|
+
clientsError: 'Revisa los clientes asociados'
|
|
735
|
+
},
|
|
736
|
+
processingKnowledge: {
|
|
737
|
+
descriptionCreate: 'Estamos creando el Agente y su base de conocimiento. Esto puede llevar unos momentos. Por favor no cierre esta ventana hasta que el proceso se haya finalizado.',
|
|
738
|
+
descriptionUpdate: 'Estamos actualizando el Agente y su base de conocimiento. Esto puede llevar unos momentos. Por favor no cierre esta ventana hasta que el proceso se haya finalizado.',
|
|
739
|
+
fileRow: 'Archivo',
|
|
740
|
+
statusRow: 'Estado',
|
|
741
|
+
pending: 'Pendiente',
|
|
742
|
+
processing: 'Procesando',
|
|
743
|
+
failed: 'Fallo',
|
|
744
|
+
done: 'Completado',
|
|
745
|
+
loadingFiles: 'Cargando archivos...',
|
|
746
|
+
error: {}
|
|
747
|
+
},
|
|
748
|
+
deleteAgentModal: {
|
|
749
|
+
title: '¿Deseas eliminar este agente?',
|
|
750
|
+
firstPart: 'Estás por eliminar ',
|
|
751
|
+
secondPart: 'Esta acción no se puede deshacer.',
|
|
752
|
+
cancel: 'Cancelar',
|
|
753
|
+
"delete": 'Eliminar'
|
|
754
|
+
}
|
|
755
|
+
})), SECTIONS.projectSelector, _objectSpread(_objectSpread({}, genericSection), {}, {
|
|
756
|
+
projectSelector: {
|
|
757
|
+
title: '¿En qué proyecto te puedo asistir?',
|
|
758
|
+
hello: {
|
|
759
|
+
title: 'Hola {{name}} 👋',
|
|
760
|
+
subtitle: '¿Con qué proyecto puedo ayudarte?'
|
|
761
|
+
},
|
|
762
|
+
subtitle: 'Selecciona el proyecto para que MAIA te responda en base a un contexto.',
|
|
763
|
+
labelProject: 'Selecciona un proyecto',
|
|
764
|
+
placeholder: 'Buscar un proyecto por nombre',
|
|
765
|
+
changeProject: 'Cambiar de proyecto',
|
|
766
|
+
recentProjects: 'Recientes',
|
|
767
|
+
searchingProjects: 'Buscando tus proyectos...',
|
|
768
|
+
errorMessage: '¡Ups! Tuvimos un problema al cargar los proyectos. Por favor, intenta de nuevo en unos minutos.',
|
|
769
|
+
emptyRecentProjects: 'No tienes proyectos recientes. Escribe el nombre de un proyecto en el buscador para encontrarlo.',
|
|
770
|
+
emptyState: '¡Ups! No encontramos proyectos con ese nombre. Probá realizando otra búsqueda.',
|
|
771
|
+
withoutClient: 'Sin cliente',
|
|
772
|
+
withoutTitle: 'Sin título'
|
|
773
|
+
}
|
|
774
|
+
})), SECTIONS.clientSelector, _objectSpread(_objectSpread({}, genericSection), {}, {
|
|
775
|
+
clientSelector: {
|
|
776
|
+
title: '¿En qué cliente te puedo asistir?',
|
|
777
|
+
hello: {
|
|
778
|
+
title: 'Hola {{name}} 👋',
|
|
779
|
+
subtitle: '¿Con qué cliente puedo ayudarte?'
|
|
780
|
+
},
|
|
781
|
+
subtitle: 'Selecciona el cliente para que MAIA te responda en base a un contexto.',
|
|
782
|
+
labelClient: 'Selecciona un cliente',
|
|
783
|
+
placeholder: 'Buscar cliente por su nombre',
|
|
784
|
+
changeClient: 'Cambiar de cliente',
|
|
785
|
+
recentClients: 'Recientes',
|
|
786
|
+
searchingClients: 'Buscando tus clientes...',
|
|
787
|
+
errorMessage: 'Tuvimos un problema al cargar los clientes. Por favor, intenta de nuevo en unos minutos.',
|
|
788
|
+
emptyRecentClients: 'No tienes clientes recientes. Escribe el nombre de un cliente en el buscador para encontrarlo.',
|
|
789
|
+
emptyState: 'Ups! No encontramos clientes con ese nombre. Probá realizando otra búsqueda.',
|
|
790
|
+
project: 'proyecto',
|
|
791
|
+
projects: 'proyectos'
|
|
792
|
+
}
|
|
793
|
+
}));
|
|
794
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTRUNUSU9OUyIsIlByb2plY3RTdW1tYXJ5Q29uZmlnS2V5cyIsImdsb2JhbHMiLCJjbG9zZSIsIm1pbmltaXplIiwiaG93V29ya3MiLCJicmFuZE5hbWUiLCJleHBhbmQiLCJjb2xsYXBzZSIsImdvQmFjayIsImNvcHkiLCJjb3BpZWQiLCJzYXZlZCIsInNlbGVjdFByb2plY3QiLCJzYXZlIiwiY2FuY2VsIiwiZXJyb3IiLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwidHJ5QWdhaW4iLCJnZW5lcmljU2VjdGlvbiIsInByb2plY3RTdW1tYXJ5U2VjdGlvbiIsInJlc3VtZSIsImhlbGxvIiwid2VsY29tZSIsImZlZWRiYWNrIiwidGh1bWJzVXAiLCJ0aHVtYnNEb3duIiwic291cmNlcyIsImNvbmZpZyIsInByb2plY3RTdW1tYXJ5IiwicHJvamVjdFN1bW1hcnlUaXRsZSIsInNlbGVjdGVkUHJvamVjdCIsImNvbmZpZ3VyZVJlc3VtZSIsImdlbmVyYXRpbmdSZXN1bWUiLCJnZW5lcmF0ZVJlc3VtZSIsImhpZGVDb25maWciLCJjb25maWd1cmVTZXR0aW5ncyIsIl9kZWZpbmVQcm9wZXJ0eSIsIkdFTkVSQUxfU1RBVFVTIiwiSU5DT01FX0NPU1RTIiwiVElNRV9IT1VSUyIsIlRBU0tTX1BST0dSRVNTIiwiUkVXT1JLUyIsImhvbWVNZW51IiwiZmFxIiwic3RhcnRUaXRsZSIsImVtcHR5IiwiY2F0ZWdvcmllcyIsInByb2plY3RzIiwidGFza3MiLCJob3VycyIsInJld29ya3MiLCJ1bmRlZmluZWQiLCJmdWEiLCJuZXdCYWRnZSIsInJlY2VudENvbnRleHRzIiwidHlwZXMiLCJjbGllbnQiLCJwcm9qZWN0IiwidGFzayIsImNvbnRleHRIb21lIiwiZ3JlZXRpbmciLCJzdWJ0aXRsZSIsInN1YnRpdGxlQ29sbGFib3JhdG9yIiwic3VidGl0bGVDb2xsYWJvcmF0b3JXaXRoSG91cnMiLCJzdWJ0aXRsZU1hbmFnZXJXaXRoSG91cnMiLCJob3Vyc1NlY3Rpb24iLCJyZWNlbnRUYXNrc1NlY3Rpb24iLCJyZWNlbnRDb250ZXh0c1NlY3Rpb25NYW5hZ2VyIiwiY29udGV4dEdyZWV0aW5nIiwicGxhbm5lckhvbWUiLCJhY3Rpb24iLCJjb2xsYWJvcmF0b3JzIiwibGFiZWxzIiwiY2hlY2tsaXN0cyIsImRlbGl2ZXJhYmxlcyIsImNyZWF0ZWRCeSIsImNyZWF0ZWRCeVRvb2x0aXAiLCJjcmVhdGVkQnlUb29sdGlwRGVsZXRlZCIsInRhc2tHcmVldGluZyIsInRpdGxlXzEiLCJ0aXRsZV8yIiwidGl0bGVfMyIsInRpdGxlUG0iLCJzdWJ0aXRsZVBtIiwibWFpYWtlciIsImNyZWF0ZU1hbnVhbEFnZW50IiwiYmFkZ2VOZXciLCJicmllZkNhcmQiLCJwcm9tcHQiLCJjb21pbmdTb29uQ2FyZCIsIl9vYmplY3RTcHJlYWQiLCJjaGF0QUkiLCJjb250ZXh0TWVudGlvbiIsImtleWJvYXJkSGludCIsInJlY2VudHNUaXRsZSIsInVzZXJOb1Bvc2l0aW9uIiwibWUiLCJ0YWJzIiwidXNlciIsIm1jcCIsInNraWxsIiwibG9hZGluZyIsInJlY2VudHMiLCJ3aXRoUXVlcnkiLCJjb3VudGVycyIsImNvbnRleHRQaW4iLCJhZGRDb250ZXh0Iiwic2VhcmNoUGxhY2Vob2xkZXIiLCJyZW1vdmUiLCJidXR0b24iLCJuZXdDaGF0Iiwib3BlbkFnZW50Q3JlYXRvciIsIm9wZW5NYXJrZXRwbGFjZSIsImhpc3RvcnkiLCJ0b29sdGlwIiwiaXRlbSIsImRhdGUiLCJtZW51IiwicmVuYW1lIiwibG9hZGluZ01vcmUiLCJvbmJvYXJkaW5nIiwibWFpYSIsImFnZW50Q3VzdG9tIiwiaG93Q3JlYXRlQWdlbnQiLCJob3dJdFdvcmtzIiwicWEiLCJpdGVtcyIsInJlbnRhYmlsaWRhZF9wcm95ZWN0byIsImF2YW5jZV9wcm95ZWN0byIsInRhcmVhc19wcm95ZWN0byIsImNoYXQiLCJnZW5lcmF0aW5nIiwiZ2VuZXJhdGluZ0F0dGFjaG1lbnQiLCJnZW5lcmF0aW5nRGVlcFNlYXJjaCIsImdlbmVyYXRpbmdXZWJTZWFyY2giLCJzdWdnZXN0aW9uc1RpdGxlIiwiY3JlYXRlQWdlbnRBY3Rpb25zVGl0bGUiLCJjcmVhdGVBZ2VudEFjdGlvblN0YXJ0Q2hhdCIsImNyZWF0ZUFnZW50QWN0aW9uS25vd2xlZGdlIiwiY3JlYXRlQWdlbnRBY3Rpb25Mb2FkRXJyb3IiLCJ3cml0aW5nIiwiZXhlY3V0aW5nQWN0aW9uIiwicHJvY2Vzc2luZyIsImFjdGl2aXR5IiwicHJlcGFyaW5nIiwiY29uc2lkZXJpbmciLCJhbG1vc3RSZWFkeSIsInRoaW5raW5nIiwiYW5hbHl6aW5nIiwicmV2aWV3aW5nIiwicGxhbm5pbmciLCJzZWFyY2giLCJzY2FubmluZyIsInN1bW1hcml6aW5nIiwiZGVlcFNlYXJjaCIsImV4cGxvcmluZyIsImNyb3NzQ2hlY2tpbmciLCJhdHRhY2htZW50IiwicmVhZGluZyIsImV4dHJhY3RpbmciLCJyZWFkaW5nUGx1cmFsIiwiZXh0cmFjdGluZ1BsdXJhbCIsImNvbXBvc2luZyIsImR5bmFtaWNDb250ZXh0VG9vbHRpcCIsImNyZWF0aW5nVGFzayIsImNyZWF0aW5nVGFza3NCYXRjaCIsImNyZWF0aW5nQWdlbnQiLCJlZGl0aW5nQWdlbnQiLCJlZGl0aW5nVGFzayIsImVkaXRpbmdUYXNrc0JhdGNoIiwiZGVsZXRpbmdUYXNrIiwiZGVsZXRpbmdUYXNrc0JhdGNoIiwiYXNzaWduaW5nVXNlciIsInVuYXNzaWduaW5nVXNlciIsImFzc2lnbmluZ0xhYmVsIiwidXBkYXRpbmdUYXNrVHlwZSIsInVwZGF0aW5nRXN0aW1hdGVkSG91cnMiLCJ1cGRhdGluZ0RlbGl2ZXJhYmxlIiwibG9nZ2luZ0hvdXJzIiwiY3JlYXRpbmdDaGVja2xpc3QiLCJjcmVhdGluZ0xhYmVsIiwiZWRpdGluZ1Byb2plY3QiLCJjcmVhdGluZ0NoZWNrbGlzdEl0ZW0iLCJxdWVyeWluZ0hvdXJzIiwiY29uZmlndXJpbmdBZ2VudEFjY2VzcyIsInNlbmRpbmdUYXNrTWVzc2FnZSIsImRlbGV0aW5nQ2hlY2tsaXN0SXRlbSIsInJlbW92aW5nVGFza1R5cGUiLCJyZW1vdmluZ0xhYmVsIiwidXBkYXRpbmdEZWxpdmVyYWJsZUNvdW50IiwiY3JlYXRpbmdSZXdvcmsiLCJ1cGRhdGluZ1Jld29yayIsImdlbmVyYXRpbmdGaWxlIiwicmVzdW1pbmdBY3Rpb24iLCJmb290ZXIiLCJwbGFjZWhvbGRlciIsIm9yY2hlc3RyYXRvclBsYWNlaG9sZGVyIiwiYWdlbnRMYWJlbCIsImRpc2NsYWltZXIiLCJkaXNjbGFpbWVyQWdlbnQiLCJjb3JBY2Nlc3NMYWJlbCIsImNvckFjY2Vzc1Rvb2x0aXAiLCJyZXRyeSIsImVycm9yQWNjZXNzRGVuaWVkIiwiZXJyb3JQcm9tcHRUb29Mb25nIiwiY2hhbmdlUHJvamVjdCIsInNlYXJjaFdlYiIsImF0dGFjaEZpbGUiLCJwbHVzTWVudUF0dGFjaCIsImRyb3BGaWxlc0hlcmUiLCJwbHVzTWVudURlZXBJbnZlc3RpZ2F0aW9uIiwicGx1c01lbnVRdWlja0FjdGlvbnMiLCJvcGVuUGx1c01lbnVBcmlhIiwib3Blbk1lbnRpb25BcmlhIiwicmVtb3ZlQXR0YWNobWVudEFyaWEiLCJyZW1vdmVBY3RpdmVUb29sQXJpYSIsInNlbmQiLCJsaW1pdEZpbGVzIiwic3RvcCIsImNhbmNlbGxlZCIsInRvb01hbnlBY3RpdmVTZXNzaW9ucyIsImF0dGFjaG1lbnRQcmV2aWV3TW9kYWwiLCJ1bnN1cHBvcnRlZEZpbGVNZXNzYWdlIiwidHlwZUxhYmVsIiwidW5rbm93biIsInNpemVMYWJlbCIsImV4Y2VsIiwic2hlZXRTZWxlY3RvckxhYmVsIiwibG9hZEVycm9yIiwiZmlsZVJlYWRFcnJvciIsInNoZWV0TG9hZEVycm9yIiwid29yZCIsImxlZ2FjeURvY1Vuc3VwcG9ydGVkIiwicHB0IiwibGVnYWN5UHB0VW5zdXBwb3J0ZWQiLCJzbGlkZUxhYmVsIiwiZW1wdHlTbGlkZSIsImRlbGV0ZVF1ZXN0aW9uTW9kYWwiLCJmaXJzdFBhcnQiLCJzZWNvbmRQYXJ0IiwiZGVsZXRlU2tpbGxNb2RhbCIsImVkaXRRdWVzdGlvbk1vZGFsIiwibmV3TmFtZSIsIm1heExlbmd0aCIsIm1vZGFsRmlsZUV4Y2VlZHMiLCJsaW1pdEZpbGVzVGl0bGUiLCJsaW1pdFNpemVUaXRsZSIsImxpbWl0RmlsZXNEZXNjcmlwdGlvbiIsImxpbWl0U2l6ZURlc2NyaXB0aW9uIiwiYWNjZXB0IiwibGltaXQiLCJzb3VyY2VzSW5mb3JtYXRpb25Nb2RhbCIsImFnZW50cyIsIm5ld0FnZW50IiwiY3JlYXRlQWdlbnQiLCJlZGl0IiwiYWRkRmF2b3JpdGUiLCJyZW1vdmVGYXZvcml0ZSIsImZhdm9yaXRlVG9nZ2xlZEFkZGVkU3VjY2VzcyIsImZhdm9yaXRlVG9nZ2xlZFJlbW92ZWRTdWNjZXNzIiwiZmF2b3JpdGVUb2dnbGVkRXJyb3IiLCJmYXZvcml0ZVRvZ2dsZWRSZW1vdmVkRXJyb3IiLCJtYWlhSW50cm9kdWN0aW9uIiwiY29udmVyc2F0aW9ucyIsImFnZW50c1NlY3Rpb25UaXRsZSIsIm1haWFrZXJOYXYiLCJteUFnZW50c05hdiIsIm15U2tpbGxzTmF2IiwiZW1wdHlMYWJlbCIsInVucmVhZExhYmVsIiwibWluaW1pemVkT3BlbiIsIm1pbmltaXplZFNlZUFuc3dlciIsInNlc3Npb25GaW5pc2hlZCIsInNlc3Npb25GaW5pc2hlZEFwcHJvdmFsIiwic2Vzc2lvbkZpbmlzaGVkRXJyb3IiLCJtYXJrZXRwbGFjZSIsImJhY2siLCJteUFnZW50c1RpdGxlIiwibXlBZ2VudHNSZWFkeVRpdGxlIiwibXlBZ2VudHNEZXNjcmlwdGlvbiIsIm15QWdlbnRzRW1wdHlTdGF0ZVRpdGxlIiwibXlBZ2VudHNFbXB0eVN0YXRlRGVzY3JpcHRpb24iLCJteUFnZW50c0VtcHR5U3RhdGVEZXNjcmlwdGlvbk5vUGVybSIsIm15QWdlbnRzRW1wdHlTdGF0ZUJ1dHRvbiIsIm15QWdlbnRzRmFsbGJhY2tJbnRybyIsIm15QWdlbnRzRmFsbGJhY2tEZXNjcmlwdGlvbiIsIm15QWdlbnRzRmFsbGJhY2tEYXRlIiwibXlBZ2VudHNUb2RheSIsIm15QWdlbnRzT25lRGF5QWdvIiwibXlBZ2VudHNEYXlzQWdvIiwiY2FyZE1lbnVBcmlhTGFiZWwiLCJ1c2UiLCJzZWFyY2hBZ2VudFBsYWNlaG9sZGVyIiwic2VhcmNoTWluTGVuZ3RoIiwic2VhcmNoTm9SZXN1bHRzIiwic2VhcmNoTm9SZXN1bHRzU3VidGl0bGUiLCJ1c2VUZW1wbGF0ZSIsInVzZU15QWdlbnQiLCJiYWRnZXMiLCJicmFuZGluZyIsImxpbmtlZGluIiwibWFya2V0aW5nIiwibXlTa2lsbHMiLCJ0YWJNeVNraWxscyIsInRhYlNoYXJlZFNraWxscyIsImRyb3Bkb3duQnV0dG9uIiwiZHJvcGRvd25DcmVhdGUiLCJkcm9wZG93bkVtcHR5IiwiZHJvcGRvd25FcnJvciIsIm15U2tpbGxzRGVzY3JpcHRpb24iLCJzaGFyZWRTa2lsbHNEZXNjcmlwdGlvbiIsImNyZWF0ZU1hbnVhbGx5IiwidmlzaWJpbGl0eU9ubHlNZSIsInZpc2liaWxpdHlFdmVyeW9uZSIsInNoYXJlZEVtcHR5U3RhdGVUaXRsZSIsInNoYXJlZEVtcHR5U3RhdGVEZXNjcmlwdGlvbiIsImNyZWF0ZVNraWxsIiwicHJldmlldyIsInByZXZpZXdFbXB0eSIsInVwbG9hZE1kIiwidXBsb2FkRXJyb3IiLCJjcmVhdGVXaXRoTWFpYSIsIndyaXRlSW5zdHJ1Y3Rpb25zIiwidXBsb2FkU2tpbGwiLCJnZW5lcmF0ZVBsYWNlaG9sZGVyIiwiZ2VuZXJhdGVXaXRoTWFpYSIsImdlbmVyYXRlTmVlZHNOYW1lIiwiZ2VuZXJhdGVTdWNjZXNzIiwiZ2VuZXJhdGVFcnJvciIsImNyZWF0ZVRpdGxlIiwiZWRpdFRpdGxlIiwidmlld1RpdGxlIiwidXNlU2tpbGwiLCJpbmZvVG9vbHRpcCIsInNoYXJlZENyZWF0ZWRCeSIsIm5hbWVMYWJlbCIsIm5hbWVQbGFjZWhvbGRlciIsImRlc2NyaXB0aW9uTGFiZWwiLCJkZXNjcmlwdGlvblBsYWNlaG9sZGVyIiwiaW5zdHJ1Y3Rpb25zTGFiZWwiLCJzaGFyZVdpdGhDb21wYW55IiwibGFzdFVwZGF0ZWQiLCJzYXZlQW5kVXNlIiwiY29udGVudExhYmVsIiwiY29udGVudFBsYWNlaG9sZGVyIiwiZW1wdHlTdGF0ZVRpdGxlIiwiZW1wdHlTdGF0ZURlc2NyaXB0aW9uIiwiZW1wdHlTdGF0ZURlc2NyaXB0aW9uTm9QZXJtIiwiZW1wdHlTdGF0ZUJ1dHRvbiIsInNlYXJjaEVtcHR5U3RhdGVUaXRsZSIsInNlYXJjaEVtcHR5U3RhdGVEZXNjcmlwdGlvbiIsImNyZWF0ZVN1Y2Nlc3MiLCJjcmVhdGVFcnJvciIsInVwZGF0ZVN1Y2Nlc3MiLCJ1cGRhdGVFcnJvciIsImRlbGV0ZVN1Y2Nlc3MiLCJkZWxldGVFcnJvciIsInNuYWNrYmFyIiwiZGVsZXRlQ2hhdCIsInN1Y2Nlc3MiLCJyZW5hbWVkQ2hhdCIsImxvYWRNb3JlQWdlbnRzIiwiYXBwcm92YWxCb3giLCJ1bnRpdGxlZEFnZW50IiwiYWN0aW9ucyIsImNyZWF0ZV90YXNrIiwiY3JlYXRlX3Rhc2tzX2JhdGNoIiwiY3JlYXRlX2FnZW50IiwiZWRpdF9hZ2VudCIsImVkaXRfcHJvamVjdCIsImVkaXRfdGFzayIsImVkaXRfdGFza3NfYmF0Y2giLCJkZWxldGVfdGFzayIsImRlbGV0ZV90YXNrc19iYXRjaCIsInRhc2tfYXNzaWduIiwidGFza191bmFzc2lnbiIsImFzc2lnbl90YXNrX2xhYmVsIiwiY3JlYXRlX2xhYmVscyIsInVwZGF0ZV90YXNrX3R5cGUiLCJ1cGRhdGVfZXN0aW1hdGVkX2hvdXJzIiwidXBkYXRlX2RlbGl2ZXJhYmxlIiwiY3JlYXRlX2hvdXIiLCJjcmVhdGVfY2hlY2tsaXN0IiwiY3JlYXRlX2NoZWNrbGlzdF9pdGVtIiwiY2xvbmVfdGFzayIsImdldF90YXNrX2RhdGVfaG91cnMiLCJjb25maWd1cmVfYWdlbnRfYWNjZXNzIiwic2VuZF90YXNrX21lc3NhZ2UiLCJkZWxldGVfY2hlY2tsaXN0X2l0ZW0iLCJyZW1vdmVfdGFza190eXBlIiwicmVtb3ZlX3Rhc2tfbGFiZWwiLCJjb3VudF9kZWxpdmVyYWJsZSIsImNyZWF0ZV9yZXdvcmsiLCJ1cGRhdGVfcmV3b3JrIiwiZGVsZXRlX2FnZW50Iiwic3BlY2lhbCIsImNyZWF0ZVJld29yayIsInVwZGF0ZURlbGl2ZXJhYmxlQ2hpbGRyZW4iLCJmaWVsZHMiLCJuYW1lIiwiZW1vamkiLCJpbnRyb2R1Y3Rpb24iLCJpbnB1dF9wbGFjZWhvbGRlciIsInVzZXJfcHJvbXB0IiwibGFuZ3VhZ2UiLCJwcm92aWRlciIsIm1vZGVsX25hbWUiLCJhcGlfa2V5IiwiYXBwcm92ZSIsImRlbnkiLCJtYW51YWxBcHByb3ZhbFdhcm5pbmciLCJzdGF0dXMiLCJhcHByb3ZlZCIsImRlbmllZCIsImNoaXBMbG0iLCJjbGllbnRTZWxlY3RvciIsImFibUFnZW50IiwibGVnZW5kRGVsZXRlZEFnZW50IiwibGVnZW5kUHJvamVjdERlbGV0ZWQiLCJsZWdlbmROb0FjY2VzcyIsImxlZ2VuZE5vUGVybWlzc2lvbnMiLCJsZWdlbmRMZWdhY3lDb250ZXh0U2Vzc2lvbiIsImNvbnRpbnVlSW5OZXdDaGF0IiwibGVnZW5kTW9kZWxEZXByZWNhdGVkIiwibGVnZW5kUHJvdmlkZXJTdGF0dXMiLCJjaGFuZ2VNb2RlbCIsImxheW91dE1lbnVUb29sdGlwIiwibGF5b3V0U2lkZWJhciIsImxheW91dEZ1bGxzY3JlZW4iLCJsYXlvdXRGbG9hdGluZyIsImFkZEFnZW50IiwiZWRpdEFnZW50IiwiZGVsZXRlQWdlbnQiLCJzZW5kRmVlZGJhY2siLCJzYXZlQ2hhbmdlcyIsImNyZWF0ZUFnZW50TGFiZWxCdXR0b24iLCJjb25maXJtQWdlbnRVcGRhdGVkV2l0aEZpbGVzRXJyb3IiLCJjb25maXJtQWdlbnRDcmVhdGVkIiwiY29uZmlybUFnZW50RGVsZXRlZCIsImNvbmZpcm1BZ2VudFdpdGhGaWxlc0Vycm9yIiwiY29uZmlybUFnZW50VXBkYXRlZCIsImNvbmZpcm1DbG9zZUNyZWF0ZUFnZW50IiwiY29uZmlybUNsb3NlRWRpdEFnZW50IiwiY29uZmlybVJlbG9hZEJyb3dzZXIiLCJlcnJvckFnZW50Q3JlYXRlZCIsImF0dGFjaG1lbnRDYXJkIiwiZG93bmxvYWQiLCJnZW5lcmFsU2VjdGlvbiIsImdlbmVyYWxTZXR0aW5ncyIsInJlcXVpcmVkRmllbGRzTGFiZWwiLCJpbmZvTGFiZWwiLCJvcHRpb25hbExhYmVsIiwiYmFzaWNTZXR0aW5ncyIsInNlbGVjdEVtb2ppIiwiYmVoYXZpb3JTZXR0aW5ncyIsImluaXRpYWxQcm9tcHQiLCJpbml0aWFsUHJvbXB0UGxhY2Vob2xkZXIiLCJtb2RlbEFpTGFiZWwiLCJub01vZGVsc0F2YWlsYWJsZSIsImlucHV0UGxhY2Vob2xkZXJUaXRsZSIsImlucHV0UGxhY2Vob2xkZXIiLCJpbnRyb2R1Y3Rpb25QbGFjZWhvbGRlciIsIm1heENhcmFjdGVyTmFtZSIsIm1heENhcmFjdGVySW5pdGlhbFByb21wdCIsIm1heElucHV0UGxhY2Vob2xkZXIiLCJtYXhDYXJhY3RlckludHJvZHVjdGlvbiIsImhvd1RvV3JpdGVQcm9tcHQiLCJ3aGF0SXNNb2RlbEFpVGl0bGUiLCJ3aGF0SXNNb2RlbEFpIiwia25vd2xlZGdlU2VjdGlvbiIsImtub3dsZWRnZVRhYiIsInNlbGVjdEZpbGVUaXRsZSIsImF0dGFjaEZpbGVzIiwiZHJvcFpvbmVUZXh0IiwiaW5mb0ZpbGVUeXBlcyIsIm1heEZpbGVzVGl0bGUiLCJtYXhGaWxlc0Rlc2NyaXB0aW9uIiwibWF4U2l6ZVRpdGxlIiwibWF4U2l6ZURlc2NyaXB0aW9uIiwiaW52YWxpZEV4dGVuc2lvbkRlc2NyaXB0aW9uIiwibW9yZUluZm8iLCJhY2Nlc3NpYmlsaXR5U2VjdGlvbiIsInRpdGxlVGFiIiwidGl0bGVTZWN0aW9uIiwic3VidGl0bGVTZWN0aW9uIiwiY29yUGVybWlzc2lvbnNUaXRsZSIsImNvclBlcm1pc3Npb25zU3VidGl0bGUiLCJ0YXNrQWNjZXNzVGl0bGUiLCJ0YXNrQWNjZXNzRGVzY3JpcHRpb24iLCJtY3BQZXJtaXNzaW9uc1RpdGxlIiwibWNwUGVybWlzc2lvbnNTdWJ0aXRsZSIsIm5ldHN1aXRlQWNjZXNzVGl0bGUiLCJuZXRzdWl0ZUFjY2Vzc0Rlc2NyaXB0aW9uIiwiY29ubmVjdG9yQWNjZXNzRGVzY3JpcHRpb24iLCJjb25uZWN0b3JBdXRoRmFpbGVkIiwiY29ubmVjdG9yQXV0aEluY29tcGxldGUiLCJuZXRzdWl0ZUF1dGhTZXR1cFJlcXVpcmVkIiwidmlzaWJpbGl0eVRpdGxlIiwid2hvQ2FuQWNjZXNzIiwiYWxsQ29tcGFueVRpdGxlIiwiYWxsQ29tcGFueURlc2NyaXB0aW9uIiwiY2xpZW50VGl0bGUiLCJjbGllbnREZXNjcmlwdGlvbiIsIm93blRpdGxlIiwib3duRGVzY3JpcHRpb24iLCJjbGllbnRzU2VsZWN0ZWQiLCJzZWFyY2hFcnJvciIsInNlYXJjaEVtcHR5Iiwic2VhcmNoSW5pdGlhbCIsImNsaWVudEluYWN0aXZlIiwiY2xpZW50RGVsZXRlZFRvb2x0aXAiLCJjbGllbnREZWxldGVkIiwiY2xpZW50c0Vycm9yIiwicHJvY2Vzc2luZ0tub3dsZWRnZSIsImRlc2NyaXB0aW9uQ3JlYXRlIiwiZGVzY3JpcHRpb25VcGRhdGUiLCJmaWxlUm93Iiwic3RhdHVzUm93IiwicGVuZGluZyIsImZhaWxlZCIsImRvbmUiLCJsb2FkaW5nRmlsZXMiLCJkZWxldGVBZ2VudE1vZGFsIiwicHJvamVjdFNlbGVjdG9yIiwibGFiZWxQcm9qZWN0IiwicmVjZW50UHJvamVjdHMiLCJzZWFyY2hpbmdQcm9qZWN0cyIsImVycm9yTWVzc2FnZSIsImVtcHR5UmVjZW50UHJvamVjdHMiLCJlbXB0eVN0YXRlIiwid2l0aG91dENsaWVudCIsIndpdGhvdXRUaXRsZSIsImxhYmVsQ2xpZW50IiwiY2hhbmdlQ2xpZW50IiwicmVjZW50Q2xpZW50cyIsInNlYXJjaGluZ0NsaWVudHMiLCJlbXB0eVJlY2VudENsaWVudHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGFuZy9lcy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyBQcm9qZWN0U3VtbWFyeUNvbmZpZ0tleXMgfSBmcm9tICcuLi8uLi90eXBlcy9Qcm9qZWN0U3VtbWFyeUNvbmZpZ0tleXMnXG5cbmNvbnN0IGdsb2JhbHMgPSB7XG4gIGNsb3NlOiAnQ2VycmFyJyxcbiAgbWluaW1pemU6ICdNaW5pbWl6YXInLFxuICBob3dXb3JrczogJ0PDs21vIGZ1bmNpb25hPycsXG4gIGJyYW5kTmFtZTogJ01BSUEnLFxuICBleHBhbmQ6ICdFeHBhbmRpcicsXG4gIGNvbGxhcHNlOiAnQ29sYXBzYXInLFxuICBnb0JhY2s6ICdWb2x2ZXIgYWwgaW5pY2lvJyxcbiAgY29weTogJ0NvcGlhcicsXG4gIGNvcGllZDogJ0NvcGlhZG8nLFxuICBzYXZlZDogJ0d1YXJkYWRvJyxcbiAgc2VsZWN0UHJvamVjdDogJ1NlbGVjY2lvbmFyIHByb3llY3RvJyxcbiAgc2F2ZTogJ0d1YXJkYXInLFxuICBjYW5jZWw6ICdDYW5jZWxhcicsXG59XG5cbmNvbnN0IGVycm9yID0ge1xuICB0aXRsZTogJ0hhIG9jdXJyaWRvIHVuIHByb2JsZW1hJyxcbiAgZGVzY3JpcHRpb246ICdFbiBlc3RvcyBtb21lbnRvcyBlc3RhbW9zIGV4cGVyaW1lbnRhbmRvIGFsZ3Vub3MgaW5jb252ZW5pZW50ZXMsIHBvciBmYXZvciwgaW50ZW50ZSBlbiB1bm9zIG1pbnV0b3MuJyxcbiAgdHJ5QWdhaW46ICdWb2x2ZXIgYSBpbnRlbnRhcicsXG59XG5cbmNvbnN0IGdlbmVyaWNTZWN0aW9uID0ge1xuICBlcnJvcixcbiAgZ2xvYmFscyxcbn1cblxuY29uc3QgcHJvamVjdFN1bW1hcnlTZWN0aW9uID0ge1xuICByZXN1bWU6ICdSZXN1bWlyJyxcbiAgaGVsbG86ICfCoUhvbGEsIHt7bmFtZX19IScsXG4gIHdlbGNvbWU6ICdTb3kgTUFJQSwgdHUgYXNpc3RlbnRlIGVuIENPUicsXG5cbiAgZmVlZGJhY2s6IHtcbiAgICB0aHVtYnNVcDogJ01lIHNpcnZpw7MnLFxuICAgIHRodW1ic0Rvd246ICdObyBtZSBzaXJ2acOzJyxcbiAgICBzb3VyY2VzOiAnRnVlbnRlcycsXG4gIH0sXG5cbiAgY29uZmlnOiB7XG4gICAgcHJvamVjdFN1bW1hcnk6ICdSZXN1bWlyIHByb3llY3RvJyxcbiAgICBwcm9qZWN0U3VtbWFyeVRpdGxlOiAnUmVzdW1lbiBkZSBwcm95ZWN0b3MnLFxuICAgIGdvQmFjazogJ1ZvbHZlciBhdHLDoXMnLFxuICAgIHNlbGVjdGVkUHJvamVjdDogJ1Byb3llY3RvIHNlbGVjY2lvbmFkbycsXG4gICAgc2VsZWN0UHJvamVjdDogJ1NlbGVjY2lvbmFyIHByb3llY3RvJyxcbiAgICBjb25maWd1cmVSZXN1bWU6ICdDb25maWd1cmFjacOzbiBhdmFuemFkYScsXG4gICAgZ2VuZXJhdGluZ1Jlc3VtZTogJ0dlbmVyYW5kbyByZXN1bWVuJyxcbiAgICBnZW5lcmF0ZVJlc3VtZTogJ0dlbmVyYXInLFxuICAgIGhpZGVDb25maWc6ICdPY3VsdGFyIGNvbmZpZ3VyYWNpw7NuJyxcbiAgfSxcblxuICBjb25maWd1cmVTZXR0aW5nczoge1xuICAgIFtQcm9qZWN0U3VtbWFyeUNvbmZpZ0tleXMuR0VORVJBTF9TVEFUVVNdOiAnRmVjaGFzIHkgZGVhZGxpbmVzJyxcbiAgICBbUHJvamVjdFN1bW1hcnlDb25maWdLZXlzLklOQ09NRV9DT1NUU106ICdSZW50YWJpbGlkYWQnLFxuICAgIFtQcm9qZWN0U3VtbWFyeUNvbmZpZ0tleXMuVElNRV9IT1VSU106ICdFc3RpbWFjacOzbiBkZSBob3JhcyB5IGNvbnN1bW8nLFxuICAgIFtQcm9qZWN0U3VtbWFyeUNvbmZpZ0tleXMuVEFTS1NfUFJPR1JFU1NdOiAnVGFyZWFzIHkgYXZhbmNlcycsXG4gICAgW1Byb2plY3RTdW1tYXJ5Q29uZmlnS2V5cy5SRVdPUktTXTogJ1JldHJhYmFqb3MnLFxuICB9LFxufVxuXG5jb25zdCBob21lTWVudSA9IHtcbiAgcHJvamVjdFN1bW1hcnk6IHtcbiAgICB0aXRsZTogJ1Jlc3VtZW4gZGVsIHByb3llY3RvJyxcbiAgICBkZXNjcmlwdGlvbjogJ0VsYWJvcmEgaW5mb3JtZXMgY29uIEFJIGJhc2FkbyBlbiB0dSBwcm95ZWN0bycsXG4gIH0sXG4gIGZhcToge1xuICAgIHRpdGxlOiAnUHJlZ3VudGFzIGZyZWN1ZW50ZXMnLFxuICAgIHN0YXJ0VGl0bGU6ICdQdWVkZXMgY29tZW56YXIgcG9yLi4uJyxcbiAgICBlbXB0eTogJ05vIGhheSBwcmVndW50YXMgZnJlY3VlbnRlcycsXG4gICAgZXJyb3I6ICfCoVVwcyEgVHV2aW1vcyB1biBwcm9ibGVtYSBhbCBjYXJnYXIgbGFzIHByZWd1bnRhcyBmcmVjdWVudGVzLiBQb3IgZmF2b3IsIGludGVudGEgZGUgbnVldm8gZW4gdW5vcyBtaW51dG9zLicsXG4gICAgY2F0ZWdvcmllczoge1xuICAgICAgcHJvamVjdHM6ICdQcm95ZWN0bycsXG4gICAgICB0YXNrczogJ1RhcmVhcycsXG4gICAgICBob3VyczogJ0hvcmFzJyxcbiAgICAgIHJld29ya3M6ICdSZXRyYWJham9zJyxcbiAgICAgIHVuZGVmaW5lZDogJ1NpbiBjYXRlZ29yw61hJyxcbiAgICB9LFxuICB9LFxuICBmdWE6IHtcbiAgICB0aXRsZTogJ0FjY2lvbmVzIGZyZWN1ZW50ZXMnLFxuICAgIG5ld0JhZGdlOiAnTnVldm8nLFxuICAgIGVycm9yOiAnwqFVcHMhIFR1dmltb3MgdW4gcHJvYmxlbWEgYWwgY2FyZ2FyIGxhcyBhY2Npb25lcyBmcmVjdWVudGVzLiBQb3IgZmF2b3IsIGludGVudGEgZGUgbnVldm8gZW4gdW5vcyBtaW51dG9zLicsXG4gIH0sXG4gIHJlY2VudENvbnRleHRzOiB7XG4gICAgdGl0bGU6ICdFbGlnZSB1biBjb250ZXh0byByZWNpZW50ZSBwYXJhIG1heW9yIHByZWNpc2nDs24gZW4gbGEgcmVzcHVlc3RhOicsXG4gICAgdHlwZXM6IHtcbiAgICAgIGNsaWVudDogJ0NsaWVudGUnLFxuICAgICAgcHJvamVjdDogJ1Byb3llY3RvJyxcbiAgICAgIHRhc2s6ICdUYXJlYScsXG4gICAgfSxcbiAgfSxcbiAgY29udGV4dEhvbWU6IHtcbiAgICBncmVldGluZzogJ0hvbGEsIHt7bmFtZX19IPCfkYsnLFxuICAgIHN1YnRpdGxlOiAnU295IE1BSUEsIHR1IGFzaXN0ZW50ZSBlbiB0YXJlYXMsIHByb3llY3RvcyB5IGNsaWVudGVzLlxcbsK/U2VndWltb3MgY29uIGFsZ28gcmVjaWVudGU/JyxcbiAgICBzdWJ0aXRsZUNvbGxhYm9yYXRvcjogJ1NveSBNQUlBLCB0dSBhc2lzdGVudGUgZW4gdGFyZWFzLiDCv1NlZ3VpbW9zIGNvbiBhbGdvIHJlY2llbnRlPycsXG4gICAgc3VidGl0bGVDb2xsYWJvcmF0b3JXaXRoSG91cnM6ICdDb21wbGV0w6EgdHVzIGhvcmFzIG8gZW1wZXrDoSB1biBjaGF0IHNvYnJlIHVuYSB0YXJlYS4nLFxuICAgIHN1YnRpdGxlTWFuYWdlcldpdGhIb3VyczogJ8K/UG9yIGTDs25kZSBxdWllcmVzIGVtcGV6YXI/JyxcbiAgICBob3Vyc1NlY3Rpb246IHtcbiAgICAgIHRpdGxlOiAnQ2FyZ2EgaG9yYXMnLFxuICAgIH0sXG4gICAgcmVjZW50VGFza3NTZWN0aW9uOiB7XG4gICAgICB0aXRsZTogJ0NvbnN1bHRhIHNvYnJlIHVuYSB0YXJlYScsXG4gICAgICBzdWJ0aXRsZTogJ0VsZWfDrSB1bmEgdGFyZWEgcmVjaWVudGUgcGFyYSB1c2FybGEgY29tbyBjb250ZXh0by4nLFxuICAgIH0sXG4gICAgcmVjZW50Q29udGV4dHNTZWN0aW9uTWFuYWdlcjoge1xuICAgICAgdGl0bGU6ICdPIHJldG9tYSBhbGdvIHJlY2llbnRlJyxcbiAgICAgIHN1YnRpdGxlOiAnRWxlZ8OtIHVuYSB0YXJlYSwgcHJveWVjdG8gbyBjbGllbnRlIHBhcmEgdXNhcmxvIGNvbW8gY29udGV4dG8nLFxuICAgIH0sXG4gICAgY29udGV4dEdyZWV0aW5nOiB7XG4gICAgICBwcm9qZWN0OiAnwr9RdcOpIHF1aWVyZXMgcXVlIGFuYWxpY2Vtb3M/IMK/SG9yYXMsIGVzdGltYWNpb25lcywgcmV0cmFiYWpvcz8sIMKhdHUgZWxpZ2VzIScsXG4gICAgICB0YXNrOiAnRXN0b3kgYXF1w60gcGFyYSBheXVkYXJ0ZSBjb24gZXN0YSB0YXJlYS4gVXNhIHVuYSBkZSBsYXMgZnVuY2lvbmVzIHBhcmEgY29tZW56YXIuJyxcbiAgICAgIGNsaWVudDogJ8K/UXXDqSBxdWllcmVzIHF1ZSBhbmFsaWNlbW9zPyDCv1JlbnRhYmlsaWRhZCwgYXZhbmNlcywgZGVhZGxpbmVzPyDCoVTDuiBlbGlnZXMhJyxcbiAgICB9LFxuICB9LFxuICBwbGFubmVySG9tZToge1xuICAgIHRpdGxlOiAnRW1wZWNlbW9zIGNvbiB0dSBjYXJnYSBkZSBob3JhcycsXG4gICAgc3VidGl0bGU6ICfCv1BvciBkw7NuZGUgY29tZW56YW1vcz8nLFxuICB9LFxuICBhY3Rpb246IHtcbiAgICBjYXRlZ29yaWVzOiB7XG4gICAgICB0YXNrczogJ0FjY2lvbmVzIHNvYnJlIHRhcmVhcycsXG4gICAgICBjb2xsYWJvcmF0b3JzOiAnQ29sYWJvcmFkb3JlcyB5IHJlc3BvbnNhYmxlcycsXG4gICAgICBsYWJlbHM6ICdFdGlxdWV0YXMgeSB0aXBvcycsXG4gICAgICBjaGVja2xpc3RzOiAnQ2hlY2tsaXN0cycsXG4gICAgICBkZWxpdmVyYWJsZXM6ICdFbnRyZWdhYmxlcycsXG4gICAgICByZXdvcmtzOiAnUmV0cmFiYWpvcycsXG4gICAgICBob3VyczogJ0NhcmdhIGRlIGhvcmFzJyxcbiAgICB9LFxuICB9LFxuICBjcmVhdGVkQnk6ICdwb3InLFxuICBjcmVhdGVkQnlUb29sdGlwOiAnVXN1YXJpbyBjcmVhZG9yIGRlbCBhZ2VudGUnLFxuICBjcmVhdGVkQnlUb29sdGlwRGVsZXRlZDogJ1VzdWFyaW8gZWxpbWluYWRvLiBTdSBub21icmUgc2UgbWFudGllbmUgcGFyYSByZWZlcmVuY2lhLicsXG4gIHRhc2tHcmVldGluZzogJ0VzdG95IGFxdcOtIHBhcmEgYXl1ZGFydGUgY29uIGVzdGEgdGFyZWEuIFVzYSB1bmEgZGUgbGFzIGZ1bmNpb25lcyBwYXJhIGNvbWVuemFyLicsXG4gIGhlbGxvOiB7XG4gICAgdGl0bGU6ICfCoUxpc3RvISBZYSBlc3RveSB1c2FuZG8gZWwgcHJveWVjdG8nLFxuICAgIHRpdGxlXzE6ICdBbnRpY2lwYSBkZXN2w61vcy4gQW5hbGljZW1vcyBlc3RlIHByb3llY3RvLicsXG4gICAgdGl0bGVfMjogJ8K/UXXDqSBxdWllcmVzIHF1ZSBhbmFsaWNlbW9zPyDCv0hvcmFzLCBlc3RpbWFjaW9uZXMsIHJldHJhYmFqb3M/LCDCoXR1IGVsaWdlcyEnLFxuICAgIHRpdGxlXzM6ICdSZXZpc2Vtb3MgZWwgYXZhbmNlIGRlIGVzdGUgcHJveWVjdG8uJyxcbiAgICBzdWJ0aXRsZTogJ1BhcmEgZW1wZXphciwgdGUgcHVlZG8gYXl1ZGFyIGNvbiBlc3RhcyBvcGNpb25lcy4gTyBzaSBubywgwqFlc2Nyw61iZW1lIGRpcmVjdGFtZW50ZSB0dSBjb25zdWx0YSEnLFxuICAgIHRpdGxlUG06ICfCoUhvbGEsIHt7bmFtZX19ISBTb3kge3thZ2VudH19LCB0dSBhc2lzdGVudGUuJyxcbiAgICBzdWJ0aXRsZVBtOlxuICAgICAgJ1BhcmEgZGFydGUgcmVzcHVlc3RhcyBwcmVjaXNhcywgcHJpbWVybyBuZWNlc2l0byBzYWJlciBzb2JyZSBxdcOpIHByb3llY3RvIHZhbW9zIGEgY29udmVyc2FyLiDCv0N1w6FsIGVsaWdlcz8nLFxuICB9LFxuICBtYWlha2VyOiB7XG4gICAgdGl0bGU6ICdDb252aWVydGUgcHJvY2Vzb3MgcmVwZXRpdGl2b3MgZW4gYWdlbnRlcyBpbnRlbGlnZW50ZXMnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ3JlYSBhZ2VudGVzIHF1ZSBhbmFsaWNlbiwgZ2VuZXJlbiBjb250ZW5pZG8gc2Vnw7puIHR1cyBuZWNlc2lkYWRlcy4nLFxuICAgIGNyZWF0ZU1hbnVhbEFnZW50OiAnQ3JlYXIgYWdlbnRlIG1hbnVhbG1lbnRlJyxcbiAgICBiYWRnZU5ldzogJ051ZXZvJyxcbiAgICBicmllZkNhcmQ6IHtcbiAgICAgIHRpdGxlOiAnQWdlbnRlIGVzcGVjaWFsaXN0YSBlbiBicmllZicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0NyZWEgeSBtZWpvcmEgYnJpZWZzIHBhcmEgcXVlIGVzdMOpbiBsaXN0b3MgcGFyYSB1c2FyIGVuIHRhcmVhcy4nLFxuICAgICAgcHJvbXB0OiAnUXVpZXJvIGNyZWFyIHVuIGFnZW50ZSBlc3BlY2lhbGlzdGEgZW4gYnJpZWYuJyxcbiAgICB9LFxuICAgIGNvbWluZ1Nvb25DYXJkOiB7XG4gICAgICB0aXRsZTogJ03DoXMgcHLDs3hpbWFtZW50ZScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0VzdGFtb3MgdHJhYmFqYW5kbyBwYXJhIGJyaW5kYXJ0ZSBtw6FzIGFnZW50ZXMnLFxuICAgIH0sXG4gIH0sXG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgW1NFQ1RJT05TLnByb2plY3RTdW1tYXJ5XToge1xuICAgIC4uLmdlbmVyaWNTZWN0aW9uLFxuICAgIC4uLnByb2plY3RTdW1tYXJ5U2VjdGlvbixcbiAgfSxcbiAgW1NFQ1RJT05TLmNoYXRBSV06IHtcbiAgICAuLi5nZW5lcmljU2VjdGlvbixcbiAgICAuLi5wcm9qZWN0U3VtbWFyeVNlY3Rpb24sXG4gICAgaG9tZU1lbnUsXG5cbiAgICBjb250ZXh0TWVudGlvbjoge1xuICAgICAga2V5Ym9hcmRIaW50OiAnTmF2ZWdhY2nDs24gZW50cmUgcGVzdGHDsWFzOiBALCBAQOKApiBlbiBvcmRlbi4gVGFtYmnDqW4gQWx0L0NtZCArIOKGkC/ihpInLFxuICAgICAgcmVjZW50c1RpdGxlOiAnUmVjaWVudGVzJyxcbiAgICAgIHVzZXJOb1Bvc2l0aW9uOiAnU2luIHBvc2ljacOzbicsXG4gICAgICBtZTogJ1lvJyxcbiAgICAgIHRhYnM6IHtcbiAgICAgICAgY2xpZW50OiAnQ2xpZW50ZScsXG4gICAgICAgIHByb2plY3Q6ICdQcm95ZWN0bycsXG4gICAgICAgIHRhc2s6ICdUYXJlYScsXG4gICAgICAgIHVzZXI6ICdVc3VhcmlvJyxcbiAgICAgICAgbWNwOiAnQ29uZWN0b3JlcycsXG4gICAgICAgIHNraWxsOiAnSGFiaWxpZGFkZXMnLFxuICAgICAgfSxcbiAgICAgIGxvYWRpbmc6ICdCdXNjYW5kby4uLicsXG4gICAgICBlcnJvcjogJ1R1dmltb3MgdW4gcHJvYmxlbWEgYWwgYnVzY2FyLiBJbnRlbnTDoSBkZSBudWV2by4nLFxuICAgICAgZW1wdHk6IHtcbiAgICAgICAgcmVjZW50czogJ0VtcGV6w6EgYSBlc2NyaWJpciBwYXJhIGJ1c2NhcicsXG4gICAgICAgIHdpdGhRdWVyeTogJ05vIGhheSByZXN1bHRhZG9zIHBhcmEgXCJ7e3F1ZXJ5fX1cIicsXG4gICAgICB9LFxuICAgICAgY291bnRlcnM6IHtcbiAgICAgICAgcHJvamVjdHM6ICdwcm95ZWN0b3MnLFxuICAgICAgICB0YXNrczogJ3RhcmVhcycsXG4gICAgICB9LFxuICAgIH0sXG4gICAgY29udGV4dFBpbjoge1xuICAgICAgYWRkQ29udGV4dDogJ0NvbnRleHRvIGdsb2JhbCcsXG4gICAgICBzZWFyY2hQbGFjZWhvbGRlcjogJ0J1c2NhciBjb250ZXh0b+KApicsXG4gICAgICByZW1vdmU6ICdRdWl0YXIgY29udGV4dG8nLFxuICAgIH0sXG4gICAgYnV0dG9uOiAnSUEnLFxuICAgIHRpdGxlOiAnwqFIb2xhLCB7e25hbWV9fSEnLFxuICAgIGRlc2NyaXB0aW9uOiAnU295IE1BSUEgdHUgYXNpc3RlbnRlIHkgZXN0b3kgYXF1w60gcGFyYSBheXVkYXJ0ZSBjb24gdHVzIGNvbnN1bHRhcy4nLFxuICAgIG5ld0NoYXQ6ICdOdWV2byBjaGF0JyxcbiAgICBvcGVuQWdlbnRDcmVhdG9yOiAnQ3JlYXIgYWdlbnRlJyxcbiAgICBvcGVuTWFya2V0cGxhY2U6ICdNYXJrZXRwbGFjZSBkZSBhZ2VudGVzJyxcbiAgICBoaXN0b3J5OiB7XG4gICAgICB0b29sdGlwOiAnSGlzdG9yaWFsJyxcbiAgICAgIHRpdGxlOiAnSGlzdG9yaWFsIHZhY8OtbycsXG4gICAgICBkZXNjcmlwdGlvbjogJ05vIHNlIGhhbiBlbmNvbnRyYWRvIGNvbnZlcnNhY2lvbmVzJyxcbiAgICAgIGl0ZW06IHtcbiAgICAgICAgZGF0ZTogJ8OabHRpbWEgYWN0dWFsaXphY2nDs24ge3tkYXRlfX0nLFxuICAgICAgfSxcbiAgICAgIG1lbnU6IHtcbiAgICAgICAgcmVuYW1lOiAnUmVub21icmFyJyxcbiAgICAgICAgZGVsZXRlOiAnRWxpbWluYXInLFxuICAgICAgfSxcbiAgICAgIGxvYWRpbmdNb3JlOiAnQ2FyZ2FuZG8gbcOhcyBjb252ZXJzYWNpb25lcycsXG4gICAgfSxcbiAgICBvbmJvYXJkaW5nOiB7XG4gICAgICBtYWlhOiAnTUFJQScsXG4gICAgICBhZ2VudEN1c3RvbTogJ0FnZW50ZXMgY3VzdG9tJyxcbiAgICAgIGhvd0NyZWF0ZUFnZW50OiAnwr9Dw7NtbyBjcmVhciB1biBhZ2VudGU/JyxcbiAgICAgIHRvb2x0aXA6ICfCv0PDs21vIGZ1bmNpb25hPycsXG4gICAgICBob3dJdFdvcmtzOiAnwr9Dw7NtbyBmdW5jaW9uYT8nLFxuICAgIH0sXG4gICAgcWE6IHtcbiAgICAgIHRpdGxlOiAnUHJlZ3VudGFzIGZyZWN1ZW50ZXMnLFxuICAgICAgaXRlbXM6IHtcbiAgICAgICAgcmVudGFiaWxpZGFkX3Byb3llY3RvOiAnwr9DdcOhbCBlcyBsYSByZW50YWJpbGlkYWQgZGUgZXN0ZSBwcm95ZWN0bz8nLFxuICAgICAgICBhdmFuY2VfcHJveWVjdG86ICfCv0N1w6FsZXMgc29uIGxvcyBhdmFuY2VzIGRlIGVzdGUgcHJveWVjdG8/JyxcbiAgICAgICAgdGFyZWFzX3Byb3llY3RvOiAnwr9DdcOhbGVzIHNvbiBsYXMgdGFyZWFzIHByw7N4aW1hcyBhIHZlbmNlcj8nLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNoYXQ6IHtcbiAgICAgIGdlbmVyYXRpbmc6ICdQZW5zYW5kbycsXG4gICAgICBnZW5lcmF0aW5nQXR0YWNobWVudDogJ0FuYWxpemFuZG8gYWRqdW50bycsXG4gICAgICBnZW5lcmF0aW5nRGVlcFNlYXJjaDogJ0luaWNpYW5kbyBsYSBpbnZlc3RpZ2FjacOzbicsXG4gICAgICBnZW5lcmF0aW5nV2ViU2VhcmNoOiAnQnVzY2FuZG8gZW4gbGEgd2ViJyxcbiAgICAgIHN1Z2dlc3Rpb25zVGl0bGU6ICdSZXNwdWVzdGFzIHN1Z2VyaWRhcycsXG4gICAgICBjcmVhdGVBZ2VudEFjdGlvbnNUaXRsZTogJ1NpZ3VpZW50ZSBwYXNvJyxcbiAgICAgIGNyZWF0ZUFnZW50QWN0aW9uU3RhcnRDaGF0OiAnSW5pY2lhciBjb252ZXJzYWNpw7NuIGNvbiBlbCBudWV2byBhZ2VudGUnLFxuICAgICAgY3JlYXRlQWdlbnRBY3Rpb25Lbm93bGVkZ2U6ICdTdWJpciBhcmNoaXZvcyBhIGxhIGJhc2UgZGUgY29ub2NpbWllbnRvJyxcbiAgICAgIGNyZWF0ZUFnZW50QWN0aW9uTG9hZEVycm9yOiAnTm8gc2UgcHVkbyBjYXJnYXIgZWwgYWdlbnRlLiBJbnRlbnRhIGRlIG51ZXZvLicsXG4gICAgICB3cml0aW5nOiAnRXNjcmliaWVuZG8gbGEgcmVzcHVlc3RhJyxcbiAgICAgIGV4ZWN1dGluZ0FjdGlvbjogJ0VqZWN1dGFuZG8gYWNjacOzbicsXG4gICAgICBwcm9jZXNzaW5nOiAnUHJvY2VzYW5kbycsXG4gICAgICBhY3Rpdml0eToge1xuICAgICAgICBnZW5lcmF0aW5nOiB7XG4gICAgICAgICAgcHJlcGFyaW5nOiAnUHJlcGFyYW5kbyBsYSByZXNwdWVzdGEnLFxuICAgICAgICAgIGNvbnNpZGVyaW5nOiAnUmV2aXNhbmRvIHR1IGNvbnN1bHRhJyxcbiAgICAgICAgICBhbG1vc3RSZWFkeTogJ0RlZmluaWVuZG8gZWwgZW5mb3F1ZScsXG4gICAgICAgIH0sXG4gICAgICAgIHRoaW5raW5nOiB7XG4gICAgICAgICAgYW5hbHl6aW5nOiAnQW5hbGl6YW5kbyB0dSBjb25zdWx0YScsXG4gICAgICAgICAgcmV2aWV3aW5nOiAnUmV2aXNhbmRvIGVsIGNvbnRleHRvJyxcbiAgICAgICAgICBwbGFubmluZzogJ0FybWFuZG8gbGEgcmVzcHVlc3RhJyxcbiAgICAgICAgfSxcbiAgICAgICAgc2VhcmNoOiB7XG4gICAgICAgICAgc2Nhbm5pbmc6ICdCdXNjYW5kbyBlbiBsYSB3ZWInLFxuICAgICAgICAgIHN1bW1hcml6aW5nOiAnUmV2aXNhbmRvIHJlc3VsdGFkb3MnLFxuICAgICAgICB9LFxuICAgICAgICBkZWVwU2VhcmNoOiB7XG4gICAgICAgICAgZXhwbG9yaW5nOiAnRXhwbG9yYW5kbyBmdWVudGVzJyxcbiAgICAgICAgICBjcm9zc0NoZWNraW5nOiAnVmVyaWZpY2FuZG8gbGEgaW5mb3JtYWNpw7NuJyxcbiAgICAgICAgfSxcbiAgICAgICAgYXR0YWNobWVudDoge1xuICAgICAgICAgIHJlYWRpbmc6ICdMZXllbmRvIGVsIGFkanVudG8nLFxuICAgICAgICAgIGV4dHJhY3Rpbmc6ICdFeHRyYXllbmRvIGxvIHJlbGV2YW50ZScsXG4gICAgICAgICAgcmVhZGluZ1BsdXJhbDogJ0xleWVuZG8gbG9zIGFkanVudG9zJyxcbiAgICAgICAgICBleHRyYWN0aW5nUGx1cmFsOiAnRXh0cmF5ZW5kbyBsbyByZWxldmFudGUnLFxuICAgICAgICB9LFxuICAgICAgICB3cml0aW5nOiB7XG4gICAgICAgICAgY29tcG9zaW5nOiAnRXNjcmliaWVuZG8gbGEgcmVzcHVlc3RhJyxcbiAgICAgICAgfSxcbiAgICAgICAgZHluYW1pY0NvbnRleHRUb29sdGlwOlxuICAgICAgICAgICdFc3RlIGNvbnRleHRvIGZ1ZSBnZW5lcmFkbyBkaW7DoW1pY2FtZW50ZSB5IHB1ZWRlIGNhbWJpYXIgYSBsbyBsYXJnbyBkZSBsYSBjb252ZXJzYWNpw7NuLicsXG4gICAgICAgIGNyZWF0aW5nVGFzazogJ0NyZWFuZG8gdGFyZWEnLFxuICAgICAgICBjcmVhdGluZ1Rhc2tzQmF0Y2g6ICdDcmVhbmRvIHRhcmVhcycsXG4gICAgICAgIGNyZWF0aW5nQWdlbnQ6ICdDcmVhbmRvIGFnZW50ZScsXG4gICAgICAgIGVkaXRpbmdBZ2VudDogJ0VkaXRhbmRvIGFnZW50ZScsXG4gICAgICAgIGVkaXRpbmdUYXNrOiAnRWRpdGFuZG8gdGFyZWEnLFxuICAgICAgICBlZGl0aW5nVGFza3NCYXRjaDogJ0VkaXRhbmRvIHRhcmVhcycsXG4gICAgICAgIGRlbGV0aW5nVGFzazogJ0VsaW1pbmFuZG8gdGFyZWEnLFxuICAgICAgICBkZWxldGluZ1Rhc2tzQmF0Y2g6ICdFbGltaW5hbmRvIHRhcmVhcycsXG4gICAgICAgIGFzc2lnbmluZ1VzZXI6ICdBc2lnbmFuZG8gdXN1YXJpbycsXG4gICAgICAgIHVuYXNzaWduaW5nVXNlcjogJ0Rlc2FzaWduYW5kbyB1c3VhcmlvJyxcbiAgICAgICAgYXNzaWduaW5nTGFiZWw6ICdBc2lnbmFuZG8gZXRpcXVldGEnLFxuICAgICAgICB1cGRhdGluZ1Rhc2tUeXBlOiAnQWN0dWFsaXphbmRvIHRpcG8gZGUgdGFyZWEnLFxuICAgICAgICB1cGRhdGluZ0VzdGltYXRlZEhvdXJzOiAnQWN0dWFsaXphbmRvIGhvcmFzIGVzdGltYWRhcycsXG4gICAgICAgIHVwZGF0aW5nRGVsaXZlcmFibGU6ICdBY3R1YWxpemFuZG8gZW50cmVnYWJsZScsXG4gICAgICAgIGxvZ2dpbmdIb3VyczogJ0NhcmdhbmRvIGhvcmFzJyxcbiAgICAgICAgY3JlYXRpbmdDaGVja2xpc3Q6ICdDcmVhbmRvIGNoZWNrbGlzdCcsXG4gICAgICAgIGNyZWF0aW5nTGFiZWw6ICdDcmVhbmRvIGV0aXF1ZXRhJyxcbiAgICAgICAgZWRpdGluZ1Byb2plY3Q6ICdFZGl0YW5kbyBwcm95ZWN0bycsXG4gICAgICAgIGNyZWF0aW5nQ2hlY2tsaXN0SXRlbTogJ0FncmVnYW5kbyDDrXRlbSBhbCBjaGVja2xpc3QnLFxuICAgICAgICBxdWVyeWluZ0hvdXJzOiAnQ29uc3VsdGFuZG8gaG9yYXMnLFxuICAgICAgICBjb25maWd1cmluZ0FnZW50QWNjZXNzOiAnQ2FtYmlhbmRvIHZpc2liaWxpZGFkIGRlbCBhZ2VudGUnLFxuICAgICAgICBzZW5kaW5nVGFza01lc3NhZ2U6ICdFbnZpYW5kbyBtZW5zYWplIGVuIGxhIHRhcmVhJyxcbiAgICAgICAgZGVsZXRpbmdDaGVja2xpc3RJdGVtOiAnRWxpbWluYW5kbyDDrXRlbSBkZWwgY2hlY2tsaXN0JyxcbiAgICAgICAgcmVtb3ZpbmdUYXNrVHlwZTogJ0VsaW1pbmFuZG8gdGlwbyBkZSB0YXJlYScsXG4gICAgICAgIHJlbW92aW5nTGFiZWw6ICdRdWl0YW5kbyBldGlxdWV0YScsXG4gICAgICAgIHVwZGF0aW5nRGVsaXZlcmFibGVDb3VudDogJ0FjdHVhbGl6YW5kbyBjb250YWRvciBkZSBlbnRyZWdhYmxlcycsXG4gICAgICAgIGNyZWF0aW5nUmV3b3JrOiAnQ3JlYW5kbyByZXRyYWJham8nLFxuICAgICAgICB1cGRhdGluZ1Jld29yazogJ0FjdHVhbGl6YW5kbyByZXRyYWJham8nLFxuICAgICAgICBnZW5lcmF0aW5nRmlsZTogJ0dlbmVyYW5kbyBhcmNoaXZvJyxcbiAgICAgICAgcmVzdW1pbmdBY3Rpb246ICdFamVjdXRhbmRvIGFjY2nDs24gYXByb2JhZGEnLFxuICAgICAgfSxcbiAgICAgIGxvYWRpbmdNb3JlOiAnQ2FyZ2FuZG8gbcOhcyBtZW5zYWplcycsXG4gICAgICBmb290ZXI6IHtcbiAgICAgICAgcGxhY2Vob2xkZXI6ICdFc2NyaWJlIHR1IGNvbnN1bHRhIGFjw6HigKYnLFxuICAgICAgICBvcmNoZXN0cmF0b3JQbGFjZWhvbGRlcjogJ1ByZWfDum50YWxlIGEgTWFpYSwgQCBtZW5jaW9uYXIgbyAvIGFjY2lvbmVzIHLDoXBpZGFzJyxcbiAgICAgICAgYWdlbnRMYWJlbDogJ0VsIEFnZW50ZScsXG4gICAgICAgIGRpc2NsYWltZXI6ICd7e2FnZW50TmFtZX19IHB1ZWRlIGNvbWV0ZXIgZXJyb3Jlcy4gQ29tcHJ1ZWJhIGxhIGluZm9ybWFjacOzbiBpbXBvcnRhbnRlLicsXG4gICAgICAgIGRpc2NsYWltZXJBZ2VudDogJ0xvcyBtb2RlbG9zIGRlIElBIHB1ZWRlbiBjb21ldGVyIGVycm9yZXMuIFZlcmlmaWNhIGxhIGluZm9ybWFjacOzbiBpbXBvcnRhbnRlLicsXG4gICAgICAgIGNvckFjY2Vzc0xhYmVsOiAnQWNjZXNvIGEgQ09SJyxcbiAgICAgICAgY29yQWNjZXNzVG9vbHRpcDogJ0FjY2VzbyBhIGRhdG9zIGRlIENPUicsXG4gICAgICB9LFxuICAgICAgZXJyb3I6ICdIYSBvY3VycmlkbyB1biBlcnJvciBhbCBnZW5lcmFyIHR1IHJlc3B1ZXN0YSwgcG9yIGZhdm9yLCBpbnRlbnRhIG51ZXZhbWVudGUuJyxcbiAgICAgIHJldHJ5OiAnUmVpbnRlbnRhcicsXG4gICAgICBlcnJvckFjY2Vzc0RlbmllZDpcbiAgICAgICAgJ05vIHRpZW5lcyBhY2Nlc28gcGFyYSBpbnRlcmFjdHVhciBjb24gZXN0ZSBhZ2VudGUuIEVzIHBvc2libGUgcXVlIHN1IGNvbmZpZ3VyYWNpw7NuIGRlIGFjY2VzaWJpbGlkYWQgaGF5YSBjYW1iaWFkby4gUG9yIGZhdm9yLCBjb250YWN0YSBhIGxhIHBlcnNvbmEgZGUgdHUgb3JnYW5pemFjacOzbiBxdWUgYWRtaW5pc3RyYSBsb3MgYWdlbnRlcyBwYXJhIG9idGVuZXIgbcOhcyBpbmZvcm1hY2nDs24uJyxcbiAgICAgIGVycm9yUHJvbXB0VG9vTG9uZzpcbiAgICAgICAgJ1RlIGhhcyBleGNlZGlkbyBkZWwgbGltaXRlIGRlIGNvbnRleHRvIHt7dXNlZH19IHRva2Vucy4gUG9yIGZhdm9yIHJlaW50ZW50YSBudWV2YW1lbnRlIG8gY29udGluw7phIGVuIG90cm8gY2hhdCcsXG4gICAgICBjaGFuZ2VQcm9qZWN0OiAnRGV0ZWN0byBxdWUgcXVpZXJlcyBjYW1iaWFyIGRlIFByb3llY3RvLlxcblxcbioqU2VsZWNjaW9uYSBlbCBwcm95ZWN0byBwYXJhIGNvbnRpbnVhcjoqKicsXG4gICAgICBzZWFyY2hXZWI6ICdCdXNjYXIgZW4gbGEgd2ViJyxcbiAgICAgIGRlZXBTZWFyY2g6ICdCw7pzcXVlZGEgYXZhbnphZGEgZW4gaW50ZXJuZXQgKGFjY2VzbyBhIG3DoXMgZnVlbnRlcyknLFxuICAgICAgYXR0YWNoRmlsZTogJ0FkanVudGFyIGFyY2hpdm8nLFxuICAgICAgcGx1c01lbnVBdHRhY2g6ICdBZGp1bnRhciBhcmNoaXZvcycsXG4gICAgICBkcm9wRmlsZXNIZXJlOiAnU29sdMOhIGxvcyBhcmNoaXZvcyBhcXXDrScsXG4gICAgICBwbHVzTWVudURlZXBJbnZlc3RpZ2F0aW9uOiAnSW52ZXN0aWdhciBhIGZvbmRvJyxcbiAgICAgIHBsdXNNZW51UXVpY2tBY3Rpb25zOiAnQWNjaW9uZXMgcsOhcGlkYXMnLFxuICAgICAgb3BlblBsdXNNZW51QXJpYTogJ0FkanVudG9zIHkgb3BjaW9uZXMgZGUgYsO6c3F1ZWRhJyxcbiAgICAgIG9wZW5NZW50aW9uQXJpYTogJ01lbmNpb25hcicsXG4gICAgICByZW1vdmVBdHRhY2htZW50QXJpYTogJ1F1aXRhciBhcmNoaXZvJyxcbiAgICAgIHJlbW92ZUFjdGl2ZVRvb2xBcmlhOiAnUXVpdGFyIG1vZG8gZGUgYsO6c3F1ZWRhJyxcbiAgICAgIHNlbmQ6ICdFbnZpYXInLFxuICAgICAgbGltaXRGaWxlczogJ1NvbG8gcHVlZGVzIGFkanVudGFyIGhhc3RhIDUgYXJjaGl2b3MgcG9yIG1lbnNhamUuJyxcbiAgICAgIHN0b3A6ICdEZXRlbmVyIHJlc3B1ZXN0YScsXG4gICAgICBjYW5jZWxsZWQ6ICdTZSBoYSBjYW5jZWxhZG8gbGEgYsO6c3F1ZWRhLicsXG4gICAgICB0b29NYW55QWN0aXZlU2Vzc2lvbnM6XG4gICAgICAgICdIYXkgZGVtYXNpYWRhcyBjb252ZXJzYWNpb25lcyBnZW5lcmFuZG8gYSBsYSB2ZXouIEVzcGVyw6EgYSBxdWUgdGVybWluZSB1bmEgYW50ZXMgZGUgaW5pY2lhciBvdHJhLicsXG4gICAgICBhdHRhY2htZW50UHJldmlld01vZGFsOiB7XG4gICAgICAgIGxvYWRpbmc6ICdDYXJnYW5kby4uLicsXG4gICAgICAgIHVuc3VwcG9ydGVkRmlsZU1lc3NhZ2U6XG4gICAgICAgICAgJ0VzdGUgdGlwbyBkZSBhcmNoaXZvIG5vIHB1ZWRlIHNlciBwcmV2aXN1YWxpemFkby4gUG9yIGZhdm9yLCBpbnRlbnRhIGRlIG51ZXZvIGVuIHVub3MgbWludXRvcy4nLFxuICAgICAgICB0eXBlTGFiZWw6ICdUaXBvOicsXG4gICAgICAgIHVua25vd246ICdEZXNjb25vY2lkbycsXG4gICAgICAgIHNpemVMYWJlbDogJ1RhbWHDsW86JyxcbiAgICAgICAgZXhjZWw6IHtcbiAgICAgICAgICBzaGVldFNlbGVjdG9yTGFiZWw6ICdIb2phOicsXG4gICAgICAgICAgbG9hZEVycm9yOiAnTm8gc2UgcHVkbyBjYXJnYXIgZWwgY29udGVuaWRvIGRlbCBhcmNoaXZvIEV4Y2VsLicsXG4gICAgICAgICAgZmlsZVJlYWRFcnJvcjogJ0Vycm9yIGFsIGxlZXIgZWwgYXJjaGl2by4nLFxuICAgICAgICAgIHNoZWV0TG9hZEVycm9yOiAnRXJyb3IgYWwgY2FyZ2FyIGxhIGhvamEgc2VsZWNjaW9uYWRhLicsXG4gICAgICAgIH0sXG4gICAgICAgIHdvcmQ6IHtcbiAgICAgICAgICBsb2FkRXJyb3I6ICdObyBzZSBwdWRvIGNhcmdhciBlbCBjb250ZW5pZG8gZGVsIGRvY3VtZW50byBXb3JkLicsXG4gICAgICAgICAgbGVnYWN5RG9jVW5zdXBwb3J0ZWQ6ICdMYSBwcmV2aXN1YWxpemFjacOzbiBkZSBhcmNoaXZvcyAuZG9jIG5vIGVzdMOhIGRpc3BvbmlibGUuIFVzYSBmb3JtYXRvIC5kb2N4LicsXG4gICAgICAgIH0sXG4gICAgICAgIHBwdDoge1xuICAgICAgICAgIGxvYWRFcnJvcjogJ05vIHNlIHB1ZG8gY2FyZ2FyIGVsIGNvbnRlbmlkbyBkZSBsYSBwcmVzZW50YWNpw7NuLicsXG4gICAgICAgICAgbGVnYWN5UHB0VW5zdXBwb3J0ZWQ6ICdMYSBwcmV2aXN1YWxpemFjacOzbiBkZSBhcmNoaXZvcyAucHB0IG5vIGVzdMOhIGRpc3BvbmlibGUuIFVzYSBmb3JtYXRvIC5wcHR4LicsXG4gICAgICAgICAgc2xpZGVMYWJlbDogJ0RpYXBvc2l0aXZhIHt7bnVtYmVyfX0nLFxuICAgICAgICAgIGVtcHR5U2xpZGU6ICdFc3RhIGRpYXBvc2l0aXZhIG5vIHRpZW5lIHRleHRvIG5pIGltw6FnZW5lcyBwYXJhIHByZXZpc3VhbGl6YXIuJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZWxldGVRdWVzdGlvbk1vZGFsOiB7XG4gICAgICB0aXRsZTogJ8K/RGVzZWFzIGVsaW1pbmFyIGVzdGEgY29udmVyc2FjacOzbj8nLFxuICAgICAgZmlyc3RQYXJ0OiAnRXN0w6FzIHBvciBlbGltaW5hcicsXG4gICAgICBzZWNvbmRQYXJ0OiAnRXN0YSBhY2Npw7NuIGVzIGlycmV2ZXJzaWJsZS4nLFxuICAgICAgY2FuY2VsOiAnQ2FuY2VsYXInLFxuICAgICAgZGVsZXRlOiAnRWxpbWluYXInLFxuICAgIH0sXG4gICAgZGVsZXRlU2tpbGxNb2RhbDoge1xuICAgICAgdGl0bGU6ICfCv0Rlc2VhcyBlbGltaW5hciBlc3RhIHNraWxsPycsXG4gICAgICBmaXJzdFBhcnQ6ICdFc3TDoXMgcG9yIGVsaW1pbmFyJyxcbiAgICAgIHNlY29uZFBhcnQ6ICdFc3RhIGFjY2nDs24gZXMgaXJyZXZlcnNpYmxlLicsXG4gICAgICBjYW5jZWw6ICdDYW5jZWxhcicsXG4gICAgICBkZWxldGU6ICdFbGltaW5hcicsXG4gICAgfSxcbiAgICBlZGl0UXVlc3Rpb25Nb2RhbDoge1xuICAgICAgbmV3TmFtZTogJ051ZXZvIG5vbWJyZScsXG4gICAgICB0aXRsZTogJ1Jlbm9tYnJhciBjb252ZXJzYWNpw7NuJyxcbiAgICAgIHJlbmFtZTogJ1Jlbm9tYnJhcicsXG4gICAgICBjYW5jZWw6ICdDYW5jZWxhcicsXG4gICAgICBtYXhMZW5ndGg6ICdDb21wbGV0YXN0ZSBsb3MgMTQwIGNhcmFjdGVyZXMgZGVsIGzDrW1pdGUuJyxcbiAgICB9LFxuICAgIG1vZGFsRmlsZUV4Y2VlZHM6IHtcbiAgICAgIGxpbWl0RmlsZXNUaXRsZTogJ0hhcyBzdXBlcmFkbyBlbCBsw61taXRlIGRlIGFkanVudG9zLicsXG4gICAgICBsaW1pdFNpemVUaXRsZTogJ0hhcyBzdXBlcmFkbyBlbCBsw61taXRlIGRlIHBlc28gcGVybWl0aWRvLicsXG4gICAgICBsaW1pdEZpbGVzRGVzY3JpcHRpb246XG4gICAgICAgICdTb2xvIHB1ZWRlcyBhZGp1bnRhciBoYXN0YSA1IGFyY2hpdm9zIHBvciBtZW5zYWplLiBMb3Mgc2lndWllbnRlcyBhcmNoaXZvcyBubyBzZSBwdWRpZXJvbiBhZGp1bnRhcjonLFxuICAgICAgbGltaXRTaXplRGVzY3JpcHRpb246XG4gICAgICAgICdVbm8gbyBtw6FzIHN1cGVyYW4gZWwgdGFtYcOxbyBtw6F4aW1vIHBlcm1pdGlkbyBwb3IgdGlwby4gTG9zIHNpZ3VpZW50ZXMgYXJjaGl2b3Mgbm8gc2UgcHVkaWVyb24gYWRqdW50YXI6JyxcbiAgICAgIGFjY2VwdDogJ0FjZXB0YXInLFxuICAgICAgbGltaXQ6ICdsw61taXRlJyxcbiAgICB9LFxuICAgIHNvdXJjZXNJbmZvcm1hdGlvbk1vZGFsOiB7XG4gICAgICB0aXRsZTogJ0Z1ZW50ZXM6JyxcbiAgICB9LFxuICAgIGFnZW50czoge1xuICAgICAgdGl0bGU6ICdBZ2VudGVzJyxcbiAgICAgIG5ld0FnZW50OiAnTnVldm8gYWdlbnRlJyxcbiAgICAgIGNyZWF0ZUFnZW50OiAnQ3JlYXIgQWdlbnRlJyxcbiAgICAgIGVkaXQ6ICdFZGl0YXInLFxuICAgICAgbWFpYTogJyhFc3BlY2lhbGlzdGEgZGUgcHJveWVjdG8pJyxcbiAgICAgIGFkZEZhdm9yaXRlOiAnQWdyZWdhciBhIGZhdm9yaXRvcycsXG4gICAgICByZW1vdmVGYXZvcml0ZTogJ1F1aXRhciBkZSBmYXZvcml0b3MnLFxuICAgICAgZmF2b3JpdGVUb2dnbGVkQWRkZWRTdWNjZXNzOiAnQWdlbnRlIGFncmVnYWRvIGEgZmF2b3JpdG9zJyxcbiAgICAgIGZhdm9yaXRlVG9nZ2xlZFJlbW92ZWRTdWNjZXNzOiAnQWdlbnRlIHJlbW92aWRvIGRlIGZhdm9yaXRvcycsXG4gICAgICBmYXZvcml0ZVRvZ2dsZWRFcnJvcjogJ05vIHNlIHB1ZG8gZ3VhcmRhciB0dSBmYXZvcml0by4gSW50ZW50YSBudWV2YW1lbnRlLicsXG4gICAgICBmYXZvcml0ZVRvZ2dsZWRSZW1vdmVkRXJyb3I6ICdObyBzZSBwdWRvIHF1aXRhciBlbCBmYXZvcml0by4gSW50ZW50YSBudWV2YW1lbnRlLicsXG4gICAgICBtYWlhSW50cm9kdWN0aW9uOiAnQmllbnZlbmlkbyBhIE1BSUEgdHUgYXNpc3RlbnRlLCBwYXJhIG1lam9yYXIgdHUgZMOtYSBhIGTDrWEuJyxcbiAgICB9LFxuICAgIGNvbnZlcnNhdGlvbnM6IHtcbiAgICAgIHRpdGxlOiAnTWlzIGNvbnZlcnNhY2lvbmVzJyxcbiAgICAgIGFnZW50c1NlY3Rpb25UaXRsZTogJ0FnZW50ZXMnLFxuICAgICAgbWFpYWtlck5hdjogJ0NyZWFkb3IgZGUgYWdlbnRlcycsXG4gICAgICBteUFnZW50c05hdjogJ01pcyBhZ2VudGVzJyxcbiAgICAgIG15U2tpbGxzTmF2OiAnU2tpbGxzJyxcbiAgICAgIGVycm9yOiAnT2N1cnJpw7MgdW4gZXJyb3IgYWwgY2FyZ2FyIGVsIGhpc3RvcmlhbCBkZSBjb252ZXJzYWNpb25lcycsXG4gICAgICBlbXB0eTogJ0FxdcOtIHNlIG1vc3RyYXLDoW4gdG9kYXMgdHVzIGNvbnZlcnNhY2lvbmVzIGNvbiBsb3MgYWdlbnRlcycsXG4gICAgICBlbXB0eUxhYmVsOiAnTWVuc2FqZSBjb24gYXJjaGl2b3MnLFxuICAgICAgdW5yZWFkTGFiZWw6ICdTaW4gbGVlcicsXG4gICAgICBtaW5pbWl6ZWRPcGVuOiAnQWJyaXIgTUFJQScsXG4gICAgICBtaW5pbWl6ZWRTZWVBbnN3ZXI6ICdWZXIgcmVzcHVlc3RhJyxcbiAgICAgIGNvbGxhcHNlOiAnQ29sYXBzYXInLFxuICAgICAgZXhwYW5kOiAnRXhwYW5kaXInLFxuICAgICAgbmV3Q2hhdDogJ051ZXZvIGNoYXQnLFxuICAgICAgZ2VuZXJhdGluZzogJ0dlbmVyYW5kbyByZXNwdWVzdGEnLFxuICAgICAgc2Vzc2lvbkZpbmlzaGVkOiAne3t0aXRsZX19IHRlcm1pbsOzIGRlIHJlc3BvbmRlcicsXG4gICAgICBzZXNzaW9uRmluaXNoZWRBcHByb3ZhbDogJ3t7dGl0bGV9fSByZXF1aWVyZSB0dSBhcHJvYmFjacOzbicsXG4gICAgICBzZXNzaW9uRmluaXNoZWRFcnJvcjogJ3t7dGl0bGV9fSB0dXZvIHVuIGVycm9yIGFsIHJlc3BvbmRlcicsXG4gICAgICBvcGVuQWdlbnRDcmVhdG9yOiAnQ3JlYXIgYWdlbnRlJyxcbiAgICAgIG9wZW5NYXJrZXRwbGFjZTogJ01hcmtldHBsYWNlIGRlIGFnZW50ZXMnLFxuICAgIH0sXG4gICAgbWFya2V0cGxhY2U6IHtcbiAgICAgIGJhY2s6ICdWb2x2ZXInLFxuICAgICAgdGl0bGU6ICdJZGVhcyBwYXJhIGNyZWFyIGFnZW50ZXMnLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdFbGVnw60gdW5hIHN1Z2VyZW5jaWEgYmllbiBhcm1hZGEgeSBhYnLDrSBlbCBlZGl0b3IgY29uIGVsIGFnZW50ZSB5YSBwcmVjYXJnYWRvIHBhcmEgYWRhcHRhcmxvIGEgdHUgY2Fzby4nLFxuICAgICAgbXlBZ2VudHNUaXRsZTogJ01pcyBhZ2VudGVzJyxcbiAgICAgIG15QWdlbnRzUmVhZHlUaXRsZTogJ1R1cyBhZ2VudGVzIGVzdGFuIGxpc3RvcyBwYXJhIGF5dWRhcnRlIGVuIHRhcmVhcycsXG4gICAgICBteUFnZW50c0Rlc2NyaXB0aW9uOiAnRXN0b3Mgc29uIHR1cyBhZ2VudGVzIGN1c3RvbS4gU2VsZWNjaW9uYSB1bm8gcGFyYSBlbXBlemFyIGEgY29udmVyc2FyIGNvbiBlc2UgcGVyZmlsLicsXG4gICAgICBteUFnZW50c0VtcHR5U3RhdGVUaXRsZTogJ0HDum4gbm8gdGllbmVzIGFnZW50ZXMgY3JlYWRvcycsXG4gICAgICBteUFnZW50c0VtcHR5U3RhdGVEZXNjcmlwdGlvbjogJ0hheiBjbGljIGVuIGVsIGJvdMOzbiBkZSBhYmFqbyBwYXJhIGVtcGV6YXIgYSBjcmVhciBhZ2VudGVzIGEgdHUgbWVkaWRhLicsXG4gICAgICBteUFnZW50c0VtcHR5U3RhdGVEZXNjcmlwdGlvbk5vUGVybTpcbiAgICAgICAgJ0N1YW5kbyBsYSBwZXJzb25hIGNvbiBwZXJtaXNvcyBwYXJhIGNyZWFybG9zIGxvcyBjb25maWd1cmUsIHZhcyBhIHBvZGVyIGFjY2VkZXIgZGVzZGUgYWPDoS4nLFxuICAgICAgbXlBZ2VudHNFbXB0eVN0YXRlQnV0dG9uOiAnQ3JlYXIgYWdlbnRlJyxcbiAgICAgIG15QWdlbnRzRmFsbGJhY2tJbnRybzogJ0FnZW50ZSBwZXJzb25hbGl6YWRvIGxpc3RvIHBhcmEgYXl1ZGFydGUgZW4gdHUgZmx1am8gZGUgdHJhYmFqby4nLFxuICAgICAgbXlBZ2VudHNGYWxsYmFja0Rlc2NyaXB0aW9uOiAnSGF6IGNsaWNrIGVuIHVzYXIgYWdlbnRlIHBhcmEgaW5pY2lhciB1bmEgY29udmVyc2FjacOzbiBjb24gZXN0ZSBhZ2VudGUuJyxcbiAgICAgIG15QWdlbnRzRmFsbGJhY2tEYXRlOiAnSGFjZSBwb2NvcyBkaWFzJyxcbiAgICAgIG15QWdlbnRzVG9kYXk6ICdIb3knLFxuICAgICAgbXlBZ2VudHNPbmVEYXlBZ286ICdIYWNlIDEgZGlhJyxcbiAgICAgIG15QWdlbnRzRGF5c0FnbzogJ0hhY2Uge3tkYXlzfX0gZGlhcycsXG4gICAgICBjYXJkTWVudUFyaWFMYWJlbDogJ01lbnUgZGUgYWNjaW9uZXMgZGVsIGFnZW50ZScsXG4gICAgICB1c2U6ICdVc2FyJyxcbiAgICAgIGNyZWF0ZUFnZW50OiAnQ3JlYXIgYWdlbnRlIG1hbnVhbG1lbnRlJyxcbiAgICAgIHNlYXJjaEFnZW50UGxhY2Vob2xkZXI6ICdCdXNjYXIgYWdlbnRlLi4uJyxcbiAgICAgIHNlYXJjaE1pbkxlbmd0aDogJ23DrW4uIDMgY2FyYWN0ZXJlcycsXG4gICAgICBzZWFyY2hOb1Jlc3VsdHM6ICdObyBzZSBlbmNvbnRyYXJvbiByZXN1bHRhZG9zLicsXG4gICAgICBzZWFyY2hOb1Jlc3VsdHNTdWJ0aXRsZTogJ0NyZWEgdW4gYWdlbnRlIGRlIElBIHF1ZSBwdWVkYSBwZW5zYXIsIGFjdHVhciB5IGF1dG9tYXRpemFyIGVsIHRyYWJham8gcGFyYSB0aScsXG4gICAgICB1c2VUZW1wbGF0ZTogJ0NyZWFyIGRlc2RlIGVzdGEgaWRlYScsXG4gICAgICB1c2VNeUFnZW50OiAnVXNhciBhZ2VudGUnLFxuICAgICAgYmFkZ2VzOiB7XG4gICAgICAgIGJyYW5kaW5nOiAnQnJhbmRpbmcnLFxuICAgICAgICBsaW5rZWRpbjogJ0xpbmtlZEluJyxcbiAgICAgICAgbWFya2V0aW5nOiAnTWFya2V0aW5nJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBteVNraWxsczoge1xuICAgICAgdGl0bGU6ICdFc3BlY2lhbGl6YSBhIE1BSUEgY29uIHR1cyBwcm9waWFzIHJlZ2xhcycsXG4gICAgICBzdWJ0aXRsZTogJ0xhcyBza2lsbHMgc29uIGdsb2JhbGVzOiBlc3TDoW4gZGlzcG9uaWJsZXMgcGFyYSB0b2RvcyB0dXMgYWdlbnRlcy4nLFxuICAgICAgdGFiTXlTa2lsbHM6ICdNaXMgc2tpbGxzJyxcbiAgICAgIHRhYlNoYXJlZFNraWxsczogJ1NraWxscyBjb21wYXJ0aWRhcycsXG4gICAgICBkcm9wZG93bkJ1dHRvbjogJ1NraWxscycsXG4gICAgICBkcm9wZG93bkNyZWF0ZTogJ0NyZWFyIG51ZXZhIHNraWxsJyxcbiAgICAgIGRyb3Bkb3duRW1wdHk6ICdUb2RhdsOtYSBubyBoYXkgc2tpbGxzJyxcbiAgICAgIGRyb3Bkb3duRXJyb3I6ICdIdWJvIHVuIHByb2JsZW1hLiBJbnRlbnTDoSBkZSBudWV2by4nLFxuICAgICAgbXlTa2lsbHNEZXNjcmlwdGlvbjogJ0hhYmlsaWRhZGVzIGNyZWFkbyBwb3IgdGkuJyxcbiAgICAgIHNoYXJlZFNraWxsc0Rlc2NyaXB0aW9uOiAnSGFiaWxpZGFkZXMgY29tcGFydGlkYXMgcG9yIG90cm9zIG1pZW1icm9zIGRlIHR1IGVxdWlwby4nLFxuICAgICAgc2VhcmNoUGxhY2Vob2xkZXI6ICdCdXNjYXIgaGFiaWxpZGFkZXMuLi4nLFxuICAgICAgY3JlYXRlTWFudWFsbHk6ICdDcmVhciBtYW51YWxtZW50ZScsXG4gICAgICB2aXNpYmlsaXR5T25seU1lOiAnU29sbyB5bycsXG4gICAgICB2aXNpYmlsaXR5RXZlcnlvbmU6ICdWaXNpYmxlIHBhcmEgdG9kb3MnLFxuICAgICAgc2hhcmVkRW1wdHlTdGF0ZVRpdGxlOiAnQcO6biBubyBjb21wYXJ0aWVyb24gc2tpbGxzIGNvbnRpZ28uJyxcbiAgICAgIHNoYXJlZEVtcHR5U3RhdGVEZXNjcmlwdGlvbjogJ0N1YW5kbyB0dSBjb21wYcOxw61hIGNvbXBhcnRhIHNraWxscywgYXBhcmVjZXLDoW4gYXF1w60uJyxcbiAgICAgIGNyZWF0ZVNraWxsOiAnQ3JlYXIgc2tpbGwnLFxuICAgICAgcHJldmlldzogJ1Zpc3RhIHByZXZpYScsXG4gICAgICBwcmV2aWV3RW1wdHk6ICdOYWRhIHBhcmEgcHJldmlzdWFsaXphciB0b2RhdsOtYS4nLFxuICAgICAgdXBsb2FkTWQ6ICdTdWJpciAubWQnLFxuICAgICAgdXBsb2FkRXJyb3I6ICdTb2xvIHNlIHBlcm1pdGVuIGFyY2hpdm9zIC5tZCcsXG4gICAgICBjcmVhdGVXaXRoTWFpYTogJ0NyZWFyIGNvbiBNYWlhJyxcbiAgICAgIHdyaXRlSW5zdHJ1Y3Rpb25zOiAnRXNjcmliaXIgaW5zdHJ1Y2Npb25lcycsXG4gICAgICB1cGxvYWRTa2lsbDogJ1N1YmlyIHVuYSBza2lsbCcsXG4gICAgICBnZW5lcmF0ZVBsYWNlaG9sZGVyOiAnUXVpZXJvIHVuYSBTa2lsbCBwYXJhIGNyZWFyIG1pcyBwcm95ZWN0b3MnLFxuICAgICAgZ2VuZXJhdGVXaXRoTWFpYTogJ0NyZWFyIGxhIFNraWxsIGNvbiBNYWlhJyxcbiAgICAgIGdlbmVyYXRlTmVlZHNOYW1lOiAnRXNjcmliw60gdW4gbm9tYnJlIHByaW1lcm8gcGFyYSBkZXNjcmliaXIgbGEgc2tpbGwnLFxuICAgICAgZ2VuZXJhdGVTdWNjZXNzOiAnU2tpbGwgZ2VuZXJhZGEgY29uIE1haWEnLFxuICAgICAgZ2VuZXJhdGVFcnJvcjogJ05vIHNlIHB1ZG8gZ2VuZXJhciBsYSBza2lsbC4gSW50ZW50YSBudWV2YW1lbnRlLicsXG4gICAgICBjYXJkTWVudUFyaWFMYWJlbDogJ01lbsO6IGRlIGFjY2lvbmVzIGRlIGxhIHNraWxsJyxcbiAgICAgIGVkaXQ6ICdFZGl0YXInLFxuICAgICAgZGVsZXRlOiAnRWxpbWluYXInLFxuICAgICAgY2FuY2VsOiAnQ2FuY2VsYXInLFxuICAgICAgc2F2ZTogJ0d1YXJkYXInLFxuICAgICAgY2xvc2U6ICdDZXJyYXInLFxuICAgICAgY3JlYXRlVGl0bGU6ICdDcmVhY2nDs24gZGUgc2tpbGwnLFxuICAgICAgZWRpdFRpdGxlOiAnRWRpY2nDs24gZGUgc2tpbGwnLFxuICAgICAgdmlld1RpdGxlOiAnU2tpbGwgY29tcGFydGlkYScsXG4gICAgICB1c2VTa2lsbDogJ1VzYXIgc2tpbGwnLFxuICAgICAgaW5mb1Rvb2x0aXA6XG4gICAgICAgICdMYXMgc2tpbGxzIHNvbiBpbnN0cnVjY2lvbmVzIHF1ZSBsZSBkYXMgYSB1biBhZ2VudGUgcGFyYSBxdWUgcmVzdWVsdmEgdW5hIHRhcmVhIHNpZW1wcmUgZGUgbGEgbWlzbWEgZm9ybWEuIE1lbmNpb25hbGEgY29uICMgZW4gZWwgY2hhdCB5IGVsIGFnZW50ZSBzZWd1aXLDoSBlc2UgcGFzbyBhIHBhc28uJyxcbiAgICAgIHNoYXJlZENyZWF0ZWRCeTogJ0NyZWFkYSBwb3Ige3tuYW1lfX0nLFxuICAgICAgbmFtZUxhYmVsOiAnTm9tYnJlJyxcbiAgICAgIG5hbWVQbGFjZWhvbGRlcjogJ05vbWJyZSBkZSBsYSBza2lsbCcsXG4gICAgICBkZXNjcmlwdGlvbkxhYmVsOiAnRGVzY3JpcGNpw7NuJyxcbiAgICAgIGRlc2NyaXB0aW9uUGxhY2Vob2xkZXI6ICdEZXNjcmliZSBicmV2ZW1lbnRlIHBhcmEgcXXDqSBzaXJ2ZSBsYSBza2lsbCcsXG4gICAgICBpbnN0cnVjdGlvbnNMYWJlbDogJ0luc3RydWNjaW9uZXMnLFxuICAgICAgc2hhcmVXaXRoQ29tcGFueTogJ0hhYmlsaXRhciBwYXJhIHRvZGEgbGEgY29tcGHDscOtYScsXG4gICAgICBjcmVhdGVkQnk6ICdDcmVhZG8gcG9yJyxcbiAgICAgIGxhc3RVcGRhdGVkOiAnw5psdGltYSBhY3R1YWxpemFjacOzbicsXG4gICAgICBzYXZlQW5kVXNlOiAnR3VhcmRhciB5IHVzYXIgc2tpbGwnLFxuICAgICAgY29udGVudExhYmVsOiAnU2tpbGwnLFxuICAgICAgY29udGVudFBsYWNlaG9sZGVyOiAnRXNjcmliZSBsYSBza2lsbC4uLicsXG4gICAgICBlbXB0eVN0YXRlVGl0bGU6ICdBw7puIG5vIHRpZW5lcyBza2lsbHMgY3JlYWRhcycsXG4gICAgICBlbXB0eVN0YXRlRGVzY3JpcHRpb246ICdIYXogY2xpYyBlbiBlbCBib3TDs24gZGUgYWJham8gcGFyYSBlbXBlemFyIGEgY3JlYXIgc2tpbGxzIGEgdHUgbWVkaWRhLicsXG4gICAgICBlbXB0eVN0YXRlRGVzY3JpcHRpb25Ob1Blcm06XG4gICAgICAgICdDdWFuZG8gbGEgcGVyc29uYSBjb24gcGVybWlzb3MgcGFyYSBjcmVhcmxhcyBsYXMgY29uZmlndXJlLCB2YXMgYSBwb2RlciBhY2NlZGVyIGRlc2RlIGFjw6EuJyxcbiAgICAgIGVtcHR5U3RhdGVCdXR0b246ICdDcmVhciBza2lsbCcsXG4gICAgICBzZWFyY2hFbXB0eVN0YXRlVGl0bGU6ICdObyBlbmNvbnRyYW1vcyBuaW5ndW5hIHNraWxsJyxcbiAgICAgIHNlYXJjaEVtcHR5U3RhdGVEZXNjcmlwdGlvbjogJ1BydWViYSBjb24gb3RybyB0w6lybWlubyBvIHJldmlzYSB0dSBiw7pzcXVlZGEuJyxcbiAgICAgIGNyZWF0ZVN1Y2Nlc3M6ICdTa2lsbCBjcmVhZGEgY29uIMOpeGl0bycsXG4gICAgICBjcmVhdGVFcnJvcjogJ05vIHNlIHB1ZG8gY3JlYXIgbGEgc2tpbGwuIEludGVudGEgbnVldmFtZW50ZS4nLFxuICAgICAgdXBkYXRlU3VjY2VzczogJ1NraWxsIGFjdHVhbGl6YWRhIGNvbiDDqXhpdG8nLFxuICAgICAgdXBkYXRlRXJyb3I6ICdObyBzZSBwdWRvIGFjdHVhbGl6YXIgbGEgc2tpbGwuIEludGVudGEgbnVldmFtZW50ZS4nLFxuICAgICAgZGVsZXRlU3VjY2VzczogJ1NraWxsIGVsaW1pbmFkYSBjb24gw6l4aXRvJyxcbiAgICAgIGRlbGV0ZUVycm9yOiAnTm8gc2UgcHVkbyBlbGltaW5hciBsYSBza2lsbC4gSW50ZW50YSBudWV2YW1lbnRlLicsXG4gICAgfSxcbiAgICBzbmFja2Jhcjoge1xuICAgICAgZGVsZXRlQ2hhdDoge1xuICAgICAgICBzdWNjZXNzOiAnVHUgY29udmVyc2FjacOzbiBmdWUgZWxpbWluYWRhIGNvbiDDqXhpdG8uJyxcbiAgICAgICAgZXJyb3I6ICdPY3VycmnDsyB1biBlcnJvciBpbmVzcGVyYWRvLiBQb3IgZmF2b3IgdnVlbHZlIGEgaW50ZW50YXJsby4nLFxuICAgICAgfSxcbiAgICAgIHJlbmFtZWRDaGF0OiB7XG4gICAgICAgIHN1Y2Nlc3M6ICdDb252ZXJzYWNpw7NuIHJlbm9tYnJhZGEgY29uIMOpeGl0bycsXG4gICAgICAgIGVycm9yOiAnT2N1cnJpw7MgdW4gZXJyb3IgaW5lc3BlcmFkby4gUG9yIGZhdm9yIHZ1ZWx2ZSBhIGludGVudGFybG8uJyxcbiAgICAgIH0sXG4gICAgICBsb2FkTW9yZUFnZW50czoge1xuICAgICAgICBlcnJvcjogJ09jdXJyacOzIHVuIGVycm9yIGluZXNwZXJhZG8uIFBvciBmYXZvciB2dWVsdmUgYSBpbnRlbnRhcmxvLicsXG4gICAgICB9LFxuICAgIH0sXG4gICAgYXBwcm92YWxCb3g6IHtcbiAgICAgIHVudGl0bGVkQWdlbnQ6ICdBZ2VudGUgc2luIG5vbWJyZScsXG4gICAgICBhY3Rpb25zOiB7XG4gICAgICAgIGNyZWF0ZV90YXNrOiAnQ3JlYWNpw7NuIGRlIHRhcmVhJyxcbiAgICAgICAgY3JlYXRlX3Rhc2tzX2JhdGNoOiAnQ3JlYWNpw7NuIGRlIHRhcmVhcycsXG4gICAgICAgIGNyZWF0ZV9hZ2VudDogJ0NyZWFjacOzbiBkZSBhZ2VudGUnLFxuICAgICAgICBlZGl0X2FnZW50OiAnRWRpY2nDs24gZGUgYWdlbnRlJyxcbiAgICAgICAgZWRpdF9wcm9qZWN0OiAnRWRpY2nDs24gZGUgcHJveWVjdG8nLFxuICAgICAgICBlZGl0X3Rhc2s6ICdFZGljacOzbiBkZSB0YXJlYScsXG4gICAgICAgIGVkaXRfdGFza3NfYmF0Y2g6ICdFZGljacOzbiBkZSB0YXJlYXMnLFxuICAgICAgICBkZWxldGVfdGFzazogJ0VsaW1pbmFjacOzbiBkZSB0YXJlYScsXG4gICAgICAgIGRlbGV0ZV90YXNrc19iYXRjaDogJ0VsaW1pbmFjacOzbiBkZSB0YXJlYXMnLFxuICAgICAgICB0YXNrX2Fzc2lnbjogJ0FzaWduYWNpw7NuIGRlIHVzdWFyaW8nLFxuICAgICAgICB0YXNrX3VuYXNzaWduOiAnRGVzYXNpZ25hY2nDs24gZGUgdXN1YXJpbycsXG4gICAgICAgIGFzc2lnbl90YXNrX2xhYmVsOiAnQXNpZ25hY2nDs24gZGUgZXRpcXVldGEnLFxuICAgICAgICBjcmVhdGVfbGFiZWxzOiAnQ3JlYWNpw7NuIGRlIGV0aXF1ZXRhJyxcbiAgICAgICAgdXBkYXRlX3Rhc2tfdHlwZTogJ0FjdHVhbGl6YWNpw7NuIGRlIHRpcG8gZGUgdGFyZWEnLFxuICAgICAgICB1cGRhdGVfZXN0aW1hdGVkX2hvdXJzOiAnQWN0dWFsaXphY2nDs24gZGUgaG9yYXMgZXN0aW1hZGFzJyxcbiAgICAgICAgdXBkYXRlX2RlbGl2ZXJhYmxlOiAnQWN0dWFsaXphY2nDs24gZGUgZW50cmVnYWJsZScsXG4gICAgICAgIGNyZWF0ZV9ob3VyOiAnQ2FyZ2EgZGUgaG9yYXMnLFxuICAgICAgICBjcmVhdGVfY2hlY2tsaXN0OiAnQ3JlYWNpw7NuIGRlIGNoZWNrbGlzdCcsXG4gICAgICAgIGNyZWF0ZV9jaGVja2xpc3RfaXRlbTogJ0NyZWFjacOzbiBkZSDDrXRlbSBkZWwgY2hlY2tsaXN0JyxcbiAgICAgICAgY2xvbmVfdGFzazogJ0Nsb25hciB0YXJlYScsXG4gICAgICAgIGdldF90YXNrX2RhdGVfaG91cnM6ICdDb25zdWx0YSBkZSBob3JhcyBwb3IgZmVjaGEnLFxuICAgICAgICBjb25maWd1cmVfYWdlbnRfYWNjZXNzOiAnQ2FtYmlhciB2aXNpYmlsaWRhZCBkZWwgYWdlbnRlJyxcbiAgICAgICAgc2VuZF90YXNrX21lc3NhZ2U6ICdFbnbDrW8gZGUgbWVuc2FqZSBlbiBsYSB0YXJlYScsXG4gICAgICAgIGRlbGV0ZV9jaGVja2xpc3RfaXRlbTogJ0VsaW1pbmFjacOzbiBkZSDDrXRlbSBkZWwgY2hlY2tsaXN0JyxcbiAgICAgICAgcmVtb3ZlX3Rhc2tfdHlwZTogJ0VsaW1pbmFjacOzbiBkZSB0aXBvIGRlIHRhcmVhJyxcbiAgICAgICAgcmVtb3ZlX3Rhc2tfbGFiZWw6ICdFbGltaW5hY2nDs24gZGUgZXRpcXVldGEnLFxuICAgICAgICBjb3VudF9kZWxpdmVyYWJsZTogJ0FjdHVhbGl6YWNpw7NuIGRlbCBjb250YWRvciBkZSBlbnRyZWdhYmxlcycsXG4gICAgICAgIGNyZWF0ZV9yZXdvcms6ICdDcmVhY2nDs24gZGUgcmV0cmFiYWpvJyxcbiAgICAgICAgdXBkYXRlX3Jld29yazogJ0FjdHVhbGl6YWNpw7NuIGRlIHJldHJhYmFqbycsXG4gICAgICAgIGRlbGV0ZV9hZ2VudDogJ0VsaW1pbmFjacOzbiBkZSBhZ2VudGUnLFxuICAgICAgICB1bmtub3duOiAnQWNjacOzbiBkZXNjb25vY2lkYScsXG4gICAgICB9LFxuICAgICAgc3BlY2lhbDoge1xuICAgICAgICBjcmVhdGVSZXdvcms6IHtcbiAgICAgICAgICB0aXRsZTogJ0NyZWFyIHJldHJhYmFqbycsXG4gICAgICAgICAgZGVzY3JpcHRpb246ICdTZSBjcmVhcsOhIHVuIHJldHJhYmFqbyBlbiBsYSB0YXJlYSBjb24gbGEgaW5mb3JtYWNpw7NuIGluZGljYWRhLicsXG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZURlbGl2ZXJhYmxlQ2hpbGRyZW46IHtcbiAgICAgICAgICB0aXRsZTogJ0FjdHVhbGl6YXIgYXZhbmNlIGRlIGVudHJlZ2FibGVzJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ1NlIGFjdHVhbGl6YXLDoSBlbCBhdmFuY2UgZGUgbG9zIHN1YmVudHJlZ2FibGVzIHZpbmN1bGFkb3MgYSBlc3RhIHRhcmVhLicsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIG5hbWU6ICdOb21icmUnLFxuICAgICAgICBlbW9qaTogJ0Vtb2ppJyxcbiAgICAgICAgaW50cm9kdWN0aW9uOiAnSW50cm9kdWNjacOzbicsXG4gICAgICAgIGlucHV0X3BsYWNlaG9sZGVyOiAnUGxhY2Vob2xkZXInLFxuICAgICAgICB1c2VyX3Byb21wdDogJ1Byb21wdCBwcmluY2lwYWwnLFxuICAgICAgICBsYW5ndWFnZTogJ0lkaW9tYScsXG4gICAgICAgIHByb3ZpZGVyOiAnUHJvdmlkZXInLFxuICAgICAgICBtb2RlbF9uYW1lOiAnTW9kZWxvJyxcbiAgICAgICAgYXBpX2tleTogJ0FQSSBrZXknLFxuICAgICAgfSxcbiAgICAgIHRpdGxlOiAnQ29uZmlybWFjacOzbiByZXF1ZXJpZGEnLFxuICAgICAgZGVzY3JpcHRpb246ICdTZSByZXF1aWVyZSB0dSBhcHJvYmFjacOzbiBwYXJhIGVqZWN1dGFyIGxhIHNpZ3VpZW50ZSBhY2Npw7NuOicsXG4gICAgICBhcHByb3ZlOiAnQXByb2JhcicsXG4gICAgICBkZW55OiAnRGVuZWdhcicsXG4gICAgICBtYW51YWxBcHByb3ZhbFdhcm5pbmc6ICdNYWlhIGhhIGRldGVjdGFkbyBxdWUgbGEgc29saWNpdHVkIGhhIHNpZG8gYXByb2JhZGEgbWFudWFsbWVudGUnLFxuICAgICAgc3RhdHVzOiB7XG4gICAgICAgIGFwcHJvdmVkOiAnU29saWNpdHVkIEFwcm9iYWRhJyxcbiAgICAgICAgZGVuaWVkOiAnU29saWNpdHVkIERlbmVnYWRhJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBjaGlwTGxtOiB7XG4gICAgICB0b29sdGlwOiAnTW9kZWxvOiB7e21vZGVsfX0nLFxuICAgIH0sXG4gICAgY2xpZW50U2VsZWN0b3I6IHtcbiAgICAgIHByb2plY3Q6ICdwcm95ZWN0bycsXG4gICAgICBwcm9qZWN0czogJ3Byb3llY3RvcycsXG4gICAgfSxcbiAgfSxcbiAgW1NFQ1RJT05TLmFibUFnZW50XToge1xuICAgIC4uLmdlbmVyaWNTZWN0aW9uLFxuICAgIGxlZ2VuZERlbGV0ZWRBZ2VudDogJ0VzdGUgYWdlbnRlIGhhIHNpZG8gZWxpbWluYWRvIGVsIGTDrWEnLFxuICAgIGxlZ2VuZFByb2plY3REZWxldGVkOiAnRWwgcHJveWVjdG8ge3tuYW1lfX0gaGEgc2lkbyBlbGltaW5hZG8uIE5vIGVzIHBvc2libGUgY29udGludWFyIGNvbiBsYSBjb252ZXJzYWNpw7NuJyxcbiAgICBsZWdlbmROb0FjY2VzczogJ1lhIG5vIHRpZW5lcyBhY2Nlc28gcGFyYSBpbnRlcmFjdHVhciBjb24gZWwgYWdlbnRlIHt7bmFtZX19JyxcbiAgICBsZWdlbmROb1Blcm1pc3Npb25zOiAnWWEgbm8gdGllbmVzIHBlcm1pc29zIHBhcmEgdmlzdWFsaXphciBuaSBpbnRlcmFjdHVhciBjb24gZWwgYWdlbnRlIHt7bmFtZX19JyxcbiAgICBsZWdlbmRMZWdhY3lDb250ZXh0U2Vzc2lvbjpcbiAgICAgICdFc3RhIGNvbnZlcnNhY2nDs24gcGVydGVuZWNlIGEgdW4gY29udGV4dG8gYW50ZXJpb3IuIFBvZMOpcyBjb250aW51YXIgY29uIHt7bmFtZX19IGVuIHVuIGNoYXQgbnVldm8uJyxcbiAgICBjb250aW51ZUluTmV3Q2hhdDogJ0NvbnRpbnVhciBlbiB1biBjaGF0IG51ZXZvJyxcbiAgICBsZWdlbmRNb2RlbERlcHJlY2F0ZWQ6XG4gICAgICAnRWwgbW9kZWxvIHNlbGVjY2lvbmFkbyBwYXJhIGVzdGUgYWdlbnRlIHlhIG5vIGVzdMOhIGRpc3BvbmlibGUuIENhbWJpYSBhIG90cm8gbW9kZWxvIHBhcmEgc2VndWlyIHV0aWxpesOhbmRvbG8uJyxcbiAgICBsZWdlbmRQcm92aWRlclN0YXR1czpcbiAgICAgICdFbCBtb2RlbG8gcXVlIHVzYSBlc3RlIGFnZW50ZSBlc3TDoSB0ZW5pZW5kbyBwcm9ibGVtYXMgdGVtcG9yYWxlcy4gUHVlZGVzIGVzcGVyYXIgYSBxdWUgc2UgcmVzdGFibGV6Y2EgbyBjYW1iaWFyIGEgb3RybyBtb2RlbG8uJyxcbiAgICBjaGFuZ2VNb2RlbDogJ0NhbWJpYXIgbW9kZWxvJyxcbiAgICBhZ2VudHM6ICdBZ2VudGVzJyxcbiAgICBsYXlvdXRNZW51VG9vbHRpcDogJ0Rpc3Bvc2ljacOzbiBkZWwgY2hhdCcsXG4gICAgbGF5b3V0U2lkZWJhcjogJ0NoYXQgbGF0ZXJhbCcsXG4gICAgbGF5b3V0RnVsbHNjcmVlbjogJ0NoYXQgY29tcGxldG8nLFxuICAgIGxheW91dEZsb2F0aW5nOiAnQ2hhdCBmbG90YW50ZScsXG4gICAgYmFjazogJ1ZvbHZlcicsXG4gICAgYWRkQWdlbnQ6ICdBZ3JlZ2FyIG51ZXZvIGFnZW50ZScsXG4gICAgbmV3QWdlbnQ6ICdOdWV2byBhZ2VudGUnLFxuICAgIGVkaXRBZ2VudDogJ0VkaXRhciBhZ2VudGUnLFxuICAgIGNyZWF0ZUFnZW50OiAnQ3JlYXIgQWdlbnRlJyxcbiAgICBjYW5jZWw6ICdDYW5jZWxhcicsXG4gICAgYWNjZXB0OiAnQWNlcHRhcicsXG4gICAgZGVsZXRlQWdlbnQ6ICdFbGltaW5hciBhZ2VudGUnLFxuICAgIGNvbnRpbnVlOiAnQ29udGludWFyJyxcbiAgICBlZGl0OiAnRWRpdGFyJyxcbiAgICBkZWxldGU6ICdFbGltaW5hcicsXG4gICAgZmVlZGJhY2s6ICdFbnZpYXIgRmVlZGJhY2snLFxuICAgIHNlbmRGZWVkYmFjazogJ0VudmlhciBmZWVkYmFjaycsXG4gICAgc2F2ZUNoYW5nZXM6ICdHdWFyZGFyIGNhbWJpb3MnLFxuICAgIGNyZWF0ZUFnZW50TGFiZWxCdXR0b246ICdDcmVhciBhZ2VudGUnLFxuICAgIG9wZW5BZ2VudENyZWF0b3I6ICdDcmVhciBhZ2VudGUnLFxuICAgIG9wZW5NYXJrZXRwbGFjZTogJ01hcmtldHBsYWNlIGRlIGFnZW50ZXMnLFxuICAgIGNvbmZpcm1BZ2VudFVwZGF0ZWRXaXRoRmlsZXNFcnJvcjogJ0VsIGFnZW50ZSBzZSBlZGl0w7MgZXhpdG9zYW1lbnRlLCBwZXJvIGhheSBhcmNoaXZvcyBxdWUgbm8gcHVkaWVyb24gcHJvY2VzYXJzZS4nLFxuICAgIGNvbmZpcm1BZ2VudENyZWF0ZWQ6ICdFbCBhZ2VudGUgc2UgaGEgY3JlYWRvIGNvbiDDqXhpdG8nLFxuICAgIGNvbmZpcm1BZ2VudERlbGV0ZWQ6ICdFbCBhZ2VudGUgc2UgaGEgZWxpbWluYWRvIGNvbiDDqXhpdG8nLFxuICAgIGNvbmZpcm1BZ2VudFdpdGhGaWxlc0Vycm9yOiAnRWwgYWdlbnRlIHNlIGNyZcOzIGV4aXRvc2FtZW50ZSwgcGVybyBoYXkgYXJjaGl2b3MgcXVlIG5vIHB1ZGllcm9uIHByb2Nlc2Fyc2UuJyxcbiAgICBjb25maXJtQWdlbnRVcGRhdGVkOiAnRWwgYWdlbnRlIHNlIGhhIGFjdHVhbGl6YWRvIGNvbiDDqXhpdG8nLFxuICAgIGNvbmZpcm1DbG9zZUNyZWF0ZUFnZW50OiAnwr9Fc3TDoXMgc2VndXJvIGRlIHF1ZSBxdWllcmVzIGNlcnJhcj8gU2UgcGVyZGVyw6FuIGxvcyBjYW1iaW9zIHJlYWxpemFkb3MuJyxcbiAgICBjb25maXJtQ2xvc2VFZGl0QWdlbnQ6ICfCv0VzdMOhcyBzZWd1cm8gZGUgcXVlIHF1aWVyZXMgY2VycmFyPyBTZSBwZXJkZXLDoW4gbG9zIGNhbWJpb3MgcmVhbGl6YWRvcy4nLFxuICAgIGNvbmZpcm1SZWxvYWRCcm93c2VyOiAnwr9Fc3TDoXMgc2VndXJvIGRlIHF1ZSBxdWllcmVzIHJlY2FyZ2FyIGxhIHDDoWdpbmE/IFNlIHBlcmRlcsOhbiBsb3MgY2FtYmlvcyByZWFsaXphZG9zLicsXG4gICAgZXJyb3JBY2Nlc3NEZW5pZWQ6ICdObyB0aWVuZXMgcGVybWlzb3MgcGFyYSBhY2NlZGVyIGEgZXN0ZSBhZ2VudGUuIENvbnRhY3RhIGNvbiBzb3BvcnRlLicsXG4gICAgZXJyb3JBZ2VudENyZWF0ZWQ6ICdPY3VycmnDsyB1biBlcnJvciBpbmVzcGVyYWRvLiBQb3IgZmF2b3IgdnVlbHZlIGEgaW50ZW50YXJsby4nLFxuICAgIGF0dGFjaG1lbnRDYXJkOiB7XG4gICAgICBkb3dubG9hZDogJ0Rlc2NhcmdhcicsXG4gICAgICBkZWxldGU6ICdFbGltaW5hcicsXG4gICAgfSxcbiAgICBnZW5lcmFsU2VjdGlvbjoge1xuICAgICAgdGl0bGU6ICdHZW5lcmFsJyxcbiAgICAgIGdlbmVyYWxTZXR0aW5nczogJ0NvbmZpZ3VyYWNpw7NuIGdlbmVyYWwnLFxuICAgICAgcmVxdWlyZWRGaWVsZHNMYWJlbDogJypvYmxpZ2F0b3Jpb3MnLFxuICAgICAgaW5mb0xhYmVsOiAnQWdyZWdhIHRvZGEgbGEgaW5mb3JtYWNpw7NuIHBhcmEgcGVyc29uYWxpemFyIGVsIGNvbXBvcnRhbWllbnRvIGRlIHR1IGFnZW50ZScsXG4gICAgICBvcHRpb25hbExhYmVsOiAnT3BjaW9uYWwnLFxuICAgICAgYmFzaWNTZXR0aW5nczogJ0NvbmZpZ3VyYWNpw7NuIGLDoXNpY2EnLFxuICAgICAgc2VsZWN0RW1vamk6ICdTZWxlY2Npb25hciBlbW9qaScsXG4gICAgICBuYW1lOiAnwr9DdcOhbCBlcyBlbCBub21icmUgZGUgdHUgYWdlbnRlPycsXG4gICAgICBuYW1lUGxhY2Vob2xkZXI6ICdBc8OtZ25hbGUgdW4gbm9tYnJlIGEgdHUgYWdlbnRlJyxcbiAgICAgIGJlaGF2aW9yU2V0dGluZ3M6ICdDb25maWd1cmFjacOzbiBkZSBjb21wb3J0YW1pZW50bycsXG4gICAgICBpbml0aWFsUHJvbXB0OiAnwr9DdcOhbGVzIHNvbiBsYXMgaW5zdHJ1Y2Npb25lcz8nLFxuICAgICAgaW5pdGlhbFByb21wdFBsYWNlaG9sZGVyOlxuICAgICAgICAnRWplbXBsbzogRXJlcyB1biBzb2NpYWwgbWVkaWEgY29weXdyaXRlciBxdWUgcmVkYWN0YSB5IGFkYXB0YSBtZW5zYWplcyBwYXJhIGRpZmVyZW50ZXMgcmVkZXMsIGFzZWd1cmFuZG8gY29uc2lzdGVuY2lhIGVuIGVsIHRvbm8sIGxhIHBlcnNvbmFsaWRhZCB5IGxvcyB2YWxvcmVzIGRlIGxhIG1hcmNhLlwiJyxcbiAgICAgIG1vZGVsQWlMYWJlbDogJ01vZGVsbyBkZSBBSScsXG4gICAgICBub01vZGVsc0F2YWlsYWJsZTogJ05vIGhheSBtb2RlbG9zIGRpc3BvbmlibGVzJyxcbiAgICAgIGlucHV0UGxhY2Vob2xkZXJUaXRsZTogJ8K/UXXDqSB2ZXLDoSBlbCB1c3VhcmlvIGVuIGVsIGNhbXBvIGRlIGNoYXQgYW50ZXMgZGUgZXNjcmliaXI/JyxcbiAgICAgIGlucHV0UGxhY2Vob2xkZXI6ICdQcmVnw7pudGFtZSBsbyBxdWUgbmVjZXNpdGVz4oCmJyxcbiAgICAgIGludHJvZHVjdGlvbjogJ8K/Q8OzbW8gc2UgdmEgYSBwcmVzZW50YXIgdHUgYWdlbnRlPycsXG4gICAgICBpbnRyb2R1Y3Rpb25QbGFjZWhvbGRlcjpcbiAgICAgICAgJ0VqZW1wbG86IMKhSG9sYSEg8J+Riy4gVGUgdm95IGEgYXl1ZGFyIGEgY3JlYXIsIGFkYXB0YXIgeSByZXZpc2FyIGNvcHlzIHBhcmEgZGlzdGludGFzIHBsYXRhZm9ybWFzIGFzZWd1cmFuZG8gcXVlIG1hbnRlbmdhbiBsYSB2b3osIGVsIHRvbm8geSBsYSBwZXJzb25hbGlkYWQgZGUgdHUgbWFyY2EuIFB1ZWRlcyBwZWRpcm1lIHF1ZSB0ZSBwcm9wb25nYSBpZGVhcyBwYXJhIHVuYSBjYW1wYcOxYSwgYWRhcHRlIHVuIHRleHRvIHBhcmEgb3RybyBjYW5hbCBvIHJldmlzZSBsYSBjb2hlcmVuY2lhIGRlbCBtZW5zYWplJyxcbiAgICAgIGVycm9yOiB7XG4gICAgICAgIG1heENhcmFjdGVyTmFtZTogJ0NvbXBsZXRhc3RlIGxvcyAxNTAgY2FyYWN0ZXJlcyBkZWwgbMOtbWl0ZS4nLFxuICAgICAgICBtYXhDYXJhY3RlckluaXRpYWxQcm9tcHQ6ICdDb21wbGV0YXN0ZSBsb3MgNTAwMCBjYXJhY3RlcmVzIGRlbCBsw61taXRlLicsXG4gICAgICAgIG1heElucHV0UGxhY2Vob2xkZXI6ICdDb21wbGV0YXN0ZSBsb3MgMTAwIGNhcmFjdGVyZXMgZGVsIGzDrW1pdGUuJyxcbiAgICAgICAgbWF4Q2FyYWN0ZXJJbnRyb2R1Y3Rpb246ICdDb21wbGV0YXN0ZSBsb3MgNDAwIGNhcmFjdGVyZXMgZGVsIGzDrW1pdGUuJyxcbiAgICAgIH0sXG4gICAgICBob3dUb1dyaXRlUHJvbXB0OiAnQ8OzbW8gcmVkYWN0YXIgdW4gcHJvbXB0JyxcbiAgICAgIHdoYXRJc01vZGVsQWlUaXRsZTogJ8K/UXXDqSBtb2RlbG8gZGUgSUEgdmFzIGEgdXNhcj8nLFxuICAgICAgd2hhdElzTW9kZWxBaTogJ8K/UXXDqSBlcyB1biBtb2RlbG8gZGUgQUk/JyxcbiAgICAgIGFkZEZhdm9yaXRlOiAnQWdyZWdhciBhIGZhdm9yaXRvcycsXG4gICAgICByZW1vdmVGYXZvcml0ZTogJ1F1aXRhciBkZSBmYXZvcml0b3MnLFxuICAgICAgY3JlYXRlZEJ5OiAnUG9yJyxcbiAgICAgIGNyZWF0ZWRCeVRvb2x0aXA6ICdVc3VhcmlvIGNyZWFkb3IgZGVsIGFnZW50ZScsXG4gICAgICBjcmVhdGVkQnlUb29sdGlwRGVsZXRlZDogJ1VzdWFyaW8gZWxpbWluYWRvLiBTdSBub21icmUgc2UgbWFudGllbmUgcGFyYSByZWZlcmVuY2lhLicsXG4gICAgfSxcbiAgICBrbm93bGVkZ2VTZWN0aW9uOiB7XG4gICAgICB0aXRsZTogJ0Nvbm9jaW1pZW50bycsXG4gICAgICBrbm93bGVkZ2VUYWI6ICdCYXNlIGRlIGNvbm9jaW1pZW50b3MnLFxuICAgICAgaW5mb0xhYmVsOiAnQ2FyZ2EgbG9zIGFyY2hpdm9zIHF1ZSB0dSBhZ2VudGUgdXNhcsOhIGNvbW8gZnVlbnRlIHBhcmEgc3VzIHJlc3B1ZXN0YXMuJyxcbiAgICAgIHNlbGVjdEZpbGVUaXRsZTogJ1NFTEVDQ0lPTkFSIEFSQ0hJVk9TJyxcbiAgICAgIGF0dGFjaEZpbGVzOiAnQWRqdW50YXIgYXJjaGl2b3MnLFxuICAgICAgZHJvcFpvbmVUZXh0OiB7XG4gICAgICAgIDE6ICdDbGljIGFxdcOtIHBhcmEgY2FyZ2FyJyxcbiAgICAgICAgMjogJ28gYXJyYXN0cmEgbG9zIGFyY2hpdm9zJyxcbiAgICAgIH0sXG4gICAgICBpbmZvRmlsZVR5cGVzOlxuICAgICAgICAnLm1kLCAucGRmLCAuZG9jLCAuZG9jeCwgLnBwdCwgLnBwdHgsIC50eHQsIC5jc3YsIC5wbmcsIC5qcGcsIC5qcGVnLCAueGxzLCAueGxzeCAgKG3DoXguIHRvdGFsIGRlIDVNQiknLFxuICAgICAgZXJyb3I6IHtcbiAgICAgICAgdGl0bGU6ICdBbGd1bm9zIGFyY2hpdm9zIG5vIHNlIHB1ZGllcm9uIGNhcmdhcicsXG4gICAgICAgIG1heEZpbGVzVGl0bGU6ICdIYXMgc3VwZXJhZG8gZWwgbMOtbWl0ZSBkZSB0YW1hw7FvIHRvdGFsJyxcbiAgICAgICAgbWF4RmlsZXNEZXNjcmlwdGlvbjpcbiAgICAgICAgICAnU29sbyBwdWVkZXMgYWRqdW50YXIgYXJjaGl2b3MgaGFzdGEgdW4gdG90YWwgZGUgNSBNQi4gTG9zIHNpZ3VpZW50ZXMgYXJjaGl2b3Mgbm8gc2UgcHVkaWVyb24gYWRqdW50YXI6JyxcbiAgICAgICAgbWF4U2l6ZVRpdGxlOiAnU3VwZXJhc3RlIGVsIGzDrW1pdGUgZGUgcGVzbyBwZXJtaXRpZG8nLFxuICAgICAgICBtYXhTaXplRGVzY3JpcHRpb246IHtcbiAgICAgICAgICAxOiAnU2UgYWxjYW56w7MgZWwgbMOtbWl0ZSBtw6F4aW1vIGRlIDUgTUIuJyxcbiAgICAgICAgICAyOiAnRXN0b3MgYXJjaGl2b3Mgbm8gc2UgY2FyZ2Fyb24gcG9ycXVlIHN1cGVyYSBlbCBlc3BhY2lvIGRpc3BvbmlibGU6JyxcbiAgICAgICAgfSxcbiAgICAgICAgaW52YWxpZEV4dGVuc2lvbkRlc2NyaXB0aW9uOiB7XG4gICAgICAgICAgMTogJ1NvbG8gc2UgYWNlcHRhbiBhcmNoaXZvcyBjb24gbGFzIHNpZ3VpZW50ZXMgZXh0ZW5zaW9uZXM6IC5tZCwgLnBkZiwgLmRvYywgLmRvY3gsIC5wcHQsIC5wcHR4LCAudHh0LCAuY3N2LCAucG5nLCAuanBnLCAuanBlZywgLnhscywgLnhsc3gnLFxuICAgICAgICAgIDI6ICdFc3RvcyBhcmNoaXZvcyBubyBzZSBjYXJnYXJvbiBwb3JxdWUgc3UgZXh0ZW5zacOzbiBubyBlc3TDoSBwZXJtaXRpZGE6JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBtb3JlSW5mbzogJ01pcmEgY8OzbW8gZnVuY2lvbmEgYWPDoScsXG4gICAgfSxcbiAgICBhY2Nlc3NpYmlsaXR5U2VjdGlvbjoge1xuICAgICAgdGl0bGVUYWI6ICdQZXJtaXNvcycsXG4gICAgICB0aXRsZVNlY3Rpb246ICdWaXNpYmlsaWRhZCB5IHBlcm1pc29zIGRlbCBhZ2VudGUnLFxuICAgICAgc3VidGl0bGVTZWN0aW9uOiAnRGVmaW7DrSBxdWnDqW4gcHVlZGUgdXNhciBlc3RlIGFnZW50ZSB5IHNpIHB1ZWRlIGFjY2VkZXIgYSBkYXRvcyBkZSBDT1IuJyxcbiAgICAgIGNvclBlcm1pc3Npb25zVGl0bGU6ICdQZXJtaXNvcyBkZSBhY2Nlc28gYSBkYXRvcyBkZSBDT1InLFxuICAgICAgY29yUGVybWlzc2lvbnNTdWJ0aXRsZTogJ8K/QSBxdcOpIHRpZW5lIGFjY2VzbyBlc3RlIGFnZW50ZT8nLFxuICAgICAgdGFza0FjY2Vzc1RpdGxlOiAnQWNjZXNvIGEgdGFyZWFzJyxcbiAgICAgIHRhc2tBY2Nlc3NEZXNjcmlwdGlvbjogJ0VsIGFnZW50ZSBwb2Ryw6EgbGVlciwgY3JlYXIsIG1vZGlmaWNhciB5IGVsaW1pbmFyIHRhcmVhcyBzZWfDum4gbG9zIHBlcm1pc29zIGRlbCB1c3VhcmlvLicsXG4gICAgICBtY3BQZXJtaXNzaW9uc1RpdGxlOiAnQ29uZWN0b3JlcyBleHRlcm5vcycsXG4gICAgICBtY3BQZXJtaXNzaW9uc1N1YnRpdGxlOiAnwr9BIHF1w6kgaGVycmFtaWVudGFzIGV4dGVybmFzIHRpZW5lIGFjY2VzbyBlc3RlIGFnZW50ZT8nLFxuICAgICAgbmV0c3VpdGVBY2Nlc3NUaXRsZTogJ05ldFN1aXRlJyxcbiAgICAgIG5ldHN1aXRlQWNjZXNzRGVzY3JpcHRpb246XG4gICAgICAgICdFbCBhZ2VudGUgcG9kcsOhIGxlZXIgeSBhY3R1YWxpemFyIHJlZ2lzdHJvcyBkZSBOZXRTdWl0ZS4gQWwgZ3VhcmRhciB0ZSBwZWRpcmVtb3MgYXV0b3JpemFyIGVsIGFjY2Vzby4nLFxuICAgICAgY29ubmVjdG9yQWNjZXNzRGVzY3JpcHRpb246XG4gICAgICAgICdFbCBhZ2VudGUgcG9kcsOhIHVzYXIge3tuYW1lfX0uIEFsIGd1YXJkYXIgdGUgcGVkaXJlbW9zIGF1dG9yaXphciBlbCBhY2Nlc28uJyxcbiAgICAgIGNvbm5lY3RvckF1dGhGYWlsZWQ6ICdObyBwdWRpbW9zIGFicmlyIGVsIGxvZ2luIGRlbCBjb25lY3Rvci4gUHJvYsOhIGRlIG51ZXZvIG8gcmV2aXPDoSBsYSBjb25maWd1cmFjacOzbiBPQXV0aC4nLFxuICAgICAgY29ubmVjdG9yQXV0aEluY29tcGxldGU6ICdObyBzZSBjb21wbGV0w7MgZWwgbG9naW4gZGUgTmV0U3VpdGUuIFZvbHbDqSBhIGd1YXJkYXIsIHRvY8OhIFBlcm1pdGlyIHkgZXNwZXLDoSBhIHF1ZSBjaWVycmUgbGEgdmVudGFuYS4nLFxuICAgICAgbmV0c3VpdGVBdXRoU2V0dXBSZXF1aXJlZDpcbiAgICAgICAgJ05ldFN1aXRlIG5vIHJlZ2lzdHJhIGxhIGFwcCBzb2xvLiBVbiBhZG1pbiB0aWVuZSBxdWUgY3JlYXIgdW5hIEludGVncmF0aW9uIChQdWJsaWMgQ2xpZW50LCBzY29wZSBBSSBDb25uZWN0b3IsIFJlZGlyZWN0IFVSSSBkZSBNQUlBKS4gRGVzcHXDqXMgZWwgbG9naW4gYXBhcmVjZSBlbiBlbCBwb3B1cC4nLFxuICAgICAgdmlzaWJpbGl0eVRpdGxlOiAnVmlzaWJpbGlkYWQgZGVsIGFnZW50ZScsXG4gICAgICB3aG9DYW5BY2Nlc3M6ICfCv1F1acOpbiBwdWVkZSB1c2FyIGVzdGUgYWdlbnRlPycsXG4gICAgICBhbGxDb21wYW55VGl0bGU6ICdUb2RhIGxhIGNvbXBhw7HDrWEnLFxuICAgICAgYWxsQ29tcGFueURlc2NyaXB0aW9uOiAnVG9kb3MgbG9zIHVzdWFyaW9zIGRlIHR1IG9yZ2FuaXphY2nDs24gcG9kcsOhbiB2ZXIgeSB1c2FyIGVzdGUgYWdlbnRlLicsXG4gICAgICBjbGllbnRUaXRsZTogJ1BhcmEgY2xpZW50ZXMgZXNwZWPDrWZpY29zJyxcbiAgICAgIGNsaWVudERlc2NyaXB0aW9uOlxuICAgICAgICAnQXNvY2lhIGVzdGUgYWdlbnRlIGEgdW5vIG8gbcOhcyBjbGllbnRlcy4gVG9kb3MgbG9zIHVzdWFyaW9zIHBvZHLDoW4gdmVyIGNvbiBxdcOpIGNsaWVudGVzIGVzdMOhIHZpbmN1bGFkby4nLFxuICAgICAgb3duVGl0bGU6ICdTb2xvIHlvJyxcbiAgICAgIG93bkRlc2NyaXB0aW9uOiAnRXN0ZSBhZ2VudGUgc2Vyw6EgcHJpdmFkbyB5IG5vIGVzdGFyw6EgZGlzcG9uaWJsZSBwYXJhIG90cm9zIHVzdWFyaW9zLicsXG4gICAgICBjbGllbnRzU2VsZWN0ZWQ6ICdDbGllbnRlcyBzZWxlY2Npb25hZG9zOicsXG4gICAgICBzZWFyY2hFcnJvcjogJ8KhVXBzISBUdXZpbW9zIHVuIHByb2JsZW1hIGFsIGNhcmdhciBsb3MgY2xpZW50ZXMuIMK/UHVlZGVzIGludGVudGFybG8gZGUgbnVldm8gZW4gdW4gbW9tZW50bz8nLFxuICAgICAgc2VhcmNoRW1wdHk6ICfCoVVwcyEgTm8gZW5jb250cmFtb3MgY2xpZW50ZXMgY29uIGVzZSBub21icmUuIFBydWViYSByZWFsaXphbmRvIG90cmEgYsO6c3F1ZWRhJyxcbiAgICAgIHNlYXJjaEluaXRpYWw6ICdDb21pZW56YSBhIGVzY3JpYmlyIGVsIG5vbWJyZSBkZSB1biBjbGllbnRlIHBhcmEgYXNvY2lhcmxvJyxcbiAgICAgIHNlYXJjaFBsYWNlaG9sZGVyOiAnQnVzY2FyIGNsaWVudGUnLFxuICAgICAgY2xpZW50SW5hY3RpdmU6ICdFc3RlIGNsaWVudGUgZXN0w6EgaW5hY3Rpdm8uIFRlIHJlY29tZW5kYW1vcyBxdWl0YXJsbyBkZSBsYSBsaXN0YS4nLFxuICAgICAgY2xpZW50RGVsZXRlZFRvb2x0aXA6ICdFc3RlIGNsaWVudGUgZnVlIGVsaW1pbmFkby4gVGUgcmVjb21lbmRhbW9zIHF1aXRhcmxvIGRlIGxhIGxpc3RhLicsXG4gICAgICBjbGllbnREZWxldGVkOiAnQ2xpZW50ZSBlbGltaW5hZG8nLFxuICAgICAgY2xpZW50c0Vycm9yOiAnUmV2aXNhIGxvcyBjbGllbnRlcyBhc29jaWFkb3MnLFxuICAgIH0sXG4gICAgcHJvY2Vzc2luZ0tub3dsZWRnZToge1xuICAgICAgZGVzY3JpcHRpb25DcmVhdGU6XG4gICAgICAgICdFc3RhbW9zIGNyZWFuZG8gZWwgQWdlbnRlIHkgc3UgYmFzZSBkZSBjb25vY2ltaWVudG8uIEVzdG8gcHVlZGUgbGxldmFyIHVub3MgbW9tZW50b3MuIFBvciBmYXZvciBubyBjaWVycmUgZXN0YSB2ZW50YW5hIGhhc3RhIHF1ZSBlbCBwcm9jZXNvIHNlIGhheWEgZmluYWxpemFkby4nLFxuICAgICAgZGVzY3JpcHRpb25VcGRhdGU6XG4gICAgICAgICdFc3RhbW9zIGFjdHVhbGl6YW5kbyBlbCBBZ2VudGUgeSBzdSBiYXNlIGRlIGNvbm9jaW1pZW50by4gRXN0byBwdWVkZSBsbGV2YXIgdW5vcyBtb21lbnRvcy4gUG9yIGZhdm9yIG5vIGNpZXJyZSBlc3RhIHZlbnRhbmEgaGFzdGEgcXVlIGVsIHByb2Nlc28gc2UgaGF5YSBmaW5hbGl6YWRvLicsXG4gICAgICBmaWxlUm93OiAnQXJjaGl2bycsXG4gICAgICBzdGF0dXNSb3c6ICdFc3RhZG8nLFxuICAgICAgcGVuZGluZzogJ1BlbmRpZW50ZScsXG4gICAgICBwcm9jZXNzaW5nOiAnUHJvY2VzYW5kbycsXG4gICAgICBmYWlsZWQ6ICdGYWxsbycsXG4gICAgICBkb25lOiAnQ29tcGxldGFkbycsXG4gICAgICBsb2FkaW5nRmlsZXM6ICdDYXJnYW5kbyBhcmNoaXZvcy4uLicsXG4gICAgICBlcnJvcjoge30sXG4gICAgfSxcbiAgICBkZWxldGVBZ2VudE1vZGFsOiB7XG4gICAgICB0aXRsZTogJ8K/RGVzZWFzIGVsaW1pbmFyIGVzdGUgYWdlbnRlPycsXG4gICAgICBmaXJzdFBhcnQ6ICdFc3TDoXMgcG9yIGVsaW1pbmFyICcsXG4gICAgICBzZWNvbmRQYXJ0OiAnRXN0YSBhY2Npw7NuIG5vIHNlIHB1ZWRlIGRlc2hhY2VyLicsXG4gICAgICBjYW5jZWw6ICdDYW5jZWxhcicsXG4gICAgICBkZWxldGU6ICdFbGltaW5hcicsXG4gICAgfSxcbiAgfSxcbiAgW1NFQ1RJT05TLnByb2plY3RTZWxlY3Rvcl06IHtcbiAgICAuLi5nZW5lcmljU2VjdGlvbixcbiAgICBwcm9qZWN0U2VsZWN0b3I6IHtcbiAgICAgIHRpdGxlOiAnwr9FbiBxdcOpIHByb3llY3RvIHRlIHB1ZWRvIGFzaXN0aXI/JyxcbiAgICAgIGhlbGxvOiB7XG4gICAgICAgIHRpdGxlOiAnSG9sYSB7e25hbWV9fSDwn5GLJyxcbiAgICAgICAgc3VidGl0bGU6ICfCv0NvbiBxdcOpIHByb3llY3RvIHB1ZWRvIGF5dWRhcnRlPycsXG4gICAgICB9LFxuICAgICAgc3VidGl0bGU6ICdTZWxlY2Npb25hIGVsIHByb3llY3RvIHBhcmEgcXVlIE1BSUEgdGUgcmVzcG9uZGEgZW4gYmFzZSBhIHVuIGNvbnRleHRvLicsXG4gICAgICBsYWJlbFByb2plY3Q6ICdTZWxlY2Npb25hIHVuIHByb3llY3RvJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnQnVzY2FyIHVuIHByb3llY3RvIHBvciBub21icmUnLFxuICAgICAgY2hhbmdlUHJvamVjdDogJ0NhbWJpYXIgZGUgcHJveWVjdG8nLFxuICAgICAgcmVjZW50UHJvamVjdHM6ICdSZWNpZW50ZXMnLFxuICAgICAgc2VhcmNoaW5nUHJvamVjdHM6ICdCdXNjYW5kbyB0dXMgcHJveWVjdG9zLi4uJyxcbiAgICAgIGVycm9yTWVzc2FnZTogJ8KhVXBzISBUdXZpbW9zIHVuIHByb2JsZW1hIGFsIGNhcmdhciBsb3MgcHJveWVjdG9zLiBQb3IgZmF2b3IsIGludGVudGEgZGUgbnVldm8gZW4gdW5vcyBtaW51dG9zLicsXG4gICAgICBlbXB0eVJlY2VudFByb2plY3RzOlxuICAgICAgICAnTm8gdGllbmVzIHByb3llY3RvcyByZWNpZW50ZXMuIEVzY3JpYmUgZWwgbm9tYnJlIGRlIHVuIHByb3llY3RvIGVuIGVsIGJ1c2NhZG9yIHBhcmEgZW5jb250cmFybG8uJyxcbiAgICAgIGVtcHR5U3RhdGU6ICfCoVVwcyEgTm8gZW5jb250cmFtb3MgcHJveWVjdG9zIGNvbiBlc2Ugbm9tYnJlLiBQcm9iw6EgcmVhbGl6YW5kbyBvdHJhIGLDunNxdWVkYS4nLFxuICAgICAgd2l0aG91dENsaWVudDogJ1NpbiBjbGllbnRlJyxcbiAgICAgIHdpdGhvdXRUaXRsZTogJ1NpbiB0w610dWxvJyxcbiAgICB9LFxuICB9LFxuICBbU0VDVElPTlMuY2xpZW50U2VsZWN0b3JdOiB7XG4gICAgLi4uZ2VuZXJpY1NlY3Rpb24sXG4gICAgY2xpZW50U2VsZWN0b3I6IHtcbiAgICAgIHRpdGxlOiAnwr9FbiBxdcOpIGNsaWVudGUgdGUgcHVlZG8gYXNpc3Rpcj8nLFxuICAgICAgaGVsbG86IHtcbiAgICAgICAgdGl0bGU6ICdIb2xhIHt7bmFtZX19IPCfkYsnLFxuICAgICAgICBzdWJ0aXRsZTogJ8K/Q29uIHF1w6kgY2xpZW50ZSBwdWVkbyBheXVkYXJ0ZT8nLFxuICAgICAgfSxcbiAgICAgIHN1YnRpdGxlOiAnU2VsZWNjaW9uYSBlbCBjbGllbnRlIHBhcmEgcXVlIE1BSUEgdGUgcmVzcG9uZGEgZW4gYmFzZSBhIHVuIGNvbnRleHRvLicsXG4gICAgICBsYWJlbENsaWVudDogJ1NlbGVjY2lvbmEgdW4gY2xpZW50ZScsXG4gICAgICBwbGFjZWhvbGRlcjogJ0J1c2NhciBjbGllbnRlIHBvciBzdSBub21icmUnLFxuICAgICAgY2hhbmdlQ2xpZW50OiAnQ2FtYmlhciBkZSBjbGllbnRlJyxcbiAgICAgIHJlY2VudENsaWVudHM6ICdSZWNpZW50ZXMnLFxuICAgICAgc2VhcmNoaW5nQ2xpZW50czogJ0J1c2NhbmRvIHR1cyBjbGllbnRlcy4uLicsXG4gICAgICBlcnJvck1lc3NhZ2U6ICdUdXZpbW9zIHVuIHByb2JsZW1hIGFsIGNhcmdhciBsb3MgY2xpZW50ZXMuIFBvciBmYXZvciwgaW50ZW50YSBkZSBudWV2byBlbiB1bm9zIG1pbnV0b3MuJyxcbiAgICAgIGVtcHR5UmVjZW50Q2xpZW50czpcbiAgICAgICAgJ05vIHRpZW5lcyBjbGllbnRlcyByZWNpZW50ZXMuIEVzY3JpYmUgZWwgbm9tYnJlIGRlIHVuIGNsaWVudGUgZW4gZWwgYnVzY2Fkb3IgcGFyYSBlbmNvbnRyYXJsby4nLFxuICAgICAgZW1wdHlTdGF0ZTogJ1VwcyEgTm8gZW5jb250cmFtb3MgY2xpZW50ZXMgY29uIGVzZSBub21icmUuIFByb2LDoSByZWFsaXphbmRvIG90cmEgYsO6c3F1ZWRhLicsXG4gICAgICBwcm9qZWN0OiAncHJveWVjdG8nLFxuICAgICAgcHJvamVjdHM6ICdwcm95ZWN0b3MnLFxuICAgIH0sXG4gIH0sXG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQVNBLFFBQVEsUUFBUSx3QkFBd0I7QUFDakQsU0FBU0Msd0JBQXdCLFFBQVEsc0NBQXNDO0FBRS9FLElBQU1DLE9BQU8sR0FBRztFQUNkQyxLQUFLLEVBQUUsUUFBUTtFQUNmQyxRQUFRLEVBQUUsV0FBVztFQUNyQkMsUUFBUSxFQUFFLGdCQUFnQjtFQUMxQkMsU0FBUyxFQUFFLE1BQU07RUFDakJDLE1BQU0sRUFBRSxVQUFVO0VBQ2xCQyxRQUFRLEVBQUUsVUFBVTtFQUNwQkMsTUFBTSxFQUFFLGtCQUFrQjtFQUMxQkMsSUFBSSxFQUFFLFFBQVE7RUFDZEMsTUFBTSxFQUFFLFNBQVM7RUFDakJDLEtBQUssRUFBRSxVQUFVO0VBQ2pCQyxhQUFhLEVBQUUsc0JBQXNCO0VBQ3JDQyxJQUFJLEVBQUUsU0FBUztFQUNmQyxNQUFNLEVBQUU7QUFDVixDQUFDO0FBRUQsSUFBTUMsS0FB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
|