@projectcor/maia-components 2.11.14 → 2.11.15-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/ApprovalBox/ApprovalBox.js +128 -86
- package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +41 -21
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +9 -1
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +82 -2
- package/lib/components/molecules/ChatAIMarketplace/ChatAIMarketplace.js +255 -0
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +24 -26
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +11 -2
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +10 -5
- package/lib/components/molecules/ChatAIModal/constants.js +6 -2
- package/lib/components/molecules/Sidebar/Sidebar.js +143 -14
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +10 -1
- package/lib/hooks/useChatManager/useChatManager.js +89 -56
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +10 -6
- package/lib/lang/br/index.js +68 -4
- package/lib/lang/en/index.js +67 -2
- package/lib/lang/es/index.js +67 -2
- package/lib/lang/fr/index.js +3 -1
- package/lib/services/maia/Orchestrator/orchestrator.js +22 -16
- package/lib/types/agent.js +1 -1
- package/lib/types/global.d.js +1 -1
- package/package.json +1 -1
|
@@ -39,7 +39,26 @@ export var ChatAIHome = function ChatAIHome(_ref) {
|
|
|
39
39
|
var summaryProjectAccess = typeof window !== 'undefined' && (String(window.MAIA_PROJECT_SUMMARY_FEATURE_ACCESS).toLowerCase() === 'true' || String(window.maiaProjectSummaryAccess).toLowerCase() === 'true');
|
|
40
40
|
var faqsAccess = true;
|
|
41
41
|
var showProjectSummary = !!(isMAIA && summaryProjectAccess);
|
|
42
|
-
var
|
|
42
|
+
var isMaiaker = (agent === null || agent === void 0 ? void 0 : agent.entity) === 'global' && /maiaker/i.test((agent === null || agent === void 0 ? void 0 : agent.name) || '');
|
|
43
|
+
var showFAQs = !!(isMAIA && faqsAccess && !isMaiaker);
|
|
44
|
+
var maiakerTemplates = useMemo(function () {
|
|
45
|
+
return [{
|
|
46
|
+
id: 'branding-online',
|
|
47
|
+
title: t('homeMenu.maiaker.templates.branding.title'),
|
|
48
|
+
description: t('homeMenu.maiaker.templates.branding.description'),
|
|
49
|
+
prompt: 'Quiero crear un especialista en branding de marketing online.'
|
|
50
|
+
}, {
|
|
51
|
+
id: 'linkedin-seo',
|
|
52
|
+
title: t('homeMenu.maiaker.templates.linkedin.title'),
|
|
53
|
+
description: t('homeMenu.maiaker.templates.linkedin.description'),
|
|
54
|
+
prompt: 'Quiero crear un especialista en SEO para LinkedIn.'
|
|
55
|
+
}, {
|
|
56
|
+
id: 'performance-marketing',
|
|
57
|
+
title: t('homeMenu.maiaker.templates.marketing.title'),
|
|
58
|
+
description: t('homeMenu.maiaker.templates.marketing.description'),
|
|
59
|
+
prompt: 'Quiero crear un especialista en estrategia de marketing digital y performance.'
|
|
60
|
+
}];
|
|
61
|
+
}, [t]);
|
|
43
62
|
|
|
44
63
|
// Lógica del scroll con gradientes
|
|
45
64
|
var contentContainerRef = useRef(null);
|
|
@@ -211,6 +230,67 @@ export var ChatAIHome = function ChatAIHome(_ref) {
|
|
|
211
230
|
agentId: agent === null || agent === void 0 ? void 0 : agent.id,
|
|
212
231
|
lang: lang,
|
|
213
232
|
isScrolling: isScrolling
|
|
233
|
+
}), isMaiaker && /*#__PURE__*/_jsxs("div", {
|
|
234
|
+
style: {
|
|
235
|
+
display: 'flex',
|
|
236
|
+
flexDirection: 'column',
|
|
237
|
+
gap: '12px',
|
|
238
|
+
width: '100%',
|
|
239
|
+
maxWidth: '720px'
|
|
240
|
+
},
|
|
241
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
242
|
+
style: {
|
|
243
|
+
display: 'flex',
|
|
244
|
+
flexDirection: 'column',
|
|
245
|
+
gap: '4px'
|
|
246
|
+
},
|
|
247
|
+
children: [/*#__PURE__*/_jsx("strong", {
|
|
248
|
+
style: {
|
|
249
|
+
fontSize: '18px',
|
|
250
|
+
color: '#20201f'
|
|
251
|
+
},
|
|
252
|
+
children: t('homeMenu.maiaker.title')
|
|
253
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
254
|
+
style: {
|
|
255
|
+
fontSize: '14px',
|
|
256
|
+
color: '#666666',
|
|
257
|
+
lineHeight: '140%'
|
|
258
|
+
},
|
|
259
|
+
children: t('homeMenu.maiaker.description')
|
|
260
|
+
})]
|
|
261
|
+
}), maiakerTemplates.map(function (template) {
|
|
262
|
+
return /*#__PURE__*/_jsxs("button", {
|
|
263
|
+
type: "button",
|
|
264
|
+
onClick: function onClick() {
|
|
265
|
+
return onStartChat(template.prompt);
|
|
266
|
+
},
|
|
267
|
+
style: {
|
|
268
|
+
border: '1px solid #ececec',
|
|
269
|
+
background: '#ffffff',
|
|
270
|
+
borderRadius: '14px',
|
|
271
|
+
padding: '16px',
|
|
272
|
+
textAlign: 'left',
|
|
273
|
+
cursor: 'pointer',
|
|
274
|
+
display: 'flex',
|
|
275
|
+
flexDirection: 'column',
|
|
276
|
+
gap: '6px'
|
|
277
|
+
},
|
|
278
|
+
children: [/*#__PURE__*/_jsx("strong", {
|
|
279
|
+
style: {
|
|
280
|
+
fontSize: '15px',
|
|
281
|
+
color: '#20201f'
|
|
282
|
+
},
|
|
283
|
+
children: template.title
|
|
284
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
285
|
+
style: {
|
|
286
|
+
fontSize: '14px',
|
|
287
|
+
color: '#666666',
|
|
288
|
+
lineHeight: '145%'
|
|
289
|
+
},
|
|
290
|
+
children: template.description
|
|
291
|
+
})]
|
|
292
|
+
}, template.id);
|
|
293
|
+
})]
|
|
214
294
|
})]
|
|
215
295
|
}), showFAQs && /*#__PURE__*/_jsx(SCCAIHomeGradientBottom, {
|
|
216
296
|
$show: showBottomGradient
|
|
@@ -218,4 +298,4 @@ export var ChatAIHome = function ChatAIHome(_ref) {
|
|
|
218
298
|
})
|
|
219
299
|
});
|
|
220
300
|
};
|
|
221
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRlbXBsYXRlIiwiVG9vbHRpcCIsInVzZVQiLCJ1c2VVc2VyIiwiR0xPQkFMX0NPTE9SUyIsIlNDQ0FJSG9tZUNvbnRhaW5lciIsIlNDQ0FJSG9tZUNvbnRlbnQiLCJTQ0NBSUhvbWVDb250ZW50SW5uZXIiLCJTQ0NBSUhvbWVHcmFkaWVudFRvcCIsIlNDQ0FJSG9tZUdyYWRpZW50Qm90dG9tIiwiU0NDQUlIb21lSGVhZGVyIiwiU0NDQUlIb21lR3JlZXRpbmciLCJTQ0NBSUhvbWVBZ2VudEluZm9Db250YWluZXIiLCJTQ0NBSUhvbWVBZ2VudEluZm8iLCJTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeSIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5Q29udGVudCIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5VGl0bGUiLCJTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeURlc2NyaXB0aW9uIiwiU0NDQUhXcmFwcGVyU3VtbWFyeVByb2plY3QiLCJTQ0NBSUhvbWVJbnRyb2R1Y3Rpb24iLCJTQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXIiLCJTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0IiwiU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dE5hbWUiLCJTQ0NBSUhvbWVFbXB0eUNvbnRhaW5lciIsIlNDQ0FJSG9tZUVtcHR5VGV4dENvbnRhaW5lciIsIlNDQ0FJSG9tZUVtcHR5RGVzY3JpcHRpb24iLCJTQ0NBSUhvbWVFbXB0eUJ1dHRvbiIsIlNDQ0FJSG9tZUljb25Db250YWluZXIiLCJTQ0NBSUhvbWVHcmFkaWVudDEiLCJTQ0NBSUhvbWVHcmFkaWVudDIiLCJTQ0NBSUhvbWVMb2dvV3JhcHBlciIsInVzZUdsb2JhbENvbnRleHQiLCJ2YWxpZGF0ZUlzTWFpYSIsIkZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyIsIkVtcHR5U3RhdGVBZ2VudHMiLCJFVkVOVFMiLCJ1c2VFdmVudCIsIk1BSUFJc29sb2dvIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyZXF1ZW50UXVlc3Rpb25zIiwiQ2hhdEFJSG9tZSIsIl9yZWYiLCJoYW5kbGVycyIsIm9uU3RhcnRDaGF0IiwiZXhwYW5kZWQiLCJoYXNOb0FnZW50cyIsIl91c2VUIiwidCIsImkxOG4iLCJfdXNlR2xvYmFsQ29udGV4dCIsImFnZW50Iiwic2VjdGlvbiIsInVzZXIiLCJldmVudCIsImlzTUFJQSIsImxhbmciLCJsYW5ndWFnZSIsInN1bW1hcnlQcm9qZWN0QWNjZXNzIiwid2luZG93IiwiU3RyaW5nIiwiTUFJQV9QUk9KRUNUX1NVTU1BUllfRkVBVFVSRV9BQ0NFU1MiLCJ0b0xvd2VyQ2FzZSIsIm1haWFQcm9qZWN0U3VtbWFyeUFjY2VzcyIsImZhcXNBY2Nlc3MiLCJzaG93UHJvamVjdFN1bW1hcnkiLCJzaG93RkFRcyIsImNvbnRlbnRDb250YWluZXJSZWYiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzaG93VG9wR3JhZGllbnQiLCJzZXRTaG93VG9wR3JhZGllbnQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInNob3dCb3R0b21HcmFkaWVudCIsInNldFNob3dCb3R0b21HcmFkaWVudCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiaXNTY3JvbGxpbmciLCJzZXRJc1Njcm9sbGluZyIsInNjcm9sbFRpbWVvdXRSZWYiLCJncmVldGluZyIsImludHJvIiwiaW50cm9kdWN0aW9uIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwiaWQiLCJjaGVja1Njcm9sbCIsImNvbnRhaW5lciIsImN1cnJlbnQiLCJzY3JvbGxUb3AiLCJzY3JvbGxIZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJpc1Njcm9sbGFibGUiLCJpc0F0VG9wIiwiaXNBdEJvdHRvbSIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJ1bmRlZmluZWQiLCJhZGRFdmVudExpc3RlbmVyIiwidGltZW91dElkIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIl91c2VyJHBlcm1pc3Npb25zIiwiX3VzZXIkcGVybWlzc2lvbnMyIiwiY2hpbGRyZW4iLCJwZXJtaXNzaW9ucyIsImFpX2FnZW50cyIsImNyZWF0ZSIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJvbkNsaWNrIiwib3Blbk1vZGFsIiwib3B0aW9uIiwiZG9jdW1lbnQiLCJkaXNwYXRjaEV2ZW50IiwiQ3VzdG9tRXZlbnQiLCJkZXRhaWwiLCJhZ2VudFZhbHVlcyIsImlzT3BlbiIsInJlbmRlckhlYWRlckNvbnRlbnQiLCJfYWdlbnQkY3JlYXRlZF9ieSIsIl9hZ2VudCRjcmVhdGVkX2J5MiIsImVtb2ppIiwibmFtZSIsImNyZWF0ZWRfYnkiLCJ0aXRsZSIsImlzX2RlbGV0ZWQiLCJzdHlsZSIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYWxpZ25JdGVtcyIsImdhcCIsInJlZiIsIiRpc0FnZW50VmlldyIsIiRzaG93IiwiJGdhcCIsIiRtYXhXaWR0aCIsImVudGl0eSIsInByb2plY3RTdW1tYXJ5IiwiY29sb3IiLCJwcmltYXJ5IiwiaGVpZ2h0Iiwid2lkdGgiLCJhZ2VudElkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSUhvbWUvQ2hhdEFJSG9tZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvZnVuY3Rpb24tY29tcG9uZW50LWRlZmluaXRpb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAqL1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9UZW1wbGF0ZSdcblxuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcblxuaW1wb3J0IHsgR0xPQkFMX0NPTE9SUyB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb25maWcnXG5cbmltcG9ydCB7IG9wdGlvbnMgfSBmcm9tICcuLi9DaGF0QUlNb2RhbC9jb25zdGFudHMnXG5cbmltcG9ydCB7XG4gIFNDQ0FJSG9tZUNvbnRhaW5lcixcbiAgU0NDQUlIb21lQ29udGVudCxcbiAgU0NDQUlIb21lQ29udGVudElubmVyLFxuICBTQ0NBSUhvbWVHcmFkaWVudFRvcCxcbiAgU0NDQUlIb21lR3JhZGllbnRCb3R0b20sXG4gIFNDQ0FJSG9tZUhlYWRlcixcbiAgU0NDQUlIb21lR3JlZXRpbmcsXG4gIFNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lcixcbiAgU0NDQUlIb21lQWdlbnRJbmZvLFxuICBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeSxcbiAgU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50LFxuICBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeVRpdGxlLFxuICBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeURlc2NyaXB0aW9uLFxuICBTQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdCxcbiAgU0NDQUlIb21lSW50cm9kdWN0aW9uLFxuICBTQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXIsXG4gIFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHQsXG4gIFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHROYW1lLFxuICBTQ0NBSUhvbWVFbXB0eUNvbnRhaW5lcixcbiAgU0NDQUlIb21lRW1wdHlUZXh0Q29udGFpbmVyLFxuICBTQ0NBSUhvbWVFbXB0eURlc2NyaXB0aW9uLFxuICBTQ0NBSUhvbWVFbXB0eUJ1dHRvbixcbiAgU0NDQUlIb21lSWNvbkNvbnRhaW5lcixcbiAgU0NDQUlIb21lR3JhZGllbnQxLFxuICBTQ0NBSUhvbWVHcmFkaWVudDIsXG4gIFNDQ0FJSG9tZUxvZ29XcmFwcGVyLFxufSBmcm9tICcuL3N0eWxlcydcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdmFsaWRhdGVJc01haWEgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy92YWxpZGF0ZUlzTWFpYSdcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uL0NoYXRGb290ZXIvQ2hhdEZvb3RlcidcbmltcG9ydCB7IEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyB9IGZyb20gJy4uLy4uL2F0b21zL0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucydcbmltcG9ydCB7IEVtcHR5U3RhdGVBZ2VudHMgfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucy9FbXB0eVN0YXRlQWdlbnRzJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgTUFJQUlzb2xvZ28gfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucy9NQUlBSXNvbG9nbydcblxudHlwZSBDaGF0QUlIb21lUHJvcHMgPSB7XG4gIG9uU3RhcnRDaGF0OiAobWVzc2FnZTogc3RyaW5nLCBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10gfCBudWxsLCBmYXFJZD86IHN0cmluZykgPT4gdm9pZFxuICBoYW5kbGVyczogUmVjb3JkPG9wdGlvbnMsICgpID0+IHZvaWQ+XG4gIGV4cGFuZGVkPzogYm9vbGVhblxuICBoYXNOb0FnZW50cz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGVudW0gRnJlcXVlbnRRdWVzdGlvbnMge1xuICByZW50YWJpbGlkYWRfcHJveWVjdG8gPSAncmVudGFiaWxpZGFkX3Byb3llY3RvJyxcbiAgYXZhbmNlX3Byb3llY3RvID0gJ2F2YW5jZV9wcm95ZWN0bycsXG59XG5cbmV4cG9ydCBjb25zdCBDaGF0QUlIb21lID0gKHsgaGFuZGxlcnMsIG9uU3RhcnRDaGF0LCBleHBhbmRlZCwgaGFzTm9BZ2VudHMgfTogQ2hhdEFJSG9tZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCwgaTE4biB9ID0gdXNlVCgpXG4gIGNvbnN0IHsgYWdlbnQsIHNlY3Rpb24gfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGV2ZW50ID0gdXNlRXZlbnQoKVxuXG4gIGNvbnN0IGlzTUFJQSA9IHZhbGlkYXRlSXNNYWlhKGFnZW50IGFzIEFnZW50KVxuICBjb25zdCBsYW5nID0gaTE4bi5sYW5ndWFnZSA9PT0gJ2JyJyA/ICdwdCcgOiBpMThuLmxhbmd1YWdlXG5cbiAgY29uc3Qgc3VtbWFyeVByb2plY3RBY2Nlc3MgPVxuICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmXG4gICAgKFN0cmluZyh3aW5kb3cuTUFJQV9QUk9KRUNUX1NVTU1BUllfRkVBVFVSRV9BQ0NFU1MpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyB8fFxuICAgICAgU3RyaW5nKHdpbmRvdy5tYWlhUHJvamVjdFN1bW1hcnlBY2Nlc3MpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJylcbiAgY29uc3QgZmFxc0FjY2VzcyA9IHRydWVcbiAgY29uc3Qgc2hvd1Byb2plY3RTdW1tYXJ5ID0gISEoaXNNQUlBICYmIHN1bW1hcnlQcm9qZWN0QWNjZXNzKVxuICBjb25zdCBzaG93RkFRcyA9ICEhKGlzTUFJQSAmJiBmYXFzQWNjZXNzKVxuXG4gIC8vIEzDs2dpY2EgZGVsIHNjcm9sbCBjb24gZ3JhZGllbnRlc1xuICBjb25zdCBjb250ZW50Q29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBbc2hvd1RvcEdyYWRpZW50LCBzZXRTaG93VG9wR3JhZGllbnRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtzaG93Qm90dG9tR3JhZGllbnQsIHNldFNob3dCb3R0b21HcmFkaWVudF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2lzU2Nyb2xsaW5nLCBzZXRJc1Njcm9sbGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3Qgc2Nyb2xsVGltZW91dFJlZiA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGw+KG51bGwpXG5cbiAgLy8gU2FsdWRvIGFsZWF0b3JpbyBkZXNkZSBhZ2VudC5pbnRyb2R1Y3Rpb24gKGFycmF5IGNvbiAzIHZhcmlhbnRlcyBkZWwgYmFjaylcbiAgY29uc3QgZ3JlZXRpbmcgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBpbnRybyA9IGFnZW50Py5pbnRyb2R1Y3Rpb25cbiAgICBpZiAoIWludHJvKSByZXR1cm4gJydcbiAgICBpZiAoQXJyYXkuaXNBcnJheShpbnRybykgJiYgaW50cm8ubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGludHJvW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGludHJvLmxlbmd0aCldXG4gICAgfVxuICAgIHJldHVybiB0eXBlb2YgaW50cm8gPT09ICdzdHJpbmcnID8gaW50cm8gOiAnJ1xuICB9LCBbYWdlbnQ/LmlkLCBhZ2VudD8uaW50cm9kdWN0aW9uLCBzZWN0aW9uXSlcblxuICBjb25zdCBjaGVja1Njcm9sbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBjb250YWluZXIgPSBjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnRcbiAgICBpZiAoIWNvbnRhaW5lciB8fCAhc2hvd0ZBUXMpIHJldHVyblxuXG4gICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBjb250YWluZXJcbiAgICBjb25zdCBpc1Njcm9sbGFibGUgPSBzY3JvbGxIZWlnaHQgPiBjbGllbnRIZWlnaHRcbiAgICBjb25zdCBpc0F0VG9wID0gc2Nyb2xsVG9wID09PSAwXG4gICAgY29uc3QgaXNBdEJvdHRvbSA9IHNjcm9sbFRvcCArIGNsaWVudEhlaWdodCA+PSBzY3JvbGxIZWlnaHQgLSAxXG5cbiAgICBzZXRTaG93VG9wR3JhZGllbnQoaXNTY3JvbGxhYmxlICYmICFpc0F0VG9wKVxuICAgIHNldFNob3dCb3R0b21HcmFkaWVudChpc1Njcm9sbGFibGUgJiYgIWlzQXRCb3R0b20pXG4gICAgc2V0SXNTY3JvbGxpbmcodHJ1ZSlcblxuICAgIGlmIChzY3JvbGxUaW1lb3V0UmVmLmN1cnJlbnQpIHtcbiAgICAgIGNsZWFyVGltZW91dChzY3JvbGxUaW1lb3V0UmVmLmN1cnJlbnQpXG4gICAgfVxuXG4gICAgc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBzZXRJc1Njcm9sbGluZyhmYWxzZSlcbiAgICB9LCAxNTApXG4gIH0sIFtzaG93RkFRc10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXNob3dGQVFzKSB7XG4gICAgICBzZXRTaG93VG9wR3JhZGllbnQoZmFsc2UpXG4gICAgICBzZXRTaG93Qm90dG9tR3JhZGllbnQoZmFsc2UpXG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY29uc3QgY29udGFpbmVyID0gY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjaGVja1Njcm9sbCgpXG4gICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGNoZWNrU2Nyb2xsKVxuXG4gICAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dChjaGVja1Njcm9sbCwgMTAwKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBjaGVja1Njcm9sbClcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpXG4gICAgICBpZiAoc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50KSB7XG4gICAgICAgIGNsZWFyVGltZW91dChzY3JvbGxUaW1lb3V0UmVmLmN1cnJlbnQpXG4gICAgICB9XG4gICAgfVxuICB9LCBbc2hvd0ZBUXMsIGNoZWNrU2Nyb2xsXSlcblxuICBpZiAoaGFzTm9BZ2VudHMpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJSG9tZUNvbnRhaW5lcj5cbiAgICAgICAgPFNDQ0FJSG9tZUNvbnRlbnQ+XG4gICAgICAgICAgPFNDQ0FJSG9tZUVtcHR5Q29udGFpbmVyPlxuICAgICAgICAgICAgPEVtcHR5U3RhdGVBZ2VudHMgLz5cbiAgICAgICAgICAgIDxTQ0NBSUhvbWVFbXB0eVRleHRDb250YWluZXI+XG4gICAgICAgICAgICAgIDxTQ0NBSUhvbWVHcmVldGluZz57dCgnaG9tZU1lbnUubm9BZ2VudHMudGl0bGUnKX08L1NDQ0FJSG9tZUdyZWV0aW5nPlxuICAgICAgICAgICAgICA8U0NDQUlIb21lRW1wdHlEZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICB7dXNlci5wZXJtaXNzaW9ucz8uYWlfYWdlbnRzPy5jcmVhdGVcbiAgICAgICAgICAgICAgICAgID8gdCgnaG9tZU1lbnUubm9BZ2VudHMuZGVzY3JpcHRpb25DcmVhdGUnKVxuICAgICAgICAgICAgICAgICAgOiB0KCdob21lTWVudS5ub0FnZW50cy5kZXNjcmlwdGlvbicpfVxuICAgICAgICAgICAgICA8L1NDQ0FJSG9tZUVtcHR5RGVzY3JpcHRpb24+XG4gICAgICAgICAgICA8L1NDQ0FJSG9tZUVtcHR5VGV4dENvbnRhaW5lcj5cbiAgICAgICAgICAgIHt1c2VyLnBlcm1pc3Npb25zPy5haV9hZ2VudHM/LmNyZWF0ZSAmJiB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyAmJiAoXG4gICAgICAgICAgICAgIDxTQ0NBSUhvbWVFbXB0eUJ1dHRvblxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgIGV2ZW50KEVWRU5UUy5vcGVuTW9kYWwsIHsgb3B0aW9uOiAnbmV3X2FnZW50JyB9KVxuICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KCdhYm0tYWdlbnQtbW9kYWwtc2V0LXZhbHVlcycsIHtcbiAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFnZW50VmFsdWVzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3QoJ2hvbWVNZW51Lm5vQWdlbnRzLmNyZWF0ZUFnZW50Jyl9XG4gICAgICAgICAgICAgIDwvU0NDQUlIb21lRW1wdHlCdXR0b24+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvU0NDQUlIb21lRW1wdHlDb250YWluZXI+XG4gICAgICAgIDwvU0NDQUlIb21lQ29udGVudD5cbiAgICAgIDwvU0NDQUlIb21lQ29udGFpbmVyPlxuICAgIClcbiAgfVxuXG4gIGNvbnN0IHJlbmRlckhlYWRlckNvbnRlbnQgPSAoKSA9PiB7XG4gICAgaWYgKCFpc01BSUEpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTQ0NBSUhvbWVBZ2VudEluZm9Db250YWluZXI+XG4gICAgICAgICAgPFNDQ0FJSG9tZUFnZW50SW5mbz5cbiAgICAgICAgICAgIHthZ2VudD8uZW1vaml9IHthZ2VudD8ubmFtZX1cbiAgICAgICAgICA8L1NDQ0FJSG9tZUFnZW50SW5mbz5cbiAgICAgICAgICB7YWdlbnQ/LmNyZWF0ZWRfYnkgJiYgIWlzTUFJQSAmJiAoXG4gICAgICAgICAgICA8U0NDQUlIb21lQ3JlYXRlZEJ5Q29udGFpbmVyPlxuICAgICAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgICAgIHRpdGxlPXtcbiAgICAgICAgICAgICAgICAgIGFnZW50Py5jcmVhdGVkX2J5Py5pc19kZWxldGVkID8gdCgnaG9tZU1lbnUuY3JlYXRlZEJ5VG9vbHRpcERlbGV0ZWQnKSA6IHQoJ2hvbWVNZW51LmNyZWF0ZWRCeVRvb2x0aXAnKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0PlxuICAgICAgICAgICAgICAgICAge3QoJ2hvbWVNZW51LmNyZWF0ZWRCeScpfXsnICd9XG4gICAgICAgICAgICAgICAgICA8U0NDQUlIb21lQ3JlYXRlZEJ5VGV4dE5hbWU+e2FnZW50Py5jcmVhdGVkX2J5Py5uYW1lfTwvU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dE5hbWU+XG4gICAgICAgICAgICAgICAgPC9TQ0NBSUhvbWVDcmVhdGVkQnlUZXh0PlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICA8L1NDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lcj5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lcj5cbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAnOHB4JyB9fT5cbiAgICAgICAgPFNDQ0FJSG9tZUljb25Db250YWluZXI+XG4gICAgICAgICAgPFNDQ0FJSG9tZUdyYWRpZW50MSAvPlxuICAgICAgICAgIDxTQ0NBSUhvbWVHcmFkaWVudDIgLz5cbiAgICAgICAgICA8U0NDQUlIb21lTG9nb1dyYXBwZXI+XG4gICAgICAgICAgICA8TUFJQUlzb2xvZ28gLz5cbiAgICAgICAgICA8L1NDQ0FJSG9tZUxvZ29XcmFwcGVyPlxuICAgICAgICA8L1NDQ0FJSG9tZUljb25Db250YWluZXI+XG4gICAgICAgIDxTQ0NBSUhvbWVHcmVldGluZz57Z3JlZXRpbmd9PC9TQ0NBSUhvbWVHcmVldGluZz5cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJSG9tZUNvbnRhaW5lciBzaG93RkFRcz17c2hvd0ZBUXN9PlxuICAgICAgPFNDQ0FJSG9tZUNvbnRlbnQgcmVmPXtjb250ZW50Q29udGFpbmVyUmVmfSBzaG93RkFRcz17c2hvd0ZBUXN9ICRpc0FnZW50Vmlldz17IWlzTUFJQX0+XG4gICAgICAgIHtzaG93RkFRcyAmJiA8U0NDQUlIb21lR3JhZGllbnRUb3AgJHNob3c9e3Nob3dUb3BHcmFkaWVudH0gLz59XG4gICAgICAgIDxTQ0NBSUhvbWVDb250ZW50SW5uZXIgc2hvd0ZBUXM9e3Nob3dGQVFzfSAkaXNBZ2VudFZpZXc9eyFpc01BSUF9PlxuICAgICAgICAgIDxTQ0NBSUhvbWVIZWFkZXJcbiAgICAgICAgICAgICRnYXA9e2lzTUFJQSAmJiBzZWN0aW9uICE9PSAncHJvamVjdCcgPyAnOHB4JyA6ICcyMHB4J31cbiAgICAgICAgICAgICRtYXhXaWR0aD17aXNNQUlBID8gJzEwMCUnIDogJzM4MHB4J31cbiAgICAgICAgICAgICRpc0FnZW50Vmlldz17IWlzTUFJQX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7cmVuZGVySGVhZGVyQ29udGVudCgpfVxuXG4gICAgICAgICAgICB7c2VjdGlvbiAhPT0gJ3Byb2plY3QnICYmIChcbiAgICAgICAgICAgICAgPFNDQ0FJSG9tZUludHJvZHVjdGlvbiBleHBhbmRlZD17ZXhwYW5kZWR9PnshaXNNQUlBICYmIGFnZW50Py5pbnRyb2R1Y3Rpb259PC9TQ0NBSUhvbWVJbnRyb2R1Y3Rpb24+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvU0NDQUlIb21lSGVhZGVyPlxuICAgICAgICAgIHtzaG93UHJvamVjdFN1bW1hcnkgJiYgYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnICYmIChcbiAgICAgICAgICAgIDxTQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdCBvbkNsaWNrPXtoYW5kbGVycy5wcm9qZWN0U3VtbWFyeX0+XG4gICAgICAgICAgICAgIDxTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeT5cbiAgICAgICAgICAgICAgICA8VGVtcGxhdGUgY29sb3I9e0dMT0JBTF9DT0xPUlMucHJpbWFyeX0gaGVpZ2h0PXsyNH0gd2lkdGg9ezI0fSAvPlxuICAgICAgICAgICAgICA8L1NDQ0FJSG9tZVByb2plY3RTdW1tYXJ5PlxuICAgICAgICAgICAgICA8U0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50PlxuICAgICAgICAgICAgICAgIDxTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeVRpdGxlPnt0KCdob21lTWVudS5wcm9qZWN0U3VtbWFyeS50aXRsZScpfTwvU0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZT5cbiAgICAgICAgICAgICAgICA8U0NDQUlIb21lUHJvamVjdFN1bW1hcnlEZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgIHt0KCdob21lTWVudS5wcm9qZWN0U3VtbWFyeS5kZXNjcmlwdGlvbicpfVxuICAgICAgICAgICAgICAgIDwvU0NDQUlIb21lUHJvamVjdFN1bW1hcnlEZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgPC9TQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeUNvbnRlbnQ+XG4gICAgICAgICAgICA8L1NDQ0FIV3JhcHBlclN1bW1hcnlQcm9qZWN0PlxuICAgICAgICAgICl9XG4gICAgICAgICAge3Nob3dGQVFzICYmIChcbiAgICAgICAgICAgIDxGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNcbiAgICAgICAgICAgICAgb25TdGFydENoYXQ9e29uU3RhcnRDaGF0fVxuICAgICAgICAgICAgICBzaG93RkFRcz17c2hvd0ZBUXN9XG4gICAgICAgICAgICAgIHNob3dQcm9qZWN0U3VtbWFyeT17c2hvd1Byb2plY3RTdW1tYXJ5fVxuICAgICAgICAgICAgICBhZ2VudElkPXthZ2VudD8uaWR9XG4gICAgICAgICAgICAgIGxhbmc9e2xhbmd9XG4gICAgICAgICAgICAgIGlzU2Nyb2xsaW5nPXtpc1Njcm9sbGluZ31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TQ0NBSUhvbWVDb250ZW50SW5uZXI+XG4gICAgICAgIHtzaG93RkFRcyAmJiA8U0NDQUlIb21lR3JhZGllbnRCb3R0b20gJHNob3c9e3Nob3dCb3R0b21HcmFkaWVudH0gLz59XG4gICAgICA8L1NDQ0FJSG9tZUNvbnRlbnQ+XG4gICAgPC9TQ0NBSUhvbWVDb250YWluZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLFNBQVMsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxRQUFRLE9BQU87QUFDekUsU0FBU0MsUUFBUSxRQUFRLDJDQUEyQztBQUVwRSxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLElBQUksUUFBUSxxQkFBcUI7QUFDMUMsU0FBU0MsT0FBTyxRQUFRLDJCQUEyQjtBQUVuRCxTQUFTQyxhQUFhLFFBQVEsd0JBQXdCO0FBSXRELFNBQ0VDLGtCQUFrQixFQUNsQkMsZ0JBQWdCLEVBQ2hCQyxxQkFBcUIsRUFDckJDLG9CQUFvQixFQUNwQkMsdUJBQXVCLEVBQ3ZCQyxlQUFlLEVBQ2ZDLGlCQUFpQixFQUNq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
|
|
301
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRlbXBsYXRlIiwiVG9vbHRpcCIsInVzZVQiLCJ1c2VVc2VyIiwiR0xPQkFMX0NPTE9SUyIsIlNDQ0FJSG9tZUNvbnRhaW5lciIsIlNDQ0FJSG9tZUNvbnRlbnQiLCJTQ0NBSUhvbWVDb250ZW50SW5uZXIiLCJTQ0NBSUhvbWVHcmFkaWVudFRvcCIsIlNDQ0FJSG9tZUdyYWRpZW50Qm90dG9tIiwiU0NDQUlIb21lSGVhZGVyIiwiU0NDQUlIb21lR3JlZXRpbmciLCJTQ0NBSUhvbWVBZ2VudEluZm9Db250YWluZXIiLCJTQ0NBSUhvbWVBZ2VudEluZm8iLCJTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeSIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5Q29udGVudCIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5VGl0bGUiLCJTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeURlc2NyaXB0aW9uIiwiU0NDQUhXcmFwcGVyU3VtbWFyeVByb2plY3QiLCJTQ0NBSUhvbWVJbnRyb2R1Y3Rpb24iLCJTQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXIiLCJTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0IiwiU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dE5hbWUiLCJTQ0NBSUhvbWVFbXB0eUNvbnRhaW5lciIsIlNDQ0FJSG9tZUVtcHR5VGV4dENvbnRhaW5lciIsIlNDQ0FJSG9tZUVtcHR5RGVzY3JpcHRpb24iLCJTQ0NBSUhvbWVFbXB0eUJ1dHRvbiIsIlNDQ0FJSG9tZUljb25Db250YWluZXIiLCJTQ0NBSUhvbWVHcmFkaWVudDEiLCJTQ0NBSUhvbWVHcmFkaWVudDIiLCJTQ0NBSUhvbWVMb2dvV3JhcHBlciIsInVzZUdsb2JhbENvbnRleHQiLCJ2YWxpZGF0ZUlzTWFpYSIsIkZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyIsIkVtcHR5U3RhdGVBZ2VudHMiLCJFVkVOVFMiLCJ1c2VFdmVudCIsIk1BSUFJc29sb2dvIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyZXF1ZW50UXVlc3Rpb25zIiwiQ2hhdEFJSG9tZSIsIl9yZWYiLCJoYW5kbGVycyIsIm9uU3RhcnRDaGF0IiwiZXhwYW5kZWQiLCJoYXNOb0FnZW50cyIsIl91c2VUIiwidCIsImkxOG4iLCJfdXNlR2xvYmFsQ29udGV4dCIsImFnZW50Iiwic2VjdGlvbiIsInVzZXIiLCJldmVudCIsImlzTUFJQSIsImxhbmciLCJsYW5ndWFnZSIsInN1bW1hcnlQcm9qZWN0QWNjZXNzIiwid2luZG93IiwiU3RyaW5nIiwiTUFJQV9QUk9KRUNUX1NVTU1BUllfRkVBVFVSRV9BQ0NFU1MiLCJ0b0xvd2VyQ2FzZSIsIm1haWFQcm9qZWN0U3VtbWFyeUFjY2VzcyIsImZhcXNBY2Nlc3MiLCJzaG93UHJvamVjdFN1bW1hcnkiLCJpc01haWFrZXIiLCJlbnRpdHkiLCJ0ZXN0IiwibmFtZSIsInNob3dGQVFzIiwibWFpYWtlclRlbXBsYXRlcyIsImlkIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsInByb21wdCIsImNvbnRlbnRDb250YWluZXJSZWYiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzaG93VG9wR3JhZGllbnQiLCJzZXRTaG93VG9wR3JhZGllbnQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInNob3dCb3R0b21HcmFkaWVudCIsInNldFNob3dCb3R0b21HcmFkaWVudCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiaXNTY3JvbGxpbmciLCJzZXRJc1Njcm9sbGluZyIsInNjcm9sbFRpbWVvdXRSZWYiLCJncmVldGluZyIsImludHJvIiwiaW50cm9kdWN0aW9uIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwiY2hlY2tTY3JvbGwiLCJjb250YWluZXIiLCJjdXJyZW50Iiwic2Nyb2xsVG9wIiwic2Nyb2xsSGVpZ2h0IiwiY2xpZW50SGVpZ2h0IiwiaXNTY3JvbGxhYmxlIiwiaXNBdFRvcCIsImlzQXRCb3R0b20iLCJjbGVhclRpbWVvdXQiLCJzZXRUaW1lb3V0IiwidW5kZWZpbmVkIiwiYWRkRXZlbnRMaXN0ZW5lciIsInRpbWVvdXRJZCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJfdXNlciRwZXJtaXNzaW9ucyIsIl91c2VyJHBlcm1pc3Npb25zMiIsImNoaWxkcmVuIiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJjcmVhdGUiLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwib25DbGljayIsIm9wZW5Nb2RhbCIsIm9wdGlvbiIsImRvY3VtZW50IiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwiYWdlbnRWYWx1ZXMiLCJpc09wZW4iLCJyZW5kZXJIZWFkZXJDb250ZW50IiwiX2FnZW50JGNyZWF0ZWRfYnkiLCJfYWdlbnQkY3JlYXRlZF9ieTIiLCJlbW9qaSIsImNyZWF0ZWRfYnkiLCJpc19kZWxldGVkIiwic3R5bGUiLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImFsaWduSXRlbXMiLCJnYXAiLCJyZWYiLCIkaXNBZ2VudFZpZXciLCIkc2hvdyIsIiRnYXAiLCIkbWF4V2lkdGgiLCJwcm9qZWN0U3VtbWFyeSIsImNvbG9yIiwicHJpbWFyeSIsImhlaWdodCIsIndpZHRoIiwiYWdlbnRJZCIsIm1heFdpZHRoIiwiZm9udFNpemUiLCJsaW5lSGVpZ2h0IiwibWFwIiwidGVtcGxhdGUiLCJ0eXBlIiwiYm9yZGVyIiwiYmFja2dyb3VuZCIsImJvcmRlclJhZGl1cyIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iLCJjdXJzb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJSG9tZS9DaGF0QUlIb21lLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9mdW5jdGlvbi1jb21wb25lbnQtZGVmaW5pdGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvbm8tc3RhdGljLWVsZW1lbnQtaW50ZXJhY3Rpb25zICovXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1RlbXBsYXRlJ1xuXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVCdcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuXG5pbXBvcnQgeyBHTE9CQUxfQ09MT1JTIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL2NvbmZpZydcblxuaW1wb3J0IHsgb3B0aW9ucyB9IGZyb20gJy4uL0NoYXRBSU1vZGFsL2NvbnN0YW50cydcblxuaW1wb3J0IHtcbiAgU0NDQUlIb21lQ29udGFpbmVyLFxuICBTQ0NBSUhvbWVDb250ZW50LFxuICBTQ0NBSUhvbWVDb250ZW50SW5uZXIsXG4gIFNDQ0FJSG9tZUdyYWRpZW50VG9wLFxuICBTQ0NBSUhvbWVHcmFkaWVudEJvdHRvbSxcbiAgU0NDQUlIb21lSGVhZGVyLFxuICBTQ0NBSUhvbWVHcmVldGluZyxcbiAgU0NDQUlIb21lQWdlbnRJbmZvQ29udGFpbmVyLFxuICBTQ0NBSUhvbWVBZ2VudEluZm8sXG4gIFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5LFxuICBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeUNvbnRlbnQsXG4gIFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5VGl0bGUsXG4gIFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24sXG4gIFNDQ0FIV3JhcHBlclN1bW1hcnlQcm9qZWN0LFxuICBTQ0NBSUhvbWVJbnRyb2R1Y3Rpb24sXG4gIFNDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lcixcbiAgU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dCxcbiAgU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dE5hbWUsXG4gIFNDQ0FJSG9tZUVtcHR5Q29udGFpbmVyLFxuICBTQ0NBSUhvbWVFbXB0eVRleHRDb250YWluZXIsXG4gIFNDQ0FJSG9tZUVtcHR5RGVzY3JpcHRpb24sXG4gIFNDQ0FJSG9tZUVtcHR5QnV0dG9uLFxuICBTQ0NBSUhvbWVJY29uQ29udGFpbmVyLFxuICBTQ0NBSUhvbWVHcmFkaWVudDEsXG4gIFNDQ0FJSG9tZUdyYWRpZW50MixcbiAgU0NDQUlIb21lTG9nb1dyYXBwZXIsXG59IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB2YWxpZGF0ZUlzTWFpYSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IEF0dGFjaG1lbnRGaWxlIH0gZnJvbSAnLi4vQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIH0gZnJvbSAnLi4vLi4vYXRvbXMvRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zJ1xuaW1wb3J0IHsgRW1wdHlTdGF0ZUFnZW50cyB9IGZyb20gJy4uLy4uL2F0b21zL2ljb25zL0VtcHR5U3RhdGVBZ2VudHMnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyBNQUlBSXNvbG9nbyB9IGZyb20gJy4uLy4uL2F0b21zL2ljb25zL01BSUFJc29sb2dvJ1xuXG50eXBlIENoYXRBSUhvbWVQcm9wcyA9IHtcbiAgb25TdGFydENoYXQ6IChtZXNzYWdlOiBzdHJpbmcsIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSB8IG51bGwsIGZhcUlkPzogc3RyaW5nKSA9PiB2b2lkXG4gIGhhbmRsZXJzOiBSZWNvcmQ8b3B0aW9ucywgKCkgPT4gdm9pZD5cbiAgZXhwYW5kZWQ/OiBib29sZWFuXG4gIGhhc05vQWdlbnRzPzogYm9vbGVhblxufVxuXG5leHBvcnQgZW51bSBGcmVxdWVudFF1ZXN0aW9ucyB7XG4gIHJlbnRhYmlsaWRhZF9wcm95ZWN0byA9ICdyZW50YWJpbGlkYWRfcHJveWVjdG8nLFxuICBhdmFuY2VfcHJveWVjdG8gPSAnYXZhbmNlX3Byb3llY3RvJyxcbn1cblxuZXhwb3J0IGNvbnN0IENoYXRBSUhvbWUgPSAoeyBoYW5kbGVycywgb25TdGFydENoYXQsIGV4cGFuZGVkLCBoYXNOb0FnZW50cyB9OiBDaGF0QUlIb21lUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0LCBpMThuIH0gPSB1c2VUKClcbiAgY29uc3QgeyBhZ2VudCwgc2VjdGlvbiB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgZXZlbnQgPSB1c2VFdmVudCgpXG5cbiAgY29uc3QgaXNNQUlBID0gdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpXG4gIGNvbnN0IGxhbmcgPSBpMThuLmxhbmd1YWdlID09PSAnYnInID8gJ3B0JyA6IGkxOG4ubGFuZ3VhZ2VcblxuICBjb25zdCBzdW1tYXJ5UHJvamVjdEFjY2VzcyA9XG4gICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAoU3RyaW5nKHdpbmRvdy5NQUlBX1BST0pFQ1RfU1VNTUFSWV9GRUFUVVJFX0FDQ0VTUykudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnIHx8XG4gICAgICBTdHJpbmcod2luZG93Lm1haWFQcm9qZWN0U3VtbWFyeUFjY2VzcykudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnKVxuICBjb25zdCBmYXFzQWNjZXNzID0gdHJ1ZVxuICBjb25zdCBzaG93UHJvamVjdFN1bW1hcnkgPSAhIShpc01BSUEgJiYgc3VtbWFyeVByb2plY3RBY2Nlc3MpXG4gIGNvbnN0IGlzTWFpYWtlciA9IGFnZW50Py5lbnRpdHkgPT09ICdnbG9iYWwnICYmIC9tYWlha2VyL2kudGVzdChhZ2VudD8ubmFtZSB8fCAnJylcbiAgY29uc3Qgc2hvd0ZBUXMgPSAhIShpc01BSUEgJiYgZmFxc0FjY2VzcyAmJiAhaXNNYWlha2VyKVxuXG4gIGNvbnN0IG1haWFrZXJUZW1wbGF0ZXMgPSB1c2VNZW1vKFxuICAgICgpID0+IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdicmFuZGluZy1vbmxpbmUnLFxuICAgICAgICB0aXRsZTogdCgnaG9tZU1lbnUubWFpYWtlci50ZW1wbGF0ZXMuYnJhbmRpbmcudGl0bGUnKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHQoJ2hvbWVNZW51Lm1haWFrZXIudGVtcGxhdGVzLmJyYW5kaW5nLmRlc2NyaXB0aW9uJyksXG4gICAgICAgIHByb21wdDogJ1F1aWVybyBjcmVhciB1biBlc3BlY2lhbGlzdGEgZW4gYnJhbmRpbmcgZGUgbWFya2V0aW5nIG9ubGluZS4nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdsaW5rZWRpbi1zZW8nLFxuICAgICAgICB0aXRsZTogdCgnaG9tZU1lbnUubWFpYWtlci50ZW1wbGF0ZXMubGlua2VkaW4udGl0bGUnKSxcbiAgICAgICAgZGVzY3JpcHRpb246IHQoJ2hvbWVNZW51Lm1haWFrZXIudGVtcGxhdGVzLmxpbmtlZGluLmRlc2NyaXB0aW9uJyksXG4gICAgICAgIHByb21wdDogJ1F1aWVybyBjcmVhciB1biBlc3BlY2lhbGlzdGEgZW4gU0VPIHBhcmEgTGlua2VkSW4uJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAncGVyZm9ybWFuY2UtbWFya2V0aW5nJyxcbiAgICAgICAgdGl0bGU6IHQoJ2hvbWVNZW51Lm1haWFrZXIudGVtcGxhdGVzLm1hcmtldGluZy50aXRsZScpLFxuICAgICAgICBkZXNjcmlwdGlvbjogdCgnaG9tZU1lbnUubWFpYWtlci50ZW1wbGF0ZXMubWFya2V0aW5nLmRlc2NyaXB0aW9uJyksXG4gICAgICAgIHByb21wdDogJ1F1aWVybyBjcmVhciB1biBlc3BlY2lhbGlzdGEgZW4gZXN0cmF0ZWdpYSBkZSBtYXJrZXRpbmcgZGlnaXRhbCB5IHBlcmZvcm1hbmNlLicsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW3RdXG4gIClcblxuICAvLyBMw7NnaWNhIGRlbCBzY3JvbGwgY29uIGdyYWRpZW50ZXNcbiAgY29uc3QgY29udGVudENvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgW3Nob3dUb3BHcmFkaWVudCwgc2V0U2hvd1RvcEdyYWRpZW50XSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2hvd0JvdHRvbUdyYWRpZW50LCBzZXRTaG93Qm90dG9tR3JhZGllbnRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtpc1Njcm9sbGluZywgc2V0SXNTY3JvbGxpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHNjcm9sbFRpbWVvdXRSZWYgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsPihudWxsKVxuXG4gIC8vIFNhbHVkbyBhbGVhdG9yaW8gZGVzZGUgYWdlbnQuaW50cm9kdWN0aW9uIChhcnJheSBjb24gMyB2YXJpYW50ZXMgZGVsIGJhY2spXG4gIGNvbnN0IGdyZWV0aW5nID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgaW50cm8gPSBhZ2VudD8uaW50cm9kdWN0aW9uXG4gICAgaWYgKCFpbnRybykgcmV0dXJuICcnXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaW50cm8pICYmIGludHJvLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBpbnRyb1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBpbnRyby5sZW5ndGgpXVxuICAgIH1cbiAgICByZXR1cm4gdHlwZW9mIGludHJvID09PSAnc3RyaW5nJyA/IGludHJvIDogJydcbiAgfSwgW2FnZW50Py5pZCwgYWdlbnQ/LmludHJvZHVjdGlvbiwgc2VjdGlvbl0pXG5cbiAgY29uc3QgY2hlY2tTY3JvbGwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyID0gY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgaWYgKCFjb250YWluZXIgfHwgIXNob3dGQVFzKSByZXR1cm5cblxuICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gY29udGFpbmVyXG4gICAgY29uc3QgaXNTY3JvbGxhYmxlID0gc2Nyb2xsSGVpZ2h0ID4gY2xpZW50SGVpZ2h0XG4gICAgY29uc3QgaXNBdFRvcCA9IHNjcm9sbFRvcCA9PT0gMFxuICAgIGNvbnN0IGlzQXRCb3R0b20gPSBzY3JvbGxUb3AgKyBjbGllbnRIZWlnaHQgPj0gc2Nyb2xsSGVpZ2h0IC0gMVxuXG4gICAgc2V0U2hvd1RvcEdyYWRpZW50KGlzU2Nyb2xsYWJsZSAmJiAhaXNBdFRvcClcbiAgICBzZXRTaG93Qm90dG9tR3JhZGllbnQoaXNTY3JvbGxhYmxlICYmICFpc0F0Qm90dG9tKVxuICAgIHNldElzU2Nyb2xsaW5nKHRydWUpXG5cbiAgICBpZiAoc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50KSB7XG4gICAgICBjbGVhclRpbWVvdXQoc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50KVxuICAgIH1cblxuICAgIHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc2V0SXNTY3JvbGxpbmcoZmFsc2UpXG4gICAgfSwgMTUwKVxuICB9LCBbc2hvd0ZBUXNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFzaG93RkFRcykge1xuICAgICAgc2V0U2hvd1RvcEdyYWRpZW50KGZhbHNlKVxuICAgICAgc2V0U2hvd0JvdHRvbUdyYWRpZW50KGZhbHNlKVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudFxuICAgIGlmICghY29udGFpbmVyKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY2hlY2tTY3JvbGwoKVxuICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBjaGVja1Njcm9sbClcblxuICAgIGNvbnN0IHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoY2hlY2tTY3JvbGwsIDEwMClcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgY2hlY2tTY3JvbGwpXG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKVxuICAgICAgaWYgKHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudCkge1xuICAgICAgICBjbGVhclRpbWVvdXQoc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50KVxuICAgICAgfVxuICAgIH1cbiAgfSwgW3Nob3dGQVFzLCBjaGVja1Njcm9sbF0pXG5cbiAgaWYgKGhhc05vQWdlbnRzKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSUhvbWVDb250YWluZXI+XG4gICAgICAgIDxTQ0NBSUhvbWVDb250ZW50PlxuICAgICAgICAgIDxTQ0NBSUhvbWVFbXB0eUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxFbXB0eVN0YXRlQWdlbnRzIC8+XG4gICAgICAgICAgICA8U0NDQUlIb21lRW1wdHlUZXh0Q29udGFpbmVyPlxuICAgICAgICAgICAgICA8U0NDQUlIb21lR3JlZXRpbmc+e3QoJ2hvbWVNZW51Lm5vQWdlbnRzLnRpdGxlJyl9PC9TQ0NBSUhvbWVHcmVldGluZz5cbiAgICAgICAgICAgICAgPFNDQ0FJSG9tZUVtcHR5RGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAge3VzZXIucGVybWlzc2lvbnM/LmFpX2FnZW50cz8uY3JlYXRlXG4gICAgICAgICAgICAgICAgICA/IHQoJ2hvbWVNZW51Lm5vQWdlbnRzLmRlc2NyaXB0aW9uQ3JlYXRlJylcbiAgICAgICAgICAgICAgICAgIDogdCgnaG9tZU1lbnUubm9BZ2VudHMuZGVzY3JpcHRpb24nKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSUhvbWVFbXB0eURlc2NyaXB0aW9uPlxuICAgICAgICAgICAgPC9TQ0NBSUhvbWVFbXB0eVRleHRDb250YWluZXI+XG4gICAgICAgICAgICB7dXNlci5wZXJtaXNzaW9ucz8uYWlfYWdlbnRzPy5jcmVhdGUgJiYgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgJiYgKFxuICAgICAgICAgICAgICA8U0NDQUlIb21lRW1wdHlCdXR0b25cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBldmVudChFVkVOVFMub3Blbk1vZGFsLCB7IG9wdGlvbjogJ25ld19hZ2VudCcgfSlcbiAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudCgnYWJtLWFnZW50LW1vZGFsLXNldC12YWx1ZXMnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZ2VudFZhbHVlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBpc09wZW46IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0KCdob21lTWVudS5ub0FnZW50cy5jcmVhdGVBZ2VudCcpfVxuICAgICAgICAgICAgICA8L1NDQ0FJSG9tZUVtcHR5QnV0dG9uPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1NDQ0FJSG9tZUVtcHR5Q29udGFpbmVyPlxuICAgICAgICA8L1NDQ0FJSG9tZUNvbnRlbnQ+XG4gICAgICA8L1NDQ0FJSG9tZUNvbnRhaW5lcj5cbiAgICApXG4gIH1cblxuICBjb25zdCByZW5kZXJIZWFkZXJDb250ZW50ID0gKCkgPT4ge1xuICAgIGlmICghaXNNQUlBKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U0NDQUlIb21lQWdlbnRJbmZvQ29udGFpbmVyPlxuICAgICAgICAgIDxTQ0NBSUhvbWVBZ2VudEluZm8+XG4gICAgICAgICAgICB7YWdlbnQ/LmVtb2ppfSB7YWdlbnQ/Lm5hbWV9XG4gICAgICAgICAgPC9TQ0NBSUhvbWVBZ2VudEluZm8+XG4gICAgICAgICAge2FnZW50Py5jcmVhdGVkX2J5ICYmICFpc01BSUEgJiYgKFxuICAgICAgICAgICAgPFNDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgICAgICB0aXRsZT17XG4gICAgICAgICAgICAgICAgICBhZ2VudD8uY3JlYXRlZF9ieT8uaXNfZGVsZXRlZCA/IHQoJ2hvbWVNZW51LmNyZWF0ZWRCeVRvb2x0aXBEZWxldGVkJykgOiB0KCdob21lTWVudS5jcmVhdGVkQnlUb29sdGlwJylcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8U0NDQUlIb21lQ3JlYXRlZEJ5VGV4dD5cbiAgICAgICAgICAgICAgICAgIHt0KCdob21lTWVudS5jcmVhdGVkQnknKX17JyAnfVxuICAgICAgICAgICAgICAgICAgPFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHROYW1lPnthZ2VudD8uY3JlYXRlZF9ieT8ubmFtZX08L1NDQ0FJSG9tZUNyZWF0ZWRCeVRleHROYW1lPlxuICAgICAgICAgICAgICAgIDwvU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dD5cbiAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgPC9TQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXI+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TQ0NBSUhvbWVBZ2VudEluZm9Db250YWluZXI+XG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJzhweCcgfX0+XG4gICAgICAgIDxTQ0NBSUhvbWVJY29uQ29udGFpbmVyPlxuICAgICAgICAgIDxTQ0NBSUhvbWVHcmFkaWVudDEgLz5cbiAgICAgICAgICA8U0NDQUlIb21lR3JhZGllbnQyIC8+XG4gICAgICAgICAgPFNDQ0FJSG9tZUxvZ29XcmFwcGVyPlxuICAgICAgICAgICAgPE1BSUFJc29sb2dvIC8+XG4gICAgICAgICAgPC9TQ0NBSUhvbWVMb2dvV3JhcHBlcj5cbiAgICAgICAgPC9TQ0NBSUhvbWVJY29uQ29udGFpbmVyPlxuICAgICAgICA8U0NDQUlIb21lR3JlZXRpbmc+e2dyZWV0aW5nfTwvU0NDQUlIb21lR3JlZXRpbmc+XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0NBSUhvbWVDb250YWluZXIgc2hvd0ZBUXM9e3Nob3dGQVFzfT5cbiAgICAgIDxTQ0NBSUhvbWVDb250ZW50IHJlZj17Y29udGVudENvbnRhaW5lclJlZn0gc2hvd0ZBUXM9e3Nob3dGQVFzfSAkaXNBZ2VudFZpZXc9eyFpc01BSUF9PlxuICAgICAgICB7c2hvd0ZBUXMgJiYgPFNDQ0FJSG9tZUdyYWRpZW50VG9wICRzaG93PXtzaG93VG9wR3JhZGllbnR9IC8+fVxuICAgICAgICA8U0NDQUlIb21lQ29udGVudElubmVyIHNob3dGQVFzPXtzaG93RkFRc30gJGlzQWdlbnRWaWV3PXshaXNNQUlBfT5cbiAgICAgICAgICA8U0NDQUlIb21lSGVhZGVyXG4gICAgICAgICAgICAkZ2FwPXtpc01BSUEgJiYgc2VjdGlvbiAhPT0gJ3Byb2plY3QnID8gJzhweCcgOiAnMjBweCd9XG4gICAgICAgICAgICAkbWF4V2lkdGg9e2lzTUFJQSA/ICcxMDAlJyA6ICczODBweCd9XG4gICAgICAgICAgICAkaXNBZ2VudFZpZXc9eyFpc01BSUF9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3JlbmRlckhlYWRlckNvbnRlbnQoKX1cblxuICAgICAgICAgICAge3NlY3Rpb24gIT09ICdwcm9qZWN0JyAmJiAoXG4gICAgICAgICAgICAgIDxTQ0NBSUhvbWVJbnRyb2R1Y3Rpb24gZXhwYW5kZWQ9e2V4cGFuZGVkfT57IWlzTUFJQSAmJiBhZ2VudD8uaW50cm9kdWN0aW9ufTwvU0NDQUlIb21lSW50cm9kdWN0aW9uPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1NDQ0FJSG9tZUhlYWRlcj5cbiAgICAgICAgICB7c2hvd1Byb2plY3RTdW1tYXJ5ICYmIGFnZW50Py5lbnRpdHkgPT09ICdwcm9qZWN0JyAmJiAoXG4gICAgICAgICAgICA8U0NDQUhXcmFwcGVyU3VtbWFyeVByb2plY3Qgb25DbGljaz17aGFuZGxlcnMucHJvamVjdFN1bW1hcnl9PlxuICAgICAgICAgICAgICA8U0NDQUlIb21lUHJvamVjdFN1bW1hcnk+XG4gICAgICAgICAgICAgICAgPFRlbXBsYXRlIGNvbG9yPXtHTE9CQUxfQ09MT1JTLnByaW1hcnl9IGhlaWdodD17MjR9IHdpZHRoPXsyNH0gLz5cbiAgICAgICAgICAgICAgPC9TQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeT5cbiAgICAgICAgICAgICAgPFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5Q29udGVudD5cbiAgICAgICAgICAgICAgICA8U0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZT57dCgnaG9tZU1lbnUucHJvamVjdFN1bW1hcnkudGl0bGUnKX08L1NDQ0FJSG9tZVByb2plY3RTdW1tYXJ5VGl0bGU+XG4gICAgICAgICAgICAgICAgPFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICB7dCgnaG9tZU1lbnUucHJvamVjdFN1bW1hcnkuZGVzY3JpcHRpb24nKX1cbiAgICAgICAgICAgICAgICA8L1NDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgIDwvU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50PlxuICAgICAgICAgICAgPC9TQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdD5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtzaG93RkFRcyAmJiAoXG4gICAgICAgICAgICA8RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zXG4gICAgICAgICAgICAgIG9uU3RhcnRDaGF0PXtvblN0YXJ0Q2hhdH1cbiAgICAgICAgICAgICAgc2hvd0ZBUXM9e3Nob3dGQVFzfVxuICAgICAgICAgICAgICBzaG93UHJvamVjdFN1bW1hcnk9e3Nob3dQcm9qZWN0U3VtbWFyeX1cbiAgICAgICAgICAgICAgYWdlbnRJZD17YWdlbnQ/LmlkfVxuICAgICAgICAgICAgICBsYW5nPXtsYW5nfVxuICAgICAgICAgICAgICBpc1Njcm9sbGluZz17aXNTY3JvbGxpbmd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAge2lzTWFpYWtlciAmJiAoXG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsIGdhcDogJzEycHgnLCB3aWR0aDogJzEwMCUnLCBtYXhXaWR0aDogJzcyMHB4JyB9fT5cbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBnYXA6ICc0cHgnIH19PlxuICAgICAgICAgICAgICAgIDxzdHJvbmcgc3R5bGU9e3sgZm9udFNpemU6ICcxOHB4JywgY29sb3I6ICcjMjAyMDFmJyB9fT57dCgnaG9tZU1lbnUubWFpYWtlci50aXRsZScpfTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGZvbnRTaXplOiAnMTRweCcsIGNvbG9yOiAnIzY2NjY2NicsIGxpbmVIZWlnaHQ6ICcxNDAlJyB9fT5cbiAgICAgICAgICAgICAgICAgIHt0KCdob21lTWVudS5tYWlha2VyLmRlc2NyaXB0aW9uJyl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAge21haWFrZXJUZW1wbGF0ZXMubWFwKHRlbXBsYXRlID0+IChcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICBrZXk9e3RlbXBsYXRlLmlkfVxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvblN0YXJ0Q2hhdCh0ZW1wbGF0ZS5wcm9tcHQpfVxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICNlY2VjZWMnLFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2ZmZmZmZicsXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzE0cHgnLFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAnMTZweCcsXG4gICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogJ2xlZnQnLFxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAnNnB4JyxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPHN0cm9uZyBzdHlsZT17eyBmb250U2l6ZTogJzE1cHgnLCBjb2xvcjogJyMyMDIwMWYnIH19Pnt0ZW1wbGF0ZS50aXRsZX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGZvbnRTaXplOiAnMTRweCcsIGNvbG9yOiAnIzY2NjY2NicsIGxpbmVIZWlnaHQ6ICcxNDUlJyB9fT57dGVtcGxhdGUuZGVzY3JpcHRpb259PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU0NDQUlIb21lQ29udGVudElubmVyPlxuICAgICAgICB7c2hvd0ZBUXMgJiYgPFNDQ0FJSG9tZUdyYWRpZW50Qm90dG9tICRzaG93PXtzaG93Qm90dG9tR3JhZGllbnR9IC8+fVxuICAgICAgPC9TQ0NBSUhvbWVDb250ZW50PlxuICAgIDwvU0NDQUlIb21lQ29udGFpbmVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sUUFBUSxPQUFPO0FBQ3pFLFNBQVNDLFFBQVEsUUFBUSwyQ0FBMkM7QUFFcEUsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyxJQUFJLFFBQVEscUJBQXFCO0FBQzFDLFNBQVNDLE9BQU8sUUFBUSwyQkFBMkI7QUFFbkQsU0FBU0MsYUFBYSxRQUFRLHdCQUF3QjtBQUl0RCxTQUNFQyxrQkFBa0IsRUFDbEJDLGdCQUFnQixFQUNoQkMscUJBQXFCLEVBQ3JCQyxvQkFBb0IsRUFDcEJDLHVCQUF1QixFQUN2QkMsZUFBZSxFQUNmQyxpQkFBaUIsRUFDakJDLDJCQUEyQixFQUMzQkMs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
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { useT } from '../../../hooks/useT';
|
|
6
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
var mockAgents = [{
|
|
8
|
+
id: 'template-branding-specialist',
|
|
9
|
+
name: 'Especialista en Branding',
|
|
10
|
+
type: 'template',
|
|
11
|
+
entity: 'global',
|
|
12
|
+
introduction: 'Construye una voz de marca clara, consistente y memorable.',
|
|
13
|
+
welcomeMessage: 'Ayuda a definir posicionamiento, tono de marca, mensajes clave y lineamientos visuales.',
|
|
14
|
+
badge: 'branding',
|
|
15
|
+
emoji: '🎨',
|
|
16
|
+
templateValues: {
|
|
17
|
+
general: {
|
|
18
|
+
name: 'Especialista en Branding',
|
|
19
|
+
emoji: '🎨',
|
|
20
|
+
introduction: 'Soy tu especialista en branding. Te ayudo a definir identidad, tono y posicionamiento de marca.',
|
|
21
|
+
inputPlaceholder: 'Contame sobre tu marca, audiencia o desafío de branding...',
|
|
22
|
+
userPrompt: 'Sos un especialista en branding. Ayudás a definir identidad de marca, posicionamiento, tono comunicacional, mensajes clave y lineamientos conceptuales para marketing online y offline.'
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}, {
|
|
26
|
+
id: 'template-linkedin-seo',
|
|
27
|
+
name: 'SEO de LinkedIn',
|
|
28
|
+
type: 'template',
|
|
29
|
+
entity: 'global',
|
|
30
|
+
introduction: 'Optimiza perfiles y contenidos para ganar visibilidad orgánica.',
|
|
31
|
+
welcomeMessage: 'Optimiza perfiles, contenidos y estrategia de publicaciones para mejorar alcance y descubrimiento.',
|
|
32
|
+
badge: 'linkedin',
|
|
33
|
+
emoji: '💼',
|
|
34
|
+
templateValues: {
|
|
35
|
+
general: {
|
|
36
|
+
name: 'SEO de LinkedIn',
|
|
37
|
+
emoji: '💼',
|
|
38
|
+
introduction: 'Soy tu especialista en SEO de LinkedIn. Te ayudo a optimizar perfiles, posteos y posicionamiento.',
|
|
39
|
+
inputPlaceholder: 'Pegá tu perfil, post o idea y lo optimizamos para LinkedIn...',
|
|
40
|
+
userPrompt: 'Sos un especialista en SEO de LinkedIn. Ayudás a optimizar perfiles personales y corporativos, mejorar contenidos para alcance orgánico, definir keywords y proponer estrategias para ganar visibilidad en LinkedIn.'
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}, {
|
|
44
|
+
id: 'template-marketing-strategist',
|
|
45
|
+
name: 'Especialista en Marketing',
|
|
46
|
+
type: 'template',
|
|
47
|
+
entity: 'global',
|
|
48
|
+
introduction: 'Define campañas, audiencias y mensajes para crecer mejor.',
|
|
49
|
+
welcomeMessage: 'Propone campañas, define audiencias, mensajes y acciones para ejecutar estrategias de marketing.',
|
|
50
|
+
badge: 'marketing',
|
|
51
|
+
emoji: '📣',
|
|
52
|
+
templateValues: {
|
|
53
|
+
general: {
|
|
54
|
+
name: 'Especialista en Marketing',
|
|
55
|
+
emoji: '📣',
|
|
56
|
+
introduction: 'Soy tu especialista en marketing. Te ayudo a pensar campañas, audiencias y acciones de crecimiento.',
|
|
57
|
+
inputPlaceholder: 'Contame qué producto, campaña o canal querés trabajar...',
|
|
58
|
+
userPrompt: 'Sos un especialista en marketing digital. Ayudás a diseñar campañas, definir audiencias, estructurar mensajes, priorizar canales y proponer acciones con foco en performance y crecimiento.'
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}];
|
|
62
|
+
export var ChatAIMarketplace = function ChatAIMarketplace(_ref) {
|
|
63
|
+
var onBack = _ref.onBack;
|
|
64
|
+
var _useT = useT(),
|
|
65
|
+
t = _useT.t;
|
|
66
|
+
var handleUseAgent = function handleUseAgent(agent) {
|
|
67
|
+
document.dispatchEvent(new CustomEvent('abm-agent-modal-set-values', {
|
|
68
|
+
detail: {
|
|
69
|
+
agentValues: {
|
|
70
|
+
isOpen: true,
|
|
71
|
+
values: {
|
|
72
|
+
isEditing: false,
|
|
73
|
+
knowledge: [],
|
|
74
|
+
general: _objectSpread({}, agent.templateValues.general),
|
|
75
|
+
accessibility: {
|
|
76
|
+
accessType: 'company',
|
|
77
|
+
clients: null
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}));
|
|
83
|
+
};
|
|
84
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
85
|
+
style: {
|
|
86
|
+
display: 'flex',
|
|
87
|
+
flexDirection: 'column',
|
|
88
|
+
gap: '24px',
|
|
89
|
+
padding: '28px 24px 16px',
|
|
90
|
+
height: '100%',
|
|
91
|
+
overflowY: 'auto',
|
|
92
|
+
background: 'radial-gradient(circle at top left, rgba(238, 243, 255, 0.9), transparent 28%), linear-gradient(180deg, #fcfcfd 0%, #f7f8fa 100%)'
|
|
93
|
+
},
|
|
94
|
+
children: [/*#__PURE__*/_jsxs("button", {
|
|
95
|
+
type: "button",
|
|
96
|
+
onClick: onBack,
|
|
97
|
+
style: {
|
|
98
|
+
alignSelf: 'flex-start',
|
|
99
|
+
border: 'none',
|
|
100
|
+
background: 'transparent',
|
|
101
|
+
padding: 0,
|
|
102
|
+
color: '#666666',
|
|
103
|
+
fontSize: '14px',
|
|
104
|
+
fontWeight: 500,
|
|
105
|
+
cursor: 'pointer'
|
|
106
|
+
},
|
|
107
|
+
children: ['<', " ", t('marketplace.back')]
|
|
108
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
109
|
+
style: {
|
|
110
|
+
display: 'flex',
|
|
111
|
+
flexDirection: 'column',
|
|
112
|
+
gap: '10px',
|
|
113
|
+
maxWidth: '760px'
|
|
114
|
+
},
|
|
115
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
116
|
+
style: {
|
|
117
|
+
fontSize: '34px'
|
|
118
|
+
},
|
|
119
|
+
children: "\uD83C\uDFEC"
|
|
120
|
+
}), /*#__PURE__*/_jsx("h2", {
|
|
121
|
+
style: {
|
|
122
|
+
margin: 0,
|
|
123
|
+
fontSize: '38px',
|
|
124
|
+
lineHeight: '105%',
|
|
125
|
+
color: '#20201f',
|
|
126
|
+
letterSpacing: '-0.02em'
|
|
127
|
+
},
|
|
128
|
+
children: t('marketplace.title')
|
|
129
|
+
}), /*#__PURE__*/_jsx("p", {
|
|
130
|
+
style: {
|
|
131
|
+
margin: 0,
|
|
132
|
+
color: '#5f6470',
|
|
133
|
+
fontSize: '18px',
|
|
134
|
+
lineHeight: '155%'
|
|
135
|
+
},
|
|
136
|
+
children: t('marketplace.description')
|
|
137
|
+
})]
|
|
138
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
139
|
+
style: {
|
|
140
|
+
display: 'grid',
|
|
141
|
+
gridTemplateColumns: 'repeat(auto-fit, minmax(420px, 1fr))',
|
|
142
|
+
gap: '18px',
|
|
143
|
+
alignItems: 'stretch'
|
|
144
|
+
},
|
|
145
|
+
children: mockAgents.map(function (agent) {
|
|
146
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
147
|
+
style: {
|
|
148
|
+
border: '1px solid rgba(210, 214, 220, 0.8)',
|
|
149
|
+
borderRadius: '28px',
|
|
150
|
+
padding: '22px',
|
|
151
|
+
background: 'linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(250,251,253,0.98) 100%)',
|
|
152
|
+
display: 'flex',
|
|
153
|
+
flexDirection: 'column',
|
|
154
|
+
gap: '18px',
|
|
155
|
+
minHeight: '250px',
|
|
156
|
+
boxShadow: '0 12px 30px rgba(16, 24, 40, 0.06)'
|
|
157
|
+
},
|
|
158
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
159
|
+
style: {
|
|
160
|
+
display: 'flex',
|
|
161
|
+
justifyContent: 'space-between',
|
|
162
|
+
alignItems: 'flex-start',
|
|
163
|
+
gap: '16px'
|
|
164
|
+
},
|
|
165
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
166
|
+
style: {
|
|
167
|
+
width: '68px',
|
|
168
|
+
height: '68px',
|
|
169
|
+
borderRadius: '22px',
|
|
170
|
+
background: 'linear-gradient(180deg, #f7f8ff 0%, #eef2ff 100%)',
|
|
171
|
+
display: 'flex',
|
|
172
|
+
alignItems: 'center',
|
|
173
|
+
justifyContent: 'center',
|
|
174
|
+
fontSize: '32px',
|
|
175
|
+
boxShadow: 'inset 0 1px 0 rgba(255,255,255,0.9)'
|
|
176
|
+
},
|
|
177
|
+
children: agent.emoji
|
|
178
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
179
|
+
style: {
|
|
180
|
+
fontSize: '12px',
|
|
181
|
+
color: '#384152',
|
|
182
|
+
border: '1px solid rgba(208, 214, 221, 0.95)',
|
|
183
|
+
borderRadius: '999px',
|
|
184
|
+
padding: '8px 12px',
|
|
185
|
+
textTransform: 'uppercase',
|
|
186
|
+
letterSpacing: '0.06em',
|
|
187
|
+
fontWeight: 700,
|
|
188
|
+
background: 'rgba(255,255,255,0.86)'
|
|
189
|
+
},
|
|
190
|
+
children: t("marketplace.badges.".concat(agent.badge))
|
|
191
|
+
})]
|
|
192
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
193
|
+
style: {
|
|
194
|
+
display: 'flex',
|
|
195
|
+
flexDirection: 'column',
|
|
196
|
+
gap: '8px'
|
|
197
|
+
},
|
|
198
|
+
children: [/*#__PURE__*/_jsx("strong", {
|
|
199
|
+
style: {
|
|
200
|
+
fontSize: '32px',
|
|
201
|
+
color: '#20201f',
|
|
202
|
+
lineHeight: '108%',
|
|
203
|
+
letterSpacing: '-0.03em'
|
|
204
|
+
},
|
|
205
|
+
children: agent.name
|
|
206
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
207
|
+
style: {
|
|
208
|
+
fontSize: '18px',
|
|
209
|
+
color: '#4b5565',
|
|
210
|
+
lineHeight: '145%'
|
|
211
|
+
},
|
|
212
|
+
children: agent.introduction
|
|
213
|
+
})]
|
|
214
|
+
}), /*#__PURE__*/_jsx("p", {
|
|
215
|
+
style: {
|
|
216
|
+
margin: 0,
|
|
217
|
+
color: '#656d7b',
|
|
218
|
+
fontSize: '18px',
|
|
219
|
+
lineHeight: '155%',
|
|
220
|
+
flexGrow: 1
|
|
221
|
+
},
|
|
222
|
+
children: agent.welcomeMessage
|
|
223
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
224
|
+
style: {
|
|
225
|
+
display: 'flex',
|
|
226
|
+
justifyContent: 'flex-end',
|
|
227
|
+
alignItems: 'center',
|
|
228
|
+
paddingTop: '16px',
|
|
229
|
+
borderTop: '1px solid rgba(228, 232, 238, 0.9)'
|
|
230
|
+
},
|
|
231
|
+
children: /*#__PURE__*/_jsx("button", {
|
|
232
|
+
type: "button",
|
|
233
|
+
onClick: function onClick() {
|
|
234
|
+
return handleUseAgent(agent);
|
|
235
|
+
},
|
|
236
|
+
style: {
|
|
237
|
+
border: 'none',
|
|
238
|
+
background: '#20201f',
|
|
239
|
+
color: '#ffffff',
|
|
240
|
+
borderRadius: '999px',
|
|
241
|
+
padding: '14px 20px',
|
|
242
|
+
fontSize: '15px',
|
|
243
|
+
fontWeight: 600,
|
|
244
|
+
cursor: 'pointer',
|
|
245
|
+
boxShadow: '0 10px 18px rgba(32, 32, 31, 0.18)'
|
|
246
|
+
},
|
|
247
|
+
children: t('marketplace.useTemplate')
|
|
248
|
+
})
|
|
249
|
+
})]
|
|
250
|
+
}, agent.id);
|
|
251
|
+
})
|
|
252
|
+
})]
|
|
253
|
+
});
|
|
254
|
+
};
|
|
255
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVQiLCJqc3hzIiwiX2pzeHMiLCJqc3giLCJfanN4IiwibW9ja0FnZW50cyIsImlkIiwibmFtZSIsInR5cGUiLCJlbnRpdHkiLCJpbnRyb2R1Y3Rpb24iLCJ3ZWxjb21lTWVzc2FnZSIsImJhZGdlIiwiZW1vamkiLCJ0ZW1wbGF0ZVZhbHVlcyIsImdlbmVyYWwiLCJpbnB1dFBsYWNlaG9sZGVyIiwidXNlclByb21wdCIsIkNoYXRBSU1hcmtldHBsYWNlIiwiX3JlZiIsIm9uQmFjayIsIl91c2VUIiwidCIsImhhbmRsZVVzZUFnZW50IiwiYWdlbnQiLCJkb2N1bWVudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsImFnZW50VmFsdWVzIiwiaXNPcGVuIiwidmFsdWVzIiwiaXNFZGl0aW5nIiwia25vd2xlZGdlIiwiX29iamVjdFNwcmVhZCIsImFjY2Vzc2liaWxpdHkiLCJhY2Nlc3NUeXBlIiwiY2xpZW50cyIsInN0eWxlIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJwYWRkaW5nIiwiaGVpZ2h0Iiwib3ZlcmZsb3dZIiwiYmFja2dyb3VuZCIsImNoaWxkcmVuIiwib25DbGljayIsImFsaWduU2VsZiIsImJvcmRlciIsImNvbG9yIiwiZm9udFNpemUiLCJmb250V2VpZ2h0IiwiY3Vyc29yIiwibWF4V2lkdGgiLCJtYXJnaW4iLCJsaW5lSGVpZ2h0IiwibGV0dGVyU3BhY2luZyIsImdyaWRUZW1wbGF0ZUNvbHVtbnMiLCJhbGlnbkl0ZW1zIiwibWFwIiwiYm9yZGVyUmFkaXVzIiwibWluSGVpZ2h0IiwiYm94U2hhZG93IiwianVzdGlmeUNvbnRlbnQiLCJ3aWR0aCIsInRleHRUcmFuc2Zvcm0iLCJjb25jYXQiLCJmbGV4R3JvdyIsInBhZGRpbmdUb3AiLCJib3JkZXJUb3AiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTWFya2V0cGxhY2UvQ2hhdEFJTWFya2V0cGxhY2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuXG50eXBlIENoYXRBSU1hcmtldHBsYWNlUHJvcHMgPSB7XG4gIG9uQmFjazogKCkgPT4gdm9pZFxufVxuXG5jb25zdCBtb2NrQWdlbnRzID0gW1xuICB7XG4gICAgaWQ6ICd0ZW1wbGF0ZS1icmFuZGluZy1zcGVjaWFsaXN0JyxcbiAgICBuYW1lOiAnRXNwZWNpYWxpc3RhIGVuIEJyYW5kaW5nJyxcbiAgICB0eXBlOiAndGVtcGxhdGUnLFxuICAgIGVudGl0eTogJ2dsb2JhbCcsXG4gICAgaW50cm9kdWN0aW9uOiAnQ29uc3RydXllIHVuYSB2b3ogZGUgbWFyY2EgY2xhcmEsIGNvbnNpc3RlbnRlIHkgbWVtb3JhYmxlLicsXG4gICAgd2VsY29tZU1lc3NhZ2U6ICdBeXVkYSBhIGRlZmluaXIgcG9zaWNpb25hbWllbnRvLCB0b25vIGRlIG1hcmNhLCBtZW5zYWplcyBjbGF2ZSB5IGxpbmVhbWllbnRvcyB2aXN1YWxlcy4nLFxuICAgIGJhZGdlOiAnYnJhbmRpbmcnLFxuICAgIGVtb2ppOiAn8J+OqCcsXG4gICAgdGVtcGxhdGVWYWx1ZXM6IHtcbiAgICAgIGdlbmVyYWw6IHtcbiAgICAgICAgbmFtZTogJ0VzcGVjaWFsaXN0YSBlbiBCcmFuZGluZycsXG4gICAgICAgIGVtb2ppOiAn8J+OqCcsXG4gICAgICAgIGludHJvZHVjdGlvbjogJ1NveSB0dSBlc3BlY2lhbGlzdGEgZW4gYnJhbmRpbmcuIFRlIGF5dWRvIGEgZGVmaW5pciBpZGVudGlkYWQsIHRvbm8geSBwb3NpY2lvbmFtaWVudG8gZGUgbWFyY2EuJyxcbiAgICAgICAgaW5wdXRQbGFjZWhvbGRlcjogJ0NvbnRhbWUgc29icmUgdHUgbWFyY2EsIGF1ZGllbmNpYSBvIGRlc2Fmw61vIGRlIGJyYW5kaW5nLi4uJyxcbiAgICAgICAgdXNlclByb21wdDpcbiAgICAgICAgICAnU29zIHVuIGVzcGVjaWFsaXN0YSBlbiBicmFuZGluZy4gQXl1ZMOhcyBhIGRlZmluaXIgaWRlbnRpZGFkIGRlIG1hcmNhLCBwb3NpY2lvbmFtaWVudG8sIHRvbm8gY29tdW5pY2FjaW9uYWwsIG1lbnNhamVzIGNsYXZlIHkgbGluZWFtaWVudG9zIGNvbmNlcHR1YWxlcyBwYXJhIG1hcmtldGluZyBvbmxpbmUgeSBvZmZsaW5lLicsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBpZDogJ3RlbXBsYXRlLWxpbmtlZGluLXNlbycsXG4gICAgbmFtZTogJ1NFTyBkZSBMaW5rZWRJbicsXG4gICAgdHlwZTogJ3RlbXBsYXRlJyxcbiAgICBlbnRpdHk6ICdnbG9iYWwnLFxuICAgIGludHJvZHVjdGlvbjogJ09wdGltaXphIHBlcmZpbGVzIHkgY29udGVuaWRvcyBwYXJhIGdhbmFyIHZpc2liaWxpZGFkIG9yZ8OhbmljYS4nLFxuICAgIHdlbGNvbWVNZXNzYWdlOiAnT3B0aW1pemEgcGVyZmlsZXMsIGNvbnRlbmlkb3MgeSBlc3RyYXRlZ2lhIGRlIHB1YmxpY2FjaW9uZXMgcGFyYSBtZWpvcmFyIGFsY2FuY2UgeSBkZXNjdWJyaW1pZW50by4nLFxuICAgIGJhZGdlOiAnbGlua2VkaW4nLFxuICAgIGVtb2ppOiAn8J+SvCcsXG4gICAgdGVtcGxhdGVWYWx1ZXM6IHtcbiAgICAgIGdlbmVyYWw6IHtcbiAgICAgICAgbmFtZTogJ1NFTyBkZSBMaW5rZWRJbicsXG4gICAgICAgIGVtb2ppOiAn8J+SvCcsXG4gICAgICAgIGludHJvZHVjdGlvbjogJ1NveSB0dSBlc3BlY2lhbGlzdGEgZW4gU0VPIGRlIExpbmtlZEluLiBUZSBheXVkbyBhIG9wdGltaXphciBwZXJmaWxlcywgcG9zdGVvcyB5IHBvc2ljaW9uYW1pZW50by4nLFxuICAgICAgICBpbnB1dFBsYWNlaG9sZGVyOiAnUGVnw6EgdHUgcGVyZmlsLCBwb3N0IG8gaWRlYSB5IGxvIG9wdGltaXphbW9zIHBhcmEgTGlua2VkSW4uLi4nLFxuICAgICAgICB1c2VyUHJvbXB0OlxuICAgICAgICAgICdTb3MgdW4gZXNwZWNpYWxpc3RhIGVuIFNFTyBkZSBMaW5rZWRJbi4gQXl1ZMOhcyBhIG9wdGltaXphciBwZXJmaWxlcyBwZXJzb25hbGVzIHkgY29ycG9yYXRpdm9zLCBtZWpvcmFyIGNvbnRlbmlkb3MgcGFyYSBhbGNhbmNlIG9yZ8OhbmljbywgZGVmaW5pciBrZXl3b3JkcyB5IHByb3BvbmVyIGVzdHJhdGVnaWFzIHBhcmEgZ2FuYXIgdmlzaWJpbGlkYWQgZW4gTGlua2VkSW4uJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIGlkOiAndGVtcGxhdGUtbWFya2V0aW5nLXN0cmF0ZWdpc3QnLFxuICAgIG5hbWU6ICdFc3BlY2lhbGlzdGEgZW4gTWFya2V0aW5nJyxcbiAgICB0eXBlOiAndGVtcGxhdGUnLFxuICAgIGVudGl0eTogJ2dsb2JhbCcsXG4gICAgaW50cm9kdWN0aW9uOiAnRGVmaW5lIGNhbXBhw7FhcywgYXVkaWVuY2lhcyB5IG1lbnNhamVzIHBhcmEgY3JlY2VyIG1lam9yLicsXG4gICAgd2VsY29tZU1lc3NhZ2U6ICdQcm9wb25lIGNhbXBhw7FhcywgZGVmaW5lIGF1ZGllbmNpYXMsIG1lbnNhamVzIHkgYWNjaW9uZXMgcGFyYSBlamVjdXRhciBlc3RyYXRlZ2lhcyBkZSBtYXJrZXRpbmcuJyxcbiAgICBiYWRnZTogJ21hcmtldGluZycsXG4gICAgZW1vamk6ICfwn5OjJyxcbiAgICB0ZW1wbGF0ZVZhbHVlczoge1xuICAgICAgZ2VuZXJhbDoge1xuICAgICAgICBuYW1lOiAnRXNwZWNpYWxpc3RhIGVuIE1hcmtldGluZycsXG4gICAgICAgIGVtb2ppOiAn8J+ToycsXG4gICAgICAgIGludHJvZHVjdGlvbjogJ1NveSB0dSBlc3BlY2lhbGlzdGEgZW4gbWFya2V0aW5nLiBUZSBheXVkbyBhIHBlbnNhciBjYW1wYcOxYXMsIGF1ZGllbmNpYXMgeSBhY2Npb25lcyBkZSBjcmVjaW1pZW50by4nLFxuICAgICAgICBpbnB1dFBsYWNlaG9sZGVyOiAnQ29udGFtZSBxdcOpIHByb2R1Y3RvLCBjYW1wYcOxYSBvIGNhbmFsIHF1ZXLDqXMgdHJhYmFqYXIuLi4nLFxuICAgICAgICB1c2VyUHJvbXB0OlxuICAgICAgICAgICdTb3MgdW4gZXNwZWNpYWxpc3RhIGVuIG1hcmtldGluZyBkaWdpdGFsLiBBeXVkw6FzIGEgZGlzZcOxYXIgY2FtcGHDsWFzLCBkZWZpbmlyIGF1ZGllbmNpYXMsIGVzdHJ1Y3R1cmFyIG1lbnNhamVzLCBwcmlvcml6YXIgY2FuYWxlcyB5IHByb3BvbmVyIGFjY2lvbmVzIGNvbiBmb2NvIGVuIHBlcmZvcm1hbmNlIHkgY3JlY2ltaWVudG8uJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbl1cblxuZXhwb3J0IGNvbnN0IENoYXRBSU1hcmtldHBsYWNlID0gKHsgb25CYWNrIH06IENoYXRBSU1hcmtldHBsYWNlUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUKClcblxuICBjb25zdCBoYW5kbGVVc2VBZ2VudCA9IChhZ2VudDogKHR5cGVvZiBtb2NrQWdlbnRzKVtudW1iZXJdKSA9PiB7XG4gICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBDdXN0b21FdmVudCgnYWJtLWFnZW50LW1vZGFsLXNldC12YWx1ZXMnLCB7XG4gICAgICAgIGRldGFpbDoge1xuICAgICAgICAgIGFnZW50VmFsdWVzOiB7XG4gICAgICAgICAgICBpc09wZW46IHRydWUsXG4gICAgICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAga25vd2xlZGdlOiBbXSxcbiAgICAgICAgICAgICAgZ2VuZXJhbDoge1xuICAgICAgICAgICAgICAgIC4uLmFnZW50LnRlbXBsYXRlVmFsdWVzLmdlbmVyYWwsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHk6IHtcbiAgICAgICAgICAgICAgICBhY2Nlc3NUeXBlOiAnY29tcGFueScsXG4gICAgICAgICAgICAgICAgY2xpZW50czogbnVsbCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBzdHlsZT17e1xuICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICBnYXA6ICcyNHB4JyxcbiAgICAgICAgcGFkZGluZzogJzI4cHggMjRweCAxNnB4JyxcbiAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgIG92ZXJmbG93WTogJ2F1dG8nLFxuICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgICdyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IHRvcCBsZWZ0LCByZ2JhKDIzOCwgMjQzLCAyNTUsIDAuOSksIHRyYW5zcGFyZW50IDI4JSksIGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmY2ZjZmQgMCUsICNmN2Y4ZmEgMTAwJSknLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBvbkNsaWNrPXtvbkJhY2t9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgYWxpZ25TZWxmOiAnZmxleC1zdGFydCcsXG4gICAgICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICAgICAgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICAgIGNvbG9yOiAnIzY2NjY2NicsXG4gICAgICAgICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICAgICAgICBmb250V2VpZ2h0OiA1MDAsXG4gICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHsnPCd9IHt0KCdtYXJrZXRwbGFjZS5iYWNrJyl9XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICBnYXA6ICcxMHB4JyxcbiAgICAgICAgICBtYXhXaWR0aDogJzc2MHB4JyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPHNwYW4gc3R5bGU9e3sgZm9udFNpemU6ICczNHB4JyB9fT7wn4+sPC9zcGFuPlxuICAgICAgICA8aDIgc3R5bGU9e3sgbWFyZ2luOiAwLCBmb250U2l6ZTogJzM4cHgnLCBsaW5lSGVpZ2h0OiAnMTA1JScsIGNvbG9yOiAnIzIwMjAxZicsIGxldHRlclNwYWNpbmc6ICctMC4wMmVtJyB9fT5cbiAgICAgICAgICB7dCgnbWFya2V0cGxhY2UudGl0bGUnKX1cbiAgICAgICAgPC9oMj5cbiAgICAgICAgPHAgc3R5bGU9e3sgbWFyZ2luOiAwLCBjb2xvcjogJyM1ZjY0NzAnLCBmb250U2l6ZTogJzE4cHgnLCBsaW5lSGVpZ2h0OiAnMTU1JScgfX0+e3QoJ21hcmtldHBsYWNlLmRlc2NyaXB0aW9uJyl9PC9wPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiAnZ3JpZCcsXG4gICAgICAgICAgZ3JpZFRlbXBsYXRlQ29sdW1uczogJ3JlcGVhdChhdXRvLWZpdCwgbWlubWF4KDQyMHB4LCAxZnIpKScsXG4gICAgICAgICAgZ2FwOiAnMThweCcsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ3N0cmV0Y2gnLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7bW9ja0FnZW50cy5tYXAoYWdlbnQgPT4gKFxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGtleT17YWdlbnQuaWR9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBib3JkZXI6ICcxcHggc29saWQgcmdiYSgyMTAsIDIxNCwgMjIwLCAwLjgpJyxcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnMjhweCcsXG4gICAgICAgICAgICAgIHBhZGRpbmc6ICcyMnB4JyxcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ2xpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMC45OCkgMCUsIHJnYmEoMjUwLDI1MSwyNTMsMC45OCkgMTAwJSknLFxuICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgICBnYXA6ICcxOHB4JyxcbiAgICAgICAgICAgICAgbWluSGVpZ2h0OiAnMjUwcHgnLFxuICAgICAgICAgICAgICBib3hTaGFkb3c6ICcwIDEycHggMzBweCByZ2JhKDE2LCAyNCwgNDAsIDAuMDYpJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsIGFsaWduSXRlbXM6ICdmbGV4LXN0YXJ0JywgZ2FwOiAnMTZweCcgfX0+XG4gICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgd2lkdGg6ICc2OHB4JyxcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogJzY4cHgnLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnMjJweCcsXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAnbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2Y3ZjhmZiAwJSwgI2VlZjJmZiAxMDAlKScsXG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMzJweCcsXG4gICAgICAgICAgICAgICAgICBib3hTaGFkb3c6ICdpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsMC45KScsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHthZ2VudC5lbW9qaX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJyMzODQxNTInLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkIHJnYmEoMjA4LCAyMTQsIDIyMSwgMC45NSknLFxuICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnOTk5cHgnLFxuICAgICAgICAgICAgICAgICAgcGFkZGluZzogJzhweCAxMnB4JyxcbiAgICAgICAgICAgICAgICAgIHRleHRUcmFuc2Zvcm06ICd1cHBlcmNhc2UnLFxuICAgICAgICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogJzAuMDZlbScsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiA3MDAsXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAncmdiYSgyNTUsMjU1LDI1NSwwLjg2KScsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0KGBtYXJrZXRwbGFjZS5iYWRnZXMuJHthZ2VudC5iYWRnZX1gKX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAnOHB4JyB9fT5cbiAgICAgICAgICAgICAgPHN0cm9uZyBzdHlsZT17eyBmb250U2l6ZTogJzMycHgnLCBjb2xvcjogJyMyMDIwMWYnLCBsaW5lSGVpZ2h0OiAnMTA4JScsIGxldHRlclNwYWNpbmc6ICctMC4wM2VtJyB9fT5cbiAgICAgICAgICAgICAgICB7YWdlbnQubmFtZX1cbiAgICAgICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGZvbnRTaXplOiAnMThweCcsIGNvbG9yOiAnIzRiNTU2NScsIGxpbmVIZWlnaHQ6ICcxNDUlJyB9fT57YWdlbnQuaW50cm9kdWN0aW9ufTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8cFxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCxcbiAgICAgICAgICAgICAgICBjb2xvcjogJyM2NTZkN2InLFxuICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMThweCcsXG4gICAgICAgICAgICAgICAgbGluZUhlaWdodDogJzE1NSUnLFxuICAgICAgICAgICAgICAgIGZsZXhHcm93OiAxLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7YWdlbnQud2VsY29tZU1lc3NhZ2V9XG4gICAgICAgICAgICA8L3A+XG5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdmbGV4LWVuZCcsXG4gICAgICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgcGFkZGluZ1RvcDogJzE2cHgnLFxuICAgICAgICAgICAgICAgIGJvcmRlclRvcDogJzFweCBzb2xpZCByZ2JhKDIyOCwgMjMyLCAyMzgsIDAuOSknLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlVXNlQWdlbnQoYWdlbnQpfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICcjMjAyMDFmJyxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnI2ZmZmZmZicsXG4gICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc5OTlweCcsXG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAnMTRweCAyMHB4JyxcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMTVweCcsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiA2MDAsXG4gICAgICAgICAgICAgICAgICBjdXJzb3I6ICdwb2ludGVyJyxcbiAgICAgICAgICAgICAgICAgIGJveFNoYWRvdzogJzAgMTBweCAxOHB4IHJnYmEoMzIsIDMyLCAzMSwgMC4xOCknLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7dCgnbWFya2V0cGxhY2UudXNlVGVtcGxhdGUnKX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxPQUFPQSxLQUFLLE1BQU0sT0FBTztBQUN6QixTQUFTQyxJQUFJLFFBQVEscUJBQXFCO0FBQUEsU0FBQUMsSUFBQSxJQUFBQyxLQUFBLEVBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQU0xQyxJQUFNQyxVQUFVLEdBQUcsQ0FDakI7RUFDRUMsRUFBRSxFQUFFLDhCQUE4QjtFQUNsQ0MsSUFBSSxF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
|