@projectcor/maia-components 2.11.26-9 → 2.11.26
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 +30 -72
- package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +47 -46
- package/lib/components/atoms/MAIAInput/MAIAInput.js +3 -9
- package/lib/components/atoms/MAIAInput/styles.js +23 -26
- package/lib/hooks/useChatManager/useChatManager.js +13 -2
- package/lib/lang/br/index.js +1 -2
- package/lib/lang/en/index.js +1 -2
- package/lib/lang/es/index.js +1 -2
- package/lib/lang/fr/index.js +1 -2
- package/lib/utils/hitlAnalytics.js +25 -0
- package/package.json +1 -1
|
@@ -19,7 +19,6 @@ import { Globe } from '@projectcor/icons/lib/components/Globe';
|
|
|
19
19
|
import { Trash } from '@projectcor/icons/lib/components/Trash';
|
|
20
20
|
import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
|
|
21
21
|
import { SCMIAttachment, SCMIAttachmentDeleteIcon, SCMIWrapperAttachmentButton, SCMIWrapperWebSearchButton, SCMIWrapperDeepSearchButton, StyledMAIAInput, StyledMAIAInputButtons, StyledMAIAInputWrapper, StyledMAIASendButton, StyledMAIAStopButton, StyledMAIAStopIcon } from './styles';
|
|
22
|
-
import { useUser } from '../../../context/cor-user';
|
|
23
22
|
import { useGlobalContext } from '../../../context/global-context';
|
|
24
23
|
import { ModalFileExceeds } from '../../organisms/ModalFileExceeds';
|
|
25
24
|
import { useT } from '../../../hooks/useT';
|
|
@@ -72,7 +71,6 @@ export var MAIAInput = function MAIAInput(_ref) {
|
|
|
72
71
|
modalProps = _useState8[0],
|
|
73
72
|
setModalProps = _useState8[1];
|
|
74
73
|
var eventAmplitude = useEvent();
|
|
75
|
-
var user = useUser();
|
|
76
74
|
var _useGlobalContext = useGlobalContext(),
|
|
77
75
|
toggleWebSearch = _useGlobalContext.toggleWebSearch,
|
|
78
76
|
isWebSearchActive = _useGlobalContext.isWebSearchActive,
|
|
@@ -422,9 +420,6 @@ export var MAIAInput = function MAIAInput(_ref) {
|
|
|
422
420
|
eventAmplitude(EVENTS.aiChatStopResponse);
|
|
423
421
|
onStopGeneration === null || onStopGeneration === void 0 || onStopGeneration();
|
|
424
422
|
};
|
|
425
|
-
var isProjectSpecialist = (agent === null || agent === void 0 ? void 0 : agent.type) === 'clone' && (agent === null || agent === void 0 ? void 0 : agent.entity) === 'project';
|
|
426
|
-
var specialistMatchesUserCompany = isProjectSpecialist && Number(user.company_id) === 13303;
|
|
427
|
-
var hasHeaderButtons = (agent === null || agent === void 0 ? void 0 : agent.type) === 'custom' || specialistMatchesUserCompany;
|
|
428
423
|
var iconColorInactive = isFocused ? '#666666' : '#999';
|
|
429
424
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
430
425
|
children: [/*#__PURE__*/_jsxs(StyledMAIAInputWrapper, {
|
|
@@ -474,8 +469,7 @@ export var MAIAInput = function MAIAInput(_ref) {
|
|
|
474
469
|
alignButtons: alignButtons,
|
|
475
470
|
onBlur: handleBlur
|
|
476
471
|
}), /*#__PURE__*/_jsxs(StyledMAIAInputButtons, {
|
|
477
|
-
|
|
478
|
-
children: [hasHeaderButtons ? /*#__PURE__*/_jsxs("div", {
|
|
472
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
479
473
|
style: {
|
|
480
474
|
display: 'flex',
|
|
481
475
|
gap: '10px'
|
|
@@ -518,7 +512,7 @@ export var MAIAInput = function MAIAInput(_ref) {
|
|
|
518
512
|
})
|
|
519
513
|
})
|
|
520
514
|
})]
|
|
521
|
-
})
|
|
515
|
+
}), isWriting ? /*#__PURE__*/_jsx(Tooltip, {
|
|
522
516
|
title: t('chat.stop'),
|
|
523
517
|
children: /*#__PURE__*/_jsx(StyledMAIAStopButton, {
|
|
524
518
|
disabled: false,
|
|
@@ -565,4 +559,4 @@ export var MAIAInput = function MAIAInput(_ref) {
|
|
|
565
559
|
})]
|
|
566
560
|
});
|
|
567
561
|
};
|
|
568
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsIlBhcGVyUGxhbmUiLCJBdHRhY2giLCJHbG9iZSIsIlRyYXNoIiwiVG9vbHRpcCIsIlNDTUlBdHRhY2htZW50IiwiU0NNSUF0dGFjaG1lbnREZWxldGVJY29uIiwiU0NNSVdyYXBwZXJBdHRhY2htZW50QnV0dG9uIiwiU0NNSVdyYXBwZXJXZWJTZWFyY2hCdXR0b24iLCJTQ01JV3JhcHBlckRlZXBTZWFyY2hCdXR0b24iLCJTdHlsZWRNQUlBSW5wdXQiLCJTdHlsZWRNQUlBSW5wdXRCdXR0b25zIiwiU3R5bGVkTUFJQUlucHV0V3JhcHBlciIsIlN0eWxlZE1BSUFTZW5kQnV0dG9uIiwiU3R5bGVkTUFJQVN0b3BCdXR0b24iLCJTdHlsZWRNQUlBU3RvcEljb24iLCJ1c2VVc2VyIiwidXNlR2xvYmFsQ29udGV4dCIsIk1vZGFsRmlsZUV4Y2VlZHMiLCJ1c2VUIiwiVGVsZXNjb3BlSWNvbiIsIkVWRU5UUyIsInVzZUV2ZW50IiwiYWxsb3dlZEZpbGVUeXBlcyIsImZpbGVUeXBlcyIsIk1BWF9GSUxFX1NJWkVfTUJfTUFJQV9WSVNJT04iLCJNQVhfRklMRV9TSVpFX01CX09MRCIsIk1BWF9GSUxFX1NJWkVfTUJfQVVESU8iLCJCTFVFX0lBX0NPTE9SUyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIk1BSUFJbnB1dCIsIl9yZWYiLCJvblNlbmRNZXNzYWdlIiwiY2xhc3NOYW1lIiwiZGlzYWJsZWQiLCJpc1N0cmVhbWluZyIsImlzV3JpdGluZyIsIm9uU3RvcEdlbmVyYXRpb24iLCJwbGFjZWhvbGRlciIsIm9uQ2hhbmdlIiwiX3JlZiRhbGlnbkJ1dHRvbnMiLCJhbGlnbkJ1dHRvbnMiLCJvbkZpbGVBdHRhY2giLCJvbkRlbGV0ZUF0dGFjaG1lbnQiLCJfcmVmJGF0dGFjaG1lbnRzIiwiYXR0YWNobWVudHMiLCJjaGF0SWQiLCJuZXdDaGF0S2V5IiwiX3VzZVQiLCJ0IiwiaW5wdXRSZWYiLCJmaWxlSW5wdXRSZWYiLCJ3cmFwcGVyUmVmIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwidmFsdWVUZXh0YXJlYSIsInNldFZhbHVlVGV4dGFyZWEiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImlzRGlzYWJsZWQiLCJzZXRJc0Rpc2FibGVkIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc0ZvY3VzZWQiLCJzZXRJc0ZvY3VzZWQiLCJfdXNlU3RhdGU3IiwiaXNPcGVuIiwiZXhjbHVkZWRGaWxlcyIsImV4Y2VlZGVkRmlsZXMiLCJmaWxlU2l6ZXMiLCJfdXNlU3RhdGU4IiwibW9kYWxQcm9wcyIsInNldE1vZGFsUHJvcHMiLCJldmVudEFtcGxpdHVkZSIsInVzZXIiLCJfdXNlR2xvYmFsQ29udGV4dCIsInRvZ2dsZVdlYlNlYXJjaCIsImlzV2ViU2VhcmNoQWN0aXZlIiwidG9nZ2xlRGVlcFNlYXJjaCIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsImFnZW50IiwicHJldmlvdXNBZ2VudElkUmVmIiwidW5kZWZpbmVkIiwicHJldmlvdXNDaGF0SWRSZWYiLCJwcmV2aW91c05ld0NoYXRLZXlSZWYiLCJoYW5kbGVXZWJTZWFyY2hUb2dnbGUiLCJhaUNoYXRUb29scyIsIm9wdGlvbiIsImhhbmRsZURlZXBTZWFyY2hUb2dnbGUiLCJoYW5kbGVSZXNpemUiLCJ0ZXh0YXJlYSIsImN1cnJlbnQiLCJtaW5IZWlnaHQiLCJtYXhIZWlnaHQiLCJwcmV2aW91c01pbkhlaWdodCIsInN0eWxlIiwicHJldmlvdXNNYXhIZWlnaHQiLCJoZWlnaHQiLCJvZmZzZXRIZWlnaHQiLCJzY3JvbGxIZWlnaHQiLCJjb21wdXRlZFN0eWxlIiwid2luZG93IiwiZ2V0Q29tcHV0ZWRTdHlsZSIsImxpbmVIZWlnaHQiLCJwYXJzZUZsb2F0IiwicGFkZGluZ1RvcCIsInBhZGRpbmdCb3R0b20iLCJib3JkZXJUb3AiLCJib3JkZXJUb3BXaWR0aCIsImJvcmRlckJvdHRvbSIsImJvcmRlckJvdHRvbVdpZHRoIiwic2luZ2xlTGluZUhlaWdodCIsImlzRW1wdHkiLCJ2YWx1ZSIsInRyaW0iLCJoYXNNdWx0aXBsZVZpc3VhbExpbmVzIiwiY2FudmFzIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiY29udGV4dCIsImdldENvbnRleHQiLCJ0ZXh0YXJlYVN0eWxlcyIsImZvbnQiLCJjb25jYXQiLCJmb250V2VpZ2h0IiwiZm9udFNpemUiLCJmb250RmFtaWx5IiwicGFkZGluZ0xlZnQiLCJwYWRkaW5nUmlnaHQiLCJib3JkZXJMZWZ0IiwiYm9yZGVyTGVmdFdpZHRoIiwiYm9yZGVyUmlnaHQiLCJib3JkZXJSaWdodFdpZHRoIiwidGV4dGFyZWFXaWR0aCIsIm9mZnNldFdpZHRoIiwidGV4dCIsImxpbmVzIiwic3BsaXQiLCJsZW5ndGgiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9zdGVwIiwicyIsIm4iLCJkb25lIiwibGluZSIsInRleHRXaWR0aCIsIm1lYXN1cmVUZXh0Iiwid2lkdGgiLCJlcnIiLCJlIiwiZiIsIm5ld0hlaWdodCIsIk1hdGgiLCJtaW4iLCJtYXgiLCJmb2N1cyIsImFnZW50Q2hhbmdlZCIsImlkIiwicHJldmlvdXNDaGF0SWQiLCJjdXJyZW50Q2hhdElkIiwiY2hhdENoYW5nZWQiLCJjaGFuZ2VkRnJvbU5ld0NoYXRUb09sZENoYXQiLCJuZXdDaGF0U3RhcnRlZCIsImlzSW5pdGlhbE1vdW50IiwiZGVsYXkiLCJzZXRUaW1lb3V0IiwiaGFuZGxlU2Vzc2lvbkNoYW5nZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiYW5pbWF0aW9uRnJhbWVJZCIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsImNhbmNlbEFuaW1hdGlvbkZyYW1lIiwiaGFzVGV4dCIsImhhc0F0dGFjaG1lbnRzIiwiaGFuZGxlU2VuZE1lc3NhZ2UiLCJoYW5kbGVLZXlEb3duIiwia2V5Iiwic2hpZnRLZXkiLCJwcmV2ZW50RGVmYXVsdCIsImhhbmRsZUNoYW5nZSIsInRhcmdldCIsImhhbmRsZVBhc3RlIiwiX2lucHV0UmVmJGN1cnJlbnQkdmFsIiwiX2lucHV0UmVmJGN1cnJlbnQiLCJjdXJyZW50VmFsdWUiLCJoYW5kbGVGaWxlU2VsZWN0IiwiZmlsZXMiLCJmaWxlc0luc2VydGVkIiwiaXNOZXdGb3JtYXQiLCJleHRlbnNpb24iLCJpbmNsdWRlcyIsImlzT2xkRm9ybWF0IiwiaXNBdWRpb0Zvcm1hdCIsIkFycmF5IiwiZnJvbSIsImZvckVhY2giLCJmaWxlIiwiX2ZpbGVOYW1lUGFydHMkcG9wIiwiZXhjbHVkZWRGaWxlIiwiZmlsZU5hbWVQYXJ0cyIsIm5hbWUiLCJmaWxlRXh0ZW5zaW9uIiwicG9wIiwidG9Mb3dlckNhc2UiLCJzaXplIiwicHVzaCIsInR5cGVGaWxlIiwidHlwZSIsInBhcnNlZEZpbGUiLCJGaWxlIiwiaGFuZGxlQXR0YWNoQ2xpY2siLCJfZmlsZUlucHV0UmVmJGN1cnJlbnQiLCJjbGljayIsImhhbmRsZURlbGV0ZUF0dGFjaG1lbnQiLCJmaWxlSWQiLCJoYW5kbGVCbHVyIiwiaGFuZGxlV3JhcHBlckZvY3VzIiwiaGFuZGxlV3JhcHBlckJsdXIiLCJfd3JhcHBlclJlZiRjdXJyZW50IiwiY29udGFpbnMiLCJhY3RpdmVFbGVtZW50IiwiaGFuZGxlU3RvcEdlbmVyYXRpb24iLCJhaUNoYXRTdG9wUmVzcG9uc2UiLCJpc1Byb2plY3RTcGVjaWFsaXN0IiwiZW50aXR5Iiwic3BlY2lhbGlzdE1hdGNoZXNVc2VyQ29tcGFueSIsIk51bWJlciIsImNvbXBhbnlfaWQiLCJoYXNIZWFkZXJCdXR0b25zIiwiaWNvbkNvbG9ySW5hY3RpdmUiLCJjaGlsZHJlbiIsInJlZiIsIm9uRm9jdXMiLCJvbkJsdXIiLCJkaXNwbGF5IiwiZ2FwIiwiYWxpZ25JdGVtcyIsIm1hcCIsImF0dGFjaG1lbnQiLCJpbmRleCIsIl9maWxlTmFtZVBhcnRzJHBvcDIiLCJfYXR0YWNobWVudCR0eXBlIiwiaXNJbWFnZUJ5RXh0ZW5zaW9uIiwiaXNJbWFnZUJ5TWltZSIsInN0YXJ0c1dpdGgiLCJpc0ltYWdlIiwidGl0bGUiLCJpY29uIiwib25DbGljayIsImNvbG9yIiwib25LZXlEb3duIiwib25QYXN0ZSIsImlzTWF4aW1pemVkIiwiJGlzRm9jdXNlZCIsImlzQWN0aXZlIiwiaGFzVmFsdWVzIiwibXVsdGlwbGUiLCJhY2NlcHQiLCJvbkNsb3NlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvTUFJQUlucHV0L01BSUFJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1zeW50YXggKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnRpbnVlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby12b2lkICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9uby1hcnJheS1pbmRleC1rZXkgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWxvbmVseS1pZiAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLyogZXNsaW50LWRpc2FibGUgcHJlZmVyLWRlc3RydWN0dXJpbmcgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAqL1xuaW1wb3J0IHsgQ2hhbmdlRXZlbnQsIEtleWJvYXJkRXZlbnQsIFJlYWN0Tm9kZSwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBQYXBlclBsYW5lIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvUGFwZXJQbGFuZSdcbmltcG9ydCB7IEF0dGFjaCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0F0dGFjaCdcbmltcG9ydCB7IEdsb2JlIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvR2xvYmUnXG5pbXBvcnQgeyBUcmFzaCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1RyYXNoJ1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuXG5pbXBvcnQge1xuICBTQ01JQXR0YWNobWVudCxcbiAgU0NNSUF0dGFjaG1lbnREZWxldGVJY29uLFxuICBTQ01JV3JhcHBlckF0dGFjaG1lbnRCdXR0b24sXG4gIFNDTUlXcmFwcGVyV2ViU2VhcmNoQnV0dG9uLFxuICBTQ01JV3JhcHBlckRlZXBTZWFyY2hCdXR0b24sXG4gIFN0eWxlZE1BSUFJbnB1dCxcbiAgU3R5bGVkTUFJQUlucHV0QnV0dG9ucyxcbiAgU3R5bGVkTUFJQUlucHV0V3JhcHBlcixcbiAgU3R5bGVkTUFJQVNlbmRCdXR0b24sXG4gIFN0eWxlZE1BSUFTdG9wQnV0dG9uLFxuICBTdHlsZWRNQUlBU3RvcEljb24sXG59IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IE1vZGFsRmlsZUV4Y2VlZHMgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvTW9kYWxGaWxlRXhjZWVkcydcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgVGVsZXNjb3BlSWNvbiB9IGZyb20gJy4uL2ljb25zL1RlbGVzY29wZUljb24nXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQge1xuICBhbGxvd2VkRmlsZVR5cGVzLFxuICBmaWxlVHlwZXMsXG4gIE1BWF9GSUxFX1NJWkVfTUJfTUFJQV9WSVNJT04sXG4gIE1BWF9GSUxFX1NJWkVfTUJfT0xELFxuICBNQVhfRklMRV9TSVpFX01CX0FVRElPLFxufSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvZm9ybWF0RXh0ZW5zaW9ucydcbmltcG9ydCB7IEJMVUVfSUFfQ09MT1JTIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL2NvbmZpZydcblxudHlwZSBBdHRhY2htZW50RmlsZSA9IHtcbiAgZmlsZTogRmlsZVxuICBvcmlnaW5hbEZpbGU/OiBGaWxlXG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHNpemU6IG51bWJlclxuICB0eXBlOiBzdHJpbmdcbiAgaWNvbj86IFJlYWN0Tm9kZVxufVxuXG50eXBlIE1BSUFJbnB1dFByb3BzID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIG9uU2VuZE1lc3NhZ2U6IChtZXNzYWdlOiBzdHJpbmcsIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSkgPT4gdm9pZFxuICBvblN0b3BHZW5lcmF0aW9uPzogKCkgPT4gdm9pZFxuICBpc1N0cmVhbWluZz86IGJvb2xlYW5cbiAgaXNXcml0aW5nPzogYm9vbGVhblxuICBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICBvbkNoYW5nZT86ICgpID0+IHZvaWRcbiAgYWxpZ25CdXR0b25zPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJ1xuICBvbkZpbGVBdHRhY2g/OiAoZmlsZTogRmlsZSkgPT4gdm9pZFxuICBvbkRlbGV0ZUF0dGFjaG1lbnQ/OiAoZmlsZUlkOiBzdHJpbmcpID0+IHZvaWRcbiAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdXG4gIGNoYXRJZD86IHN0cmluZ1xuICBuZXdDaGF0S2V5PzogbnVtYmVyXG59XG5cbmV4cG9ydCBjb25zdCBNQUlBSW5wdXQgPSAoe1xuICBvblNlbmRNZXNzYWdlLFxuICBjbGFzc05hbWUsXG4gIGRpc2FibGVkLFxuICBpc1N0cmVhbWluZyxcbiAgaXNXcml0aW5nLFxuICBvblN0b3BHZW5lcmF0aW9uLFxuICBwbGFjZWhvbGRlcixcbiAgb25DaGFuZ2UsXG4gIGFsaWduQnV0dG9ucyA9ICd2ZXJ0aWNhbCcsXG4gIG9uRmlsZUF0dGFjaCxcbiAgb25EZWxldGVBdHRhY2htZW50LFxuICBhdHRhY2htZW50cyA9IFtdLFxuICBjaGF0SWQsXG4gIG5ld0NoYXRLZXksXG59OiBNQUlBSW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBpbnB1dFJlZiA9IHVzZVJlZjxIVE1MVGV4dEFyZWFFbGVtZW50PihudWxsKVxuICBjb25zdCBmaWxlSW5wdXRSZWYgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcbiAgY29uc3Qgd3JhcHBlclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgW3ZhbHVlVGV4dGFyZWEsIHNldFZhbHVlVGV4dGFyZWFdID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IFtpc0Rpc2FibGVkLCBzZXRJc0Rpc2FibGVkXSA9IHVzZVN0YXRlKHRydWUpXG4gIGNvbnN0IFtpc0ZvY3VzZWQsIHNldElzRm9jdXNlZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW21vZGFsUHJvcHMsIHNldE1vZGFsUHJvcHNdID0gdXNlU3RhdGUoe1xuICAgIGlzT3BlbjogZmFsc2UsXG4gICAgZXhjbHVkZWRGaWxlczogW10gYXMgc3RyaW5nW10sXG4gICAgZXhjZWVkZWRGaWxlczogW10gYXMgc3RyaW5nW10sXG4gICAgZmlsZVNpemVzOiB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+LFxuICB9KVxuICBjb25zdCBldmVudEFtcGxpdHVkZSA9IHVzZUV2ZW50KClcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCB7IHRvZ2dsZVdlYlNlYXJjaCwgaXNXZWJTZWFyY2hBY3RpdmUsIHRvZ2dsZURlZXBTZWFyY2gsIGlzRGVlcFNlYXJjaEFjdGl2ZSwgYWdlbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICAvLyBJbmljaWFsaXphciBsYXMgcmVmZXJlbmNpYXMgY29tbyB1bmRlZmluZWQgcGFyYSBkZXRlY3RhciBlbCBwcmltZXIgY2FtYmlvIGNvcnJlY3RhbWVudGVcbiAgY29uc3QgcHJldmlvdXNBZ2VudElkUmVmID0gdXNlUmVmPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuICBjb25zdCBwcmV2aW91c0NoYXRJZFJlZiA9IHVzZVJlZjxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZClcbiAgY29uc3QgcHJldmlvdXNOZXdDaGF0S2V5UmVmID0gdXNlUmVmPG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuXG4gIGNvbnN0IGhhbmRsZVdlYlNlYXJjaFRvZ2dsZSA9ICgpID0+IHtcbiAgICBpZiAoaXNEZWVwU2VhcmNoQWN0aXZlKSB7XG4gICAgICB0b2dnbGVEZWVwU2VhcmNoKClcbiAgICB9XG4gICAgdG9nZ2xlV2ViU2VhcmNoKClcbiAgICBpZiAoIWlzV2ViU2VhcmNoQWN0aXZlKSB7XG4gICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0VG9vbHMsIHsgb3B0aW9uOiAnc2VhcmNoJyB9KVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZURlZXBTZWFyY2hUb2dnbGUgPSAoKSA9PiB7XG4gICAgaWYgKGlzV2ViU2VhcmNoQWN0aXZlKSB7XG4gICAgICB0b2dnbGVXZWJTZWFyY2goKVxuICAgIH1cbiAgICB0b2dnbGVEZWVwU2VhcmNoKClcbiAgICBpZiAoIWlzRGVlcFNlYXJjaEFjdGl2ZSkge1xuICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdFRvb2xzLCB7IG9wdGlvbjogJ2RlZXBfc2VhcmNoJyB9KVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVJlc2l6ZSA9ICgpID0+IHtcbiAgICBjb25zdCB0ZXh0YXJlYSA9IGlucHV0UmVmLmN1cnJlbnRcbiAgICBpZiAoIXRleHRhcmVhKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyBBbHR1cmEgbcOtbmltYSBlcXVpdmFsZW50ZSBhIHVuYSBsw61uZWFcbiAgICBjb25zdCBtaW5IZWlnaHQgPSAyMi4xXG4gICAgY29uc3QgbWF4SGVpZ2h0ID0gMTIyLjFcblxuICAgIC8vIFBhcmEgbWVkaXIgY29ycmVjdGFtZW50ZSBlbCBzY3JvbGxIZWlnaHQsIG5lY2VzaXRhbW9zIHF1aXRhciB0ZW1wb3JhbG1lbnRlIGxhcyByZXN0cmljY2lvbmVzXG4gICAgY29uc3QgcHJldmlvdXNNaW5IZWlnaHQgPSB0ZXh0YXJlYS5zdHlsZS5taW5IZWlnaHRcbiAgICBjb25zdCBwcmV2aW91c01heEhlaWdodCA9IHRleHRhcmVhLnN0eWxlLm1heEhlaWdodFxuXG4gICAgLy8gRXN0YWJsZWNlciBhbHR1cmEgYSAnYXV0bycgeSBxdWl0YXIgdGVtcG9yYWxtZW50ZSBtaW4taGVpZ2h0IHkgbWF4LWhlaWdodCBwYXJhIG1lZGlyIGNvcnJlY3RhbWVudGVcbiAgICB0ZXh0YXJlYS5zdHlsZS5oZWlnaHQgPSAnYXV0bydcbiAgICB0ZXh0YXJlYS5zdHlsZS5taW5IZWlnaHQgPSAnMHB4J1xuICAgIHRleHRhcmVhLnN0eWxlLm1heEhlaWdodCA9ICdub25lJ1xuXG4gICAgLy8gRm9yemFyIHJlZmxvdyBwYXJhIHF1ZSBlbCBuYXZlZ2Fkb3IgcmVjYWxjdWxlXG4gICAgdm9pZCB0ZXh0YXJlYS5vZmZzZXRIZWlnaHRcblxuICAgIC8vIEFob3JhIG1lZGlyIGVsIHNjcm9sbEhlaWdodCByZWFsIHNpbiByZXN0cmljY2lvbmVzXG4gICAgY29uc3Qgc2Nyb2xsSGVpZ2h0ID0gdGV4dGFyZWEuc2Nyb2xsSGVpZ2h0XG5cbiAgICAvLyBDYWxjdWxhciBsYSBhbHR1cmEgZGUgdW5hIGzDrW5lYSB1c2FuZG8gbG9zIGVzdGlsb3MgY29tcHV0YWRvc1xuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0ZXh0YXJlYSlcbiAgICBjb25zdCBsaW5lSGVpZ2h0ID0gcGFyc2VGbG9hdChjb21wdXRlZFN0eWxlLmxpbmVIZWlnaHQpIHx8IDIwIC8vIEZhbGxiYWNrIGEgMjBweCBzaSBubyBlc3TDoSBkZWZpbmlkb1xuICAgIGNvbnN0IHBhZGRpbmdUb3AgPSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUucGFkZGluZ1RvcCkgfHwgMFxuICAgIGNvbnN0IHBhZGRpbmdCb3R0b20gPSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUucGFkZGluZ0JvdHRvbSkgfHwgMFxuICAgIGNvbnN0IGJvcmRlclRvcCA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5ib3JkZXJUb3BXaWR0aCkgfHwgMFxuICAgIGNvbnN0IGJvcmRlckJvdHRvbSA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5ib3JkZXJCb3R0b21XaWR0aCkgfHwgMFxuXG4gICAgLy8gQWx0dXJhIGRlIHVuYSBsw61uZWEgY29tcGxldGEgKGxpbmUtaGVpZ2h0ICsgcGFkZGluZyArIGJvcmRlcilcbiAgICBjb25zdCBzaW5nbGVMaW5lSGVpZ2h0ID0gbGluZUhlaWdodCArIHBhZGRpbmdUb3AgKyBwYWRkaW5nQm90dG9tICsgYm9yZGVyVG9wICsgYm9yZGVyQm90dG9tXG5cbiAgICBjb25zdCBpc0VtcHR5ID0gdGV4dGFyZWEudmFsdWUudHJpbSgpID09PSAnJ1xuXG4gICAgLy8gTWVkaXIgZWwgYW5jaG8gZGVsIHRleHRvIHVzYW5kbyBDYW52YXMgcGFyYSBkZXRlcm1pbmFyIHNpIHNlIGVudnVlbHZlIGEgbcO6bHRpcGxlcyBsw61uZWFzXG4gICAgbGV0IGhhc011bHRpcGxlVmlzdWFsTGluZXMgPSBmYWxzZVxuXG4gICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJylcbiAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJylcblxuICAgIGlmICghY29udGV4dCkge1xuICAgICAgLy8gRmFsbGJhY2sgc2kgQ2FudmFzIG5vIGVzdMOhIGRpc3BvbmlibGU6IHVzYXIgc2Nyb2xsSGVpZ2h0XG4gICAgICBoYXNNdWx0aXBsZVZpc3VhbExpbmVzID0gc2Nyb2xsSGVpZ2h0ID4gc2luZ2xlTGluZUhlaWdodCAqIDEuNVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0ZXh0YXJlYVN0eWxlcyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRleHRhcmVhKVxuICAgICAgY29udGV4dC5mb250ID0gYCR7dGV4dGFyZWFTdHlsZXMuZm9udFdlaWdodH0gJHt0ZXh0YXJlYVN0eWxlcy5mb250U2l6ZX0gJHt0ZXh0YXJlYVN0eWxlcy5mb250RmFtaWx5fWBcblxuICAgICAgLy8gQ2FsY3VsYXIgZWwgYW5jaG8gZGlzcG9uaWJsZSAoYW5jaG8gdG90YWwgbWVub3MgcGFkZGluZyBpenF1aWVyZG8vZGVyZWNobyB5IGJvcmRlciBpenF1aWVyZG8vZGVyZWNobylcbiAgICAgIGNvbnN0IHBhZGRpbmdMZWZ0ID0gcGFyc2VGbG9hdChjb21wdXRlZFN0eWxlLnBhZGRpbmdMZWZ0KSB8fCAwXG4gICAgICBjb25zdCBwYWRkaW5nUmlnaHQgPSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUucGFkZGluZ1JpZ2h0KSB8fCAwXG4gICAgICBjb25zdCBib3JkZXJMZWZ0ID0gcGFyc2VGbG9hdChjb21wdXRlZFN0eWxlLmJvcmRlckxlZnRXaWR0aCkgfHwgMFxuICAgICAgY29uc3QgYm9yZGVyUmlnaHQgPSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUuYm9yZGVyUmlnaHRXaWR0aCkgfHwgMFxuICAgICAgY29uc3QgdGV4dGFyZWFXaWR0aCA9IHRleHRhcmVhLm9mZnNldFdpZHRoIC0gcGFkZGluZ0xlZnQgLSBwYWRkaW5nUmlnaHQgLSBib3JkZXJMZWZ0IC0gYm9yZGVyUmlnaHRcbiAgICAgIGNvbnN0IHRleHQgPSB0ZXh0YXJlYS52YWx1ZSB8fCAnJ1xuICAgICAgY29uc3QgbGluZXMgPSB0ZXh0LnNwbGl0KCdcXG4nKVxuXG4gICAgICAvLyBTaSBoYXkgbcO6bHRpcGxlcyBsw61uZWFzIHBvciBzYWx0b3MgZGUgbMOtbmVhIGV4cGzDrWNpdG9zXG4gICAgICBpZiAobGluZXMubGVuZ3RoID4gMSkge1xuICAgICAgICBoYXNNdWx0aXBsZVZpc3VhbExpbmVzID0gdHJ1ZVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVmVyaWZpY2FyIHNpIGVsIHRleHRvIHNlIGVudnVlbHZlIG1pZGllbmRvIGVsIGFuY2hvIGRlIGNhZGEgbMOtbmVhXG4gICAgICAgIGZvciAoY29uc3QgbGluZSBvZiBsaW5lcykge1xuICAgICAgICAgIGlmIChsaW5lLnRyaW0oKSA9PT0gJycpIGNvbnRpbnVlXG4gICAgICAgICAgY29uc3QgdGV4dFdpZHRoID0gY29udGV4dC5tZWFzdXJlVGV4dChsaW5lKS53aWR0aFxuICAgICAgICAgIC8vIFNpIGFsZ3VuYSBsw61uZWEgZXMgbcOhcyBhbmNoYSBxdWUgZWwgdGV4dGFyZWEgZGlzcG9uaWJsZSwgc2UgZW52dWVsdmVcbiAgICAgICAgICBpZiAodGV4dFdpZHRoID4gdGV4dGFyZWFXaWR0aCkge1xuICAgICAgICAgICAgaGFzTXVsdGlwbGVWaXN1YWxMaW5lcyA9IHRydWVcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IG5ld0hlaWdodDogbnVtYmVyXG4gICAgaWYgKGlzRW1wdHkpIHtcbiAgICAgIC8vIEN1YW5kbyBlc3TDoSB2YWPDrW8sIHVzYXIgYWx0dXJhIG3DrW5pbWFcbiAgICAgIG5ld0hlaWdodCA9IG1pbkhlaWdodFxuICAgIH0gZWxzZSBpZiAoIWhhc011bHRpcGxlVmlzdWFsTGluZXMpIHtcbiAgICAgIC8vIEN1YW5kbyBoYXkgY29udGVuaWRvIHBlcm8gc29sbyB1bmEgbMOtbmVhIHZpc3VhbCwgdXNhciBhbHR1cmEgbcOtbmltYVxuICAgICAgbmV3SGVpZ2h0ID0gbWluSGVpZ2h0XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFBhcmEgbcO6bHRpcGxlcyBsw61uZWFzIHZpc3VhbGVzLCB1c2FyIGVsIHNjcm9sbEhlaWdodFxuICAgICAgbmV3SGVpZ2h0ID0gTWF0aC5taW4oTWF0aC5tYXgoc2Nyb2xsSGVpZ2h0LCBtaW5IZWlnaHQpLCBtYXhIZWlnaHQpXG4gICAgfVxuXG4gICAgLy8gUmVzdGF1cmFyIGVzdGlsb3MgYW50ZXMgZGUgYXBsaWNhciBsYSBudWV2YSBhbHR1cmFcbiAgICB0ZXh0YXJlYS5zdHlsZS5taW5IZWlnaHQgPSBwcmV2aW91c01pbkhlaWdodCB8fCAnMjIuMXB4J1xuICAgIHRleHRhcmVhLnN0eWxlLm1heEhlaWdodCA9IHByZXZpb3VzTWF4SGVpZ2h0IHx8ICcxMjIuMXB4J1xuXG4gICAgdGV4dGFyZWEuc3R5bGUuaGVpZ2h0ID0gYCR7bmV3SGVpZ2h0fXB4YFxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaW5wdXRSZWYuY3VycmVudCAmJiAhZGlzYWJsZWQpIHtcbiAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKVxuICAgICAgaGFuZGxlUmVzaXplKClcbiAgICB9XG4gIH0sIFtkaXNhYmxlZF0pXG5cbiAgLy8gQXV0by1mb2N1cyBjdWFuZG8gY2FtYmlhIGVsIGFnZW50ZSBvIGxhIGNvbnZlcnNhY2nDs24sIG8gYWwgbW9udGFyIGVsIGNvbXBvbmVudGVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBDb21wYXJhY2nDs24gcXVlIG1hbmVqYSBjb3JyZWN0YW1lbnRlIHVuZGVmaW5lZC9udWxsXG4gICAgY29uc3QgYWdlbnRDaGFuZ2VkID0gcHJldmlvdXNBZ2VudElkUmVmLmN1cnJlbnQgIT09IGFnZW50Py5pZFxuICAgIC8vIENvbXBhcmFjacOzbiBlc3RyaWN0YSBxdWUgZGV0ZWN0YSBjYW1iaW9zIGluY2x1c28gY3VhbmRvIHVubyBlcyB1bmRlZmluZWRcbiAgICBjb25zdCBwcmV2aW91c0NoYXRJZCA9IHByZXZpb3VzQ2hhdElkUmVmLmN1cnJlbnRcbiAgICBjb25zdCBjdXJyZW50Q2hhdElkID0gY2hhdElkXG4gICAgY29uc3QgY2hhdENoYW5nZWQgPSBwcmV2aW91c0NoYXRJZCAhPT0gY3VycmVudENoYXRJZFxuICAgIC8vIERldGVjdGFyIGNhbWJpbyBlc3BlY8OtZmljbyBkZSB1bmRlZmluZWQvbnVsbCBhIHVuIHZhbG9yIChudWV2byBjaGF0IC0+IGNvbnZlcnNhY2nDs24gdmllamEpXG4gICAgY29uc3QgY2hhbmdlZEZyb21OZXdDaGF0VG9PbGRDaGF0ID1cbiAgICAgIChwcmV2aW91c0NoYXRJZCA9PT0gdW5kZWZpbmVkIHx8IHByZXZpb3VzQ2hhdElkID09PSBudWxsKSAmJiBjdXJyZW50Q2hhdElkICE9PSB1bmRlZmluZWQgJiYgY3VycmVudENoYXRJZCAhPT0gbnVsbFxuICAgIGNvbnN0IG5ld0NoYXRTdGFydGVkID0gcHJldmlvdXNOZXdDaGF0S2V5UmVmLmN1cnJlbnQgIT09IG5ld0NoYXRLZXlcbiAgICBjb25zdCBpc0luaXRpYWxNb3VudCA9IHByZXZpb3VzQWdlbnRJZFJlZi5jdXJyZW50ID09PSB1bmRlZmluZWQgJiYgcHJldmlvdXNDaGF0SWRSZWYuY3VycmVudCA9PT0gdW5kZWZpbmVkXG5cbiAgICBpZiAoXG4gICAgICAoYWdlbnRDaGFuZ2VkIHx8IGNoYXRDaGFuZ2VkIHx8IGNoYW5nZWRGcm9tTmV3Q2hhdFRvT2xkQ2hhdCB8fCBuZXdDaGF0U3RhcnRlZCB8fCBpc0luaXRpYWxNb3VudCkgJiZcbiAgICAgIGlucHV0UmVmLmN1cnJlbnQgJiZcbiAgICAgICFkaXNhYmxlZFxuICAgICkge1xuICAgICAgLy8gVXNhciBzZXRUaW1lb3V0IHBhcmEgYXNlZ3VyYXIgcXVlIGVsIERPTSBlc3TDqSBsaXN0b1xuICAgICAgLy8gQXVtZW50YXIgZWwgZGVsYXkgcGFyYSBjYXNvcyBkb25kZSBlbCBjb21wb25lbnRlIHNlIGVzdMOhIG1vbnRhbmRvXG4gICAgICBjb25zdCBkZWxheSA9IGlzSW5pdGlhbE1vdW50IHx8IGNoYW5nZWRGcm9tTmV3Q2hhdFRvT2xkQ2hhdCA/IDIwMCA6IDEwMFxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmIChpbnB1dFJlZi5jdXJyZW50ICYmICFkaXNhYmxlZCkge1xuICAgICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKVxuICAgICAgICB9XG4gICAgICB9LCBkZWxheSlcbiAgICB9XG5cbiAgICAvLyBBY3R1YWxpemFyIGxhcyByZWZlcmVuY2lhcyBERVNQVcOJUyBkZSBsYSBjb21wYXJhY2nDs25cbiAgICBwcmV2aW91c0FnZW50SWRSZWYuY3VycmVudCA9IGFnZW50Py5pZFxuICAgIHByZXZpb3VzQ2hhdElkUmVmLmN1cnJlbnQgPSBjaGF0SWRcbiAgICBwcmV2aW91c05ld0NoYXRLZXlSZWYuY3VycmVudCA9IG5ld0NoYXRLZXlcbiAgfSwgW2FnZW50Py5pZCwgY2hhdElkLCBuZXdDaGF0S2V5LCBkaXNhYmxlZF0pXG5cbiAgLy8gQ2xlYXIgaW5wdXQgd2hlbiBzZXNzaW9uIGNoYW5nZXMgKHVzZXIgc3dpdGNoZXMgdG8gYSBkaWZmZXJlbnQgY2hhdClcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVTZXNzaW9uQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgc2V0VmFsdWVUZXh0YXJlYSgnJylcbiAgICAgIHNldElzRGlzYWJsZWQodHJ1ZSlcbiAgICAgIGlmIChpbnB1dFJlZi5jdXJyZW50KSB7XG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQudmFsdWUgPSAnJ1xuICAgICAgfVxuICAgICAgaGFuZGxlUmVzaXplKClcbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGF0LXNlc3Npb24tY2hhbmdlZCcsIGhhbmRsZVNlc3Npb25DaGFuZ2UpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhdC1zZXNzaW9uLWNoYW5nZWQnLCBoYW5kbGVTZXNzaW9uQ2hhbmdlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBhbmltYXRpb25GcmFtZUlkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGhhbmRsZVJlc2l6ZSgpXG4gICAgfSlcblxuICAgIHJldHVybiAoKSA9PiBjYW5jZWxBbmltYXRpb25GcmFtZShhbmltYXRpb25GcmFtZUlkKVxuICB9LCBbdmFsdWVUZXh0YXJlYV0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYXNUZXh0ID0gdmFsdWVUZXh0YXJlYS50cmltKCkubGVuZ3RoID4gMFxuICAgIGNvbnN0IGhhc0F0dGFjaG1lbnRzID0gYXR0YWNobWVudHMubGVuZ3RoID4gMFxuICAgIHNldElzRGlzYWJsZWQoIWhhc1RleHQgJiYgIWhhc0F0dGFjaG1lbnRzKVxuICB9LCBbYXR0YWNobWVudHMsIHZhbHVlVGV4dGFyZWFdKVxuXG4gIGNvbnN0IGhhbmRsZVNlbmRNZXNzYWdlID0gKCkgPT4ge1xuICAgIGlmIChpbnB1dFJlZi5jdXJyZW50KSB7XG4gICAgICBvblNlbmRNZXNzYWdlKGlucHV0UmVmLmN1cnJlbnQudmFsdWUsIGF0dGFjaG1lbnRzKVxuICAgICAgaW5wdXRSZWYuY3VycmVudC52YWx1ZSA9ICcnXG4gICAgICBzZXRWYWx1ZVRleHRhcmVhKCcnKVxuICAgICAgc2V0SXNEaXNhYmxlZCh0cnVlKVxuICAgICAgaGFuZGxlUmVzaXplKClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBpZiAoYXR0YWNobWVudHMubGVuZ3RoKSB7XG4gICAgICBvblNlbmRNZXNzYWdlKCcnLCBhdHRhY2htZW50cylcbiAgICAgIHNldFZhbHVlVGV4dGFyZWEoJycpXG4gICAgICBzZXRJc0Rpc2FibGVkKHRydWUpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IChlOiBLZXlib2FyZEV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKGUua2V5ID09PSAnRW50ZXInICYmICFlLnNoaWZ0S2V5KSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIGlmICghaXNEaXNhYmxlZCAmJiAhZGlzYWJsZWQpIHtcbiAgICAgICAgaGFuZGxlU2VuZE1lc3NhZ2UoKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IChlOiBDaGFuZ2VFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50PikgPT4ge1xuICAgIGNvbnN0IGhhc1RleHQgPSBlLnRhcmdldC52YWx1ZS50cmltKCkubGVuZ3RoID4gMFxuICAgIGNvbnN0IGhhc0F0dGFjaG1lbnRzID0gYXR0YWNobWVudHMubGVuZ3RoID4gMFxuICAgIHNldElzRGlzYWJsZWQoIWhhc1RleHQgJiYgIWhhc0F0dGFjaG1lbnRzKVxuICAgIHNldFZhbHVlVGV4dGFyZWEoZS50YXJnZXQudmFsdWUpXG4gICAgb25DaGFuZ2U/LigpXG4gIH1cblxuICBjb25zdCBoYW5kbGVQYXN0ZSA9ICgpID0+IHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGhhbmRsZVJlc2l6ZSgpXG4gICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBpbnB1dFJlZi5jdXJyZW50Py52YWx1ZSA/PyAnJ1xuICAgICAgY29uc3QgaGFzVGV4dCA9IGN1cnJlbnRWYWx1ZS50cmltKCkubGVuZ3RoID4gMFxuICAgICAgY29uc3QgaGFzQXR0YWNobWVudHMgPSBhdHRhY2htZW50cy5sZW5ndGggPiAwXG4gICAgICBzZXRWYWx1ZVRleHRhcmVhKGN1cnJlbnRWYWx1ZSlcbiAgICAgIHNldElzRGlzYWJsZWQoIWhhc1RleHQgJiYgIWhhc0F0dGFjaG1lbnRzKVxuICAgIH0sIDEwKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRmlsZVNlbGVjdCA9IChlOiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIGNvbnN0IGZpbGVzID0gZS50YXJnZXQuZmlsZXNcbiAgICBpZiAoIWZpbGVzKSByZXR1cm5cblxuICAgIGNvbnN0IGV4Y2VlZGVkRmlsZXM6IHN0cmluZ1tdID0gW11cbiAgICBjb25zdCBleGNsdWRlZEZpbGVzOiBzdHJpbmdbXSA9IFtdXG4gICAgY29uc3QgZmlsZVNpemVzOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge31cbiAgICBsZXQgZmlsZXNJbnNlcnRlZCA9IGF0dGFjaG1lbnRzLmxlbmd0aFxuXG4gICAgLy8gRGVmaW5pciBsw61taXRlcyBwYXJhIGRpZmVyZW50ZXMgdGlwb3MgZGUgYXJjaGl2b3NcbiAgICBjb25zdCBpc05ld0Zvcm1hdCA9IChleHRlbnNpb246IHN0cmluZykgPT4gWycucG5nJywgJy5qcGcnLCAnLmpwZWcnLCAnLnBkZiddLmluY2x1ZGVzKGV4dGVuc2lvbilcbiAgICBjb25zdCBpc09sZEZvcm1hdCA9IChleHRlbnNpb246IHN0cmluZykgPT5cbiAgICAgIFsnLnR4dCcsICcubWQnLCAnLmNzdicsICcuZG9jJywgJy5kb2N4JywgJy54bHN4JywgJy54bHMnXS5pbmNsdWRlcyhleHRlbnNpb24pXG4gICAgY29uc3QgaXNBdWRpb0Zvcm1hdCA9IChleHRlbnNpb246IHN0cmluZykgPT5cbiAgICAgIFsnLmZsYWMnLCAnLm00YScsICcubXAzJywgJy5tcDQnLCAnLm9nYScsICcub2dnJywgJy53YXYnLCAnLndlYm0nXS5pbmNsdWRlcyhleHRlbnNpb24pXG5cbiAgICBBcnJheS5mcm9tKGZpbGVzKS5mb3JFYWNoKGZpbGUgPT4ge1xuICAgICAgbGV0IGV4Y2x1ZGVkRmlsZSA9IGZhbHNlXG4gICAgICBjb25zdCBmaWxlTmFtZVBhcnRzID0gZmlsZS5uYW1lLnNwbGl0KCcuJylcbiAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBmaWxlTmFtZVBhcnRzLmxlbmd0aCA+IDEgPyBgLiR7ZmlsZU5hbWVQYXJ0cy5wb3AoKT8udG9Mb3dlckNhc2UoKX1gIDogJydcblxuICAgICAgaWYgKCFhbGxvd2VkRmlsZVR5cGVzPy5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgZmlsZVNpemVzW2ZpbGUubmFtZV0gPSBmaWxlLnNpemVcblxuICAgICAgLy8gVmFsaWRhY2lvbmVzIGVzcGVjw61maWNhcyBzZWfDum4gZWwgdGlwbyBkZSBhcmNoaXZvXG4gICAgICBpZiAoaXNOZXdGb3JtYXQoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgICAgLy8gUGFyYSBudWV2b3MgZm9ybWF0b3M6IGhhc3RhIDQuOTlNQiBwb3IgYXJjaGl2bywgaGFzdGEgNSBhcmNoaXZvc1xuICAgICAgICBpZiAoZmlsZS5zaXplID4gTUFYX0ZJTEVfU0laRV9NQl9NQUlBX1ZJU0lPTiAqIDEwMjQgKiAxMDI0KSB7XG4gICAgICAgICAgZXhjZWVkZWRGaWxlcy5wdXNoKGZpbGUubmFtZSlcbiAgICAgICAgICBleGNsdWRlZEZpbGUgPSB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmlsZXNJbnNlcnRlZCArIDEgPiA1KSB7XG4gICAgICAgICAgZXhjbHVkZWRGaWxlcy5wdXNoKGZpbGUubmFtZSlcbiAgICAgICAgICBleGNsdWRlZEZpbGUgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXNPbGRGb3JtYXQoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgICAgLy8gUGFyYSBmb3JtYXRvcyBhbnRlcmlvcmVzOiBoYXN0YSAxTUIgcG9yIGFyY2hpdm8sIGhhc3RhIDUgYXJjaGl2b3NcbiAgICAgICAgaWYgKGZpbGUuc2l6ZSA+IE1BWF9GSUxFX1NJWkVfTUJfT0xEICogMTAyNCAqIDEwMjQpIHtcbiAgICAgICAgICBleGNlZWRlZEZpbGVzLnB1c2goZmlsZS5uYW1lKVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZSA9IHRydWVcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlc0luc2VydGVkICsgMSA+IDUpIHtcbiAgICAgICAgICBleGNsdWRlZEZpbGVzLnB1c2goZmlsZS5uYW1lKVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZSA9IHRydWVcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChpc0F1ZGlvRm9ybWF0KGZpbGVFeHRlbnNpb24pKSB7XG4gICAgICAgIC8vIFBhcmEgYXJjaGl2b3MgZGUgYXVkaW86IGhhc3RhIDEwTUIgcG9yIGFyY2hpdm8sIGhhc3RhIDUgYXJjaGl2b3NcbiAgICAgICAgaWYgKGZpbGUuc2l6ZSA+IE1BWF9GSUxFX1NJWkVfTUJfQVVESU8gKiAxMDI0ICogMTAyNCkge1xuICAgICAgICAgIGV4Y2VlZGVkRmlsZXMucHVzaChmaWxlLm5hbWUpXG4gICAgICAgICAgZXhjbHVkZWRGaWxlID0gdHJ1ZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbGVzSW5zZXJ0ZWQgKyAxID4gNSkge1xuICAgICAgICAgIGV4Y2x1ZGVkRmlsZXMucHVzaChmaWxlLm5hbWUpXG4gICAgICAgICAgZXhjbHVkZWRGaWxlID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICghZXhjbHVkZWRGaWxlKSB7XG4gICAgICAgIGZpbGVzSW5zZXJ0ZWQgKz0gMVxuICAgICAgICBjb25zdCB0eXBlRmlsZSA9IGZpbGUudHlwZSB8fCBmaWxlVHlwZXNbZmlsZUV4dGVuc2lvbl1cbiAgICAgICAgY29uc3QgcGFyc2VkRmlsZSA9IG5ldyBGaWxlKFtmaWxlXSwgZmlsZS5uYW1lLCB7IHR5cGU6IHR5cGVGaWxlIH0pXG4gICAgICAgIG9uRmlsZUF0dGFjaD8uKHBhcnNlZEZpbGUpXG4gICAgICB9XG4gICAgfSlcblxuICAgIHNldElzRGlzYWJsZWQoZmFsc2UpXG4gICAgaWYgKGV4Y2x1ZGVkRmlsZXMubGVuZ3RoIHx8IGV4Y2VlZGVkRmlsZXMubGVuZ3RoKSB7XG4gICAgICBzZXRNb2RhbFByb3BzKHsgaXNPcGVuOiB0cnVlLCBleGNsdWRlZEZpbGVzLCBleGNlZWRlZEZpbGVzLCBmaWxlU2l6ZXMgfSlcbiAgICB9XG5cbiAgICBpZiAoZmlsZUlucHV0UmVmLmN1cnJlbnQpIHtcbiAgICAgIGZpbGVJbnB1dFJlZi5jdXJyZW50LnZhbHVlID0gJydcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVBdHRhY2hDbGljayA9ICgpID0+IHtcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0VG9vbHMsIHsgb3B0aW9uOiAnZmlsZXMnIH0pXG4gICAgaWYgKGF0dGFjaG1lbnRzLmxlbmd0aCA+PSA1KSByZXR1cm5cbiAgICBmaWxlSW5wdXRSZWYuY3VycmVudD8uY2xpY2soKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlQXR0YWNobWVudCA9IChmaWxlSWQ6IHN0cmluZykgPT4ge1xuICAgIG9uRGVsZXRlQXR0YWNobWVudD8uKGZpbGVJZClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUJsdXIgPSAoKSA9PiB7XG4gICAgY29uc3QgaGFzVGV4dCA9IHZhbHVlVGV4dGFyZWEudHJpbSgpLmxlbmd0aCA+IDBcbiAgICBjb25zdCBoYXNBdHRhY2htZW50cyA9IGF0dGFjaG1lbnRzLmxlbmd0aCA+IDBcbiAgICBzZXRJc0Rpc2FibGVkKCFoYXNUZXh0ICYmICFoYXNBdHRhY2htZW50cylcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVdyYXBwZXJGb2N1cyA9ICgpID0+IHNldElzRm9jdXNlZCh0cnVlKVxuICBjb25zdCBoYW5kbGVXcmFwcGVyQmx1ciA9ICgpID0+IHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghd3JhcHBlclJlZi5jdXJyZW50Py5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSkge1xuICAgICAgICBzZXRJc0ZvY3VzZWQoZmFsc2UpXG4gICAgICB9XG4gICAgfSwgMClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVN0b3BHZW5lcmF0aW9uID0gKCkgPT4ge1xuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRTdG9wUmVzcG9uc2UpXG4gICAgb25TdG9wR2VuZXJhdGlvbj8uKClcbiAgfVxuXG4gIGNvbnN0IGlzUHJvamVjdFNwZWNpYWxpc3QgPSBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyAmJiBhZ2VudD8uZW50aXR5ID09PSAncHJvamVjdCdcbiAgY29uc3Qgc3BlY2lhbGlzdE1hdGNoZXNVc2VyQ29tcGFueSA9IGlzUHJvamVjdFNwZWNpYWxpc3QgJiYgTnVtYmVyKHVzZXIuY29tcGFueV9pZCkgPT09IDEzMzAzXG4gIGNvbnN0IGhhc0hlYWRlckJ1dHRvbnMgPSBhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbScgfHwgc3BlY2lhbGlzdE1hdGNoZXNVc2VyQ29tcGFueVxuXG4gIGNvbnN0IGljb25Db2xvckluYWN0aXZlID0gaXNGb2N1c2VkID8gJyM2NjY2NjYnIDogJyM5OTknXG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPFN0eWxlZE1BSUFJbnB1dFdyYXBwZXJcbiAgICAgICAgcmVmPXt3cmFwcGVyUmVmfVxuICAgICAgICBkaXNhYmxlZD17ZmFsc2V9XG4gICAgICAgIGFsaWduQnV0dG9ucz17YWxpZ25CdXR0b25zfVxuICAgICAgICBoYXNBdHRhY2htZW50cz17ISFhdHRhY2htZW50cy5sZW5ndGh9XG4gICAgICAgIG9uRm9jdXM9e2hhbmRsZVdyYXBwZXJGb2N1c31cbiAgICAgICAgb25CbHVyPXtoYW5kbGVXcmFwcGVyQmx1cn1cbiAgICAgID5cbiAgICAgICAgeyEhYXR0YWNobWVudHMubGVuZ3RoICYmIChcbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZ2FwOiAnMTJweCcsIGFsaWduSXRlbXM6ICdjZW50ZXInIH19PlxuICAgICAgICAgICAge2F0dGFjaG1lbnRzLm1hcCgoYXR0YWNobWVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZmlsZU5hbWVQYXJ0cyA9IGF0dGFjaG1lbnQubmFtZS5zcGxpdCgnLicpXG4gICAgICAgICAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSBmaWxlTmFtZVBhcnRzLmxlbmd0aCA+IDEgPyBgLiR7ZmlsZU5hbWVQYXJ0cy5wb3AoKT8udG9Mb3dlckNhc2UoKX1gIDogJydcbiAgICAgICAgICAgICAgY29uc3QgaXNJbWFnZUJ5RXh0ZW5zaW9uID0gWycucG5nJywgJy5qcGcnLCAnLmpwZWcnXS5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKVxuICAgICAgICAgICAgICBjb25zdCBpc0ltYWdlQnlNaW1lID0gYXR0YWNobWVudC50eXBlPy5zdGFydHNXaXRoKCdpbWFnZS8nKVxuICAgICAgICAgICAgICBjb25zdCBpc0ltYWdlID0gaXNJbWFnZUJ5TWltZSAmJiBpc0ltYWdlQnlFeHRlbnNpb25cbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17YXR0YWNobWVudC5uYW1lfSBrZXk9e2Ake2luZGV4fS0ke2F0dGFjaG1lbnQubmFtZX1gfT5cbiAgICAgICAgICAgICAgICAgIDxTQ01JQXR0YWNobWVudCBpc0ltYWdlPXtpc0ltYWdlfT5cbiAgICAgICAgICAgICAgICAgICAge2F0dGFjaG1lbnQuaWNvbn1cbiAgICAgICAgICAgICAgICAgICAgPFNDTUlBdHRhY2htZW50RGVsZXRlSWNvbiBvbkNsaWNrPXsoKSA9PiBoYW5kbGVEZWxldGVBdHRhY2htZW50KGF0dGFjaG1lbnQuaWQpfT5cbiAgICAgICAgICAgICAgICAgICAgICA8VHJhc2ggY29sb3I9XCJyZ2JhKDE5MSwgMTkxLCAxOTEsIDEpXCIgd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSAvPlxuICAgICAgICAgICAgICAgICAgICA8L1NDTUlBdHRhY2htZW50RGVsZXRlSWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvU0NNSUF0dGFjaG1lbnQ+XG4gICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgICAgPFN0eWxlZE1BSUFJbnB1dFxuICAgICAgICAgIHJlZj17aW5wdXRSZWZ9XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgICAgIG9uUGFzdGU9e2hhbmRsZVBhc3RlfVxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICBhbGlnbkJ1dHRvbnM9e2FsaWduQnV0dG9uc31cbiAgICAgICAgICBvbkJsdXI9e2hhbmRsZUJsdXJ9XG4gICAgICAgIC8+XG4gICAgICAgIDxTdHlsZWRNQUlBSW5wdXRCdXR0b25zIGhhc0hlYWRlckJ1dHRvbnM9e2hhc0hlYWRlckJ1dHRvbnN9PlxuICAgICAgICAgIHtoYXNIZWFkZXJCdXR0b25zID8gKFxuICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGdhcDogJzEwcHgnIH19PlxuICAgICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17YXR0YWNobWVudHMubGVuZ3RoID49IDUgPyB0KCdjaGF0LmxpbWl0RmlsZXMnKSA6IHQoJ2NoYXQuYXR0YWNoRmlsZScpfT5cbiAgICAgICAgICAgICAgICA8U0NNSVdyYXBwZXJBdHRhY2htZW50QnV0dG9uXG4gICAgICAgICAgICAgICAgICBoYXNBdHRhY2htZW50cz17ISFhdHRhY2htZW50cy5sZW5ndGh9XG4gICAgICAgICAgICAgICAgICBpc01heGltaXplZD17YXR0YWNobWVudHMubGVuZ3RoID49IDV9XG4gICAgICAgICAgICAgICAgICAkaXNGb2N1c2VkPXtpc0ZvY3VzZWR9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVBdHRhY2hDbGlja31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8QXR0YWNoXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPXshYXR0YWNobWVudHMubGVuZ3RoID8gaWNvbkNvbG9ySW5hY3RpdmUgOiBgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfWB9XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoPXsxOH1cbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXsxOH1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9TQ01JV3JhcHBlckF0dGFjaG1lbnRCdXR0b24+XG4gICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3QoJ2NoYXQuc2VhcmNoV2ViJyl9PlxuICAgICAgICAgICAgICAgIDxTQ01JV3JhcHBlcldlYlNlYXJjaEJ1dHRvblxuICAgICAgICAgICAgICAgICAgaXNBY3RpdmU9eyEhaXNXZWJTZWFyY2hBY3RpdmV9XG4gICAgICAgICAgICAgICAgICAkaXNGb2N1c2VkPXtpc0ZvY3VzZWR9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVXZWJTZWFyY2hUb2dnbGV9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPEdsb2JlXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPXtpc1dlYlNlYXJjaEFjdGl2ZSA/IGAke0JMVUVfSUFfQ09MT1JTWzUwMF19YCA6IGljb25Db2xvckluYWN0aXZlfVxuICAgICAgICAgICAgICAgICAgICB3aWR0aD17MTh9XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodD17MTh9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvU0NNSVdyYXBwZXJXZWJTZWFyY2hCdXR0b24+XG4gICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3QoJ2NoYXQuZGVlcFNlYXJjaCcpfT5cbiAgICAgICAgICAgICAgICA8U0NNSVdyYXBwZXJEZWVwU2VhcmNoQnV0dG9uXG4gICAgICAgICAgICAgICAgICBpc0FjdGl2ZT17ISFpc0RlZXBTZWFyY2hBY3RpdmV9XG4gICAgICAgICAgICAgICAgICAkaXNGb2N1c2VkPXtpc0ZvY3VzZWR9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVEZWVwU2VhcmNoVG9nZ2xlfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxUZWxlc2NvcGVJY29uXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPXtpc0RlZXBTZWFyY2hBY3RpdmUgPyBgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfWAgOiBpY29uQ29sb3JJbmFjdGl2ZX1cbiAgICAgICAgICAgICAgICAgICAgd2lkdGg9ezE4fVxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9ezE4fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1NDTUlXcmFwcGVyRGVlcFNlYXJjaEJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSA6IG51bGx9XG5cbiAgICAgICAgICB7aXNXcml0aW5nID8gKFxuICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3QoJ2NoYXQuc3RvcCcpfT5cbiAgICAgICAgICAgICAgPFN0eWxlZE1BSUFTdG9wQnV0dG9uIGRpc2FibGVkPXtmYWxzZX0gb25DbGljaz17aGFuZGxlU3RvcEdlbmVyYXRpb259IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cbiAgICAgICAgICAgICAgICA8U3R5bGVkTUFJQVN0b3BJY29uIC8+XG4gICAgICAgICAgICAgIDwvU3R5bGVkTUFJQVN0b3BCdXR0b24+XG4gICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXtpc1N0cmVhbWluZyA/IHQoJ2NoYXQuc2VuZCcpIDogdCgnY2hhdC5zZW5kJyl9PlxuICAgICAgICAgICAgICA8U3R5bGVkTUFJQVNlbmRCdXR0b25cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVTZW5kTWVzc2FnZX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNEaXNhYmxlZCB8fCBkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICBoYXNWYWx1ZXM9eyEhdmFsdWVUZXh0YXJlYS5sZW5ndGh9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UGFwZXJQbGFuZSBjb2xvcj1cIiNCRkJGQkZcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICAgICAgICAgIDwvU3R5bGVkTUFJQVNlbmRCdXR0b24+XG4gICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TdHlsZWRNQUlBSW5wdXRCdXR0b25zPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICByZWY9e2ZpbGVJbnB1dFJlZn1cbiAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgbXVsdGlwbGVcbiAgICAgICAgICBhY2NlcHQ9XCIudHh0LC5tZCwuY3N2LC5kb2MsLmRvY3gsLnBuZywuanBnLC5qcGVnLC5wZGYsLnhsc3gsLnhscywuZmxhYywubTRhLC5tcDMsLm1wNCwub2dhLC5vZ2csLndhdiwud2VibVwiXG4gICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUZpbGVTZWxlY3R9XG4gICAgICAgICAgc3R5bGU9e3sgZGlzcGxheTogJ25vbmUnIH19XG4gICAgICAgIC8+XG4gICAgICA8L1N0eWxlZE1BSUFJbnB1dFdyYXBwZXI+XG4gICAgICB7bW9kYWxQcm9wcy5pc09wZW4gJiYgKFxuICAgICAgICA8TW9kYWxGaWxlRXhjZWVkc1xuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldE1vZGFsUHJvcHMoeyBpc09wZW46IGZhbHNlLCBleGNsdWRlZEZpbGVzOiBbXSwgZXhjZWVkZWRGaWxlczogW10sIGZpbGVTaXplczoge30gfSl9XG4gICAgICAgICAgZXhjbHVkZWRGaWxlcz17bW9kYWxQcm9wcy5leGNsdWRlZEZpbGVzfVxuICAgICAgICAgIGV4Y2VlZGVkRmlsZXM9e21vZGFsUHJvcHMuZXhjZWVkZWRGaWxlc31cbiAgICAgICAgICBmaWxlU2l6ZXM9e21vZGFsUHJvcHMuZmlsZVNpemVzfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8Lz5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFnREEsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQzFGLFNBQVNDLFVBQVUsUUFBUSw2Q0FBNkM7QUFDeEUsU0FBU0MsTUFBTSxRQUFRLHlDQUF5QztBQUNoRSxTQUFTQyxLQUFLLFFBQVEsd0NBQXdDO0FBQzlELFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUV0RSxTQUNFQyxjQUFjLEVBQ2RDLHdCQUF3QixFQUN4QkMsMkJBQTJCLEVBQzNCQywwQkFBMEIsRUFDMUJDLDJCQUEyQixFQUMzQkMsZUFBZSxFQUNmQyxzQkFBc0IsRUFDdEJDLHNCQUFzQixFQUN0QkMsb0JBQW9CLEVBQ3BCQyxvQkFBb0IsRUFDcEJDLGtCQUFrQixRQUNiLFVBQVU7QUFDakIsU0FBU0MsT0FBTyxRQUFRLDJCQUEyQjtBQUNuRCxTQUFTQyxnQkFBZ0IsUUFBUSxpQ0FBaUM7QUFDbEUsU0FBU0MsZ0JBQWdCLFFBQVEsa0NBQWtDO0FBQ25FLFNBQVNDLElBQUksUUFBUSxxQkFBcUI7QUFDMUMsU0FBU0MsYUFBYSxRQUFRLHdCQUF3QjtBQUN0RCxTQUFTQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSx5QkFBeUI7QUFDMUQsU0FDRUMsZ0JBQWdCLEVBQ2hCQyxTQUFTLEVBQ1RDLDRCQUE0QixFQUM1QkMsb0JBQW9CLEVBQ3BCQyxzQkFBc0IsUUFDakIscUNBQXFDO0FBQzVDLFNBQVNDLGNBQWMsUUFBUSx3QkFBd0I7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
|
|
562
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsIlBhcGVyUGxhbmUiLCJBdHRhY2giLCJHbG9iZSIsIlRyYXNoIiwiVG9vbHRpcCIsIlNDTUlBdHRhY2htZW50IiwiU0NNSUF0dGFjaG1lbnREZWxldGVJY29uIiwiU0NNSVdyYXBwZXJBdHRhY2htZW50QnV0dG9uIiwiU0NNSVdyYXBwZXJXZWJTZWFyY2hCdXR0b24iLCJTQ01JV3JhcHBlckRlZXBTZWFyY2hCdXR0b24iLCJTdHlsZWRNQUlBSW5wdXQiLCJTdHlsZWRNQUlBSW5wdXRCdXR0b25zIiwiU3R5bGVkTUFJQUlucHV0V3JhcHBlciIsIlN0eWxlZE1BSUFTZW5kQnV0dG9uIiwiU3R5bGVkTUFJQVN0b3BCdXR0b24iLCJTdHlsZWRNQUlBU3RvcEljb24iLCJ1c2VHbG9iYWxDb250ZXh0IiwiTW9kYWxGaWxlRXhjZWVkcyIsInVzZVQiLCJUZWxlc2NvcGVJY29uIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJhbGxvd2VkRmlsZVR5cGVzIiwiZmlsZVR5cGVzIiwiTUFYX0ZJTEVfU0laRV9NQl9NQUlBX1ZJU0lPTiIsIk1BWF9GSUxFX1NJWkVfTUJfT0xEIiwiTUFYX0ZJTEVfU0laRV9NQl9BVURJTyIsIkJMVUVfSUFfQ09MT1JTIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiTUFJQUlucHV0IiwiX3JlZiIsIm9uU2VuZE1lc3NhZ2UiLCJjbGFzc05hbWUiLCJkaXNhYmxlZCIsImlzU3RyZWFtaW5nIiwiaXNXcml0aW5nIiwib25TdG9wR2VuZXJhdGlvbiIsInBsYWNlaG9sZGVyIiwib25DaGFuZ2UiLCJfcmVmJGFsaWduQnV0dG9ucyIsImFsaWduQnV0dG9ucyIsIm9uRmlsZUF0dGFjaCIsIm9uRGVsZXRlQXR0YWNobWVudCIsIl9yZWYkYXR0YWNobWVudHMiLCJhdHRhY2htZW50cyIsImNoYXRJZCIsIm5ld0NoYXRLZXkiLCJfdXNlVCIsInQiLCJpbnB1dFJlZiIsImZpbGVJbnB1dFJlZiIsIndyYXBwZXJSZWYiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJ2YWx1ZVRleHRhcmVhIiwic2V0VmFsdWVUZXh0YXJlYSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXNEaXNhYmxlZCIsInNldElzRGlzYWJsZWQiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzRm9jdXNlZCIsInNldElzRm9jdXNlZCIsIl91c2VTdGF0ZTciLCJpc09wZW4iLCJleGNsdWRlZEZpbGVzIiwiZXhjZWVkZWRGaWxlcyIsImZpbGVTaXplcyIsIl91c2VTdGF0ZTgiLCJtb2RhbFByb3BzIiwic2V0TW9kYWxQcm9wcyIsImV2ZW50QW1wbGl0dWRlIiwiX3VzZUdsb2JhbENvbnRleHQiLCJ0b2dnbGVXZWJTZWFyY2giLCJpc1dlYlNlYXJjaEFjdGl2ZSIsInRvZ2dsZURlZXBTZWFyY2giLCJpc0RlZXBTZWFyY2hBY3RpdmUiLCJhZ2VudCIsInByZXZpb3VzQWdlbnRJZFJlZiIsInVuZGVmaW5lZCIsInByZXZpb3VzQ2hhdElkUmVmIiwicHJldmlvdXNOZXdDaGF0S2V5UmVmIiwiaGFuZGxlV2ViU2VhcmNoVG9nZ2xlIiwiYWlDaGF0VG9vbHMiLCJvcHRpb24iLCJoYW5kbGVEZWVwU2VhcmNoVG9nZ2xlIiwiaGFuZGxlUmVzaXplIiwidGV4dGFyZWEiLCJjdXJyZW50IiwibWluSGVpZ2h0IiwibWF4SGVpZ2h0IiwicHJldmlvdXNNaW5IZWlnaHQiLCJzdHlsZSIsInByZXZpb3VzTWF4SGVpZ2h0IiwiaGVpZ2h0Iiwib2Zmc2V0SGVpZ2h0Iiwic2Nyb2xsSGVpZ2h0IiwiY29tcHV0ZWRTdHlsZSIsIndpbmRvdyIsImdldENvbXB1dGVkU3R5bGUiLCJsaW5lSGVpZ2h0IiwicGFyc2VGbG9hdCIsInBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9tIiwiYm9yZGVyVG9wIiwiYm9yZGVyVG9wV2lkdGgiLCJib3JkZXJCb3R0b20iLCJib3JkZXJCb3R0b21XaWR0aCIsInNpbmdsZUxpbmVIZWlnaHQiLCJpc0VtcHR5IiwidmFsdWUiLCJ0cmltIiwiaGFzTXVsdGlwbGVWaXN1YWxMaW5lcyIsImNhbnZhcyIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImNvbnRleHQiLCJnZXRDb250ZXh0IiwidGV4dGFyZWFTdHlsZXMiLCJmb250IiwiY29uY2F0IiwiZm9udFdlaWdodCIsImZvbnRTaXplIiwiZm9udEZhbWlseSIsInBhZGRpbmdMZWZ0IiwicGFkZGluZ1JpZ2h0IiwiYm9yZGVyTGVmdCIsImJvcmRlckxlZnRXaWR0aCIsImJvcmRlclJpZ2h0IiwiYm9yZGVyUmlnaHRXaWR0aCIsInRleHRhcmVhV2lkdGgiLCJvZmZzZXRXaWR0aCIsInRleHQiLCJsaW5lcyIsInNwbGl0IiwibGVuZ3RoIiwiX2l0ZXJhdG9yIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJfc3RlcCIsInMiLCJuIiwiZG9uZSIsImxpbmUiLCJ0ZXh0V2lkdGgiLCJtZWFzdXJlVGV4dCIsIndpZHRoIiwiZXJyIiwiZSIsImYiLCJuZXdIZWlnaHQiLCJNYXRoIiwibWluIiwibWF4IiwiZm9jdXMiLCJhZ2VudENoYW5nZWQiLCJpZCIsInByZXZpb3VzQ2hhdElkIiwiY3VycmVudENoYXRJZCIsImNoYXRDaGFuZ2VkIiwiY2hhbmdlZEZyb21OZXdDaGF0VG9PbGRDaGF0IiwibmV3Q2hhdFN0YXJ0ZWQiLCJpc0luaXRpYWxNb3VudCIsImRlbGF5Iiwic2V0VGltZW91dCIsImhhbmRsZVNlc3Npb25DaGFuZ2UiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImFuaW1hdGlvbkZyYW1lSWQiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJjYW5jZWxBbmltYXRpb25GcmFtZSIsImhhc1RleHQiLCJoYXNBdHRhY2htZW50cyIsImhhbmRsZVNlbmRNZXNzYWdlIiwiaGFuZGxlS2V5RG93biIsImtleSIsInNoaWZ0S2V5IiwicHJldmVudERlZmF1bHQiLCJoYW5kbGVDaGFuZ2UiLCJ0YXJnZXQiLCJoYW5kbGVQYXN0ZSIsIl9pbnB1dFJlZiRjdXJyZW50JHZhbCIsIl9pbnB1dFJlZiRjdXJyZW50IiwiY3VycmVudFZhbHVlIiwiaGFuZGxlRmlsZVNlbGVjdCIsImZpbGVzIiwiZmlsZXNJbnNlcnRlZCIsImlzTmV3Rm9ybWF0IiwiZXh0ZW5zaW9uIiwiaW5jbHVkZXMiLCJpc09sZEZvcm1hdCIsImlzQXVkaW9Gb3JtYXQiLCJBcnJheSIsImZyb20iLCJmb3JFYWNoIiwiZmlsZSIsIl9maWxlTmFtZVBhcnRzJHBvcCIsImV4Y2x1ZGVkRmlsZSIsImZpbGVOYW1lUGFydHMiLCJuYW1lIiwiZmlsZUV4dGVuc2lvbiIsInBvcCIsInRvTG93ZXJDYXNlIiwic2l6ZSIsInB1c2giLCJ0eXBlRmlsZSIsInR5cGUiLCJwYXJzZWRGaWxlIiwiRmlsZSIsImhhbmRsZUF0dGFjaENsaWNrIiwiX2ZpbGVJbnB1dFJlZiRjdXJyZW50IiwiY2xpY2siLCJoYW5kbGVEZWxldGVBdHRhY2htZW50IiwiZmlsZUlkIiwiaGFuZGxlQmx1ciIsImhhbmRsZVdyYXBwZXJGb2N1cyIsImhhbmRsZVdyYXBwZXJCbHVyIiwiX3dyYXBwZXJSZWYkY3VycmVudCIsImNvbnRhaW5zIiwiYWN0aXZlRWxlbWVudCIsImhhbmRsZVN0b3BHZW5lcmF0aW9uIiwiYWlDaGF0U3RvcFJlc3BvbnNlIiwiaWNvbkNvbG9ySW5hY3RpdmUiLCJjaGlsZHJlbiIsInJlZiIsIm9uRm9jdXMiLCJvbkJsdXIiLCJkaXNwbGF5IiwiZ2FwIiwiYWxpZ25JdGVtcyIsIm1hcCIsImF0dGFjaG1lbnQiLCJpbmRleCIsIl9maWxlTmFtZVBhcnRzJHBvcDIiLCJfYXR0YWNobWVudCR0eXBlIiwiaXNJbWFnZUJ5RXh0ZW5zaW9uIiwiaXNJbWFnZUJ5TWltZSIsInN0YXJ0c1dpdGgiLCJpc0ltYWdlIiwidGl0bGUiLCJpY29uIiwib25DbGljayIsImNvbG9yIiwib25LZXlEb3duIiwib25QYXN0ZSIsImlzTWF4aW1pemVkIiwiJGlzRm9jdXNlZCIsImlzQWN0aXZlIiwiaGFzVmFsdWVzIiwibXVsdGlwbGUiLCJhY2NlcHQiLCJvbkNsb3NlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvTUFJQUlucHV0L01BSUFJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1zeW50YXggKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnRpbnVlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby12b2lkICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9uby1hcnJheS1pbmRleC1rZXkgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWxvbmVseS1pZiAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLyogZXNsaW50LWRpc2FibGUgcHJlZmVyLWRlc3RydWN0dXJpbmcgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAqL1xuaW1wb3J0IHsgQ2hhbmdlRXZlbnQsIEtleWJvYXJkRXZlbnQsIFJlYWN0Tm9kZSwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBQYXBlclBsYW5lIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvUGFwZXJQbGFuZSdcbmltcG9ydCB7IEF0dGFjaCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0F0dGFjaCdcbmltcG9ydCB7IEdsb2JlIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvR2xvYmUnXG5pbXBvcnQgeyBUcmFzaCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1RyYXNoJ1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuXG5pbXBvcnQge1xuICBTQ01JQXR0YWNobWVudCxcbiAgU0NNSUF0dGFjaG1lbnREZWxldGVJY29uLFxuICBTQ01JV3JhcHBlckF0dGFjaG1lbnRCdXR0b24sXG4gIFNDTUlXcmFwcGVyV2ViU2VhcmNoQnV0dG9uLFxuICBTQ01JV3JhcHBlckRlZXBTZWFyY2hCdXR0b24sXG4gIFN0eWxlZE1BSUFJbnB1dCxcbiAgU3R5bGVkTUFJQUlucHV0QnV0dG9ucyxcbiAgU3R5bGVkTUFJQUlucHV0V3JhcHBlcixcbiAgU3R5bGVkTUFJQVNlbmRCdXR0b24sXG4gIFN0eWxlZE1BSUFTdG9wQnV0dG9uLFxuICBTdHlsZWRNQUlBU3RvcEljb24sXG59IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyBNb2RhbEZpbGVFeGNlZWRzIH0gZnJvbSAnLi4vLi4vb3JnYW5pc21zL01vZGFsRmlsZUV4Y2VlZHMnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVCdcbmltcG9ydCB7IFRlbGVzY29wZUljb24gfSBmcm9tICcuLi9pY29ucy9UZWxlc2NvcGVJY29uJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHtcbiAgYWxsb3dlZEZpbGVUeXBlcyxcbiAgZmlsZVR5cGVzLFxuICBNQVhfRklMRV9TSVpFX01CX01BSUFfVklTSU9OLFxuICBNQVhfRklMRV9TSVpFX01CX09MRCxcbiAgTUFYX0ZJTEVfU0laRV9NQl9BVURJTyxcbn0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2Zvcm1hdEV4dGVuc2lvbnMnXG5pbXBvcnQgeyBCTFVFX0lBX0NPTE9SUyB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb25maWcnXG5cbnR5cGUgQXR0YWNobWVudEZpbGUgPSB7XG4gIGZpbGU6IEZpbGVcbiAgb3JpZ2luYWxGaWxlPzogRmlsZVxuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBzaXplOiBudW1iZXJcbiAgdHlwZTogc3RyaW5nXG4gIGljb24/OiBSZWFjdE5vZGVcbn1cblxudHlwZSBNQUlBSW5wdXRQcm9wcyA9IHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBvblNlbmRNZXNzYWdlOiAobWVzc2FnZTogc3RyaW5nLCBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10pID0+IHZvaWRcbiAgb25TdG9wR2VuZXJhdGlvbj86ICgpID0+IHZvaWRcbiAgaXNTdHJlYW1pbmc/OiBib29sZWFuXG4gIGlzV3JpdGluZz86IGJvb2xlYW5cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgb25DaGFuZ2U/OiAoKSA9PiB2b2lkXG4gIGFsaWduQnV0dG9ucz86ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCdcbiAgb25GaWxlQXR0YWNoPzogKGZpbGU6IEZpbGUpID0+IHZvaWRcbiAgb25EZWxldGVBdHRhY2htZW50PzogKGZpbGVJZDogc3RyaW5nKSA9PiB2b2lkXG4gIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXVxuICBjaGF0SWQ/OiBzdHJpbmdcbiAgbmV3Q2hhdEtleT86IG51bWJlclxufVxuXG5leHBvcnQgY29uc3QgTUFJQUlucHV0ID0gKHtcbiAgb25TZW5kTWVzc2FnZSxcbiAgY2xhc3NOYW1lLFxuICBkaXNhYmxlZCxcbiAgaXNTdHJlYW1pbmcsXG4gIGlzV3JpdGluZyxcbiAgb25TdG9wR2VuZXJhdGlvbixcbiAgcGxhY2Vob2xkZXIsXG4gIG9uQ2hhbmdlLFxuICBhbGlnbkJ1dHRvbnMgPSAndmVydGljYWwnLFxuICBvbkZpbGVBdHRhY2gsXG4gIG9uRGVsZXRlQXR0YWNobWVudCxcbiAgYXR0YWNobWVudHMgPSBbXSxcbiAgY2hhdElkLFxuICBuZXdDaGF0S2V5LFxufTogTUFJQUlucHV0UHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUKClcbiAgY29uc3QgaW5wdXRSZWYgPSB1c2VSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4obnVsbClcbiAgY29uc3QgZmlsZUlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHdyYXBwZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFt2YWx1ZVRleHRhcmVhLCBzZXRWYWx1ZVRleHRhcmVhXSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbaXNEaXNhYmxlZCwgc2V0SXNEaXNhYmxlZF0gPSB1c2VTdGF0ZSh0cnVlKVxuICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFttb2RhbFByb3BzLCBzZXRNb2RhbFByb3BzXSA9IHVzZVN0YXRlKHtcbiAgICBpc09wZW46IGZhbHNlLFxuICAgIGV4Y2x1ZGVkRmlsZXM6IFtdIGFzIHN0cmluZ1tdLFxuICAgIGV4Y2VlZGVkRmlsZXM6IFtdIGFzIHN0cmluZ1tdLFxuICAgIGZpbGVTaXplczoge30gYXMgUmVjb3JkPHN0cmluZywgbnVtYmVyPixcbiAgfSlcbiAgY29uc3QgZXZlbnRBbXBsaXR1ZGUgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgdG9nZ2xlV2ViU2VhcmNoLCBpc1dlYlNlYXJjaEFjdGl2ZSwgdG9nZ2xlRGVlcFNlYXJjaCwgaXNEZWVwU2VhcmNoQWN0aXZlLCBhZ2VudCB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIC8vIEluaWNpYWxpemFyIGxhcyByZWZlcmVuY2lhcyBjb21vIHVuZGVmaW5lZCBwYXJhIGRldGVjdGFyIGVsIHByaW1lciBjYW1iaW8gY29ycmVjdGFtZW50ZVxuICBjb25zdCBwcmV2aW91c0FnZW50SWRSZWYgPSB1c2VSZWY8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpXG4gIGNvbnN0IHByZXZpb3VzQ2hhdElkUmVmID0gdXNlUmVmPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKVxuICBjb25zdCBwcmV2aW91c05ld0NoYXRLZXlSZWYgPSB1c2VSZWY8bnVtYmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpXG5cbiAgY29uc3QgaGFuZGxlV2ViU2VhcmNoVG9nZ2xlID0gKCkgPT4ge1xuICAgIGlmIChpc0RlZXBTZWFyY2hBY3RpdmUpIHtcbiAgICAgIHRvZ2dsZURlZXBTZWFyY2goKVxuICAgIH1cbiAgICB0b2dnbGVXZWJTZWFyY2goKVxuICAgIGlmICghaXNXZWJTZWFyY2hBY3RpdmUpIHtcbiAgICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRUb29scywgeyBvcHRpb246ICdzZWFyY2gnIH0pXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRGVlcFNlYXJjaFRvZ2dsZSA9ICgpID0+IHtcbiAgICBpZiAoaXNXZWJTZWFyY2hBY3RpdmUpIHtcbiAgICAgIHRvZ2dsZVdlYlNlYXJjaCgpXG4gICAgfVxuICAgIHRvZ2dsZURlZXBTZWFyY2goKVxuICAgIGlmICghaXNEZWVwU2VhcmNoQWN0aXZlKSB7XG4gICAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0VG9vbHMsIHsgb3B0aW9uOiAnZGVlcF9zZWFyY2gnIH0pXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlUmVzaXplID0gKCkgPT4ge1xuICAgIGNvbnN0IHRleHRhcmVhID0gaW5wdXRSZWYuY3VycmVudFxuICAgIGlmICghdGV4dGFyZWEpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vIEFsdHVyYSBtw61uaW1hIGVxdWl2YWxlbnRlIGEgdW5hIGzDrW5lYVxuICAgIGNvbnN0IG1pbkhlaWdodCA9IDIyLjFcbiAgICBjb25zdCBtYXhIZWlnaHQgPSAxMjIuMVxuXG4gICAgLy8gUGFyYSBtZWRpciBjb3JyZWN0YW1lbnRlIGVsIHNjcm9sbEhlaWdodCwgbmVjZXNpdGFtb3MgcXVpdGFyIHRlbXBvcmFsbWVudGUgbGFzIHJlc3RyaWNjaW9uZXNcbiAgICBjb25zdCBwcmV2aW91c01pbkhlaWdodCA9IHRleHRhcmVhLnN0eWxlLm1pbkhlaWdodFxuICAgIGNvbnN0IHByZXZpb3VzTWF4SGVpZ2h0ID0gdGV4dGFyZWEuc3R5bGUubWF4SGVpZ2h0XG5cbiAgICAvLyBFc3RhYmxlY2VyIGFsdHVyYSBhICdhdXRvJyB5IHF1aXRhciB0ZW1wb3JhbG1lbnRlIG1pbi1oZWlnaHQgeSBtYXgtaGVpZ2h0IHBhcmEgbWVkaXIgY29ycmVjdGFtZW50ZVxuICAgIHRleHRhcmVhLnN0eWxlLmhlaWdodCA9ICdhdXRvJ1xuICAgIHRleHRhcmVhLnN0eWxlLm1pbkhlaWdodCA9ICcwcHgnXG4gICAgdGV4dGFyZWEuc3R5bGUubWF4SGVpZ2h0ID0gJ25vbmUnXG5cbiAgICAvLyBGb3J6YXIgcmVmbG93IHBhcmEgcXVlIGVsIG5hdmVnYWRvciByZWNhbGN1bGVcbiAgICB2b2lkIHRleHRhcmVhLm9mZnNldEhlaWdodFxuXG4gICAgLy8gQWhvcmEgbWVkaXIgZWwgc2Nyb2xsSGVpZ2h0IHJlYWwgc2luIHJlc3RyaWNjaW9uZXNcbiAgICBjb25zdCBzY3JvbGxIZWlnaHQgPSB0ZXh0YXJlYS5zY3JvbGxIZWlnaHRcblxuICAgIC8vIENhbGN1bGFyIGxhIGFsdHVyYSBkZSB1bmEgbMOtbmVhIHVzYW5kbyBsb3MgZXN0aWxvcyBjb21wdXRhZG9zXG4gICAgY29uc3QgY29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRleHRhcmVhKVxuICAgIGNvbnN0IGxpbmVIZWlnaHQgPSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUubGluZUhlaWdodCkgfHwgMjAgLy8gRmFsbGJhY2sgYSAyMHB4IHNpIG5vIGVzdMOhIGRlZmluaWRvXG4gICAgY29uc3QgcGFkZGluZ1RvcCA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5wYWRkaW5nVG9wKSB8fCAwXG4gICAgY29uc3QgcGFkZGluZ0JvdHRvbSA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5wYWRkaW5nQm90dG9tKSB8fCAwXG4gICAgY29uc3QgYm9yZGVyVG9wID0gcGFyc2VGbG9hdChjb21wdXRlZFN0eWxlLmJvcmRlclRvcFdpZHRoKSB8fCAwXG4gICAgY29uc3QgYm9yZGVyQm90dG9tID0gcGFyc2VGbG9hdChjb21wdXRlZFN0eWxlLmJvcmRlckJvdHRvbVdpZHRoKSB8fCAwXG5cbiAgICAvLyBBbHR1cmEgZGUgdW5hIGzDrW5lYSBjb21wbGV0YSAobGluZS1oZWlnaHQgKyBwYWRkaW5nICsgYm9yZGVyKVxuICAgIGNvbnN0IHNpbmdsZUxpbmVIZWlnaHQgPSBsaW5lSGVpZ2h0ICsgcGFkZGluZ1RvcCArIHBhZGRpbmdCb3R0b20gKyBib3JkZXJUb3AgKyBib3JkZXJCb3R0b21cblxuICAgIGNvbnN0IGlzRW1wdHkgPSB0ZXh0YXJlYS52YWx1ZS50cmltKCkgPT09ICcnXG5cbiAgICAvLyBNZWRpciBlbCBhbmNobyBkZWwgdGV4dG8gdXNhbmRvIENhbnZhcyBwYXJhIGRldGVybWluYXIgc2kgc2UgZW52dWVsdmUgYSBtw7psdGlwbGVzIGzDrW5lYXNcbiAgICBsZXQgaGFzTXVsdGlwbGVWaXN1YWxMaW5lcyA9IGZhbHNlXG5cbiAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKVxuICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKVxuXG4gICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICAvLyBGYWxsYmFjayBzaSBDYW52YXMgbm8gZXN0w6EgZGlzcG9uaWJsZTogdXNhciBzY3JvbGxIZWlnaHRcbiAgICAgIGhhc011bHRpcGxlVmlzdWFsTGluZXMgPSBzY3JvbGxIZWlnaHQgPiBzaW5nbGVMaW5lSGVpZ2h0ICogMS41XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHRleHRhcmVhU3R5bGVzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGV4dGFyZWEpXG4gICAgICBjb250ZXh0LmZvbnQgPSBgJHt0ZXh0YXJlYVN0eWxlcy5mb250V2VpZ2h0fSAke3RleHRhcmVhU3R5bGVzLmZvbnRTaXplfSAke3RleHRhcmVhU3R5bGVzLmZvbnRGYW1pbHl9YFxuXG4gICAgICAvLyBDYWxjdWxhciBlbCBhbmNobyBkaXNwb25pYmxlIChhbmNobyB0b3RhbCBtZW5vcyBwYWRkaW5nIGl6cXVpZXJkby9kZXJlY2hvIHkgYm9yZGVyIGl6cXVpZXJkby9kZXJlY2hvKVxuICAgICAgY29uc3QgcGFkZGluZ0xlZnQgPSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUucGFkZGluZ0xlZnQpIHx8IDBcbiAgICAgIGNvbnN0IHBhZGRpbmdSaWdodCA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5wYWRkaW5nUmlnaHQpIHx8IDBcbiAgICAgIGNvbnN0IGJvcmRlckxlZnQgPSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUuYm9yZGVyTGVmdFdpZHRoKSB8fCAwXG4gICAgICBjb25zdCBib3JkZXJSaWdodCA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5ib3JkZXJSaWdodFdpZHRoKSB8fCAwXG4gICAgICBjb25zdCB0ZXh0YXJlYVdpZHRoID0gdGV4dGFyZWEub2Zmc2V0V2lkdGggLSBwYWRkaW5nTGVmdCAtIHBhZGRpbmdSaWdodCAtIGJvcmRlckxlZnQgLSBib3JkZXJSaWdodFxuICAgICAgY29uc3QgdGV4dCA9IHRleHRhcmVhLnZhbHVlIHx8ICcnXG4gICAgICBjb25zdCBsaW5lcyA9IHRleHQuc3BsaXQoJ1xcbicpXG5cbiAgICAgIC8vIFNpIGhheSBtw7psdGlwbGVzIGzDrW5lYXMgcG9yIHNhbHRvcyBkZSBsw61uZWEgZXhwbMOtY2l0b3NcbiAgICAgIGlmIChsaW5lcy5sZW5ndGggPiAxKSB7XG4gICAgICAgIGhhc011bHRpcGxlVmlzdWFsTGluZXMgPSB0cnVlXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBWZXJpZmljYXIgc2kgZWwgdGV4dG8gc2UgZW52dWVsdmUgbWlkaWVuZG8gZWwgYW5jaG8gZGUgY2FkYSBsw61uZWFcbiAgICAgICAgZm9yIChjb25zdCBsaW5lIG9mIGxpbmVzKSB7XG4gICAgICAgICAgaWYgKGxpbmUudHJpbSgpID09PSAnJykgY29udGludWVcbiAgICAgICAgICBjb25zdCB0ZXh0V2lkdGggPSBjb250ZXh0Lm1lYXN1cmVUZXh0KGxpbmUpLndpZHRoXG4gICAgICAgICAgLy8gU2kgYWxndW5hIGzDrW5lYSBlcyBtw6FzIGFuY2hhIHF1ZSBlbCB0ZXh0YXJlYSBkaXNwb25pYmxlLCBzZSBlbnZ1ZWx2ZVxuICAgICAgICAgIGlmICh0ZXh0V2lkdGggPiB0ZXh0YXJlYVdpZHRoKSB7XG4gICAgICAgICAgICBoYXNNdWx0aXBsZVZpc3VhbExpbmVzID0gdHJ1ZVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgbmV3SGVpZ2h0OiBudW1iZXJcbiAgICBpZiAoaXNFbXB0eSkge1xuICAgICAgLy8gQ3VhbmRvIGVzdMOhIHZhY8OtbywgdXNhciBhbHR1cmEgbcOtbmltYVxuICAgICAgbmV3SGVpZ2h0ID0gbWluSGVpZ2h0XG4gICAgfSBlbHNlIGlmICghaGFzTXVsdGlwbGVWaXN1YWxMaW5lcykge1xuICAgICAgLy8gQ3VhbmRvIGhheSBjb250ZW5pZG8gcGVybyBzb2xvIHVuYSBsw61uZWEgdmlzdWFsLCB1c2FyIGFsdHVyYSBtw61uaW1hXG4gICAgICBuZXdIZWlnaHQgPSBtaW5IZWlnaHRcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUGFyYSBtw7psdGlwbGVzIGzDrW5lYXMgdmlzdWFsZXMsIHVzYXIgZWwgc2Nyb2xsSGVpZ2h0XG4gICAgICBuZXdIZWlnaHQgPSBNYXRoLm1pbihNYXRoLm1heChzY3JvbGxIZWlnaHQsIG1pbkhlaWdodCksIG1heEhlaWdodClcbiAgICB9XG5cbiAgICAvLyBSZXN0YXVyYXIgZXN0aWxvcyBhbnRlcyBkZSBhcGxpY2FyIGxhIG51ZXZhIGFsdHVyYVxuICAgIHRleHRhcmVhLnN0eWxlLm1pbkhlaWdodCA9IHByZXZpb3VzTWluSGVpZ2h0IHx8ICcyMi4xcHgnXG4gICAgdGV4dGFyZWEuc3R5bGUubWF4SGVpZ2h0ID0gcHJldmlvdXNNYXhIZWlnaHQgfHwgJzEyMi4xcHgnXG5cbiAgICB0ZXh0YXJlYS5zdHlsZS5oZWlnaHQgPSBgJHtuZXdIZWlnaHR9cHhgXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpbnB1dFJlZi5jdXJyZW50ICYmICFkaXNhYmxlZCkge1xuICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpXG4gICAgICBoYW5kbGVSZXNpemUoKVxuICAgIH1cbiAgfSwgW2Rpc2FibGVkXSlcblxuICAvLyBBdXRvLWZvY3VzIGN1YW5kbyBjYW1iaWEgZWwgYWdlbnRlIG8gbGEgY29udmVyc2FjacOzbiwgbyBhbCBtb250YXIgZWwgY29tcG9uZW50ZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIENvbXBhcmFjacOzbiBxdWUgbWFuZWphIGNvcnJlY3RhbWVudGUgdW5kZWZpbmVkL251bGxcbiAgICBjb25zdCBhZ2VudENoYW5nZWQgPSBwcmV2aW91c0FnZW50SWRSZWYuY3VycmVudCAhPT0gYWdlbnQ/LmlkXG4gICAgLy8gQ29tcGFyYWNpw7NuIGVzdHJpY3RhIHF1ZSBkZXRlY3RhIGNhbWJpb3MgaW5jbHVzbyBjdWFuZG8gdW5vIGVzIHVuZGVmaW5lZFxuICAgIGNvbnN0IHByZXZpb3VzQ2hhdElkID0gcHJldmlvdXNDaGF0SWRSZWYuY3VycmVudFxuICAgIGNvbnN0IGN1cnJlbnRDaGF0SWQgPSBjaGF0SWRcbiAgICBjb25zdCBjaGF0Q2hhbmdlZCA9IHByZXZpb3VzQ2hhdElkICE9PSBjdXJyZW50Q2hhdElkXG4gICAgLy8gRGV0ZWN0YXIgY2FtYmlvIGVzcGVjw61maWNvIGRlIHVuZGVmaW5lZC9udWxsIGEgdW4gdmFsb3IgKG51ZXZvIGNoYXQgLT4gY29udmVyc2FjacOzbiB2aWVqYSlcbiAgICBjb25zdCBjaGFuZ2VkRnJvbU5ld0NoYXRUb09sZENoYXQgPVxuICAgICAgKHByZXZpb3VzQ2hhdElkID09PSB1bmRlZmluZWQgfHwgcHJldmlvdXNDaGF0SWQgPT09IG51bGwpICYmIGN1cnJlbnRDaGF0SWQgIT09IHVuZGVmaW5lZCAmJiBjdXJyZW50Q2hhdElkICE9PSBudWxsXG4gICAgY29uc3QgbmV3Q2hhdFN0YXJ0ZWQgPSBwcmV2aW91c05ld0NoYXRLZXlSZWYuY3VycmVudCAhPT0gbmV3Q2hhdEtleVxuICAgIGNvbnN0IGlzSW5pdGlhbE1vdW50ID0gcHJldmlvdXNBZ2VudElkUmVmLmN1cnJlbnQgPT09IHVuZGVmaW5lZCAmJiBwcmV2aW91c0NoYXRJZFJlZi5jdXJyZW50ID09PSB1bmRlZmluZWRcblxuICAgIGlmIChcbiAgICAgIChhZ2VudENoYW5nZWQgfHwgY2hhdENoYW5nZWQgfHwgY2hhbmdlZEZyb21OZXdDaGF0VG9PbGRDaGF0IHx8IG5ld0NoYXRTdGFydGVkIHx8IGlzSW5pdGlhbE1vdW50KSAmJlxuICAgICAgaW5wdXRSZWYuY3VycmVudCAmJlxuICAgICAgIWRpc2FibGVkXG4gICAgKSB7XG4gICAgICAvLyBVc2FyIHNldFRpbWVvdXQgcGFyYSBhc2VndXJhciBxdWUgZWwgRE9NIGVzdMOpIGxpc3RvXG4gICAgICAvLyBBdW1lbnRhciBlbCBkZWxheSBwYXJhIGNhc29zIGRvbmRlIGVsIGNvbXBvbmVudGUgc2UgZXN0w6EgbW9udGFuZG9cbiAgICAgIGNvbnN0IGRlbGF5ID0gaXNJbml0aWFsTW91bnQgfHwgY2hhbmdlZEZyb21OZXdDaGF0VG9PbGRDaGF0ID8gMjAwIDogMTAwXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKGlucHV0UmVmLmN1cnJlbnQgJiYgIWRpc2FibGVkKSB7XG4gICAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpXG4gICAgICAgIH1cbiAgICAgIH0sIGRlbGF5KVxuICAgIH1cblxuICAgIC8vIEFjdHVhbGl6YXIgbGFzIHJlZmVyZW5jaWFzIERFU1BVw4lTIGRlIGxhIGNvbXBhcmFjacOzblxuICAgIHByZXZpb3VzQWdlbnRJZFJlZi5jdXJyZW50ID0gYWdlbnQ/LmlkXG4gICAgcHJldmlvdXNDaGF0SWRSZWYuY3VycmVudCA9IGNoYXRJZFxuICAgIHByZXZpb3VzTmV3Q2hhdEtleVJlZi5jdXJyZW50ID0gbmV3Q2hhdEtleVxuICB9LCBbYWdlbnQ/LmlkLCBjaGF0SWQsIG5ld0NoYXRLZXksIGRpc2FibGVkXSlcblxuICAvLyBDbGVhciBpbnB1dCB3aGVuIHNlc3Npb24gY2hhbmdlcyAodXNlciBzd2l0Y2hlcyB0byBhIGRpZmZlcmVudCBjaGF0KVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVNlc3Npb25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgICBzZXRWYWx1ZVRleHRhcmVhKCcnKVxuICAgICAgc2V0SXNEaXNhYmxlZCh0cnVlKVxuICAgICAgaWYgKGlucHV0UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC52YWx1ZSA9ICcnXG4gICAgICB9XG4gICAgICBoYW5kbGVSZXNpemUoKVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYXQtc2Vzc2lvbi1jaGFuZ2VkJywgaGFuZGxlU2Vzc2lvbkNoYW5nZSlcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGF0LXNlc3Npb24tY2hhbmdlZCcsIGhhbmRsZVNlc3Npb25DaGFuZ2UpXG4gICAgfVxuICB9LCBbXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGFuaW1hdGlvbkZyYW1lSWQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgaGFuZGxlUmVzaXplKClcbiAgICB9KVxuXG4gICAgcmV0dXJuICgpID0+IGNhbmNlbEFuaW1hdGlvbkZyYW1lKGFuaW1hdGlvbkZyYW1lSWQpXG4gIH0sIFt2YWx1ZVRleHRhcmVhXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhc1RleHQgPSB2YWx1ZVRleHRhcmVhLnRyaW0oKS5sZW5ndGggPiAwXG4gICAgY29uc3QgaGFzQXR0YWNobWVudHMgPSBhdHRhY2htZW50cy5sZW5ndGggPiAwXG4gICAgc2V0SXNEaXNhYmxlZCghaGFzVGV4dCAmJiAhaGFzQXR0YWNobWVudHMpXG4gIH0sIFthdHRhY2htZW50cywgdmFsdWVUZXh0YXJlYV0pXG5cbiAgY29uc3QgaGFuZGxlU2VuZE1lc3NhZ2UgPSAoKSA9PiB7XG4gICAgaWYgKGlucHV0UmVmLmN1cnJlbnQpIHtcbiAgICAgIG9uU2VuZE1lc3NhZ2UoaW5wdXRSZWYuY3VycmVudC52YWx1ZSwgYXR0YWNobWVudHMpXG4gICAgICBpbnB1dFJlZi5jdXJyZW50LnZhbHVlID0gJydcbiAgICAgIHNldFZhbHVlVGV4dGFyZWEoJycpXG4gICAgICBzZXRJc0Rpc2FibGVkKHRydWUpXG4gICAgICBoYW5kbGVSZXNpemUoKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGlmIChhdHRhY2htZW50cy5sZW5ndGgpIHtcbiAgICAgIG9uU2VuZE1lc3NhZ2UoJycsIGF0dGFjaG1lbnRzKVxuICAgICAgc2V0VmFsdWVUZXh0YXJlYSgnJylcbiAgICAgIHNldElzRGlzYWJsZWQodHJ1ZSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQ8SFRNTFRleHRBcmVhRWxlbWVudD4pID0+IHtcbiAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicgJiYgIWUuc2hpZnRLZXkpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgaWYgKCFpc0Rpc2FibGVkICYmICFkaXNhYmxlZCkge1xuICAgICAgICBoYW5kbGVTZW5kTWVzc2FnZSgpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKGU6IENoYW5nZUV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQ+KSA9PiB7XG4gICAgY29uc3QgaGFzVGV4dCA9IGUudGFyZ2V0LnZhbHVlLnRyaW0oKS5sZW5ndGggPiAwXG4gICAgY29uc3QgaGFzQXR0YWNobWVudHMgPSBhdHRhY2htZW50cy5sZW5ndGggPiAwXG4gICAgc2V0SXNEaXNhYmxlZCghaGFzVGV4dCAmJiAhaGFzQXR0YWNobWVudHMpXG4gICAgc2V0VmFsdWVUZXh0YXJlYShlLnRhcmdldC52YWx1ZSlcbiAgICBvbkNoYW5nZT8uKClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVBhc3RlID0gKCkgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaGFuZGxlUmVzaXplKClcbiAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGlucHV0UmVmLmN1cnJlbnQ/LnZhbHVlID8/ICcnXG4gICAgICBjb25zdCBoYXNUZXh0ID0gY3VycmVudFZhbHVlLnRyaW0oKS5sZW5ndGggPiAwXG4gICAgICBjb25zdCBoYXNBdHRhY2htZW50cyA9IGF0dGFjaG1lbnRzLmxlbmd0aCA+IDBcbiAgICAgIHNldFZhbHVlVGV4dGFyZWEoY3VycmVudFZhbHVlKVxuICAgICAgc2V0SXNEaXNhYmxlZCghaGFzVGV4dCAmJiAhaGFzQXR0YWNobWVudHMpXG4gICAgfSwgMTApXG4gIH1cblxuICBjb25zdCBoYW5kbGVGaWxlU2VsZWN0ID0gKGU6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgY29uc3QgZmlsZXMgPSBlLnRhcmdldC5maWxlc1xuICAgIGlmICghZmlsZXMpIHJldHVyblxuXG4gICAgY29uc3QgZXhjZWVkZWRGaWxlczogc3RyaW5nW10gPSBbXVxuICAgIGNvbnN0IGV4Y2x1ZGVkRmlsZXM6IHN0cmluZ1tdID0gW11cbiAgICBjb25zdCBmaWxlU2l6ZXM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7fVxuICAgIGxldCBmaWxlc0luc2VydGVkID0gYXR0YWNobWVudHMubGVuZ3RoXG5cbiAgICAvLyBEZWZpbmlyIGzDrW1pdGVzIHBhcmEgZGlmZXJlbnRlcyB0aXBvcyBkZSBhcmNoaXZvc1xuICAgIGNvbnN0IGlzTmV3Rm9ybWF0ID0gKGV4dGVuc2lvbjogc3RyaW5nKSA9PiBbJy5wbmcnLCAnLmpwZycsICcuanBlZycsICcucGRmJ10uaW5jbHVkZXMoZXh0ZW5zaW9uKVxuICAgIGNvbnN0IGlzT2xkRm9ybWF0ID0gKGV4dGVuc2lvbjogc3RyaW5nKSA9PlxuICAgICAgWycudHh0JywgJy5tZCcsICcuY3N2JywgJy5kb2MnLCAnLmRvY3gnLCAnLnhsc3gnLCAnLnhscyddLmluY2x1ZGVzKGV4dGVuc2lvbilcbiAgICBjb25zdCBpc0F1ZGlvRm9ybWF0ID0gKGV4dGVuc2lvbjogc3RyaW5nKSA9PlxuICAgICAgWycuZmxhYycsICcubTRhJywgJy5tcDMnLCAnLm1wNCcsICcub2dhJywgJy5vZ2cnLCAnLndhdicsICcud2VibSddLmluY2x1ZGVzKGV4dGVuc2lvbilcblxuICAgIEFycmF5LmZyb20oZmlsZXMpLmZvckVhY2goZmlsZSA9PiB7XG4gICAgICBsZXQgZXhjbHVkZWRGaWxlID0gZmFsc2VcbiAgICAgIGNvbnN0IGZpbGVOYW1lUGFydHMgPSBmaWxlLm5hbWUuc3BsaXQoJy4nKVxuICAgICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IGZpbGVOYW1lUGFydHMubGVuZ3RoID4gMSA/IGAuJHtmaWxlTmFtZVBhcnRzLnBvcCgpPy50b0xvd2VyQ2FzZSgpfWAgOiAnJ1xuXG4gICAgICBpZiAoIWFsbG93ZWRGaWxlVHlwZXM/LmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBmaWxlU2l6ZXNbZmlsZS5uYW1lXSA9IGZpbGUuc2l6ZVxuXG4gICAgICAvLyBWYWxpZGFjaW9uZXMgZXNwZWPDrWZpY2FzIHNlZ8O6biBlbCB0aXBvIGRlIGFyY2hpdm9cbiAgICAgIGlmIChpc05ld0Zvcm1hdChmaWxlRXh0ZW5zaW9uKSkge1xuICAgICAgICAvLyBQYXJhIG51ZXZvcyBmb3JtYXRvczogaGFzdGEgNC45OU1CIHBvciBhcmNoaXZvLCBoYXN0YSA1IGFyY2hpdm9zXG4gICAgICAgIGlmIChmaWxlLnNpemUgPiBNQVhfRklMRV9TSVpFX01CX01BSUFfVklTSU9OICogMTAyNCAqIDEwMjQpIHtcbiAgICAgICAgICBleGNlZWRlZEZpbGVzLnB1c2goZmlsZS5uYW1lKVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZSA9IHRydWVcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlc0luc2VydGVkICsgMSA+IDUpIHtcbiAgICAgICAgICBleGNsdWRlZEZpbGVzLnB1c2goZmlsZS5uYW1lKVxuICAgICAgICAgIGV4Y2x1ZGVkRmlsZSA9IHRydWVcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChpc09sZEZvcm1hdChmaWxlRXh0ZW5zaW9uKSkge1xuICAgICAgICAvLyBQYXJhIGZvcm1hdG9zIGFudGVyaW9yZXM6IGhhc3RhIDFNQiBwb3IgYXJjaGl2bywgaGFzdGEgNSBhcmNoaXZvc1xuICAgICAgICBpZiAoZmlsZS5zaXplID4gTUFYX0ZJTEVfU0laRV9NQl9PTEQgKiAxMDI0ICogMTAyNCkge1xuICAgICAgICAgIGV4Y2VlZGVkRmlsZXMucHVzaChmaWxlLm5hbWUpXG4gICAgICAgICAgZXhjbHVkZWRGaWxlID0gdHJ1ZVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbGVzSW5zZXJ0ZWQgKyAxID4gNSkge1xuICAgICAgICAgIGV4Y2x1ZGVkRmlsZXMucHVzaChmaWxlLm5hbWUpXG4gICAgICAgICAgZXhjbHVkZWRGaWxlID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlzQXVkaW9Gb3JtYXQoZmlsZUV4dGVuc2lvbikpIHtcbiAgICAgICAgLy8gUGFyYSBhcmNoaXZvcyBkZSBhdWRpbzogaGFzdGEgMTBNQiBwb3IgYXJjaGl2bywgaGFzdGEgNSBhcmNoaXZvc1xuICAgICAgICBpZiAoZmlsZS5zaXplID4gTUFYX0ZJTEVfU0laRV9NQl9BVURJTyAqIDEwMjQgKiAxMDI0KSB7XG4gICAgICAgICAgZXhjZWVkZWRGaWxlcy5wdXNoKGZpbGUubmFtZSlcbiAgICAgICAgICBleGNsdWRlZEZpbGUgPSB0cnVlXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmlsZXNJbnNlcnRlZCArIDEgPiA1KSB7XG4gICAgICAgICAgZXhjbHVkZWRGaWxlcy5wdXNoKGZpbGUubmFtZSlcbiAgICAgICAgICBleGNsdWRlZEZpbGUgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCFleGNsdWRlZEZpbGUpIHtcbiAgICAgICAgZmlsZXNJbnNlcnRlZCArPSAxXG4gICAgICAgIGNvbnN0IHR5cGVGaWxlID0gZmlsZS50eXBlIHx8IGZpbGVUeXBlc1tmaWxlRXh0ZW5zaW9uXVxuICAgICAgICBjb25zdCBwYXJzZWRGaWxlID0gbmV3IEZpbGUoW2ZpbGVdLCBmaWxlLm5hbWUsIHsgdHlwZTogdHlwZUZpbGUgfSlcbiAgICAgICAgb25GaWxlQXR0YWNoPy4ocGFyc2VkRmlsZSlcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgc2V0SXNEaXNhYmxlZChmYWxzZSlcbiAgICBpZiAoZXhjbHVkZWRGaWxlcy5sZW5ndGggfHwgZXhjZWVkZWRGaWxlcy5sZW5ndGgpIHtcbiAgICAgIHNldE1vZGFsUHJvcHMoeyBpc09wZW46IHRydWUsIGV4Y2x1ZGVkRmlsZXMsIGV4Y2VlZGVkRmlsZXMsIGZpbGVTaXplcyB9KVxuICAgIH1cblxuICAgIGlmIChmaWxlSW5wdXRSZWYuY3VycmVudCkge1xuICAgICAgZmlsZUlucHV0UmVmLmN1cnJlbnQudmFsdWUgPSAnJ1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUF0dGFjaENsaWNrID0gKCkgPT4ge1xuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRUb29scywgeyBvcHRpb246ICdmaWxlcycgfSlcbiAgICBpZiAoYXR0YWNobWVudHMubGVuZ3RoID49IDUpIHJldHVyblxuICAgIGZpbGVJbnB1dFJlZi5jdXJyZW50Py5jbGljaygpXG4gIH1cblxuICBjb25zdCBoYW5kbGVEZWxldGVBdHRhY2htZW50ID0gKGZpbGVJZDogc3RyaW5nKSA9PiB7XG4gICAgb25EZWxldGVBdHRhY2htZW50Py4oZmlsZUlkKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQmx1ciA9ICgpID0+IHtcbiAgICBjb25zdCBoYXNUZXh0ID0gdmFsdWVUZXh0YXJlYS50cmltKCkubGVuZ3RoID4gMFxuICAgIGNvbnN0IGhhc0F0dGFjaG1lbnRzID0gYXR0YWNobWVudHMubGVuZ3RoID4gMFxuICAgIHNldElzRGlzYWJsZWQoIWhhc1RleHQgJiYgIWhhc0F0dGFjaG1lbnRzKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlV3JhcHBlckZvY3VzID0gKCkgPT4gc2V0SXNGb2N1c2VkKHRydWUpXG4gIGNvbnN0IGhhbmRsZVdyYXBwZXJCbHVyID0gKCkgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCF3cmFwcGVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgIHNldElzRm9jdXNlZChmYWxzZSlcbiAgICAgIH1cbiAgICB9LCAwKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlU3RvcEdlbmVyYXRpb24gPSAoKSA9PiB7XG4gICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdFN0b3BSZXNwb25zZSlcbiAgICBvblN0b3BHZW5lcmF0aW9uPy4oKVxuICB9XG5cbiAgY29uc3QgaWNvbkNvbG9ySW5hY3RpdmUgPSBpc0ZvY3VzZWQgPyAnIzY2NjY2NicgOiAnIzk5OSdcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8U3R5bGVkTUFJQUlucHV0V3JhcHBlclxuICAgICAgICByZWY9e3dyYXBwZXJSZWZ9XG4gICAgICAgIGRpc2FibGVkPXtmYWxzZX1cbiAgICAgICAgYWxpZ25CdXR0b25zPXthbGlnbkJ1dHRvbnN9XG4gICAgICAgIGhhc0F0dGFjaG1lbnRzPXshIWF0dGFjaG1lbnRzLmxlbmd0aH1cbiAgICAgICAgb25Gb2N1cz17aGFuZGxlV3JhcHBlckZvY3VzfVxuICAgICAgICBvbkJsdXI9e2hhbmRsZVdyYXBwZXJCbHVyfVxuICAgICAgPlxuICAgICAgICB7ISFhdHRhY2htZW50cy5sZW5ndGggJiYgKFxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBnYXA6ICcxMnB4JywgYWxpZ25JdGVtczogJ2NlbnRlcicgfX0+XG4gICAgICAgICAgICB7YXR0YWNobWVudHMubWFwKChhdHRhY2htZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBmaWxlTmFtZVBhcnRzID0gYXR0YWNobWVudC5uYW1lLnNwbGl0KCcuJylcbiAgICAgICAgICAgICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IGZpbGVOYW1lUGFydHMubGVuZ3RoID4gMSA/IGAuJHtmaWxlTmFtZVBhcnRzLnBvcCgpPy50b0xvd2VyQ2FzZSgpfWAgOiAnJ1xuICAgICAgICAgICAgICBjb25zdCBpc0ltYWdlQnlFeHRlbnNpb24gPSBbJy5wbmcnLCAnLmpwZycsICcuanBlZyddLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pXG4gICAgICAgICAgICAgIGNvbnN0IGlzSW1hZ2VCeU1pbWUgPSBhdHRhY2htZW50LnR5cGU/LnN0YXJ0c1dpdGgoJ2ltYWdlLycpXG4gICAgICAgICAgICAgIGNvbnN0IGlzSW1hZ2UgPSBpc0ltYWdlQnlNaW1lICYmIGlzSW1hZ2VCeUV4dGVuc2lvblxuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXthdHRhY2htZW50Lm5hbWV9IGtleT17YCR7aW5kZXh9LSR7YXR0YWNobWVudC5uYW1lfWB9PlxuICAgICAgICAgICAgICAgICAgPFNDTUlBdHRhY2htZW50IGlzSW1hZ2U9e2lzSW1hZ2V9PlxuICAgICAgICAgICAgICAgICAgICB7YXR0YWNobWVudC5pY29ufVxuICAgICAgICAgICAgICAgICAgICA8U0NNSUF0dGFjaG1lbnREZWxldGVJY29uIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZUF0dGFjaG1lbnQoYXR0YWNobWVudC5pZCl9PlxuICAgICAgICAgICAgICAgICAgICAgIDxUcmFzaCBjb2xvcj1cInJnYmEoMTkxLCAxOTEsIDE5MSwgMSlcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvU0NNSUF0dGFjaG1lbnREZWxldGVJY29uPlxuICAgICAgICAgICAgICAgICAgPC9TQ01JQXR0YWNobWVudD5cbiAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICA8U3R5bGVkTUFJQUlucHV0XG4gICAgICAgICAgcmVmPXtpbnB1dFJlZn1cbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICBvbktleURvd249e2hhbmRsZUtleURvd259XG4gICAgICAgICAgb25QYXN0ZT17aGFuZGxlUGFzdGV9XG4gICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICAgIGFsaWduQnV0dG9ucz17YWxpZ25CdXR0b25zfVxuICAgICAgICAgIG9uQmx1cj17aGFuZGxlQmx1cn1cbiAgICAgICAgLz5cbiAgICAgICAgPFN0eWxlZE1BSUFJbnB1dEJ1dHRvbnM+XG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGdhcDogJzEwcHgnIH19PlxuICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e2F0dGFjaG1lbnRzLmxlbmd0aCA+PSA1ID8gdCgnY2hhdC5saW1pdEZpbGVzJykgOiB0KCdjaGF0LmF0dGFjaEZpbGUnKX0+XG4gICAgICAgICAgICAgIDxTQ01JV3JhcHBlckF0dGFjaG1lbnRCdXR0b25cbiAgICAgICAgICAgICAgICBoYXNBdHRhY2htZW50cz17ISFhdHRhY2htZW50cy5sZW5ndGh9XG4gICAgICAgICAgICAgICAgaXNNYXhpbWl6ZWQ9e2F0dGFjaG1lbnRzLmxlbmd0aCA+PSA1fVxuICAgICAgICAgICAgICAgICRpc0ZvY3VzZWQ9e2lzRm9jdXNlZH1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVBdHRhY2hDbGlja31cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxBdHRhY2hcbiAgICAgICAgICAgICAgICAgIGNvbG9yPXshYXR0YWNobWVudHMubGVuZ3RoID8gaWNvbkNvbG9ySW5hY3RpdmUgOiBgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfWB9XG4gICAgICAgICAgICAgICAgICB3aWR0aD17MTh9XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ9ezE4fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU0NNSVdyYXBwZXJBdHRhY2htZW50QnV0dG9uPlxuICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3QoJ2NoYXQuc2VhcmNoV2ViJyl9PlxuICAgICAgICAgICAgICA8U0NNSVdyYXBwZXJXZWJTZWFyY2hCdXR0b25cbiAgICAgICAgICAgICAgICBpc0FjdGl2ZT17ISFpc1dlYlNlYXJjaEFjdGl2ZX1cbiAgICAgICAgICAgICAgICAkaXNGb2N1c2VkPXtpc0ZvY3VzZWR9XG4gICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlV2ViU2VhcmNoVG9nZ2xlfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPEdsb2JlXG4gICAgICAgICAgICAgICAgICBjb2xvcj17aXNXZWJTZWFyY2hBY3RpdmUgPyBgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfWAgOiBpY29uQ29sb3JJbmFjdGl2ZX1cbiAgICAgICAgICAgICAgICAgIHdpZHRoPXsxOH1cbiAgICAgICAgICAgICAgICAgIGhlaWdodD17MTh9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TQ01JV3JhcHBlcldlYlNlYXJjaEJ1dHRvbj5cbiAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXt0KCdjaGF0LmRlZXBTZWFyY2gnKX0+XG4gICAgICAgICAgICAgIDxTQ01JV3JhcHBlckRlZXBTZWFyY2hCdXR0b25cbiAgICAgICAgICAgICAgICBpc0FjdGl2ZT17ISFpc0RlZXBTZWFyY2hBY3RpdmV9XG4gICAgICAgICAgICAgICAgJGlzRm9jdXNlZD17aXNGb2N1c2VkfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZURlZXBTZWFyY2hUb2dnbGV9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8VGVsZXNjb3BlSWNvblxuICAgICAgICAgICAgICAgICAgY29sb3I9e2lzRGVlcFNlYXJjaEFjdGl2ZSA/IGAke0JMVUVfSUFfQ09MT1JTWzUwMF19YCA6IGljb25Db2xvckluYWN0aXZlfVxuICAgICAgICAgICAgICAgICAgd2lkdGg9ezE4fVxuICAgICAgICAgICAgICAgICAgaGVpZ2h0PXsxOH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1NDTUlXcmFwcGVyRGVlcFNlYXJjaEJ1dHRvbj5cbiAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIHtpc1dyaXRpbmcgPyAoXG4gICAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17dCgnY2hhdC5zdG9wJyl9PlxuICAgICAgICAgICAgICA8U3R5bGVkTUFJQVN0b3BCdXR0b24gZGlzYWJsZWQ9e2ZhbHNlfSBvbkNsaWNrPXtoYW5kbGVTdG9wR2VuZXJhdGlvbn0gY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxuICAgICAgICAgICAgICAgIDxTdHlsZWRNQUlBU3RvcEljb24gLz5cbiAgICAgICAgICAgICAgPC9TdHlsZWRNQUlBU3RvcEJ1dHRvbj5cbiAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e2lzU3RyZWFtaW5nID8gdCgnY2hhdC5zZW5kJykgOiB0KCdjaGF0LnNlbmQnKX0+XG4gICAgICAgICAgICAgIDxTdHlsZWRNQUlBU2VuZEJ1dHRvblxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNlbmRNZXNzYWdlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc0Rpc2FibGVkIHx8IGRpc2FibGVkfVxuICAgICAgICAgICAgICAgIGhhc1ZhbHVlcz17ISF2YWx1ZVRleHRhcmVhLmxlbmd0aH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQYXBlclBsYW5lIGNvbG9yPVwiI0JGQkZCRlwiIHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgICAgICAgICAgICAgPC9TdHlsZWRNQUlBU2VuZEJ1dHRvbj5cbiAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICApfVxuICAgICAgICA8L1N0eWxlZE1BSUFJbnB1dEJ1dHRvbnM+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHJlZj17ZmlsZUlucHV0UmVmfVxuICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICBtdWx0aXBsZVxuICAgICAgICAgIGFjY2VwdD1cIi50eHQsLm1kLC5jc3YsLmRvYywuZG9jeCwucG5nLC5qcGcsLmpwZWcsLnBkZiwueGxzeCwueGxzLC5mbGFjLC5tNGEsLm1wMywubXA0LC5vZ2EsLm9nZywud2F2LC53ZWJtXCJcbiAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlRmlsZVNlbGVjdH1cbiAgICAgICAgICBzdHlsZT17eyBkaXNwbGF5OiAnbm9uZScgfX1cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkTUFJQUlucHV0V3JhcHBlcj5cbiAgICAgIHttb2RhbFByb3BzLmlzT3BlbiAmJiAoXG4gICAgICAgIDxNb2RhbEZpbGVFeGNlZWRzXG4gICAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0TW9kYWxQcm9wcyh7IGlzT3BlbjogZmFsc2UsIGV4Y2x1ZGVkRmlsZXM6IFtdLCBleGNlZWRlZEZpbGVzOiBbXSwgZmlsZVNpemVzOiB7fSB9KX1cbiAgICAgICAgICBleGNsdWRlZEZpbGVzPXttb2RhbFByb3BzLmV4Y2x1ZGVkRmlsZXN9XG4gICAgICAgICAgZXhjZWVkZWRGaWxlcz17bW9kYWxQcm9wcy5leGNlZWRlZEZpbGVzfVxuICAgICAgICAgIGZpbGVTaXplcz17bW9kYWxQcm9wcy5maWxlU2l6ZXN9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQWdEQSxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDMUYsU0FBU0MsVUFBVSxRQUFRLDZDQUE2QztBQUN4RSxTQUFTQyxNQUFNLFFBQVEseUNBQXlDO0FBQ2hFLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBRXRFLFNBQ0VDLGNBQWMsRUFDZEMsd0JBQXdCLEVBQ3hCQywyQkFBMkIsRUFDM0JDLDBCQUEwQixFQUMxQkMsMkJBQTJCLEVBQzNCQyxlQUFlLEVBQ2ZDLHNCQUFzQixFQUN0QkMsc0JBQXNCLEVBQ3RCQyxvQkFBb0IsRUFDcEJDLG9CQUFvQixFQUNwQkMsa0JBQWtCLFFBQ2IsVUFBVTtBQUNqQixTQUFTQyxnQkFBZ0IsUUFBUSxpQ0FBaUM7QUFDbEUsU0FBU0MsZ0JB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
|
|
@@ -22,10 +22,7 @@ export var StyledMAIAInputWrapper = styled.div.withConfig({
|
|
|
22
22
|
export var StyledMAIAInputButtons = styled.div.withConfig({
|
|
23
23
|
displayName: "styles__StyledMAIAInputButtons",
|
|
24
24
|
componentId: "sc-cs6u9w-1"
|
|
25
|
-
})(["display:flex;align-items:flex-end;height:30px;justify-content:
|
|
26
|
-
var hasHeaderButtons = _ref4.hasHeaderButtons;
|
|
27
|
-
return hasHeaderButtons ? 'space-between' : 'flex-end';
|
|
28
|
-
});
|
|
25
|
+
})(["display:flex;align-items:flex-end;height:30px;justify-content:space-between;"]);
|
|
29
26
|
export var StyledMAIAInput = styled.textarea.withConfig({
|
|
30
27
|
displayName: "styles__StyledMAIAInput",
|
|
31
28
|
componentId: "sc-cs6u9w-2"
|
|
@@ -33,14 +30,14 @@ export var StyledMAIAInput = styled.textarea.withConfig({
|
|
|
33
30
|
export var StyledMAIASendButton = styled(ClearButton).withConfig({
|
|
34
31
|
displayName: "styles__StyledMAIASendButton",
|
|
35
32
|
componentId: "sc-cs6u9w-3"
|
|
36
|
-
})(["background-color:", ";height:30px;width:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background-color 0.2s ease;svg{transition:transform 0.2s ease;", "}&:hover{background-color:", " !important;}&:active{transform:scale(0.9);svg{transition:transform 0.2s ease;g *{fill:white !important;}}}transition:transform 0.2s ease;&:disabled{cursor:not-allowed;background-color:#f2f2f2 !important;", " &:hover{svg{transform:none;}}&:active{transform:none;}}"], function (
|
|
37
|
-
var hasValues =
|
|
33
|
+
})(["background-color:", ";height:30px;width:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background-color 0.2s ease;svg{transition:transform 0.2s ease;", "}&:hover{background-color:", " !important;}&:active{transform:scale(0.9);svg{transition:transform 0.2s ease;g *{fill:white !important;}}}transition:transform 0.2s ease;&:disabled{cursor:not-allowed;background-color:#f2f2f2 !important;", " &:hover{svg{transform:none;}}&:active{transform:none;}}"], function (_ref4) {
|
|
34
|
+
var hasValues = _ref4.hasValues;
|
|
38
35
|
return hasValues ? "".concat(BLUE_IA_COLORS[500]) : '#f2f2f2';
|
|
39
|
-
}, function (
|
|
40
|
-
var hasValues =
|
|
36
|
+
}, function (_ref5) {
|
|
37
|
+
var hasValues = _ref5.hasValues;
|
|
41
38
|
return hasValues && css(["g *{fill:white !important;}"]);
|
|
42
|
-
}, BLUE_IA_COLORS[700], function (
|
|
43
|
-
var hasValues =
|
|
39
|
+
}, BLUE_IA_COLORS[700], function (_ref6) {
|
|
40
|
+
var hasValues = _ref6.hasValues;
|
|
44
41
|
return !hasValues && css(["svg *{fill:", " !important;}"], colors.text.disabled);
|
|
45
42
|
});
|
|
46
43
|
export var SCMIWrapperAttachments = styled.div.withConfig({
|
|
@@ -54,8 +51,8 @@ export var SCMIAttachmentDeleteIcon = styled.div.withConfig({
|
|
|
54
51
|
export var SCMIAttachment = styled.div.withConfig({
|
|
55
52
|
displayName: "styles__SCMIAttachment",
|
|
56
53
|
componentId: "sc-cs6u9w-6"
|
|
57
|
-
})(["display:flex;justify-content:center;align-items:center;border:1px solid rgba(191,191,191,1);border-radius:6px;cursor:pointer;position:relative;padding:13px;", " &:hover{", "{display:flex;}}"], function (
|
|
58
|
-
var isImage =
|
|
54
|
+
})(["display:flex;justify-content:center;align-items:center;border:1px solid rgba(191,191,191,1);border-radius:6px;cursor:pointer;position:relative;padding:13px;", " &:hover{", "{display:flex;}}"], function (_ref7) {
|
|
55
|
+
var isImage = _ref7.isImage;
|
|
59
56
|
return isImage && css(["padding:0px !important;"]);
|
|
60
57
|
}, SCMIAttachmentDeleteIcon);
|
|
61
58
|
var baseButtonActionStyles = css(["width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all 0.2s ease;"]);
|
|
@@ -66,13 +63,13 @@ var getAttachmentBorderColor = function getAttachmentBorderColor(p) {
|
|
|
66
63
|
export var SCMIWrapperAttachmentButton = styled.div.withConfig({
|
|
67
64
|
displayName: "styles__SCMIWrapperAttachmentButton",
|
|
68
65
|
componentId: "sc-cs6u9w-7"
|
|
69
|
-
})(["", " border:1px solid ", ";background-color:", ";cursor:", ";&:hover{background-color:", " !important;border:1px solid ", " !important;svg *{fill:", " !important;}}"], baseButtonActionStyles, getAttachmentBorderColor, function (
|
|
66
|
+
})(["", " border:1px solid ", ";background-color:", ";cursor:", ";&:hover{background-color:", " !important;border:1px solid ", " !important;svg *{fill:", " !important;}}"], baseButtonActionStyles, getAttachmentBorderColor, function (_ref8) {
|
|
67
|
+
var hasAttachments = _ref8.hasAttachments,
|
|
68
|
+
isMaximized = _ref8.isMaximized;
|
|
69
|
+
return !hasAttachments && !isMaximized ? '#ffffff' : "".concat(BLUE_IA_COLORS[50]);
|
|
70
|
+
}, function (_ref9) {
|
|
70
71
|
var hasAttachments = _ref9.hasAttachments,
|
|
71
72
|
isMaximized = _ref9.isMaximized;
|
|
72
|
-
return !hasAttachments && !isMaximized ? '#ffffff' : "".concat(BLUE_IA_COLORS[50]);
|
|
73
|
-
}, function (_ref0) {
|
|
74
|
-
var hasAttachments = _ref0.hasAttachments,
|
|
75
|
-
isMaximized = _ref0.isMaximized;
|
|
76
73
|
return hasAttachments || isMaximized ? 'default' : 'pointer';
|
|
77
74
|
}, BLUE_IA_COLORS[50], BLUE_IA_COLORS[500], BLUE_IA_COLORS[500]);
|
|
78
75
|
var getWebSearchBorderColor = function getWebSearchBorderColor(p) {
|
|
@@ -82,11 +79,11 @@ var getWebSearchBorderColor = function getWebSearchBorderColor(p) {
|
|
|
82
79
|
export var SCMIWrapperWebSearchButton = styled.div.withConfig({
|
|
83
80
|
displayName: "styles__SCMIWrapperWebSearchButton",
|
|
84
81
|
componentId: "sc-cs6u9w-8"
|
|
85
|
-
})(["", " border:1px solid ", ";background-color:", ";cursor:pointer;", ""], baseButtonActionStyles, getWebSearchBorderColor, function (
|
|
86
|
-
var isActive =
|
|
82
|
+
})(["", " border:1px solid ", ";background-color:", ";cursor:pointer;", ""], baseButtonActionStyles, getWebSearchBorderColor, function (_ref0) {
|
|
83
|
+
var isActive = _ref0.isActive;
|
|
87
84
|
return !isActive ? '#ffffff' : "".concat(BLUE_IA_COLORS[50]);
|
|
88
|
-
}, function (
|
|
89
|
-
var isActive =
|
|
85
|
+
}, function (_ref1) {
|
|
86
|
+
var isActive = _ref1.isActive;
|
|
90
87
|
return !isActive && css(["&:hover{background-color:", " !important;border:1px solid ", " !important;svg *{fill:", " !important;}}"], BLUE_IA_COLORS[50], BLUE_IA_COLORS[500], BLUE_IA_COLORS[500]);
|
|
91
88
|
});
|
|
92
89
|
var getDeepSearchBorderColor = function getDeepSearchBorderColor(p) {
|
|
@@ -96,11 +93,11 @@ var getDeepSearchBorderColor = function getDeepSearchBorderColor(p) {
|
|
|
96
93
|
export var SCMIWrapperDeepSearchButton = styled.div.withConfig({
|
|
97
94
|
displayName: "styles__SCMIWrapperDeepSearchButton",
|
|
98
95
|
componentId: "sc-cs6u9w-9"
|
|
99
|
-
})(["", " border:1px solid ", ";background-color:", ";cursor:pointer;", ""], baseButtonActionStyles, getDeepSearchBorderColor, function (
|
|
100
|
-
var isActive =
|
|
96
|
+
})(["", " border:1px solid ", ";background-color:", ";cursor:pointer;", ""], baseButtonActionStyles, getDeepSearchBorderColor, function (_ref10) {
|
|
97
|
+
var isActive = _ref10.isActive;
|
|
101
98
|
return !isActive ? '#ffffff' : "".concat(BLUE_IA_COLORS[50]);
|
|
102
|
-
}, function (
|
|
103
|
-
var isActive =
|
|
99
|
+
}, function (_ref11) {
|
|
100
|
+
var isActive = _ref11.isActive;
|
|
104
101
|
return !isActive && css(["&:hover{background-color:", " !important;border:1px solid ", " !important;svg *{stroke:", " !important;}}"], BLUE_IA_COLORS[50], BLUE_IA_COLORS[500], BLUE_IA_COLORS[500]);
|
|
105
102
|
});
|
|
106
103
|
export var StyledMAIAStopIcon = styled.div.withConfig({
|
|
@@ -111,4 +108,4 @@ export var StyledMAIAStopButton = styled.button.withConfig({
|
|
|
111
108
|
displayName: "styles__StyledMAIAStopButton",
|
|
112
109
|
componentId: "sc-cs6u9w-11"
|
|
113
110
|
})(["background:none;border:none;padding:0;font:inherit;background-color:#f2f2f2 !important;height:30px;width:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;&:hover{background-color:", " !important;", "{background-color:", " !important;}}&:disabled{cursor:not-allowed;background-color:#f2f2f2 !important;opacity:0.6;}"], BLUE_IA_COLORS[50], StyledMAIAStopIcon, BLUE_IA_COLORS[500]);
|
|
114
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJCTFVFX0lBX0NPTE9SUyIsInNjcm9sbGFibGVTdHlsZXMiLCJDbGVhckJ1dHRvbiIsImZsb3ciLCJjdXN0b21JbnB1dFN0eWxlcyIsIlN0eWxlZE1BSUFJbnB1dFdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsInRleHQiLCJkaXNhYmxlZCIsIl9yZWYiLCJfcmVmMiIsImFsaWduQnV0dG9ucyIsIl9yZWYzIiwiaGFzQXR0YWNobWVudHMiLCJTdHlsZWRNQUlBSW5wdXRCdXR0b25zIiwiX3JlZjQiLCJoYXNIZWFkZXJCdXR0b25zIiwiU3R5bGVkTUFJQUlucHV0IiwidGV4dGFyZWEiLCJzZWNvbmRhcnkiLCJTdHlsZWRNQUlBU2VuZEJ1dHRvbiIsIl9yZWY1IiwiaGFzVmFsdWVzIiwiY29uY2F0IiwiX3JlZjYiLCJfcmVmNyIsIlNDTUlXcmFwcGVyQXR0YWNobWVudHMiLCJTQ01JQXR0YWNobWVudERlbGV0ZUljb24iLCJTQ01JQXR0YWNobWVudCIsIl9yZWY4IiwiaXNJbWFnZSIsImJhc2VCdXR0b25BY3Rpb25TdHlsZXMiLCJnZXRBdHRhY2htZW50Qm9yZGVyQ29sb3IiLCJwIiwiaXNNYXhpbWl6ZWQiLCIkaXNGb2N1c2VkIiwiU0NNSVdyYXBwZXJBdHRhY2htZW50QnV0dG9uIiwiX3JlZjkiLCJfcmVmMCIsImdldFdlYlNlYXJjaEJvcmRlckNvbG9yIiwiaXNBY3RpdmUiLCJTQ01JV3JhcHBlcldlYlNlYXJjaEJ1dHRvbiIsIl9yZWYxIiwiX3JlZjEwIiwiZ2V0RGVlcFNlYXJjaEJvcmRlckNvbG9yIiwiU0NNSVdyYXBwZXJEZWVwU2VhcmNoQnV0dG9uIiwiX3JlZjExIiwiX3JlZjEyIiwiU3R5bGVkTUFJQVN0b3BJY29uIiwiU3R5bGVkTUFJQVN0b3BCdXR0b24iLCJidXR0b24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9NQUlBSW5wdXQvc3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9pbmRlbnQgKi9cbmltcG9ydCBzdHlsZWQsIHsgY3NzLCBrZXlmcmFtZXMgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcbmltcG9ydCBjb2xvcnMgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuaW1wb3J0IHsgQkxVRV9JQV9DT0xPUlMgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvY29uZmlnJ1xuaW1wb3J0IHsgc2Nyb2xsYWJsZVN0eWxlcyB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9zaGFyZWQvc2Nyb2xsYWJsZSdcbmltcG9ydCB7IENsZWFyQnV0dG9uIH0gZnJvbSAnLi4vQ2xlYXJCdXR0b24nXG5cbmV4cG9ydCBjb25zdCBmbG93ID0ga2V5ZnJhbWVzYFxuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcbiAgICAgIDAlIDAlLFxuICAgICAgMCUgNTAlO1xuICB9XG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcbiAgICAgIDAlIDAlLFxuICAgICAgMTAwJSA1MCU7XG4gIH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcbiAgICAgIDAlIDAlLFxuICAgICAgMCUgNTAlO1xuICB9XG5gXG5cbmNvbnN0IGN1c3RvbUlucHV0U3R5bGVzID0gY3NzYFxuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOlxuICAgIGxpbmVhci1ncmFkaWVudCh3aGl0ZSwgd2hpdGUpIHBhZGRpbmctYm94LFxuICAgIGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzRkMzU2OSAwJSwgIzg3NDBiZiA1OS42MiUsICMyZDc3YmQgMTAwJSkgYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTpcbiAgICAxMDAlIDEwMCUsXG4gICAgMjAwJSAxMDAlO1xuICBhbmltYXRpb246ICR7Zmxvd30gM3MgZWFzZSBpbmZpbml0ZTtcbiAgYm94LXNoYWRvdzpcbiAgICAzcHggNHB4IDE0cHggMCByZ2JhKDEzNSwgNjQsIDE5MSwgMC4xNSksXG4gICAgLTNweCAtNHB4IDE0cHggMCByZ2JhKDQ1LCAxMTksIDE4OSwgMC4xNSk7XG5gXG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdjx7XG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBhbGlnbkJ1dHRvbnM/OiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnXG4gIGhhc0F0dGFjaG1lbnRzOiBib29sZWFuXG59PmBcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJHtjb2xvcnMudGV4dC5kaXNhYmxlZH07XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2U7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGN1cnNvcjogJHsoeyBkaXNhYmxlZCB9KSA9PiAoZGlzYWJsZWQgPyAnbm90LWFsbG93ZWQnIDogJ2F1dG8nKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi1oZWlnaHQ6IDg2cHg7XG4gIGdhcDogJHsoeyBhbGlnbkJ1dHRvbnMgfSkgPT4gKGFsaWduQnV0dG9ucyA9PT0gJ3ZlcnRpY2FsJyA/ICc4cHgnIDogJzAnKX07XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgICR7Y3VzdG9tSW5wdXRTdHlsZXN9XG4gIH1cblxuICAkeyh7IGhhc0F0dGFjaG1lbnRzIH0pID0+XG4gICAgaGFzQXR0YWNobWVudHMgJiZcbiAgICBjc3NgXG4gICAgICAke2N1c3RvbUlucHV0U3R5bGVzfVxuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBSW5wdXRCdXR0b25zID0gc3R5bGVkLmRpdjx7IGhhc0hlYWRlckJ1dHRvbnM6IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICR7KHsgaGFzSGVhZGVyQnV0dG9ucyB9KSA9PiAoaGFzSGVhZGVyQnV0dG9ucyA/ICdzcGFjZS1iZXR3ZWVuJyA6ICdmbGV4LWVuZCcpfTtcbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFJbnB1dCA9IHN0eWxlZC50ZXh0YXJlYTx7XG4gIGFsaWduQnV0dG9ucz86ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCdcbn0+YFxuICAke3Njcm9sbGFibGVTdHlsZXN9XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHJlc2l6ZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBtaW4taGVpZ2h0OiAyMi4xcHg7XG4gIG1heC1oZWlnaHQ6IDEyMi4xcHg7XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7Y29sb3JzLnRleHQuc2Vjb25kYXJ5fTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVNlbmRCdXR0b24gPSBzdHlsZWQoQ2xlYXJCdXR0b24pPHsgaGFzVmFsdWVzPzogYm9vbGVhbiB9PmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyBoYXNWYWx1ZXMgfSkgPT4gKGhhc1ZhbHVlcyA/IGAke0JMVUVfSUFfQ09MT1JTWzUwMF19YCA6ICcjZjJmMmYyJyl9O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblxuICBzdmcge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgJHsoeyBoYXNWYWx1ZXMgfSkgPT5cbiAgICAgIGhhc1ZhbHVlcyAmJlxuICAgICAgY3NzYFxuICAgICAgICBnICoge1xuICAgICAgICAgIGZpbGw6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke0JMVUVfSUFfQ09MT1JTWzcwMF19ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIHN2ZyB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgICAgZyAqIHtcbiAgICAgICAgZmlsbDogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMiAhaW1wb3J0YW50O1xuXG4gICAgJHsoeyBoYXNWYWx1ZXMgfSkgPT5cbiAgICAgICFoYXNWYWx1ZXMgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgc3ZnICoge1xuICAgICAgICAgIGZpbGw6ICR7Y29sb3JzLnRleHQuZGlzYWJsZWR9ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIGB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01JV3JhcHBlckF0dGFjaG1lbnRzID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYFxuZXhwb3J0IGNvbnN0IFNDTUlBdHRhY2htZW50RGVsZXRlSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIHN2ZyAqOm5vdCgubm8tZmlsbCkge1xuICAgICAgZmlsbDogIzY2NjY2NiAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNSUF0dGFjaG1lbnQgPSBzdHlsZWQuZGl2PHsgaXNJbWFnZT86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE5MSwgMTkxLCAxOTEsIDEpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxM3B4O1xuICAkeyh7IGlzSW1hZ2UgfSkgPT5cbiAgICBpc0ltYWdlICYmXG4gICAgY3NzYFxuICAgICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG4gICAgYH1cblxuICAmOmhvdmVyIHtcbiAgICAke1NDTUlBdHRhY2htZW50RGVsZXRlSWNvbn0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbmBcblxuY29uc3QgYmFzZUJ1dHRvbkFjdGlvblN0eWxlcyA9IGNzc2BcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbmBcbmNvbnN0IGdldEF0dGFjaG1lbnRCb3JkZXJDb2xvciA9IChwOiB7IGhhc0F0dGFjaG1lbnRzOiBib29sZWFuOyBpc01heGltaXplZD86IGJvb2xlYW47ICRpc0ZvY3VzZWQ/OiBib29sZWFuIH0pID0+IHtcbiAgaWYgKHAuaGFzQXR0YWNobWVudHMgfHwgcC5pc01heGltaXplZCkgcmV0dXJuIGAke0JMVUVfSUFfQ09MT1JTWzUwMF19YFxuICByZXR1cm4gcC4kaXNGb2N1c2VkICE9PSBmYWxzZSA/ICcjNjY2NjY2JyA6ICcjOTk5J1xufVxuXG5leHBvcnQgY29uc3QgU0NNSVdyYXBwZXJBdHRhY2htZW50QnV0dG9uID0gc3R5bGVkLmRpdjx7XG4gIGlzTWF4aW1pemVkPzogYm9vbGVhblxuICBoYXNBdHRhY2htZW50czogYm9vbGVhblxuICAkaXNGb2N1c2VkPzogYm9vbGVhblxufT5gXG4gICR7YmFzZUJ1dHRvbkFjdGlvblN0eWxlc31cbiAgYm9yZGVyOiAxcHggc29saWQgJHtnZXRBdHRhY2htZW50Qm9yZGVyQ29sb3J9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IGhhc0F0dGFjaG1lbnRzLCBpc01heGltaXplZCB9KSA9PlxuICAgICFoYXNBdHRhY2htZW50cyAmJiAhaXNNYXhpbWl6ZWQgPyAnI2ZmZmZmZicgOiBgJHtCTFVFX0lBX0NPTE9SU1s1MF19YH07XG4gIGN1cnNvcjogJHsoeyBoYXNBdHRhY2htZW50cywgaXNNYXhpbWl6ZWQgfSkgPT4gKGhhc0F0dGFjaG1lbnRzIHx8IGlzTWF4aW1pemVkID8gJ2RlZmF1bHQnIDogJ3BvaW50ZXInKX07XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtCTFVFX0lBX0NPTE9SU1s1MF19ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfSAhaW1wb3J0YW50O1xuICAgIHN2ZyAqIHtcbiAgICAgIGZpbGw6ICR7QkxVRV9JQV9DT0xPUlNbNTAwXX0gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbmBcbmNvbnN0IGdldFdlYlNlYXJjaEJvcmRlckNvbG9yID0gKHA6IHsgaXNBY3RpdmU6IGJvb2xlYW47ICRpc0ZvY3VzZWQ/OiBib29sZWFuIH0pID0+IHtcbiAgaWYgKHAuaXNBY3RpdmUpIHJldHVybiBgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfWBcbiAgcmV0dXJuIHAuJGlzRm9jdXNlZCAhPT0gZmFsc2UgPyAnIzY2NjY2NicgOiAnIzk5OSdcbn1cblxuZXhwb3J0IGNvbnN0IFNDTUlXcmFwcGVyV2ViU2VhcmNoQnV0dG9uID0gc3R5bGVkLmRpdjx7IGlzQWN0aXZlOiBib29sZWFuOyAkaXNGb2N1c2VkPzogYm9vbGVhbiB9PmBcbiAgJHtiYXNlQnV0dG9uQWN0aW9uU3R5bGVzfVxuICBib3JkZXI6IDFweCBzb2xpZCAke2dldFdlYlNlYXJjaEJvcmRlckNvbG9yfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyBpc0FjdGl2ZSB9KSA9PiAoIWlzQWN0aXZlID8gJyNmZmZmZmYnIDogYCR7QkxVRV9JQV9DT0xPUlNbNTBdfWApfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAkeyh7IGlzQWN0aXZlIH0pID0+XG4gICAgIWlzQWN0aXZlICYmXG4gICAgY3NzYFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7QkxVRV9JQV9DT0xPUlNbNTBdfSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke0JMVUVfSUFfQ09MT1JTWzUwMF19ICFpbXBvcnRhbnQ7XG4gICAgICAgIHN2ZyAqIHtcbiAgICAgICAgICBmaWxsOiAke0JMVUVfSUFfQ09MT1JTWzUwMF19ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgfVxuYFxuXG5jb25zdCBnZXREZWVwU2VhcmNoQm9yZGVyQ29sb3IgPSAocDogeyBpc0FjdGl2ZTogYm9vbGVhbjsgJGlzRm9jdXNlZD86IGJvb2xlYW4gfSkgPT4ge1xuICBpZiAocC5pc0FjdGl2ZSkgcmV0dXJuIGAke0JMVUVfSUFfQ09MT1JTWzUwMF19YFxuICByZXR1cm4gcC4kaXNGb2N1c2VkICE9PSBmYWxzZSA/ICcjNjY2NjY2JyA6ICcjOTk5J1xufVxuXG5leHBvcnQgY29uc3QgU0NNSVdyYXBwZXJEZWVwU2VhcmNoQnV0dG9uID0gc3R5bGVkLmRpdjx7IGlzQWN0aXZlOiBib29sZWFuOyAkaXNGb2N1c2VkPzogYm9vbGVhbiB9PmBcbiAgJHtiYXNlQnV0dG9uQWN0aW9uU3R5bGVzfVxuICBib3JkZXI6IDFweCBzb2xpZCAke2dldERlZXBTZWFyY2hCb3JkZXJDb2xvcn07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgaXNBY3RpdmUgfSkgPT4gKCFpc0FjdGl2ZSA/ICcjZmZmZmZmJyA6IGAke0JMVUVfSUFfQ09MT1JTWzUwXX1gKX07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgJHsoeyBpc0FjdGl2ZSB9KSA9PlxuICAgICFpc0FjdGl2ZSAmJlxuICAgIGNzc2BcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke0JMVUVfSUFfQ09MT1JTWzUwXX0gIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfSAhaW1wb3J0YW50O1xuICAgICAgICBzdmcgKiB7XG4gICAgICAgICAgc3Ryb2tlOiAke0JMVUVfSUFfQ09MT1JTWzUwMF19ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgfVxuYFxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFTdG9wSWNvbiA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxM3B4O1xuICBoZWlnaHQ6IDEzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4YzhjOGM7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbmBcbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBU3RvcEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgZm9udDogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMiAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtCTFVFX0lBX0NPTE9SU1s1MF19ICFpbXBvcnRhbnQ7XG5cbiAgICAke1N0eWxlZE1BSUFTdG9wSWNvbn0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtCTFVFX0lBX0NPTE9SU1s1MDBdfSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMiAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgfVxuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLE9BQU9BLE1BQU0sSUFBSUMsR0FBRyxFQUFFQyxTQUFTLFFBQVEsbUJBQW1CO0FBQzFELE9BQU9DLE1BQU0sTUFBTSxtQ0FBbUM7QUFDdEQsU0FBU0MsY0FBYyxRQUFRLHdCQUF3QjtB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
|
|
111
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJCTFVFX0lBX0NPTE9SUyIsInNjcm9sbGFibGVTdHlsZXMiLCJDbGVhckJ1dHRvbiIsImZsb3ciLCJjdXN0b21JbnB1dFN0eWxlcyIsIlN0eWxlZE1BSUFJbnB1dFdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsInRleHQiLCJkaXNhYmxlZCIsIl9yZWYiLCJfcmVmMiIsImFsaWduQnV0dG9ucyIsIl9yZWYzIiwiaGFzQXR0YWNobWVudHMiLCJTdHlsZWRNQUlBSW5wdXRCdXR0b25zIiwiU3R5bGVkTUFJQUlucHV0IiwidGV4dGFyZWEiLCJzZWNvbmRhcnkiLCJTdHlsZWRNQUlBU2VuZEJ1dHRvbiIsIl9yZWY0IiwiaGFzVmFsdWVzIiwiY29uY2F0IiwiX3JlZjUiLCJfcmVmNiIsIlNDTUlXcmFwcGVyQXR0YWNobWVudHMiLCJTQ01JQXR0YWNobWVudERlbGV0ZUljb24iLCJTQ01JQXR0YWNobWVudCIsIl9yZWY3IiwiaXNJbWFnZSIsImJhc2VCdXR0b25BY3Rpb25TdHlsZXMiLCJnZXRBdHRhY2htZW50Qm9yZGVyQ29sb3IiLCJwIiwiaXNNYXhpbWl6ZWQiLCIkaXNGb2N1c2VkIiwiU0NNSVdyYXBwZXJBdHRhY2htZW50QnV0dG9uIiwiX3JlZjgiLCJfcmVmOSIsImdldFdlYlNlYXJjaEJvcmRlckNvbG9yIiwiaXNBY3RpdmUiLCJTQ01JV3JhcHBlcldlYlNlYXJjaEJ1dHRvbiIsIl9yZWYwIiwiX3JlZjEiLCJnZXREZWVwU2VhcmNoQm9yZGVyQ29sb3IiLCJTQ01JV3JhcHBlckRlZXBTZWFyY2hCdXR0b24iLCJfcmVmMTAiLCJfcmVmMTEiLCJTdHlsZWRNQUlBU3RvcEljb24iLCJTdHlsZWRNQUlBU3RvcEJ1dHRvbiIsImJ1dHRvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL01BSUFJbnB1dC9zdHlsZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2luZGVudCAqL1xuaW1wb3J0IHN0eWxlZCwgeyBjc3MsIGtleWZyYW1lcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IGNvbG9ycyBmcm9tICdAcHJvamVjdGNvci90aGVtZS9saWIvYmFzZS9jb2xvcnMnXG5pbXBvcnQgeyBCTFVFX0lBX0NPTE9SUyB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb25maWcnXG5pbXBvcnQgeyBzY3JvbGxhYmxlU3R5bGVzIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3NoYXJlZC9zY3JvbGxhYmxlJ1xuaW1wb3J0IHsgQ2xlYXJCdXR0b24gfSBmcm9tICcuLi9DbGVhckJ1dHRvbidcblxuZXhwb3J0IGNvbnN0IGZsb3cgPSBrZXlmcmFtZXNgXG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOlxuICAgICAgMCUgMCUsXG4gICAgICAwJSA1MCU7XG4gIH1cbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOlxuICAgICAgMCUgMCUsXG4gICAgICAxMDAlIDUwJTtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOlxuICAgICAgMCUgMCUsXG4gICAgICAwJSA1MCU7XG4gIH1cbmBcblxuY29uc3QgY3VzdG9tSW5wdXRTdHlsZXMgPSBjc3NgXG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6XG4gICAgbGluZWFyLWdyYWRpZW50KHdoaXRlLCB3aGl0ZSkgcGFkZGluZy1ib3gsXG4gICAgbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjNGQzNTY5IDAlLCAjODc0MGJmIDU5LjYyJSwgIzJkNzdiZCAxMDAlKSBib3JkZXItYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1zaXplOlxuICAgIDEwMCUgMTAwJSxcbiAgICAyMDAlIDEwMCU7XG4gIGFuaW1hdGlvbjogJHtmbG93fSAzcyBlYXNlIGluZmluaXRlO1xuICBib3gtc2hhZG93OlxuICAgIDNweCA0cHggMTRweCAwIHJnYmEoMTM1LCA2NCwgMTkxLCAwLjE1KSxcbiAgICAtM3B4IC00cHggMTRweCAwIHJnYmEoNDUsIDExOSwgMTg5LCAwLjE1KTtcbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2PHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGFsaWduQnV0dG9ucz86ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCdcbiAgaGFzQXR0YWNobWVudHM6IGJvb2xlYW5cbn0+YFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAke2NvbG9ycy50ZXh0LmRpc2FibGVkfTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZTtcbiAgcGFkZGluZzogMTJweDtcbiAgY3Vyc29yOiAkeyh7IGRpc2FibGVkIH0pID0+IChkaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAnYXV0bycpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogODZweDtcbiAgZ2FwOiAkeyh7IGFsaWduQnV0dG9ucyB9KSA9PiAoYWxpZ25CdXR0b25zID09PSAndmVydGljYWwnID8gJzhweCcgOiAnMCcpfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgJHtjdXN0b21JbnB1dFN0eWxlc31cbiAgfVxuXG4gICR7KHsgaGFzQXR0YWNobWVudHMgfSkgPT5cbiAgICBoYXNBdHRhY2htZW50cyAmJlxuICAgIGNzc2BcbiAgICAgICR7Y3VzdG9tSW5wdXRTdHlsZXN9XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFJbnB1dEJ1dHRvbnMgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGhlaWdodDogMzBweDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQUlucHV0ID0gc3R5bGVkLnRleHRhcmVhPHtcbiAgYWxpZ25CdXR0b25zPzogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJ1xufT5gXG4gICR7c2Nyb2xsYWJsZVN0eWxlc31cbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogMDtcbiAgcmVzaXplOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDIyLjFweDtcbiAgbWF4LWhlaWdodDogMTIyLjFweDtcblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtjb2xvcnMudGV4dC5zZWNvbmRhcnl9O1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBU2VuZEJ1dHRvbiA9IHN0eWxlZChDbGVhckJ1dHRvbik8eyBoYXNWYWx1ZXM/OiBib29sZWFuIH0+YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IGhhc1ZhbHVlcyB9KSA9PiAoaGFzVmFsdWVzID8gYCR7QkxVRV9JQV9DT0xPUlNbNTAwXX1gIDogJyNmMmYyZjInKX07XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuXG4gIHN2ZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICAkeyh7IGhhc1ZhbHVlcyB9KSA9PlxuICAgICAgaGFzVmFsdWVzICYmXG4gICAgICBjc3NgXG4gICAgICAgIGcgKiB7XG4gICAgICAgICAgZmlsbDogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgYH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7QkxVRV9JQV9DT0xPUlNbNzAwXX0gIWltcG9ydGFudDtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgc3ZnIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgICBnICoge1xuICAgICAgICBmaWxsOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7XG5cbiAgICAkeyh7IGhhc1ZhbHVlcyB9KSA9PlxuICAgICAgIWhhc1ZhbHVlcyAmJlxuICAgICAgY3NzYFxuICAgICAgICBzdmcgKiB7XG4gICAgICAgICAgZmlsbDogJHtjb2xvcnMudGV4dC5kaXNhYmxlZH0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgYH1cblxuICAgICY6aG92ZXIge1xuICAgICAgc3ZnIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlXcmFwcGVyQXR0YWNobWVudHMgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gXG5leHBvcnQgY29uc3QgU0NNSUF0dGFjaG1lbnREZWxldGVJY29uID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBub25lO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogMnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgc3ZnICo6bm90KC5uby1maWxsKSB7XG4gICAgICBmaWxsOiAjNjY2NjY2ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01JQXR0YWNobWVudCA9IHN0eWxlZC5kaXY8eyBpc0ltYWdlPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTkxLCAxOTEsIDE5MSwgMSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEzcHg7XG4gICR7KHsgaXNJbWFnZSB9KSA9PlxuICAgIGlzSW1hZ2UgJiZcbiAgICBjc3NgXG4gICAgICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbiAgICBgfVxuXG4gICY6aG92ZXIge1xuICAgICR7U0NNSUF0dGFjaG1lbnREZWxldGVJY29ufSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuYFxuXG5jb25zdCBiYXNlQnV0dG9uQWN0aW9uU3R5bGVzID0gY3NzYFxuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuYFxuY29uc3QgZ2V0QXR0YWNobWVudEJvcmRlckNvbG9yID0gKHA6IHsgaGFzQXR0YWNobWVudHM6IGJvb2xlYW47IGlzTWF4aW1pemVkPzogYm9vbGVhbjsgJGlzRm9jdXNlZD86IGJvb2xlYW4gfSkgPT4ge1xuICBpZiAocC5oYXNBdHRhY2htZW50cyB8fCBwLmlzTWF4aW1pemVkKSByZXR1cm4gYCR7QkxVRV9JQV9DT0xPUlNbNTAwXX1gXG4gIHJldHVybiBwLiRpc0ZvY3VzZWQgIT09IGZhbHNlID8gJyM2NjY2NjYnIDogJyM5OTknXG59XG5cbmV4cG9ydCBjb25zdCBTQ01JV3JhcHBlckF0dGFjaG1lbnRCdXR0b24gPSBzdHlsZWQuZGl2PHtcbiAgaXNNYXhpbWl6ZWQ/OiBib29sZWFuXG4gIGhhc0F0dGFjaG1lbnRzOiBib29sZWFuXG4gICRpc0ZvY3VzZWQ/OiBib29sZWFuXG59PmBcbiAgJHtiYXNlQnV0dG9uQWN0aW9uU3R5bGVzfVxuICBib3JkZXI6IDFweCBzb2xpZCAke2dldEF0dGFjaG1lbnRCb3JkZXJDb2xvcn07XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgaGFzQXR0YWNobWVudHMsIGlzTWF4aW1pemVkIH0pID0+XG4gICAgIWhhc0F0dGFjaG1lbnRzICYmICFpc01heGltaXplZCA/ICcjZmZmZmZmJyA6IGAke0JMVUVfSUFfQ09MT1JTWzUwXX1gfTtcbiAgY3Vyc29yOiAkeyh7IGhhc0F0dGFjaG1lbnRzLCBpc01heGltaXplZCB9KSA9PiAoaGFzQXR0YWNobWVudHMgfHwgaXNNYXhpbWl6ZWQgPyAnZGVmYXVsdCcgOiAncG9pbnRlcicpfTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke0JMVUVfSUFfQ09MT1JTWzUwXX0gIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAke0JMVUVfSUFfQ09MT1JTWzUwMF19ICFpbXBvcnRhbnQ7XG4gICAgc3ZnICoge1xuICAgICAgZmlsbDogJHtCTFVFX0lBX0NPTE9SU1s1MDBdfSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuYFxuY29uc3QgZ2V0V2ViU2VhcmNoQm9yZGVyQ29sb3IgPSAocDogeyBpc0FjdGl2ZTogYm9vbGVhbjsgJGlzRm9jdXNlZD86IGJvb2xlYW4gfSkgPT4ge1xuICBpZiAocC5pc0FjdGl2ZSkgcmV0dXJuIGAke0JMVUVfSUFfQ09MT1JTWzUwMF19YFxuICByZXR1cm4gcC4kaXNGb2N1c2VkICE9PSBmYWxzZSA/ICcjNjY2NjY2JyA6ICcjOTk5J1xufVxuXG5leHBvcnQgY29uc3QgU0NNSVdyYXBwZXJXZWJTZWFyY2hCdXR0b24gPSBzdHlsZWQuZGl2PHsgaXNBY3RpdmU6IGJvb2xlYW47ICRpc0ZvY3VzZWQ/OiBib29sZWFuIH0+YFxuICAke2Jhc2VCdXR0b25BY3Rpb25TdHlsZXN9XG4gIGJvcmRlcjogMXB4IHNvbGlkICR7Z2V0V2ViU2VhcmNoQm9yZGVyQ29sb3J9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IGlzQWN0aXZlIH0pID0+ICghaXNBY3RpdmUgPyAnI2ZmZmZmZicgOiBgJHtCTFVFX0lBX0NPTE9SU1s1MF19YCl9O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gICR7KHsgaXNBY3RpdmUgfSkgPT5cbiAgICAhaXNBY3RpdmUgJiZcbiAgICBjc3NgXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtCTFVFX0lBX0NPTE9SU1s1MF19ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7QkxVRV9JQV9DT0xPUlNbNTAwXX0gIWltcG9ydGFudDtcbiAgICAgICAgc3ZnICoge1xuICAgICAgICAgIGZpbGw6ICR7QkxVRV9JQV9DT0xPUlNbNTAwXX0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGB9XG5gXG5cbmNvbnN0IGdldERlZXBTZWFyY2hCb3JkZXJDb2xvciA9IChwOiB7IGlzQWN0aXZlOiBib29sZWFuOyAkaXNGb2N1c2VkPzogYm9vbGVhbiB9KSA9PiB7XG4gIGlmIChwLmlzQWN0aXZlKSByZXR1cm4gYCR7QkxVRV9JQV9DT0xPUlNbNTAwXX1gXG4gIHJldHVybiBwLiRpc0ZvY3VzZWQgIT09IGZhbHNlID8gJyM2NjY2NjYnIDogJyM5OTknXG59XG5cbmV4cG9ydCBjb25zdCBTQ01JV3JhcHBlckRlZXBTZWFyY2hCdXR0b24gPSBzdHlsZWQuZGl2PHsgaXNBY3RpdmU6IGJvb2xlYW47ICRpc0ZvY3VzZWQ/OiBib29sZWFuIH0+YFxuICAke2Jhc2VCdXR0b25BY3Rpb25TdHlsZXN9XG4gIGJvcmRlcjogMXB4IHNvbGlkICR7Z2V0RGVlcFNlYXJjaEJvcmRlckNvbG9yfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyBpc0FjdGl2ZSB9KSA9PiAoIWlzQWN0aXZlID8gJyNmZmZmZmYnIDogYCR7QkxVRV9JQV9DT0xPUlNbNTBdfWApfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAkeyh7IGlzQWN0aXZlIH0pID0+XG4gICAgIWlzQWN0aXZlICYmXG4gICAgY3NzYFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7QkxVRV9JQV9DT0xPUlNbNTBdfSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke0JMVUVfSUFfQ09MT1JTWzUwMF19ICFpbXBvcnRhbnQ7XG4gICAgICAgIHN2ZyAqIHtcbiAgICAgICAgICBzdHJva2U6ICR7QkxVRV9JQV9DT0xPUlNbNTAwXX0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGB9XG5gXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVN0b3BJY29uID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEzcHg7XG4gIGhlaWdodDogMTNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhjOGM4YztcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuYFxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFTdG9wQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBmb250OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke0JMVUVfSUFfQ09MT1JTWzUwXX0gIWltcG9ydGFudDtcblxuICAgICR7U3R5bGVkTUFJQVN0b3BJY29ufSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke0JMVUVfSUFfQ09MT1JTWzUwMF19ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMC42O1xuICB9XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsT0FBT0EsTUFBTSxJQUFJQyxHQUFHLEVBQUVDLFNBQVMsUUFBUSxtQkFBbUI7QUFDMUQsT0FBT0MsTUFBTSxNQUFNLG1DQUFtQztBQUN0RCxTQUFTQyxjQUFjLFFBQVEsd0JBQXdCO0FBQ3ZELFNBQVNDLGdCQUFnQixRQUFRLG1DQUFtQztBQUNwRSxTQUFTQyxXQUFXLFFBQVEsZ0JBQWdCO0FBRTVDLE9BQU8sSUFBTUMsSUFBSSxHQUFHTCxTQUFTLDBIQWdCNUI7QUFFRCxJQUFNTSxpQkFBaUIsR0FBR1As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
|