@projectcor/maia-components 2.11.15-0 → 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/AbmSection/AbmGeneralSection.js +128 -120
- package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +22 -42
- 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/ChatAiModalFooter/ChatAiModalFooter.js +2 -72
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +2 -10
- 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 -9
- package/lib/lang/en/index.js +67 -7
- package/lib/lang/es/index.js +67 -7
- 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
|
@@ -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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
|