@projectcor/maia-components 2.11.93-0 → 2.11.93
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/lib/components/atoms/Chip/Chip.js +5 -12
- package/lib/components/atoms/Chip/styles.js +6 -6
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +3 -7
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +28 -123
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +2 -6
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +2 -29
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +24 -33
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +4 -23
- package/lib/components/atoms/MAIAInput/MAIAInput.js +259 -340
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +8 -5
- package/lib/components/atoms/MAIAInput/styles.js +83 -99
- package/lib/components/atoms/icons/index.js +1 -12
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +1 -14
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +10 -20
- package/lib/components/molecules/ChatAIHome/styles.js +38 -54
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +36 -11
- package/lib/components/molecules/ChatAIMessages/newStyles.js +26 -10
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +3 -34
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +4 -1
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +9 -4
- package/lib/components/molecules/ChatAIModal/constants.js +2 -6
- package/lib/components/molecules/ChatFooter/ChatFooter.js +62 -23
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +1 -3
- package/lib/components/molecules/Sidebar/Sidebar.js +4 -25
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +1 -8
- package/lib/constants/config.js +1 -4
- package/lib/constants/permissions/index.js +2 -2
- package/lib/constants/permissions/utils.js +1 -4
- package/lib/hooks/useContextMentions.js +9 -47
- package/lib/hooks/useEntitySearch.js +91 -277
- package/lib/hooks/useMentionAllowedTypes.js +8 -26
- package/lib/hooks/useMentionPopover.js +13 -42
- package/lib/lang/br/index.js +5 -59
- package/lib/lang/en/index.js +5 -59
- package/lib/lang/es/index.js +5 -59
- package/lib/lang/fr/index.js +4 -61
- package/lib/styles/config.js +2 -2
- package/lib/types/contextMention.js +1 -1
- package/lib/utils/contextMentionIcons.js +1 -29
- package/lib/utils/contextMentionTriggers.js +1 -3
- package/lib/utils/renderContextMentions.js +4 -9
- package/package.json +1 -1
- package/lib/components/atoms/MAIAInput/maiaInputLayout.js +0 -23
- package/lib/components/atoms/icons/MaiaInputAddIcon.js +0 -42
- package/lib/components/atoms/icons/MaiaInputAttachIcon.js +0 -29
- package/lib/components/atoms/icons/MaiaInputAttachmentImageIcon.js +0 -33
- package/lib/components/atoms/icons/MaiaInputDeepSearchIcon.js +0 -35
- package/lib/components/atoms/icons/MaiaInputMentionIcon.js +0 -44
- package/lib/components/atoms/icons/MaiaInputRobotIcon.js +0 -29
- package/lib/components/atoms/icons/MaiaInputSendIcon.js +0 -29
- package/lib/components/atoms/icons/MaiaInputSlashIcon.js +0 -29
- package/lib/components/atoms/icons/MaiaInputWebSearchIcon.js +0 -35
- package/lib/components/atoms/icons/SkillIcon.js +0 -30
- package/lib/components/atoms/icons/SkillsNavIcon.js +0 -27
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +0 -357
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +0 -145
- package/lib/components/molecules/ChatAIMySkills/index.js +0 -2
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +0 -160
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +0 -34
- package/lib/components/organisms/AbmSkillGenerateModal/index.js +0 -2
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +0 -446
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +0 -98
- package/lib/components/organisms/AbmSkillModal/index.js +0 -2
- package/lib/services/maia/Skills/createSkill.js +0 -39
- package/lib/services/maia/Skills/deleteSkill.js +0 -38
- package/lib/services/maia/Skills/generateSkill.js +0 -41
- package/lib/services/maia/Skills/getSkills.js +0 -90
- package/lib/services/maia/Skills/updateSkill.js +0 -39
- package/lib/types/skill.js +0 -2
|
@@ -11,16 +11,19 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
11
11
|
/* eslint-disable react/require-default-props */
|
|
12
12
|
import { useMemo, useRef, useState, useEffect } from 'react';
|
|
13
13
|
import { Attach } from '@projectcor/icons/lib/components/Attach';
|
|
14
|
+
import { Globe } from '@projectcor/icons/lib/components/Globe';
|
|
15
|
+
import { ListChecklist } from '@projectcor/icons/lib/components/ListChecklist';
|
|
14
16
|
import { MODAL_ELEMENTS } from '../../../hooks/useModal/useModal';
|
|
15
|
-
|
|
17
|
+
import { Chip } from '../../atoms/Chip';
|
|
16
18
|
// eslint-disable-next-line import/no-cycle
|
|
17
19
|
import { MAIAInput } from '../../atoms/MAIAInput';
|
|
20
|
+
import { ChatFooterCorAccess } from './ChatFooterCorAccess';
|
|
18
21
|
import { useGlobalContext } from '../../../context/global-context';
|
|
19
22
|
import { useT } from '../../../hooks/useT';
|
|
20
23
|
import { EVENTS, useEvent } from '../../../hooks/useEvent';
|
|
21
|
-
import { StyledChatFooter } from './styles';
|
|
22
|
-
import { TaskLinkIcon } from '../../atoms/icons/TaskLinkIcon';
|
|
24
|
+
import { StyledChatFooter, ChipsAndFaqsRow, ContextBarLeft, FooterActionsRight } from './styles';
|
|
23
25
|
import { CsvFileIcon, MDFileIcon, DocFileIcon, DocxFileIcon, TextFileIcon, PdfFileIcon, ImageFileIcon, XlsxFileIcon, XlsFileIcon, Mp3FileIcon, WavFileIcon, FlacFileIcon, M4aFileIcon, Mp4FileIcon, OgaFileIcon, OggFileIcon, WebmFileIcon } from '../../atoms/icons';
|
|
26
|
+
import { ImagePreview } from '../../atoms/ImagePreview/ImagePreview';
|
|
24
27
|
import { preprocessImageForBackend } from '../../../utils/imagePreprocessor';
|
|
25
28
|
import { validateIsMaia } from '../../../services/utils/validateIsMaia';
|
|
26
29
|
import { isMaiakerAgent } from '../../../utils/agentDisplayName';
|
|
@@ -48,6 +51,7 @@ export var IconByFileType = {
|
|
|
48
51
|
'audio/webm': /*#__PURE__*/_jsx(WebmFileIcon, {})
|
|
49
52
|
};
|
|
50
53
|
export function ChatFooter(_ref) {
|
|
54
|
+
var _agent$connectors;
|
|
51
55
|
var onSendMessage = _ref.onSendMessage,
|
|
52
56
|
items = _ref.items,
|
|
53
57
|
disabled = _ref.disabled,
|
|
@@ -56,6 +60,8 @@ export function ChatFooter(_ref) {
|
|
|
56
60
|
onStopGeneration = _ref.onStopGeneration,
|
|
57
61
|
chatId = _ref.chatId,
|
|
58
62
|
newChatKey = _ref.newChatKey,
|
|
63
|
+
_ref$showFaqs = _ref.showFaqs,
|
|
64
|
+
showFaqs = _ref$showFaqs === void 0 ? true : _ref$showFaqs,
|
|
59
65
|
tooltipZIndex = _ref.tooltipZIndex,
|
|
60
66
|
layoutMode = _ref.layoutMode;
|
|
61
67
|
var _useGlobalContext = useGlobalContext(),
|
|
@@ -64,11 +70,13 @@ export function ChatFooter(_ref) {
|
|
|
64
70
|
chipsProject = _useGlobalContext.chipsProject,
|
|
65
71
|
client = _useGlobalContext.client,
|
|
66
72
|
task = _useGlobalContext.task,
|
|
73
|
+
section = _useGlobalContext.section,
|
|
67
74
|
deepLinkSendPendingRef = _useGlobalContext.deepLinkSendPendingRef;
|
|
68
75
|
var _useT = useT(),
|
|
69
76
|
t = _useT.t;
|
|
70
77
|
var event = useEvent();
|
|
71
78
|
var inputPopoverAnchorRef = useRef(null);
|
|
79
|
+
var contextBarAnchorRef = useRef(null);
|
|
72
80
|
var isOrchestrator = (agent === null || agent === void 0 ? void 0 : agent.type) === 'orchestrator';
|
|
73
81
|
var _useState = useState([]),
|
|
74
82
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -180,7 +188,7 @@ export function ChatFooter(_ref) {
|
|
|
180
188
|
var handleFileAttach = /*#__PURE__*/function () {
|
|
181
189
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(file) {
|
|
182
190
|
var _fileNameParts$pop;
|
|
183
|
-
var fileNameParts, fileExtension, isImageByExtension, isImageByMime, isImage, extensionToIcon, icon, extensionToMimeType, mimeTypeByExtension, processedFile, newAttachment, _t;
|
|
191
|
+
var fileNameParts, fileExtension, isImageByExtension, isImageByMime, isImage, extensionToIcon, icon, extensionToMimeType, mimeTypeByExtension, processedFile, imageUrl, newAttachment, _t;
|
|
184
192
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
185
193
|
while (1) switch (_context.prev = _context.next) {
|
|
186
194
|
case 0:
|
|
@@ -229,9 +237,9 @@ export function ChatFooter(_ref) {
|
|
|
229
237
|
});
|
|
230
238
|
}
|
|
231
239
|
}
|
|
232
|
-
processedFile = file; // Si es una imagen, pre-procesarla para el backend
|
|
240
|
+
processedFile = file; // Si es una imagen, pre-procesarla para el backend
|
|
233
241
|
if (!isImage) {
|
|
234
|
-
_context.next =
|
|
242
|
+
_context.next = 5;
|
|
235
243
|
break;
|
|
236
244
|
}
|
|
237
245
|
_context.prev = 1;
|
|
@@ -245,7 +253,17 @@ export function ChatFooter(_ref) {
|
|
|
245
253
|
_context.prev = 3;
|
|
246
254
|
_t = _context["catch"](1);
|
|
247
255
|
console.error('Error pre-procesando imagen:', _t);
|
|
256
|
+
// Continuar con el archivo original si hay error
|
|
248
257
|
case 4:
|
|
258
|
+
imageUrl = URL.createObjectURL(file);
|
|
259
|
+
icon = /*#__PURE__*/_jsx(ImagePreview, {
|
|
260
|
+
src: imageUrl,
|
|
261
|
+
alt: file.name,
|
|
262
|
+
width: "63px",
|
|
263
|
+
height: "63px",
|
|
264
|
+
borderRadius: "6px"
|
|
265
|
+
});
|
|
266
|
+
case 5:
|
|
249
267
|
newAttachment = {
|
|
250
268
|
file: processedFile,
|
|
251
269
|
originalFile: isImage ? file : undefined,
|
|
@@ -258,7 +276,7 @@ export function ChatFooter(_ref) {
|
|
|
258
276
|
setAttachments(function (prev) {
|
|
259
277
|
return [].concat(_toConsumableArray(prev), [newAttachment]);
|
|
260
278
|
});
|
|
261
|
-
case
|
|
279
|
+
case 6:
|
|
262
280
|
case "end":
|
|
263
281
|
return _context.stop();
|
|
264
282
|
}
|
|
@@ -278,20 +296,42 @@ export function ChatFooter(_ref) {
|
|
|
278
296
|
var disclaimerMessage = isMAIA ? t('chat.footer.disclaimer', {
|
|
279
297
|
agentName: t('globals.brandName')
|
|
280
298
|
}) : t('chat.footer.disclaimerAgent');
|
|
281
|
-
var
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
color: "#808080"
|
|
290
|
-
}) : undefined
|
|
291
|
-
};
|
|
292
|
-
}, [isMAIA, loadingMessages, chipItems, chipType]);
|
|
299
|
+
var isFaqInteractionDisabled = Boolean(disabled || isStreaming || isWriting);
|
|
300
|
+
var shouldShowFaqs = showFaqs && section !== 'task';
|
|
301
|
+
var hasCorAccess = Boolean((agent === null || agent === void 0 ? void 0 : agent.type) === 'custom' && ((_agent$connectors = agent.connectors) === null || _agent$connectors === void 0 ? void 0 : _agent$connectors.some(function (connector) {
|
|
302
|
+
return connector.group === 'COR' && connector.slugs.some(function (slug) {
|
|
303
|
+
return typeof slug === 'string' && slug.trim().length > 0;
|
|
304
|
+
});
|
|
305
|
+
})));
|
|
306
|
+
var shouldShowContextBar = (isMAIA || hasCorAccess) && !loadingMessages;
|
|
293
307
|
return /*#__PURE__*/_jsxs(StyledChatFooter, {
|
|
294
|
-
children: [/*#__PURE__*/
|
|
308
|
+
children: [shouldShowContextBar && /*#__PURE__*/_jsxs(ChipsAndFaqsRow, {
|
|
309
|
+
ref: contextBarAnchorRef,
|
|
310
|
+
children: [/*#__PURE__*/_jsx(ContextBarLeft, {
|
|
311
|
+
children: isMAIA && (chipItems.length ? /*#__PURE__*/_jsx(Chip, {
|
|
312
|
+
items: chipItems,
|
|
313
|
+
type: chipType,
|
|
314
|
+
leadingIcon: chipType === 'task' ? /*#__PURE__*/_jsx(ListChecklist, {
|
|
315
|
+
color: "#666",
|
|
316
|
+
width: "14px",
|
|
317
|
+
height: "14px"
|
|
318
|
+
}) : undefined
|
|
319
|
+
}) : isOrchestrator && /*#__PURE__*/_jsx(Chip, {
|
|
320
|
+
items: [t('contextPin.addContext', {
|
|
321
|
+
defaultValue: 'Contexto global'
|
|
322
|
+
})],
|
|
323
|
+
leadingIcon: /*#__PURE__*/_jsx(Globe, {
|
|
324
|
+
color: "#666",
|
|
325
|
+
width: "14px",
|
|
326
|
+
height: "14px"
|
|
327
|
+
})
|
|
328
|
+
}))
|
|
329
|
+
}), /*#__PURE__*/_jsx(FooterActionsRight, {
|
|
330
|
+
children: hasCorAccess && /*#__PURE__*/_jsx(ChatFooterCorAccess, {
|
|
331
|
+
tooltipZIndex: tooltipZIndex
|
|
332
|
+
})
|
|
333
|
+
})]
|
|
334
|
+
}), /*#__PURE__*/_jsx(MAIAInput, {
|
|
295
335
|
popoverAnchorRef: inputPopoverAnchorRef,
|
|
296
336
|
onSendMessage: handleSendMessage,
|
|
297
337
|
className: MODAL_ELEMENTS,
|
|
@@ -319,11 +359,10 @@ export function ChatFooter(_ref) {
|
|
|
319
359
|
chatId: chatId || undefined,
|
|
320
360
|
newChatKey: newChatKey,
|
|
321
361
|
tooltipZIndex: tooltipZIndex,
|
|
322
|
-
layoutMode: layoutMode
|
|
323
|
-
contextChip: contextChip
|
|
362
|
+
layoutMode: layoutMode
|
|
324
363
|
}), /*#__PURE__*/_jsx(ChatDisclaimerMessage, {
|
|
325
364
|
message: disclaimerMessage
|
|
326
365
|
})]
|
|
327
366
|
});
|
|
328
367
|
}
|
|
329
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJBdHRhY2giLCJNT0RBTF9FTEVNRU5UUyIsIk1BSUFJbnB1dCIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VUIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJTdHlsZWRDaGF0Rm9vdGVyIiwiVGFza0xpbmtJY29uIiwiQ3N2RmlsZUljb24iLCJNREZpbGVJY29uIiwiRG9jRmlsZUljb24iLCJEb2N4RmlsZUljb24iLCJUZXh0RmlsZUljb24iLCJQZGZGaWxlSWNvbiIsIkltYWdlRmlsZUljb24iLCJYbHN4RmlsZUljb24iLCJYbHNGaWxlSWNvbiIsIk1wM0ZpbGVJY29uIiwiV2F2RmlsZUljb24iLCJGbGFjRmlsZUljb24iLCJNNGFGaWxlSWNvbiIsIk1wNEZpbGVJY29uIiwiT2dhRmlsZUljb24iLCJPZ2dGaWxlSWNvbiIsIldlYm1GaWxlSWNvbiIsInByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQiLCJ2YWxpZGF0ZUlzTWFpYSIsImlzTWFpYWtlckFnZW50IiwiQ2hhdERpc2NsYWltZXJNZXNzYWdlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkljb25CeUZpbGVUeXBlIiwiQ2hhdEZvb3RlciIsIl9yZWYiLCJvblNlbmRNZXNzYWdlIiwiaXRlbXMiLCJkaXNhYmxlZCIsImlzU3RyZWFtaW5nIiwiaXNXcml0aW5nIiwib25TdG9wR2VuZXJhdGlvbiIsImNoYXRJZCIsIm5ld0NoYXRLZXkiLCJ0b29sdGlwWkluZGV4IiwibGF5b3V0TW9kZSIsIl91c2VHbG9iYWxDb250ZXh0IiwicHJvamVjdCIsImFnZW50IiwiY2hpcHNQcm9qZWN0IiwiY2xpZW50IiwidGFzayIsImRlZXBMaW5rU2VuZFBlbmRpbmdSZWYiLCJfdXNlVCIsInQiLCJldmVudCIsImlucHV0UG9wb3ZlckFuY2hvclJlZiIsImlzT3JjaGVzdHJhdG9yIiwidHlwZSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImF0dGFjaG1lbnRzIiwic2V0QXR0YWNobWVudHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmdNZXNzYWdlcyIsInNldExvYWRpbmdNZXNzYWdlcyIsInJlcG9ydGVkRXZlbnQiLCJpc01hcmtldHBsYWNlR2xvYmFsQWdlbnQiLCJoYW5kbGVMb2FkaW5nTWVzc2FnZXNDaGFuZ2UiLCJlIiwiZGV0YWlsIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImhhbmRsZVNlc3Npb25DaGFuZ2UiLCJjdXJyZW50IiwiX3VzZU1lbW8iLCJjaGlwSXRlbXMiLCJuYW1lIiwiY2hpcFR5cGUiLCJwcm9qZWN0TmFtZSIsImVudGl0eSIsIm9uQ2hhbmdlIiwicG1BaVR5cGVkVGV4dCIsImFnZW50X3R5cGUiLCJoYW5kbGVTZW5kTWVzc2FnZSIsIm1lc3NhZ2UiLCJuZXdBdHRhY2htZW50cyIsIm1lbnRpb25zIiwiZmFxSWQiLCJhZ2VudFN1Z2dlc3Rpb25JZCIsImZ1YUlkIiwic2NJZCIsImZyb21EZWVwTGluayIsIkJvb2xlYW4iLCJhaUNoYXRTZW5kIiwiX29iamVjdFNwcmVhZCIsImFnZW50X2lkIiwiaWQiLCJhZ2VudF9uYW1lIiwic291cmNlIiwiaGFuZGxlU2VsZWN0RmFxIiwidW5kZWZpbmVkIiwiaGFuZGxlRmlsZUF0dGFjaCIsIl9yZWYyIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJmaWxlIiwiX2ZpbGVOYW1lUGFydHMkcG9wIiwiZmlsZU5hbWVQYXJ0cyIsImZpbGVFeHRlbnNpb24iLCJpc0ltYWdlQnlFeHRlbnNpb24iLCJpc0ltYWdlQnlNaW1lIiwiaXNJbWFnZSIsImV4dGVuc2lvblRvSWNvbiIsImljb24iLCJleHRlbnNpb25Ub01pbWVUeXBlIiwibWltZVR5cGVCeUV4dGVuc2lvbiIsInByb2Nlc3NlZEZpbGUiLCJuZXdBdHRhY2htZW50IiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInNwbGl0IiwibGVuZ3RoIiwiY29uY2F0IiwicG9wIiwidG9Mb3dlckNhc2UiLCJpbmNsdWRlcyIsInN0YXJ0c1dpdGgiLCJjb2xvciIsIndpZHRoIiwiaGVpZ2h0Iiwic2VudCIsImNvbnNvbGUiLCJlcnJvciIsIm9yaWdpbmFsRmlsZSIsIkRhdGUiLCJub3ciLCJNYXRoIiwicmFuZG9tIiwic2l6ZSIsIl90b0NvbnN1bWFibGVBcnJheSIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiaGFuZGxlRGVsZXRlQXR0YWNobWVudCIsImZpbGVJZCIsImZpbHRlciIsImF0dGFjaG1lbnQiLCJpc01BSUEiLCJkaXNjbGFpbWVyTWVzc2FnZSIsImFnZW50TmFtZSIsImNvbnRleHRDaGlwIiwibGVhZGluZ0ljb24iLCJjaGlsZHJlbiIsInBvcG92ZXJBbmNob3JSZWYiLCJjbGFzc05hbWUiLCJwbGFjZWhvbGRlciIsImlucHV0X3BsYWNlaG9sZGVyIiwib25GaWxlQXR0YWNoIiwib25EZWxldGVBdHRhY2htZW50IiwiYXR0IiwibWFwIiwiTnVtYmVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRGb290ZXIvQ2hhdEZvb3Rlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdW5kZWYgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L3JlcXVpcmUtZGVmYXVsdC1wcm9wcyAqL1xuaW1wb3J0IHsgUmVhY3ROb2RlLCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEF0dGFjaCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0F0dGFjaCdcbmltcG9ydCB7IE1PREFMX0VMRU1FTlRTIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlTW9kYWwvdXNlTW9kYWwnXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7IE1BSUFJbnB1dCB9IGZyb20gJy4uLy4uL2F0b21zL01BSUFJbnB1dCdcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSwgQ29udGV4dE1lbnRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IFN0eWxlZENoYXRGb290ZXIgfSBmcm9tICcuL3N0eWxlcydcbmltcG9ydCB7IFRhc2tMaW5rSWNvbiB9IGZyb20gJy4uLy4uL2F0b21zL2ljb25zL1Rhc2tMaW5rSWNvbidcbmltcG9ydCB7XG4gIENzdkZpbGVJY29uLFxuICBNREZpbGVJY29uLFxuICBEb2NGaWxlSWNvbixcbiAgRG9jeEZpbGVJY29uLFxuICBUZXh0RmlsZUljb24sXG4gIFBkZkZpbGVJY29uLFxuICBJbWFnZUZpbGVJY29uLFxuICBYbHN4RmlsZUljb24sXG4gIFhsc0ZpbGVJY29uLFxuICBNcDNGaWxlSWNvbixcbiAgV2F2RmlsZUljb24sXG4gIEZsYWNGaWxlSWNvbixcbiAgTTRhRmlsZUljb24sXG4gIE1wNEZpbGVJY29uLFxuICBPZ2FGaWxlSWNvbixcbiAgT2dnRmlsZUljb24sXG4gIFdlYm1GaWxlSWNvbixcbn0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMnXG5pbXBvcnQgeyBwcmVwcm9jZXNzSW1hZ2VGb3JCYWNrZW5kIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaW1hZ2VQcmVwcm9jZXNzb3InXG5pbXBvcnQgeyB2YWxpZGF0ZUlzTWFpYSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJ1xuaW1wb3J0IHsgaXNNYWlha2VyQWdlbnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9hZ2VudERpc3BsYXlOYW1lJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IENoYXREaXNjbGFpbWVyTWVzc2FnZSB9IGZyb20gJy4uLy4uL2F0b21zL0NoYXREaXNjbGFpbWVyTWVzc2FnZSdcbmltcG9ydCB0eXBlIHsgTWFpYUNoYXRNb2RhbExheW91dE1vZGUgfSBmcm9tICcuLi9DaGF0QUlNb2RhbC9sYXlvdXQnXG5cbmV4cG9ydCB0eXBlIEF0dGFjaG1lbnRGaWxlID0ge1xuICBmaWxlOiBGaWxlXG4gIG9yaWdpbmFsRmlsZT86IEZpbGVcbiAgdXJsX3RodW1ibmFpbD86IHN0cmluZ1xuICB1cmxfb3JpZ2luYWw/OiBzdHJpbmdcbiAgdXJsX2ZpbGU/OiBzdHJpbmdcbiAgcm9sZT86ICd1c2VyJyB8ICdhc3Npc3RhbnQnXG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHNpemU6IG51bWJlclxuICB0eXBlOiBzdHJpbmdcbiAgaWNvbj86IFJlYWN0Tm9kZVxuICBleHQ/OiBzdHJpbmdcbiAgc3RhdHVzPzogJ3BlbmRpbmcnIHwgJ3Byb2Nlc3NpbmcnIHwgJ2RvbmUnIHwgJ2ZhaWxlZCcgfCAnc3RhcnRlZCdcbn1cblxudHlwZSBDaGF0Rm9vdGVyUHJvcHMgPSB7XG4gIGl0ZW1zPzogc3RyaW5nW11cbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGlzU3RyZWFtaW5nPzogYm9vbGVhblxuICBpc1dyaXRpbmc/OiBib29sZWFuXG4gIG9uU2VuZE1lc3NhZ2U6IChcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLFxuICAgIGZhcUlkPzogc3RyaW5nLFxuICAgIGFnZW50U3VnZ2VzdGlvbklkPzogc3RyaW5nLFxuICAgIG1lbnRpb25zPzogQ29udGV4dE1lbnRpb25bXSxcbiAgICBmdWFJZD86IHN0cmluZyxcbiAgICBzY0lkPzogc3RyaW5nXG4gICkgPT4gdm9pZFxuICBvblN0b3BHZW5lcmF0aW9uPzogKCgpID0+IHZvaWQpIHwgbnVsbFxuICBjaGF0SWQ/OiBzdHJpbmcgfCBudWxsXG4gIG5ld0NoYXRLZXk/OiBudW1iZXJcbiAgdG9vbHRpcFpJbmRleD86IG51bWJlclxuICBsYXlvdXRNb2RlPzogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbn1cblxuZXhwb3J0IGNvbnN0IEljb25CeUZpbGVUeXBlID0ge1xuICAndGV4dC9wbGFpbic6IDxUZXh0RmlsZUljb24gLz4sXG4gICd0ZXh0L3gtbWFya2Rvd24nOiA8TURGaWxlSWNvbiAvPixcbiAgJ3RleHQvY3N2JzogPENzdkZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vbXN3b3JkJzogPERvY0ZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnOiA8RG9jeEZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vcGRmJzogPFBkZkZpbGVJY29uIC8+LFxuICAnaW1hZ2UvcG5nJzogPEltYWdlRmlsZUljb24gLz4sXG4gICdpbWFnZS9qcGVnJzogPEltYWdlRmlsZUljb24gLz4sXG4gICdpbWFnZS9qcGcnOiA8SW1hZ2VGaWxlSWNvbiAvPixcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JzogPFhsc3hGaWxlSWNvbiAvPixcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCc6IDxYbHNGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL21wZWcnOiA8TXAzRmlsZUljb24gLz4sXG4gICdhdWRpby9mbGFjJzogPEZsYWNGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL21wNCc6IDxNcDRGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL200YSc6IDxNNGFGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL29nZyc6IDxPZ2dGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL29nYSc6IDxPZ2FGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL3dhdic6IDxXYXZGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL3dlYm0nOiA8V2VibUZpbGVJY29uIC8+LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gQ2hhdEZvb3Rlcih7XG4gIG9uU2VuZE1lc3NhZ2UsXG4gIGl0ZW1zLFxuICBkaXNhYmxlZCxcbiAgaXNTdHJlYW1pbmcsXG4gIGlzV3JpdGluZyxcbiAgb25TdG9wR2VuZXJhdGlvbixcbiAgY2hhdElkLFxuICBuZXdDaGF0S2V5LFxuICB0b29sdGlwWkluZGV4LFxuICBsYXlvdXRNb2RlLFxufTogQ2hhdEZvb3RlclByb3BzKSB7XG4gIGNvbnN0IHsgcHJvamVjdCwgYWdlbnQsIGNoaXBzUHJvamVjdCwgY2xpZW50LCB0YXNrLCBkZWVwTGlua1NlbmRQZW5kaW5nUmVmIH0gPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgY29uc3QgeyB0IH0gPSB1c2VUKClcbiAgY29uc3QgZXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IGlucHV0UG9wb3ZlckFuY2hvclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgaXNPcmNoZXN0cmF0b3IgPSBhZ2VudD8udHlwZSA9PT0gJ29yY2hlc3RyYXRvcidcbiAgY29uc3QgW2F0dGFjaG1lbnRzLCBzZXRBdHRhY2htZW50c10gPSB1c2VTdGF0ZTxBdHRhY2htZW50RmlsZVtdPihbXSlcbiAgY29uc3QgW2xvYWRpbmdNZXNzYWdlcywgc2V0TG9hZGluZ01lc3NhZ2VzXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IHJlcG9ydGVkRXZlbnQgPSB1c2VSZWYoZmFsc2UpXG4gIGNvbnN0IGlzTWFya2V0cGxhY2VHbG9iYWxBZ2VudCA9IGlzTWFpYWtlckFnZW50KGFnZW50KVxuXG4gIC8vIHVzZUVmZmVjdCB0byBsaXN0ZW4gbG9hZGluZ01lc3NhZ2VzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlTG9hZGluZ01lc3NhZ2VzQ2hhbmdlID0gKGU6IEN1c3RvbUV2ZW50KSA9PiB7XG4gICAgICBzZXRMb2FkaW5nTWVzc2FnZXMoZS5kZXRhaWwubG9hZGluZ01lc3NhZ2VzKVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYXQtbG9hZGluZy1tZXNzYWdlcy1jaGFuZ2VkJywgaGFuZGxlTG9hZGluZ01lc3NhZ2VzQ2hhbmdlIGFzIEV2ZW50TGlzdGVuZXIpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhdC1sb2FkaW5nLW1lc3NhZ2VzLWNoYW5nZWQnLCBoYW5kbGVMb2FkaW5nTWVzc2FnZXNDaGFuZ2UgYXMgRXZlbnRMaXN0ZW5lcilcbiAgICB9XG4gIH0sIFtdKVxuXG4gIC8vIENsZWFyIGF0dGFjaG1lbnRzIHdoZW4gc2Vzc2lvbiBjaGFuZ2VzICh1c2VyIHN3aXRjaGVzIHRvIGEgZGlmZmVyZW50IGNoYXQpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlU2Vzc2lvbkNoYW5nZSA9ICgpID0+IHtcbiAgICAgIGlmIChkZWVwTGlua1NlbmRQZW5kaW5nUmVmKSB7XG4gICAgICAgIGRlZXBMaW5rU2VuZFBlbmRpbmdSZWYuY3VycmVudCA9IGZhbHNlXG4gICAgICB9XG4gICAgICBzZXRBdHRhY2htZW50cyhbXSlcbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGF0LXNlc3Npb24tY2hhbmdlZCcsIGhhbmRsZVNlc3Npb25DaGFuZ2UpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhdC1zZXNzaW9uLWNoYW5nZWQnLCBoYW5kbGVTZXNzaW9uQ2hhbmdlKVxuICAgIH1cbiAgfSwgW2RlZXBMaW5rU2VuZFBlbmRpbmdSZWZdKVxuXG4gIGNvbnN0IHsgY2hpcEl0ZW1zLCBjaGlwVHlwZSB9ID0gdXNlTWVtbzx7IGNoaXBJdGVtczogc3RyaW5nW107IGNoaXBUeXBlPzogQ29udGV4dEVudGl0eVR5cGUgfT4oKCkgPT4ge1xuICAgIGlmIChpdGVtcykgcmV0dXJuIHsgY2hpcEl0ZW1zOiBpdGVtcyB9XG5cbiAgICAvLyBNb25vLWNvbnRleHRvOiBzb2xvIGxhIGVudGlkYWQgbcOhcyBlc3BlY8OtZmljYSAoc2luIGFuaWRhciBjbGllbnRlL3Byb3llY3RvL3RhcmVhKS5cbiAgICBpZiAoYWdlbnQ/LnR5cGUgPT09ICdvcmNoZXN0cmF0b3InKSB7XG4gICAgICBpZiAodGFzaz8ubmFtZSkgcmV0dXJuIHsgY2hpcEl0ZW1zOiBbdGFzay5uYW1lXSwgY2hpcFR5cGU6ICd0YXNrJyB9XG4gICAgICBpZiAoY2hpcHNQcm9qZWN0Py5wcm9qZWN0TmFtZSkgcmV0dXJuIHsgY2hpcEl0ZW1zOiBbY2hpcHNQcm9qZWN0LnByb2plY3ROYW1lXSwgY2hpcFR5cGU6ICdwcm9qZWN0JyB9XG4gICAgICBpZiAoY2xpZW50Py5uYW1lKSByZXR1cm4geyBjaGlwSXRlbXM6IFtjbGllbnQubmFtZV0sIGNoaXBUeXBlOiAnY2xpZW50JyB9XG4gICAgICByZXR1cm4geyBjaGlwSXRlbXM6IFtdIH1cbiAgICB9XG5cbiAgICBpZiAoYWdlbnQ/LmVudGl0eSA9PT0gJ2NsaWVudCcgJiYgY2xpZW50Py5uYW1lKSB7XG4gICAgICByZXR1cm4geyBjaGlwSXRlbXM6IFtjbGllbnQubmFtZV0sIGNoaXBUeXBlOiAnY2xpZW50JyB9XG4gICAgfVxuICAgIGlmICh0YXNrPy5uYW1lKSByZXR1cm4geyBjaGlwSXRlbXM6IFt0YXNrLm5hbWVdLCBjaGlwVHlwZTogJ3Rhc2snIH1cbiAgICBpZiAoY2hpcHNQcm9qZWN0Py5wcm9qZWN0TmFtZSkgcmV0dXJuIHsgY2hpcEl0ZW1zOiBbY2hpcHNQcm9qZWN0LnByb2plY3ROYW1lXSwgY2hpcFR5cGU6ICdwcm9qZWN0JyB9XG4gICAgaWYgKHByb2plY3Q/Lm5hbWUpIHJldHVybiB7IGNoaXBJdGVtczogW3Byb2plY3QubmFtZV0sIGNoaXBUeXBlOiAncHJvamVjdCcgfVxuXG4gICAgcmV0dXJuIHsgY2hpcEl0ZW1zOiBbXSB9XG4gIH0sIFtpdGVtcywgcHJvamVjdCwgY2hpcHNQcm9qZWN0LCBhZ2VudD8uZW50aXR5LCBhZ2VudD8udHlwZSwgY2xpZW50LCB0YXNrPy5uYW1lXSlcblxuICBjb25zdCBvbkNoYW5nZSA9ICgpID0+IHtcbiAgICBpZiAocmVwb3J0ZWRFdmVudC5jdXJyZW50KSByZXR1cm5cbiAgICBldmVudChFVkVOVFMucG1BaVR5cGVkVGV4dCwge1xuICAgICAgYWdlbnRfdHlwZTogaXNNYXJrZXRwbGFjZUdsb2JhbEFnZW50ID8gJ21hcmtldHBsYWNlJyA6IGFnZW50Py50eXBlLFxuICAgIH0pXG4gICAgcmVwb3J0ZWRFdmVudC5jdXJyZW50ID0gdHJ1ZVxuICB9XG5cbiAgY29uc3QgaGFuZGxlU2VuZE1lc3NhZ2UgPSAoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIG5ld0F0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSxcbiAgICBtZW50aW9ucz86IENvbnRleHRNZW50aW9uW10sXG4gICAgZmFxSWQ/OiBzdHJpbmcsXG4gICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmcsXG4gICAgZnVhSWQ/OiBzdHJpbmcsXG4gICAgc2NJZD86IHN0cmluZ1xuICApID0+IHtcbiAgICBjb25zdCBmcm9tRGVlcExpbmsgPSBCb29sZWFuKGRlZXBMaW5rU2VuZFBlbmRpbmdSZWY/LmN1cnJlbnQpXG4gICAgaWYgKGRlZXBMaW5rU2VuZFBlbmRpbmdSZWYpIHtcbiAgICAgIGRlZXBMaW5rU2VuZFBlbmRpbmdSZWYuY3VycmVudCA9IGZhbHNlXG4gICAgfVxuICAgIGV2ZW50KEVWRU5UUy5haUNoYXRTZW5kLCB7XG4gICAgICBhZ2VudF90eXBlOiBpc01hcmtldHBsYWNlR2xvYmFsQWdlbnQgPyAnbWFya2V0cGxhY2UnIDogYWdlbnQ/LnR5cGUsXG4gICAgICBhZ2VudF9pZDogYWdlbnQ/LmlkLFxuICAgICAgYWdlbnRfbmFtZTogYWdlbnQ/Lm5hbWUsXG4gICAgICAuLi4oZnJvbURlZXBMaW5rID8geyBzb3VyY2U6ICdkZWVwX2xpbmsnIH0gOiB7fSksXG4gICAgfSlcbiAgICBvblNlbmRNZXNzYWdlKG1lc3NhZ2UsIG5ld0F0dGFjaG1lbnRzLCBmYXFJZCwgYWdlbnRTdWdnZXN0aW9uSWQsIG1lbnRpb25zLCBmdWFJZCwgc2NJZClcbiAgICBzZXRBdHRhY2htZW50cyhbXSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEZhcSA9IChtZXNzYWdlOiBzdHJpbmcsIGZhcUlkOiBzdHJpbmcpID0+IHtcbiAgICBvblNlbmRNZXNzYWdlKG1lc3NhZ2UsIHVuZGVmaW5lZCwgZmFxSWQsIHVuZGVmaW5lZClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUZpbGVBdHRhY2ggPSBhc3luYyAoZmlsZTogRmlsZSkgPT4ge1xuICAgIGNvbnN0IGZpbGVOYW1lUGFydHMgPSBmaWxlLm5hbWUuc3BsaXQoJy4nKVxuICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBmaWxlTmFtZVBhcnRzLmxlbmd0aCA+IDEgPyBgLiR7ZmlsZU5hbWVQYXJ0cy5wb3AoKT8udG9Mb3dlckNhc2UoKX1gIDogJydcbiAgICBjb25zdCBpc0ltYWdlQnlFeHRlbnNpb24gPSBbJy5wbmcnLCAnLmpwZycsICcuanBlZyddLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pXG4gICAgY29uc3QgaXNJbWFnZUJ5TWltZSA9IGZpbGUudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKVxuICAgIGNvbnN0IGlzSW1hZ2UgPSBpc0ltYWdlQnlNaW1lICYmIGlzSW1hZ2VCeUV4dGVuc2lvblxuICAgIC8vIE1hcGVvIGRlIGV4dGVuc2nDs24gYSBpY29ubyBkaXJlY3RvIHBhcmEgY2Fzb3MgZXNwZWNpYWxlcyAoYXVkaW8vb2dnIHkgYXVkaW8vbXA0KVxuICAgIGNvbnN0IGV4dGVuc2lvblRvSWNvbjogUmVjb3JkPHN0cmluZywgUmVhY3ROb2RlPiA9IHtcbiAgICAgICcub2dnJzogPE9nZ0ZpbGVJY29uIC8+LFxuICAgICAgJy5vZ2EnOiA8T2dhRmlsZUljb24gLz4sXG4gICAgICAnLm1wNCc6IDxNcDRGaWxlSWNvbiAvPixcbiAgICAgICcubTRhJzogPE00YUZpbGVJY29uIC8+LFxuICAgIH1cblxuICAgIGxldCBpY29uID0gSWNvbkJ5RmlsZVR5cGVbZmlsZS50eXBlXVxuXG4gICAgLy8gU2kgZWwgdGlwbyBlcyBhdWRpby9vZ2cgbyBhdWRpby9tcDQsIHVzYXIgbGEgZXh0ZW5zacOzbiBwYXJhIGRldGVybWluYXIgZWwgaWNvbm9cbiAgICBpZiAoKGZpbGUudHlwZSA9PT0gJ2F1ZGlvL29nZycgfHwgZmlsZS50eXBlID09PSAnYXVkaW8vbXA0JykgJiYgZmlsZUV4dGVuc2lvbikge1xuICAgICAgaWNvbiA9IGV4dGVuc2lvblRvSWNvbltmaWxlRXh0ZW5zaW9uXSB8fCBpY29uXG4gICAgfVxuXG4gICAgaWYgKCFpY29uKSB7XG4gICAgICBjb25zdCBleHRlbnNpb25Ub01pbWVUeXBlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgICAnLnR4dCc6ICd0ZXh0L3BsYWluJyxcbiAgICAgICAgJy5tZCc6ICd0ZXh0L3gtbWFya2Rvd24nLFxuICAgICAgICAnLmNzdic6ICd0ZXh0L2NzdicsXG4gICAgICAgICcuZG9jJzogJ2FwcGxpY2F0aW9uL21zd29yZCcsXG4gICAgICAgICcuZG9jeCc6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCcsXG4gICAgICAgICcucGRmJzogJ2FwcGxpY2F0aW9uL3BkZicsXG4gICAgICAgICcueGxzeCc6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcsXG4gICAgICAgICcueGxzJzogJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsXG4gICAgICAgICcuZmxhYyc6ICdhdWRpby9mbGFjJyxcbiAgICAgICAgJy5tNGEnOiAnYXVkaW8vbTRhJyxcbiAgICAgICAgJy5tcDMnOiAnYXVkaW8vbXBlZycsXG4gICAgICAgICcubXA0JzogJ2F1ZGlvL21wNCcsXG4gICAgICAgICcub2dhJzogJ2F1ZGlvL29nYScsXG4gICAgICAgICcub2dnJzogJ2F1ZGlvL29nZycsXG4gICAgICAgICcud2F2JzogJ2F1ZGlvL3dhdicsXG4gICAgICAgICcud2VibSc6ICdhdWRpby93ZWJtJyxcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1pbWVUeXBlQnlFeHRlbnNpb24gPSBleHRlbnNpb25Ub01pbWVUeXBlW2ZpbGVFeHRlbnNpb25dXG4gICAgICBpZiAobWltZVR5cGVCeUV4dGVuc2lvbikge1xuICAgICAgICBpY29uID0gSWNvbkJ5RmlsZVR5cGVbbWltZVR5cGVCeUV4dGVuc2lvbl1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGljb24gPSA8QXR0YWNoIGNvbG9yPVwicmdiYSgxMzUsIDY0LCAxOTEsIDEpXCIgd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSAvPlxuICAgICAgfVxuICAgIH1cbiAgICBsZXQgcHJvY2Vzc2VkRmlsZSA9IGZpbGVcblxuICAgIC8vIFNpIGVzIHVuYSBpbWFnZW4sIHByZS1wcm9jZXNhcmxhIHBhcmEgZWwgYmFja2VuZCAoZWwgY2hpcCBkZWwgaW5wdXQgdXNhIGVsIMOtY29ubyBkZSB0aXBvKS5cbiAgICBpZiAoaXNJbWFnZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcHJvY2Vzc2VkRmlsZSA9IGF3YWl0IHByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQoZmlsZSlcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHByZS1wcm9jZXNhbmRvIGltYWdlbjonLCBlcnJvcilcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBuZXdBdHRhY2htZW50OiBBdHRhY2htZW50RmlsZSA9IHtcbiAgICAgIGZpbGU6IHByb2Nlc3NlZEZpbGUsXG4gICAgICBvcmlnaW5hbEZpbGU6IGlzSW1hZ2UgPyBmaWxlIDogdW5kZWZpbmVkLFxuICAgICAgaWQ6IGAke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKX1gLFxuICAgICAgbmFtZTogZmlsZS5uYW1lLFxuICAgICAgc2l6ZTogcHJvY2Vzc2VkRmlsZS5zaXplLFxuICAgICAgdHlwZTogcHJvY2Vzc2VkRmlsZS50eXBlLFxuICAgICAgaWNvbixcbiAgICB9XG5cbiAgICBzZXRBdHRhY2htZW50cyhwcmV2ID0+IFsuLi5wcmV2LCBuZXdBdHRhY2htZW50XSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZUF0dGFjaG1lbnQgPSAoZmlsZUlkOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBuZXdBdHRhY2htZW50cyA9IGF0dGFjaG1lbnRzLmZpbHRlcihhdHRhY2htZW50ID0+IGF0dGFjaG1lbnQuaWQgIT09IGZpbGVJZClcbiAgICBzZXRBdHRhY2htZW50cyhuZXdBdHRhY2htZW50cylcbiAgfVxuXG4gIGNvbnN0IGlzTUFJQSA9IHZhbGlkYXRlSXNNYWlhKGFnZW50IGFzIEFnZW50KVxuICBjb25zdCBkaXNjbGFpbWVyTWVzc2FnZSA9IGlzTUFJQVxuICAgID8gdCgnY2hhdC5mb290ZXIuZGlzY2xhaW1lcicsIHsgYWdlbnROYW1lOiB0KCdnbG9iYWxzLmJyYW5kTmFtZScpIH0pXG4gICAgOiB0KCdjaGF0LmZvb3Rlci5kaXNjbGFpbWVyQWdlbnQnKVxuXG4gIGNvbnN0IGNvbnRleHRDaGlwID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFpc01BSUEgfHwgbG9hZGluZ01lc3NhZ2VzIHx8ICFjaGlwSXRlbXMubGVuZ3RoKSByZXR1cm4gbnVsbFxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGl0ZW1zOiBjaGlwSXRlbXMsXG4gICAgICB0eXBlOiBjaGlwVHlwZSxcbiAgICAgIGxlYWRpbmdJY29uOiBjaGlwVHlwZSA9PT0gJ3Rhc2snID8gPFRhc2tMaW5rSWNvbiB3aWR0aD17MTV9IGhlaWdodD17MTV9IGNvbG9yPVwiIzgwODA4MFwiIC8+IDogdW5kZWZpbmVkLFxuICAgIH1cbiAgfSwgW2lzTUFJQSwgbG9hZGluZ01lc3NhZ2VzLCBjaGlwSXRlbXMsIGNoaXBUeXBlXSlcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDaGF0Rm9vdGVyPlxuICAgICAgPE1BSUFJbnB1dFxuICAgICAgICBwb3BvdmVyQW5jaG9yUmVmPXtpbnB1dFBvcG92ZXJBbmNob3JSZWZ9XG4gICAgICAgIG9uU2VuZE1lc3NhZ2U9e2hhbmRsZVNlbmRNZXNzYWdlfVxuICAgICAgICBjbGFzc05hbWU9e01PREFMX0VMRU1FTlRTfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIHBsYWNlaG9sZGVyPXtcbiAgICAgICAgICBhZ2VudD8uaW5wdXRfcGxhY2Vob2xkZXIgfHxcbiAgICAgICAgICAoaXNPcmNoZXN0cmF0b3IgPyB0KCdjaGF0LmZvb3Rlci5vcmNoZXN0cmF0b3JQbGFjZWhvbGRlcicpIDogdCgnY2hhdC5mb290ZXIucGxhY2Vob2xkZXInKSlcbiAgICAgICAgfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIG9uRmlsZUF0dGFjaD17aGFuZGxlRmlsZUF0dGFjaH1cbiAgICAgICAgb25EZWxldGVBdHRhY2htZW50PXtoYW5kbGVEZWxldGVBdHRhY2htZW50fVxuICAgICAgICBhdHRhY2htZW50cz17YXR0YWNobWVudHNcbiAgICAgICAgICAuZmlsdGVyKGF0dCA9PiAhIWF0dC5maWxlKVxuICAgICAgICAgIC5tYXAoYXR0ID0+ICh7XG4gICAgICAgICAgICBmaWxlOiBhdHQuZmlsZSEsXG4gICAgICAgICAgICBvcmlnaW5hbEZpbGU6IGF0dC5vcmlnaW5hbEZpbGUsXG4gICAgICAgICAgICBpZDogYXR0LmlkLFxuICAgICAgICAgICAgbmFtZTogYXR0Lm5hbWUsXG4gICAgICAgICAgICBzaXplOiB0eXBlb2YgYXR0LnNpemUgPT09ICdudW1iZXInID8gYXR0LnNpemUgOiBOdW1iZXIoYXR0LnNpemUpIHx8IDAsXG4gICAgICAgICAgICB0eXBlOiBhdHQudHlwZSxcbiAgICAgICAgICAgIGljb246IGF0dC5pY29uLFxuICAgICAgICAgIH0pKX1cbiAgICAgICAgaXNTdHJlYW1pbmc9e2lzU3RyZWFtaW5nfVxuICAgICAgICBpc1dyaXRpbmc9e2lzV3JpdGluZ31cbiAgICAgICAgb25TdG9wR2VuZXJhdGlvbj17b25TdG9wR2VuZXJhdGlvbn1cbiAgICAgICAgY2hhdElkPXtjaGF0SWQgfHwgdW5kZWZpbmVkfVxuICAgICAgICBuZXdDaGF0S2V5PXtuZXdDaGF0S2V5fVxuICAgICAgICB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgICBsYXlvdXRNb2RlPXtsYXlvdXRNb2RlfVxuICAgICAgICBjb250ZXh0Q2hpcD17Y29udGV4dENoaXB9XG4gICAgICAvPlxuICAgICAgPENoYXREaXNjbGFpbWVyTWVzc2FnZSBtZXNzYWdlPXtkaXNjbGFpbWVyTWVzc2FnZX0gLz5cbiAgICA8L1N0eWxlZENoYXRGb290ZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBb0JBLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsUUFBUSxPQUFPO0FBQ3ZFLFNBQVNDLE1BQU0sUUFBUSx5Q0FBeUM7QUFDaEUsU0FBU0MsY0FBYyxRQUFRLGtDQUFrQzs7QUFFakU7QUFDQSxTQUFTQyxTQUFTLFFBQVEsdUJBQXVCO0FBQ2pELFNBQVNDLGdCQUFnQixRQUFRLGlDQUFpQztBQUNs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
|
|
368
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJBdHRhY2giLCJHbG9iZSIsIkxpc3RDaGVja2xpc3QiLCJNT0RBTF9FTEVNRU5UUyIsIkNoaXAiLCJNQUlBSW5wdXQiLCJDaGF0Rm9vdGVyQ29yQWNjZXNzIiwidXNlR2xvYmFsQ29udGV4dCIsInVzZVQiLCJFVkVOVFMiLCJ1c2VFdmVudCIsIlN0eWxlZENoYXRGb290ZXIiLCJDaGlwc0FuZEZhcXNSb3ciLCJDb250ZXh0QmFyTGVmdCIsIkZvb3RlckFjdGlvbnNSaWdodCIsIkNzdkZpbGVJY29uIiwiTURGaWxlSWNvbiIsIkRvY0ZpbGVJY29uIiwiRG9jeEZpbGVJY29uIiwiVGV4dEZpbGVJY29uIiwiUGRmRmlsZUljb24iLCJJbWFnZUZpbGVJY29uIiwiWGxzeEZpbGVJY29uIiwiWGxzRmlsZUljb24iLCJNcDNGaWxlSWNvbiIsIldhdkZpbGVJY29uIiwiRmxhY0ZpbGVJY29uIiwiTTRhRmlsZUljb24iLCJNcDRGaWxlSWNvbiIsIk9nYUZpbGVJY29uIiwiT2dnRmlsZUljb24iLCJXZWJtRmlsZUljb24iLCJJbWFnZVByZXZpZXciLCJwcmVwcm9jZXNzSW1hZ2VGb3JCYWNrZW5kIiwidmFsaWRhdGVJc01haWEiLCJpc01haWFrZXJBZ2VudCIsIkNoYXREaXNjbGFpbWVyTWVzc2FnZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJJY29uQnlGaWxlVHlwZSIsIkNoYXRGb290ZXIiLCJfcmVmIiwiX2FnZW50JGNvbm5lY3RvcnMiLCJvblNlbmRNZXNzYWdlIiwiaXRlbXMiLCJkaXNhYmxlZCIsImlzU3RyZWFtaW5nIiwiaXNXcml0aW5nIiwib25TdG9wR2VuZXJhdGlvbiIsImNoYXRJZCIsIm5ld0NoYXRLZXkiLCJfcmVmJHNob3dGYXFzIiwic2hvd0ZhcXMiLCJ0b29sdGlwWkluZGV4IiwibGF5b3V0TW9kZSIsIl91c2VHbG9iYWxDb250ZXh0IiwicHJvamVjdCIsImFnZW50IiwiY2hpcHNQcm9qZWN0IiwiY2xpZW50IiwidGFzayIsInNlY3Rpb24iLCJkZWVwTGlua1NlbmRQZW5kaW5nUmVmIiwiX3VzZVQiLCJ0IiwiZXZlbnQiLCJpbnB1dFBvcG92ZXJBbmNob3JSZWYiLCJjb250ZXh0QmFyQW5jaG9yUmVmIiwiaXNPcmNoZXN0cmF0b3IiLCJ0eXBlIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiYXR0YWNobWVudHMiLCJzZXRBdHRhY2htZW50cyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwibG9hZGluZ01lc3NhZ2VzIiwic2V0TG9hZGluZ01lc3NhZ2VzIiwicmVwb3J0ZWRFdmVudCIsImlzTWFya2V0cGxhY2VHbG9iYWxBZ2VudCIsImhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSIsImUiLCJkZXRhaWwiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlU2Vzc2lvbkNoYW5nZSIsImN1cnJlbnQiLCJfdXNlTWVtbyIsImNoaXBJdGVtcyIsIm5hbWUiLCJjaGlwVHlwZSIsInByb2plY3ROYW1lIiwiZW50aXR5Iiwib25DaGFuZ2UiLCJwbUFpVHlwZWRUZXh0IiwiYWdlbnRfdHlwZSIsImhhbmRsZVNlbmRNZXNzYWdlIiwibWVzc2FnZSIsIm5ld0F0dGFjaG1lbnRzIiwibWVudGlvbnMiLCJmYXFJZCIsImFnZW50U3VnZ2VzdGlvbklkIiwiZnVhSWQiLCJzY0lkIiwiZnJvbURlZXBMaW5rIiwiQm9vbGVhbiIsImFpQ2hhdFNlbmQiLCJfb2JqZWN0U3ByZWFkIiwiYWdlbnRfaWQiLCJpZCIsImFnZW50X25hbWUiLCJzb3VyY2UiLCJoYW5kbGVTZWxlY3RGYXEiLCJ1bmRlZmluZWQiLCJoYW5kbGVGaWxlQXR0YWNoIiwiX3JlZjIiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsImZpbGUiLCJfZmlsZU5hbWVQYXJ0cyRwb3AiLCJmaWxlTmFtZVBhcnRzIiwiZmlsZUV4dGVuc2lvbiIsImlzSW1hZ2VCeUV4dGVuc2lvbiIsImlzSW1hZ2VCeU1pbWUiLCJpc0ltYWdlIiwiZXh0ZW5zaW9uVG9JY29uIiwiaWNvbiIsImV4dGVuc2lvblRvTWltZVR5cGUiLCJtaW1lVHlwZUJ5RXh0ZW5zaW9uIiwicHJvY2Vzc2VkRmlsZSIsImltYWdlVXJsIiwibmV3QXR0YWNobWVudCIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJzcGxpdCIsImxlbmd0aCIsImNvbmNhdCIsInBvcCIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJzdGFydHNXaXRoIiwiY29sb3IiLCJ3aWR0aCIsImhlaWdodCIsInNlbnQiLCJjb25zb2xlIiwiZXJyb3IiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJzcmMiLCJhbHQiLCJib3JkZXJSYWRpdXMiLCJvcmlnaW5hbEZpbGUiLCJEYXRlIiwibm93IiwiTWF0aCIsInJhbmRvbSIsInNpemUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsImhhbmRsZURlbGV0ZUF0dGFjaG1lbnQiLCJmaWxlSWQiLCJmaWx0ZXIiLCJhdHRhY2htZW50IiwiaXNNQUlBIiwiZGlzY2xhaW1lck1lc3NhZ2UiLCJhZ2VudE5hbWUiLCJpc0ZhcUludGVyYWN0aW9uRGlzYWJsZWQiLCJzaG91bGRTaG93RmFxcyIsImhhc0NvckFjY2VzcyIsImNvbm5lY3RvcnMiLCJzb21lIiwiY29ubmVjdG9yIiwiZ3JvdXAiLCJzbHVncyIsInNsdWciLCJ0cmltIiwic2hvdWxkU2hvd0NvbnRleHRCYXIiLCJjaGlsZHJlbiIsInJlZiIsImxlYWRpbmdJY29uIiwiZGVmYXVsdFZhbHVlIiwicG9wb3ZlckFuY2hvclJlZiIsImNsYXNzTmFtZSIsInBsYWNlaG9sZGVyIiwiaW5wdXRfcGxhY2Vob2xkZXIiLCJvbkZpbGVBdHRhY2giLCJvbkRlbGV0ZUF0dGFjaG1lbnQiLCJhdHQiLCJtYXAiLCJOdW1iZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlZiAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvcmVxdWlyZS1kZWZhdWx0LXByb3BzICovXG5pbXBvcnQgeyBSZWFjdE5vZGUsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQXR0YWNoIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQXR0YWNoJ1xuaW1wb3J0IHsgR2xvYmUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9HbG9iZSdcbmltcG9ydCB7IExpc3RDaGVja2xpc3QgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9MaXN0Q2hlY2tsaXN0J1xuaW1wb3J0IHsgTU9EQUxfRUxFTUVOVFMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VNb2RhbC91c2VNb2RhbCdcblxuaW1wb3J0IHsgQ2hpcCB9IGZyb20gJy4uLy4uL2F0b21zL0NoaXAnXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQgeyBNQUlBSW5wdXQgfSBmcm9tICcuLi8uLi9hdG9tcy9NQUlBSW5wdXQnXG5pbXBvcnQgeyBDaGF0Rm9vdGVyRmFxcyB9IGZyb20gJy4vQ2hhdEZvb3RlckZhcXMnXG5pbXBvcnQgeyBDaGF0Rm9vdGVyQ29yQWNjZXNzIH0gZnJvbSAnLi9DaGF0Rm9vdGVyQ29yQWNjZXNzJ1xuXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgQ29udGV4dEVudGl0eVR5cGUsIENvbnRleHRNZW50aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5pbXBvcnQgeyBTdHlsZWRDaGF0Rm9vdGVyLCBDaGlwc0FuZEZhcXNSb3csIENvbnRleHRCYXJMZWZ0LCBGb290ZXJBY3Rpb25zUmlnaHQgfSBmcm9tICcuL3N0eWxlcydcbmltcG9ydCB7XG4gIENzdkZpbGVJY29uLFxuICBNREZpbGVJY29uLFxuICBEb2NGaWxlSWNvbixcbiAgRG9jeEZpbGVJY29uLFxuICBUZXh0RmlsZUljb24sXG4gIFBkZkZpbGVJY29uLFxuICBJbWFnZUZpbGVJY29uLFxuICBYbHN4RmlsZUljb24sXG4gIFhsc0ZpbGVJY29uLFxuICBNcDNGaWxlSWNvbixcbiAgV2F2RmlsZUljb24sXG4gIEZsYWNGaWxlSWNvbixcbiAgTTRhRmlsZUljb24sXG4gIE1wNEZpbGVJY29uLFxuICBPZ2FGaWxlSWNvbixcbiAgT2dnRmlsZUljb24sXG4gIFdlYm1GaWxlSWNvbixcbn0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMnXG5pbXBvcnQgeyBJbWFnZVByZXZpZXcgfSBmcm9tICcuLi8uLi9hdG9tcy9JbWFnZVByZXZpZXcvSW1hZ2VQcmV2aWV3J1xuaW1wb3J0IHsgcHJlcHJvY2Vzc0ltYWdlRm9yQmFja2VuZCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2ltYWdlUHJlcHJvY2Vzc29yJ1xuaW1wb3J0IHsgdmFsaWRhdGVJc01haWEgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy92YWxpZGF0ZUlzTWFpYSdcbmltcG9ydCB7IGlzTWFpYWtlckFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYWdlbnREaXNwbGF5TmFtZSdcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBDaGF0RGlzY2xhaW1lck1lc3NhZ2UgfSBmcm9tICcuLi8uLi9hdG9tcy9DaGF0RGlzY2xhaW1lck1lc3NhZ2UnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi4vQ2hhdEFJTW9kYWwvbGF5b3V0J1xuXG5leHBvcnQgdHlwZSBBdHRhY2htZW50RmlsZSA9IHtcbiAgZmlsZTogRmlsZVxuICBvcmlnaW5hbEZpbGU/OiBGaWxlXG4gIHVybF90aHVtYm5haWw/OiBzdHJpbmdcbiAgdXJsX29yaWdpbmFsPzogc3RyaW5nXG4gIHVybF9maWxlPzogc3RyaW5nXG4gIHJvbGU/OiAndXNlcicgfCAnYXNzaXN0YW50J1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBzaXplOiBudW1iZXJcbiAgdHlwZTogc3RyaW5nXG4gIGljb24/OiBSZWFjdE5vZGVcbiAgZXh0Pzogc3RyaW5nXG4gIHN0YXR1cz86ICdwZW5kaW5nJyB8ICdwcm9jZXNzaW5nJyB8ICdkb25lJyB8ICdmYWlsZWQnIHwgJ3N0YXJ0ZWQnXG59XG5cbnR5cGUgQ2hhdEZvb3RlclByb3BzID0ge1xuICBpdGVtcz86IHN0cmluZ1tdXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBpc1N0cmVhbWluZz86IGJvb2xlYW5cbiAgaXNXcml0aW5nPzogYm9vbGVhblxuICBvblNlbmRNZXNzYWdlOiAoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSxcbiAgICBmYXFJZD86IHN0cmluZyxcbiAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZyxcbiAgICBtZW50aW9ucz86IENvbnRleHRNZW50aW9uW10sXG4gICAgZnVhSWQ/OiBzdHJpbmcsXG4gICAgc2NJZD86IHN0cmluZ1xuICApID0+IHZvaWRcbiAgb25TdG9wR2VuZXJhdGlvbj86ICgoKSA9PiB2b2lkKSB8IG51bGxcbiAgY2hhdElkPzogc3RyaW5nIHwgbnVsbFxuICBuZXdDaGF0S2V5PzogbnVtYmVyXG4gIC8qKiBTaSBlcyBmYWxzZSwgbm8gc2UgbXVlc3RyYSBlbCBib3TDs24gZGUgRkFRcy4gRGViZSBzZXIgdHJ1ZSBjdWFuZG8gY3VycmVudE9wdGlvbiA9PT0gY2hhdC4gRW4gc2VjdGlvbiB0YXNrIG5vIHNlIG11ZXN0cmEgYXVucXVlIHNlYSB0cnVlLiAqL1xuICBzaG93RmFxcz86IGJvb2xlYW5cbiAgdG9vbHRpcFpJbmRleD86IG51bWJlclxuICBsYXlvdXRNb2RlPzogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbn1cblxuZXhwb3J0IGNvbnN0IEljb25CeUZpbGVUeXBlID0ge1xuICAndGV4dC9wbGFpbic6IDxUZXh0RmlsZUljb24gLz4sXG4gICd0ZXh0L3gtbWFya2Rvd24nOiA8TURGaWxlSWNvbiAvPixcbiAgJ3RleHQvY3N2JzogPENzdkZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vbXN3b3JkJzogPERvY0ZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnOiA8RG9jeEZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vcGRmJzogPFBkZkZpbGVJY29uIC8+LFxuICAnaW1hZ2UvcG5nJzogPEltYWdlRmlsZUljb24gLz4sXG4gICdpbWFnZS9qcGVnJzogPEltYWdlRmlsZUljb24gLz4sXG4gICdpbWFnZS9qcGcnOiA8SW1hZ2VGaWxlSWNvbiAvPixcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JzogPFhsc3hGaWxlSWNvbiAvPixcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCc6IDxYbHNGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL21wZWcnOiA8TXAzRmlsZUljb24gLz4sXG4gICdhdWRpby9mbGFjJzogPEZsYWNGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL21wNCc6IDxNcDRGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL200YSc6IDxNNGFGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL29nZyc6IDxPZ2dGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL29nYSc6IDxPZ2FGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL3dhdic6IDxXYXZGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL3dlYm0nOiA8V2VibUZpbGVJY29uIC8+LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gQ2hhdEZvb3Rlcih7XG4gIG9uU2VuZE1lc3NhZ2UsXG4gIGl0ZW1zLFxuICBkaXNhYmxlZCxcbiAgaXNTdHJlYW1pbmcsXG4gIGlzV3JpdGluZyxcbiAgb25TdG9wR2VuZXJhdGlvbixcbiAgY2hhdElkLFxuICBuZXdDaGF0S2V5LFxuICBzaG93RmFxcyA9IHRydWUsXG4gIHRvb2x0aXBaSW5kZXgsXG4gIGxheW91dE1vZGUsXG59OiBDaGF0Rm9vdGVyUHJvcHMpIHtcbiAgY29uc3QgeyBwcm9qZWN0LCBhZ2VudCwgY2hpcHNQcm9qZWN0LCBjbGllbnQsIHRhc2ssIHNlY3Rpb24sIGRlZXBMaW5rU2VuZFBlbmRpbmdSZWYgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBldmVudCA9IHVzZUV2ZW50KClcbiAgY29uc3QgaW5wdXRQb3BvdmVyQW5jaG9yUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBjb250ZXh0QmFyQW5jaG9yUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBpc09yY2hlc3RyYXRvciA9IGFnZW50Py50eXBlID09PSAnb3JjaGVzdHJhdG9yJ1xuICBjb25zdCBbYXR0YWNobWVudHMsIHNldEF0dGFjaG1lbnRzXSA9IHVzZVN0YXRlPEF0dGFjaG1lbnRGaWxlW10+KFtdKVxuICBjb25zdCBbbG9hZGluZ01lc3NhZ2VzLCBzZXRMb2FkaW5nTWVzc2FnZXNdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgcmVwb3J0ZWRFdmVudCA9IHVzZVJlZihmYWxzZSlcbiAgY29uc3QgaXNNYXJrZXRwbGFjZUdsb2JhbEFnZW50ID0gaXNNYWlha2VyQWdlbnQoYWdlbnQpXG5cbiAgLy8gdXNlRWZmZWN0IHRvIGxpc3RlbiBsb2FkaW5nTWVzc2FnZXNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVMb2FkaW5nTWVzc2FnZXNDaGFuZ2UgPSAoZTogQ3VzdG9tRXZlbnQpID0+IHtcbiAgICAgIHNldExvYWRpbmdNZXNzYWdlcyhlLmRldGFpbC5sb2FkaW5nTWVzc2FnZXMpXG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhdC1sb2FkaW5nLW1lc3NhZ2VzLWNoYW5nZWQnLCBoYW5kbGVMb2FkaW5nTWVzc2FnZXNDaGFuZ2UgYXMgRXZlbnRMaXN0ZW5lcilcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGF0LWxvYWRpbmctbWVzc2FnZXMtY2hhbmdlZCcsIGhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSBhcyBFdmVudExpc3RlbmVyKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgLy8gQ2xlYXIgYXR0YWNobWVudHMgd2hlbiBzZXNzaW9uIGNoYW5nZXMgKHVzZXIgc3dpdGNoZXMgdG8gYSBkaWZmZXJlbnQgY2hhdClcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVTZXNzaW9uQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgaWYgKGRlZXBMaW5rU2VuZFBlbmRpbmdSZWYpIHtcbiAgICAgICAgZGVlcExpbmtTZW5kUGVuZGluZ1JlZi5jdXJyZW50ID0gZmFsc2VcbiAgICAgIH1cbiAgICAgIHNldEF0dGFjaG1lbnRzKFtdKVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYXQtc2Vzc2lvbi1jaGFuZ2VkJywgaGFuZGxlU2Vzc2lvbkNoYW5nZSlcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGF0LXNlc3Npb24tY2hhbmdlZCcsIGhhbmRsZVNlc3Npb25DaGFuZ2UpXG4gICAgfVxuICB9LCBbZGVlcExpbmtTZW5kUGVuZGluZ1JlZl0pXG5cbiAgY29uc3QgeyBjaGlwSXRlbXMsIGNoaXBUeXBlIH0gPSB1c2VNZW1vPHsgY2hpcEl0ZW1zOiBzdHJpbmdbXTsgY2hpcFR5cGU/OiBDb250ZXh0RW50aXR5VHlwZSB9PigoKSA9PiB7XG4gICAgaWYgKGl0ZW1zKSByZXR1cm4geyBjaGlwSXRlbXM6IGl0ZW1zIH1cblxuICAgIC8vIE1vbm8tY29udGV4dG86IHNvbG8gbGEgZW50aWRhZCBtw6FzIGVzcGVjw61maWNhIChzaW4gYW5pZGFyIGNsaWVudGUvcHJveWVjdG8vdGFyZWEpLlxuICAgIGlmIChhZ2VudD8udHlwZSA9PT0gJ29yY2hlc3RyYXRvcicpIHtcbiAgICAgIGlmICh0YXNrPy5uYW1lKSByZXR1cm4geyBjaGlwSXRlbXM6IFt0YXNrLm5hbWVdLCBjaGlwVHlwZTogJ3Rhc2snIH1cbiAgICAgIGlmIChjaGlwc1Byb2plY3Q/LnByb2plY3ROYW1lKSByZXR1cm4geyBjaGlwSXRlbXM6IFtjaGlwc1Byb2plY3QucHJvamVjdE5hbWVdLCBjaGlwVHlwZTogJ3Byb2plY3QnIH1cbiAgICAgIGlmIChjbGllbnQ/Lm5hbWUpIHJldHVybiB7IGNoaXBJdGVtczogW2NsaWVudC5uYW1lXSwgY2hpcFR5cGU6ICdjbGllbnQnIH1cbiAgICAgIHJldHVybiB7IGNoaXBJdGVtczogW10gfVxuICAgIH1cblxuICAgIGlmIChhZ2VudD8uZW50aXR5ID09PSAnY2xpZW50JyAmJiBjbGllbnQ/Lm5hbWUpIHtcbiAgICAgIHJldHVybiB7IGNoaXBJdGVtczogW2NsaWVudC5uYW1lXSwgY2hpcFR5cGU6ICdjbGllbnQnIH1cbiAgICB9XG4gICAgaWYgKHRhc2s/Lm5hbWUpIHJldHVybiB7IGNoaXBJdGVtczogW3Rhc2submFtZV0sIGNoaXBUeXBlOiAndGFzaycgfVxuICAgIGlmIChjaGlwc1Byb2plY3Q/LnByb2plY3ROYW1lKSByZXR1cm4geyBjaGlwSXRlbXM6IFtjaGlwc1Byb2plY3QucHJvamVjdE5hbWVdLCBjaGlwVHlwZTogJ3Byb2plY3QnIH1cbiAgICBpZiAocHJvamVjdD8ubmFtZSkgcmV0dXJuIHsgY2hpcEl0ZW1zOiBbcHJvamVjdC5uYW1lXSwgY2hpcFR5cGU6ICdwcm9qZWN0JyB9XG5cbiAgICByZXR1cm4geyBjaGlwSXRlbXM6IFtdIH1cbiAgfSwgW2l0ZW1zLCBwcm9qZWN0LCBjaGlwc1Byb2plY3QsIGFnZW50Py5lbnRpdHksIGFnZW50Py50eXBlLCBjbGllbnQsIHRhc2s/Lm5hbWVdKVxuXG4gIGNvbnN0IG9uQ2hhbmdlID0gKCkgPT4ge1xuICAgIGlmIChyZXBvcnRlZEV2ZW50LmN1cnJlbnQpIHJldHVyblxuICAgIGV2ZW50KEVWRU5UUy5wbUFpVHlwZWRUZXh0LCB7XG4gICAgICBhZ2VudF90eXBlOiBpc01hcmtldHBsYWNlR2xvYmFsQWdlbnQgPyAnbWFya2V0cGxhY2UnIDogYWdlbnQ/LnR5cGUsXG4gICAgfSlcbiAgICByZXBvcnRlZEV2ZW50LmN1cnJlbnQgPSB0cnVlXG4gIH1cblxuICBjb25zdCBoYW5kbGVTZW5kTWVzc2FnZSA9IChcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgbmV3QXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLFxuICAgIG1lbnRpb25zPzogQ29udGV4dE1lbnRpb25bXSxcbiAgICBmYXFJZD86IHN0cmluZyxcbiAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZyxcbiAgICBmdWFJZD86IHN0cmluZyxcbiAgICBzY0lkPzogc3RyaW5nXG4gICkgPT4ge1xuICAgIGNvbnN0IGZyb21EZWVwTGluayA9IEJvb2xlYW4oZGVlcExpbmtTZW5kUGVuZGluZ1JlZj8uY3VycmVudClcbiAgICBpZiAoZGVlcExpbmtTZW5kUGVuZGluZ1JlZikge1xuICAgICAgZGVlcExpbmtTZW5kUGVuZGluZ1JlZi5jdXJyZW50ID0gZmFsc2VcbiAgICB9XG4gICAgZXZlbnQoRVZFTlRTLmFpQ2hhdFNlbmQsIHtcbiAgICAgIGFnZW50X3R5cGU6IGlzTWFya2V0cGxhY2VHbG9iYWxBZ2VudCA/ICdtYXJrZXRwbGFjZScgOiBhZ2VudD8udHlwZSxcbiAgICAgIGFnZW50X2lkOiBhZ2VudD8uaWQsXG4gICAgICBhZ2VudF9uYW1lOiBhZ2VudD8ubmFtZSxcbiAgICAgIC4uLihmcm9tRGVlcExpbmsgPyB7IHNvdXJjZTogJ2RlZXBfbGluaycgfSA6IHt9KSxcbiAgICB9KVxuICAgIG9uU2VuZE1lc3NhZ2UobWVzc2FnZSwgbmV3QXR0YWNobWVudHMsIGZhcUlkLCBhZ2VudFN1Z2dlc3Rpb25JZCwgbWVudGlvbnMsIGZ1YUlkLCBzY0lkKVxuICAgIHNldEF0dGFjaG1lbnRzKFtdKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlU2VsZWN0RmFxID0gKG1lc3NhZ2U6IHN0cmluZywgZmFxSWQ6IHN0cmluZykgPT4ge1xuICAgIG9uU2VuZE1lc3NhZ2UobWVzc2FnZSwgdW5kZWZpbmVkLCBmYXFJZCwgdW5kZWZpbmVkKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRmlsZUF0dGFjaCA9IGFzeW5jIChmaWxlOiBGaWxlKSA9PiB7XG4gICAgY29uc3QgZmlsZU5hbWVQYXJ0cyA9IGZpbGUubmFtZS5zcGxpdCgnLicpXG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IGZpbGVOYW1lUGFydHMubGVuZ3RoID4gMSA/IGAuJHtmaWxlTmFtZVBhcnRzLnBvcCgpPy50b0xvd2VyQ2FzZSgpfWAgOiAnJ1xuICAgIGNvbnN0IGlzSW1hZ2VCeUV4dGVuc2lvbiA9IFsnLnBuZycsICcuanBnJywgJy5qcGVnJ10uaW5jbHVkZXMoZmlsZUV4dGVuc2lvbilcbiAgICBjb25zdCBpc0ltYWdlQnlNaW1lID0gZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpXG4gICAgY29uc3QgaXNJbWFnZSA9IGlzSW1hZ2VCeU1pbWUgJiYgaXNJbWFnZUJ5RXh0ZW5zaW9uXG4gICAgLy8gTWFwZW8gZGUgZXh0ZW5zacOzbiBhIGljb25vIGRpcmVjdG8gcGFyYSBjYXNvcyBlc3BlY2lhbGVzIChhdWRpby9vZ2cgeSBhdWRpby9tcDQpXG4gICAgY29uc3QgZXh0ZW5zaW9uVG9JY29uOiBSZWNvcmQ8c3RyaW5nLCBSZWFjdE5vZGU+ID0ge1xuICAgICAgJy5vZ2cnOiA8T2dnRmlsZUljb24gLz4sXG4gICAgICAnLm9nYSc6IDxPZ2FGaWxlSWNvbiAvPixcbiAgICAgICcubXA0JzogPE1wNEZpbGVJY29uIC8+LFxuICAgICAgJy5tNGEnOiA8TTRhRmlsZUljb24gLz4sXG4gICAgfVxuXG4gICAgbGV0IGljb24gPSBJY29uQnlGaWxlVHlwZVtmaWxlLnR5cGVdXG5cbiAgICAvLyBTaSBlbCB0aXBvIGVzIGF1ZGlvL29nZyBvIGF1ZGlvL21wNCwgdXNhciBsYSBleHRlbnNpw7NuIHBhcmEgZGV0ZXJtaW5hciBlbCBpY29ub1xuICAgIGlmICgoZmlsZS50eXBlID09PSAnYXVkaW8vb2dnJyB8fCBmaWxlLnR5cGUgPT09ICdhdWRpby9tcDQnKSAmJiBmaWxlRXh0ZW5zaW9uKSB7XG4gICAgICBpY29uID0gZXh0ZW5zaW9uVG9JY29uW2ZpbGVFeHRlbnNpb25dIHx8IGljb25cbiAgICB9XG5cbiAgICBpZiAoIWljb24pIHtcbiAgICAgIGNvbnN0IGV4dGVuc2lvblRvTWltZVR5cGU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICAgICcudHh0JzogJ3RleHQvcGxhaW4nLFxuICAgICAgICAnLm1kJzogJ3RleHQveC1tYXJrZG93bicsXG4gICAgICAgICcuY3N2JzogJ3RleHQvY3N2JyxcbiAgICAgICAgJy5kb2MnOiAnYXBwbGljYXRpb24vbXN3b3JkJyxcbiAgICAgICAgJy5kb2N4JzogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50JyxcbiAgICAgICAgJy5wZGYnOiAnYXBwbGljYXRpb24vcGRmJyxcbiAgICAgICAgJy54bHN4JzogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcbiAgICAgICAgJy54bHMnOiAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyxcbiAgICAgICAgJy5mbGFjJzogJ2F1ZGlvL2ZsYWMnLFxuICAgICAgICAnLm00YSc6ICdhdWRpby9tNGEnLFxuICAgICAgICAnLm1wMyc6ICdhdWRpby9tcGVnJyxcbiAgICAgICAgJy5tcDQnOiAnYXVkaW8vbXA0JyxcbiAgICAgICAgJy5vZ2EnOiAnYXVkaW8vb2dhJyxcbiAgICAgICAgJy5vZ2cnOiAnYXVkaW8vb2dnJyxcbiAgICAgICAgJy53YXYnOiAnYXVkaW8vd2F2JyxcbiAgICAgICAgJy53ZWJtJzogJ2F1ZGlvL3dlYm0nLFxuICAgICAgfVxuICAgICAgY29uc3QgbWltZVR5cGVCeUV4dGVuc2lvbiA9IGV4dGVuc2lvblRvTWltZVR5cGVbZmlsZUV4dGVuc2lvbl1cbiAgICAgIGlmIChtaW1lVHlwZUJ5RXh0ZW5zaW9uKSB7XG4gICAgICAgIGljb24gPSBJY29uQnlGaWxlVHlwZVttaW1lVHlwZUJ5RXh0ZW5zaW9uXVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWNvbiA9IDxBdHRhY2ggY29sb3I9XCJyZ2JhKDEzNSwgNjQsIDE5MSwgMSlcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICB9XG4gICAgfVxuICAgIGxldCBwcm9jZXNzZWRGaWxlID0gZmlsZVxuXG4gICAgLy8gU2kgZXMgdW5hIGltYWdlbiwgcHJlLXByb2Nlc2FybGEgcGFyYSBlbCBiYWNrZW5kXG4gICAgaWYgKGlzSW1hZ2UpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIFByb2Nlc2FuZG8gaW1hZ2VuXG4gICAgICAgIHByb2Nlc3NlZEZpbGUgPSBhd2FpdCBwcmVwcm9jZXNzSW1hZ2VGb3JCYWNrZW5kKGZpbGUpXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwcmUtcHJvY2VzYW5kbyBpbWFnZW46JywgZXJyb3IpXG4gICAgICAgIC8vIENvbnRpbnVhciBjb24gZWwgYXJjaGl2byBvcmlnaW5hbCBzaSBoYXkgZXJyb3JcbiAgICAgIH1cblxuICAgICAgY29uc3QgaW1hZ2VVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpXG5cbiAgICAgIGljb24gPSA8SW1hZ2VQcmV2aWV3IHNyYz17aW1hZ2VVcmx9IGFsdD17ZmlsZS5uYW1lfSB3aWR0aD1cIjYzcHhcIiBoZWlnaHQ9XCI2M3B4XCIgYm9yZGVyUmFkaXVzPVwiNnB4XCIgLz5cbiAgICB9XG5cbiAgICBjb25zdCBuZXdBdHRhY2htZW50OiBBdHRhY2htZW50RmlsZSA9IHtcbiAgICAgIGZpbGU6IHByb2Nlc3NlZEZpbGUsXG4gICAgICBvcmlnaW5hbEZpbGU6IGlzSW1hZ2UgPyBmaWxlIDogdW5kZWZpbmVkLFxuICAgICAgaWQ6IGAke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKX1gLFxuICAgICAgbmFtZTogZmlsZS5uYW1lLFxuICAgICAgc2l6ZTogcHJvY2Vzc2VkRmlsZS5zaXplLFxuICAgICAgdHlwZTogcHJvY2Vzc2VkRmlsZS50eXBlLFxuICAgICAgaWNvbixcbiAgICB9XG5cbiAgICBzZXRBdHRhY2htZW50cyhwcmV2ID0+IFsuLi5wcmV2LCBuZXdBdHRhY2htZW50XSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZUF0dGFjaG1lbnQgPSAoZmlsZUlkOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBuZXdBdHRhY2htZW50cyA9IGF0dGFjaG1lbnRzLmZpbHRlcihhdHRhY2htZW50ID0+IGF0dGFjaG1lbnQuaWQgIT09IGZpbGVJZClcbiAgICBzZXRBdHRhY2htZW50cyhuZXdBdHRhY2htZW50cylcbiAgfVxuXG4gIGNvbnN0IGlzTUFJQSA9IHZhbGlkYXRlSXNNYWlhKGFnZW50IGFzIEFnZW50KVxuICBjb25zdCBkaXNjbGFpbWVyTWVzc2FnZSA9IGlzTUFJQVxuICAgID8gdCgnY2hhdC5mb290ZXIuZGlzY2xhaW1lcicsIHsgYWdlbnROYW1lOiB0KCdnbG9iYWxzLmJyYW5kTmFtZScpIH0pXG4gICAgOiB0KCdjaGF0LmZvb3Rlci5kaXNjbGFpbWVyQWdlbnQnKVxuXG4gIGNvbnN0IGlzRmFxSW50ZXJhY3Rpb25EaXNhYmxlZCA9IEJvb2xlYW4oZGlzYWJsZWQgfHwgaXNTdHJlYW1pbmcgfHwgaXNXcml0aW5nKVxuICBjb25zdCBzaG91bGRTaG93RmFxcyA9IHNob3dGYXFzICYmIHNlY3Rpb24gIT09ICd0YXNrJ1xuICBjb25zdCBoYXNDb3JBY2Nlc3MgPSBCb29sZWFuKFxuICAgIGFnZW50Py50eXBlID09PSAnY3VzdG9tJyAmJlxuICAgIGFnZW50LmNvbm5lY3RvcnM/LnNvbWUoXG4gICAgICBjb25uZWN0b3IgPT5cbiAgICAgICAgY29ubmVjdG9yLmdyb3VwID09PSAnQ09SJyAmJiBjb25uZWN0b3Iuc2x1Z3Muc29tZShzbHVnID0+IHR5cGVvZiBzbHVnID09PSAnc3RyaW5nJyAmJiBzbHVnLnRyaW0oKS5sZW5ndGggPiAwKVxuICAgIClcbiAgKVxuICBjb25zdCBzaG91bGRTaG93Q29udGV4dEJhciA9IChpc01BSUEgfHwgaGFzQ29yQWNjZXNzKSAmJiAhbG9hZGluZ01lc3NhZ2VzXG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ2hhdEZvb3Rlcj5cbiAgICAgIHtzaG91bGRTaG93Q29udGV4dEJhciAmJiAoXG4gICAgICAgIDxDaGlwc0FuZEZhcXNSb3cgcmVmPXtjb250ZXh0QmFyQW5jaG9yUmVmfT5cbiAgICAgICAgICA8Q29udGV4dEJhckxlZnQ+XG4gICAgICAgICAgICB7aXNNQUlBICYmXG4gICAgICAgICAgICAgIChjaGlwSXRlbXMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgIDxDaGlwXG4gICAgICAgICAgICAgICAgICBpdGVtcz17Y2hpcEl0ZW1zfVxuICAgICAgICAgICAgICAgICAgdHlwZT17Y2hpcFR5cGV9XG4gICAgICAgICAgICAgICAgICBsZWFkaW5nSWNvbj17XG4gICAgICAgICAgICAgICAgICAgIGNoaXBUeXBlID09PSAndGFzaycgPyA8TGlzdENoZWNrbGlzdCBjb2xvcj1cIiM2NjZcIiB3aWR0aD1cIjE0cHhcIiBoZWlnaHQ9XCIxNHB4XCIgLz4gOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIGlzT3JjaGVzdHJhdG9yICYmIChcbiAgICAgICAgICAgICAgICAgIDxDaGlwXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zPXtbdCgnY29udGV4dFBpbi5hZGRDb250ZXh0JywgeyBkZWZhdWx0VmFsdWU6ICdDb250ZXh0byBnbG9iYWwnIH0pXX1cbiAgICAgICAgICAgICAgICAgICAgbGVhZGluZ0ljb249ezxHbG9iZSBjb2xvcj1cIiM2NjZcIiB3aWR0aD1cIjE0cHhcIiBoZWlnaHQ9XCIxNHB4XCIgLz59XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9Db250ZXh0QmFyTGVmdD5cbiAgICAgICAgICA8Rm9vdGVyQWN0aW9uc1JpZ2h0PlxuICAgICAgICAgICAge2hhc0NvckFjY2VzcyAmJiA8Q2hhdEZvb3RlckNvckFjY2VzcyB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fSAvPn1cbiAgICAgICAgICAgIHsvKiB7aXNNQUlBICYmIHNob3VsZFNob3dGYXFzICYmIChcbiAgICAgICAgICAgICAgPENoYXRGb290ZXJGYXFzIG9uU2VsZWN0RmFxPXtoYW5kbGVTZWxlY3RGYXF9IGRpc2FibGVkPXtpc0ZhcUludGVyYWN0aW9uRGlzYWJsZWR9IC8+XG4gICAgICAgICAgICApfSAqL31cbiAgICAgICAgICA8L0Zvb3RlckFjdGlvbnNSaWdodD5cbiAgICAgICAgPC9DaGlwc0FuZEZhcXNSb3c+XG4gICAgICApfVxuICAgICAgPE1BSUFJbnB1dFxuICAgICAgICBwb3BvdmVyQW5jaG9yUmVmPXtpbnB1dFBvcG92ZXJBbmNob3JSZWZ9XG4gICAgICAgIG9uU2VuZE1lc3NhZ2U9e2hhbmRsZVNlbmRNZXNzYWdlfVxuICAgICAgICBjbGFzc05hbWU9e01PREFMX0VMRU1FTlRTfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIHBsYWNlaG9sZGVyPXtcbiAgICAgICAgICBhZ2VudD8uaW5wdXRfcGxhY2Vob2xkZXIgfHxcbiAgICAgICAgICAoaXNPcmNoZXN0cmF0b3IgPyB0KCdjaGF0LmZvb3Rlci5vcmNoZXN0cmF0b3JQbGFjZWhvbGRlcicpIDogdCgnY2hhdC5mb290ZXIucGxhY2Vob2xkZXInKSlcbiAgICAgICAgfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIG9uRmlsZUF0dGFjaD17aGFuZGxlRmlsZUF0dGFjaH1cbiAgICAgICAgb25EZWxldGVBdHRhY2htZW50PXtoYW5kbGVEZWxldGVBdHRhY2htZW50fVxuICAgICAgICBhdHRhY2htZW50cz17YXR0YWNobWVudHNcbiAgICAgICAgICAuZmlsdGVyKGF0dCA9PiAhIWF0dC5maWxlKVxuICAgICAgICAgIC5tYXAoYXR0ID0+ICh7XG4gICAgICAgICAgICBmaWxlOiBhdHQuZmlsZSEsXG4gICAgICAgICAgICBvcmlnaW5hbEZpbGU6IGF0dC5vcmlnaW5hbEZpbGUsXG4gICAgICAgICAgICBpZDogYXR0LmlkLFxuICAgICAgICAgICAgbmFtZTogYXR0Lm5hbWUsXG4gICAgICAgICAgICBzaXplOiB0eXBlb2YgYXR0LnNpemUgPT09ICdudW1iZXInID8gYXR0LnNpemUgOiBOdW1iZXIoYXR0LnNpemUpIHx8IDAsXG4gICAgICAgICAgICB0eXBlOiBhdHQudHlwZSxcbiAgICAgICAgICAgIGljb246IGF0dC5pY29uLFxuICAgICAgICAgIH0pKX1cbiAgICAgICAgaXNTdHJlYW1pbmc9e2lzU3RyZWFtaW5nfVxuICAgICAgICBpc1dyaXRpbmc9e2lzV3JpdGluZ31cbiAgICAgICAgb25TdG9wR2VuZXJhdGlvbj17b25TdG9wR2VuZXJhdGlvbn1cbiAgICAgICAgY2hhdElkPXtjaGF0SWQgfHwgdW5kZWZpbmVkfVxuICAgICAgICBuZXdDaGF0S2V5PXtuZXdDaGF0S2V5fVxuICAgICAgICB0b29sdGlwWkluZGV4PXt0b29sdGlwWkluZGV4fVxuICAgICAgICBsYXlvdXRNb2RlPXtsYXlvdXRNb2RlfVxuICAgICAgLz5cbiAgICAgIDxDaGF0RGlzY2xhaW1lck1lc3NhZ2UgbWVzc2FnZT17ZGlzY2xhaW1lck1lc3NhZ2V9IC8+XG4gICAgPC9TdHlsZWRDaGF0Rm9vdGVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQW9CQSxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxTQUFTLFFBQVEsT0FBTztBQUN2RSxTQUFTQyxNQUFNLFFBQVEseUNBQXlDO0FBQ2hFLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsYUFBYSxRQUFRLGdEQUFnRDtBQUM5RSxTQUFTQyxjQUFjLFFBQVEsa0NBQWtDO0FBRWpFLFNBQVNDLElBQUksUUFBUSxrQkFBa0I7QUFDdkM7QUFDQSxTQUFTQyxTQUFTLFFBQVEsdUJBQXVCO0FBRWpELFNBQVNDLG1CQUFtQixRQUFRLHVCQUF1QjtBQUUzRCxTQUFTQyxnQkFBZ0IsUUFBUSxpQ0FBaUM7QUFDbEUsU0FBU0MsSUFBSSxRQUFRLHFCQUFxQjtBQUMxQyxTQUFTQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSx5QkFBeUI7QUFFMUQsU0FBU0MsZ0JBQWdCLEVBQUVDLGVB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Q0FBQztJQUFBLENBQ04sQ0FDbEIsZUFDRGpCLElBQUEsQ0FBQ2pDLFNBQVM7TUFDUjZMLGdCQUFnQixFQUFFOUgscUJBQXNCO01BQ3hDdkIsYUFBYSxFQUFFdUQsaUJBQWtCO01BQ2pDK0YsU0FBUyxFQUFFaE0sY0FBZTtNQUMxQjRDLFFBQVEsRUFBRUEsUUFBUztNQUNuQnFKLFdBQVcsRUFDVCxDQUFBekksS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUUwSSxpQkFBaUIsTUFDdkIvSCxjQUFjLEdBQUdKLENBQUMsQ0FBQyxxQ0FBcUMsQ0FBQyxHQUFHQSxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FDMUY7TUFDRCtCLFFBQVEsRUFBRUEsUUFBUztNQUNuQnFHLFlBQVksRUFBRWhGLGdCQUFpQjtNQUMvQmlGLGtCQUFrQixFQUFFM0Isc0JBQXVCO01BQzNDakcsV0FBVyxFQUFFQSxXQUFXLENBQ3JCbUcsTUFBTSxDQUFDLFVBQUEwQixHQUFHO1FBQUEsT0FBSSxDQUFDLENBQUNBLEdBQUcsQ0FBQzVFLElBQUk7TUFBQSxFQUFDLENBQ3pCNkUsR0FBRyxDQUFDLFVBQUFELEdBQUc7UUFBQSxPQUFLO1VBQ1g1RSxJQUFJLEVBQUU0RSxHQUFHLENBQUM1RSxJQUFLO1VBQ2ZxQyxZQUFZLEVBQUV1QyxHQUFHLENBQUN2QyxZQUFZO1VBQzlCaEQsRUFBRSxFQUFFdUYsR0FBRyxDQUFDdkYsRUFBRTtVQUNWcEIsSUFBSSxFQUFFMkcsR0FBRyxDQUFDM0csSUFBSTtVQUNkeUUsSUFBSSxFQUFFLE9BQU9rQyxHQUFHLENBQUNsQyxJQUFJLEtBQUssUUFBUSxHQUFHa0MsR0FBRyxDQUFDbEMsSUFBSSxHQUFHb0MsTUFBTSxDQUFDRixHQUFHLENBQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDO1VBQ3JFL0YsSUFBSSxFQUFFaUksR0FBRyxDQUFDakksSUFBSTtVQUNkNkQsSUFBSSxFQUFFb0UsR0FBRyxDQUFDcEU7UUFDWixDQUFDO01BQUEsQ0FBQyxDQUFFO01BQ05wRixXQUFXLEVBQUVBLFdBQVk7TUFDekJDLFNBQVMsRUFBRUEsU0FBVTtNQUNyQkMsZ0JBQWdCLEVBQUVBLGdCQUFpQjtNQUNuQ0MsTUFBTSxFQUFFQSxNQUFNLElBQUlrRSxTQUFVO01BQzVCakUsVUFBVSxFQUFFQSxVQUFXO01BQ3ZCRyxhQUFhLEVBQUVBLGFBQWM7TUFDN0JDLFVBQVUsRUFBRUE7SUFBVyxDQUN4QixDQUFDLGVBQ0ZsQixJQUFBLENBQUNGLHFCQUFxQjtNQUFDaUUsT0FBTyxFQUFFNEU7SUFBa0IsQ0FBRSxDQUFDO0VBQUEsQ0FDckMsQ0FBQztBQUV2QiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -8,7 +8,6 @@ export var ContextMentionInput = function ContextMentionInput(_ref) {
|
|
|
8
8
|
var placeholder = _ref.placeholder,
|
|
9
9
|
disabled = _ref.disabled,
|
|
10
10
|
enabledTypes = _ref.enabledTypes,
|
|
11
|
-
skills = _ref.skills,
|
|
12
11
|
onSendMessage = _ref.onSendMessage,
|
|
13
12
|
onMentionAdded = _ref.onMentionAdded,
|
|
14
13
|
onChange = _ref.onChange;
|
|
@@ -18,7 +17,6 @@ export var ContextMentionInput = function ContextMentionInput(_ref) {
|
|
|
18
17
|
editorRef: editorRef,
|
|
19
18
|
popoverAnchorRef: wrapperRef,
|
|
20
19
|
enabledTypes: enabledTypes,
|
|
21
|
-
skills: skills,
|
|
22
20
|
onMentionAdded: onMentionAdded
|
|
23
21
|
}),
|
|
24
22
|
popoverOpen = _useMentionPopover.popoverOpen,
|
|
@@ -59,4 +57,4 @@ export var ContextMentionInput = function ContextMentionInput(_ref) {
|
|
|
59
57
|
}), popoverNode && /*#__PURE__*/createPortal(popoverNode, document.body)]
|
|
60
58
|
});
|
|
61
59
|
};
|
|
62
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsImNyZWF0ZVBvcnRhbCIsIkNvbnRleHRNZW50aW9uRWRpdG9yIiwidXNlTWVudGlvblBvcG92ZXIiLCJTQ01JV3JhcHBlciIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJDb250ZXh0TWVudGlvbklucHV0IiwiX3JlZiIsInBsYWNlaG9sZGVyIiwiZGlzYWJsZWQiLCJlbmFibGVkVHlwZXMiLCJvblNlbmRNZXNzYWdlIiwib25NZW50aW9uQWRkZWQiLCJvbkNoYW5nZSIsImVkaXRvclJlZiIsIndyYXBwZXJSZWYiLCJfdXNlTWVudGlvblBvcG92ZXIiLCJwb3BvdmVyQW5jaG9yUmVmIiwicG9wb3Zlck9wZW4iLCJyZXNldE1lbnRpb25PcGVuVHJhY2tpbmciLCJoYW5kbGVUcmlnZ2VyIiwiaGFuZGxlUG9wb3ZlcktleURvd24iLCJoYW5kbGVLZXlEb3duIiwicG9wb3Zlck5vZGUiLCJoYW5kbGVFZGl0b3JJbnB1dCIsIl9yZWYyIiwidGV4dCIsIm1lbnRpb25zIiwidHJpZ2dlciIsImUiLCJrZXkiLCJzaGlmdEtleSIsIl9lZGl0b3JSZWYkY3VycmVudCIsIl9lZGl0b3JSZWYkY3VycmVudDIiLCJwcmV2ZW50RGVmYXVsdCIsInN0YXRlIiwiY3VycmVudCIsInNlcmlhbGl6ZSIsInRyaW0iLCJjbGVhciIsInJlZiIsImNoaWxkcmVuIiwib25JbnB1dCIsIm9uS2V5RG93biIsImRvY3VtZW50IiwiYm9keSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9Db250ZXh0TWVudGlvbklucHV0L0NvbnRleHRNZW50aW9uSW5wdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleWJvYXJkRXZlbnQsIHVzZUNhbGxiYWNrLCB1c2VSZWYgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSdcbmltcG9ydCB7IENvbnRleHRNZW50aW9uRWRpdG9yLCBDb250ZXh0TWVudGlvbkVkaXRvckhhbmRsZSB9IGZyb20gJy4uLy4uL2F0b21zL0NvbnRleHRNZW50aW9uRWRpdG9yJ1xuaW1wb3J0IHsgdXNlTWVudGlvblBvcG92ZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VNZW50aW9uUG9wb3ZlcidcbmltcG9ydCB7IENvbnRleHRFbnRpdHlUeXBlLCBDb250ZXh0TWVudGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgU0NNSVdyYXBwZXIgfSBmcm9tICcuL0NvbnRleHRNZW50aW9uSW5wdXQuc3R5bGVzJ1xuXG5leHBvcnQgdHlwZSBDb250ZXh0TWVudGlvbklucHV0UHJvcHMgPSB7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICAvKiogT3ZlcnJpZGUgZGUgdGlwb3MgcGVybWl0aWRvczsgc2kgc2Ugb21pdGUsIHNlIGRlcml2YSBkZSBhZ2VudC5lbnRpdHkgKi9cbiAgZW5hYmxlZFR5cGVzPzogQ29udGV4dEVudGl0eVR5cGVbXVxuICBvblNlbmRNZXNzYWdlOiAodGV4dDogc3RyaW5nLCBtZW50aW9uczogQ29udGV4dE1lbnRpb25bXSkgPT4gdm9pZFxuICBvbk1lbnRpb25BZGRlZD86IChtZW50aW9uOiBDb250ZXh0TWVudGlvbikgPT4gdm9pZFxuICBvbkNoYW5nZT86IChzdGF0ZTogeyB0ZXh0OiBzdHJpbmc7IG1lbnRpb25zOiBDb250ZXh0TWVudGlvbltdIH0pID0+IHZvaWRcbn1cblxuZXhwb3J0IGNvbnN0IENvbnRleHRNZW50aW9uSW5wdXQgPSAoe1xuICBwbGFjZWhvbGRlcixcbiAgZGlzYWJsZWQsXG4gIGVuYWJsZWRUeXBlcyxcbiAgb25TZW5kTWVzc2FnZSxcbiAgb25NZW50aW9uQWRkZWQsXG4gIG9uQ2hhbmdlLFxufTogQ29udGV4dE1lbnRpb25JbnB1dFByb3BzKSA9PiB7XG4gIGNvbnN0IGVkaXRvclJlZiA9IHVzZVJlZjxDb250ZXh0TWVudGlvbkVkaXRvckhhbmRsZT4obnVsbClcbiAgY29uc3Qgd3JhcHBlclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3Qge1xuICAgIHBvcG92ZXJPcGVuLFxuICAgIHJlc2V0TWVudGlvbk9wZW5UcmFja2luZyxcbiAgICBoYW5kbGVUcmlnZ2VyLFxuICAgIGhhbmRsZUtleURvd246IGhhbmRsZVBvcG92ZXJLZXlEb3duLFxuICAgIHBvcG92ZXJOb2RlLFxuICB9ID0gdXNlTWVudGlvblBvcG92ZXIoe1xuICAgIGVkaXRvclJlZixcbiAgICBwb3BvdmVyQW5jaG9yUmVmOiB3cmFwcGVyUmVmLFxuICAgIGVuYWJsZWRUeXBlcyxcbiAgICBvbk1lbnRpb25BZGRlZCxcbiAgfSlcblxuICBjb25zdCBoYW5kbGVFZGl0b3JJbnB1dCA9IHVzZUNhbGxiYWNrKFxuICAgICh7XG4gICAgICB0ZXh0LFxuICAgICAgbWVudGlvbnMsXG4gICAgICB0cmlnZ2VyLFxuICAgIH06IHtcbiAgICAgIHRleHQ6IHN0cmluZ1xuICAgICAgbWVudGlvbnM6IENvbnRleHRNZW50aW9uW11cbiAgICAgIHRyaWdnZXI6IHsgYWN0aXZlOiBib29sZWFuOyBxdWVyeTogc3RyaW5nOyBhdFJ1bkxlbmd0aDogbnVtYmVyIH1cbiAgICB9KSA9PiB7XG4gICAgICBvbkNoYW5nZT8uKHsgdGV4dCwgbWVudGlvbnMgfSlcbiAgICAgIGhhbmRsZVRyaWdnZXIodHJpZ2dlcilcbiAgICB9LFxuICAgIFtvbkNoYW5nZSwgaGFuZGxlVHJpZ2dlcl1cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUtleURvd24gPSAoZTogS2V5Ym9hcmRFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICBpZiAoaGFuZGxlUG9wb3ZlcktleURvd24oZSkpIHJldHVyblxuXG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICFlLnNoaWZ0S2V5ICYmICFwb3BvdmVyT3Blbikge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBjb25zdCBzdGF0ZSA9IGVkaXRvclJlZi5jdXJyZW50Py5zZXJpYWxpemUoKVxuICAgICAgaWYgKCFzdGF0ZSB8fCAhc3RhdGUudGV4dC50cmltKCkpIHJldHVyblxuICAgICAgb25TZW5kTWVzc2FnZShzdGF0ZS50ZXh0LCBzdGF0ZS5tZW50aW9ucylcbiAgICAgIGVkaXRvclJlZi5jdXJyZW50Py5jbGVhcigpXG4gICAgICByZXNldE1lbnRpb25PcGVuVHJhY2tpbmcoKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDTUlXcmFwcGVyIHJlZj17d3JhcHBlclJlZn0+XG4gICAgICA8Q29udGV4dE1lbnRpb25FZGl0b3JcbiAgICAgICAgcmVmPXtlZGl0b3JSZWZ9XG4gICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBvbklucHV0PXtoYW5kbGVFZGl0b3JJbnB1dH1cbiAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgLz5cbiAgICAgIHtwb3BvdmVyTm9kZSAmJiBjcmVhdGVQb3J0YWwocG9wb3Zlck5vZGUsIGRvY3VtZW50LmJvZHkpfVxuICAgIDwvU0NNSVdyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBd0JBLFdBQVcsRUFBRUMsTUFBTSxRQUFRLE9BQU87QUFDMUQsU0FBU0MsWUFBWSxRQUFRLFdBQVc7QUFDeEMsU0FBU0Msb0JBQW9CLFFBQW9DLGtDQUFrQztBQUNuRyxTQUFTQyxpQkFBaUIsUUFBUSxrQ0FBa0M7QUFFcEUsU0FBU0MsV0FBVyxRQUFRLDhCQUE4QjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFZMUQsT0FBTyxJQUFNQyxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQW1CQSxDQUFBQyxJQUFBLEVBT0E7RUFBQSxJQU45QkMsV0FBVyxHQUFBRCxJQUFBLENB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
|