@projectcor/maia-components 2.35.4-3 → 2.35.4-4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/App.js +19 -44
- package/lib/components/atoms/ApprovalBox/ApprovalBox.js +63 -4
- package/lib/components/atoms/ApprovalBox/ApprovalBox.spec.js +31 -3
- package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +16 -4
- package/lib/components/atoms/ContextMentionChip/buildChipElement.js +12 -1
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +127 -5
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +2 -29
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +24 -33
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +2 -19
- package/lib/components/atoms/MAIAInput/MAIAInput.js +234 -17
- package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +84 -2
- package/lib/components/atoms/MAIAInput/styles.js +15 -11
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +2 -7
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.spec.js +1 -2
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +14 -10
- package/lib/components/atoms/ReasoningBlock/ReasoningSteps.js +1 -1
- package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.js +37 -57
- package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.js +12 -18
- package/lib/components/atoms/SkillsDropdown/SkillsDropdown.js +208 -0
- package/lib/components/atoms/SkillsDropdown/SkillsDropdown.spec.js +107 -0
- package/lib/components/atoms/SkillsDropdown/SkillsDropdown.styles.js +77 -0
- package/lib/components/atoms/SkillsDropdown/index.js +2 -0
- package/lib/components/atoms/icons/PlusIcon.js +29 -0
- package/lib/components/atoms/icons/SkillCreatedByIcon.js +20 -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 +4 -7
- package/lib/components/atoms/icons/index.js +5 -1
- package/lib/components/index.js +1 -2
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +34 -11
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.spec.js +77 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +7 -9
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +5 -11
- package/lib/components/molecules/ChatAIMessages/newStyles.js +26 -29
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +62 -24
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +70 -69
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +333 -242
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.spec.js +128 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +131 -104
- package/lib/components/molecules/ChatFooter/ChatFooter.js +15 -5
- package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +1 -8
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +1 -3
- package/lib/components/molecules/Sidebar/Sidebar.js +36 -33
- package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -2
- package/lib/components/molecules/Sidebar/Sidebar.spec.js +8 -19
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +21 -12
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +8 -1
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +430 -184
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +100 -22
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +131 -74
- package/lib/constants/config.js +1 -4
- package/lib/constants/permissions/index.js +2 -2
- package/lib/constants/permissions/utils.js +3 -6
- package/lib/dev/DevReasoningTimeline.js +17 -11
- package/lib/hooks/useAgentModel/useCreateAgent.js +6 -6
- package/lib/hooks/useAgentModel/useCreateAgent.spec.js +95 -0
- package/lib/hooks/useAgentModel/useUpdateAgent.js +6 -6
- package/lib/hooks/useAgentModel/useUpdateAgent.spec.js +96 -0
- package/lib/hooks/useChatManager/useChatManager.js +5 -4
- package/lib/hooks/useContextMentions.js +96 -56
- package/lib/hooks/useEntitySearch.js +92 -278
- package/lib/hooks/useEvent.js +15 -2
- package/lib/hooks/useEvent.spec.js +7 -2
- package/lib/hooks/useMentionAllowedTypes.js +9 -25
- package/lib/hooks/useMentionAllowedTypes.spec.js +4 -15
- package/lib/hooks/useMentionPopover.js +9 -33
- package/lib/hooks/useSkillsCatalog.js +66 -0
- package/lib/hooks/useSkillsCatalog.spec.js +88 -0
- package/lib/index.js +2 -5
- package/lib/lang/br/index.js +39 -34
- package/lib/lang/en/index.js +39 -34
- package/lib/lang/es/index.js +40 -35
- package/lib/lang/fr/index.js +39 -34
- package/lib/services/maia/Agents/setAgentToolGroups.js +2 -2
- package/lib/services/maia/Agents/setAgentToolGroups.spec.js +3 -3
- package/lib/services/maia/Orchestrator/orchestrator.js +6 -3
- package/lib/services/maia/Orchestrator/orchestrator.spec.js +72 -0
- package/lib/services/maia/Skills/createSkill.js +1 -1
- package/lib/services/maia/Skills/createSkill.spec.js +14 -5
- package/lib/services/maia/Skills/getSkills.js +70 -40
- package/lib/services/maia/Skills/getSkills.spec.js +152 -0
- package/lib/services/maia/Skills/updateSkill.js +1 -1
- package/lib/services/maia/Skills/updateSkill.spec.js +11 -4
- package/lib/store/sessions/sessionStreamManager.js +52 -40
- package/lib/styles/cascade.js +3 -29
- package/lib/styles/transitions.js +1 -3
- package/lib/types/agentModal.js +1 -1
- package/lib/types/global.d.js +1 -1
- package/lib/types/skill.js +1 -1
- package/lib/utils/contextMentionTriggers.js +2 -5
- package/lib/utils/contextMentionTriggers.spec.js +8 -6
- package/lib/utils/normalizeAgentConnectors.js +44 -16
- package/lib/utils/normalizeAgentConnectors.spec.js +43 -13
- package/lib/utils/renderContextMentions.js +39 -18
- package/lib/utils/streamActivityMessages.js +19 -32
- package/lib/utils/streamActivityMessages.spec.js +6 -39
- package/package.json +1 -1
- package/lib/components/atoms/ReasoningBlock/ReasoningSteps.spec.js +0 -59
- package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.spec.js +0 -58
- package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.spec.js +0 -68
- package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.js +0 -52
- package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.spec.js +0 -90
- package/lib/components/organisms/ChatAIPage/ChatAIPage.js +0 -486
- package/lib/components/organisms/ChatAIPage/ChatAIPage.spec.js +0 -231
- package/lib/components/organisms/ChatAIPage/ChatAIPage.styles.js +0 -16
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.js +0 -253
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.spec.js +0 -139
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.styles.js +0 -13
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.js +0 -229
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.spec.js +0 -142
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.styles.js +0 -144
- package/lib/components/organisms/ChatAIPage/getDaypart.js +0 -9
- package/lib/components/organisms/ChatAIPage/getDaypart.spec.js +0 -19
- package/lib/components/organisms/ChatAIPage/index.js +0 -3
- package/lib/components/organisms/ChatAIPage/pageHomeMockCards.js +0 -17
- package/lib/dev/DevMaiaPage.js +0 -30
- package/lib/hooks/useIsMaiaPageRoute.js +0 -26
- package/lib/hooks/useIsMaiaPageRoute.spec.js +0 -26
- package/lib/utils/maiaPageRoute.js +0 -24
- package/lib/utils/maiaPageRoute.spec.js +0 -23
|
@@ -45,7 +45,7 @@ import { SessionGeneratingDot } from '../../atoms/SessionGeneratingDot';
|
|
|
45
45
|
import { useIsSessionGenerating, useSessionMeta } from '../../../store/sessions/useSessionMeta';
|
|
46
46
|
import { useMaiaTaskPanelZIndex } from '../../../hooks/useMaiaTaskPanelZIndex';
|
|
47
47
|
import { SCLHCWrapper, SCLHCWrapperAgent, SCLHCWrapperAgentText, SCLHCWrapperButtonActions, SCLHCWrapperContent, SCLHCWrapperTitle, SCLHCWrapperTitleRow, SCSWrapperCollapsedButton, SCSWrapperNewChatIcon, SCSWrapperAgentsNavIcon } from './Sidebar.styles';
|
|
48
|
-
import { SCSSidebarRoot, SCSSidebarToolbar, SCSSidebarBody, SCSSidebarOpenPanel, SCSSidebarAgentsBlock, SCSSidebarAgentsActions, SCSSidebarMaiakerNavButton, SCSSidebarMaiakerNavLabel, SCSSidebarConversationsHeading, SCSSidebarConversationsHeadingRow, SCSSidebarUnreadAnchor, SCSSidebarUnreadCount, SCSSidebarChatsScroll, SCSSidebarErrorStateColumn, SCSSidebarErrorStateTop, SCSSidebarErrorBanner, SCSSidebarErrorBannerIconWrap, SCSSidebarErrorBannerMessage, SCSSidebarLoadingArea, SCSSidebarLoadMoreRow, SCSSidebarEmptyChats, SCSSidebarEmptyChatsText, SCSSidebarChatsFooter, SCSSidebarFooterActions, SCSSidebarCollapsedDivider } from './Sidebar.layout.styles';
|
|
48
|
+
import { SCSSidebarRoot, SCSSidebarToolbar, SCSSidebarBody, SCSSidebarOpenPanel, SCSSidebarAgentsBlock, SCSSidebarAgentsActions, SCSSidebarMaiakerNavButton, SCSSidebarMaiakerNavLabel, SCSSidebarMaiakerNavBadgeNew, SCSSidebarConversationsHeading, SCSSidebarConversationsHeadingRow, SCSSidebarUnreadAnchor, SCSSidebarUnreadCount, SCSSidebarChatsScroll, SCSSidebarErrorStateColumn, SCSSidebarErrorStateTop, SCSSidebarErrorBanner, SCSSidebarErrorBannerIconWrap, SCSSidebarErrorBannerMessage, SCSSidebarLoadingArea, SCSSidebarLoadMoreRow, SCSSidebarEmptyChats, SCSSidebarEmptyChatsText, SCSSidebarChatsFooter, SCSSidebarFooterActions, SCSSidebarCollapsedDivider } from './Sidebar.layout.styles';
|
|
49
49
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
50
50
|
var actions = {
|
|
51
51
|
edit: function edit(props) {
|
|
@@ -238,19 +238,15 @@ export var Sidebar = function Sidebar(_ref3) {
|
|
|
238
238
|
isLegacyContextSession = _ref3$isLegacyContext === void 0 ? false : _ref3$isLegacyContext,
|
|
239
239
|
_ref3$initialOpen = _ref3.initialOpen,
|
|
240
240
|
initialOpen = _ref3$initialOpen === void 0 ? false : _ref3$initialOpen,
|
|
241
|
-
onOpenChange = _ref3.onOpenChange
|
|
242
|
-
open = _ref3.open,
|
|
243
|
-
_ref3$conversationsOn = _ref3.conversationsOnly,
|
|
244
|
-
conversationsOnly = _ref3$conversationsOn === void 0 ? false : _ref3$conversationsOn;
|
|
241
|
+
onOpenChange = _ref3.onOpenChange;
|
|
245
242
|
var _useT2 = useT(),
|
|
246
243
|
t = _useT2.t,
|
|
247
244
|
i18n = _useT2.i18n;
|
|
248
245
|
var tooltipZIndex = useMaiaTaskPanelZIndex(1500, 'overlay');
|
|
249
246
|
var _useState3 = useState(initialOpen),
|
|
250
247
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
var isOpen = open !== null && open !== void 0 ? open : uncontrolledOpen;
|
|
248
|
+
isOpen = _useState4[0],
|
|
249
|
+
setIsOpen = _useState4[1];
|
|
254
250
|
var _useState5 = useState(null),
|
|
255
251
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
256
252
|
isOpenModal = _useState6[0],
|
|
@@ -313,11 +309,10 @@ export var Sidebar = function Sidebar(_ref3) {
|
|
|
313
309
|
var canCreateAgents = !!(userPermissions !== null && userPermissions !== void 0 && userPermissions.create);
|
|
314
310
|
var hasMultiAgentsFeatureAccess = !!window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS;
|
|
315
311
|
var canViewAgents = !!(userPermissions !== null && userPermissions !== void 0 && userPermissions.view) && hasMultiAgentsFeatureAccess;
|
|
316
|
-
|
|
317
|
-
var canViewSkills = canViewAgents && canAccessToSkills() && (user === null || user === void 0 ? void 0 : user.company_id) === 2336;
|
|
312
|
+
var canViewSkills = canAccessToSkills(user);
|
|
318
313
|
var showMarketplaceSidebarButton = !!canCreateAgents && hasMultiAgentsFeatureAccess;
|
|
319
314
|
var agentNavButtonCount = (showMarketplaceSidebarButton ? 1 : 0) + (canViewAgents ? 1 : 0) + (canViewSkills ? 1 : 0);
|
|
320
|
-
var showAgentsNavBlock =
|
|
315
|
+
var showAgentsNavBlock = showMarketplaceSidebarButton || canViewAgents || canViewSkills;
|
|
321
316
|
var myAgentsSidebarTrackedRef = useRef(false);
|
|
322
317
|
useEffect(function () {
|
|
323
318
|
if (!canViewAgents || myAgentsSidebarTrackedRef.current) return;
|
|
@@ -402,11 +397,11 @@ export var Sidebar = function Sidebar(_ref3) {
|
|
|
402
397
|
eventAmplitude(EVENTS.aiChatSidebar, {
|
|
403
398
|
action: isOpen ? 'close' : 'open'
|
|
404
399
|
});
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
400
|
+
setIsOpen(function (prev) {
|
|
401
|
+
var next = !prev;
|
|
402
|
+
onOpenChange === null || onOpenChange === void 0 || onOpenChange(next);
|
|
403
|
+
return next;
|
|
404
|
+
});
|
|
410
405
|
};
|
|
411
406
|
var handleOpenCreateAgent = /*#__PURE__*/function () {
|
|
412
407
|
var _ref7 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
@@ -544,19 +539,8 @@ export var Sidebar = function Sidebar(_ref3) {
|
|
|
544
539
|
document.removeEventListener('refetch-session', handleRefetchSession);
|
|
545
540
|
};
|
|
546
541
|
}, [fetchChats]);
|
|
547
|
-
var isAgentsHubSection = showNewChat && (agentsNavActive === 'myAgents' || agentsNavActive === 'maiaker');
|
|
542
|
+
var isAgentsHubSection = showNewChat && (agentsNavActive === 'myAgents' || agentsNavActive === 'maiaker' || agentsNavActive === 'mySkills');
|
|
548
543
|
var showNewChatButton = isAgentsHubSection || !showNewChat && !hasError && !loadingChats && !isLegacyContextSession && ((userPermissions === null || userPermissions === void 0 ? void 0 : userPermissions.view) && !(selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.is_deleted) && !(selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.has_not_permissions) && !(selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.has_not_access) || !(userPermissions !== null && userPermissions !== void 0 && userPermissions.view) && !(selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.is_deleted) && !(selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.has_not_permissions) && !(selectedAgent !== null && selectedAgent !== void 0 && selectedAgent.has_not_access));
|
|
549
|
-
var newChatButton = /*#__PURE__*/_jsx(Tooltip, {
|
|
550
|
-
title: t('conversations.newChat'),
|
|
551
|
-
zIndex: tooltipZIndex,
|
|
552
|
-
children: /*#__PURE__*/_jsx(SCSWrapperNewChatIcon, {
|
|
553
|
-
onClick: handleNewChat,
|
|
554
|
-
children: /*#__PURE__*/_jsx(NewChat, {
|
|
555
|
-
width: 16,
|
|
556
|
-
height: 16
|
|
557
|
-
})
|
|
558
|
-
})
|
|
559
|
-
});
|
|
560
544
|
return /*#__PURE__*/_jsxs(SCSSidebarRoot, {
|
|
561
545
|
$isOpen: isOpen,
|
|
562
546
|
children: [/*#__PURE__*/_jsxs(SCSSidebarToolbar, {
|
|
@@ -583,7 +567,18 @@ export var Sidebar = function Sidebar(_ref3) {
|
|
|
583
567
|
}) : null]
|
|
584
568
|
})
|
|
585
569
|
})
|
|
586
|
-
}), showNewChatButton ?
|
|
570
|
+
}), showNewChatButton ? /*#__PURE__*/_jsx(Tooltip, {
|
|
571
|
+
title: t('conversations.newChat'),
|
|
572
|
+
zIndex: tooltipZIndex,
|
|
573
|
+
children: /*#__PURE__*/_jsx(SCSWrapperNewChatIcon, {
|
|
574
|
+
onClick: handleNewChat,
|
|
575
|
+
"aria-label": t('conversations.newChat'),
|
|
576
|
+
children: /*#__PURE__*/_jsx(NewChat, {
|
|
577
|
+
width: 16,
|
|
578
|
+
height: 16
|
|
579
|
+
})
|
|
580
|
+
})
|
|
581
|
+
}) : null, !isOpen && showAgentsNavBlock ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
587
582
|
children: [/*#__PURE__*/_jsx(SCSSidebarCollapsedDivider, {}), showMarketplaceSidebarButton ? /*#__PURE__*/_jsx(Tooltip, {
|
|
588
583
|
title: t('conversations.maiakerNav'),
|
|
589
584
|
zIndex: tooltipZIndex,
|
|
@@ -616,7 +611,10 @@ export var Sidebar = function Sidebar(_ref3) {
|
|
|
616
611
|
zIndex: tooltipZIndex,
|
|
617
612
|
children: /*#__PURE__*/_jsx(SCSWrapperAgentsNavIcon, {
|
|
618
613
|
$active: agentsNavActive === 'mySkills',
|
|
619
|
-
onClick:
|
|
614
|
+
onClick: function onClick() {
|
|
615
|
+
eventAmplitude(EVENTS.aiSidebarMySkills);
|
|
616
|
+
handleOpenSkills();
|
|
617
|
+
},
|
|
620
618
|
children: /*#__PURE__*/_jsx(SkillsNavIcon, {
|
|
621
619
|
size: 16
|
|
622
620
|
})
|
|
@@ -655,12 +653,17 @@ export var Sidebar = function Sidebar(_ref3) {
|
|
|
655
653
|
})]
|
|
656
654
|
}) : null, canViewSkills ? /*#__PURE__*/_jsxs(SCSSidebarMaiakerNavButton, {
|
|
657
655
|
type: "button",
|
|
658
|
-
onClick:
|
|
656
|
+
onClick: function onClick() {
|
|
657
|
+
eventAmplitude(EVENTS.aiSidebarMySkills);
|
|
658
|
+
handleOpenSkills();
|
|
659
|
+
},
|
|
659
660
|
$active: agentsNavActive === 'mySkills',
|
|
660
661
|
children: [/*#__PURE__*/_jsx(SkillsNavIcon, {
|
|
661
662
|
size: 16
|
|
662
663
|
}), /*#__PURE__*/_jsx(SCSSidebarMaiakerNavLabel, {
|
|
663
664
|
children: t('conversations.mySkillsNav')
|
|
665
|
+
}), /*#__PURE__*/_jsx(SCSSidebarMaiakerNavBadgeNew, {
|
|
666
|
+
children: t('homeMenu.maiaker.badgeNew')
|
|
664
667
|
})]
|
|
665
668
|
}) : null]
|
|
666
669
|
}) : null, /*#__PURE__*/_jsxs(SCSSidebarConversationsHeadingRow, {
|
|
@@ -675,7 +678,7 @@ export var Sidebar = function Sidebar(_ref3) {
|
|
|
675
678
|
ref: chatsContainerRef,
|
|
676
679
|
$hasChats: chats.length > 0,
|
|
677
680
|
$offsetVariant: hasError ? 'error' : 'default',
|
|
678
|
-
$agentNavButtonCount:
|
|
681
|
+
$agentNavButtonCount: agentNavButtonCount,
|
|
679
682
|
children: hasError && !chats.length ? /*#__PURE__*/_jsxs(SCSSidebarErrorStateColumn, {
|
|
680
683
|
children: [/*#__PURE__*/_jsx(SCSSidebarErrorStateTop, {
|
|
681
684
|
children: /*#__PURE__*/_jsx(ErrorState, {})
|
|
@@ -740,4 +743,4 @@ export var Sidebar = function Sidebar(_ref3) {
|
|
|
740
743
|
})]
|
|
741
744
|
});
|
|
742
745
|
};
|
|
743
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJDaGV2cm9uRG91YmxlTGVmdCIsIkhpc3RvcnkiLCJDVUJ1dHRvbiIsIk1lbnVEb3RzIiwiUGVuY2lsIiwiVHJhc2giLCJUb29sdGlwIiwiRW1wdHlIaXN0b3J5SWNvbiIsInVzZVJlc2l6ZUxpc3RlbmVyIiwidXNlQ2hhdHMiLCJTaWRlYmFyQ2hhdHNTa2VsZXRvbiIsIkVycm9yU3RhdGUiLCJNQUlBSWNvbiIsIk1haWFTdG9yZUljb24iLCJNeUFnZW50c05hdkljb24iLCJTa2lsbHNOYXZJY29uIiwiTmV3Q2hhdCIsIkVWRU5UUyIsInVzZUV2ZW50IiwidXNlVCIsIk9wdGlvbkl0ZW0iLCJFZGl0UXVlc3Rpb25Nb2RhbCIsIkRlbGV0ZVF1ZXN0aW9uTW9kYWwiLCJFcnJvckljb24iLCJ1c2VVc2VyIiwiRmVlZGJhY2tCdXR0b24iLCJ1c2VHbG9iYWxDb250ZXh0IiwiZmV0Y2hNYWlhIiwiY2FuQWNjZXNzVG9Ta2lsbHMiLCJtYXBDT1JMYW5nIiwiZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zIiwiZ2V0QWdlbnREaXNwbGF5TmFtZSIsImlzTWFya2V0cGxhY2VHbG9iYWxDbG9uZUFnZW50IiwiQVBQQ1VFU19FVkVOVFMiLCJBUFBDVUVTX1NFTEVDVE9SUyIsInRyYWNrQXBwY3Vlc0V2ZW50IiwiZm9ybWF0VW5yZWFkQ291bnQiLCJTZXNzaW9uR2VuZXJhdGluZ0RvdCIsInVzZUlzU2Vzc2lvbkdlbmVyYXRpbmciLCJ1c2VTZXNzaW9uTWV0YSIsInVzZU1haWFUYXNrUGFuZWxaSW5kZXgiLCJTQ0xIQ1dyYXBwZXIiLCJTQ0xIQ1dyYXBwZXJBZ2VudCIsIlNDTEhDV3JhcHBlckFnZW50VGV4dCIsIlNDTEhDV3JhcHBlckJ1dHRvbkFjdGlvbnMiLCJTQ0xIQ1dyYXBwZXJDb250ZW50IiwiU0NMSENXcmFwcGVyVGl0bGUiLCJTQ0xIQ1dyYXBwZXJUaXRsZVJvdyIsIlNDU1dyYXBwZXJDb2xsYXBzZWRCdXR0b24iLCJTQ1NXcmFwcGVyTmV3Q2hhdEljb24iLCJTQ1NXcmFwcGVyQWdlbnRzTmF2SWNvbiIsIlNDU1NpZGViYXJSb290IiwiU0NTU2lkZWJhclRvb2xiYXIiLCJTQ1NTaWRlYmFyQm9keSIsIlNDU1NpZGViYXJPcGVuUGFuZWwiLCJTQ1NTaWRlYmFyQWdlbnRzQmxvY2siLCJTQ1NTaWRlYmFyQWdlbnRzQWN0aW9ucyIsIlNDU1NpZGViYXJNYWlha2VyTmF2QnV0dG9uIiwiU0NTU2lkZWJhck1haWFrZXJOYXZMYWJlbCIsIlNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZyIsIlNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZ1JvdyIsIlNDU1NpZGViYXJVbnJlYWRBbmNob3IiLCJTQ1NTaWRlYmFyVW5yZWFkQ291bnQiLCJTQ1NTaWRlYmFyQ2hhdHNTY3JvbGwiLCJTQ1NTaWRlYmFyRXJyb3JTdGF0ZUNvbHVtbiIsIlNDU1NpZGViYXJFcnJvclN0YXRlVG9wIiwiU0NTU2lkZWJhckVycm9yQmFubmVyIiwiU0NTU2lkZWJhckVycm9yQmFubmVySWNvbldyYXAiLCJTQ1NTaWRlYmFyRXJyb3JCYW5uZXJNZXNzYWdlIiwiU0NTU2lkZWJhckxvYWRpbmdBcmVhIiwiU0NTU2lkZWJhckxvYWRNb3JlUm93IiwiU0NTU2lkZWJhckVtcHR5Q2hhdHMiLCJTQ1NTaWRlYmFyRW1wdHlDaGF0c1RleHQiLCJTQ1NTaWRlYmFyQ2hhdHNGb290ZXIiLCJTQ1NTaWRlYmFyRm9vdGVyQWN0aW9ucyIsIlNDU1NpZGViYXJDb2xsYXBzZWREaXZpZGVyIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiYWN0aW9ucyIsImVkaXQiLCJwcm9wcyIsIl9vYmplY3RTcHJlYWQiLCJkZWxldGUiLCJhYmJyZXZpYXRlU3BlY2lhbGlzdEluQWdlbnROYW1lIiwiYWdlbnROYW1lIiwicmVwbGFjZSIsIkxpc3RIaXN0b3J5Q2hhdCIsIl9yZWYiLCJjaGF0Iiwib25DbGljayIsImlzTW9kYWxPcGVuIiwib25PcGVuTW9kYWwiLCJvbkNsb3NlTW9kYWwiLCJoYW5kbGVycyIsImlzU2VsZWN0ZWQiLCJpbmRleCIsInRvb2x0aXBaSW5kZXgiLCJ0ZXh0UmVmIiwiYWdlbnRSZWYiLCJkaXNwbGF5VGl0bGUiLCJ0aXRsZSIsImRpc3BsYXlBZ2VudCIsImFnZW50VHlwZSIsImFnZW50IiwiY29udGV4dE5hbWUiLCJwcm9qZWN0TmFtZSIsImNsaWVudE5hbWUiLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJzaG93VG9vbHRpcCIsIl91c2VSZXNpemVMaXN0ZW5lcjIiLCJzaG93VG9vbHRpcEFnZW50IiwiX3VzZVQiLCJ0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiYWN0aW9uIiwic2V0QWN0aW9uIiwiaXNHZW5lcmF0aW5nIiwic2Vzc2lvbkV4dGVybmFsSWQiLCJzZXNzaW9uTWV0YSIsImlzVW5yZWFkIiwiaXNSZWFkIiwibWVudUl0ZW1zIiwibGFiZWwiLCJvbkNsaWNrSXRlbSIsImNoYXRJZCIsIkljb24iLCJldmVudEtleSIsInBtQWlNZW51RWRpdCIsInBtQWlNZW51RGVsZXRlIiwiaGFuZGxlQ29uZmlybUFjdGlvbiIsImNoYXREYXRhIiwiaGFuZGxlVXBkYXRlQ2hhdCIsImhhbmRsZURlbGV0ZUNoYXQiLCJjaGlsZHJlbiIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCIkaW5kZXgiLCJhcmlhTGFiZWwiLCJpc1dyaXRpbmciLCJhbmltYXRlZCIsInpJbmRleCIsInJlZiIsIiR1bnJlYWQiLCJjb25jYXQiLCJ3aWR0aCIsImhlaWdodCIsInN0eWxlIiwiZm9udFNpemUiLCJlbW9qaSIsImljb25Pbmx5Iiwic2l6ZSIsInZhcmlhbnQiLCJldmVudCIsImlkIiwicG9zaXRpb24iLCJ0b3AiLCJyaWdodCIsImJhY2tncm91bmRDb2xvciIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYm9yZGVyUmFkaXVzIiwiYm9yZGVyIiwibWluV2lkdGgiLCJtYXAiLCJfcmVmMiIsIm9uQ2xvc2UiLCJoYW5kbGVTZXRJc09wZW5Nb2RhbCIsIlNpZGViYXIiLCJfcmVmMyIsIl91c2VyJHBlcm1pc3Npb25zIiwib25Hb1RvQ2hhdCIsIl9yZWYzJG9uRXJyb3IiLCJvbkVycm9yIiwiaGFuZGxlR29Ub0hvbWUiLCJoYW5kbGVTdGFydE5ld0NoYXQiLCJoYW5kbGVPcGVuTWFya2V0cGxhY2UiLCJoYW5kbGVPcGVuU2tpbGxzIiwib25PcGVuTWFpYWtlckNyZWF0b3IiLCJzaG93TmV3Q2hhdCIsInJlZmV0Y2hDaGF0cyIsImhhbmRsZVNldFJlZmV0Y2hDaGF0cyIsImhhc0Vycm9yIiwicmVzZXRTZWxlY3RlZENoYXRSZWYiLCJfcmVmMyRhZ2VudHNOYXZBY3RpdmUiLCJhZ2VudHNOYXZBY3RpdmUiLCJfcmVmMyRpc0xlZ2FjeUNvbnRleHQiLCJpc0xlZ2FjeUNvbnRleHRTZXNzaW9uIiwiX3JlZjMkaW5pdGlhbE9wZW4iLCJpbml0aWFsT3BlbiIsIm9uT3BlbkNoYW5nZSIsIm9wZW4iLCJfcmVmMyRjb252ZXJzYXRpb25zT24iLCJjb252ZXJzYXRpb25zT25seSIsIl91c2VUMiIsImkxOG4iLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInVuY29udHJvbGxlZE9wZW4iLCJzZXRVbmNvbnRyb2xsZWRPcGVuIiwiaXNPcGVuIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc09wZW5Nb2RhbCIsInNldElzT3Blbk1vZGFsIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZWxlY3RlZENoYXQiLCJzZXRTZWxlY3RlZENoYXQiLCJjaGF0c0ZldGNoZWRSZWYiLCJjaGF0c0NvbnRhaW5lclJlZiIsInVzZXIiLCJldmVudEFtcGxpdHVkZSIsIl91c2VHbG9iYWxDb250ZXh0Iiwic2VsZWN0ZWRBZ2VudCIsInNlbGVjdEFnZW50Iiwic2V0UHJvamVjdCIsInNldENsaWVudCIsInNldFRhc2siLCJfdXNlQ2hhdHMiLCJsb2FkaW5nQ2hhdHMiLCJjaGF0cyIsImRlbGV0ZUNoYXQiLCJ1cGRhdGVDaGF0IiwiZmV0Y2hDaGF0cyIsImxpbWl0Iiwib2Zmc2V0IiwiaGFzTW9yZUNoYXRzIiwibG9hZE1vcmVDaGF0cyIsImlzTG9hZGluZ01vcmVDaGF0cyIsInVucmVhZENvdW50Iiwic2V0VW5yZWFkQ291bnQiLCJzZXRDaGF0UmVhZFN0YXRlIiwidW5yZWFkU3Vic2NyaWJlZFJlZiIsIiRfc2MiLCJ1bmRlZmluZWQiLCJjaGFubmVsIiwiaGFuZGxlVW5yZWFkRXZlbnQiLCJfcmVmNCIsIm1vZGVsRGF0YSIsIm1vZGVsX2RhdGEiLCJ1bnJlYWRfY291bnQiLCJzZXNzaW9uX2lkIiwiaXNfcmVhZCIsInN1YnNjcmliZUhhbmRsZXIiLCJjdXJyZW50IiwiXyRfc2MkYWN0aW9uVHlwZSIsIl8kX3NjJGNoYW5uZWxUeXBlIiwidXBkYXRlQ29ubmVjdGlvbk1vZGVsIiwibW9kZWxfaGFzaCIsImFjdGlvblR5cGUiLCJTVUJTQ1JJQkUiLCJjaGFubmVsVHlwZSIsIk1PREVMX0NIQU5ORUwiLCJ1c2VyUGVybWlzc2lvbnMiLCJwZXJtaXNzaW9ucyIsImFpX2FnZW50cyIsImNhbkNyZWF0ZUFnZW50cyIsImNyZWF0ZSIsImhhc011bHRpQWdlbnRzRmVhdHVyZUFjY2VzcyIsIndpbmRvdyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJjYW5WaWV3QWdlbnRzIiwidmlldyIsImNhblZpZXdTa2lsbHMiLCJjb21wYW55X2lkIiwic2hvd01hcmtldHBsYWNlU2lkZWJhckJ1dHRvbiIsImFnZW50TmF2QnV0dG9uQ291bnQiLCJzaG93QWdlbnRzTmF2QmxvY2siLCJteUFnZW50c1NpZGViYXJUcmFja2VkUmVmIiwibWFpYVNpZGViYXJNeUFnZW50cyIsImhhbmRsZVNlbGVjdFNlc3Npb24iLCJldnQiLCJfZGV0YWlsIiwiX3JlZjUiLCJkZXRhaWwiLCJzZXNzaW9uSWQiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiX3JlZjYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0Iiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJoYW5kbGVPcGVuTW9kYWwiLCJoYW5kbGVDbG9zZU1vZGFsIiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwidGFyZ2V0IiwiY2xvc2VzdCIsImhhbmRsZVRvZ2dsZVNpZGViYXIiLCJhaUNoYXRTaWRlYmFyIiwiaGFuZGxlT3BlbkNyZWF0ZUFnZW50IiwiX3JlZjciLCJfY2FsbGVlMiIsInJlc3BvbnNlIiwiZGF0YSIsIm1haWFrZXJBZ2VudCIsIl90IiwiX3QyIiwiX2NvbnRleHQyIiwiYWJydXB0IiwicGF0aCIsImxhbmd1YWdlIiwibWV0aG9kIiwic2VudCIsImpzb24iLCJmaW5kIiwiYWdlbnRJdGVtIiwiaGFuZGxlU2Nyb2xsIiwiX2NoYXRzQ29udGFpbmVyUmVmJGN1Iiwic2Nyb2xsVG9wIiwic2Nyb2xsSGVpZ2h0IiwiY2xpZW50SGVpZ2h0IiwiaXNBdEJvdHRvbSIsImNvbnRhaW5lciIsImhhbmRsZU5ld0NoYXQiLCJhaVNpZGViYXJOZXdDaGF0IiwiaGFuZGxlUmVmZXRjaFNlc3Npb24iLCJiYWNrZ3JvdW5kIiwiaXNBZ2VudHNIdWJTZWN0aW9uIiwic2hvd05ld0NoYXRCdXR0b24iLCJpc19kZWxldGVkIiwiaGFzX25vdF9wZXJtaXNzaW9ucyIsImhhc19ub3RfYWNjZXNzIiwibmV3Q2hhdEJ1dHRvbiIsIiRpc09wZW4iLCJjb2xvciIsIiRmbG9hdGluZyIsIiRhY3RpdmUiLCJhaUNoYXRNcE9wZW4iLCJhaVNpZGViYXJNeUFnZW50cyIsInR5cGUiLCIkaGFzQ2hhdHMiLCJsZW5ndGgiLCIkb2Zmc2V0VmFyaWFudCIsIiRhZ2VudE5hdkJ1dHRvbkNvdW50IiwiY291bnQiLCIkanVzdGlmeUJldHdlZW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvU2lkZWJhci9TaWRlYmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBjYW1lbGNhc2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVmICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXNoYWRvdyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAqL1xuaW1wb3J0IHsgTXV0YWJsZVJlZk9iamVjdCwgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDaGV2cm9uRG91YmxlTGVmdCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3VibGVMZWZ0J1xuaW1wb3J0IHsgSGlzdG9yeSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0hpc3RvcnknXG5pbXBvcnQgeyBDVUJ1dHRvbiB9IGZyb20gJ0Bwcm9qZWN0Y29yL2J1dHRvbi9saWIvY29tcG9uZW50cy9DVUJ1dHRvbidcbmltcG9ydCB7IE1lbnVEb3RzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvTWVudURvdHMnXG5pbXBvcnQgeyBQZW5jaWwgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9QZW5jaWwnXG5pbXBvcnQgeyBUcmFzaCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1RyYXNoJ1xuXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5cbmltcG9ydCB7IEVtcHR5SGlzdG9yeUljb24gfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucy9FbXB0eUhpc3RvcnknXG5pbXBvcnQgeyB1c2VSZXNpemVMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZSdcbmltcG9ydCB7IHVzZUNoYXRzIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlQ2hhdHMnXG5pbXBvcnQgeyBTaWRlYmFyQ2hhdHNTa2VsZXRvbiB9IGZyb20gJy4vU2lkZWJhci5za2VsZXRvbidcbmltcG9ydCB7IEVycm9yU3RhdGUsIE1BSUFJY29uLCBNYWlhU3RvcmVJY29uLCBNeUFnZW50c05hdkljb24sIFNraWxsc05hdkljb24sIE5ld0NoYXQgfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucydcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgT3B0aW9uSXRlbSB9IGZyb20gJy4uLy4uL2F0b21zL0NhcmRNZW51L0NhcmRNZW51J1xuaW1wb3J0IHsgRWRpdFF1ZXN0aW9uTW9kYWwgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvRWRpdFF1ZXN0aW9uTW9kYWwnXG5pbXBvcnQgeyBEZWxldGVRdWVzdGlvbk1vZGFsIH0gZnJvbSAnLi4vLi4vb3JnYW5pc21zL0RlbGV0ZVF1ZXN0aW9uTW9kYWwnXG5pbXBvcnQgeyBFcnJvckljb24gfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucy9FcnJvckljb24nXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IEZlZWRiYWNrQnV0dG9uIH0gZnJvbSAnLi4vLi4vYXRvbXMvRmVlZGJhY2tCdXR0b24nXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IGZldGNoTWFpYSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21haWEvY2xpZW50J1xuaW1wb3J0IHsgY2FuQWNjZXNzVG9Ta2lsbHMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvcGVybWlzc2lvbnMnXG5pbXBvcnQgeyBtYXBDT1JMYW5nIH0gZnJvbSAnLi4vLi4vLi4vbGFuZy91dGlscydcbmltcG9ydCB7IGZvcm1hdENoYXRMaXN0VGl0bGVNZW50aW9ucyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3JlbmRlckNvbnRleHRNZW50aW9ucydcbmltcG9ydCB7IGdldEFnZW50RGlzcGxheU5hbWUsIGlzTWFya2V0cGxhY2VHbG9iYWxDbG9uZUFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYWdlbnREaXNwbGF5TmFtZSdcbmltcG9ydCB7IEFQUENVRVNfRVZFTlRTLCBBUFBDVUVTX1NFTEVDVE9SUywgdHJhY2tBcHBjdWVzRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hcHBjdWVzJ1xuaW1wb3J0IHsgZm9ybWF0VW5yZWFkQ291bnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9mb3JtYXRVbnJlYWRDb3VudCdcbmltcG9ydCB7IFNlc3Npb25HZW5lcmF0aW5nRG90IH0gZnJvbSAnLi4vLi4vYXRvbXMvU2Vzc2lvbkdlbmVyYXRpbmdEb3QnXG5pbXBvcnQgeyB1c2VJc1Nlc3Npb25HZW5lcmF0aW5nLCB1c2VTZXNzaW9uTWV0YSB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3Nlc3Npb25zL3VzZVNlc3Npb25NZXRhJ1xuaW1wb3J0IHsgdXNlTWFpYVRhc2tQYW5lbFpJbmRleCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZU1haWFUYXNrUGFuZWxaSW5kZXgnXG5pbXBvcnQge1xuICBTQ0xIQ1dyYXBwZXIsXG4gIFNDTEhDV3JhcHBlckFnZW50LFxuICBTQ0xIQ1dyYXBwZXJBZ2VudFRleHQsXG4gIFNDTEhDV3JhcHBlckJ1dHRvbkFjdGlvbnMsXG4gIFNDTEhDV3JhcHBlckNvbnRlbnQsXG4gIFNDTEhDV3JhcHBlclRpdGxlLFxuICBTQ0xIQ1dyYXBwZXJUaXRsZVJvdyxcbiAgU0NTV3JhcHBlckNvbGxhcHNlZEJ1dHRvbixcbiAgU0NTV3JhcHBlck5ld0NoYXRJY29uLFxuICBTQ1NXcmFwcGVyQWdlbnRzTmF2SWNvbixcbn0gZnJvbSAnLi9TaWRlYmFyLnN0eWxlcydcbmltcG9ydCB7XG4gIFNDU1NpZGViYXJSb290LFxuICBTQ1NTaWRlYmFyVG9vbGJhcixcbiAgU0NTU2lkZWJhckJvZHksXG4gIFNDU1NpZGViYXJPcGVuUGFuZWwsXG4gIFNDU1NpZGViYXJBZ2VudHNCbG9jayxcbiAgU0NTU2lkZWJhckFnZW50c0FjdGlvbnMsXG4gIFNDU1NpZGViYXJNYWlha2VyTmF2QnV0dG9uLFxuICBTQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsLFxuICBTQ1NTaWRlYmFyQ29udmVyc2F0aW9uc0hlYWRpbmcsXG4gIFNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZ1JvdyxcbiAgU0NTU2lkZWJhclVucmVhZEFuY2hvcixcbiAgU0NTU2lkZWJhclVucmVhZENvdW50LFxuICBTQ1NTaWRlYmFyQ2hhdHNTY3JvbGwsXG4gIFNDU1NpZGViYXJFcnJvclN0YXRlQ29sdW1uLFxuICBTQ1NTaWRlYmFyRXJyb3JTdGF0ZVRvcCxcbiAgU0NTU2lkZWJhckVycm9yQmFubmVyLFxuICBTQ1NTaWRlYmFyRXJyb3JCYW5uZXJJY29uV3JhcCxcbiAgU0NTU2lkZWJhckVycm9yQmFubmVyTWVzc2FnZSxcbiAgU0NTU2lkZWJhckxvYWRpbmdBcmVhLFxuICBTQ1NTaWRlYmFyTG9hZE1vcmVSb3csXG4gIFNDU1NpZGViYXJFbXB0eUNoYXRzLFxuICBTQ1NTaWRlYmFyRW1wdHlDaGF0c1RleHQsXG4gIFNDU1NpZGViYXJDaGF0c0Zvb3RlcixcbiAgU0NTU2lkZWJhckZvb3RlckFjdGlvbnMsXG4gIFNDU1NpZGViYXJDb2xsYXBzZWREaXZpZGVyLFxufSBmcm9tICcuL1NpZGViYXIubGF5b3V0LnN0eWxlcydcblxuY29uc3QgYWN0aW9ucyA9IHtcbiAgZWRpdDogKHByb3BzOiBhbnkpID0+IDxFZGl0UXVlc3Rpb25Nb2RhbCB7Li4ucHJvcHN9IC8+LFxuICBkZWxldGU6IChwcm9wczogYW55KSA9PiA8RGVsZXRlUXVlc3Rpb25Nb2RhbCB7Li4ucHJvcHN9IC8+LFxufVxuXG4vKiogQWJyZXZpYSBcImVzcGVjaWFsaXN0YVwiL1wiZXNwZWNpYWxpc3RcIiDihpIgXCJFc3AuXCIgKEVTL1BUKSB5IFwic3BlY2lhbGlzdFwiIOKGkiBcIlNwZWMuXCIgKEVOKSBlbiBlbCBub21icmUgZGVsIGFnZW50ZS4gKi9cbmZ1bmN0aW9uIGFiYnJldmlhdGVTcGVjaWFsaXN0SW5BZ2VudE5hbWUoYWdlbnROYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIWFnZW50TmFtZSB8fCB0eXBlb2YgYWdlbnROYW1lICE9PSAnc3RyaW5nJykgcmV0dXJuIGFnZW50TmFtZVxuICByZXR1cm4gYWdlbnROYW1lLnJlcGxhY2UoL1xcYihlc3BlY2lhbGlzdGF8ZXNwZWNpYWxpc3QpXFxiL2dpLCAnRXNwLicpLnJlcGxhY2UoL1xcYnNwZWNpYWxpc3RcXGIvZ2ksICdTcGVjLicpXG59XG5cbmNvbnN0IExpc3RIaXN0b3J5Q2hhdCA9ICh7XG4gIGNoYXQsXG4gIG9uQ2xpY2ssXG4gIGlzTW9kYWxPcGVuLFxuICBvbk9wZW5Nb2RhbCxcbiAgb25DbG9zZU1vZGFsLFxuICBoYW5kbGVycyxcbiAgaXNTZWxlY3RlZCxcbiAgaW5kZXgsXG4gIHRvb2x0aXBaSW5kZXgsXG59OiB7XG4gIGNoYXQ6IGFueVxuICBvbkNsaWNrOiAoY2hhdDogYW55KSA9PiB2b2lkXG4gIGlzTW9kYWxPcGVuOiBib29sZWFuXG4gIG9uT3Blbk1vZGFsOiAoY2hhdElkOiBzdHJpbmcpID0+IHZvaWRcbiAgb25DbG9zZU1vZGFsOiAoKSA9PiB2b2lkXG4gIGhhbmRsZXJzOiB7XG4gICAgaGFuZGxlRGVsZXRlQ2hhdDogKGNoYXQ6IGFueSkgPT4gdm9pZFxuICAgIGhhbmRsZVVwZGF0ZUNoYXQ6IChjaGF0OiBhbnkpID0+IHZvaWRcbiAgfVxuICBpc1NlbGVjdGVkOiBib29sZWFuXG4gIGluZGV4OiBudW1iZXJcbiAgdG9vbHRpcFpJbmRleDogbnVtYmVyXG59KSA9PiB7XG4gIGNvbnN0IHRleHRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGFnZW50UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBkaXNwbGF5VGl0bGUgPSB1c2VNZW1vKCgpID0+IGZvcm1hdENoYXRMaXN0VGl0bGVNZW50aW9ucyhjaGF0LnRpdGxlKSwgW2NoYXQudGl0bGVdKVxuICBjb25zdCBkaXNwbGF5QWdlbnQgPSBnZXRBZ2VudERpc3BsYXlOYW1lKGNoYXQuYWdlbnRUeXBlLCBjaGF0LmFnZW50KVxuICBjb25zdCBjb250ZXh0TmFtZSA9IGNoYXQucHJvamVjdE5hbWUgfHwgY2hhdC5jbGllbnROYW1lXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXAgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWYsIFtkaXNwbGF5VGl0bGVdKVxuICBjb25zdCB7IHNob3dUb29sdGlwOiBzaG93VG9vbHRpcEFnZW50IH0gPSB1c2VSZXNpemVMaXN0ZW5lcihhZ2VudFJlZiwgW2NoYXQuYWdlbnRdKVxuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBbYWN0aW9uLCBzZXRBY3Rpb25dID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgaXNHZW5lcmF0aW5nID0gdXNlSXNTZXNzaW9uR2VuZXJhdGluZyhjaGF0LnNlc3Npb25FeHRlcm5hbElkKVxuICBjb25zdCBzZXNzaW9uTWV0YSA9IHVzZVNlc3Npb25NZXRhKGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpXG4gIGNvbnN0IGlzVW5yZWFkID0gY2hhdC5pc1JlYWQgPT09IGZhbHNlICYmICFpc0dlbmVyYXRpbmdcblxuICBjb25zdCBtZW51SXRlbXMgPSBbXG4gICAge1xuICAgICAgbGFiZWw6IHQoJ2hpc3RvcnkubWVudS5yZW5hbWUnKSxcbiAgICAgIG9uQ2xpY2tJdGVtOiAoY2hhdElkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgc2V0QWN0aW9uKCdlZGl0JylcbiAgICAgICAgb25PcGVuTW9kYWwoY2hhdElkKVxuICAgICAgfSxcbiAgICAgIEljb246IFBlbmNpbCxcbiAgICAgIGV2ZW50S2V5OiBFVkVOVFMucG1BaU1lbnVFZGl0LFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6IHQoJ2hpc3RvcnkubWVudS5kZWxldGUnKSxcbiAgICAgIG9uQ2xpY2tJdGVtOiAoY2hhdElkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgc2V0QWN0aW9uKCdkZWxldGUnKVxuICAgICAgICBvbk9wZW5Nb2RhbChjaGF0SWQpXG4gICAgICB9LFxuICAgICAgSWNvbjogVHJhc2gsXG4gICAgICBldmVudEtleTogRVZFTlRTLnBtQWlNZW51RGVsZXRlLFxuICAgIH0sXG4gIF1cblxuICBjb25zdCBoYW5kbGVDb25maXJtQWN0aW9uID0gKGNoYXREYXRhOiBhbnkpID0+IHtcbiAgICBpZiAoYWN0aW9uID09PSAnZWRpdCcpIHtcbiAgICAgIGhhbmRsZXJzLmhhbmRsZVVwZGF0ZUNoYXQoY2hhdERhdGEpXG4gICAgfSBlbHNlIHtcbiAgICAgIGhhbmRsZXJzLmhhbmRsZURlbGV0ZUNoYXQoY2hhdERhdGEpXG4gICAgfVxuICAgIHNldEFjdGlvbihudWxsKVxuICAgIG9uQ2xvc2VNb2RhbCgpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8U0NMSENXcmFwcGVyQ29udGVudFxuICAgICAgICBvbkNsaWNrPXtlID0+IHtcbiAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgb25DbGljayhjaGF0KVxuICAgICAgICB9fVxuICAgICAgICBrZXk9e2Bjb252ZXJzYXRpb24tJHtjaGF0LnNlc3Npb25FeHRlcm5hbElkfWB9XG4gICAgICAgIGlzTW9kYWxPcGVuPXtpc01vZGFsT3Blbn1cbiAgICAgICAgaXNTZWxlY3RlZD17aXNTZWxlY3RlZH1cbiAgICAgICAgJGluZGV4PXtpbmRleH1cbiAgICAgID5cbiAgICAgICAgPFNDTEhDV3JhcHBlcj5cbiAgICAgICAgICA8U0NMSENXcmFwcGVyVGl0bGVSb3c+XG4gICAgICAgICAgICB7aXNHZW5lcmF0aW5nIHx8IGlzVW5yZWFkID8gKFxuICAgICAgICAgICAgICA8U2Vzc2lvbkdlbmVyYXRpbmdEb3RcbiAgICAgICAgICAgICAgICBhcmlhTGFiZWw9e2lzR2VuZXJhdGluZyA/IHQoJ2NvbnZlcnNhdGlvbnMuZ2VuZXJhdGluZycpIDogdCgnY29udmVyc2F0aW9ucy51bnJlYWRMYWJlbCcpfVxuICAgICAgICAgICAgICAgIGlzV3JpdGluZz17aXNHZW5lcmF0aW5nICYmIHNlc3Npb25NZXRhPy5pc1dyaXRpbmd9XG4gICAgICAgICAgICAgICAgYW5pbWF0ZWQ9e2lzR2VuZXJhdGluZ31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3Nob3dUb29sdGlwID8gZGlzcGxheVRpdGxlIDogJyd9IHpJbmRleD17dG9vbHRpcFpJbmRleH0+XG4gICAgICAgICAgICAgIDxTQ0xIQ1dyYXBwZXJUaXRsZSByZWY9e3RleHRSZWZ9ICR1bnJlYWQ9e2lzVW5yZWFkfT5cbiAgICAgICAgICAgICAgICB7ZGlzcGxheVRpdGxlIHx8IHQoJ2NvbnZlcnNhdGlvbnMuZW1wdHlMYWJlbCcpfVxuICAgICAgICAgICAgICA8L1NDTEhDV3JhcHBlclRpdGxlPlxuICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgIDwvU0NMSENXcmFwcGVyVGl0bGVSb3c+XG4gICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgIHRpdGxlPXtzaG93VG9vbHRpcEFnZW50ID8gZGlzcGxheUFnZW50ICsgKGNvbnRleHROYW1lID8gYCAtICR7Y29udGV4dE5hbWV9YCA6ICcnKSA6ICcnfVxuICAgICAgICAgICAgekluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxTQ0xIQ1dyYXBwZXJBZ2VudD5cbiAgICAgICAgICAgICAge2NoYXQuYWdlbnRUeXBlID09PSAnY2xvbmUnIHx8IGNoYXQuYWdlbnRUeXBlID09PSAnb3JjaGVzdHJhdG9yJyA/IChcbiAgICAgICAgICAgICAgICA8TUFJQUljb24gd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSAvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGZvbnRTaXplOiAnMTRweCcgfX0+e2NoYXQuZW1vaml9PC9zcGFuPlxuICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgIDxTQ0xIQ1dyYXBwZXJBZ2VudFRleHQgcmVmPXthZ2VudFJlZn0+XG4gICAgICAgICAgICAgICAge2NoYXQuYWdlbnRUeXBlID09PSAnY2xvbmUnIHx8IGNoYXQuYWdlbnRUeXBlID09PSAnb3JjaGVzdHJhdG9yJ1xuICAgICAgICAgICAgICAgICAgPyBhYmJyZXZpYXRlU3BlY2lhbGlzdEluQWdlbnROYW1lKGNoYXQuYWdlbnQpXG4gICAgICAgICAgICAgICAgICA6IGNoYXQuYWdlbnR9XG4gICAgICAgICAgICAgICAge2NoYXQucHJvamVjdE5hbWUgJiYgYCAtICR7Y2hhdC5wcm9qZWN0TmFtZX1gfVxuICAgICAgICAgICAgICA8L1NDTEhDV3JhcHBlckFnZW50VGV4dD5cbiAgICAgICAgICAgIDwvU0NMSENXcmFwcGVyQWdlbnQ+XG4gICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICA8L1NDTEhDV3JhcHBlcj5cbiAgICAgICAgPFNDTEhDV3JhcHBlckJ1dHRvbkFjdGlvbnM+XG4gICAgICAgICAgPENVQnV0dG9uXG4gICAgICAgICAgICBpY29uT25seVxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e2V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgb25PcGVuTW9kYWwoY2hhdC5pZClcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPE1lbnVEb3RzIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gLz5cbiAgICAgICAgICA8L0NVQnV0dG9uPlxuICAgICAgICAgIHtpc01vZGFsT3BlbiAmJiAhYWN0aW9uICYmIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgZGF0YS1tb2RhbC1jb250YWluZXJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgICAgICB0b3A6ICczMnB4JyxcbiAgICAgICAgICAgICAgICByaWdodDogJzE2cHgnLFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3doaXRlJyxcbiAgICAgICAgICAgICAgICB6SW5kZXg6IDEwMDAsXG4gICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkIHJnYmEoMjI0LCAyMjQsIDIyNCwgMSknLFxuICAgICAgICAgICAgICAgIG1pbldpZHRoOiAnMTI0cHgnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7bWVudUl0ZW1zLm1hcCgoeyBsYWJlbCwgb25DbGlja0l0ZW0sIEljb24sIGV2ZW50S2V5IH0pID0+IChcbiAgICAgICAgICAgICAgICA8T3B0aW9uSXRlbVxuICAgICAgICAgICAgICAgICAga2V5PXtsYWJlbH1cbiAgICAgICAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2xpY2tJdGVtKGNoYXQuaWQpfVxuICAgICAgICAgICAgICAgICAgSWNvbj17SWNvbn1cbiAgICAgICAgICAgICAgICAgIGV2ZW50S2V5PXtldmVudEtleX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU0NMSENXcmFwcGVyQnV0dG9uQWN0aW9ucz5cbiAgICAgIDwvU0NMSENXcmFwcGVyQ29udGVudD5cbiAgICAgIHshIWFjdGlvbiAmJlxuICAgICAgICBhY3Rpb25zW2FjdGlvbl0oe1xuICAgICAgICAgIG9uQ2xvc2U6ICgpID0+IHtcbiAgICAgICAgICAgIG9uQ2xvc2VNb2RhbCgpXG4gICAgICAgICAgICBzZXRBY3Rpb24obnVsbClcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNoYXQsXG4gICAgICAgICAgaGFuZGxlcnM6IHtcbiAgICAgICAgICAgIGhhbmRsZUNvbmZpcm1BY3Rpb24sXG4gICAgICAgICAgICBoYW5kbGVTZXRJc09wZW5Nb2RhbDogb25DbG9zZU1vZGFsLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pfVxuICAgIDwvPlxuICApXG59XG5cbmV4cG9ydCBjb25zdCBTaWRlYmFyID0gKHtcbiAgb25Hb1RvQ2hhdCxcbiAgb25FcnJvciA9ICgpID0+IG51bGwsXG4gIGhhbmRsZUdvVG9Ib21lLFxuICBoYW5kbGVTdGFydE5ld0NoYXQsXG4gIGhhbmRsZU9wZW5NYXJrZXRwbGFjZSxcbiAgaGFuZGxlT3BlblNraWxscyxcbiAgb25PcGVuTWFpYWtlckNyZWF0b3IsXG4gIHNob3dOZXdDaGF0LFxuICByZWZldGNoQ2hhdHMsXG4gIGhhbmRsZVNldFJlZmV0Y2hDaGF0cyxcbiAgaGFzRXJyb3IsXG4gIHJlc2V0U2VsZWN0ZWRDaGF0UmVmLFxuICBhZ2VudHNOYXZBY3RpdmUgPSBudWxsLFxuICBpc0xlZ2FjeUNvbnRleHRTZXNzaW9uID0gZmFsc2UsXG4gIGluaXRpYWxPcGVuID0gZmFsc2UsXG4gIG9uT3BlbkNoYW5nZSxcbiAgb3BlbixcbiAgY29udmVyc2F0aW9uc09ubHkgPSBmYWxzZSxcbn06IHtcbiAgb25Hb1RvQ2hhdDogKGNoYXRJZDogc3RyaW5nKSA9PiB2b2lkXG4gIG9uRXJyb3I6ICgpID0+IHZvaWRcbiAgaGFuZGxlR29Ub0hvbWU6ICgpID0+IHZvaWRcbiAgLyoqIEluaWNpYSB1biBjaGF0IG51ZXZvOyBlbiBNaXMgYWdlbnRlcyAvIENyZWFkb3IgZGUgYWdlbnRlcyB1c2EgZWwgcHJpbWVyIGFnZW50ZSBkZSBsYSBsaXN0YS4gKi9cbiAgaGFuZGxlU3RhcnROZXdDaGF0PzogKCkgPT4gdm9pZFxuICBoYW5kbGVPcGVuTWFya2V0cGxhY2U6ICgpID0+IHZvaWRcbiAgaGFuZGxlT3BlblNraWxsczogKCkgPT4gdm9pZFxuICAvKiogQWJyZSBlbCBjcmVhZG9yIE1haWFrZXIgKG1pc21hIGzDs2dpY2EgcXVlIGVsIGh1YiBkZWwgbW9kYWwpLiAqL1xuICBvbk9wZW5NYWlha2VyQ3JlYXRvcj86ICgpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+XG4gIHNob3dOZXdDaGF0OiBib29sZWFuXG4gIHJlZmV0Y2hDaGF0czogYm9vbGVhblxuICBoYW5kbGVTZXRSZWZldGNoQ2hhdHM6IChyZWZldGNoOiBib29sZWFuKSA9PiB2b2lkXG4gIGhhc0Vycm9yOiBib29sZWFuXG4gIHJlc2V0U2VsZWN0ZWRDaGF0UmVmPzogTXV0YWJsZVJlZk9iamVjdDwoKCkgPT4gdm9pZCkgfCBudWxsPlxuICAvKiogUmVzYWx0YSBNYWlha2VyLCBNaXMgYWdlbnRlcyBvIE1pcyBza2lsbHMgKi9cbiAgYWdlbnRzTmF2QWN0aXZlPzogJ21haWFrZXInIHwgJ215QWdlbnRzJyB8ICdteVNraWxscycgfCBudWxsXG4gIC8qKiBDb252ZXJzYWNpw7NuIGRlIHVuIGNsb25lIGxlZ2FjeSAoYWdlbnRfdHlwZSBjbG9uZSArIGVudGl0eSBwcm9qZWN0L2NsaWVudC90YXNrKTogb2N1bHRhIFwibnVldm8gY2hhdFwiLiAqL1xuICBpc0xlZ2FjeUNvbnRleHRTZXNzaW9uPzogYm9vbGVhblxuICAvKiogRXN0YWRvIGluaWNpYWwgZGVsIHNpZGViYXIgKHJlc3RhdXJhY2nDs24gZGUgc2VzacOzbiB0cmFzIG5hdmVnYWNpw7NuKS4gKi9cbiAgaW5pdGlhbE9wZW4/OiBib29sZWFuXG4gIG9uT3BlbkNoYW5nZT86IChvcGVuOiBib29sZWFuKSA9PiB2b2lkXG4gIC8qKiBTaSBzZSBwYXNhLCBlbCBzaWRlYmFyIGVzIGNvbnRyb2xhZG8gcG9yIGVsIHBhZHJlIChwLiBlai4gdG9nZ2xlIGRlbCBoZWFkZXIgZGUgcMOhZ2luYSkuICovXG4gIG9wZW4/OiBib29sZWFuXG4gIC8qKiBQw6FnaW5hIC9tYWlhOiBzb2xvIGhpc3RvcmlhbCBkZSBjb252ZXJzYWNpb25lcywgc2luIG5hdiBkZSBhZ2VudGVzLiAqL1xuICBjb252ZXJzYXRpb25zT25seT86IGJvb2xlYW5cbn0pID0+IHtcbiAgY29uc3QgeyB0LCBpMThuIH0gPSB1c2VUKClcbiAgY29uc3QgdG9vbHRpcFpJbmRleCA9IHVzZU1haWFUYXNrUGFuZWxaSW5kZXgoMTUwMCwgJ292ZXJsYXknKVxuICBjb25zdCBbdW5jb250cm9sbGVkT3Blbiwgc2V0VW5jb250cm9sbGVkT3Blbl0gPSB1c2VTdGF0ZShpbml0aWFsT3BlbilcbiAgY29uc3QgaXNPcGVuID0gb3BlbiA/PyB1bmNvbnRyb2xsZWRPcGVuXG4gIGNvbnN0IFtpc09wZW5Nb2RhbCwgc2V0SXNPcGVuTW9kYWxdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW3NlbGVjdGVkQ2hhdCwgc2V0U2VsZWN0ZWRDaGF0XSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGNoYXRzRmV0Y2hlZFJlZiA9IHVzZVJlZihmYWxzZSlcbiAgY29uc3QgY2hhdHNDb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgZXZlbnRBbXBsaXR1ZGUgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgYWdlbnQ6IHNlbGVjdGVkQWdlbnQsIHNlbGVjdEFnZW50LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQsIHNldFRhc2sgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCB7XG4gICAgbG9hZGluZ0NoYXRzLFxuICAgIGNoYXRzLFxuICAgIGRlbGV0ZUNoYXQsXG4gICAgdXBkYXRlQ2hhdCxcbiAgICBmZXRjaENoYXRzLFxuICAgIGxpbWl0LFxuICAgIG9mZnNldCxcbiAgICBoYXNNb3JlQ2hhdHMsXG4gICAgbG9hZE1vcmVDaGF0cyxcbiAgICBpc0xvYWRpbmdNb3JlQ2hhdHMsXG4gICAgdW5yZWFkQ291bnQsXG4gICAgc2V0VW5yZWFkQ291bnQsXG4gICAgc2V0Q2hhdFJlYWRTdGF0ZSxcbiAgfSA9IHVzZUNoYXRzKHtcbiAgICBvbkVycm9yLFxuICB9KVxuXG4gIGNvbnN0IHVucmVhZFN1YnNjcmliZWRSZWYgPSB1c2VSZWYoZmFsc2UpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXVzZXI/LmlkIHx8IHR5cGVvZiAkX3NjID09PSAndW5kZWZpbmVkJyB8fCAhJF9zYykgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgY29uc3QgY2hhbm5lbCA9IGBzZXNzaW9ucy51bnJlYWQ6JHt1c2VyLmlkfWBcbiAgICBjb25zdCBoYW5kbGVVbnJlYWRFdmVudCA9ICh7XG4gICAgICBtb2RlbF9kYXRhOiBtb2RlbERhdGEsXG4gICAgfToge1xuICAgICAgbW9kZWxfZGF0YT86IHsgdW5yZWFkX2NvdW50PzogbnVtYmVyOyBzZXNzaW9uX2lkPzogc3RyaW5nOyBpc19yZWFkPzogYm9vbGVhbiB9XG4gICAgfSkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBtb2RlbERhdGE/LnVucmVhZF9jb3VudCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgc2V0VW5yZWFkQ291bnQobW9kZWxEYXRhLnVucmVhZF9jb3VudClcbiAgICAgIH1cbiAgICAgIGlmIChtb2RlbERhdGE/LnNlc3Npb25faWQgJiYgdHlwZW9mIG1vZGVsRGF0YT8uaXNfcmVhZCA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgIHNldENoYXRSZWFkU3RhdGUobW9kZWxEYXRhLnNlc3Npb25faWQsIG1vZGVsRGF0YS5pc19yZWFkKVxuICAgICAgfVxuICAgIH1cblxuICAgICRfc2Muc3Vic2NyaWJlSGFuZGxlcihjaGFubmVsLCBoYW5kbGVVbnJlYWRFdmVudClcblxuICAgIGlmICghdW5yZWFkU3Vic2NyaWJlZFJlZi5jdXJyZW50KSB7XG4gICAgICAkX3NjLnVwZGF0ZUNvbm5lY3Rpb25Nb2RlbChcbiAgICAgICAge1xuICAgICAgICAgIG1vZGVsX2hhc2g6IGNoYW5uZWwsXG4gICAgICAgICAgYWN0aW9uOiAkX3NjLmFjdGlvblR5cGU/LlNVQlNDUklCRSxcbiAgICAgICAgfSxcbiAgICAgICAgY2hhbm5lbCxcbiAgICAgICAgdXNlcixcbiAgICAgICAgdXNlcixcbiAgICAgICAgJF9zYy5jaGFubmVsVHlwZT8uTU9ERUxfQ0hBTk5FTFxuICAgICAgKVxuICAgICAgdW5yZWFkU3Vic2NyaWJlZFJlZi5jdXJyZW50ID0gdHJ1ZVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfSwgW3VzZXIsIHNldFVucmVhZENvdW50LCBzZXRDaGF0UmVhZFN0YXRlXSlcblxuICBjb25zdCB1c2VyUGVybWlzc2lvbnMgPSB1c2VyPy5wZXJtaXNzaW9ucz8uYWlfYWdlbnRzXG4gIGNvbnN0IGNhbkNyZWF0ZUFnZW50cyA9ICEhdXNlclBlcm1pc3Npb25zPy5jcmVhdGVcbiAgY29uc3QgaGFzTXVsdGlBZ2VudHNGZWF0dXJlQWNjZXNzID0gISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICBjb25zdCBjYW5WaWV3QWdlbnRzID0gISF1c2VyUGVybWlzc2lvbnM/LnZpZXcgJiYgaGFzTXVsdGlBZ2VudHNGZWF0dXJlQWNjZXNzXG4gIC8vIFRlbXBvcmFsOiBza2lsbHMgZW4gc2lkZWJhciBzb2xvIHBhcmEgY29tcGFueSAyMzM2XG4gIGNvbnN0IGNhblZpZXdTa2lsbHMgPSBjYW5WaWV3QWdlbnRzICYmIGNhbkFjY2Vzc1RvU2tpbGxzKCkgJiYgdXNlcj8uY29tcGFueV9pZCA9PT0gMjMzNlxuICBjb25zdCBzaG93TWFya2V0cGxhY2VTaWRlYmFyQnV0dG9uID0gISFjYW5DcmVhdGVBZ2VudHMgJiYgaGFzTXVsdGlBZ2VudHNGZWF0dXJlQWNjZXNzXG4gIGNvbnN0IGFnZW50TmF2QnV0dG9uQ291bnQgPSAoKHNob3dNYXJrZXRwbGFjZVNpZGViYXJCdXR0b24gPyAxIDogMCkgK1xuICAgIChjYW5WaWV3QWdlbnRzID8gMSA6IDApICtcbiAgICAoY2FuVmlld1NraWxscyA/IDEgOiAwKSkgYXMgMCB8IDEgfCAyIHwgM1xuICBjb25zdCBzaG93QWdlbnRzTmF2QmxvY2sgPSAhY29udmVyc2F0aW9uc09ubHkgJiYgKHNob3dNYXJrZXRwbGFjZVNpZGViYXJCdXR0b24gfHwgY2FuVmlld0FnZW50cyB8fCBjYW5WaWV3U2tpbGxzKVxuICBjb25zdCBteUFnZW50c1NpZGViYXJUcmFja2VkUmVmID0gdXNlUmVmKGZhbHNlKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFjYW5WaWV3QWdlbnRzIHx8IG15QWdlbnRzU2lkZWJhclRyYWNrZWRSZWYuY3VycmVudCkgcmV0dXJuXG5cbiAgICBteUFnZW50c1NpZGViYXJUcmFja2VkUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgdHJhY2tBcHBjdWVzRXZlbnQoQVBQQ1VFU19FVkVOVFMubWFpYVNpZGViYXJNeUFnZW50cylcbiAgfSwgW2NhblZpZXdBZ2VudHNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHJlc2V0U2VsZWN0ZWRDaGF0UmVmKSB7XG4gICAgICByZXNldFNlbGVjdGVkQ2hhdFJlZi5jdXJyZW50ID0gKCkgPT4gc2V0U2VsZWN0ZWRDaGF0KG51bGwpXG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzZXRTZWxlY3RlZENoYXRSZWYpIHtcbiAgICAgICAgcmVzZXRTZWxlY3RlZENoYXRSZWYuY3VycmVudCA9IG51bGxcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtyZXNldFNlbGVjdGVkQ2hhdFJlZl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVTZWxlY3RTZXNzaW9uID0gKGV2dDogRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHsgc2Vzc2lvbklkIH0gPSAoZXZ0IGFzIEN1c3RvbUV2ZW50PHsgc2Vzc2lvbklkPzogc3RyaW5nIH0+KS5kZXRhaWwgPz8ge31cbiAgICAgIGlmIChzZXNzaW9uSWQpIHtcbiAgICAgICAgc2V0U2VsZWN0ZWRDaGF0KHNlc3Npb25JZClcbiAgICAgIH1cbiAgICB9XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2lkZWJhci1zZWxlY3Qtc2Vzc2lvbicsIGhhbmRsZVNlbGVjdFNlc3Npb24pXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3NpZGViYXItc2VsZWN0LXNlc3Npb24nLCBoYW5kbGVTZWxlY3RTZXNzaW9uKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlQ2hhdCA9IGFzeW5jIChjaGF0OiBhbnkpID0+IHtcbiAgICBkZWxldGVDaGF0KGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpXG4gICAgc2V0SXNPcGVuTW9kYWwobnVsbClcbiAgICBoYW5kbGVHb1RvSG9tZSgpXG4gIH1cblxuICBjb25zdCBoYW5kbGVVcGRhdGVDaGF0ID0gKGNoYXQ6IGFueSkgPT4ge1xuICAgIHVwZGF0ZUNoYXQoY2hhdClcbiAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlT3Blbk1vZGFsID0gKGNoYXRJZDogc3RyaW5nKSA9PiB7XG4gICAgaWYgKGlzT3Blbk1vZGFsICYmIGlzT3Blbk1vZGFsICE9PSBjaGF0SWQpIHtcbiAgICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNldElzT3Blbk1vZGFsKGNoYXRJZClcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVDbG9zZU1vZGFsID0gKCkgPT4ge1xuICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKGlzT3Blbk1vZGFsICYmICEoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLmNsb3Nlc3QoJ1tkYXRhLW1vZGFsLWNvbnRhaW5lcl0nKSkge1xuICAgICAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpc09wZW5Nb2RhbCkge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuICB9LCBbaXNPcGVuTW9kYWxdKVxuXG4gIGNvbnN0IGhhbmRsZVRvZ2dsZVNpZGViYXIgPSAoKSA9PiB7XG4gICAgaWYgKGlzT3Blbk1vZGFsKSB7XG4gICAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICAgIH1cbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0U2lkZWJhciwgeyBhY3Rpb246IGlzT3BlbiA/ICdjbG9zZScgOiAnb3BlbicgfSlcbiAgICBjb25zdCBuZXh0ID0gIWlzT3BlblxuICAgIGlmIChvcGVuID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHNldFVuY29udHJvbGxlZE9wZW4obmV4dClcbiAgICB9XG4gICAgb25PcGVuQ2hhbmdlPy4obmV4dClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZU9wZW5DcmVhdGVBZ2VudCA9IGFzeW5jICgpID0+IHtcbiAgICBpZiAob25PcGVuTWFpYWtlckNyZWF0b3IpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IG9uT3Blbk1haWFrZXJDcmVhdG9yKClcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICBvbkVycm9yKClcbiAgICAgIH1cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICAgIHBhdGg6IGBhZ2VudHM/YWdlbnRfdHlwZT1jbG9uZSZlbnRpdHk9Z2xvYmFsJmxhbmc9JHttYXBDT1JMYW5nKGkxOG4ubGFuZ3VhZ2UpfWAsXG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB9KVxuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuICAgICAgY29uc3QgbWFpYWtlckFnZW50ID0gKGRhdGEuZGF0YSB8fCBbXSkuZmluZCgoYWdlbnRJdGVtOiB7IHR5cGU/OiBzdHJpbmc7IGVudGl0eT86IHN0cmluZzsgbmFtZT86IHN0cmluZyB9KSA9PlxuICAgICAgICBpc01hcmtldHBsYWNlR2xvYmFsQ2xvbmVBZ2VudChhZ2VudEl0ZW0pXG4gICAgICApXG5cbiAgICAgIGlmICghbWFpYWtlckFnZW50KSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBzZXRQcm9qZWN0KG51bGwpXG4gICAgICBzZXRDbGllbnQ/LihudWxsKVxuICAgICAgc2V0VGFzayhudWxsKVxuICAgICAgLy8gaGFuZGxlR29Ub0hvbWUgcHVlZGUgcmVzZWxlY2Npb25hciBhZ2VudHMuZGF0YVswXSBzaSBlbCBhZ2VudGUgZ2xvYmFsIGF1biBlc3RhIGVuIG51bGxcbiAgICAgIC8vIChjbG9zdXJlIHN0YWxlIGRlIGxhIHNlY2Npb24gXCJNaXMgYWdlbnRlc1wiKSwgcG9yIGVzbyBzZWxlY3RBZ2VudChtYWlha2VyQWdlbnQpIHZhIGRlc3B1ZXMuXG4gICAgICBoYW5kbGVHb1RvSG9tZSgpXG4gICAgICBzZWxlY3RBZ2VudChtYWlha2VyQWdlbnQpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIG9uRXJyb3IoKVxuICAgIH1cbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFjaGF0c0ZldGNoZWRSZWYuY3VycmVudCkge1xuICAgICAgY2hhdHNGZXRjaGVkUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgICBmZXRjaENoYXRzKHsgbGltaXQsIG9mZnNldCB9KVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIC8vIFJlZmV0Y2ggc29saWNpdGFkbyBwb3IgcHJvcDogc2UgZWplY3V0YSBhdW5xdWUgZWwgc2lkZWJhciBlc3TDqSBjb2xhcHNhZG8uXG4gICAgaWYgKHJlZmV0Y2hDaGF0cykge1xuICAgICAgZmV0Y2hDaGF0cyh7IGxpbWl0LCBvZmZzZXQgfSlcbiAgICAgIGhhbmRsZVNldFJlZmV0Y2hDaGF0cyhmYWxzZSlcbiAgICB9XG4gIH0sIFtyZWZldGNoQ2hhdHMsIGhhbmRsZVNldFJlZmV0Y2hDaGF0cywgZmV0Y2hDaGF0cywgbGltaXQsIG9mZnNldF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoKSA9PiB7XG4gICAgICBpZiAoIWNoYXRzQ29udGFpbmVyUmVmLmN1cnJlbnQgfHwgIWhhc01vcmVDaGF0cyB8fCBpc0xvYWRpbmdNb3JlQ2hhdHMgfHwgaGFzRXJyb3IpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gY2hhdHNDb250YWluZXJSZWYuY3VycmVudFxuICAgICAgY29uc3QgaXNBdEJvdHRvbSA9IHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCA+PSBzY3JvbGxIZWlnaHQgLSAxMFxuXG4gICAgICBpZiAoaXNBdEJvdHRvbSkge1xuICAgICAgICBsb2FkTW9yZUNoYXRzKClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBjb250YWluZXIgPSBjaGF0c0NvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgICBjb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2hhc01vcmVDaGF0cywgaXNMb2FkaW5nTW9yZUNoYXRzLCBsb2FkTW9yZUNoYXRzLCBoYXNFcnJvcl0pXG5cbiAgY29uc3QgaGFuZGxlTmV3Q2hhdCA9ICgpID0+IHtcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlTaWRlYmFyTmV3Q2hhdClcbiAgICBpZiAoaXNPcGVuTW9kYWwpIHtcbiAgICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gICAgfVxuICAgIHNldFNlbGVjdGVkQ2hhdChudWxsKVxuICAgIGlmIChoYW5kbGVTdGFydE5ld0NoYXQpIHtcbiAgICAgIGhhbmRsZVN0YXJ0TmV3Q2hhdCgpXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaGFuZGxlR29Ub0hvbWUoKVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBBbCBjcmVhci9hY3R1YWxpemFyIHVuYSBjb252ZXJzYWNpw7NuIHJlZnJlc2NhbW9zIGxhIGxpc3RhIGF1bnF1ZSBlbCBzaWRlYmFyIGVzdMOpIGNvbGFwc2Fkby5cbiAgICBjb25zdCBoYW5kbGVSZWZldGNoU2Vzc2lvbiA9ICgpID0+IHtcbiAgICAgIGNoYXRzRmV0Y2hlZFJlZi5jdXJyZW50ID0gdHJ1ZVxuICAgICAgZmV0Y2hDaGF0cyh7IGxpbWl0OiAyMCwgb2Zmc2V0OiAwLCBiYWNrZ3JvdW5kOiB0cnVlIH0pXG4gICAgfVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3JlZmV0Y2gtc2Vzc2lvbicsIGhhbmRsZVJlZmV0Y2hTZXNzaW9uKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdyZWZldGNoLXNlc3Npb24nLCBoYW5kbGVSZWZldGNoU2Vzc2lvbilcbiAgICB9XG4gIH0sIFtmZXRjaENoYXRzXSlcblxuICBjb25zdCBpc0FnZW50c0h1YlNlY3Rpb24gPSBzaG93TmV3Q2hhdCAmJiAoYWdlbnRzTmF2QWN0aXZlID09PSAnbXlBZ2VudHMnIHx8IGFnZW50c05hdkFjdGl2ZSA9PT0gJ21haWFrZXInKVxuXG4gIGNvbnN0IHNob3dOZXdDaGF0QnV0dG9uID1cbiAgICBpc0FnZW50c0h1YlNlY3Rpb24gfHxcbiAgICAoIXNob3dOZXdDaGF0ICYmXG4gICAgICAhaGFzRXJyb3IgJiZcbiAgICAgICFsb2FkaW5nQ2hhdHMgJiZcbiAgICAgICFpc0xlZ2FjeUNvbnRleHRTZXNzaW9uICYmXG4gICAgICAoKHVzZXJQZXJtaXNzaW9ucz8udmlldyAmJlxuICAgICAgICAhc2VsZWN0ZWRBZ2VudD8uaXNfZGVsZXRlZCAmJlxuICAgICAgICAhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyAmJlxuICAgICAgICAhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9hY2Nlc3MpIHx8XG4gICAgICAgICghdXNlclBlcm1pc3Npb25zPy52aWV3ICYmXG4gICAgICAgICAgIXNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgJiZcbiAgICAgICAgICAhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyAmJlxuICAgICAgICAgICFzZWxlY3RlZEFnZW50Py5oYXNfbm90X2FjY2VzcykpKVxuXG4gIGNvbnN0IG5ld0NoYXRCdXR0b24gPSAoXG4gICAgPFRvb2x0aXAgdGl0bGU9e3QoJ2NvbnZlcnNhdGlvbnMubmV3Q2hhdCcpfSB6SW5kZXg9e3Rvb2x0aXBaSW5kZXh9PlxuICAgICAgPFNDU1dyYXBwZXJOZXdDaGF0SWNvbiBvbkNsaWNrPXtoYW5kbGVOZXdDaGF0fT5cbiAgICAgICAgPE5ld0NoYXQgd2lkdGg9ezE2fSBoZWlnaHQ9ezE2fSAvPlxuICAgICAgPC9TQ1NXcmFwcGVyTmV3Q2hhdEljb24+XG4gICAgPC9Ub29sdGlwPlxuICApXG5cbiAgcmV0dXJuIChcbiAgICA8U0NTU2lkZWJhclJvb3QgJGlzT3Blbj17aXNPcGVufT5cbiAgICAgIDxTQ1NTaWRlYmFyVG9vbGJhciAkaXNPcGVuPXtpc09wZW59PlxuICAgICAgICA8VG9vbHRpcCB0aXRsZT17aXNPcGVuID8gdCgnY29udmVyc2F0aW9ucy5jb2xsYXBzZScpIDogdCgnaGlzdG9yeS50b29sdGlwJyl9IHpJbmRleD17dG9vbHRpcFpJbmRleH0+XG4gICAgICAgICAgPFNDU1dyYXBwZXJDb2xsYXBzZWRCdXR0b24gb25DbGljaz17aGFuZGxlVG9nZ2xlU2lkZWJhcn0gaXNPcGVuPXtpc09wZW59PlxuICAgICAgICAgICAge2lzT3BlbiA/IChcbiAgICAgICAgICAgICAgPENoZXZyb25Eb3VibGVMZWZ0IGNvbG9yPVwicmdiYSgxMDIsIDEwMiwgMTAyLCAxKVwiIHdpZHRoPXsxNn0gaGVpZ2h0PXsxNn0gLz5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxTQ1NTaWRlYmFyVW5yZWFkQW5jaG9yPlxuICAgICAgICAgICAgICAgIDxIaXN0b3J5IGNvbG9yPVwicmdiYSgxMywgMTMsIDEzLCAxKVwiIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gLz5cbiAgICAgICAgICAgICAgICB7dW5yZWFkQ291bnQgPiAwID8gKFxuICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJVbnJlYWRDb3VudCAkZmxvYXRpbmcgYXJpYS1sYWJlbD17dCgnY29udmVyc2F0aW9ucy51bnJlYWRMYWJlbCcpfT5cbiAgICAgICAgICAgICAgICAgICAge2Zvcm1hdFVucmVhZENvdW50KHVucmVhZENvdW50KX1cbiAgICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhclVucmVhZENvdW50PlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8L1NDU1NpZGViYXJVbnJlYWRBbmNob3I+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvU0NTV3JhcHBlckNvbGxhcHNlZEJ1dHRvbj5cbiAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICB7c2hvd05ld0NoYXRCdXR0b24gPyBuZXdDaGF0QnV0dG9uIDogbnVsbH1cbiAgICAgICAgeyFpc09wZW4gJiYgc2hvd0FnZW50c05hdkJsb2NrID8gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8U0NTU2lkZWJhckNvbGxhcHNlZERpdmlkZXIgLz5cbiAgICAgICAgICAgIHtzaG93TWFya2V0cGxhY2VTaWRlYmFyQnV0dG9uID8gKFxuICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17dCgnY29udmVyc2F0aW9ucy5tYWlha2VyTmF2Jyl9IHpJbmRleD17dG9vbHRpcFpJbmRleH0+XG4gICAgICAgICAgICAgICAgPFNDU1dyYXBwZXJBZ2VudHNOYXZJY29uXG4gICAgICAgICAgICAgICAgICAkYWN0aXZlPXthZ2VudHNOYXZBY3RpdmUgPT09ICdtYWlha2VyJ31cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdE1wT3BlbilcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlT3BlbkNyZWF0ZUFnZW50KClcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPE1haWFTdG9yZUljb24gc2l6ZT17MTZ9IC8+XG4gICAgICAgICAgICAgICAgPC9TQ1NXcmFwcGVyQWdlbnRzTmF2SWNvbj5cbiAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7Y2FuVmlld0FnZW50cyA/IChcbiAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3QoJ2NvbnZlcnNhdGlvbnMubXlBZ2VudHNOYXYnKX0gekluZGV4PXt0b29sdGlwWkluZGV4fT5cbiAgICAgICAgICAgICAgICA8U0NTV3JhcHBlckFnZW50c05hdkljb25cbiAgICAgICAgICAgICAgICAgICRhY3RpdmU9e2FnZW50c05hdkFjdGl2ZSA9PT0gJ215QWdlbnRzJ31cbiAgICAgICAgICAgICAgICAgIGRhdGEtYXBwY3Vlcz17QVBQQ1VFU19TRUxFQ1RPUlMubWFpYVNpZGViYXJNeUFnZW50c31cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpU2lkZWJhck15QWdlbnRzKVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVPcGVuTWFya2V0cGxhY2UoKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8TXlBZ2VudHNOYXZJY29uIHNpemU9ezE2fSAvPlxuICAgICAgICAgICAgICAgIDwvU0NTV3JhcHBlckFnZW50c05hdkljb24+XG4gICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2NhblZpZXdTa2lsbHMgPyAoXG4gICAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXt0KCdjb252ZXJzYXRpb25zLm15U2tpbGxzTmF2Jyl9IHpJbmRleD17dG9vbHRpcFpJbmRleH0+XG4gICAgICAgICAgICAgICAgPFNDU1dyYXBwZXJBZ2VudHNOYXZJY29uICRhY3RpdmU9e2FnZW50c05hdkFjdGl2ZSA9PT0gJ215U2tpbGxzJ30gb25DbGljaz17aGFuZGxlT3BlblNraWxsc30+XG4gICAgICAgICAgICAgICAgICA8U2tpbGxzTmF2SWNvbiBzaXplPXsxNn0gLz5cbiAgICAgICAgICAgICAgICA8L1NDU1dyYXBwZXJBZ2VudHNOYXZJY29uPlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L1NDU1NpZGViYXJUb29sYmFyPlxuICAgICAgPFNDU1NpZGViYXJCb2R5ICRpc09wZW49e2lzT3Blbn0+XG4gICAgICAgIHtpc09wZW4gPyAoXG4gICAgICAgICAgPFNDU1NpZGViYXJPcGVuUGFuZWw+XG4gICAgICAgICAgICA8U0NTU2lkZWJhckFnZW50c0Jsb2NrPlxuICAgICAgICAgICAgICB7c2hvd0FnZW50c05hdkJsb2NrID8gKFxuICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyQWdlbnRzQWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgIHtzaG93TWFya2V0cGxhY2VTaWRlYmFyQnV0dG9uID8gKFxuICAgICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhck1haWFrZXJOYXZCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0TXBPcGVuKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlT3BlbkNyZWF0ZUFnZW50KClcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICRhY3RpdmU9e2FnZW50c05hdkFjdGl2ZSA9PT0gJ21haWFrZXInfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPE1haWFTdG9yZUljb24gc2l6ZT17MTZ9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJNYWlha2VyTmF2TGFiZWw+e3QoJ2NvbnZlcnNhdGlvbnMubWFpYWtlck5hdicpfTwvU0NTU2lkZWJhck1haWFrZXJOYXZMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyTWFpYWtlck5hdkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAge2NhblZpZXdBZ2VudHMgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyTWFpYWtlck5hdkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXBwY3Vlcz17QVBQQ1VFU19TRUxFQ1RPUlMubWFpYVNpZGViYXJNeUFnZW50c31cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlTaWRlYmFyTXlBZ2VudHMpXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVPcGVuTWFya2V0cGxhY2UoKVxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgJGFjdGl2ZT17YWdlbnRzTmF2QWN0aXZlID09PSAnbXlBZ2VudHMnfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPE15QWdlbnRzTmF2SWNvbiBzaXplPXsxNn0gLz5cbiAgICAgICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhck1haWFrZXJOYXZMYWJlbD57dCgnY29udmVyc2F0aW9ucy5teUFnZW50c05hdicpfTwvU0NTU2lkZWJhck1haWFrZXJOYXZMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyTWFpYWtlck5hdkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAge2NhblZpZXdTa2lsbHMgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyTWFpYWtlck5hdkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZU9wZW5Ta2lsbHN9XG4gICAgICAgICAgICAgICAgICAgICAgJGFjdGl2ZT17YWdlbnRzTmF2QWN0aXZlID09PSAnbXlTa2lsbHMnfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPFNraWxsc05hdkljb24gc2l6ZT17MTZ9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJNYWlha2VyTmF2TGFiZWw+e3QoJ2NvbnZlcnNhdGlvbnMubXlTa2lsbHNOYXYnKX08L1NDU1NpZGViYXJNYWlha2VyTmF2TGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhck1haWFrZXJOYXZCdXR0b24+XG4gICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJBZ2VudHNBY3Rpb25zPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPFNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZ1Jvdz5cbiAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckNvbnZlcnNhdGlvbnNIZWFkaW5nPnt0KCdjb252ZXJzYXRpb25zLnRpdGxlJyl9PC9TQ1NTaWRlYmFyQ29udmVyc2F0aW9uc0hlYWRpbmc+XG4gICAgICAgICAgICAgICAge3VucmVhZENvdW50ID4gMCA/IChcbiAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyVW5yZWFkQ291bnQgYXJpYS1sYWJlbD17dCgnY29udmVyc2F0aW9ucy51bnJlYWRMYWJlbCcpfT5cbiAgICAgICAgICAgICAgICAgICAge2Zvcm1hdFVucmVhZENvdW50KHVucmVhZENvdW50KX1cbiAgICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhclVucmVhZENvdW50PlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8L1NDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZ1Jvdz5cbiAgICAgICAgICAgIDwvU0NTU2lkZWJhckFnZW50c0Jsb2NrPlxuICAgICAgICAgICAgPFNDU1NpZGViYXJDaGF0c1Njcm9sbFxuICAgICAgICAgICAgICByZWY9e2NoYXRzQ29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICAkaGFzQ2hhdHM9e2NoYXRzLmxlbmd0aCA+IDB9XG4gICAgICAgICAgICAgICRvZmZzZXRWYXJpYW50PXtoYXNFcnJvciA/ICdlcnJvcicgOiAnZGVmYXVsdCd9XG4gICAgICAgICAgICAgICRhZ2VudE5hdkJ1dHRvbkNvdW50PXtzaG93QWdlbnRzTmF2QmxvY2sgPyBhZ2VudE5hdkJ1dHRvbkNvdW50IDogMH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmICFjaGF0cy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFcnJvclN0YXRlQ29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFcnJvclN0YXRlVG9wPlxuICAgICAgICAgICAgICAgICAgICA8RXJyb3JTdGF0ZSAvPlxuICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyRXJyb3JTdGF0ZVRvcD5cbiAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRXJyb3JCYW5uZXI+XG4gICAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRXJyb3JCYW5uZXJJY29uV3JhcD5cbiAgICAgICAgICAgICAgICAgICAgICA8RXJyb3JJY29uIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckVycm9yQmFubmVySWNvbldyYXA+XG4gICAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRXJyb3JCYW5uZXJNZXNzYWdlPnt0KCdjb252ZXJzYXRpb25zLmVycm9yJyl9PC9TQ1NTaWRlYmFyRXJyb3JCYW5uZXJNZXNzYWdlPlxuICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyRXJyb3JCYW5uZXI+XG4gICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyRXJyb3JTdGF0ZUNvbHVtbj5cbiAgICAgICAgICAgICAgKSA6IGxvYWRpbmdDaGF0cyA/IChcbiAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckxvYWRpbmdBcmVhPlxuICAgICAgICAgICAgICAgICAgPFNpZGViYXJDaGF0c1NrZWxldG9uIC8+XG4gICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyTG9hZGluZ0FyZWE+XG4gICAgICAgICAgICAgICkgOiBjaGF0cy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIHtjaGF0cy5tYXAoKGNoYXQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgPExpc3RIaXN0b3J5Q2hhdFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtjaGF0LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgY2hhdD17Y2hhdH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2NoYXREYXRhID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzT3Blbk1vZGFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXNPcGVuTW9kYWwobnVsbClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZENoYXQoY2hhdERhdGEuc2Vzc2lvbkV4dGVybmFsSWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uR29Ub0NoYXQoY2hhdERhdGEpXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgaXNNb2RhbE9wZW49e2lzT3Blbk1vZGFsID09PSBjaGF0LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25PcGVuTW9kYWw9e2hhbmRsZU9wZW5Nb2RhbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xvc2VNb2RhbD17aGFuZGxlQ2xvc2VNb2RhbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZXJzPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZURlbGV0ZUNoYXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVVwZGF0ZUNoYXQsXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17c2VsZWN0ZWRDaGF0ID09PSBjaGF0LnNlc3Npb25FeHRlcm5hbElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFpJbmRleD17dG9vbHRpcFpJbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIHtpc0xvYWRpbmdNb3JlQ2hhdHMgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckxvYWRNb3JlUm93PlxuICAgICAgICAgICAgICAgICAgICAgIDxTaWRlYmFyQ2hhdHNTa2VsZXRvbiBjb3VudD17Mn0gLz5cbiAgICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyTG9hZE1vcmVSb3c+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRW1wdHlDaGF0cz5cbiAgICAgICAgICAgICAgICAgIDxFbXB0eUhpc3RvcnlJY29uIC8+XG4gICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVtcHR5Q2hhdHNUZXh0Pnt0KCdjb252ZXJzYXRpb25zLmVtcHR5Jyl9PC9TQ1NTaWRlYmFyRW1wdHlDaGF0c1RleHQ+XG4gICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyRW1wdHlDaGF0cz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvU0NTU2lkZWJhckNoYXRzU2Nyb2xsPlxuICAgICAgICAgICAgPFNDU1NpZGViYXJDaGF0c0Zvb3Rlcj5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmIGNoYXRzLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVycm9yQmFubmVyPlxuICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFcnJvckJhbm5lckljb25XcmFwPlxuICAgICAgICAgICAgICAgICAgICA8RXJyb3JJY29uIC8+XG4gICAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJFcnJvckJhbm5lckljb25XcmFwPlxuICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFcnJvckJhbm5lck1lc3NhZ2U+e3QoJ2NvbnZlcnNhdGlvbnMuZXJyb3InKX08L1NDU1NpZGViYXJFcnJvckJhbm5lck1lc3NhZ2U+XG4gICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyRXJyb3JCYW5uZXI+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9TQ1NTaWRlYmFyQ2hhdHNGb290ZXI+XG4gICAgICAgICAgPC9TQ1NTaWRlYmFyT3BlblBhbmVsPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPFNDU1NpZGViYXJGb290ZXJBY3Rpb25zICRpc09wZW49e2lzT3Blbn0gJGp1c3RpZnlCZXR3ZWVuPXshIXNlbGVjdGVkQWdlbnR9PlxuICAgICAgICAgIHtzZWxlY3RlZEFnZW50ID8gPEZlZWRiYWNrQnV0dG9uIHNlbGVjdGVkQWdlbnQ9e3NlbGVjdGVkQWdlbnR9IGlzT3Blbj17aXNPcGVufSAvPiA6IG51bGx9XG4gICAgICAgIDwvU0NTU2lkZWJhckZvb3RlckFjdGlvbnM+XG4gICAgICA8L1NDU1NpZGViYXJCb2R5PlxuICAgIDwvU0NTU2lkZWJhclJvb3Q+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQTJCQSxTQUFTLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUM5RSxTQUFTQyxpQkFBaUIsUUFBUSxvREFBb0Q7QUFDdEYsU0FBU0MsT0FBTyxRQUFRLDBDQUEwQztBQUNsRSxTQUFTQyxRQUFRLFFBQVEsNENBQTRDO0FBQ3JFLFNBQVNDLFFBQVEsUUFBUSwyQ0FBMkM7QUFDcEUsU0FBU0MsTUFBTSxRQUFRLHlDQUF5QztBQUNoRSxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBRTlELFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFFdEUsU0FBU0MsZ0JBQWdCLFFBQVEsZ0NBQWdDO0FBQ2pFLFNBQVNDLGlCQUFpQixRQUFRLDBCQUEwQjtBQUM1RCxTQUFTQyxRQUFRLFFBQVEseUJBQXlCO0FBQ2xELFNBQVNDLG9CQUFvQixRQUFRLG9CQUFvQjtBQUN6RCxTQUFTQyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsYUFBYSxFQUFFQyxlQUFlLEVBQUVDLGFBQWEsRUFBRUMsT0FBTyxRQUFRLG1CQUFtQjtBQUNoSCxTQUFTQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSx5QkFBeUI7QUFDMUQsU0FBU0MsSUFBSSxRQUFRLHFCQUFxQjtBQUMxQyxTQUFTQyxVQUFV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
|
|
746
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJDaGV2cm9uRG91YmxlTGVmdCIsIkhpc3RvcnkiLCJDVUJ1dHRvbiIsIk1lbnVEb3RzIiwiUGVuY2lsIiwiVHJhc2giLCJUb29sdGlwIiwiRW1wdHlIaXN0b3J5SWNvbiIsInVzZVJlc2l6ZUxpc3RlbmVyIiwidXNlQ2hhdHMiLCJTaWRlYmFyQ2hhdHNTa2VsZXRvbiIsIkVycm9yU3RhdGUiLCJNQUlBSWNvbiIsIk1haWFTdG9yZUljb24iLCJNeUFnZW50c05hdkljb24iLCJTa2lsbHNOYXZJY29uIiwiTmV3Q2hhdCIsIkVWRU5UUyIsInVzZUV2ZW50IiwidXNlVCIsIk9wdGlvbkl0ZW0iLCJFZGl0UXVlc3Rpb25Nb2RhbCIsIkRlbGV0ZVF1ZXN0aW9uTW9kYWwiLCJFcnJvckljb24iLCJ1c2VVc2VyIiwiRmVlZGJhY2tCdXR0b24iLCJ1c2VHbG9iYWxDb250ZXh0IiwiZmV0Y2hNYWlhIiwiY2FuQWNjZXNzVG9Ta2lsbHMiLCJtYXBDT1JMYW5nIiwiZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zIiwiZ2V0QWdlbnREaXNwbGF5TmFtZSIsImlzTWFya2V0cGxhY2VHbG9iYWxDbG9uZUFnZW50IiwiQVBQQ1VFU19FVkVOVFMiLCJBUFBDVUVTX1NFTEVDVE9SUyIsInRyYWNrQXBwY3Vlc0V2ZW50IiwiZm9ybWF0VW5yZWFkQ291bnQiLCJTZXNzaW9uR2VuZXJhdGluZ0RvdCIsInVzZUlzU2Vzc2lvbkdlbmVyYXRpbmciLCJ1c2VTZXNzaW9uTWV0YSIsInVzZU1haWFUYXNrUGFuZWxaSW5kZXgiLCJTQ0xIQ1dyYXBwZXIiLCJTQ0xIQ1dyYXBwZXJBZ2VudCIsIlNDTEhDV3JhcHBlckFnZW50VGV4dCIsIlNDTEhDV3JhcHBlckJ1dHRvbkFjdGlvbnMiLCJTQ0xIQ1dyYXBwZXJDb250ZW50IiwiU0NMSENXcmFwcGVyVGl0bGUiLCJTQ0xIQ1dyYXBwZXJUaXRsZVJvdyIsIlNDU1dyYXBwZXJDb2xsYXBzZWRCdXR0b24iLCJTQ1NXcmFwcGVyTmV3Q2hhdEljb24iLCJTQ1NXcmFwcGVyQWdlbnRzTmF2SWNvbiIsIlNDU1NpZGViYXJSb290IiwiU0NTU2lkZWJhclRvb2xiYXIiLCJTQ1NTaWRlYmFyQm9keSIsIlNDU1NpZGViYXJPcGVuUGFuZWwiLCJTQ1NTaWRlYmFyQWdlbnRzQmxvY2siLCJTQ1NTaWRlYmFyQWdlbnRzQWN0aW9ucyIsIlNDU1NpZGViYXJNYWlha2VyTmF2QnV0dG9uIiwiU0NTU2lkZWJhck1haWFrZXJOYXZMYWJlbCIsIlNDU1NpZGViYXJNYWlha2VyTmF2QmFkZ2VOZXciLCJTQ1NTaWRlYmFyQ29udmVyc2F0aW9uc0hlYWRpbmciLCJTQ1NTaWRlYmFyQ29udmVyc2F0aW9uc0hlYWRpbmdSb3ciLCJTQ1NTaWRlYmFyVW5yZWFkQW5jaG9yIiwiU0NTU2lkZWJhclVucmVhZENvdW50IiwiU0NTU2lkZWJhckNoYXRzU2Nyb2xsIiwiU0NTU2lkZWJhckVycm9yU3RhdGVDb2x1bW4iLCJTQ1NTaWRlYmFyRXJyb3JTdGF0ZVRvcCIsIlNDU1NpZGViYXJFcnJvckJhbm5lciIsIlNDU1NpZGViYXJFcnJvckJhbm5lckljb25XcmFwIiwiU0NTU2lkZWJhckVycm9yQmFubmVyTWVzc2FnZSIsIlNDU1NpZGViYXJMb2FkaW5nQXJlYSIsIlNDU1NpZGViYXJMb2FkTW9yZVJvdyIsIlNDU1NpZGViYXJFbXB0eUNoYXRzIiwiU0NTU2lkZWJhckVtcHR5Q2hhdHNUZXh0IiwiU0NTU2lkZWJhckNoYXRzRm9vdGVyIiwiU0NTU2lkZWJhckZvb3RlckFjdGlvbnMiLCJTQ1NTaWRlYmFyQ29sbGFwc2VkRGl2aWRlciIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImFjdGlvbnMiLCJlZGl0IiwicHJvcHMiLCJfb2JqZWN0U3ByZWFkIiwiZGVsZXRlIiwiYWJicmV2aWF0ZVNwZWNpYWxpc3RJbkFnZW50TmFtZSIsImFnZW50TmFtZSIsInJlcGxhY2UiLCJMaXN0SGlzdG9yeUNoYXQiLCJfcmVmIiwiY2hhdCIsIm9uQ2xpY2siLCJpc01vZGFsT3BlbiIsIm9uT3Blbk1vZGFsIiwib25DbG9zZU1vZGFsIiwiaGFuZGxlcnMiLCJpc1NlbGVjdGVkIiwiaW5kZXgiLCJ0b29sdGlwWkluZGV4IiwidGV4dFJlZiIsImFnZW50UmVmIiwiZGlzcGxheVRpdGxlIiwidGl0bGUiLCJkaXNwbGF5QWdlbnQiLCJhZ2VudFR5cGUiLCJhZ2VudCIsImNvbnRleHROYW1lIiwicHJvamVjdE5hbWUiLCJjbGllbnROYW1lIiwiX3VzZVJlc2l6ZUxpc3RlbmVyIiwic2hvd1Rvb2x0aXAiLCJfdXNlUmVzaXplTGlzdGVuZXIyIiwic2hvd1Rvb2x0aXBBZ2VudCIsIl91c2VUIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImFjdGlvbiIsInNldEFjdGlvbiIsImlzR2VuZXJhdGluZyIsInNlc3Npb25FeHRlcm5hbElkIiwic2Vzc2lvbk1ldGEiLCJpc1VucmVhZCIsImlzUmVhZCIsIm1lbnVJdGVtcyIsImxhYmVsIiwib25DbGlja0l0ZW0iLCJjaGF0SWQiLCJJY29uIiwiZXZlbnRLZXkiLCJwbUFpTWVudUVkaXQiLCJwbUFpTWVudURlbGV0ZSIsImhhbmRsZUNvbmZpcm1BY3Rpb24iLCJjaGF0RGF0YSIsImhhbmRsZVVwZGF0ZUNoYXQiLCJoYW5kbGVEZWxldGVDaGF0IiwiY2hpbGRyZW4iLCJlIiwic3RvcFByb3BhZ2F0aW9uIiwiJGluZGV4IiwiYXJpYUxhYmVsIiwiaXNXcml0aW5nIiwiYW5pbWF0ZWQiLCJ6SW5kZXgiLCJyZWYiLCIkdW5yZWFkIiwiY29uY2F0Iiwid2lkdGgiLCJoZWlnaHQiLCJzdHlsZSIsImZvbnRTaXplIiwiZW1vamkiLCJpY29uT25seSIsInNpemUiLCJ2YXJpYW50IiwiZXZlbnQiLCJpZCIsInBvc2l0aW9uIiwidG9wIiwicmlnaHQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImJvcmRlclJhZGl1cyIsImJvcmRlciIsIm1pbldpZHRoIiwibWFwIiwiX3JlZjIiLCJvbkNsb3NlIiwiaGFuZGxlU2V0SXNPcGVuTW9kYWwiLCJTaWRlYmFyIiwiX3JlZjMiLCJfdXNlciRwZXJtaXNzaW9ucyIsIm9uR29Ub0NoYXQiLCJfcmVmMyRvbkVycm9yIiwib25FcnJvciIsImhhbmRsZUdvVG9Ib21lIiwiaGFuZGxlU3RhcnROZXdDaGF0IiwiaGFuZGxlT3Blbk1hcmtldHBsYWNlIiwiaGFuZGxlT3BlblNraWxscyIsIm9uT3Blbk1haWFrZXJDcmVhdG9yIiwic2hvd05ld0NoYXQiLCJyZWZldGNoQ2hhdHMiLCJoYW5kbGVTZXRSZWZldGNoQ2hhdHMiLCJoYXNFcnJvciIsInJlc2V0U2VsZWN0ZWRDaGF0UmVmIiwiX3JlZjMkYWdlbnRzTmF2QWN0aXZlIiwiYWdlbnRzTmF2QWN0aXZlIiwiX3JlZjMkaXNMZWdhY3lDb250ZXh0IiwiaXNMZWdhY3lDb250ZXh0U2Vzc2lvbiIsIl9yZWYzJGluaXRpYWxPcGVuIiwiaW5pdGlhbE9wZW4iLCJvbk9wZW5DaGFuZ2UiLCJfdXNlVDIiLCJpMThuIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc09wZW4iLCJzZXRJc09wZW4iLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzT3Blbk1vZGFsIiwic2V0SXNPcGVuTW9kYWwiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlbGVjdGVkQ2hhdCIsInNldFNlbGVjdGVkQ2hhdCIsImNoYXRzRmV0Y2hlZFJlZiIsImNoYXRzQ29udGFpbmVyUmVmIiwidXNlciIsImV2ZW50QW1wbGl0dWRlIiwiX3VzZUdsb2JhbENvbnRleHQiLCJzZWxlY3RlZEFnZW50Iiwic2VsZWN0QWdlbnQiLCJzZXRQcm9qZWN0Iiwic2V0Q2xpZW50Iiwic2V0VGFzayIsIl91c2VDaGF0cyIsImxvYWRpbmdDaGF0cyIsImNoYXRzIiwiZGVsZXRlQ2hhdCIsInVwZGF0ZUNoYXQiLCJmZXRjaENoYXRzIiwibGltaXQiLCJvZmZzZXQiLCJoYXNNb3JlQ2hhdHMiLCJsb2FkTW9yZUNoYXRzIiwiaXNMb2FkaW5nTW9yZUNoYXRzIiwidW5yZWFkQ291bnQiLCJzZXRVbnJlYWRDb3VudCIsInNldENoYXRSZWFkU3RhdGUiLCJ1bnJlYWRTdWJzY3JpYmVkUmVmIiwiJF9zYyIsInVuZGVmaW5lZCIsImNoYW5uZWwiLCJoYW5kbGVVbnJlYWRFdmVudCIsIl9yZWY0IiwibW9kZWxEYXRhIiwibW9kZWxfZGF0YSIsInVucmVhZF9jb3VudCIsInNlc3Npb25faWQiLCJpc19yZWFkIiwic3Vic2NyaWJlSGFuZGxlciIsImN1cnJlbnQiLCJfJF9zYyRhY3Rpb25UeXBlIiwiXyRfc2MkY2hhbm5lbFR5cGUiLCJ1cGRhdGVDb25uZWN0aW9uTW9kZWwiLCJtb2RlbF9oYXNoIiwiYWN0aW9uVHlwZSIsIlNVQlNDUklCRSIsImNoYW5uZWxUeXBlIiwiTU9ERUxfQ0hBTk5FTCIsInVzZXJQZXJtaXNzaW9ucyIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiY2FuQ3JlYXRlQWdlbnRzIiwiY3JlYXRlIiwiaGFzTXVsdGlBZ2VudHNGZWF0dXJlQWNjZXNzIiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyIsImNhblZpZXdBZ2VudHMiLCJ2aWV3IiwiY2FuVmlld1NraWxscyIsInNob3dNYXJrZXRwbGFjZVNpZGViYXJCdXR0b24iLCJhZ2VudE5hdkJ1dHRvbkNvdW50Iiwic2hvd0FnZW50c05hdkJsb2NrIiwibXlBZ2VudHNTaWRlYmFyVHJhY2tlZFJlZiIsIm1haWFTaWRlYmFyTXlBZ2VudHMiLCJoYW5kbGVTZWxlY3RTZXNzaW9uIiwiZXZ0IiwiX2RldGFpbCIsIl9yZWY1IiwiZGV0YWlsIiwic2Vzc2lvbklkIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIl9yZWY2IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiaGFuZGxlT3Blbk1vZGFsIiwiaGFuZGxlQ2xvc2VNb2RhbCIsImhhbmRsZUNsaWNrT3V0c2lkZSIsInRhcmdldCIsImNsb3Nlc3QiLCJoYW5kbGVUb2dnbGVTaWRlYmFyIiwiYWlDaGF0U2lkZWJhciIsImhhbmRsZU9wZW5DcmVhdGVBZ2VudCIsIl9yZWY3IiwiX2NhbGxlZTIiLCJyZXNwb25zZSIsImRhdGEiLCJtYWlha2VyQWdlbnQiLCJfdCIsIl90MiIsIl9jb250ZXh0MiIsImFicnVwdCIsInBhdGgiLCJsYW5ndWFnZSIsIm1ldGhvZCIsInNlbnQiLCJqc29uIiwiZmluZCIsImFnZW50SXRlbSIsImhhbmRsZVNjcm9sbCIsIl9jaGF0c0NvbnRhaW5lclJlZiRjdSIsInNjcm9sbFRvcCIsInNjcm9sbEhlaWdodCIsImNsaWVudEhlaWdodCIsImlzQXRCb3R0b20iLCJjb250YWluZXIiLCJoYW5kbGVOZXdDaGF0IiwiYWlTaWRlYmFyTmV3Q2hhdCIsImhhbmRsZVJlZmV0Y2hTZXNzaW9uIiwiYmFja2dyb3VuZCIsImlzQWdlbnRzSHViU2VjdGlvbiIsInNob3dOZXdDaGF0QnV0dG9uIiwiaXNfZGVsZXRlZCIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJoYXNfbm90X2FjY2VzcyIsIiRpc09wZW4iLCJjb2xvciIsIiRmbG9hdGluZyIsIiRhY3RpdmUiLCJhaUNoYXRNcE9wZW4iLCJhaVNpZGViYXJNeUFnZW50cyIsImFpU2lkZWJhck15U2tpbGxzIiwidHlwZSIsIiRoYXNDaGF0cyIsImxlbmd0aCIsIiRvZmZzZXRWYXJpYW50IiwiJGFnZW50TmF2QnV0dG9uQ291bnQiLCJjb3VudCIsIiRqdXN0aWZ5QmV0d2VlbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TaWRlYmFyL1NpZGViYXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGNhbWVsY2FzZSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdW5kZWYgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tc2hhZG93ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1uZXN0ZWQtdGVybmFyeSAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvbm8tc3RhdGljLWVsZW1lbnQtaW50ZXJhY3Rpb25zICovXG5pbXBvcnQgeyBNdXRhYmxlUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IENoZXZyb25Eb3VibGVMZWZ0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hldnJvbkRvdWJsZUxlZnQnXG5pbXBvcnQgeyBIaXN0b3J5IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvSGlzdG9yeSdcbmltcG9ydCB7IENVQnV0dG9uIH0gZnJvbSAnQHByb2plY3Rjb3IvYnV0dG9uL2xpYi9jb21wb25lbnRzL0NVQnV0dG9uJ1xuaW1wb3J0IHsgTWVudURvdHMgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9NZW51RG90cydcbmltcG9ydCB7IFBlbmNpbCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1BlbmNpbCdcbmltcG9ydCB7IFRyYXNoIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvVHJhc2gnXG5cbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcblxuaW1wb3J0IHsgRW1wdHlIaXN0b3J5SWNvbiB9IGZyb20gJy4uLy4uL2F0b21zL2ljb25zL0VtcHR5SGlzdG9yeSdcbmltcG9ydCB7IHVzZVJlc2l6ZUxpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlUmVzaXplJ1xuaW1wb3J0IHsgdXNlQ2hhdHMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VDaGF0cydcbmltcG9ydCB7IFNpZGViYXJDaGF0c1NrZWxldG9uIH0gZnJvbSAnLi9TaWRlYmFyLnNrZWxldG9uJ1xuaW1wb3J0IHsgRXJyb3JTdGF0ZSwgTUFJQUljb24sIE1haWFTdG9yZUljb24sIE15QWdlbnRzTmF2SWNvbiwgU2tpbGxzTmF2SWNvbiwgTmV3Q2hhdCB9IGZyb20gJy4uLy4uL2F0b21zL2ljb25zJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBPcHRpb25JdGVtIH0gZnJvbSAnLi4vLi4vYXRvbXMvQ2FyZE1lbnUvQ2FyZE1lbnUnXG5pbXBvcnQgeyBFZGl0UXVlc3Rpb25Nb2RhbCB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9FZGl0UXVlc3Rpb25Nb2RhbCdcbmltcG9ydCB7IERlbGV0ZVF1ZXN0aW9uTW9kYWwgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvRGVsZXRlUXVlc3Rpb25Nb2RhbCdcbmltcG9ydCB7IEVycm9ySWNvbiB9IGZyb20gJy4uLy4uL2F0b21zL2ljb25zL0Vycm9ySWNvbidcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgRmVlZGJhY2tCdXR0b24gfSBmcm9tICcuLi8uLi9hdG9tcy9GZWVkYmFja0J1dHRvbidcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgZmV0Y2hNYWlhIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFpYS9jbGllbnQnXG5pbXBvcnQgeyBjYW5BY2Nlc3NUb1NraWxscyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9wZXJtaXNzaW9ucydcbmltcG9ydCB7IG1hcENPUkxhbmcgfSBmcm9tICcuLi8uLi8uLi9sYW5nL3V0aWxzJ1xuaW1wb3J0IHsgZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvcmVuZGVyQ29udGV4dE1lbnRpb25zJ1xuaW1wb3J0IHsgZ2V0QWdlbnREaXNwbGF5TmFtZSwgaXNNYXJrZXRwbGFjZUdsb2JhbENsb25lQWdlbnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9hZ2VudERpc3BsYXlOYW1lJ1xuaW1wb3J0IHsgQVBQQ1VFU19FVkVOVFMsIEFQUENVRVNfU0VMRUNUT1JTLCB0cmFja0FwcGN1ZXNFdmVudCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FwcGN1ZXMnXG5pbXBvcnQgeyBmb3JtYXRVbnJlYWRDb3VudCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2Zvcm1hdFVucmVhZENvdW50J1xuaW1wb3J0IHsgU2Vzc2lvbkdlbmVyYXRpbmdEb3QgfSBmcm9tICcuLi8uLi9hdG9tcy9TZXNzaW9uR2VuZXJhdGluZ0RvdCdcbmltcG9ydCB7IHVzZUlzU2Vzc2lvbkdlbmVyYXRpbmcsIHVzZVNlc3Npb25NZXRhIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvc2Vzc2lvbnMvdXNlU2Vzc2lvbk1ldGEnXG5pbXBvcnQgeyB1c2VNYWlhVGFza1BhbmVsWkluZGV4IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlTWFpYVRhc2tQYW5lbFpJbmRleCdcbmltcG9ydCB7XG4gIFNDTEhDV3JhcHBlcixcbiAgU0NMSENXcmFwcGVyQWdlbnQsXG4gIFNDTEhDV3JhcHBlckFnZW50VGV4dCxcbiAgU0NMSENXcmFwcGVyQnV0dG9uQWN0aW9ucyxcbiAgU0NMSENXcmFwcGVyQ29udGVudCxcbiAgU0NMSENXcmFwcGVyVGl0bGUsXG4gIFNDTEhDV3JhcHBlclRpdGxlUm93LFxuICBTQ1NXcmFwcGVyQ29sbGFwc2VkQnV0dG9uLFxuICBTQ1NXcmFwcGVyTmV3Q2hhdEljb24sXG4gIFNDU1dyYXBwZXJBZ2VudHNOYXZJY29uLFxufSBmcm9tICcuL1NpZGViYXIuc3R5bGVzJ1xuaW1wb3J0IHtcbiAgU0NTU2lkZWJhclJvb3QsXG4gIFNDU1NpZGViYXJUb29sYmFyLFxuICBTQ1NTaWRlYmFyQm9keSxcbiAgU0NTU2lkZWJhck9wZW5QYW5lbCxcbiAgU0NTU2lkZWJhckFnZW50c0Jsb2NrLFxuICBTQ1NTaWRlYmFyQWdlbnRzQWN0aW9ucyxcbiAgU0NTU2lkZWJhck1haWFrZXJOYXZCdXR0b24sXG4gIFNDU1NpZGViYXJNYWlha2VyTmF2TGFiZWwsXG4gIFNDU1NpZGViYXJNYWlha2VyTmF2QmFkZ2VOZXcsXG4gIFNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZyxcbiAgU0NTU2lkZWJhckNvbnZlcnNhdGlvbnNIZWFkaW5nUm93LFxuICBTQ1NTaWRlYmFyVW5yZWFkQW5jaG9yLFxuICBTQ1NTaWRlYmFyVW5yZWFkQ291bnQsXG4gIFNDU1NpZGViYXJDaGF0c1Njcm9sbCxcbiAgU0NTU2lkZWJhckVycm9yU3RhdGVDb2x1bW4sXG4gIFNDU1NpZGViYXJFcnJvclN0YXRlVG9wLFxuICBTQ1NTaWRlYmFyRXJyb3JCYW5uZXIsXG4gIFNDU1NpZGViYXJFcnJvckJhbm5lckljb25XcmFwLFxuICBTQ1NTaWRlYmFyRXJyb3JCYW5uZXJNZXNzYWdlLFxuICBTQ1NTaWRlYmFyTG9hZGluZ0FyZWEsXG4gIFNDU1NpZGViYXJMb2FkTW9yZVJvdyxcbiAgU0NTU2lkZWJhckVtcHR5Q2hhdHMsXG4gIFNDU1NpZGViYXJFbXB0eUNoYXRzVGV4dCxcbiAgU0NTU2lkZWJhckNoYXRzRm9vdGVyLFxuICBTQ1NTaWRlYmFyRm9vdGVyQWN0aW9ucyxcbiAgU0NTU2lkZWJhckNvbGxhcHNlZERpdmlkZXIsXG59IGZyb20gJy4vU2lkZWJhci5sYXlvdXQuc3R5bGVzJ1xuXG5jb25zdCBhY3Rpb25zID0ge1xuICBlZGl0OiAocHJvcHM6IGFueSkgPT4gPEVkaXRRdWVzdGlvbk1vZGFsIHsuLi5wcm9wc30gLz4sXG4gIGRlbGV0ZTogKHByb3BzOiBhbnkpID0+IDxEZWxldGVRdWVzdGlvbk1vZGFsIHsuLi5wcm9wc30gLz4sXG59XG5cbi8qKiBBYnJldmlhIFwiZXNwZWNpYWxpc3RhXCIvXCJlc3BlY2lhbGlzdFwiIOKGkiBcIkVzcC5cIiAoRVMvUFQpIHkgXCJzcGVjaWFsaXN0XCIg4oaSIFwiU3BlYy5cIiAoRU4pIGVuIGVsIG5vbWJyZSBkZWwgYWdlbnRlLiAqL1xuZnVuY3Rpb24gYWJicmV2aWF0ZVNwZWNpYWxpc3RJbkFnZW50TmFtZShhZ2VudE5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghYWdlbnROYW1lIHx8IHR5cGVvZiBhZ2VudE5hbWUgIT09ICdzdHJpbmcnKSByZXR1cm4gYWdlbnROYW1lXG4gIHJldHVybiBhZ2VudE5hbWUucmVwbGFjZSgvXFxiKGVzcGVjaWFsaXN0YXxlc3BlY2lhbGlzdClcXGIvZ2ksICdFc3AuJykucmVwbGFjZSgvXFxic3BlY2lhbGlzdFxcYi9naSwgJ1NwZWMuJylcbn1cblxuY29uc3QgTGlzdEhpc3RvcnlDaGF0ID0gKHtcbiAgY2hhdCxcbiAgb25DbGljayxcbiAgaXNNb2RhbE9wZW4sXG4gIG9uT3Blbk1vZGFsLFxuICBvbkNsb3NlTW9kYWwsXG4gIGhhbmRsZXJzLFxuICBpc1NlbGVjdGVkLFxuICBpbmRleCxcbiAgdG9vbHRpcFpJbmRleCxcbn06IHtcbiAgY2hhdDogYW55XG4gIG9uQ2xpY2s6IChjaGF0OiBhbnkpID0+IHZvaWRcbiAgaXNNb2RhbE9wZW46IGJvb2xlYW5cbiAgb25PcGVuTW9kYWw6IChjaGF0SWQ6IHN0cmluZykgPT4gdm9pZFxuICBvbkNsb3NlTW9kYWw6ICgpID0+IHZvaWRcbiAgaGFuZGxlcnM6IHtcbiAgICBoYW5kbGVEZWxldGVDaGF0OiAoY2hhdDogYW55KSA9PiB2b2lkXG4gICAgaGFuZGxlVXBkYXRlQ2hhdDogKGNoYXQ6IGFueSkgPT4gdm9pZFxuICB9XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW5cbiAgaW5kZXg6IG51bWJlclxuICB0b29sdGlwWkluZGV4OiBudW1iZXJcbn0pID0+IHtcbiAgY29uc3QgdGV4dFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgYWdlbnRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGRpc3BsYXlUaXRsZSA9IHVzZU1lbW8oKCkgPT4gZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zKGNoYXQudGl0bGUpLCBbY2hhdC50aXRsZV0pXG4gIGNvbnN0IGRpc3BsYXlBZ2VudCA9IGdldEFnZW50RGlzcGxheU5hbWUoY2hhdC5hZ2VudFR5cGUsIGNoYXQuYWdlbnQpXG4gIGNvbnN0IGNvbnRleHROYW1lID0gY2hhdC5wcm9qZWN0TmFtZSB8fCBjaGF0LmNsaWVudE5hbWVcbiAgY29uc3QgeyBzaG93VG9vbHRpcCB9ID0gdXNlUmVzaXplTGlzdGVuZXIodGV4dFJlZiwgW2Rpc3BsYXlUaXRsZV0pXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXA6IHNob3dUb29sdGlwQWdlbnQgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKGFnZW50UmVmLCBbY2hhdC5hZ2VudF0pXG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IFthY3Rpb24sIHNldEFjdGlvbl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCBpc0dlbmVyYXRpbmcgPSB1c2VJc1Nlc3Npb25HZW5lcmF0aW5nKGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpXG4gIGNvbnN0IHNlc3Npb25NZXRhID0gdXNlU2Vzc2lvbk1ldGEoY2hhdC5zZXNzaW9uRXh0ZXJuYWxJZClcbiAgY29uc3QgaXNVbnJlYWQgPSBjaGF0LmlzUmVhZCA9PT0gZmFsc2UgJiYgIWlzR2VuZXJhdGluZ1xuXG4gIGNvbnN0IG1lbnVJdGVtcyA9IFtcbiAgICB7XG4gICAgICBsYWJlbDogdCgnaGlzdG9yeS5tZW51LnJlbmFtZScpLFxuICAgICAgb25DbGlja0l0ZW06IChjaGF0SWQ6IHN0cmluZykgPT4ge1xuICAgICAgICBzZXRBY3Rpb24oJ2VkaXQnKVxuICAgICAgICBvbk9wZW5Nb2RhbChjaGF0SWQpXG4gICAgICB9LFxuICAgICAgSWNvbjogUGVuY2lsLFxuICAgICAgZXZlbnRLZXk6IEVWRU5UUy5wbUFpTWVudUVkaXQsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogdCgnaGlzdG9yeS5tZW51LmRlbGV0ZScpLFxuICAgICAgb25DbGlja0l0ZW06IChjaGF0SWQ6IHN0cmluZykgPT4ge1xuICAgICAgICBzZXRBY3Rpb24oJ2RlbGV0ZScpXG4gICAgICAgIG9uT3Blbk1vZGFsKGNoYXRJZClcbiAgICAgIH0sXG4gICAgICBJY29uOiBUcmFzaCxcbiAgICAgIGV2ZW50S2V5OiBFVkVOVFMucG1BaU1lbnVEZWxldGUsXG4gICAgfSxcbiAgXVxuXG4gIGNvbnN0IGhhbmRsZUNvbmZpcm1BY3Rpb24gPSAoY2hhdERhdGE6IGFueSkgPT4ge1xuICAgIGlmIChhY3Rpb24gPT09ICdlZGl0Jykge1xuICAgICAgaGFuZGxlcnMuaGFuZGxlVXBkYXRlQ2hhdChjaGF0RGF0YSlcbiAgICB9IGVsc2Uge1xuICAgICAgaGFuZGxlcnMuaGFuZGxlRGVsZXRlQ2hhdChjaGF0RGF0YSlcbiAgICB9XG4gICAgc2V0QWN0aW9uKG51bGwpXG4gICAgb25DbG9zZU1vZGFsKClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxTQ0xIQ1dyYXBwZXJDb250ZW50XG4gICAgICAgIG9uQ2xpY2s9e2UgPT4ge1xuICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICBvbkNsaWNrKGNoYXQpXG4gICAgICAgIH19XG4gICAgICAgIGtleT17YGNvbnZlcnNhdGlvbi0ke2NoYXQuc2Vzc2lvbkV4dGVybmFsSWR9YH1cbiAgICAgICAgaXNNb2RhbE9wZW49e2lzTW9kYWxPcGVufVxuICAgICAgICBpc1NlbGVjdGVkPXtpc1NlbGVjdGVkfVxuICAgICAgICAkaW5kZXg9e2luZGV4fVxuICAgICAgPlxuICAgICAgICA8U0NMSENXcmFwcGVyPlxuICAgICAgICAgIDxTQ0xIQ1dyYXBwZXJUaXRsZVJvdz5cbiAgICAgICAgICAgIHtpc0dlbmVyYXRpbmcgfHwgaXNVbnJlYWQgPyAoXG4gICAgICAgICAgICAgIDxTZXNzaW9uR2VuZXJhdGluZ0RvdFxuICAgICAgICAgICAgICAgIGFyaWFMYWJlbD17aXNHZW5lcmF0aW5nID8gdCgnY29udmVyc2F0aW9ucy5nZW5lcmF0aW5nJykgOiB0KCdjb252ZXJzYXRpb25zLnVucmVhZExhYmVsJyl9XG4gICAgICAgICAgICAgICAgaXNXcml0aW5nPXtpc0dlbmVyYXRpbmcgJiYgc2Vzc2lvbk1ldGE/LmlzV3JpdGluZ31cbiAgICAgICAgICAgICAgICBhbmltYXRlZD17aXNHZW5lcmF0aW5nfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17c2hvd1Rvb2x0aXAgPyBkaXNwbGF5VGl0bGUgOiAnJ30gekluZGV4PXt0b29sdGlwWkluZGV4fT5cbiAgICAgICAgICAgICAgPFNDTEhDV3JhcHBlclRpdGxlIHJlZj17dGV4dFJlZn0gJHVucmVhZD17aXNVbnJlYWR9PlxuICAgICAgICAgICAgICAgIHtkaXNwbGF5VGl0bGUgfHwgdCgnY29udmVyc2F0aW9ucy5lbXB0eUxhYmVsJyl9XG4gICAgICAgICAgICAgIDwvU0NMSENXcmFwcGVyVGl0bGU+XG4gICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgPC9TQ0xIQ1dyYXBwZXJUaXRsZVJvdz5cbiAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgdGl0bGU9e3Nob3dUb29sdGlwQWdlbnQgPyBkaXNwbGF5QWdlbnQgKyAoY29udGV4dE5hbWUgPyBgIC0gJHtjb250ZXh0TmFtZX1gIDogJycpIDogJyd9XG4gICAgICAgICAgICB6SW5kZXg9e3Rvb2x0aXBaSW5kZXh9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFNDTEhDV3JhcHBlckFnZW50PlxuICAgICAgICAgICAgICB7Y2hhdC5hZ2VudFR5cGUgPT09ICdjbG9uZScgfHwgY2hhdC5hZ2VudFR5cGUgPT09ICdvcmNoZXN0cmF0b3InID8gKFxuICAgICAgICAgICAgICAgIDxNQUlBSWNvbiB3aWR0aD17MTR9IGhlaWdodD17MTR9IC8+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgZm9udFNpemU6ICcxNHB4JyB9fT57Y2hhdC5lbW9qaX08L3NwYW4+XG4gICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgPFNDTEhDV3JhcHBlckFnZW50VGV4dCByZWY9e2FnZW50UmVmfT5cbiAgICAgICAgICAgICAgICB7Y2hhdC5hZ2VudFR5cGUgPT09ICdjbG9uZScgfHwgY2hhdC5hZ2VudFR5cGUgPT09ICdvcmNoZXN0cmF0b3InXG4gICAgICAgICAgICAgICAgICA/IGFiYnJldmlhdGVTcGVjaWFsaXN0SW5BZ2VudE5hbWUoY2hhdC5hZ2VudClcbiAgICAgICAgICAgICAgICAgIDogY2hhdC5hZ2VudH1cbiAgICAgICAgICAgICAgICB7Y2hhdC5wcm9qZWN0TmFtZSAmJiBgIC0gJHtjaGF0LnByb2plY3ROYW1lfWB9XG4gICAgICAgICAgICAgIDwvU0NMSENXcmFwcGVyQWdlbnRUZXh0PlxuICAgICAgICAgICAgPC9TQ0xIQ1dyYXBwZXJBZ2VudD5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDwvU0NMSENXcmFwcGVyPlxuICAgICAgICA8U0NMSENXcmFwcGVyQnV0dG9uQWN0aW9ucz5cbiAgICAgICAgICA8Q1VCdXR0b25cbiAgICAgICAgICAgIGljb25Pbmx5XG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgdmFyaWFudD1cInRleHRcIlxuICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICBvbk9wZW5Nb2RhbChjaGF0LmlkKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TWVudURvdHMgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSAvPlxuICAgICAgICAgIDwvQ1VCdXR0b24+XG4gICAgICAgICAge2lzTW9kYWxPcGVuICYmICFhY3Rpb24gJiYgKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBkYXRhLW1vZGFsLWNvbnRhaW5lclxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgIHRvcDogJzMycHgnLFxuICAgICAgICAgICAgICAgIHJpZ2h0OiAnMTZweCcsXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnd2hpdGUnLFxuICAgICAgICAgICAgICAgIHpJbmRleDogMTAwMCxcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICAgICAgICAgICAgICBib3JkZXI6ICcxcHggc29saWQgcmdiYSgyMjQsIDIyNCwgMjI0LCAxKScsXG4gICAgICAgICAgICAgICAgbWluV2lkdGg6ICcxMjRweCcsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHttZW51SXRlbXMubWFwKCh7IGxhYmVsLCBvbkNsaWNrSXRlbSwgSWNvbiwgZXZlbnRLZXkgfSkgPT4gKFxuICAgICAgICAgICAgICAgIDxPcHRpb25JdGVtXG4gICAgICAgICAgICAgICAgICBrZXk9e2xhYmVsfVxuICAgICAgICAgICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DbGlja0l0ZW0oY2hhdC5pZCl9XG4gICAgICAgICAgICAgICAgICBJY29uPXtJY29ufVxuICAgICAgICAgICAgICAgICAgZXZlbnRLZXk9e2V2ZW50S2V5fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TQ0xIQ1dyYXBwZXJCdXR0b25BY3Rpb25zPlxuICAgICAgPC9TQ0xIQ1dyYXBwZXJDb250ZW50PlxuICAgICAgeyEhYWN0aW9uICYmXG4gICAgICAgIGFjdGlvbnNbYWN0aW9uXSh7XG4gICAgICAgICAgb25DbG9zZTogKCkgPT4ge1xuICAgICAgICAgICAgb25DbG9zZU1vZGFsKClcbiAgICAgICAgICAgIHNldEFjdGlvbihudWxsKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2hhdCxcbiAgICAgICAgICBoYW5kbGVyczoge1xuICAgICAgICAgICAgaGFuZGxlQ29uZmlybUFjdGlvbixcbiAgICAgICAgICAgIGhhbmRsZVNldElzT3Blbk1vZGFsOiBvbkNsb3NlTW9kYWwsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSl9XG4gICAgPC8+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IFNpZGViYXIgPSAoe1xuICBvbkdvVG9DaGF0LFxuICBvbkVycm9yID0gKCkgPT4gbnVsbCxcbiAgaGFuZGxlR29Ub0hvbWUsXG4gIGhhbmRsZVN0YXJ0TmV3Q2hhdCxcbiAgaGFuZGxlT3Blbk1hcmtldHBsYWNlLFxuICBoYW5kbGVPcGVuU2tpbGxzLFxuICBvbk9wZW5NYWlha2VyQ3JlYXRvcixcbiAgc2hvd05ld0NoYXQsXG4gIHJlZmV0Y2hDaGF0cyxcbiAgaGFuZGxlU2V0UmVmZXRjaENoYXRzLFxuICBoYXNFcnJvcixcbiAgcmVzZXRTZWxlY3RlZENoYXRSZWYsXG4gIGFnZW50c05hdkFjdGl2ZSA9IG51bGwsXG4gIGlzTGVnYWN5Q29udGV4dFNlc3Npb24gPSBmYWxzZSxcbiAgaW5pdGlhbE9wZW4gPSBmYWxzZSxcbiAgb25PcGVuQ2hhbmdlLFxufToge1xuICBvbkdvVG9DaGF0OiAoY2hhdElkOiBzdHJpbmcpID0+IHZvaWRcbiAgb25FcnJvcjogKCkgPT4gdm9pZFxuICBoYW5kbGVHb1RvSG9tZTogKCkgPT4gdm9pZFxuICAvKiogSW5pY2lhIHVuIGNoYXQgbnVldm87IGVuIE1pcyBhZ2VudGVzIC8gTWFpYWtlciAvIE1pcyBza2lsbHMgdXNhIGVsIHByaW1lciBhZ2VudGUgZGUgbGEgbGlzdGEuICovXG4gIGhhbmRsZVN0YXJ0TmV3Q2hhdD86ICgpID0+IHZvaWRcbiAgaGFuZGxlT3Blbk1hcmtldHBsYWNlOiAoKSA9PiB2b2lkXG4gIGhhbmRsZU9wZW5Ta2lsbHM6ICgpID0+IHZvaWRcbiAgLyoqIEFicmUgZWwgY3JlYWRvciBNYWlha2VyIChtaXNtYSBsw7NnaWNhIHF1ZSBlbCBodWIgZGVsIG1vZGFsKS4gKi9cbiAgb25PcGVuTWFpYWtlckNyZWF0b3I/OiAoKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPlxuICBzaG93TmV3Q2hhdDogYm9vbGVhblxuICByZWZldGNoQ2hhdHM6IGJvb2xlYW5cbiAgaGFuZGxlU2V0UmVmZXRjaENoYXRzOiAocmVmZXRjaDogYm9vbGVhbikgPT4gdm9pZFxuICBoYXNFcnJvcjogYm9vbGVhblxuICByZXNldFNlbGVjdGVkQ2hhdFJlZj86IE11dGFibGVSZWZPYmplY3Q8KCgpID0+IHZvaWQpIHwgbnVsbD5cbiAgLyoqIFJlc2FsdGEgTWFpYWtlciwgTWlzIGFnZW50ZXMgbyBNaXMgc2tpbGxzICovXG4gIGFnZW50c05hdkFjdGl2ZT86ICdtYWlha2VyJyB8ICdteUFnZW50cycgfCAnbXlTa2lsbHMnIHwgbnVsbFxuICAvKiogQ29udmVyc2FjacOzbiBkZSB1biBjbG9uZSBsZWdhY3kgKGFnZW50X3R5cGUgY2xvbmUgKyBlbnRpdHkgcHJvamVjdC9jbGllbnQvdGFzayk6IG9jdWx0YSBcIm51ZXZvIGNoYXRcIi4gKi9cbiAgaXNMZWdhY3lDb250ZXh0U2Vzc2lvbj86IGJvb2xlYW5cbiAgLyoqIEVzdGFkbyBpbmljaWFsIGRlbCBzaWRlYmFyIChyZXN0YXVyYWNpw7NuIGRlIHNlc2nDs24gdHJhcyBuYXZlZ2FjacOzbikuICovXG4gIGluaXRpYWxPcGVuPzogYm9vbGVhblxuICBvbk9wZW5DaGFuZ2U/OiAob3BlbjogYm9vbGVhbikgPT4gdm9pZFxufSkgPT4ge1xuICBjb25zdCB7IHQsIGkxOG4gfSA9IHVzZVQoKVxuICBjb25zdCB0b29sdGlwWkluZGV4ID0gdXNlTWFpYVRhc2tQYW5lbFpJbmRleCgxNTAwLCAnb3ZlcmxheScpXG4gIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZShpbml0aWFsT3BlbilcbiAgY29uc3QgW2lzT3Blbk1vZGFsLCBzZXRJc09wZW5Nb2RhbF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCBbc2VsZWN0ZWRDaGF0LCBzZXRTZWxlY3RlZENoYXRdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgY2hhdHNGZXRjaGVkUmVmID0gdXNlUmVmKGZhbHNlKVxuICBjb25zdCBjaGF0c0NvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCBldmVudEFtcGxpdHVkZSA9IHVzZUV2ZW50KClcbiAgY29uc3QgeyBhZ2VudDogc2VsZWN0ZWRBZ2VudCwgc2VsZWN0QWdlbnQsIHNldFByb2plY3QsIHNldENsaWVudCwgc2V0VGFzayB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IHtcbiAgICBsb2FkaW5nQ2hhdHMsXG4gICAgY2hhdHMsXG4gICAgZGVsZXRlQ2hhdCxcbiAgICB1cGRhdGVDaGF0LFxuICAgIGZldGNoQ2hhdHMsXG4gICAgbGltaXQsXG4gICAgb2Zmc2V0LFxuICAgIGhhc01vcmVDaGF0cyxcbiAgICBsb2FkTW9yZUNoYXRzLFxuICAgIGlzTG9hZGluZ01vcmVDaGF0cyxcbiAgICB1bnJlYWRDb3VudCxcbiAgICBzZXRVbnJlYWRDb3VudCxcbiAgICBzZXRDaGF0UmVhZFN0YXRlLFxuICB9ID0gdXNlQ2hhdHMoe1xuICAgIG9uRXJyb3IsXG4gIH0pXG5cbiAgY29uc3QgdW5yZWFkU3Vic2NyaWJlZFJlZiA9IHVzZVJlZihmYWxzZSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghdXNlcj8uaWQgfHwgdHlwZW9mICRfc2MgPT09ICd1bmRlZmluZWQnIHx8ICEkX3NjKSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICBjb25zdCBjaGFubmVsID0gYHNlc3Npb25zLnVucmVhZDoke3VzZXIuaWR9YFxuICAgIGNvbnN0IGhhbmRsZVVucmVhZEV2ZW50ID0gKHtcbiAgICAgIG1vZGVsX2RhdGE6IG1vZGVsRGF0YSxcbiAgICB9OiB7XG4gICAgICBtb2RlbF9kYXRhPzogeyB1bnJlYWRfY291bnQ/OiBudW1iZXI7IHNlc3Npb25faWQ/OiBzdHJpbmc7IGlzX3JlYWQ/OiBib29sZWFuIH1cbiAgICB9KSA9PiB7XG4gICAgICBpZiAodHlwZW9mIG1vZGVsRGF0YT8udW5yZWFkX2NvdW50ID09PSAnbnVtYmVyJykge1xuICAgICAgICBzZXRVbnJlYWRDb3VudChtb2RlbERhdGEudW5yZWFkX2NvdW50KVxuICAgICAgfVxuICAgICAgaWYgKG1vZGVsRGF0YT8uc2Vzc2lvbl9pZCAmJiB0eXBlb2YgbW9kZWxEYXRhPy5pc19yZWFkID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgc2V0Q2hhdFJlYWRTdGF0ZShtb2RlbERhdGEuc2Vzc2lvbl9pZCwgbW9kZWxEYXRhLmlzX3JlYWQpXG4gICAgICB9XG4gICAgfVxuXG4gICAgJF9zYy5zdWJzY3JpYmVIYW5kbGVyKGNoYW5uZWwsIGhhbmRsZVVucmVhZEV2ZW50KVxuXG4gICAgaWYgKCF1bnJlYWRTdWJzY3JpYmVkUmVmLmN1cnJlbnQpIHtcbiAgICAgICRfc2MudXBkYXRlQ29ubmVjdGlvbk1vZGVsKFxuICAgICAgICB7XG4gICAgICAgICAgbW9kZWxfaGFzaDogY2hhbm5lbCxcbiAgICAgICAgICBhY3Rpb246ICRfc2MuYWN0aW9uVHlwZT8uU1VCU0NSSUJFLFxuICAgICAgICB9LFxuICAgICAgICBjaGFubmVsLFxuICAgICAgICB1c2VyLFxuICAgICAgICB1c2VyLFxuICAgICAgICAkX3NjLmNoYW5uZWxUeXBlPy5NT0RFTF9DSEFOTkVMXG4gICAgICApXG4gICAgICB1bnJlYWRTdWJzY3JpYmVkUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9LCBbdXNlciwgc2V0VW5yZWFkQ291bnQsIHNldENoYXRSZWFkU3RhdGVdKVxuXG4gIGNvbnN0IHVzZXJQZXJtaXNzaW9ucyA9IHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHNcbiAgY29uc3QgY2FuQ3JlYXRlQWdlbnRzID0gISF1c2VyUGVybWlzc2lvbnM/LmNyZWF0ZVxuICBjb25zdCBoYXNNdWx0aUFnZW50c0ZlYXR1cmVBY2Nlc3MgPSAhIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTXG4gIGNvbnN0IGNhblZpZXdBZ2VudHMgPSAhIXVzZXJQZXJtaXNzaW9ucz8udmlldyAmJiBoYXNNdWx0aUFnZW50c0ZlYXR1cmVBY2Nlc3NcbiAgY29uc3QgY2FuVmlld1NraWxscyA9IGNhbkFjY2Vzc1RvU2tpbGxzKHVzZXIpXG4gIGNvbnN0IHNob3dNYXJrZXRwbGFjZVNpZGViYXJCdXR0b24gPSAhIWNhbkNyZWF0ZUFnZW50cyAmJiBoYXNNdWx0aUFnZW50c0ZlYXR1cmVBY2Nlc3NcbiAgY29uc3QgYWdlbnROYXZCdXR0b25Db3VudCA9ICgoc2hvd01hcmtldHBsYWNlU2lkZWJhckJ1dHRvbiA/IDEgOiAwKSArXG4gICAgKGNhblZpZXdBZ2VudHMgPyAxIDogMCkgK1xuICAgIChjYW5WaWV3U2tpbGxzID8gMSA6IDApKSBhcyAwIHwgMSB8IDIgfCAzXG4gIGNvbnN0IHNob3dBZ2VudHNOYXZCbG9jayA9IHNob3dNYXJrZXRwbGFjZVNpZGViYXJCdXR0b24gfHwgY2FuVmlld0FnZW50cyB8fCBjYW5WaWV3U2tpbGxzXG4gIGNvbnN0IG15QWdlbnRzU2lkZWJhclRyYWNrZWRSZWYgPSB1c2VSZWYoZmFsc2UpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWNhblZpZXdBZ2VudHMgfHwgbXlBZ2VudHNTaWRlYmFyVHJhY2tlZFJlZi5jdXJyZW50KSByZXR1cm5cblxuICAgIG15QWdlbnRzU2lkZWJhclRyYWNrZWRSZWYuY3VycmVudCA9IHRydWVcbiAgICB0cmFja0FwcGN1ZXNFdmVudChBUFBDVUVTX0VWRU5UUy5tYWlhU2lkZWJhck15QWdlbnRzKVxuICB9LCBbY2FuVmlld0FnZW50c10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocmVzZXRTZWxlY3RlZENoYXRSZWYpIHtcbiAgICAgIHJlc2V0U2VsZWN0ZWRDaGF0UmVmLmN1cnJlbnQgPSAoKSA9PiBzZXRTZWxlY3RlZENoYXQobnVsbClcbiAgICB9XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZXNldFNlbGVjdGVkQ2hhdFJlZikge1xuICAgICAgICByZXNldFNlbGVjdGVkQ2hhdFJlZi5jdXJyZW50ID0gbnVsbFxuICAgICAgfVxuICAgIH1cbiAgfSwgW3Jlc2V0U2VsZWN0ZWRDaGF0UmVmXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVNlbGVjdFNlc3Npb24gPSAoZXZ0OiBFdmVudCkgPT4ge1xuICAgICAgY29uc3QgeyBzZXNzaW9uSWQgfSA9IChldnQgYXMgQ3VzdG9tRXZlbnQ8eyBzZXNzaW9uSWQ/OiBzdHJpbmcgfT4pLmRldGFpbCA/PyB7fVxuICAgICAgaWYgKHNlc3Npb25JZCkge1xuICAgICAgICBzZXRTZWxlY3RlZENoYXQoc2Vzc2lvbklkKVxuICAgICAgfVxuICAgIH1cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzaWRlYmFyLXNlbGVjdC1zZXNzaW9uJywgaGFuZGxlU2VsZWN0U2Vzc2lvbilcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2lkZWJhci1zZWxlY3Qtc2Vzc2lvbicsIGhhbmRsZVNlbGVjdFNlc3Npb24pXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBoYW5kbGVEZWxldGVDaGF0ID0gYXN5bmMgKGNoYXQ6IGFueSkgPT4ge1xuICAgIGRlbGV0ZUNoYXQoY2hhdC5zZXNzaW9uRXh0ZXJuYWxJZClcbiAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICAgIGhhbmRsZUdvVG9Ib21lKClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVVwZGF0ZUNoYXQgPSAoY2hhdDogYW55KSA9PiB7XG4gICAgdXBkYXRlQ2hhdChjaGF0KVxuICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gIH1cblxuICBjb25zdCBoYW5kbGVPcGVuTW9kYWwgPSAoY2hhdElkOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoaXNPcGVuTW9kYWwgJiYgaXNPcGVuTW9kYWwgIT09IGNoYXRJZCkge1xuICAgICAgc2V0SXNPcGVuTW9kYWwobnVsbClcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0SXNPcGVuTW9kYWwoY2hhdElkKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNsb3NlTW9kYWwgPSAoKSA9PiB7XG4gICAgc2V0SXNPcGVuTW9kYWwobnVsbClcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICBpZiAoaXNPcGVuTW9kYWwgJiYgIShldmVudC50YXJnZXQgYXMgRWxlbWVudCkuY2xvc2VzdCgnW2RhdGEtbW9kYWwtY29udGFpbmVyXScpKSB7XG4gICAgICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGlzT3Blbk1vZGFsKSB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICB9XG4gIH0sIFtpc09wZW5Nb2RhbF0pXG5cbiAgY29uc3QgaGFuZGxlVG9nZ2xlU2lkZWJhciA9ICgpID0+IHtcbiAgICBpZiAoaXNPcGVuTW9kYWwpIHtcbiAgICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gICAgfVxuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRTaWRlYmFyLCB7IGFjdGlvbjogaXNPcGVuID8gJ2Nsb3NlJyA6ICdvcGVuJyB9KVxuICAgIHNldElzT3BlbihwcmV2ID0+IHtcbiAgICAgIGNvbnN0IG5leHQgPSAhcHJldlxuICAgICAgb25PcGVuQ2hhbmdlPy4obmV4dClcbiAgICAgIHJldHVybiBuZXh0XG4gICAgfSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZU9wZW5DcmVhdGVBZ2VudCA9IGFzeW5jICgpID0+IHtcbiAgICBpZiAob25PcGVuTWFpYWtlckNyZWF0b3IpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IG9uT3Blbk1haWFrZXJDcmVhdG9yKClcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICBvbkVycm9yKClcbiAgICAgIH1cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICAgIHBhdGg6IGBhZ2VudHM/YWdlbnRfdHlwZT1jbG9uZSZlbnRpdHk9Z2xvYmFsJmxhbmc9JHttYXBDT1JMYW5nKGkxOG4ubGFuZ3VhZ2UpfWAsXG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB9KVxuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuICAgICAgY29uc3QgbWFpYWtlckFnZW50ID0gKGRhdGEuZGF0YSB8fCBbXSkuZmluZCgoYWdlbnRJdGVtOiB7IHR5cGU/OiBzdHJpbmc7IGVudGl0eT86IHN0cmluZzsgbmFtZT86IHN0cmluZyB9KSA9PlxuICAgICAgICBpc01hcmtldHBsYWNlR2xvYmFsQ2xvbmVBZ2VudChhZ2VudEl0ZW0pXG4gICAgICApXG5cbiAgICAgIGlmICghbWFpYWtlckFnZW50KSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBzZXRQcm9qZWN0KG51bGwpXG4gICAgICBzZXRDbGllbnQ/LihudWxsKVxuICAgICAgc2V0VGFzayhudWxsKVxuICAgICAgLy8gaGFuZGxlR29Ub0hvbWUgcHVlZGUgcmVzZWxlY2Npb25hciBhZ2VudHMuZGF0YVswXSBzaSBlbCBhZ2VudGUgZ2xvYmFsIGF1biBlc3RhIGVuIG51bGxcbiAgICAgIC8vIChjbG9zdXJlIHN0YWxlIGRlIGxhIHNlY2Npb24gXCJNaXMgYWdlbnRlc1wiKSwgcG9yIGVzbyBzZWxlY3RBZ2VudChtYWlha2VyQWdlbnQpIHZhIGRlc3B1ZXMuXG4gICAgICBoYW5kbGVHb1RvSG9tZSgpXG4gICAgICBzZWxlY3RBZ2VudChtYWlha2VyQWdlbnQpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIG9uRXJyb3IoKVxuICAgIH1cbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFjaGF0c0ZldGNoZWRSZWYuY3VycmVudCkge1xuICAgICAgY2hhdHNGZXRjaGVkUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgICBmZXRjaENoYXRzKHsgbGltaXQsIG9mZnNldCB9KVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIC8vIFJlZmV0Y2ggc29saWNpdGFkbyBwb3IgcHJvcDogc2UgZWplY3V0YSBhdW5xdWUgZWwgc2lkZWJhciBlc3TDqSBjb2xhcHNhZG8uXG4gICAgaWYgKHJlZmV0Y2hDaGF0cykge1xuICAgICAgZmV0Y2hDaGF0cyh7IGxpbWl0LCBvZmZzZXQgfSlcbiAgICAgIGhhbmRsZVNldFJlZmV0Y2hDaGF0cyhmYWxzZSlcbiAgICB9XG4gIH0sIFtyZWZldGNoQ2hhdHMsIGhhbmRsZVNldFJlZmV0Y2hDaGF0cywgZmV0Y2hDaGF0cywgbGltaXQsIG9mZnNldF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoKSA9PiB7XG4gICAgICBpZiAoIWNoYXRzQ29udGFpbmVyUmVmLmN1cnJlbnQgfHwgIWhhc01vcmVDaGF0cyB8fCBpc0xvYWRpbmdNb3JlQ2hhdHMgfHwgaGFzRXJyb3IpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gY2hhdHNDb250YWluZXJSZWYuY3VycmVudFxuICAgICAgY29uc3QgaXNBdEJvdHRvbSA9IHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCA+PSBzY3JvbGxIZWlnaHQgLSAxMFxuXG4gICAgICBpZiAoaXNBdEJvdHRvbSkge1xuICAgICAgICBsb2FkTW9yZUNoYXRzKClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBjb250YWluZXIgPSBjaGF0c0NvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgICBjb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2hhc01vcmVDaGF0cywgaXNMb2FkaW5nTW9yZUNoYXRzLCBsb2FkTW9yZUNoYXRzLCBoYXNFcnJvcl0pXG5cbiAgY29uc3QgaGFuZGxlTmV3Q2hhdCA9ICgpID0+IHtcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlTaWRlYmFyTmV3Q2hhdClcbiAgICBpZiAoaXNPcGVuTW9kYWwpIHtcbiAgICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gICAgfVxuICAgIHNldFNlbGVjdGVkQ2hhdChudWxsKVxuICAgIGlmIChoYW5kbGVTdGFydE5ld0NoYXQpIHtcbiAgICAgIGhhbmRsZVN0YXJ0TmV3Q2hhdCgpXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaGFuZGxlR29Ub0hvbWUoKVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBBbCBjcmVhci9hY3R1YWxpemFyIHVuYSBjb252ZXJzYWNpw7NuIHJlZnJlc2NhbW9zIGxhIGxpc3RhIGF1bnF1ZSBlbCBzaWRlYmFyIGVzdMOpIGNvbGFwc2Fkby5cbiAgICBjb25zdCBoYW5kbGVSZWZldGNoU2Vzc2lvbiA9ICgpID0+IHtcbiAgICAgIGNoYXRzRmV0Y2hlZFJlZi5jdXJyZW50ID0gdHJ1ZVxuICAgICAgZmV0Y2hDaGF0cyh7IGxpbWl0OiAyMCwgb2Zmc2V0OiAwLCBiYWNrZ3JvdW5kOiB0cnVlIH0pXG4gICAgfVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3JlZmV0Y2gtc2Vzc2lvbicsIGhhbmRsZVJlZmV0Y2hTZXNzaW9uKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdyZWZldGNoLXNlc3Npb24nLCBoYW5kbGVSZWZldGNoU2Vzc2lvbilcbiAgICB9XG4gIH0sIFtmZXRjaENoYXRzXSlcblxuICBjb25zdCBpc0FnZW50c0h1YlNlY3Rpb24gPVxuICAgIHNob3dOZXdDaGF0ICYmIChhZ2VudHNOYXZBY3RpdmUgPT09ICdteUFnZW50cycgfHwgYWdlbnRzTmF2QWN0aXZlID09PSAnbWFpYWtlcicgfHwgYWdlbnRzTmF2QWN0aXZlID09PSAnbXlTa2lsbHMnKVxuXG4gIGNvbnN0IHNob3dOZXdDaGF0QnV0dG9uID1cbiAgICBpc0FnZW50c0h1YlNlY3Rpb24gfHxcbiAgICAoIXNob3dOZXdDaGF0ICYmXG4gICAgICAhaGFzRXJyb3IgJiZcbiAgICAgICFsb2FkaW5nQ2hhdHMgJiZcbiAgICAgICFpc0xlZ2FjeUNvbnRleHRTZXNzaW9uICYmXG4gICAgICAoKHVzZXJQZXJtaXNzaW9ucz8udmlldyAmJlxuICAgICAgICAhc2VsZWN0ZWRBZ2VudD8uaXNfZGVsZXRlZCAmJlxuICAgICAgICAhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyAmJlxuICAgICAgICAhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9hY2Nlc3MpIHx8XG4gICAgICAgICghdXNlclBlcm1pc3Npb25zPy52aWV3ICYmXG4gICAgICAgICAgIXNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgJiZcbiAgICAgICAgICAhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyAmJlxuICAgICAgICAgICFzZWxlY3RlZEFnZW50Py5oYXNfbm90X2FjY2VzcykpKVxuXG4gIHJldHVybiAoXG4gICAgPFNDU1NpZGViYXJSb290ICRpc09wZW49e2lzT3Blbn0+XG4gICAgICA8U0NTU2lkZWJhclRvb2xiYXIgJGlzT3Blbj17aXNPcGVufT5cbiAgICAgICAgPFRvb2x0aXAgdGl0bGU9e2lzT3BlbiA/IHQoJ2NvbnZlcnNhdGlvbnMuY29sbGFwc2UnKSA6IHQoJ2hpc3RvcnkudG9vbHRpcCcpfSB6SW5kZXg9e3Rvb2x0aXBaSW5kZXh9PlxuICAgICAgICAgIDxTQ1NXcmFwcGVyQ29sbGFwc2VkQnV0dG9uIG9uQ2xpY2s9e2hhbmRsZVRvZ2dsZVNpZGViYXJ9IGlzT3Blbj17aXNPcGVufT5cbiAgICAgICAgICAgIHtpc09wZW4gPyAoXG4gICAgICAgICAgICAgIDxDaGV2cm9uRG91YmxlTGVmdCBjb2xvcj1cInJnYmEoMTAyLCAxMDIsIDEwMiwgMSlcIiB3aWR0aD17MTZ9IGhlaWdodD17MTZ9IC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8U0NTU2lkZWJhclVucmVhZEFuY2hvcj5cbiAgICAgICAgICAgICAgICA8SGlzdG9yeSBjb2xvcj1cInJnYmEoMTMsIDEzLCAxMywgMSlcIiB3aWR0aD17MjB9IGhlaWdodD17MjB9IC8+XG4gICAgICAgICAgICAgICAge3VucmVhZENvdW50ID4gMCA/IChcbiAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyVW5yZWFkQ291bnQgJGZsb2F0aW5nIGFyaWEtbGFiZWw9e3QoJ2NvbnZlcnNhdGlvbnMudW5yZWFkTGFiZWwnKX0+XG4gICAgICAgICAgICAgICAgICAgIHtmb3JtYXRVbnJlYWRDb3VudCh1bnJlYWRDb3VudCl9XG4gICAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJVbnJlYWRDb3VudD5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyVW5yZWFkQW5jaG9yPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1NDU1dyYXBwZXJDb2xsYXBzZWRCdXR0b24+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAge3Nob3dOZXdDaGF0QnV0dG9uID8gKFxuICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXt0KCdjb252ZXJzYXRpb25zLm5ld0NoYXQnKX0gekluZGV4PXt0b29sdGlwWkluZGV4fT5cbiAgICAgICAgICAgIDxTQ1NXcmFwcGVyTmV3Q2hhdEljb24gb25DbGljaz17aGFuZGxlTmV3Q2hhdH0gYXJpYS1sYWJlbD17dCgnY29udmVyc2F0aW9ucy5uZXdDaGF0Jyl9PlxuICAgICAgICAgICAgICA8TmV3Q2hhdCB3aWR0aD17MTZ9IGhlaWdodD17MTZ9IC8+XG4gICAgICAgICAgICA8L1NDU1dyYXBwZXJOZXdDaGF0SWNvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICB7IWlzT3BlbiAmJiBzaG93QWdlbnRzTmF2QmxvY2sgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxTQ1NTaWRlYmFyQ29sbGFwc2VkRGl2aWRlciAvPlxuICAgICAgICAgICAge3Nob3dNYXJrZXRwbGFjZVNpZGViYXJCdXR0b24gPyAoXG4gICAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXt0KCdjb252ZXJzYXRpb25zLm1haWFrZXJOYXYnKX0gekluZGV4PXt0b29sdGlwWkluZGV4fT5cbiAgICAgICAgICAgICAgICA8U0NTV3JhcHBlckFnZW50c05hdkljb25cbiAgICAgICAgICAgICAgICAgICRhY3RpdmU9e2FnZW50c05hdkFjdGl2ZSA9PT0gJ21haWFrZXInfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0TXBPcGVuKVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVPcGVuQ3JlYXRlQWdlbnQoKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8TWFpYVN0b3JlSWNvbiBzaXplPXsxNn0gLz5cbiAgICAgICAgICAgICAgICA8L1NDU1dyYXBwZXJBZ2VudHNOYXZJY29uPlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIHtjYW5WaWV3QWdlbnRzID8gKFxuICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17dCgnY29udmVyc2F0aW9ucy5teUFnZW50c05hdicpfSB6SW5kZXg9e3Rvb2x0aXBaSW5kZXh9PlxuICAgICAgICAgICAgICAgIDxTQ1NXcmFwcGVyQWdlbnRzTmF2SWNvblxuICAgICAgICAgICAgICAgICAgJGFjdGl2ZT17YWdlbnRzTmF2QWN0aXZlID09PSAnbXlBZ2VudHMnfVxuICAgICAgICAgICAgICAgICAgZGF0YS1hcHBjdWVzPXtBUFBDVUVTX1NFTEVDVE9SUy5tYWlhU2lkZWJhck15QWdlbnRzfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlTaWRlYmFyTXlBZ2VudHMpXG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZU9wZW5NYXJrZXRwbGFjZSgpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxNeUFnZW50c05hdkljb24gc2l6ZT17MTZ9IC8+XG4gICAgICAgICAgICAgICAgPC9TQ1NXcmFwcGVyQWdlbnRzTmF2SWNvbj5cbiAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7Y2FuVmlld1NraWxscyA/IChcbiAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3QoJ2NvbnZlcnNhdGlvbnMubXlTa2lsbHNOYXYnKX0gekluZGV4PXt0b29sdGlwWkluZGV4fT5cbiAgICAgICAgICAgICAgICA8U0NTV3JhcHBlckFnZW50c05hdkljb25cbiAgICAgICAgICAgICAgICAgICRhY3RpdmU9e2FnZW50c05hdkFjdGl2ZSA9PT0gJ215U2tpbGxzJ31cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpU2lkZWJhck15U2tpbGxzKVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVPcGVuU2tpbGxzKClcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPFNraWxsc05hdkljb24gc2l6ZT17MTZ9IC8+XG4gICAgICAgICAgICAgICAgPC9TQ1NXcmFwcGVyQWdlbnRzTmF2SWNvbj5cbiAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9TQ1NTaWRlYmFyVG9vbGJhcj5cbiAgICAgIDxTQ1NTaWRlYmFyQm9keSAkaXNPcGVuPXtpc09wZW59PlxuICAgICAgICB7aXNPcGVuID8gKFxuICAgICAgICAgIDxTQ1NTaWRlYmFyT3BlblBhbmVsPlxuICAgICAgICAgICAgPFNDU1NpZGViYXJBZ2VudHNCbG9jaz5cbiAgICAgICAgICAgICAge3Nob3dBZ2VudHNOYXZCbG9jayA/IChcbiAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckFnZW50c0FjdGlvbnM+XG4gICAgICAgICAgICAgICAgICB7c2hvd01hcmtldHBsYWNlU2lkZWJhckJ1dHRvbiA/IChcbiAgICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJNYWlha2VyTmF2QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdE1wT3BlbilcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZU9wZW5DcmVhdGVBZ2VudCgpXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAkYWN0aXZlPXthZ2VudHNOYXZBY3RpdmUgPT09ICdtYWlha2VyJ31cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxNYWlhU3RvcmVJY29uIHNpemU9ezE2fSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsPnt0KCdjb252ZXJzYXRpb25zLm1haWFrZXJOYXYnKX08L1NDU1NpZGViYXJNYWlha2VyTmF2TGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhck1haWFrZXJOYXZCdXR0b24+XG4gICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgIHtjYW5WaWV3QWdlbnRzID8gKFxuICAgICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhck1haWFrZXJOYXZCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICBkYXRhLWFwcGN1ZXM9e0FQUENVRVNfU0VMRUNUT1JTLm1haWFTaWRlYmFyTXlBZ2VudHN9XG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpU2lkZWJhck15QWdlbnRzKVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlT3Blbk1hcmtldHBsYWNlKClcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICRhY3RpdmU9e2FnZW50c05hdkFjdGl2ZSA9PT0gJ215QWdlbnRzJ31cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxNeUFnZW50c05hdkljb24gc2l6ZT17MTZ9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJNYWlha2VyTmF2TGFiZWw+e3QoJ2NvbnZlcnNhdGlvbnMubXlBZ2VudHNOYXYnKX08L1NDU1NpZGViYXJNYWlha2VyTmF2TGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhck1haWFrZXJOYXZCdXR0b24+XG4gICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgIHtjYW5WaWV3U2tpbGxzID8gKFxuICAgICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhck1haWFrZXJOYXZCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlTaWRlYmFyTXlTa2lsbHMpXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVPcGVuU2tpbGxzKClcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICRhY3RpdmU9e2FnZW50c05hdkFjdGl2ZSA9PT0gJ215U2tpbGxzJ31cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxTa2lsbHNOYXZJY29uIHNpemU9ezE2fSAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsPnt0KCdjb252ZXJzYXRpb25zLm15U2tpbGxzTmF2Jyl9PC9TQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyTWFpYWtlck5hdkJhZGdlTmV3Pnt0KCdob21lTWVudS5tYWlha2VyLmJhZGdlTmV3Jyl9PC9TQ1NTaWRlYmFyTWFpYWtlck5hdkJhZGdlTmV3PlxuICAgICAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJNYWlha2VyTmF2QnV0dG9uPlxuICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyQWdlbnRzQWN0aW9ucz5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIDxTQ1NTaWRlYmFyQ29udmVyc2F0aW9uc0hlYWRpbmdSb3c+XG4gICAgICAgICAgICAgICAgPFNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZz57dCgnY29udmVyc2F0aW9ucy50aXRsZScpfTwvU0NTU2lkZWJhckNvbnZlcnNhdGlvbnNIZWFkaW5nPlxuICAgICAgICAgICAgICAgIHt1bnJlYWRDb3VudCA+IDAgPyAoXG4gICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhclVucmVhZENvdW50IGFyaWEtbGFiZWw9e3QoJ2NvbnZlcnNhdGlvbnMudW5yZWFkTGFiZWwnKX0+XG4gICAgICAgICAgICAgICAgICAgIHtmb3JtYXRVbnJlYWRDb3VudCh1bnJlYWRDb3VudCl9XG4gICAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJVbnJlYWRDb3VudD5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyQ29udmVyc2F0aW9uc0hlYWRpbmdSb3c+XG4gICAgICAgICAgICA8L1NDU1NpZGViYXJBZ2VudHNCbG9jaz5cbiAgICAgICAgICAgIDxTQ1NTaWRlYmFyQ2hhdHNTY3JvbGxcbiAgICAgICAgICAgICAgcmVmPXtjaGF0c0NvbnRhaW5lclJlZn1cbiAgICAgICAgICAgICAgJGhhc0NoYXRzPXtjaGF0cy5sZW5ndGggPiAwfVxuICAgICAgICAgICAgICAkb2Zmc2V0VmFyaWFudD17aGFzRXJyb3IgPyAnZXJyb3InIDogJ2RlZmF1bHQnfVxuICAgICAgICAgICAgICAkYWdlbnROYXZCdXR0b25Db3VudD17YWdlbnROYXZCdXR0b25Db3VudH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmICFjaGF0cy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFcnJvclN0YXRlQ29sdW1uPlxuICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFcnJvclN0YXRlVG9wPlxuICAgICAgICAgICAgICAgICAgICA8RXJyb3JTdGF0ZSAvPlxuICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyRXJyb3JTdGF0ZVRvcD5cbiAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRXJyb3JCYW5uZXI+XG4gICAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRXJyb3JCYW5uZXJJY29uV3JhcD5cbiAgICAgICAgICAgICAgICAgICAgICA8RXJyb3JJY29uIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NTU2lkZWJhckVycm9yQmFubmVySWNvbldyYXA+XG4gICAgICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRXJyb3JCYW5uZXJNZXNzYWdlPnt0KCdjb252ZXJzYXRpb25zLmVycm9yJyl9PC9TQ1NTaWRlYmFyRXJyb3JCYW5uZXJNZXNzYWdlPlxuICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyRXJyb3JCYW5uZXI+XG4gICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyRXJyb3JTdGF0ZUNvbHVtbj5cbiAgICAgICAgICAgICAgKSA6IGxvYWRpbmdDaGF0cyA/IChcbiAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckxvYWRpbmdBcmVhPlxuICAgICAgICAgICAgICAgICAgPFNpZGViYXJDaGF0c1NrZWxldG9uIC8+XG4gICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyTG9hZGluZ0FyZWE+XG4gICAgICAgICAgICAgICkgOiBjaGF0cy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIHtjaGF0cy5tYXAoKGNoYXQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgPExpc3RIaXN0b3J5Q2hhdFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtjaGF0LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgY2hhdD17Y2hhdH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2NoYXREYXRhID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzT3Blbk1vZGFsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXNPcGVuTW9kYWwobnVsbClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZENoYXQoY2hhdERhdGEuc2Vzc2lvbkV4dGVybmFsSWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uR29Ub0NoYXQoY2hhdERhdGEpXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgaXNNb2RhbE9wZW49e2lzT3Blbk1vZGFsID09PSBjaGF0LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25PcGVuTW9kYWw9e2hhbmRsZU9wZW5Nb2RhbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xvc2VNb2RhbD17aGFuZGxlQ2xvc2VNb2RhbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZXJzPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZURlbGV0ZUNoYXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVVwZGF0ZUNoYXQsXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17c2VsZWN0ZWRDaGF0ID09PSBjaGF0LnNlc3Npb25FeHRlcm5hbElkfVxuICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcFpJbmRleD17dG9vbHRpcFpJbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIHtpc0xvYWRpbmdNb3JlQ2hhdHMgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckxvYWRNb3JlUm93PlxuICAgICAgICAgICAgICAgICAgICAgIDxTaWRlYmFyQ2hhdHNTa2VsZXRvbiBjb3VudD17Mn0gLz5cbiAgICAgICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyTG9hZE1vcmVSb3c+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxTQ1NTaWRlYmFyRW1wdHlDaGF0cz5cbiAgICAgICAgICAgICAgICAgIDxFbXB0eUhpc3RvcnlJY29uIC8+XG4gICAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVtcHR5Q2hhdHNUZXh0Pnt0KCdjb252ZXJzYXRpb25zLmVtcHR5Jyl9PC9TQ1NTaWRlYmFyRW1wdHlDaGF0c1RleHQ+XG4gICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyRW1wdHlDaGF0cz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvU0NTU2lkZWJhckNoYXRzU2Nyb2xsPlxuICAgICAgICAgICAgPFNDU1NpZGViYXJDaGF0c0Zvb3Rlcj5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmIGNoYXRzLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICA8U0NTU2lkZWJhckVycm9yQmFubmVyPlxuICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFcnJvckJhbm5lckljb25XcmFwPlxuICAgICAgICAgICAgICAgICAgICA8RXJyb3JJY29uIC8+XG4gICAgICAgICAgICAgICAgICA8L1NDU1NpZGViYXJFcnJvckJhbm5lckljb25XcmFwPlxuICAgICAgICAgICAgICAgICAgPFNDU1NpZGViYXJFcnJvckJhbm5lck1lc3NhZ2U+e3QoJ2NvbnZlcnNhdGlvbnMuZXJyb3InKX08L1NDU1NpZGViYXJFcnJvckJhbm5lck1lc3NhZ2U+XG4gICAgICAgICAgICAgICAgPC9TQ1NTaWRlYmFyRXJyb3JCYW5uZXI+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9TQ1NTaWRlYmFyQ2hhdHNGb290ZXI+XG4gICAgICAgICAgPC9TQ1NTaWRlYmFyT3BlblBhbmVsPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPFNDU1NpZGViYXJGb290ZXJBY3Rpb25zICRpc09wZW49e2lzT3Blbn0gJGp1c3RpZnlCZXR3ZWVuPXshIXNlbGVjdGVkQWdlbnR9PlxuICAgICAgICAgIHtzZWxlY3RlZEFnZW50ID8gPEZlZWRiYWNrQnV0dG9uIHNlbGVjdGVkQWdlbnQ9e3NlbGVjdGVkQWdlbnR9IGlzT3Blbj17aXNPcGVufSAvPiA6IG51bGx9XG4gICAgICAgIDwvU0NTU2lkZWJhckZvb3RlckFjdGlvbnM+XG4gICAgICA8L1NDU1NpZGViYXJCb2R5PlxuICAgIDwvU0NTU2lkZWJhclJvb3Q+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQTJCQSxTQUFTLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUM5RSxTQUFTQyxpQkFBaUIsUUFBUSxvREFBb0Q7QUFDdEYsU0FBU0MsT0FBTyxRQUFRLDBDQUEwQztBQUNsRSxTQUFTQyxRQUFRLFFBQVEsNENBQTRDO0FBQ3JFLFNBQVNDLFFBQVEsUUFBUSwyQ0FBMkM7QUFDcEUsU0FBU0MsTUFBTSxRQUFRLHlDQUF5QztBQUNoRSxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBRTlELFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFFdEUsU0FBU0MsZ0JBQWdCLFFBQVEsZ0NBQWdDO0FBQ2pFLFNBQVNDLGlCQUFpQixRQUFRLDBCQUEwQjtBQUM1RCxTQUFTQyxRQUFRLFFBQVEseUJBQXlCO0FBQ2xELFNBQVNDLG9CQUFvQixRQUFRLG9CQUFvQjtBQUN6RCxTQUFTQyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsYUFBYSxFQUFFQyxlQUFlLEVBQUVDLGFBQWEsRUFBRUMsT0FBTyxRQUFRLG1CQUFtQjtBQUNoSCxTQUFTQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSx5QkFBeUI7QUFDMUQsU0FBU0MsSUFBSSxRQUFRLHFCQUFxQjtBQUMxQyxTQUFTQyxVQUFVLFFBQVEsK0JBQStCO0FBQzFELFNBQVNDLGlCQUFp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
|
|
@@ -63,7 +63,7 @@ export var SCSSidebarMaiakerNavLabel = styled.span.withConfig({
|
|
|
63
63
|
export var SCSSidebarMaiakerNavBadgeNew = styled.span.withConfig({
|
|
64
64
|
displayName: "Sidebarlayoutstyles__SCSSidebarMaiakerNavBadgeNew",
|
|
65
65
|
componentId: "sc-1bkxdfe-11"
|
|
66
|
-
})(["display:flex;padding:2px 6px;justify-content:center;align-items:center;flex-shrink:0;border-radius:14px;background:linear-gradient(180deg,#4d3569 0%,#2d77bd 100%);color:#fff;font-size:10px;font-weight:600;line-height:140%;letter-spacing:0.1px;"]);
|
|
66
|
+
})(["display:flex;padding:2px 6px;justify-content:center;align-items:center;flex-shrink:0;margin-left:auto;border-radius:14px;background:linear-gradient(180deg,#4d3569 0%,#2d77bd 100%);color:#fff;font-size:10px;font-weight:600;line-height:140%;letter-spacing:0.1px;"]);
|
|
67
67
|
export var SCSSidebarConversationsHeading = styled.span.withConfig({
|
|
68
68
|
displayName: "Sidebarlayoutstyles__SCSSidebarConversationsHeading",
|
|
69
69
|
componentId: "sc-1bkxdfe-12"
|
|
@@ -154,4 +154,4 @@ export var SCSSidebarConversationsHeadingRow = styled.div.withConfig({
|
|
|
154
154
|
displayName: "Sidebarlayoutstyles__SCSSidebarConversationsHeadingRow",
|
|
155
155
|
componentId: "sc-1bkxdfe-27"
|
|
156
156
|
})(["display:flex;align-items:center;gap:8px;"]);
|
|
157
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJmYWRlSW4iLCJTQ1NTaWRlYmFyUm9vdCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwicCIsIiRpc09wZW4iLCJTQ1NTaWRlYmFyVG9vbGJhciIsIlNDU1NpZGViYXJDb2xsYXBzZWREaXZpZGVyIiwiU0NTU2lkZWJhckJvZHkiLCJTQ1NTaWRlYmFyT3BlblBhbmVsIiwiU0NTU2lkZWJhckFnZW50c0Jsb2NrIiwiU0NTU2lkZWJhckFnZW50c0hlYWRpbmciLCJTQ1NTaWRlYmFyQWdlbnRzSGVhZGluZ1RleHQiLCJzcGFuIiwiU0NTU2lkZWJhckFnZW50c0FjdGlvbnMiLCJTQ1NTaWRlYmFyTWFpYWtlck5hdkJ1dHRvbiIsImJ1dHRvbiIsIiRhY3RpdmUiLCJTQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsIiwiU0NTU2lkZWJhck1haWFrZXJOYXZCYWRnZU5ldyIsIlNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZyIsIlNDU1NpZGViYXJDaGF0c1Njcm9sbCIsIiRoYXNDaGF0cyIsInVuZGVmaW5lZCIsInNjcm9sbFJlc2VydmUiLCIkb2Zmc2V0VmFyaWFudCIsIiRhZ2VudE5hdkJ1dHRvbkNvdW50IiwiU0NTU2lkZWJhckVycm9yU3RhdGVDb2x1bW4iLCJTQ1NTaWRlYmFyRXJyb3JTdGF0ZVRvcCIsIlNDU1NpZGViYXJFcnJvckJhbm5lciIsIlNDU1NpZGViYXJFcnJvckJhbm5lckljb25XcmFwIiwiU0NTU2lkZWJhckVycm9yQmFubmVyTWVzc2FnZSIsIlNDU1NpZGViYXJMb2FkaW5nQXJlYSIsIlNDU1NpZGViYXJMb2FkTW9yZVJvdyIsIlNDU1NpZGViYXJFbXB0eUNoYXRzIiwiU0NTU2lkZWJhckVtcHR5Q2hhdHNUZXh0IiwiU0NTU2lkZWJhckNoYXRzRm9vdGVyIiwiU0NTU2lkZWJhckZvb3RlckFjdGlvbnMiLCIkanVzdGlmeUJldHdlZW4iLCJTQ1NTaWRlYmFyVW5yZWFkQ291bnQiLCJfcmVmIiwiJGZsb2F0aW5nIiwiU0NTU2lkZWJhclVucmVhZEFuY2hvciIsIlNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZ1JvdyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TaWRlYmFyL1NpZGViYXIubGF5b3V0LnN0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkLCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5cbmNvbnN0IGZhZGVJbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhclJvb3QgPSBzdHlsZWQuZGl2PHsgJGlzT3BlbjogYm9vbGVhbiB9PmBcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogJHtwID0+IChwLiRpc09wZW4gPyAnMTJweCAxMHB4JyA6ICcwJyl9O1xuICB3aWR0aDogJHtwID0+IChwLiRpc09wZW4gPyAnMjY0cHgnIDogJzQ2cHgnKX07XG4gIG1heC13aWR0aDogMjcwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2Utb3V0O1xuICAke3AgPT5cbiAgICAhcC4kaXNPcGVuICYmXG4gICAgY3NzYFxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhclRvb2xiYXIgPSBzdHlsZWQuZGl2PHsgJGlzT3BlbjogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGdhcDogMjJweDtcbiAgcGFkZGluZzogOHB4IDRweCAxMnB4O1xuICBmbGV4LWRpcmVjdGlvbjogJHtwID0+IChwLiRpc09wZW4gPyAncm93LXJldmVyc2UnIDogJ2NvbHVtbicpfTtcbiAgJHtwID0+XG4gICAgIXAuJGlzT3BlbiAmJlxuICAgIGNzc2BcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDIwcHggMTJweCA4cHg7XG4gICAgYH1cbiAgJHtwID0+XG4gICAgcC4kaXNPcGVuICYmXG4gICAgY3NzYFxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyQ29sbGFwc2VkRGl2aWRlciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAyMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29yLWNvbG9yLWJvcmRlci1kZWZhdWx0LCAjZDlkOWQ5KTtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyQm9keSA9IHN0eWxlZC5kaXY8eyAkaXNPcGVuOiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzMnB4KTtcbiAganVzdGlmeS1jb250ZW50OiAke3AgPT4gKHAuJGlzT3BlbiA/ICdmbGV4LXN0YXJ0JyA6ICdmbGV4LWVuZCcpfTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJPcGVuUGFuZWwgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiA4cHggMCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbiAgZmxleC1ncm93OiAxO1xuICBtaW4td2lkdGg6IDI0NHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckFnZW50c0Jsb2NrID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogOHB4O1xuICB3aWR0aDogMTAwJTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJBZ2VudHNIZWFkaW5nID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMjUwcHg7XG4gIGhlaWdodDogMzZweDtcbiAgcGFkZGluZzogMCAxMnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJBZ2VudHNIZWFkaW5nVGV4dCA9IHN0eWxlZC5zcGFuYFxuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJBZ2VudHNBY3Rpb25zID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAxMDAlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhck1haWFrZXJOYXZCdXR0b24gPSBzdHlsZWQuYnV0dG9uPHsgJGFjdGl2ZTogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMjUwcHg7XG4gIHBhZGRpbmc6IDEycHggOHB4IDEycHggMTZweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAke3AgPT4gKHAuJGFjdGl2ZSA/ICcjZWNlY2VjJyA6ICd0cmFuc3BhcmVudCcpfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIE1pc21vIHRvbm8gcXVlIGVsIGxhYmVsOyBlbCBlc3RhZG8gYWN0aXZvIHNlIHZlIGNvbiBlbCBmb25kbywgbm8gYXRlbnVhbmRvIGVsIGljb25vICovXG4gIGNvbG9yOiAjMjAyMDFmO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjMjAyMDFmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJNYWlha2VyTmF2QmFkZ2VOZXcgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjNGQzNTY5IDAlLCAjMmQ3N2JkIDEwMCUpO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMXB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckNvbnZlcnNhdGlvbnNIZWFkaW5nID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzY2NjtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyQ2hhdHNTY3JvbGwgPSBzdHlsZWQuZGl2PHtcbiAgJGhhc0NoYXRzOiBib29sZWFuXG4gICRvZmZzZXRWYXJpYW50OiAnZGVmYXVsdCcgfCAnZXJyb3InXG4gIC8qKiBCb3RvbmVzIHZpc2libGVzIGVuIGxhIHNlY2Npw7NuIEFnZW50ZXMsIDDigJM0ICovXG4gICRhZ2VudE5hdkJ1dHRvbkNvdW50OiAwIHwgMSB8IDIgfCAzIHwgNFxufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xuICBmbGV4LWdyb3c6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6IGNvbnRhaW47XG4gICR7cCA9PiB7XG4gICAgaWYgKCFwLiRoYXNDaGF0cykgcmV0dXJuIHVuZGVmaW5lZFxuICAgIGxldCBzY3JvbGxSZXNlcnZlID0gMTY0XG4gICAgaWYgKHAuJG9mZnNldFZhcmlhbnQgPT09ICdlcnJvcicpIHtcbiAgICAgIHNjcm9sbFJlc2VydmUgPSAxOTdcbiAgICB9IGVsc2UgaWYgKHAuJGFnZW50TmF2QnV0dG9uQ291bnQgPT09IDQpIHtcbiAgICAgIHNjcm9sbFJlc2VydmUgPSAzNTJcbiAgICB9IGVsc2UgaWYgKHAuJGFnZW50TmF2QnV0dG9uQ291bnQgPT09IDMpIHtcbiAgICAgIHNjcm9sbFJlc2VydmUgPSAzMDhcbiAgICB9IGVsc2UgaWYgKHAuJGFnZW50TmF2QnV0dG9uQ291bnQgPT09IDIpIHtcbiAgICAgIHNjcm9sbFJlc2VydmUgPSAyNjRcbiAgICB9IGVsc2UgaWYgKHAuJGFnZW50TmF2QnV0dG9uQ291bnQgPT09IDEpIHtcbiAgICAgIHNjcm9sbFJlc2VydmUgPSAyMjBcbiAgICB9XG4gICAgcmV0dXJuIGNzc2BcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAke3Njcm9sbFJlc2VydmV9cHgpO1xuICAgIGBcbiAgfX1cbiAgJHtwID0+XG4gICAgIXAuJGhhc0NoYXRzICYmXG4gICAgY3NzYFxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckVycm9yU3RhdGVDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbmltYXRpb246ICR7ZmFkZUlufSAwLjVzIGVhc2Utb3V0O1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckVycm9yU3RhdGVUb3AgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWdyb3c6IDE7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyRXJyb3JCYW5uZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjUzLCAyMzYsIDIzNiwgMSk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMTJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxOTksIDUsIDUsIDEpO1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckVycm9yQmFubmVySWNvbldyYXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJFcnJvckJhbm5lck1lc3NhZ2UgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogcmdiYSgzMiwgMzIsIDMxLCAxKTtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyTG9hZGluZ0FyZWEgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2NzBweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJMb2FkTW9yZVJvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAxNnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckVtcHR5Q2hhdHMgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDE4cHg7XG4gIHdpZHRoOiAyMDFweDtcbiAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gMC41cyBlYXNlLW91dDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJFbXB0eUNoYXRzVGV4dCA9IHN0eWxlZC5zcGFuYFxuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiByZ2JhKDEwMiwgMTAyLCAxMDIsIDEpO1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckNoYXRzRm9vdGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyRm9vdGVyQWN0aW9ucyA9IHN0eWxlZC5kaXY8eyAkaXNPcGVuOiBib29sZWFuOyAkanVzdGlmeUJldHdlZW46IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogOHB4O1xuICBmbGV4LWRpcmVjdGlvbjogJHtwID0+IChwLiRpc09wZW4gPyAncm93JyA6ICdjb2x1bW4nKX07XG4gIGp1c3RpZnktY29udGVudDogJHtwID0+IChwLiRqdXN0aWZ5QmV0d2VlbiA/ICdzcGFjZS1iZXR3ZWVuJyA6ICdmbGV4LWVuZCcpfTtcbiAgJHtwID0+XG4gICAgIXAuJGlzT3BlbiAmJlxuICAgIGNzc2BcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwIDEycHggOHB4O1xuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyVW5yZWFkQ291bnQgPSBzdHlsZWQuc3Bhbjx7ICRmbG9hdGluZz86IGJvb2xlYW4gfT5gXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4td2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6ICNkMzJmMmY7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiA5LjMzM3B4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTIuNDQ0cHg7XG4gIGNvbG9yOiAjZmZmO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAkeyh7ICRmbG9hdGluZyB9KSA9PlxuICAgICRmbG9hdGluZ1xuICAgICAgPyBjc3NgXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogLTRweDtcbiAgICAgICAgICByaWdodDogLTguNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgM3B4O1xuICAgICAgICBgXG4gICAgICA6IGNzc2BcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDNweDtcbiAgICAgICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJVbnJlYWRBbmNob3IgPSBzdHlsZWQuc3BhbmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZ1JvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsRUFBRUMsU0FBUyxRQUFRLG1CQUFtQjtBQUUxRCxJQUFNQyxNQUFNLEdBQUdELFNBQVMsb0NBT3ZCO0FBRUQsT0FBTyxJQUFNRSxjQUFjLEdBQUdKLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHFRQUkzQixVQUFBQyxDQUFDO0VBQUEsT0FBS0EsQ0FB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
|
|
157
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJmYWRlSW4iLCJTQ1NTaWRlYmFyUm9vdCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwicCIsIiRpc09wZW4iLCJTQ1NTaWRlYmFyVG9vbGJhciIsIlNDU1NpZGViYXJDb2xsYXBzZWREaXZpZGVyIiwiU0NTU2lkZWJhckJvZHkiLCJTQ1NTaWRlYmFyT3BlblBhbmVsIiwiU0NTU2lkZWJhckFnZW50c0Jsb2NrIiwiU0NTU2lkZWJhckFnZW50c0hlYWRpbmciLCJTQ1NTaWRlYmFyQWdlbnRzSGVhZGluZ1RleHQiLCJzcGFuIiwiU0NTU2lkZWJhckFnZW50c0FjdGlvbnMiLCJTQ1NTaWRlYmFyTWFpYWtlck5hdkJ1dHRvbiIsImJ1dHRvbiIsIiRhY3RpdmUiLCJTQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsIiwiU0NTU2lkZWJhck1haWFrZXJOYXZCYWRnZU5ldyIsIlNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZyIsIlNDU1NpZGViYXJDaGF0c1Njcm9sbCIsIiRoYXNDaGF0cyIsInVuZGVmaW5lZCIsInNjcm9sbFJlc2VydmUiLCIkb2Zmc2V0VmFyaWFudCIsIiRhZ2VudE5hdkJ1dHRvbkNvdW50IiwiU0NTU2lkZWJhckVycm9yU3RhdGVDb2x1bW4iLCJTQ1NTaWRlYmFyRXJyb3JTdGF0ZVRvcCIsIlNDU1NpZGViYXJFcnJvckJhbm5lciIsIlNDU1NpZGViYXJFcnJvckJhbm5lckljb25XcmFwIiwiU0NTU2lkZWJhckVycm9yQmFubmVyTWVzc2FnZSIsIlNDU1NpZGViYXJMb2FkaW5nQXJlYSIsIlNDU1NpZGViYXJMb2FkTW9yZVJvdyIsIlNDU1NpZGViYXJFbXB0eUNoYXRzIiwiU0NTU2lkZWJhckVtcHR5Q2hhdHNUZXh0IiwiU0NTU2lkZWJhckNoYXRzRm9vdGVyIiwiU0NTU2lkZWJhckZvb3RlckFjdGlvbnMiLCIkanVzdGlmeUJldHdlZW4iLCJTQ1NTaWRlYmFyVW5yZWFkQ291bnQiLCJfcmVmIiwiJGZsb2F0aW5nIiwiU0NTU2lkZWJhclVucmVhZEFuY2hvciIsIlNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZ1JvdyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TaWRlYmFyL1NpZGViYXIubGF5b3V0LnN0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkLCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5cbmNvbnN0IGZhZGVJbiA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhclJvb3QgPSBzdHlsZWQuZGl2PHsgJGlzT3BlbjogYm9vbGVhbiB9PmBcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogJHtwID0+IChwLiRpc09wZW4gPyAnMTJweCAxMHB4JyA6ICcwJyl9O1xuICB3aWR0aDogJHtwID0+IChwLiRpc09wZW4gPyAnMjY0cHgnIDogJzQ2cHgnKX07XG4gIG1heC13aWR0aDogMjcwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2Utb3V0O1xuICAke3AgPT5cbiAgICAhcC4kaXNPcGVuICYmXG4gICAgY3NzYFxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhclRvb2xiYXIgPSBzdHlsZWQuZGl2PHsgJGlzT3BlbjogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGdhcDogMjJweDtcbiAgcGFkZGluZzogOHB4IDRweCAxMnB4O1xuICBmbGV4LWRpcmVjdGlvbjogJHtwID0+IChwLiRpc09wZW4gPyAncm93LXJldmVyc2UnIDogJ2NvbHVtbicpfTtcbiAgJHtwID0+XG4gICAgIXAuJGlzT3BlbiAmJlxuICAgIGNzc2BcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDIwcHggMTJweCA4cHg7XG4gICAgYH1cbiAgJHtwID0+XG4gICAgcC4kaXNPcGVuICYmXG4gICAgY3NzYFxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyQ29sbGFwc2VkRGl2aWRlciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAyMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29yLWNvbG9yLWJvcmRlci1kZWZhdWx0LCAjZDlkOWQ5KTtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyQm9keSA9IHN0eWxlZC5kaXY8eyAkaXNPcGVuOiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzMnB4KTtcbiAganVzdGlmeS1jb250ZW50OiAke3AgPT4gKHAuJGlzT3BlbiA/ICdmbGV4LXN0YXJ0JyA6ICdmbGV4LWVuZCcpfTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJPcGVuUGFuZWwgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiA4cHggMCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbiAgZmxleC1ncm93OiAxO1xuICBtaW4td2lkdGg6IDI0NHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckFnZW50c0Jsb2NrID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogOHB4O1xuICB3aWR0aDogMTAwJTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJBZ2VudHNIZWFkaW5nID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMjUwcHg7XG4gIGhlaWdodDogMzZweDtcbiAgcGFkZGluZzogMCAxMnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJBZ2VudHNIZWFkaW5nVGV4dCA9IHN0eWxlZC5zcGFuYFxuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJBZ2VudHNBY3Rpb25zID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAxMDAlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhck1haWFrZXJOYXZCdXR0b24gPSBzdHlsZWQuYnV0dG9uPHsgJGFjdGl2ZTogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMjUwcHg7XG4gIHBhZGRpbmc6IDEycHggOHB4IDEycHggMTZweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAke3AgPT4gKHAuJGFjdGl2ZSA/ICcjZWNlY2VjJyA6ICd0cmFuc3BhcmVudCcpfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIE1pc21vIHRvbm8gcXVlIGVsIGxhYmVsOyBlbCBlc3RhZG8gYWN0aXZvIHNlIHZlIGNvbiBlbCBmb25kbywgbm8gYXRlbnVhbmRvIGVsIGljb25vICovXG4gIGNvbG9yOiAjMjAyMDFmO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyTWFpYWtlck5hdkxhYmVsID0gc3R5bGVkLnNwYW5gXG4gIGNvbG9yOiAjMjAyMDFmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJNYWlha2VyTmF2QmFkZ2VOZXcgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzRkMzU2OSAwJSwgIzJkNzdiZCAxMDAlKTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjFweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJDb252ZXJzYXRpb25zSGVhZGluZyA9IHN0eWxlZC5zcGFuYFxuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM2NjY7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4yMXB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckNoYXRzU2Nyb2xsID0gc3R5bGVkLmRpdjx7XG4gICRoYXNDaGF0czogYm9vbGVhblxuICAkb2Zmc2V0VmFyaWFudDogJ2RlZmF1bHQnIHwgJ2Vycm9yJ1xuICAvKiogQm90b25lcyB2aXNpYmxlcyBlbiBsYSBzZWNjacOzbiBBZ2VudGVzLCAw4oCTNCAqL1xuICAkYWdlbnROYXZCdXR0b25Db3VudDogMCB8IDEgfCAyIHwgMyB8IDRcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbiAgZmxleC1ncm93OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvci15OiBjb250YWluO1xuICAke3AgPT4ge1xuICAgIGlmICghcC4kaGFzQ2hhdHMpIHJldHVybiB1bmRlZmluZWRcbiAgICBsZXQgc2Nyb2xsUmVzZXJ2ZSA9IDE2NFxuICAgIGlmIChwLiRvZmZzZXRWYXJpYW50ID09PSAnZXJyb3InKSB7XG4gICAgICBzY3JvbGxSZXNlcnZlID0gMTk3XG4gICAgfSBlbHNlIGlmIChwLiRhZ2VudE5hdkJ1dHRvbkNvdW50ID09PSA0KSB7XG4gICAgICBzY3JvbGxSZXNlcnZlID0gMzUyXG4gICAgfSBlbHNlIGlmIChwLiRhZ2VudE5hdkJ1dHRvbkNvdW50ID09PSAzKSB7XG4gICAgICBzY3JvbGxSZXNlcnZlID0gMzA4XG4gICAgfSBlbHNlIGlmIChwLiRhZ2VudE5hdkJ1dHRvbkNvdW50ID09PSAyKSB7XG4gICAgICBzY3JvbGxSZXNlcnZlID0gMjY0XG4gICAgfSBlbHNlIGlmIChwLiRhZ2VudE5hdkJ1dHRvbkNvdW50ID09PSAxKSB7XG4gICAgICBzY3JvbGxSZXNlcnZlID0gMjIwXG4gICAgfVxuICAgIHJldHVybiBjc3NgXG4gICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gJHtzY3JvbGxSZXNlcnZlfXB4KTtcbiAgICBgXG4gIH19XG4gICR7cCA9PlxuICAgICFwLiRoYXNDaGF0cyAmJlxuICAgIGNzc2BcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJFcnJvclN0YXRlQ29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYW5pbWF0aW9uOiAke2ZhZGVJbn0gMC41cyBlYXNlLW91dDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJFcnJvclN0YXRlVG9wID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1ncm93OiAxO1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckVycm9yQmFubmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1MywgMjM2LCAyMzYsIDEpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTk5LCA1LCA1LCAxKTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJFcnJvckJhbm5lckljb25XcmFwID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyRXJyb3JCYW5uZXJNZXNzYWdlID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6IHJnYmEoMzIsIDMyLCAzMSwgMSk7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckxvYWRpbmdBcmVhID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNjcwcHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyTG9hZE1vcmVSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMTZweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJFbXB0eUNoYXRzID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxOHB4O1xuICB3aWR0aDogMjAxcHg7XG4gIGFuaW1hdGlvbjogJHtmYWRlSW59IDAuNXMgZWFzZS1vdXQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyRW1wdHlDaGF0c1RleHQgPSBzdHlsZWQuc3BhbmBcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAxKTtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDU1NpZGViYXJDaGF0c0Zvb3RlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhckZvb3RlckFjdGlvbnMgPSBzdHlsZWQuZGl2PHsgJGlzT3BlbjogYm9vbGVhbjsgJGp1c3RpZnlCZXR3ZWVuOiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbiAgZmxleC1kaXJlY3Rpb246ICR7cCA9PiAocC4kaXNPcGVuID8gJ3JvdycgOiAnY29sdW1uJyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICR7cCA9PiAocC4kanVzdGlmeUJldHdlZW4gPyAnc3BhY2UtYmV0d2VlbicgOiAnZmxleC1lbmQnKX07XG4gICR7cCA9PlxuICAgICFwLiRpc09wZW4gJiZcbiAgICBjc3NgXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZzogMCAxMnB4IDhweDtcbiAgICBgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NTU2lkZWJhclVucmVhZENvdW50ID0gc3R5bGVkLnNwYW48eyAkZmxvYXRpbmc/OiBib29sZWFuIH0+YFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWluLXdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiAjZDMyZjJmO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogOS4zMzNweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEyLjQ0NHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgJHsoeyAkZmxvYXRpbmcgfSkgPT5cbiAgICAkZmxvYXRpbmdcbiAgICAgID8gY3NzYFxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IC00cHg7XG4gICAgICAgICAgcmlnaHQ6IC04LjVweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDNweDtcbiAgICAgICAgYFxuICAgICAgOiBjc3NgXG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgcGFkZGluZzogMCAzcHg7XG4gICAgICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyVW5yZWFkQW5jaG9yID0gc3R5bGVkLnNwYW5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ1NTaWRlYmFyQ29udmVyc2F0aW9uc0hlYWRpbmdSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxJQUFJQyxHQUFHLEVBQUVDLFNBQVMsUUFBUSxtQkFBbUI7QUFFMUQsSUFBTUMsTUFBTSxHQUFHRCxTQUFTLG9DQU92QjtBQUVELE9BQU8sSUFBTUUsY0FBYyxHQUFHSixNQUFNLENBQUNLLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxxUUFJM0IsVUFBQUMsQ0FBQztFQUFBLE9BQUtBLENBQUMsQ0FBQ0MsT0FBTyxHQUFHLFdBQVcsR0FBRyxHQUFHO0FBQUEsQ0FBQyxFQUN0QyxVQUFBRCxDQUFDO0VBQUEsT0FBS0EsQ0FBQyxDQUFDQyxPQUFPLEdBQUcsT0FBTyxHQUFHLE1BQU07QUFBQSxDQUFDLEVBUTFDLFVBQUFELENBQUM7RUFBQSxPQUNELENBQUNBLENBQUMsQ0FBQ0MsT0FBTyxJQUNWVCxHQUFHLHVEQUdGO0FBQUEsRUFDSjtBQUVELE9BQU8sSUFBTVUsaUJBQWlCLEdBQUdYLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDRGQUt2QixVQUFBQyxDQUFDO0VBQUEsT0FBS0EsQ0FBQyxDQUFDQyxPQUFPLEdBQUcsYUFBYSxHQUFHLFFBQVE7QUFBQSxDQUFDLEVBQzNELFVBQUFELENBQUM7RUFBQSxPQUNELENBQUNBLENBQUMsQ0FBQ0MsT0FBTyxJQUNWVCxHQUFHLHNFQUlGO0FBQUEsR0FDRCxVQUFBUSxDQUFDO0VBQUEsT0FDREEsQ0FBQyxDQUFDQyxPQUFPLElBQ1RULEdBQUcsb0NBRUY7QUFBQSxFQUNKO0FBRUQsT0FBTyxJQUFNVywwQkFBMEIsR0FBR1osTUFBTSxDQUFDSyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK0ZBS25EO0FBRUQsT0FBTyxJQUFNSyxjQUFjLEdBQUdiLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHFHQUtuQixVQUFBQyxDQUFDO0VBQUEsT0FBS0EsQ0FBQyxDQUFDQyxPQUFPLEdBQUcsWUFBWSxHQUFHLFVBQVU7QUFBQSxDQUFDLENBQ2hFO0FBRUQsT0FBTyxJQUFNSSxtQkFBbUIsR0FBR2QsTUFBTSxDQUFDSyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK0ZBTzVDO0FBRUQsT0FBTyxJQUFNTyxxQkFBcUIsR0FBR2YsTUFBTSxDQUFDSyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEscUZBTTlDO0FBRUQsT0FBTyxJQUFNUSx1QkFBdUIsR0FBR2hCLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHNHQVFoRDtBQUVELE9BQU8sSUFBTVMsMkJBQTJCLEdBQUdqQixNQUFNLENBQUNrQixJQUFJLENBQUFaLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNkhBT3JEO0FBRUQsT0FBTyxJQUFNVyx1QkFBdUIsR0FBR25CLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZFQUtoRDtBQUVELE9BQU8sSUFBTVksMEJBQTBCLEdBQUdwQixNQUFNLENBQUNxQixNQUFNLENBQUFmLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsMFNBU3ZDLFVBQUFDLENBQUM7RUFBQSxPQUFLQSxDQUFDLENBQUNhLE9BQU8sR0FBRyxTQUFTLEdBQUcsYUFBYTtBQUFBLENBQUMsQ0FXM0Q7QUFFRCxPQUFPLElBQU1DLHlCQUF5QixHQUFHdkIsTUFBTSxDQUFDa0IsSUFBSSxDQUFBWixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDZGQU1uRDtBQUVELE9BQU8sSUFBTWdCLDRCQUE0QixHQUFHeEIsTUFBTSxDQUFDa0IsSUFBSSxDQUFBWixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDRRQWN0RDtBQUVELE9BQU8sSUFBTWlCLDhCQUE4QixHQUFHekIsTUFBTSxDQUFDa0IsSUFBSSxDQUFBWixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLCtJQVF4RDtBQUVELE9BQU8sSUFBTWtCLHFCQUFxQixHQUFHMUIsTUFBTSxDQUFDSyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsa0lBYTNDLFVBQUFDLENBQUMsRUFBSTtFQUNMLElBQUksQ0FBQ0EsQ0FBQyxDQUFDa0IsU0FBUyxFQUFFLE9BQU9DLFNBQVM7RUFDbEMsSUFBSUMsYUFBYSxHQUFHLEdBQUc7RUFDdkIsSUFBSXBCLENBQUMsQ0FBQ3FCLGNBQWMsS0FBSyxPQUFPLEVBQUU7SUFDaENELGFBQWEsR0FBRyxHQUFHO0VBQ3JCLENBQUMsTUFBTSxJQUFJcEIsQ0FBQyxDQUFDc0Isb0JBQW9CLEtBQUssQ0FBQyxFQUFFO0lBQ3ZDRixhQUFhLEdBQUcsR0FBRztFQUNyQixDQUFDLE1BQU0sSUFBSXBCLENBQUMsQ0FBQ3NCLG9CQUFvQixLQUFLLENBQUMsRUFBRTtJQUN2Q0YsYUFBYSxHQUFHLEdBQUc7RUFDckIsQ0FBQyxNQUFNLElBQUlwQixDQUFDLENBQUNzQixvQkFBb0IsS0FBSyxDQUFDLEVBQUU7SUFDdkNGLGFBQWEsR0FBRyxHQUFHO0VBQ3JCLENBQUMsTUFBTSxJQUFJcEIsQ0FBQyxDQUFDc0Isb0JBQW9CLEtBQUssQ0FBQyxFQUFFO0lBQ3ZDRixhQUFhLEdBQUcsR0FBRztFQUNyQjtFQUNBLE9BQU81QixHQUFHLHVDQUNtQjRCLGFBQWE7QUFFNUMsQ0FBQyxFQUNDLFVBQUFwQixDQUFDO0VBQUEsT0FDRCxDQUFDQSxDQUFDLENBQUNrQixTQUFTLElBQ1oxQixHQUFHLHlCQUVGO0FBQUEsRUFDSjtBQUVELE9BQU8sSUFBTStCLDBCQUEwQixHQUFHaEMsTUFBTSxDQUFDSyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK0hBTXJDTCxNQUFNLENBQ3BCO0FBRUQsT0FBTyxJQUFNOEIsdUJBQXVCLEdBQUdqQyxNQUFNLENBQUNLLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxvREFJaEQ7QUFFRCxPQUFPLElBQU0wQixxQkFBcUIsR0FBR2xDLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHNKQVE5QztBQUVELE9BQU8sSUFBTTJCLDZCQUE2QixHQUFHbkMsTUFBTSxDQUFDSyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK0RBSXREO0FBRUQsT0FBTyxJQUFNNEIsNEJBQTRCLEdBQUdwQyxNQUFNLENBQUNrQixJQUFJLENBQUFaLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK0VBS3REO0FBRUQsT0FBTyxJQUFNNkIscUJBQXFCLEdBQUdyQyxNQUFNLENBQUNLLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxnQ0FHOUM7QUFFRCxPQUFPLElBQU04QixxQkFBcUIsR0FBR3RDLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHlEQUk5QztBQUVELE9BQU8sSUFBTStCLG9CQUFvQixHQUFHdkMsTUFBTSxDQUFDSyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsb0pBUS9CTCxNQUFNLENBQ3BCO0FBRUQsT0FBTyxJQUFNcUMsd0JBQXdCLEdBQUd4QyxNQUFNLENBQUNrQixJQUFJLENBQUFaLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsb0dBTWxEO0FBRUQsT0FBTyxJQUFNaUMscUJBQXFCLEdBQUd6QyxNQUFNLENBQUNLLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrREFJOUM7QUFFRCxPQUFPLElBQU1rQyx1QkFBdUIsR0FBRzFDLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDJFQUc3QixVQUFBQyxDQUFDO0VBQUEsT0FBS0EsQ0FBQyxDQUFDQyxPQUFPLEdBQUcsS0FBSyxHQUFHLFFBQVE7QUFBQSxDQUFDLEVBQ2xDLFVBQUFELENBQUM7RUFBQSxPQUFLQSxDQUFDLENBQUNrQyxlQUFlLEdBQUcsZUFBZSxHQUFHLFVBQVU7QUFBQSxDQUFDLEVBQ3hFLFVBQUFsQyxDQUFDO0VBQUEsT0FDRCxDQUFDQSxDQUFDLENBQUNDLE9BQU8sSUFDVlQsR0FBRyw0Q0FHRjtBQUFBLEVBQ0o7QUFFRCxPQUFPLElBQU0yQyxxQkFBcUIsR0FBRzVDLE1BQU0sQ0FBQ2tCLElBQUksQ0FBQVosVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxvUkFlNUMsVUFBQXFDLElBQUE7RUFBQSxJQUFHQyxTQUFTLEdBQUFELElBQUEsQ0FBVEMsU0FBUztFQUFBLE9BQ1pBLFNBQVMsR0FDTDdDLEdBQUcsK0RBTUhBLEdBQUcsa0NBR0Y7QUFBQSxFQUNSO0FBRUQsT0FBTyxJQUFNOEMsc0JBQXNCLEdBQUcvQyxNQUFNLENBQUNrQixJQUFJLENBQUFaLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEscUVBS2hEO0FBRUQsT0FBTyxJQUFNd0MsaUNBQWlDLEdBQUdoRCxNQUFNLENBQUNLLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxnREFJMUQiLCJpZ25vcmVMaXN0IjpbXX0=
|