@projectcor/maia-components 2.11.109-4 → 2.11.110-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/IconButton.js +2 -2
- package/lib/components/atoms/MAIAInput/MAIAInput.js +204 -88
- package/lib/components/atoms/MAIAInput/styles.js +15 -11
- package/lib/components/atoms/SkillsDropdown/SkillsDropdown.js +208 -0
- package/lib/components/atoms/SkillsDropdown/SkillsDropdown.styles.js +77 -0
- package/lib/components/atoms/SkillsDropdown/index.js +2 -0
- package/lib/components/atoms/icons/PlusIcon.js +29 -0
- package/lib/components/atoms/icons/RetryIcon.js +34 -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/molecules/ChatAIContent/ChatAIContent.js +5 -3
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +135 -380
- package/lib/components/molecules/ChatAIMessages/newStyles.js +18 -50
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +202 -198
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +11 -16
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +8 -26
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +7 -24
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +312 -239
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +128 -104
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +1 -3
- package/lib/components/molecules/MessageFeedback/MessageFeedback.js +14 -2
- package/lib/components/molecules/MessageFeedback/styles.js +2 -6
- package/lib/components/molecules/Sidebar/Sidebar.js +5 -4
- package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -2
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +8 -1
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +338 -185
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +122 -66
- package/lib/components/organisms/ChatAI/ChatAI.js +3 -22
- package/lib/components/organisms/ClientAIButton/ClientAIButton.js +1 -4
- package/lib/components/organisms/ProjectAIButton/ProjectAIButton.js +1 -4
- package/lib/constants/config.js +1 -4
- package/lib/constants/permissions/utils.js +3 -3
- package/lib/context/global-context.js +1 -1
- package/lib/dev/DevChatAI.js +1 -4
- package/lib/hooks/useChatManager/useChatManager.js +401 -146
- package/lib/hooks/useChatMessages/useChatMessages.js +27 -25
- package/lib/hooks/useContextMentions.js +93 -56
- package/lib/hooks/useEntitySearch.js +92 -278
- package/lib/hooks/useMentionAllowedTypes.js +9 -25
- package/lib/hooks/useMentionPopover.js +9 -33
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +80 -6
- package/lib/hooks/useProjectSummaryConfig.js +17 -36
- package/lib/hooks/useSkillsCatalog.js +66 -0
- package/lib/lang/br/index.js +63 -251
- package/lib/lang/en/index.js +63 -251
- package/lib/lang/es/index.js +64 -252
- package/lib/lang/fr/index.js +63 -251
- package/lib/services/maia/Orchestrator/index.js +4 -3
- package/lib/services/maia/Orchestrator/orchestrator.js +84 -23
- package/lib/services/maia/Skills/createSkill.js +1 -1
- package/lib/services/maia/Skills/getSkills.js +70 -40
- package/lib/services/maia/Skills/updateSkill.js +1 -1
- package/lib/services/utils/mapChatMessages.js +26 -25
- package/lib/store/maiaLastChatPersistence.js +35 -0
- package/lib/store/sessions/sessionStreamManager.js +191 -99
- package/lib/store/sessions/sessions.types.js +1 -1
- package/lib/types/Chat.js +1 -1
- package/lib/types/skill.js +1 -1
- package/lib/utils/contextMentionTriggers.js +2 -5
- package/lib/utils/hitlAnalytics.js +3 -4
- package/lib/utils/maiaHostOpen.js +1 -10
- package/lib/utils/renderContextMentions.js +39 -18
- package/lib/utils/retryCompletion.js +85 -0
- package/lib/utils/streamActivityMessages.js +41 -106
- package/package.json +1 -1
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +0 -136
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +0 -73
- package/lib/components/atoms/ReasoningBlock/index.js +0 -2
- package/lib/components/organisms/CloseWhileGeneratingModal/CloseWhileGeneratingModal.js +0 -56
- package/lib/components/organisms/CloseWhileGeneratingModal/CloseWhileGeneratingModal.styles.js +0 -35
- package/lib/components/organisms/CloseWhileGeneratingModal/index.js +0 -2
- package/lib/hooks/useReasoningTrace/index.js +0 -3
- package/lib/hooks/useReasoningTrace/reasoningStore.js +0 -142
- package/lib/hooks/useReasoningTrace/useReasoningTrace.js +0 -14
- package/lib/store/maiaMinimizedPersistence.js +0 -49
- package/lib/types/reasoning.js +0 -2
- package/lib/utils/autoApproveStorage.js +0 -26
- package/lib/utils/reasoningMappers.js +0 -62
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
var KEY_PREFIX = 'maia.autoApprove';
|
|
2
|
-
var storageKey = function storageKey(userId) {
|
|
3
|
-
return userId != null && userId !== '' ? "".concat(KEY_PREFIX, ".").concat(userId) : KEY_PREFIX;
|
|
4
|
-
};
|
|
5
|
-
export var readAutoApprove = function readAutoApprove(userId) {
|
|
6
|
-
if (typeof window === 'undefined') {
|
|
7
|
-
return false;
|
|
8
|
-
}
|
|
9
|
-
try {
|
|
10
|
-
return window.localStorage.getItem(storageKey(userId)) === 'true';
|
|
11
|
-
} catch (_unused) {
|
|
12
|
-
return false;
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
export var writeAutoApprove = function writeAutoApprove(userId, active) {
|
|
16
|
-
if (typeof window === 'undefined') {
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
try {
|
|
20
|
-
window.localStorage.setItem(storageKey(userId), active ? 'true' : 'false');
|
|
21
|
-
return true;
|
|
22
|
-
} catch (_unused2) {
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJLRVlfUFJFRklYIiwic3RvcmFnZUtleSIsInVzZXJJZCIsImNvbmNhdCIsInJlYWRBdXRvQXBwcm92ZSIsIndpbmRvdyIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJfdW51c2VkIiwid3JpdGVBdXRvQXBwcm92ZSIsImFjdGl2ZSIsInNldEl0ZW0iLCJfdW51c2VkMiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hdXRvQXBwcm92ZVN0b3JhZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgS0VZX1BSRUZJWCA9ICdtYWlhLmF1dG9BcHByb3ZlJ1xuXG5jb25zdCBzdG9yYWdlS2V5ID0gKHVzZXJJZD86IG51bWJlciB8IHN0cmluZyB8IG51bGwpOiBzdHJpbmcgPT5cbiAgdXNlcklkICE9IG51bGwgJiYgdXNlcklkICE9PSAnJyA/IGAke0tFWV9QUkVGSVh9LiR7dXNlcklkfWAgOiBLRVlfUFJFRklYXG5cbmV4cG9ydCBjb25zdCByZWFkQXV0b0FwcHJvdmUgPSAodXNlcklkPzogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCk6IGJvb2xlYW4gPT4ge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICB0cnkge1xuICAgIHJldHVybiB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oc3RvcmFnZUtleSh1c2VySWQpKSA9PT0gJ3RydWUnXG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCB3cml0ZUF1dG9BcHByb3ZlID0gKHVzZXJJZDogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgYWN0aXZlOiBib29sZWFuKTogYm9vbGVhbiA9PiB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIHRyeSB7XG4gICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKHN0b3JhZ2VLZXkodXNlcklkKSwgYWN0aXZlID8gJ3RydWUnIDogJ2ZhbHNlJylcbiAgICByZXR1cm4gdHJ1ZVxuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxJQUFNQSxVQUFVLEdBQUcsa0JBQWtCO0FBRXJDLElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFJQyxNQUErQjtFQUFBLE9BQ2pEQSxNQUFNLElBQUksSUFBSSxJQUFJQSxNQUFNLEtBQUssRUFBRSxNQUFBQyxNQUFBLENBQU1ILFVBQVUsT0FBQUcsTUFBQSxDQUFJRCxNQUFNLElBQUtGLFVBQVU7QUFBQTtBQUUxRSxPQUFPLElBQU1JLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBSUYsTUFBK0IsRUFBYztFQUMzRSxJQUFJLE9BQU9HLE1BQU0sS0FBSyxXQUFXLEVBQUU7SUFDakMsT0FBTyxLQUFLO0VBQ2Q7RUFDQSxJQUFJO0lBQ0YsT0FBT0EsTUFBTSxDQUFDQyxZQUFZLENBQUNDLE9BQU8sQ0FBQ04sVUFBVSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxLQUFLLE1BQU07RUFDbkUsQ0FBQyxDQUFDLE9BQUFNLE9BQUEsRUFBTTtJQUNOLE9BQU8sS0FBSztFQUNkO0FBQ0YsQ0FBQztBQUVELE9BQU8sSUFBTUMsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBSVAsTUFBMEMsRUFBRVEsTUFBZSxFQUFjO0VBQ3hHLElBQUksT0FBT0wsTUFBTSxLQUFLLFdBQVcsRUFBRTtJQUNqQyxPQUFPLEtBQUs7RUFDZDtFQUNBLElBQUk7SUFDRkEsTUFBTSxDQUFDQyxZQUFZLENBQUNLLE9BQU8sQ0FBQ1YsVUFBVSxDQUFDQyxNQUFNLENBQUMsRUFBRVEsTUFBTSxHQUFHLE1BQU0sR0FBRyxPQUFPLENBQUM7SUFDMUUsT0FBTyxJQUFJO0VBQ2IsQ0FBQyxDQUFDLE9BQUFFLFFBQUEsRUFBTTtJQUNOLE9BQU8sS0FBSztFQUNkO0FBQ0YsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
-
export var mapReasoningStep = function mapReasoningStep(payload) {
|
|
5
|
-
var _payload$type;
|
|
6
|
-
return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
7
|
-
i: payload.i,
|
|
8
|
-
type: (_payload$type = payload.type) !== null && _payload$type !== void 0 ? _payload$type : 'thinking'
|
|
9
|
-
}, payload.text !== undefined ? {
|
|
10
|
-
text: payload.text
|
|
11
|
-
} : {}), payload.redacted ? {
|
|
12
|
-
redacted: true
|
|
13
|
-
} : {}), payload.truncated ? {
|
|
14
|
-
truncated: true
|
|
15
|
-
} : {}), payload.tool ? {
|
|
16
|
-
tool: payload.tool
|
|
17
|
-
} : {}), payload.to ? {
|
|
18
|
-
to: payload.to
|
|
19
|
-
} : {}), payload.args ? {
|
|
20
|
-
args: payload.args
|
|
21
|
-
} : {}), payload.status ? {
|
|
22
|
-
status: payload.status
|
|
23
|
-
} : {}), payload.result_preview ? {
|
|
24
|
-
resultPreview: payload.result_preview
|
|
25
|
-
} : {});
|
|
26
|
-
};
|
|
27
|
-
export var mapReasoningSummary = function mapReasoningSummary(payload) {
|
|
28
|
-
var _payload$step_count, _payload$tool_count;
|
|
29
|
-
if (!payload) return null;
|
|
30
|
-
return _objectSpread(_objectSpread({
|
|
31
|
-
stepCount: (_payload$step_count = payload.step_count) !== null && _payload$step_count !== void 0 ? _payload$step_count : 0,
|
|
32
|
-
toolCount: (_payload$tool_count = payload.tool_count) !== null && _payload$tool_count !== void 0 ? _payload$tool_count : 0
|
|
33
|
-
}, payload.duration_ms !== undefined ? {
|
|
34
|
-
durationMs: payload.duration_ms
|
|
35
|
-
} : {}), payload.truncated ? {
|
|
36
|
-
truncated: true
|
|
37
|
-
} : {});
|
|
38
|
-
};
|
|
39
|
-
export var deriveReasoningSummary = function deriveReasoningSummary(steps) {
|
|
40
|
-
return {
|
|
41
|
-
stepCount: steps.length,
|
|
42
|
-
toolCount: steps.filter(function (step) {
|
|
43
|
-
return step.type !== 'thinking' && step.type !== 'narration';
|
|
44
|
-
}).length
|
|
45
|
-
};
|
|
46
|
-
};
|
|
47
|
-
export var mapReasoningTrace = function mapReasoningTrace(payload) {
|
|
48
|
-
var _payload$steps, _mapReasoningSummary;
|
|
49
|
-
if (!(payload !== null && payload !== void 0 && (_payload$steps = payload.steps) !== null && _payload$steps !== void 0 && _payload$steps.length)) return null;
|
|
50
|
-
var steps = payload.steps.map(mapReasoningStep);
|
|
51
|
-
return {
|
|
52
|
-
steps: steps,
|
|
53
|
-
summary: (_mapReasoningSummary = mapReasoningSummary(payload.summary)) !== null && _mapReasoningSummary !== void 0 ? _mapReasoningSummary : deriveReasoningSummary(steps)
|
|
54
|
-
};
|
|
55
|
-
};
|
|
56
|
-
export var buildReasoningTrace = function buildReasoningTrace(steps, summary) {
|
|
57
|
-
return steps.length ? {
|
|
58
|
-
steps: steps,
|
|
59
|
-
summary: summary !== null && summary !== void 0 ? summary : deriveReasoningSummary(steps)
|
|
60
|
-
} : null;
|
|
61
|
-
};
|
|
62
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtYXBSZWFzb25pbmdTdGVwIiwicGF5bG9hZCIsIl9wYXlsb2FkJHR5cGUiLCJfb2JqZWN0U3ByZWFkIiwiaSIsInR5cGUiLCJ0ZXh0IiwidW5kZWZpbmVkIiwicmVkYWN0ZWQiLCJ0cnVuY2F0ZWQiLCJ0b29sIiwidG8iLCJhcmdzIiwic3RhdHVzIiwicmVzdWx0X3ByZXZpZXciLCJyZXN1bHRQcmV2aWV3IiwibWFwUmVhc29uaW5nU3VtbWFyeSIsIl9wYXlsb2FkJHN0ZXBfY291bnQiLCJfcGF5bG9hZCR0b29sX2NvdW50Iiwic3RlcENvdW50Iiwic3RlcF9jb3VudCIsInRvb2xDb3VudCIsInRvb2xfY291bnQiLCJkdXJhdGlvbl9tcyIsImR1cmF0aW9uTXMiLCJkZXJpdmVSZWFzb25pbmdTdW1tYXJ5Iiwic3RlcHMiLCJsZW5ndGgiLCJmaWx0ZXIiLCJzdGVwIiwibWFwUmVhc29uaW5nVHJhY2UiLCJfcGF5bG9hZCRzdGVwcyIsIl9tYXBSZWFzb25pbmdTdW1tYXJ5IiwibWFwIiwic3VtbWFyeSIsImJ1aWxkUmVhc29uaW5nVHJhY2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvcmVhc29uaW5nTWFwcGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIFJlYXNvbmluZ1N0ZXAsXG4gIFJlYXNvbmluZ1N1bW1hcnksXG4gIFJlYXNvbmluZ1N1bW1hcnlQYXlsb2FkLFxuICBSZWFzb25pbmdTdGVwUGF5bG9hZCxcbiAgUmVhc29uaW5nVHJhY2UsXG4gIFJlYXNvbmluZ1RyYWNlUGF5bG9hZCxcbn0gZnJvbSAnLi4vdHlwZXMvcmVhc29uaW5nJ1xuXG5leHBvcnQgY29uc3QgbWFwUmVhc29uaW5nU3RlcCA9IChwYXlsb2FkOiBSZWFzb25pbmdTdGVwUGF5bG9hZCk6IFJlYXNvbmluZ1N0ZXAgPT4gKHtcbiAgaTogcGF5bG9hZC5pLFxuICB0eXBlOiBwYXlsb2FkLnR5cGUgPz8gJ3RoaW5raW5nJyxcbiAgLi4uKHBheWxvYWQudGV4dCAhPT0gdW5kZWZpbmVkID8geyB0ZXh0OiBwYXlsb2FkLnRleHQgfSA6IHt9KSxcbiAgLi4uKHBheWxvYWQucmVkYWN0ZWQgPyB7IHJlZGFjdGVkOiB0cnVlIH0gOiB7fSksXG4gIC4uLihwYXlsb2FkLnRydW5jYXRlZCA/IHsgdHJ1bmNhdGVkOiB0cnVlIH0gOiB7fSksXG4gIC4uLihwYXlsb2FkLnRvb2wgPyB7IHRvb2w6IHBheWxvYWQudG9vbCB9IDoge30pLFxuICAuLi4ocGF5bG9hZC50byA/IHsgdG86IHBheWxvYWQudG8gfSA6IHt9KSxcbiAgLi4uKHBheWxvYWQuYXJncyA/IHsgYXJnczogcGF5bG9hZC5hcmdzIH0gOiB7fSksXG4gIC4uLihwYXlsb2FkLnN0YXR1cyA/IHsgc3RhdHVzOiBwYXlsb2FkLnN0YXR1cyB9IDoge30pLFxuICAuLi4ocGF5bG9hZC5yZXN1bHRfcHJldmlldyA/IHsgcmVzdWx0UHJldmlldzogcGF5bG9hZC5yZXN1bHRfcHJldmlldyB9IDoge30pLFxufSlcblxuZXhwb3J0IGNvbnN0IG1hcFJlYXNvbmluZ1N1bW1hcnkgPSAocGF5bG9hZDogUmVhc29uaW5nU3VtbWFyeVBheWxvYWQgfCBudWxsIHwgdW5kZWZpbmVkKTogUmVhc29uaW5nU3VtbWFyeSB8IG51bGwgPT4ge1xuICBpZiAoIXBheWxvYWQpIHJldHVybiBudWxsXG4gIHJldHVybiB7XG4gICAgc3RlcENvdW50OiBwYXlsb2FkLnN0ZXBfY291bnQgPz8gMCxcbiAgICB0b29sQ291bnQ6IHBheWxvYWQudG9vbF9jb3VudCA/PyAwLFxuICAgIC4uLihwYXlsb2FkLmR1cmF0aW9uX21zICE9PSB1bmRlZmluZWQgPyB7IGR1cmF0aW9uTXM6IHBheWxvYWQuZHVyYXRpb25fbXMgfSA6IHt9KSxcbiAgICAuLi4ocGF5bG9hZC50cnVuY2F0ZWQgPyB7IHRydW5jYXRlZDogdHJ1ZSB9IDoge30pLFxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBkZXJpdmVSZWFzb25pbmdTdW1tYXJ5ID0gKHN0ZXBzOiBSZWFzb25pbmdTdGVwW10pOiBSZWFzb25pbmdTdW1tYXJ5ID0+ICh7XG4gIHN0ZXBDb3VudDogc3RlcHMubGVuZ3RoLFxuICB0b29sQ291bnQ6IHN0ZXBzLmZpbHRlcihzdGVwID0+IHN0ZXAudHlwZSAhPT0gJ3RoaW5raW5nJyAmJiBzdGVwLnR5cGUgIT09ICduYXJyYXRpb24nKS5sZW5ndGgsXG59KVxuXG5leHBvcnQgY29uc3QgbWFwUmVhc29uaW5nVHJhY2UgPSAocGF5bG9hZDogUmVhc29uaW5nVHJhY2VQYXlsb2FkIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFJlYXNvbmluZ1RyYWNlIHwgbnVsbCA9PiB7XG4gIGlmICghcGF5bG9hZD8uc3RlcHM/Lmxlbmd0aCkgcmV0dXJuIG51bGxcbiAgY29uc3Qgc3RlcHMgPSBwYXlsb2FkLnN0ZXBzLm1hcChtYXBSZWFzb25pbmdTdGVwKVxuICByZXR1cm4geyBzdGVwcywgc3VtbWFyeTogbWFwUmVhc29uaW5nU3VtbWFyeShwYXlsb2FkLnN1bW1hcnkpID8/IGRlcml2ZVJlYXNvbmluZ1N1bW1hcnkoc3RlcHMpIH1cbn1cblxuZXhwb3J0IGNvbnN0IGJ1aWxkUmVhc29uaW5nVHJhY2UgPSAoXG4gIHN0ZXBzOiBSZWFzb25pbmdTdGVwW10sXG4gIHN1bW1hcnk/OiBSZWFzb25pbmdTdW1tYXJ5IHwgbnVsbFxuKTogUmVhc29uaW5nVHJhY2UgfCBudWxsID0+IChzdGVwcy5sZW5ndGggPyB7IHN0ZXBzLCBzdW1tYXJ5OiBzdW1tYXJ5ID8/IGRlcml2ZVJlYXNvbmluZ1N1bW1hcnkoc3RlcHMpIH0gOiBudWxsKVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFTQSxPQUFPLElBQU1BLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUlDLE9BQTZCO0VBQUEsSUFBQUMsYUFBQTtFQUFBLE9BQUFDLGFBQUEsQ0FBQUEsYUFBQSxDQUFBQSxhQUFBLENBQUFBLGFBQUEsQ0FBQUEsYUFBQSxDQUFBQSxhQUFBLENBQUFBLGFBQUEsQ0FBQUEsYUFBQTtJQUM1REMsQ0FBQyxF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
|