@projectcor/maia-components 2.11.66-0 → 2.11.66-2

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.
@@ -4,6 +4,7 @@ import { InformationCircle } from '@projectcor/icons/lib/components/InformationC
4
4
  import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
5
5
  import { SKILLS_SEARCH_MIN_QUERY_LENGTH } from '../../../constants/config';
6
6
  import { useT } from '../../../hooks/useT';
7
+ import { getMentionTabPrefix } from '../../../utils/contextMentionTriggers';
7
8
  import { ContextMentionItem } from '../ContextMentionItem';
8
9
  import { Loader } from '../Loader';
9
10
  import { SCMPContainer, SCMPDivider, SCMPDividerWrapper, SCMPRecentsLabel, SCMPRecentsRow, SCMPRecentsTitle, SCMPList, SCMPStateWrapper, SCMPKeyboardHint, SCMPTab, SCMPTabsGroup, SCMPTabsRow, SCMPLoadMoreRow } from './ContextMentionPopover.styles';
@@ -24,11 +25,6 @@ var TAB_FALLBACKS = {
24
25
  mcp: 'Conectores',
25
26
  skill: 'Habilidades'
26
27
  };
27
- var getTabPrefix = function getTabPrefix(type, tabIndex) {
28
- if (type === 'skill') return '@/';
29
- // Para todos los demás tipos, el prefijo es posicional pero excluyendo skill del conteo.
30
- return '@'.repeat(tabIndex + 1);
31
- };
32
28
  export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref) {
33
29
  var allowedTypes = _ref.allowedTypes,
34
30
  activeType = _ref.activeType,
@@ -180,15 +176,11 @@ export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref)
180
176
  },
181
177
  children: [/*#__PURE__*/_jsxs(SCMPTabsRow, {
182
178
  children: [/*#__PURE__*/_jsx(SCMPTabsGroup, {
183
- children: allowedTypes.map(function (type, rawIndex) {
179
+ children: allowedTypes.map(function (type) {
184
180
  var label = t(TAB_I18N_KEYS[type], {
185
181
  defaultValue: TAB_FALLBACKS[type]
186
182
  });
187
- // Para el prefijo posicional, skill no cuenta en el orden de @, @@, @@@.
188
- var nonSkillIndex = allowedTypes.slice(0, rawIndex).filter(function (entityType) {
189
- return entityType !== 'skill';
190
- }).length;
191
- var atPrefix = getTabPrefix(type, nonSkillIndex);
183
+ var atPrefix = getMentionTabPrefix(type);
192
184
  return /*#__PURE__*/_jsxs(SCMPTab, {
193
185
  type: "button",
194
186
  "aria-label": "".concat(atPrefix, " ").concat(label),
@@ -217,4 +209,4 @@ export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref)
217
209
  });
218
210
  });
219
211
  ContextMentionPopover.displayName = 'ContextMentionPopover';
220
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmb3J3YXJkUmVmIiwidXNlQ2FsbGJhY2siLCJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJJbmZvcm1hdGlvbkNpcmNsZSIsIlRvb2x0aXAiLCJTS0lMTFNfU0VBUkNIX01JTl9RVUVSWV9MRU5HVEgiLCJ1c2VUIiwiQ29udGV4dE1lbnRpb25JdGVtIiwiTG9hZGVyIiwiU0NNUENvbnRhaW5lciIsIlNDTVBEaXZpZGVyIiwiU0NNUERpdmlkZXJXcmFwcGVyIiwiU0NNUFJlY2VudHNMYWJlbCIsIlNDTVBSZWNlbnRzUm93IiwiU0NNUFJlY2VudHNUaXRsZSIsIlNDTVBMaXN0IiwiU0NNUFN0YXRlV3JhcHBlciIsIlNDTVBLZXlib2FyZEhpbnQiLCJTQ01QVGFiIiwiU0NNUFRhYnNHcm91cCIsIlNDTVBUYWJzUm93IiwiU0NNUExvYWRNb3JlUm93IiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIlRBQl9JMThOX0tFWVMiLCJjbGllbnQiLCJwcm9qZWN0IiwidGFzayIsInVzZXIiLCJtY3AiLCJza2lsbCIsIlRBQl9GQUxMQkFDS1MiLCJnZXRUYWJQcmVmaXgiLCJ0eXBlIiwidGFiSW5kZXgiLCJyZXBlYXQiLCJDb250ZXh0TWVudGlvblBvcG92ZXIiLCJfcmVmIiwicmVmIiwiYWxsb3dlZFR5cGVzIiwiYWN0aXZlVHlwZSIsIm9uVHlwZUNoYW5nZSIsIml0ZW1zIiwibG9hZGluZyIsImVycm9yIiwiaGlkZVJlY2VudHNMYWJlbCIsIl9yZWYkc2tpbGxzQ2F0YWxvZ0VtcCIsInNraWxsc0NhdGFsb2dFbXB0eSIsImhhc01vcmUiLCJpc0xvYWRpbmdNb3JlIiwib25SZWFjaExpc3RFbmQiLCJzZWFyY2hWYWx1ZSIsIm9uSXRlbVNlbGVjdGVkIiwiY29udHJvbGxlZEluZGV4IiwiYWN0aXZlSW5kZXgiLCJvbkFjdGl2ZUluZGV4Q2hhbmdlIiwiaXNLZXlib2FyZE5hdkFjdGl2ZSIsIm9uTW91c2VNb3ZlSW5MaXN0Iiwic3R5bGUiLCJrZXlib2FyZEhpbnQiLCJfdXNlVCIsInQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpbnRlcm5hbEluZGV4Iiwic2V0SW50ZXJuYWxJbmRleCIsImxpc3RSZWYiLCJ1cGRhdGVBY3RpdmVJbmRleCIsImlkeCIsInByZXZJc0xvYWRpbmdNb3JlUmVmIiwiY3VycmVudCIsImxlbmd0aCIsIl9pdGVtRWxzJGFjdGl2ZUluZGV4IiwibGlzdEVsIiwiaXRlbUVscyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJzY3JvbGxJbnRvVmlldyIsImJsb2NrIiwiZW1wdHlNZXNzYWdlIiwidHJpbSIsInF1ZXJ5IiwiZGVmYXVsdFZhbHVlIiwiY29uY2F0Iiwic2tpbGxRdWVyeVRvb1Nob3J0IiwicmVuZGVyQm9keSIsImNoaWxkcmVuIiwidW5kZWZpbmVkIiwib25Nb3VzZU1vdmUiLCJvblNjcm9sbCIsImUiLCJlbCIsImN1cnJlbnRUYXJnZXQiLCJ0aHJlc2hvbGQiLCJuZWFyQm90dG9tIiwic2Nyb2xsVG9wIiwiY2xpZW50SGVpZ2h0Iiwic2Nyb2xsSGVpZ2h0IiwibWFwIiwiaXRlbSIsIndpZHRoIiwiYWN0aXZlIiwib25TZWxlY3QiLCJvbkhvdmVyIiwiaWQiLCJzaXplIiwicm9sZSIsIm9uTW91c2VEb3duIiwic3RvcFByb3BhZ2F0aW9uIiwicmF3SW5kZXgiLCJsYWJlbCIsIm5vblNraWxsSW5kZXgiLCJzbGljZSIsImZpbHRlciIsImVudGl0eVR5cGUiLCJhdFByZWZpeCIsIiRhY3RpdmUiLCJwcmV2ZW50RGVmYXVsdCIsInRpdGxlIiwiaGVpZ2h0IiwiY29sb3IiLCJkaXNwbGF5TmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uUG9wb3Zlci9Db250ZXh0TWVudGlvblBvcG92ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENTU1Byb3BlcnRpZXMsIGZvcndhcmRSZWYsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEluZm9ybWF0aW9uQ2lyY2xlIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvSW5mb3JtYXRpb25DaXJjbGUnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyBTS0lMTFNfU0VBUkNIX01JTl9RVUVSWV9MRU5HVEggfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSwgQ29udGV4dE1lbnRpb25JdGVtIGFzIENvbnRleHRNZW50aW9uSXRlbVR5cGUgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IENvbnRleHRNZW50aW9uSXRlbSB9IGZyb20gJy4uL0NvbnRleHRNZW50aW9uSXRlbSdcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4uL0xvYWRlcidcbmltcG9ydCB7XG4gIFNDTVBDb250YWluZXIsXG4gIFNDTVBEaXZpZGVyLFxuICBTQ01QRGl2aWRlcldyYXBwZXIsXG4gIFNDTVBSZWNlbnRzTGFiZWwsXG4gIFNDTVBSZWNlbnRzUm93LFxuICBTQ01QUmVjZW50c1RpdGxlLFxuICBTQ01QTGlzdCxcbiAgU0NNUFN0YXRlV3JhcHBlcixcbiAgU0NNUEtleWJvYXJkSGludCxcbiAgU0NNUFRhYixcbiAgU0NNUFRhYnNHcm91cCxcbiAgU0NNUFRhYnNSb3csXG4gIFNDTVBMb2FkTW9yZVJvdyxcbn0gZnJvbSAnLi9Db250ZXh0TWVudGlvblBvcG92ZXIuc3R5bGVzJ1xuXG5leHBvcnQgdHlwZSBDb250ZXh0TWVudGlvblBvcG92ZXJQcm9wcyA9IHtcbiAgYWxsb3dlZFR5cGVzOiBDb250ZXh0RW50aXR5VHlwZVtdXG4gIGFjdGl2ZVR5cGU6IENvbnRleHRFbnRpdHlUeXBlXG4gIG9uVHlwZUNoYW5nZTogKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlKSA9PiB2b2lkXG4gIGl0ZW1zOiBDb250ZXh0TWVudGlvbkl0ZW1UeXBlW11cbiAgbG9hZGluZzogYm9vbGVhblxuICBlcnJvcjogYm9vbGVhblxuICBoaWRlUmVjZW50c0xhYmVsPzogYm9vbGVhblxuICBza2lsbHNDYXRhbG9nRW1wdHk/OiBib29sZWFuXG4gIGhhc01vcmU/OiBib29sZWFuXG4gIGlzTG9hZGluZ01vcmU/OiBib29sZWFuXG4gIG9uUmVhY2hMaXN0RW5kPzogKCkgPT4gdm9pZFxuICBzZWFyY2hWYWx1ZTogc3RyaW5nXG4gIG9uSXRlbVNlbGVjdGVkOiAoaXRlbTogQ29udGV4dE1lbnRpb25JdGVtVHlwZSkgPT4gdm9pZFxuICAvKiogw41uZGljZSBwcmVzZWxlY2Npb25hZG8gKG5hdmVnYWNpw7NuIHBvciB0ZWNsYWRvIGV4dGVybmEpLiBTaSBubyBzZSBwYXNhLCBzZSBtYW5lamEgaW50ZXJuYW1lbnRlLiAqL1xuICBhY3RpdmVJbmRleD86IG51bWJlclxuICBvbkFjdGl2ZUluZGV4Q2hhbmdlPzogKGlkeDogbnVtYmVyKSA9PiB2b2lkXG4gIGlzS2V5Ym9hcmROYXZBY3RpdmU/OiBib29sZWFuXG4gIG9uTW91c2VNb3ZlSW5MaXN0PzogKCkgPT4gdm9pZFxuICBzdHlsZT86IENTU1Byb3BlcnRpZXNcbiAga2V5Ym9hcmRIaW50Pzogc3RyaW5nXG59XG5cbmNvbnN0IFRBQl9JMThOX0tFWVM6IFJlY29yZDxDb250ZXh0RW50aXR5VHlwZSwgc3RyaW5nPiA9IHtcbiAgY2xpZW50OiAnY29udGV4dE1lbnRpb24udGFicy5jbGllbnQnLFxuICBwcm9qZWN0OiAnY29udGV4dE1lbnRpb24udGFicy5wcm9qZWN0JyxcbiAgdGFzazogJ2NvbnRleHRNZW50aW9uLnRhYnMudGFzaycsXG4gIHVzZXI6ICdjb250ZXh0TWVudGlvbi50YWJzLnVzZXInLFxuICBtY3A6ICdjb250ZXh0TWVudGlvbi50YWJzLm1jcCcsXG4gIHNraWxsOiAnY29udGV4dE1lbnRpb24udGFicy5za2lsbCcsXG59XG5cbmNvbnN0IFRBQl9GQUxMQkFDS1M6IFJlY29yZDxDb250ZXh0RW50aXR5VHlwZSwgc3RyaW5nPiA9IHtcbiAgY2xpZW50OiAnQ2xpZW50ZScsXG4gIHByb2plY3Q6ICdQcm95ZWN0bycsXG4gIHRhc2s6ICdUYXJlYScsXG4gIHVzZXI6ICdVc3VhcmlvJyxcbiAgbWNwOiAnQ29uZWN0b3JlcycsXG4gIHNraWxsOiAnSGFiaWxpZGFkZXMnLFxufVxuXG5jb25zdCBnZXRUYWJQcmVmaXggPSAodHlwZTogQ29udGV4dEVudGl0eVR5cGUsIHRhYkluZGV4OiBudW1iZXIpOiBzdHJpbmcgPT4ge1xuICBpZiAodHlwZSA9PT0gJ3NraWxsJykgcmV0dXJuICdALydcbiAgLy8gUGFyYSB0b2RvcyBsb3MgZGVtw6FzIHRpcG9zLCBlbCBwcmVmaWpvIGVzIHBvc2ljaW9uYWwgcGVybyBleGNsdXllbmRvIHNraWxsIGRlbCBjb250ZW8uXG4gIHJldHVybiAnQCcucmVwZWF0KHRhYkluZGV4ICsgMSlcbn1cblxuZXhwb3J0IGNvbnN0IENvbnRleHRNZW50aW9uUG9wb3ZlciA9IGZvcndhcmRSZWY8SFRNTERpdkVsZW1lbnQsIENvbnRleHRNZW50aW9uUG9wb3ZlclByb3BzPihcbiAgKFxuICAgIHtcbiAgICAgIGFsbG93ZWRUeXBlcyxcbiAgICAgIGFjdGl2ZVR5cGUsXG4gICAgICBvblR5cGVDaGFuZ2UsXG4gICAgICBpdGVtcyxcbiAgICAgIGxvYWRpbmcsXG4gICAgICBlcnJvcixcbiAgICAgIGhpZGVSZWNlbnRzTGFiZWwsXG4gICAgICBza2lsbHNDYXRhbG9nRW1wdHkgPSBmYWxzZSxcbiAgICAgIGhhc01vcmUsXG4gICAgICBpc0xvYWRpbmdNb3JlLFxuICAgICAgb25SZWFjaExpc3RFbmQsXG4gICAgICBzZWFyY2hWYWx1ZSxcbiAgICAgIG9uSXRlbVNlbGVjdGVkLFxuICAgICAgYWN0aXZlSW5kZXg6IGNvbnRyb2xsZWRJbmRleCxcbiAgICAgIG9uQWN0aXZlSW5kZXhDaGFuZ2UsXG4gICAgICBpc0tleWJvYXJkTmF2QWN0aXZlLFxuICAgICAgb25Nb3VzZU1vdmVJbkxpc3QsXG4gICAgICBzdHlsZSxcbiAgICAgIGtleWJvYXJkSGludCxcbiAgICB9LFxuICAgIHJlZlxuICApID0+IHtcbiAgICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICAgIGNvbnN0IFtpbnRlcm5hbEluZGV4LCBzZXRJbnRlcm5hbEluZGV4XSA9IHVzZVN0YXRlKDApXG4gICAgY29uc3QgYWN0aXZlSW5kZXggPSBjb250cm9sbGVkSW5kZXggPz8gaW50ZXJuYWxJbmRleFxuICAgIGNvbnN0IGxpc3RSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgICBjb25zdCB1cGRhdGVBY3RpdmVJbmRleCA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGlkeDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGlmIChvbkFjdGl2ZUluZGV4Q2hhbmdlKSBvbkFjdGl2ZUluZGV4Q2hhbmdlKGlkeClcbiAgICAgICAgZWxzZSBzZXRJbnRlcm5hbEluZGV4KGlkeClcbiAgICAgIH0sXG4gICAgICBbb25BY3RpdmVJbmRleENoYW5nZV1cbiAgICApXG5cbiAgICAvLyBSZXNldCBhbCBjYW1iaWFyIGRlIHRhYiBvIGNhbnRpZGFkIGRlIHJlc3VsdGFkb3MgKG5vIGVuIGxvYWQgbW9yZSlcbiAgICBjb25zdCBwcmV2SXNMb2FkaW5nTW9yZVJlZiA9IHVzZVJlZihmYWxzZSlcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgcHJldklzTG9hZGluZ01vcmVSZWYuY3VycmVudCA9IGlzTG9hZGluZ01vcmUgPz8gZmFsc2VcbiAgICAgIH1cbiAgICB9LCBbaXNMb2FkaW5nTW9yZV0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHByZXZJc0xvYWRpbmdNb3JlUmVmLmN1cnJlbnQpIHJldHVyblxuICAgICAgdXBkYXRlQWN0aXZlSW5kZXgoMClcbiAgICB9LCBbYWN0aXZlVHlwZSwgaXRlbXMubGVuZ3RoLCB1cGRhdGVBY3RpdmVJbmRleF0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgbGlzdEVsID0gbGlzdFJlZi5jdXJyZW50XG4gICAgICBpZiAoIWxpc3RFbCB8fCBpdGVtcy5sZW5ndGggPT09IDApIHJldHVyblxuICAgICAgY29uc3QgaXRlbUVscyA9IGxpc3RFbC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1tZW50aW9uLWl0ZW1dJylcbiAgICAgIGl0ZW1FbHNbYWN0aXZlSW5kZXhdPy5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSlcbiAgICB9LCBbYWN0aXZlSW5kZXgsIGl0ZW1zLmxlbmd0aF0pXG5cbiAgICBjb25zdCBlbXB0eU1lc3NhZ2UgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmIChhY3RpdmVUeXBlID09PSAnc2tpbGwnKSB7XG4gICAgICAgIGlmIChzZWFyY2hWYWx1ZS50cmltKCkpIHtcbiAgICAgICAgICByZXR1cm4gdCgnY29udGV4dE1lbnRpb24uZW1wdHkuc2tpbGxXaXRoUXVlcnknLCB7XG4gICAgICAgICAgICBxdWVyeTogc2VhcmNoVmFsdWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdCgnY29udGV4dE1lbnRpb24uZW1wdHkuc2tpbGxOb0l0ZW1zJylcbiAgICAgIH1cbiAgICAgIGlmIChzZWFyY2hWYWx1ZS50cmltKCkpIHtcbiAgICAgICAgcmV0dXJuIHQoJ2NvbnRleHRNZW50aW9uLmVtcHR5LndpdGhRdWVyeScsIHtcbiAgICAgICAgICBxdWVyeTogc2VhcmNoVmFsdWUsXG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiBgTm8gaGF5IHJlc3VsdGFkb3MgcGFyYSBcIiR7c2VhcmNoVmFsdWV9XCJgLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgcmV0dXJuIHQoJ2NvbnRleHRNZW50aW9uLmVtcHR5LnJlY2VudHMnLCB7IGRlZmF1bHRWYWx1ZTogJ0VtcGV6w6EgYSBlc2NyaWJpciBwYXJhIGJ1c2NhcicgfSlcbiAgICB9LCBbYWN0aXZlVHlwZSwgc2VhcmNoVmFsdWUsIHRdKVxuXG4gICAgY29uc3Qgc2tpbGxRdWVyeVRvb1Nob3J0ID1cbiAgICAgIGFjdGl2ZVR5cGUgPT09ICdza2lsbCcgJiZcbiAgICAgICFza2lsbHNDYXRhbG9nRW1wdHkgJiZcbiAgICAgIHNlYXJjaFZhbHVlLnRyaW0oKS5sZW5ndGggPiAwICYmXG4gICAgICBzZWFyY2hWYWx1ZS50cmltKCkubGVuZ3RoIDwgU0tJTExTX1NFQVJDSF9NSU5fUVVFUllfTEVOR1RIXG5cbiAgICBjb25zdCByZW5kZXJCb2R5ID0gKCkgPT4ge1xuICAgICAgaWYgKGxvYWRpbmcpIHtcbiAgICAgICAgcmV0dXJuIDxTQ01QU3RhdGVXcmFwcGVyPnt0KCdjb250ZXh0TWVudGlvbi5sb2FkaW5nJywgeyBkZWZhdWx0VmFsdWU6ICdCdXNjYW5kby4uLicgfSl9PC9TQ01QU3RhdGVXcmFwcGVyPlxuICAgICAgfVxuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFNDTVBTdGF0ZVdyYXBwZXI+XG4gICAgICAgICAgICB7dCgnY29udGV4dE1lbnRpb24uZXJyb3InLCB7IGRlZmF1bHRWYWx1ZTogJ0h1Ym8gdW4gcHJvYmxlbWEgYWwgYnVzY2FyJyB9KX1cbiAgICAgICAgICA8L1NDTVBTdGF0ZVdyYXBwZXI+XG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmIChza2lsbFF1ZXJ5VG9vU2hvcnQpIHtcbiAgICAgICAgcmV0dXJuIDxTQ01QU3RhdGVXcmFwcGVyPnt0KCdjb250ZXh0TWVudGlvbi5za2lsbFF1ZXJ5VG9vU2hvcnQnKX08L1NDTVBTdGF0ZVdyYXBwZXI+XG4gICAgICB9XG4gICAgICBpZiAoaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiA8U0NNUFN0YXRlV3JhcHBlcj57ZW1wdHlNZXNzYWdlfTwvU0NNUFN0YXRlV3JhcHBlcj5cbiAgICAgIH1cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTQ01QTGlzdFxuICAgICAgICAgIHJlZj17bGlzdFJlZn1cbiAgICAgICAgICBkYXRhLWtleWJvYXJkLW5hdj17aXNLZXlib2FyZE5hdkFjdGl2ZSB8fCB1bmRlZmluZWR9XG4gICAgICAgICAgb25Nb3VzZU1vdmU9e29uTW91c2VNb3ZlSW5MaXN0fVxuICAgICAgICAgIG9uU2Nyb2xsPXtlID0+IHtcbiAgICAgICAgICAgIGlmICghb25SZWFjaExpc3RFbmQgfHwgIWhhc01vcmUgfHwgaXNMb2FkaW5nTW9yZSkgcmV0dXJuXG4gICAgICAgICAgICBjb25zdCBlbCA9IGUuY3VycmVudFRhcmdldFxuICAgICAgICAgICAgY29uc3QgdGhyZXNob2xkID0gMjRcbiAgICAgICAgICAgIGNvbnN0IG5lYXJCb3R0b20gPSBlbC5zY3JvbGxUb3AgKyBlbC5jbGllbnRIZWlnaHQgPj0gZWwuc2Nyb2xsSGVpZ2h0IC0gdGhyZXNob2xkXG4gICAgICAgICAgICBpZiAobmVhckJvdHRvbSkge1xuICAgICAgICAgICAgICBvblJlYWNoTGlzdEVuZCgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHshc2VhcmNoVmFsdWUudHJpbSgpICYmIGFjdGl2ZVR5cGUgIT09ICd1c2VyJyAmJiAhaGlkZVJlY2VudHNMYWJlbCA/IChcbiAgICAgICAgICAgIDxTQ01QUmVjZW50c1Jvdz5cbiAgICAgICAgICAgICAgPFNDTVBSZWNlbnRzVGl0bGU+XG4gICAgICAgICAgICAgICAgPFNDTVBSZWNlbnRzTGFiZWw+e3QoJ2NvbnRleHRNZW50aW9uLnJlY2VudHNUaXRsZScsIHsgZGVmYXVsdFZhbHVlOiAnUmVjaWVudGVzJyB9KX08L1NDTVBSZWNlbnRzTGFiZWw+XG4gICAgICAgICAgICAgIDwvU0NNUFJlY2VudHNUaXRsZT5cbiAgICAgICAgICAgIDwvU0NNUFJlY2VudHNSb3c+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaWR4KSA9PiAoXG4gICAgICAgICAgICA8ZGl2IGtleT17YCR7aXRlbS50eXBlfS0ke2l0ZW0uaWR9YH0gZGF0YS1tZW50aW9uLWl0ZW0gc3R5bGU9e3sgd2lkdGg6ICcxMDAlJyB9fT5cbiAgICAgICAgICAgICAgPENvbnRleHRNZW50aW9uSXRlbVxuICAgICAgICAgICAgICAgIGl0ZW09e2l0ZW19XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtpZHggPT09IGFjdGl2ZUluZGV4fVxuICAgICAgICAgICAgICAgIG9uU2VsZWN0PXtvbkl0ZW1TZWxlY3RlZH1cbiAgICAgICAgICAgICAgICBvbkhvdmVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoIWlzS2V5Ym9hcmROYXZBY3RpdmUpIHVwZGF0ZUFjdGl2ZUluZGV4KGlkeClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgICAge2lzTG9hZGluZ01vcmUgPyAoXG4gICAgICAgICAgICA8U0NNUExvYWRNb3JlUm93PlxuICAgICAgICAgICAgICA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgICAgICA8L1NDTVBMb2FkTW9yZVJvdz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TQ01QTGlzdD5cbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNDTVBDb250YWluZXJcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiQ29udGV4dCBtZW50aW9uIHBpY2tlclwiXG4gICAgICAgIG9uTW91c2VEb3duPXtlID0+IGUuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICA+XG4gICAgICAgIDxTQ01QVGFic1Jvdz5cbiAgICAgICAgICA8U0NNUFRhYnNHcm91cD5cbiAgICAgICAgICAgIHthbGxvd2VkVHlwZXMubWFwKCh0eXBlLCByYXdJbmRleCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBsYWJlbCA9IHQoVEFCX0kxOE5fS0VZU1t0eXBlXSwgeyBkZWZhdWx0VmFsdWU6IFRBQl9GQUxMQkFDS1NbdHlwZV0gfSlcbiAgICAgICAgICAgICAgLy8gUGFyYSBlbCBwcmVmaWpvIHBvc2ljaW9uYWwsIHNraWxsIG5vIGN1ZW50YSBlbiBlbCBvcmRlbiBkZSBALCBAQCwgQEBALlxuICAgICAgICAgICAgICBjb25zdCBub25Ta2lsbEluZGV4ID0gYWxsb3dlZFR5cGVzLnNsaWNlKDAsIHJhd0luZGV4KS5maWx0ZXIoZW50aXR5VHlwZSA9PiBlbnRpdHlUeXBlICE9PSAnc2tpbGwnKS5sZW5ndGhcbiAgICAgICAgICAgICAgY29uc3QgYXRQcmVmaXggPSBnZXRUYWJQcmVmaXgodHlwZSwgbm9uU2tpbGxJbmRleClcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8U0NNUFRhYlxuICAgICAgICAgICAgICAgICAga2V5PXt0eXBlfVxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtgJHthdFByZWZpeH0gJHtsYWJlbH1gfVxuICAgICAgICAgICAgICAgICAgJGFjdGl2ZT17dHlwZSA9PT0gYWN0aXZlVHlwZX1cbiAgICAgICAgICAgICAgICAgIG9uTW91c2VEb3duPXtlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgb25UeXBlQ2hhbmdlKHR5cGUpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHthdFByZWZpeH1cbiAgICAgICAgICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgICAgICAgICA8L1NDTVBUYWI+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvU0NNUFRhYnNHcm91cD5cbiAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17a2V5Ym9hcmRIaW50IHx8ICcnfT5cbiAgICAgICAgICAgIDxTQ01QS2V5Ym9hcmRIaW50PlxuICAgICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj1cIiM4MDgwODBcIiAvPlxuICAgICAgICAgICAgPC9TQ01QS2V5Ym9hcmRIaW50PlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPC9TQ01QVGFic1Jvdz5cbiAgICAgICAgPFNDTVBEaXZpZGVyV3JhcHBlcj5cbiAgICAgICAgICA8U0NNUERpdmlkZXIgLz5cbiAgICAgICAgPC9TQ01QRGl2aWRlcldyYXBwZXI+XG4gICAgICAgIHtyZW5kZXJCb2R5KCl9XG4gICAgICA8L1NDTVBDb250YWluZXI+XG4gICAgKVxuICB9XG4pXG5cbkNvbnRleHRNZW50aW9uUG9wb3Zlci5kaXNwbGF5TmFtZSA9ICdDb250ZXh0TWVudGlvblBvcG92ZXInXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUF3QkEsVUFBVSxFQUFFQyxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQ3BHLFNBQVNDLGlCQUFpQixRQUFRLG9EQUFvRDtBQUN0RixTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLDhCQUE4QixRQUFRLDJCQUEyQjtBQUMxRSxTQUFTQyxJQUFJLFFBQVEscUJBQXFCO0FBRTFDLFNBQVNDLGtCQUFrQixRQUFRLHVCQUF1QjtBQUMxRCxTQUFTQyxN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
212
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmb3J3YXJkUmVmIiwidXNlQ2FsbGJhY2siLCJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJJbmZvcm1hdGlvbkNpcmNsZSIsIlRvb2x0aXAiLCJTS0lMTFNfU0VBUkNIX01JTl9RVUVSWV9MRU5HVEgiLCJ1c2VUIiwiZ2V0TWVudGlvblRhYlByZWZpeCIsIkNvbnRleHRNZW50aW9uSXRlbSIsIkxvYWRlciIsIlNDTVBDb250YWluZXIiLCJTQ01QRGl2aWRlciIsIlNDTVBEaXZpZGVyV3JhcHBlciIsIlNDTVBSZWNlbnRzTGFiZWwiLCJTQ01QUmVjZW50c1JvdyIsIlNDTVBSZWNlbnRzVGl0bGUiLCJTQ01QTGlzdCIsIlNDTVBTdGF0ZVdyYXBwZXIiLCJTQ01QS2V5Ym9hcmRIaW50IiwiU0NNUFRhYiIsIlNDTVBUYWJzR3JvdXAiLCJTQ01QVGFic1JvdyIsIlNDTVBMb2FkTW9yZVJvdyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJUQUJfSTE4Tl9LRVlTIiwiY2xpZW50IiwicHJvamVjdCIsInRhc2siLCJ1c2VyIiwibWNwIiwic2tpbGwiLCJUQUJfRkFMTEJBQ0tTIiwiQ29udGV4dE1lbnRpb25Qb3BvdmVyIiwiX3JlZiIsInJlZiIsImFsbG93ZWRUeXBlcyIsImFjdGl2ZVR5cGUiLCJvblR5cGVDaGFuZ2UiLCJpdGVtcyIsImxvYWRpbmciLCJlcnJvciIsImhpZGVSZWNlbnRzTGFiZWwiLCJfcmVmJHNraWxsc0NhdGFsb2dFbXAiLCJza2lsbHNDYXRhbG9nRW1wdHkiLCJoYXNNb3JlIiwiaXNMb2FkaW5nTW9yZSIsIm9uUmVhY2hMaXN0RW5kIiwic2VhcmNoVmFsdWUiLCJvbkl0ZW1TZWxlY3RlZCIsImNvbnRyb2xsZWRJbmRleCIsImFjdGl2ZUluZGV4Iiwib25BY3RpdmVJbmRleENoYW5nZSIsImlzS2V5Ym9hcmROYXZBY3RpdmUiLCJvbk1vdXNlTW92ZUluTGlzdCIsInN0eWxlIiwia2V5Ym9hcmRIaW50IiwiX3VzZVQiLCJ0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaW50ZXJuYWxJbmRleCIsInNldEludGVybmFsSW5kZXgiLCJsaXN0UmVmIiwidXBkYXRlQWN0aXZlSW5kZXgiLCJpZHgiLCJwcmV2SXNMb2FkaW5nTW9yZVJlZiIsImN1cnJlbnQiLCJsZW5ndGgiLCJfaXRlbUVscyRhY3RpdmVJbmRleCIsImxpc3RFbCIsIml0ZW1FbHMiLCJxdWVyeVNlbGVjdG9yQWxsIiwic2Nyb2xsSW50b1ZpZXciLCJibG9jayIsImVtcHR5TWVzc2FnZSIsInRyaW0iLCJxdWVyeSIsImRlZmF1bHRWYWx1ZSIsImNvbmNhdCIsInNraWxsUXVlcnlUb29TaG9ydCIsInJlbmRlckJvZHkiLCJjaGlsZHJlbiIsInVuZGVmaW5lZCIsIm9uTW91c2VNb3ZlIiwib25TY3JvbGwiLCJlIiwiZWwiLCJjdXJyZW50VGFyZ2V0IiwidGhyZXNob2xkIiwibmVhckJvdHRvbSIsInNjcm9sbFRvcCIsImNsaWVudEhlaWdodCIsInNjcm9sbEhlaWdodCIsIm1hcCIsIml0ZW0iLCJ3aWR0aCIsImFjdGl2ZSIsIm9uU2VsZWN0Iiwib25Ib3ZlciIsInR5cGUiLCJpZCIsInNpemUiLCJyb2xlIiwib25Nb3VzZURvd24iLCJzdG9wUHJvcGFnYXRpb24iLCJsYWJlbCIsImF0UHJlZml4IiwiJGFjdGl2ZSIsInByZXZlbnREZWZhdWx0IiwidGl0bGUiLCJoZWlnaHQiLCJjb2xvciIsImRpc3BsYXlOYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQ29udGV4dE1lbnRpb25Qb3BvdmVyL0NvbnRleHRNZW50aW9uUG9wb3Zlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1NTUHJvcGVydGllcywgZm9yd2FyZFJlZiwgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgSW5mb3JtYXRpb25DaXJjbGUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9JbmZvcm1hdGlvbkNpcmNsZSdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IFNLSUxMU19TRUFSQ0hfTUlOX1FVRVJZX0xFTkdUSCB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVCdcbmltcG9ydCB7IENvbnRleHRFbnRpdHlUeXBlLCBDb250ZXh0TWVudGlvbkl0ZW0gYXMgQ29udGV4dE1lbnRpb25JdGVtVHlwZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgZ2V0TWVudGlvblRhYlByZWZpeCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvbnRleHRNZW50aW9uVHJpZ2dlcnMnXG5pbXBvcnQgeyBDb250ZXh0TWVudGlvbkl0ZW0gfSBmcm9tICcuLi9Db250ZXh0TWVudGlvbkl0ZW0nXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi9Mb2FkZXInXG5pbXBvcnQge1xuICBTQ01QQ29udGFpbmVyLFxuICBTQ01QRGl2aWRlcixcbiAgU0NNUERpdmlkZXJXcmFwcGVyLFxuICBTQ01QUmVjZW50c0xhYmVsLFxuICBTQ01QUmVjZW50c1JvdyxcbiAgU0NNUFJlY2VudHNUaXRsZSxcbiAgU0NNUExpc3QsXG4gIFNDTVBTdGF0ZVdyYXBwZXIsXG4gIFNDTVBLZXlib2FyZEhpbnQsXG4gIFNDTVBUYWIsXG4gIFNDTVBUYWJzR3JvdXAsXG4gIFNDTVBUYWJzUm93LFxuICBTQ01QTG9hZE1vcmVSb3csXG59IGZyb20gJy4vQ29udGV4dE1lbnRpb25Qb3BvdmVyLnN0eWxlcydcblxuZXhwb3J0IHR5cGUgQ29udGV4dE1lbnRpb25Qb3BvdmVyUHJvcHMgPSB7XG4gIGFsbG93ZWRUeXBlczogQ29udGV4dEVudGl0eVR5cGVbXVxuICBhY3RpdmVUeXBlOiBDb250ZXh0RW50aXR5VHlwZVxuICBvblR5cGVDaGFuZ2U6ICh0eXBlOiBDb250ZXh0RW50aXR5VHlwZSkgPT4gdm9pZFxuICBpdGVtczogQ29udGV4dE1lbnRpb25JdGVtVHlwZVtdXG4gIGxvYWRpbmc6IGJvb2xlYW5cbiAgZXJyb3I6IGJvb2xlYW5cbiAgaGlkZVJlY2VudHNMYWJlbD86IGJvb2xlYW5cbiAgc2tpbGxzQ2F0YWxvZ0VtcHR5PzogYm9vbGVhblxuICBoYXNNb3JlPzogYm9vbGVhblxuICBpc0xvYWRpbmdNb3JlPzogYm9vbGVhblxuICBvblJlYWNoTGlzdEVuZD86ICgpID0+IHZvaWRcbiAgc2VhcmNoVmFsdWU6IHN0cmluZ1xuICBvbkl0ZW1TZWxlY3RlZDogKGl0ZW06IENvbnRleHRNZW50aW9uSXRlbVR5cGUpID0+IHZvaWRcbiAgLyoqIMONbmRpY2UgcHJlc2VsZWNjaW9uYWRvIChuYXZlZ2FjacOzbiBwb3IgdGVjbGFkbyBleHRlcm5hKS4gU2kgbm8gc2UgcGFzYSwgc2UgbWFuZWphIGludGVybmFtZW50ZS4gKi9cbiAgYWN0aXZlSW5kZXg/OiBudW1iZXJcbiAgb25BY3RpdmVJbmRleENoYW5nZT86IChpZHg6IG51bWJlcikgPT4gdm9pZFxuICBpc0tleWJvYXJkTmF2QWN0aXZlPzogYm9vbGVhblxuICBvbk1vdXNlTW92ZUluTGlzdD86ICgpID0+IHZvaWRcbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzXG4gIGtleWJvYXJkSGludD86IHN0cmluZ1xufVxuXG5jb25zdCBUQUJfSTE4Tl9LRVlTOiBSZWNvcmQ8Q29udGV4dEVudGl0eVR5cGUsIHN0cmluZz4gPSB7XG4gIGNsaWVudDogJ2NvbnRleHRNZW50aW9uLnRhYnMuY2xpZW50JyxcbiAgcHJvamVjdDogJ2NvbnRleHRNZW50aW9uLnRhYnMucHJvamVjdCcsXG4gIHRhc2s6ICdjb250ZXh0TWVudGlvbi50YWJzLnRhc2snLFxuICB1c2VyOiAnY29udGV4dE1lbnRpb24udGFicy51c2VyJyxcbiAgbWNwOiAnY29udGV4dE1lbnRpb24udGFicy5tY3AnLFxuICBza2lsbDogJ2NvbnRleHRNZW50aW9uLnRhYnMuc2tpbGwnLFxufVxuXG5jb25zdCBUQUJfRkFMTEJBQ0tTOiBSZWNvcmQ8Q29udGV4dEVudGl0eVR5cGUsIHN0cmluZz4gPSB7XG4gIGNsaWVudDogJ0NsaWVudGUnLFxuICBwcm9qZWN0OiAnUHJveWVjdG8nLFxuICB0YXNrOiAnVGFyZWEnLFxuICB1c2VyOiAnVXN1YXJpbycsXG4gIG1jcDogJ0NvbmVjdG9yZXMnLFxuICBza2lsbDogJ0hhYmlsaWRhZGVzJyxcbn1cblxuZXhwb3J0IGNvbnN0IENvbnRleHRNZW50aW9uUG9wb3ZlciA9IGZvcndhcmRSZWY8SFRNTERpdkVsZW1lbnQsIENvbnRleHRNZW50aW9uUG9wb3ZlclByb3BzPihcbiAgKFxuICAgIHtcbiAgICAgIGFsbG93ZWRUeXBlcyxcbiAgICAgIGFjdGl2ZVR5cGUsXG4gICAgICBvblR5cGVDaGFuZ2UsXG4gICAgICBpdGVtcyxcbiAgICAgIGxvYWRpbmcsXG4gICAgICBlcnJvcixcbiAgICAgIGhpZGVSZWNlbnRzTGFiZWwsXG4gICAgICBza2lsbHNDYXRhbG9nRW1wdHkgPSBmYWxzZSxcbiAgICAgIGhhc01vcmUsXG4gICAgICBpc0xvYWRpbmdNb3JlLFxuICAgICAgb25SZWFjaExpc3RFbmQsXG4gICAgICBzZWFyY2hWYWx1ZSxcbiAgICAgIG9uSXRlbVNlbGVjdGVkLFxuICAgICAgYWN0aXZlSW5kZXg6IGNvbnRyb2xsZWRJbmRleCxcbiAgICAgIG9uQWN0aXZlSW5kZXhDaGFuZ2UsXG4gICAgICBpc0tleWJvYXJkTmF2QWN0aXZlLFxuICAgICAgb25Nb3VzZU1vdmVJbkxpc3QsXG4gICAgICBzdHlsZSxcbiAgICAgIGtleWJvYXJkSGludCxcbiAgICB9LFxuICAgIHJlZlxuICApID0+IHtcbiAgICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICAgIGNvbnN0IFtpbnRlcm5hbEluZGV4LCBzZXRJbnRlcm5hbEluZGV4XSA9IHVzZVN0YXRlKDApXG4gICAgY29uc3QgYWN0aXZlSW5kZXggPSBjb250cm9sbGVkSW5kZXggPz8gaW50ZXJuYWxJbmRleFxuICAgIGNvbnN0IGxpc3RSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgICBjb25zdCB1cGRhdGVBY3RpdmVJbmRleCA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGlkeDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGlmIChvbkFjdGl2ZUluZGV4Q2hhbmdlKSBvbkFjdGl2ZUluZGV4Q2hhbmdlKGlkeClcbiAgICAgICAgZWxzZSBzZXRJbnRlcm5hbEluZGV4KGlkeClcbiAgICAgIH0sXG4gICAgICBbb25BY3RpdmVJbmRleENoYW5nZV1cbiAgICApXG5cbiAgICAvLyBSZXNldCBhbCBjYW1iaWFyIGRlIHRhYiBvIGNhbnRpZGFkIGRlIHJlc3VsdGFkb3MgKG5vIGVuIGxvYWQgbW9yZSlcbiAgICBjb25zdCBwcmV2SXNMb2FkaW5nTW9yZVJlZiA9IHVzZVJlZihmYWxzZSlcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgcHJldklzTG9hZGluZ01vcmVSZWYuY3VycmVudCA9IGlzTG9hZGluZ01vcmUgPz8gZmFsc2VcbiAgICAgIH1cbiAgICB9LCBbaXNMb2FkaW5nTW9yZV0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHByZXZJc0xvYWRpbmdNb3JlUmVmLmN1cnJlbnQpIHJldHVyblxuICAgICAgdXBkYXRlQWN0aXZlSW5kZXgoMClcbiAgICB9LCBbYWN0aXZlVHlwZSwgaXRlbXMubGVuZ3RoLCB1cGRhdGVBY3RpdmVJbmRleF0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgbGlzdEVsID0gbGlzdFJlZi5jdXJyZW50XG4gICAgICBpZiAoIWxpc3RFbCB8fCBpdGVtcy5sZW5ndGggPT09IDApIHJldHVyblxuICAgICAgY29uc3QgaXRlbUVscyA9IGxpc3RFbC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1tZW50aW9uLWl0ZW1dJylcbiAgICAgIGl0ZW1FbHNbYWN0aXZlSW5kZXhdPy5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSlcbiAgICB9LCBbYWN0aXZlSW5kZXgsIGl0ZW1zLmxlbmd0aF0pXG5cbiAgICBjb25zdCBlbXB0eU1lc3NhZ2UgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmIChhY3RpdmVUeXBlID09PSAnc2tpbGwnKSB7XG4gICAgICAgIGlmIChzZWFyY2hWYWx1ZS50cmltKCkpIHtcbiAgICAgICAgICByZXR1cm4gdCgnY29udGV4dE1lbnRpb24uZW1wdHkuc2tpbGxXaXRoUXVlcnknLCB7XG4gICAgICAgICAgICBxdWVyeTogc2VhcmNoVmFsdWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdCgnY29udGV4dE1lbnRpb24uZW1wdHkuc2tpbGxOb0l0ZW1zJylcbiAgICAgIH1cbiAgICAgIGlmIChzZWFyY2hWYWx1ZS50cmltKCkpIHtcbiAgICAgICAgcmV0dXJuIHQoJ2NvbnRleHRNZW50aW9uLmVtcHR5LndpdGhRdWVyeScsIHtcbiAgICAgICAgICBxdWVyeTogc2VhcmNoVmFsdWUsXG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiBgTm8gaGF5IHJlc3VsdGFkb3MgcGFyYSBcIiR7c2VhcmNoVmFsdWV9XCJgLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgcmV0dXJuIHQoJ2NvbnRleHRNZW50aW9uLmVtcHR5LnJlY2VudHMnLCB7IGRlZmF1bHRWYWx1ZTogJ0VtcGV6w6EgYSBlc2NyaWJpciBwYXJhIGJ1c2NhcicgfSlcbiAgICB9LCBbYWN0aXZlVHlwZSwgc2VhcmNoVmFsdWUsIHRdKVxuXG4gICAgY29uc3Qgc2tpbGxRdWVyeVRvb1Nob3J0ID1cbiAgICAgIGFjdGl2ZVR5cGUgPT09ICdza2lsbCcgJiZcbiAgICAgICFza2lsbHNDYXRhbG9nRW1wdHkgJiZcbiAgICAgIHNlYXJjaFZhbHVlLnRyaW0oKS5sZW5ndGggPiAwICYmXG4gICAgICBzZWFyY2hWYWx1ZS50cmltKCkubGVuZ3RoIDwgU0tJTExTX1NFQVJDSF9NSU5fUVVFUllfTEVOR1RIXG5cbiAgICBjb25zdCByZW5kZXJCb2R5ID0gKCkgPT4ge1xuICAgICAgaWYgKGxvYWRpbmcpIHtcbiAgICAgICAgcmV0dXJuIDxTQ01QU3RhdGVXcmFwcGVyPnt0KCdjb250ZXh0TWVudGlvbi5sb2FkaW5nJywgeyBkZWZhdWx0VmFsdWU6ICdCdXNjYW5kby4uLicgfSl9PC9TQ01QU3RhdGVXcmFwcGVyPlxuICAgICAgfVxuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFNDTVBTdGF0ZVdyYXBwZXI+XG4gICAgICAgICAgICB7dCgnY29udGV4dE1lbnRpb24uZXJyb3InLCB7IGRlZmF1bHRWYWx1ZTogJ0h1Ym8gdW4gcHJvYmxlbWEgYWwgYnVzY2FyJyB9KX1cbiAgICAgICAgICA8L1NDTVBTdGF0ZVdyYXBwZXI+XG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmIChza2lsbFF1ZXJ5VG9vU2hvcnQpIHtcbiAgICAgICAgcmV0dXJuIDxTQ01QU3RhdGVXcmFwcGVyPnt0KCdjb250ZXh0TWVudGlvbi5za2lsbFF1ZXJ5VG9vU2hvcnQnKX08L1NDTVBTdGF0ZVdyYXBwZXI+XG4gICAgICB9XG4gICAgICBpZiAoaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiA8U0NNUFN0YXRlV3JhcHBlcj57ZW1wdHlNZXNzYWdlfTwvU0NNUFN0YXRlV3JhcHBlcj5cbiAgICAgIH1cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTQ01QTGlzdFxuICAgICAgICAgIHJlZj17bGlzdFJlZn1cbiAgICAgICAgICBkYXRhLWtleWJvYXJkLW5hdj17aXNLZXlib2FyZE5hdkFjdGl2ZSB8fCB1bmRlZmluZWR9XG4gICAgICAgICAgb25Nb3VzZU1vdmU9e29uTW91c2VNb3ZlSW5MaXN0fVxuICAgICAgICAgIG9uU2Nyb2xsPXtlID0+IHtcbiAgICAgICAgICAgIGlmICghb25SZWFjaExpc3RFbmQgfHwgIWhhc01vcmUgfHwgaXNMb2FkaW5nTW9yZSkgcmV0dXJuXG4gICAgICAgICAgICBjb25zdCBlbCA9IGUuY3VycmVudFRhcmdldFxuICAgICAgICAgICAgY29uc3QgdGhyZXNob2xkID0gMjRcbiAgICAgICAgICAgIGNvbnN0IG5lYXJCb3R0b20gPSBlbC5zY3JvbGxUb3AgKyBlbC5jbGllbnRIZWlnaHQgPj0gZWwuc2Nyb2xsSGVpZ2h0IC0gdGhyZXNob2xkXG4gICAgICAgICAgICBpZiAobmVhckJvdHRvbSkge1xuICAgICAgICAgICAgICBvblJlYWNoTGlzdEVuZCgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHshc2VhcmNoVmFsdWUudHJpbSgpICYmIGFjdGl2ZVR5cGUgIT09ICd1c2VyJyAmJiAhaGlkZVJlY2VudHNMYWJlbCA/IChcbiAgICAgICAgICAgIDxTQ01QUmVjZW50c1Jvdz5cbiAgICAgICAgICAgICAgPFNDTVBSZWNlbnRzVGl0bGU+XG4gICAgICAgICAgICAgICAgPFNDTVBSZWNlbnRzTGFiZWw+e3QoJ2NvbnRleHRNZW50aW9uLnJlY2VudHNUaXRsZScsIHsgZGVmYXVsdFZhbHVlOiAnUmVjaWVudGVzJyB9KX08L1NDTVBSZWNlbnRzTGFiZWw+XG4gICAgICAgICAgICAgIDwvU0NNUFJlY2VudHNUaXRsZT5cbiAgICAgICAgICAgIDwvU0NNUFJlY2VudHNSb3c+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaWR4KSA9PiAoXG4gICAgICAgICAgICA8ZGl2IGtleT17YCR7aXRlbS50eXBlfS0ke2l0ZW0uaWR9YH0gZGF0YS1tZW50aW9uLWl0ZW0gc3R5bGU9e3sgd2lkdGg6ICcxMDAlJyB9fT5cbiAgICAgICAgICAgICAgPENvbnRleHRNZW50aW9uSXRlbVxuICAgICAgICAgICAgICAgIGl0ZW09e2l0ZW19XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtpZHggPT09IGFjdGl2ZUluZGV4fVxuICAgICAgICAgICAgICAgIG9uU2VsZWN0PXtvbkl0ZW1TZWxlY3RlZH1cbiAgICAgICAgICAgICAgICBvbkhvdmVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoIWlzS2V5Ym9hcmROYXZBY3RpdmUpIHVwZGF0ZUFjdGl2ZUluZGV4KGlkeClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgICAge2lzTG9hZGluZ01vcmUgPyAoXG4gICAgICAgICAgICA8U0NNUExvYWRNb3JlUm93PlxuICAgICAgICAgICAgICA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgICAgICA8L1NDTVBMb2FkTW9yZVJvdz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TQ01QTGlzdD5cbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNDTVBDb250YWluZXJcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiQ29udGV4dCBtZW50aW9uIHBpY2tlclwiXG4gICAgICAgIG9uTW91c2VEb3duPXtlID0+IGUuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICA+XG4gICAgICAgIDxTQ01QVGFic1Jvdz5cbiAgICAgICAgICA8U0NNUFRhYnNHcm91cD5cbiAgICAgICAgICAgIHthbGxvd2VkVHlwZXMubWFwKHR5cGUgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBsYWJlbCA9IHQoVEFCX0kxOE5fS0VZU1t0eXBlXSwgeyBkZWZhdWx0VmFsdWU6IFRBQl9GQUxMQkFDS1NbdHlwZV0gfSlcbiAgICAgICAgICAgICAgY29uc3QgYXRQcmVmaXggPSBnZXRNZW50aW9uVGFiUHJlZml4KHR5cGUpXG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPFNDTVBUYWJcbiAgICAgICAgICAgICAgICAgIGtleT17dHlwZX1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17YCR7YXRQcmVmaXh9ICR7bGFiZWx9YH1cbiAgICAgICAgICAgICAgICAgICRhY3RpdmU9e3R5cGUgPT09IGFjdGl2ZVR5cGV9XG4gICAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICAgIG9uVHlwZUNoYW5nZSh0eXBlKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7YXRQcmVmaXh9XG4gICAgICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICAgICAgPC9TQ01QVGFiPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA8L1NDTVBUYWJzR3JvdXA+XG4gICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e2tleWJvYXJkSGludCB8fCAnJ30+XG4gICAgICAgICAgICA8U0NNUEtleWJvYXJkSGludD5cbiAgICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9XCIjODA4MDgwXCIgLz5cbiAgICAgICAgICAgIDwvU0NNUEtleWJvYXJkSGludD5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDwvU0NNUFRhYnNSb3c+XG4gICAgICAgIDxTQ01QRGl2aWRlcldyYXBwZXI+XG4gICAgICAgICAgPFNDTVBEaXZpZGVyIC8+XG4gICAgICAgIDwvU0NNUERpdmlkZXJXcmFwcGVyPlxuICAgICAgICB7cmVuZGVyQm9keSgpfVxuICAgICAgPC9TQ01QQ29udGFpbmVyPlxuICAgIClcbiAgfVxuKVxuXG5Db250ZXh0TWVudGlvblBvcG92ZXIuZGlzcGxheU5hbWUgPSAnQ29udGV4dE1lbnRpb25Qb3BvdmVyJ1xuIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBd0JBLFVBQVUsRUFBRUMsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUNwRyxTQUFTQyxpQkFBaUIsUUFBUSxvREFBb0Q7QUFDdEYsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyw4QkFBOEIsUUFBUSwyQkFBMkI7QUFDMUUsU0FBU0MsSUFBSSxRQUFRLHFCQUFxQjtBQUUxQyxTQUFTQyxtQkFBbUIsUUFBUSx1Q0FBdUM7QUFDM0UsU0FBU0Msa0JBQWtCLFFBQVEsdUJBQXVCO0FBQzFELFNBQVNDLE1BQU0sUUFBUSxXQUFXO0FBQ2xDLFNBQ0VDLGFBQWEsRUFDYkMsV0FBVyxFQUNYQyxrQkFBa0IsRUFDbEJDLGdCQUFnQixFQUNoQkMsY0FBYyxFQUNkQyxnQkFBZ0IsRUFDaEJDLFFBQVEsRUFDUkMsZ0JBQWdCLEVBQ2hCQyxnQkFBZ0IsRUFDaEJDLE9BQU8sRUFDUEMsYUFBYSxFQUNiQyxXQUFXLEVBQ1hDLGVBQWUsUUFDVixnQ0FBZ0M7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBeUJ2QyxJQUFNQyxhQUFnRCxHQUFHO0VBQ3ZEQyxNQUFNLEVBQUUsNEJBQTRCO0VBQ3BDQyxPQUFPLEVBQUUsNkJBQTZCO0VBQ3RDQyxJQUFJLEVBQUUsMEJBQTBCO0VBQ2hDQyxJQUFJLEVBQUUsMEJBQTBCO0VBQ2hDQyxHQUFHLEVBQUUseUJBQXlCO0VBQzlCQyxLQUFLLEVBQUU7QUFDVCxDQUFDO0FBRUQsSUFBTUMsYUFBZ0QsR0FBRztFQUN2RE4sTUFB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
@@ -8,6 +8,7 @@ import { useT } from '../../../hooks/useT';
8
8
  import { SCCAIHomeContainer, SCCAIHomeContent, SCCAIHomeContentInner, SCCAIHomeGradientTop, SCCAIHomeGradientBottom, SCCAIHomeHeader, SCCAIHomeGreeting, SCCAIHomeAgentInfoContainer, SCCAIHomeAgentInfo, SCCAIHomeProjectSummary, SCCAIHomeProjectSummaryContent, SCCAIHomeProjectSummaryTitle, SCCAIHomeProjectSummaryDescription, SCCAHWrapperSummaryProject, SCCAIHomeIntroduction, SCCAIHomeCreatedByContainer, SCCAIHomeCreatedByText, SCCAIHomeCreatedByTextName, SCCAIHomeIconContainer, SCCAIHomeLogoWrapper, SCCAIHomeMaiaHeaderStack, SCCAIHomeDynamicSection } from './styles';
9
9
  import { useGlobalContext } from '../../../context/global-context';
10
10
  import { validateIsMaia } from '../../../services/utils/validateIsMaia';
11
+ import { isMaiakerAgent } from '../../../utils/agentDisplayName';
11
12
  import { FrequentlyAskedQuestions } from '../../atoms/FrequentlyAskedQuestions';
12
13
  import { FrequentlyUsedActions } from '../../atoms/FrequentlyUsedActions';
13
14
  import { useFrequentlyUsedActions } from '../../../hooks/useFrequentlyUsedActions';
@@ -38,7 +39,7 @@ export var ChatAIHome = function ChatAIHome(_ref) {
38
39
  var summaryProjectAccess = typeof window !== 'undefined' && (String(window.MAIA_PROJECT_SUMMARY_FEATURE_ACCESS).toLowerCase() === 'true' || String(window.maiaProjectSummaryAccess).toLowerCase() === 'true');
39
40
  var faqsAccess = true;
40
41
  var showProjectSummary = !!(isMAIA && summaryProjectAccess);
41
- var isMaiaker = (agent === null || agent === void 0 ? void 0 : agent.entity) === 'global' && /(maiaker|marketplace)/i.test((agent === null || agent === void 0 ? void 0 : agent.name) || '');
42
+ var isMaiaker = isMaiakerAgent(agent);
42
43
  // FUA y FAQ solo aplican a agentes clone (los custom no las tienen habilitadas por ahora).
43
44
  // Maiaker (clone global) queda excluido como antes.
44
45
  var homeListsAgentId = isMAIA && !isMaiaker ? agent === null || agent === void 0 ? void 0 : agent.id : undefined;
@@ -231,4 +232,4 @@ export var ChatAIHome = function ChatAIHome(_ref) {
231
232
  })]
232
233
  });
233
234
  };
234
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJ1c2VUIiwiU0NDQUlIb21lQ29udGFpbmVyIiwiU0NDQUlIb21lQ29udGVudCIsIlNDQ0FJSG9tZUNvbnRlbnRJbm5lciIsIlNDQ0FJSG9tZUdyYWRpZW50VG9wIiwiU0NDQUlIb21lR3JhZGllbnRCb3R0b20iLCJTQ0NBSUhvbWVIZWFkZXIiLCJTQ0NBSUhvbWVHcmVldGluZyIsIlNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lciIsIlNDQ0FJSG9tZUFnZW50SW5mbyIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZSIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24iLCJTQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdCIsIlNDQ0FJSG9tZUludHJvZHVjdGlvbiIsIlNDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lciIsIlNDQ0FJSG9tZUNyZWF0ZWRCeVRleHQiLCJTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0TmFtZSIsIlNDQ0FJSG9tZUljb25Db250YWluZXIiLCJTQ0NBSUhvbWVMb2dvV3JhcHBlciIsIlNDQ0FJSG9tZU1haWFIZWFkZXJTdGFjayIsIlNDQ0FJSG9tZUR5bmFtaWNTZWN0aW9uIiwidXNlR2xvYmFsQ29udGV4dCIsInZhbGlkYXRlSXNNYWlhIiwiRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwiRnJlcXVlbnRseVVzZWRBY3Rpb25zIiwidXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zIiwidXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwiTUFJQUlzb2xvZ28iLCJUZW1wbGF0ZUdyYWRpZW50SWNvbiIsIkNoYXRBSUhvbWVNYWlha2VyIiwianN4cyIsIl9qc3hzIiwianN4IiwiX2pzeCIsIkZyZXF1ZW50UXVlc3Rpb25zIiwiQ2hhdEFJSG9tZSIsIl9yZWYiLCJoYW5kbGVycyIsIm9uU3RhcnRDaGF0IiwiZXhwYW5kZWQiLCJmbG9hdGluZyIsIl91c2VUIiwidCIsImkxOG4iLCJfdXNlR2xvYmFsQ29udGV4dCIsImFnZW50Iiwic2VjdGlvbiIsImlzTUFJQSIsImZsb2F0aW5nQ3VzdG9tQ2VudGVyIiwidHlwZSIsImxhbmciLCJsYW5ndWFnZSIsInN1bW1hcnlQcm9qZWN0QWNjZXNzIiwid2luZG93IiwiU3RyaW5nIiwiTUFJQV9QUk9KRUNUX1NVTU1BUllfRkVBVFVSRV9BQ0NFU1MiLCJ0b0xvd2VyQ2FzZSIsIm1haWFQcm9qZWN0U3VtbWFyeUFjY2VzcyIsImZhcXNBY2Nlc3MiLCJzaG93UHJvamVjdFN1bW1hcnkiLCJpc01haWFrZXIiLCJlbnRpdHkiLCJ0ZXN0IiwibmFtZSIsImhvbWVMaXN0c0FnZW50SWQiLCJpZCIsInVuZGVmaW5lZCIsIl91c2VGcmVxdWVudGx5VXNlZEFjdCIsImFnZW50RnVhcyIsImFjdGlvbnMiLCJmdWFzTG9hZGluZyIsImxvYWRpbmciLCJfdXNlRnJlcXVlbnRseUFza2VkUXUiLCJhZ2VudEZhcXMiLCJmYXFzIiwiZmFxc0xvYWRpbmciLCJoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMiLCJmYXFzRmV0Y2hSZWYiLCJjdXJyZW50S2V5IiwiY29uY2F0IiwibGFzdEtleSIsImN1cnJlbnQiLCJhZ2VudElkIiwic2hvdWxkU2hvd0ZhcXMiLCJsZW5ndGgiLCJzaG91bGRTaG93RnVhcyIsImhhc0FueUhvbWVMaXN0Q29udGVudCIsInNob3dQcm9qZWN0U3VtbWFyeUNhcmQiLCJzaG93RkFRcyIsImhvbWVTY3JvbGxhYmxlTGF5b3V0Iiwic2hvd0R5bmFtaWNTZWN0aW9uIiwiY29udGVudENvbnRhaW5lclJlZiIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInNob3dUb3BHcmFkaWVudCIsInNldFNob3dUb3BHcmFkaWVudCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2hvd0JvdHRvbUdyYWRpZW50Iiwic2V0U2hvd0JvdHRvbUdyYWRpZW50IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc1Njcm9sbGluZyIsInNldElzU2Nyb2xsaW5nIiwic2Nyb2xsVGltZW91dFJlZiIsImdyZWV0aW5nIiwiaW50cm8iLCJpbnRyb2R1Y3Rpb24iLCJBcnJheSIsImlzQXJyYXkiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJjaGVja1Njcm9sbCIsImNvbnRhaW5lciIsInNjcm9sbFRvcCIsInNjcm9sbEhlaWdodCIsImNsaWVudEhlaWdodCIsImlzU2Nyb2xsYWJsZSIsImlzQXRUb3AiLCJpc0F0Qm90dG9tIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsImFkZEV2ZW50TGlzdGVuZXIiLCJ0aW1lb3V0SWQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicmVuZGVySGVhZGVyQ29udGVudCIsIl9hZ2VudCRjcmVhdGVkX2J5IiwiX2FnZW50JGNyZWF0ZWRfYnkyIiwiY2hpbGRyZW4iLCJlbW9qaSIsImNyZWF0ZWRfYnkiLCJ0aXRsZSIsImlzX2RlbGV0ZWQiLCIkbm9HYXAiLCIkc2hvdyIsInJlZiIsIiRpc0FnZW50VmlldyIsIiRmbG9hdGluZ0N1c3RvbUNlbnRlciIsIiRnYXAiLCIkbWF4V2lkdGgiLCJvbkNsaWNrIiwicHJvamVjdFN1bW1hcnkiLCJoZWlnaHQiLCJ3aWR0aCIsIiRncm93Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSUhvbWUvQ2hhdEFJSG9tZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvZnVuY3Rpb24tY29tcG9uZW50LWRlZmluaXRpb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAqL1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVCdcblxuaW1wb3J0IHsgb3B0aW9ucyB9IGZyb20gJy4uL0NoYXRBSU1vZGFsL2NvbnN0YW50cydcblxuaW1wb3J0IHtcbiAgU0NDQUlIb21lQ29udGFpbmVyLFxuICBTQ0NBSUhvbWVDb250ZW50LFxuICBTQ0NBSUhvbWVDb250ZW50SW5uZXIsXG4gIFNDQ0FJSG9tZUdyYWRpZW50VG9wLFxuICBTQ0NBSUhvbWVHcmFkaWVudEJvdHRvbSxcbiAgU0NDQUlIb21lSGVhZGVyLFxuICBTQ0NBSUhvbWVHcmVldGluZyxcbiAgU0NDQUlIb21lQWdlbnRJbmZvQ29udGFpbmVyLFxuICBTQ0NBSUhvbWVBZ2VudEluZm8sXG4gIFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5LFxuICBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeUNvbnRlbnQsXG4gIFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5VGl0bGUsXG4gIFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24sXG4gIFNDQ0FIV3JhcHBlclN1bW1hcnlQcm9qZWN0LFxuICBTQ0NBSUhvbWVJbnRyb2R1Y3Rpb24sXG4gIFNDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lcixcbiAgU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dCxcbiAgU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dE5hbWUsXG4gIFNDQ0FJSG9tZUljb25Db250YWluZXIsXG4gIFNDQ0FJSG9tZUxvZ29XcmFwcGVyLFxuICBTQ0NBSUhvbWVNYWlhSGVhZGVyU3RhY2ssXG4gIFNDQ0FJSG9tZUR5bmFtaWNTZWN0aW9uLFxufSBmcm9tICcuL3N0eWxlcydcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdmFsaWRhdGVJc01haWEgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy92YWxpZGF0ZUlzTWFpYSdcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uL0NoYXRGb290ZXIvQ2hhdEZvb3RlcidcbmltcG9ydCB7IEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyB9IGZyb20gJy4uLy4uL2F0b21zL0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucydcbmltcG9ydCB7IEZyZXF1ZW50bHlVc2VkQWN0aW9ucyB9IGZyb20gJy4uLy4uL2F0b21zL0ZyZXF1ZW50bHlVc2VkQWN0aW9ucydcbmltcG9ydCB7IHVzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucydcbmltcG9ydCB7IHVzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucydcbmltcG9ydCB7IE1BSUFJc29sb2dvIH0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMvTUFJQUlzb2xvZ28nXG5pbXBvcnQgeyBUZW1wbGF0ZUdyYWRpZW50SWNvbiB9IGZyb20gJy4uLy4uL2F0b21zL2ljb25zL1RlbXBsYXRlR3JhZGllbnRJY29uJ1xuaW1wb3J0IHsgQ2hhdEFJSG9tZU1haWFrZXIgfSBmcm9tICcuL0NoYXRBSUhvbWVNYWlha2VyJ1xuXG50eXBlIENoYXRBSUhvbWVQcm9wcyA9IHtcbiAgb25TdGFydENoYXQ6IChcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdIHwgbnVsbCxcbiAgICBmYXFJZD86IHN0cmluZyxcbiAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZyxcbiAgICBtZW50aW9ucz86IG51bGwsXG4gICAgZnVhSWQ/OiBzdHJpbmdcbiAgKSA9PiB2b2lkXG4gIGhhbmRsZXJzOiBSZWNvcmQ8b3B0aW9ucywgKCkgPT4gdm9pZD5cbiAgZXhwYW5kZWQ/OiBib29sZWFuXG4gIGZsb2F0aW5nPzogYm9vbGVhblxufVxuXG5leHBvcnQgZW51bSBGcmVxdWVudFF1ZXN0aW9ucyB7XG4gIHJlbnRhYmlsaWRhZF9wcm95ZWN0byA9ICdyZW50YWJpbGlkYWRfcHJveWVjdG8nLFxuICBhdmFuY2VfcHJveWVjdG8gPSAnYXZhbmNlX3Byb3llY3RvJyxcbn1cblxuZXhwb3J0IGNvbnN0IENoYXRBSUhvbWUgPSAoeyBoYW5kbGVycywgb25TdGFydENoYXQsIGV4cGFuZGVkLCBmbG9hdGluZyB9OiBDaGF0QUlIb21lUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0LCBpMThuIH0gPSB1c2VUKClcbiAgY29uc3QgeyBhZ2VudCwgc2VjdGlvbiB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG5cbiAgY29uc3QgaXNNQUlBID0gdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpXG4gIGNvbnN0IGZsb2F0aW5nQ3VzdG9tQ2VudGVyID0gISEoZmxvYXRpbmcgJiYgYWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nKVxuICBjb25zdCBsYW5nID0gaTE4bi5sYW5ndWFnZSA9PT0gJ2JyJyA/ICdwdCcgOiBpMThuLmxhbmd1YWdlXG5cbiAgY29uc3Qgc3VtbWFyeVByb2plY3RBY2Nlc3MgPVxuICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmXG4gICAgKFN0cmluZyh3aW5kb3cuTUFJQV9QUk9KRUNUX1NVTU1BUllfRkVBVFVSRV9BQ0NFU1MpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyB8fFxuICAgICAgU3RyaW5nKHdpbmRvdy5tYWlhUHJvamVjdFN1bW1hcnlBY2Nlc3MpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJylcbiAgY29uc3QgZmFxc0FjY2VzcyA9IHRydWVcbiAgY29uc3Qgc2hvd1Byb2plY3RTdW1tYXJ5ID0gISEoaXNNQUlBICYmIHN1bW1hcnlQcm9qZWN0QWNjZXNzKVxuICBjb25zdCBpc01haWFrZXIgPSBhZ2VudD8uZW50aXR5ID09PSAnZ2xvYmFsJyAmJiAvKG1haWFrZXJ8bWFya2V0cGxhY2UpL2kudGVzdChhZ2VudD8ubmFtZSB8fCAnJylcbiAgLy8gRlVBIHkgRkFRIHNvbG8gYXBsaWNhbiBhIGFnZW50ZXMgY2xvbmUgKGxvcyBjdXN0b20gbm8gbGFzIHRpZW5lbiBoYWJpbGl0YWRhcyBwb3IgYWhvcmEpLlxuICAvLyBNYWlha2VyIChjbG9uZSBnbG9iYWwpIHF1ZWRhIGV4Y2x1aWRvIGNvbW8gYW50ZXMuXG4gIGNvbnN0IGhvbWVMaXN0c0FnZW50SWQgPSBpc01BSUEgJiYgIWlzTWFpYWtlciA/IGFnZW50Py5pZCA6IHVuZGVmaW5lZFxuICBjb25zdCB7IGFjdGlvbnM6IGFnZW50RnVhcywgbG9hZGluZzogZnVhc0xvYWRpbmcgfSA9IHVzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucyhob21lTGlzdHNBZ2VudElkLCBzZWN0aW9uKVxuICBjb25zdCB7XG4gICAgZmFxczogYWdlbnRGYXFzLFxuICAgIGxvYWRpbmc6IGZhcXNMb2FkaW5nLFxuICAgIGhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyxcbiAgfSA9IHVzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyhob21lTGlzdHNBZ2VudElkLCBsYW5nKVxuICBjb25zdCBmYXFzRmV0Y2hSZWYgPSB1c2VSZWY8eyBhZ2VudElkOiBzdHJpbmc7IGxhbmc6IHN0cmluZyB9IHwgbnVsbD4obnVsbClcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzTUFJQSB8fCBpc01haWFrZXIgfHwgc2VjdGlvbiA9PT0gJ3Rhc2snIHx8ICFhZ2VudD8uaWQpIHJldHVyblxuICAgIGNvbnN0IGN1cnJlbnRLZXkgPSBgJHthZ2VudC5pZH0tJHtsYW5nfWBcbiAgICBjb25zdCBsYXN0S2V5ID0gZmFxc0ZldGNoUmVmLmN1cnJlbnQgPyBgJHtmYXFzRmV0Y2hSZWYuY3VycmVudC5hZ2VudElkfS0ke2ZhcXNGZXRjaFJlZi5jdXJyZW50Lmxhbmd9YCA6IG51bGxcbiAgICBpZiAoY3VycmVudEtleSAhPT0gbGFzdEtleSkge1xuICAgICAgZmFxc0ZldGNoUmVmLmN1cnJlbnQgPSB7IGFnZW50SWQ6IGFnZW50LmlkLCBsYW5nIH1cbiAgICAgIGhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyh7IGFnZW50SWQ6IGFnZW50LmlkLCBsYW5nIH0pXG4gICAgfVxuICB9LCBbaXNNYWlha2VyLCBzZWN0aW9uLCBhZ2VudD8uaWQsIGxhbmcsIGhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc10pXG5cbiAgY29uc3Qgc2hvdWxkU2hvd0ZhcXMgPSAhaXNNYWlha2VyICYmIHNlY3Rpb24gIT09ICd0YXNrJyAmJiBmYXFzQWNjZXNzICYmIChhZ2VudEZhcXMubGVuZ3RoID4gMCB8fCBmYXFzTG9hZGluZylcbiAgY29uc3Qgc2hvdWxkU2hvd0Z1YXMgPSAhaXNNYWlha2VyICYmIChhZ2VudEZ1YXMubGVuZ3RoID4gMCB8fCBmdWFzTG9hZGluZylcbiAgY29uc3QgaGFzQW55SG9tZUxpc3RDb250ZW50ID1cbiAgICAoIWlzTWFpYWtlciAmJiBzZWN0aW9uICE9PSAndGFzaycgJiYgZmFxc0FjY2VzcyAmJiBhZ2VudEZhcXMubGVuZ3RoID4gMCkgfHwgKCFpc01haWFrZXIgJiYgYWdlbnRGdWFzLmxlbmd0aCA+IDApXG5cbiAgY29uc3Qgc2hvd1Byb2plY3RTdW1tYXJ5Q2FyZCA9IHNob3dQcm9qZWN0U3VtbWFyeSAmJiBhZ2VudD8uZW50aXR5ID09PSAncHJvamVjdCdcbiAgY29uc3Qgc2hvd0ZBUXMgPSAhIShoYXNBbnlIb21lTGlzdENvbnRlbnQgfHwgc2hvd1Byb2plY3RTdW1tYXJ5Q2FyZCB8fCBpc01haWFrZXIpXG4gIGNvbnN0IGhvbWVTY3JvbGxhYmxlTGF5b3V0ID0gc2hvd0ZBUXNcbiAgY29uc3Qgc2hvd0R5bmFtaWNTZWN0aW9uID0gaGFzQW55SG9tZUxpc3RDb250ZW50IHx8IHNob3VsZFNob3dGYXFzIHx8IHNob3VsZFNob3dGdWFzIHx8IGlzTWFpYWtlclxuXG4gIC8vIEzDs2dpY2EgZGVsIHNjcm9sbCBjb24gZ3JhZGllbnRlc1xuICBjb25zdCBjb250ZW50Q29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBbc2hvd1RvcEdyYWRpZW50LCBzZXRTaG93VG9wR3JhZGllbnRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtzaG93Qm90dG9tR3JhZGllbnQsIHNldFNob3dCb3R0b21HcmFkaWVudF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2lzU2Nyb2xsaW5nLCBzZXRJc1Njcm9sbGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3Qgc2Nyb2xsVGltZW91dFJlZiA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGw+KG51bGwpXG5cbiAgLy8gU2FsdWRvIGFsZWF0b3JpbyBkZXNkZSBhZ2VudC5pbnRyb2R1Y3Rpb24gKGFycmF5IGNvbiAzIHZhcmlhbnRlcyBkZWwgYmFjaykuIEVuIHRhc2ssIG1lbnNhamUgZmlqbyBpMThuLiBNYWlha2VyIHNpbiBpbnRybyBkZWwgYWdlbnRlLlxuICBjb25zdCBncmVldGluZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChpc01haWFrZXIpIHJldHVybiAnJ1xuICAgIGlmIChzZWN0aW9uID09PSAndGFzaycpIHJldHVybiB0KCdob21lTWVudS50YXNrR3JlZXRpbmcnKVxuICAgIGNvbnN0IGludHJvID0gYWdlbnQ/LmludHJvZHVjdGlvblxuICAgIGlmICghaW50cm8pIHJldHVybiAnJ1xuICAgIGlmIChBcnJheS5pc0FycmF5KGludHJvKSAmJiBpbnRyby5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gaW50cm9bTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogaW50cm8ubGVuZ3RoKV1cbiAgICB9XG4gICAgcmV0dXJuIHR5cGVvZiBpbnRybyA9PT0gJ3N0cmluZycgPyBpbnRybyA6ICcnXG4gIH0sIFthZ2VudD8uaWQsIGFnZW50Py5pbnRyb2R1Y3Rpb24sIHNlY3Rpb24sIGlzTWFpYWtlciwgdF0pXG5cbiAgY29uc3QgY2hlY2tTY3JvbGwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgY29udGFpbmVyID0gY29udGVudENvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgaWYgKCFjb250YWluZXIgfHwgIWhvbWVTY3JvbGxhYmxlTGF5b3V0KSByZXR1cm5cblxuICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gY29udGFpbmVyXG4gICAgY29uc3QgaXNTY3JvbGxhYmxlID0gc2Nyb2xsSGVpZ2h0ID4gY2xpZW50SGVpZ2h0XG4gICAgY29uc3QgaXNBdFRvcCA9IHNjcm9sbFRvcCA9PT0gMFxuICAgIGNvbnN0IGlzQXRCb3R0b20gPSBzY3JvbGxUb3AgKyBjbGllbnRIZWlnaHQgPj0gc2Nyb2xsSGVpZ2h0IC0gMVxuXG4gICAgc2V0U2hvd1RvcEdyYWRpZW50KGlzU2Nyb2xsYWJsZSAmJiAhaXNBdFRvcClcbiAgICBzZXRTaG93Qm90dG9tR3JhZGllbnQoaXNTY3JvbGxhYmxlICYmICFpc0F0Qm90dG9tKVxuICAgIHNldElzU2Nyb2xsaW5nKHRydWUpXG5cbiAgICBpZiAoc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50KSB7XG4gICAgICBjbGVhclRpbWVvdXQoc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50KVxuICAgIH1cblxuICAgIHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc2V0SXNTY3JvbGxpbmcoZmFsc2UpXG4gICAgfSwgMTUwKVxuICB9LCBbaG9tZVNjcm9sbGFibGVMYXlvdXRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFob21lU2Nyb2xsYWJsZUxheW91dCkge1xuICAgICAgc2V0U2hvd1RvcEdyYWRpZW50KGZhbHNlKVxuICAgICAgc2V0U2hvd0JvdHRvbUdyYWRpZW50KGZhbHNlKVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudFxuICAgIGlmICghY29udGFpbmVyKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY2hlY2tTY3JvbGwoKVxuICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBjaGVja1Njcm9sbClcblxuICAgIGNvbnN0IHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoY2hlY2tTY3JvbGwsIDEwMClcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgY2hlY2tTY3JvbGwpXG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKVxuICAgICAgaWYgKHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudCkge1xuICAgICAgICBjbGVhclRpbWVvdXQoc2Nyb2xsVGltZW91dFJlZi5jdXJyZW50KVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2hvbWVTY3JvbGxhYmxlTGF5b3V0LCBjaGVja1Njcm9sbF0pXG5cbiAgY29uc3QgcmVuZGVySGVhZGVyQ29udGVudCA9ICgpID0+IHtcbiAgICBpZiAoIWlzTUFJQSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lcj5cbiAgICAgICAgICA8U0NDQUlIb21lQWdlbnRJbmZvPlxuICAgICAgICAgICAge2FnZW50Py5lbW9qaX0ge2FnZW50Py5uYW1lfVxuICAgICAgICAgIDwvU0NDQUlIb21lQWdlbnRJbmZvPlxuICAgICAgICAgIHthZ2VudD8uY3JlYXRlZF9ieSAmJiAhaXNNQUlBICYmIChcbiAgICAgICAgICAgIDxTQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXI+XG4gICAgICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICAgICAgdGl0bGU9e1xuICAgICAgICAgICAgICAgICAgYWdlbnQ/LmNyZWF0ZWRfYnk/LmlzX2RlbGV0ZWQgPyB0KCdob21lTWVudS5jcmVhdGVkQnlUb29sdGlwRGVsZXRlZCcpIDogdCgnaG9tZU1lbnUuY3JlYXRlZEJ5VG9vbHRpcCcpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHQ+XG4gICAgICAgICAgICAgICAgICB7dCgnaG9tZU1lbnUuY3JlYXRlZEJ5Jyl9eycgJ31cbiAgICAgICAgICAgICAgICAgIDxTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0TmFtZT57YWdlbnQ/LmNyZWF0ZWRfYnk/Lm5hbWV9PC9TQ0NBSUhvbWVDcmVhdGVkQnlUZXh0TmFtZT5cbiAgICAgICAgICAgICAgICA8L1NDQ0FJSG9tZUNyZWF0ZWRCeVRleHQ+XG4gICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgIDwvU0NDQUlIb21lQ3JlYXRlZEJ5Q29udGFpbmVyPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU0NDQUlIb21lQWdlbnRJbmZvQ29udGFpbmVyPlxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlIb21lTWFpYUhlYWRlclN0YWNrICRub0dhcD17IWdyZWV0aW5nfT5cbiAgICAgICAgPFNDQ0FJSG9tZUljb25Db250YWluZXI+XG4gICAgICAgICAgPFNDQ0FJSG9tZUxvZ29XcmFwcGVyPlxuICAgICAgICAgICAgPE1BSUFJc29sb2dvIC8+XG4gICAgICAgICAgPC9TQ0NBSUhvbWVMb2dvV3JhcHBlcj5cbiAgICAgICAgPC9TQ0NBSUhvbWVJY29uQ29udGFpbmVyPlxuICAgICAgICB7Z3JlZXRpbmcgPyA8U0NDQUlIb21lR3JlZXRpbmc+e2dyZWV0aW5nfTwvU0NDQUlIb21lR3JlZXRpbmc+IDogbnVsbH1cbiAgICAgIDwvU0NDQUlIb21lTWFpYUhlYWRlclN0YWNrPlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJSG9tZUNvbnRhaW5lciBzaG93RkFRcz17c2hvd0ZBUXN9PlxuICAgICAge2hvbWVTY3JvbGxhYmxlTGF5b3V0ICYmIDxTQ0NBSUhvbWVHcmFkaWVudFRvcCAkc2hvdz17c2hvd1RvcEdyYWRpZW50fSAvPn1cbiAgICAgIDxTQ0NBSUhvbWVDb250ZW50XG4gICAgICAgIHJlZj17Y29udGVudENvbnRhaW5lclJlZn1cbiAgICAgICAgc2hvd0ZBUXM9e2hvbWVTY3JvbGxhYmxlTGF5b3V0fVxuICAgICAgICAkaXNBZ2VudFZpZXc9eyFpc01BSUF9XG4gICAgICAgICRmbG9hdGluZ0N1c3RvbUNlbnRlcj17ZmxvYXRpbmdDdXN0b21DZW50ZXJ9XG4gICAgICA+XG4gICAgICAgIDxTQ0NBSUhvbWVDb250ZW50SW5uZXJcbiAgICAgICAgICBzaG93RkFRcz17aG9tZVNjcm9sbGFibGVMYXlvdXR9XG4gICAgICAgICAgJGlzQWdlbnRWaWV3PXshaXNNQUlBfVxuICAgICAgICAgICRmbG9hdGluZ0N1c3RvbUNlbnRlcj17ZmxvYXRpbmdDdXN0b21DZW50ZXJ9XG4gICAgICAgID5cbiAgICAgICAgICA8U0NDQUlIb21lSGVhZGVyXG4gICAgICAgICAgICAkZ2FwPXtpc01BSUEgJiYgc2VjdGlvbiAhPT0gJ3Byb2plY3QnID8gJzhweCcgOiAnMjBweCd9XG4gICAgICAgICAgICAkbWF4V2lkdGg9e2lzTUFJQSA/ICcxMDAlJyA6ICczODBweCd9XG4gICAgICAgICAgICAkaXNBZ2VudFZpZXc9eyFpc01BSUF9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3JlbmRlckhlYWRlckNvbnRlbnQoKX1cblxuICAgICAgICAgICAge3NlY3Rpb24gIT09ICdwcm9qZWN0JyAmJiAoXG4gICAgICAgICAgICAgIDxTQ0NBSUhvbWVJbnRyb2R1Y3Rpb24gZXhwYW5kZWQ9e2V4cGFuZGVkfT57IWlzTUFJQSAmJiBhZ2VudD8uaW50cm9kdWN0aW9ufTwvU0NDQUlIb21lSW50cm9kdWN0aW9uPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L1NDQ0FJSG9tZUhlYWRlcj5cbiAgICAgICAgICB7c2hvd1Byb2plY3RTdW1tYXJ5Q2FyZCAmJiAoXG4gICAgICAgICAgICA8U0NDQUhXcmFwcGVyU3VtbWFyeVByb2plY3Qgb25DbGljaz17aGFuZGxlcnMucHJvamVjdFN1bW1hcnl9PlxuICAgICAgICAgICAgICA8U0NDQUlIb21lUHJvamVjdFN1bW1hcnk+XG4gICAgICAgICAgICAgICAgPFRlbXBsYXRlR3JhZGllbnRJY29uIGhlaWdodD17MjR9IHdpZHRoPXsyNH0gLz5cbiAgICAgICAgICAgICAgPC9TQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeT5cbiAgICAgICAgICAgICAgPFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5Q29udGVudD5cbiAgICAgICAgICAgICAgICA8U0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZT57dCgnaG9tZU1lbnUucHJvamVjdFN1bW1hcnkudGl0bGUnKX08L1NDQ0FJSG9tZVByb2plY3RTdW1tYXJ5VGl0bGU+XG4gICAgICAgICAgICAgICAgPFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICB7dCgnaG9tZU1lbnUucHJvamVjdFN1bW1hcnkuZGVzY3JpcHRpb24nKX1cbiAgICAgICAgICAgICAgICA8L1NDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgIDwvU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50PlxuICAgICAgICAgICAgPC9TQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdD5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtzaG93RHluYW1pY1NlY3Rpb24gJiYgKFxuICAgICAgICAgICAgPFNDQ0FJSG9tZUR5bmFtaWNTZWN0aW9uICRncm93PXtpc01haWFrZXJ9PlxuICAgICAgICAgICAgICB7c2hvdWxkU2hvd0ZhcXMgJiYgKFxuICAgICAgICAgICAgICAgIDxGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNcbiAgICAgICAgICAgICAgICAgIG9uU3RhcnRDaGF0PXtvblN0YXJ0Q2hhdH1cbiAgICAgICAgICAgICAgICAgIHNob3dGQVFzPXtzaG93RkFRc31cbiAgICAgICAgICAgICAgICAgIHNob3dQcm9qZWN0U3VtbWFyeT17c2hvd1Byb2plY3RTdW1tYXJ5fVxuICAgICAgICAgICAgICAgICAgYWdlbnRJZD17YWdlbnQ/LmlkfVxuICAgICAgICAgICAgICAgICAgbGFuZz17bGFuZ31cbiAgICAgICAgICAgICAgICAgIGlzU2Nyb2xsaW5nPXtpc1Njcm9sbGluZ31cbiAgICAgICAgICAgICAgICAgIGZhcXM9e2FnZW50RmFxc31cbiAgICAgICAgICAgICAgICAgIGxvYWRpbmc9e2ZhcXNMb2FkaW5nfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHtzaG91bGRTaG93RnVhcyAmJiAoXG4gICAgICAgICAgICAgICAgPEZyZXF1ZW50bHlVc2VkQWN0aW9uc1xuICAgICAgICAgICAgICAgICAgb25TdGFydENoYXQ9e29uU3RhcnRDaGF0fVxuICAgICAgICAgICAgICAgICAgYWdlbnRJZD17YWdlbnQ/LmlkfVxuICAgICAgICAgICAgICAgICAgaXNTY3JvbGxpbmc9e2lzU2Nyb2xsaW5nfVxuICAgICAgICAgICAgICAgICAgYWN0aW9ucz17YWdlbnRGdWFzfVxuICAgICAgICAgICAgICAgICAgbG9hZGluZz17ZnVhc0xvYWRpbmd9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge2lzTWFpYWtlciA/IDxDaGF0QUlIb21lTWFpYWtlciBvblN0YXJ0Q2hhdD17b25TdGFydENoYXR9IC8+IDogbnVsbH1cbiAgICAgICAgICAgIDwvU0NDQUlIb21lRHluYW1pY1NlY3Rpb24+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TQ0NBSUhvbWVDb250ZW50SW5uZXI+XG4gICAgICA8L1NDQ0FJSG9tZUNvbnRlbnQ+XG4gICAgICB7aG9tZVNjcm9sbGFibGVMYXlvdXQgJiYgPFNDQ0FJSG9tZUdyYWRpZW50Qm90dG9tICRzaG93PXtzaG93Qm90dG9tR3JhZGllbnR9IC8+fVxuICAgIDwvU0NDQUlIb21lQ29udGFpbmVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sUUFBUSxPQUFPO0FBRXpFLFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsSUFBSSxRQUFRLHFCQUFxQjtBQUkxQyxTQUNFQyxrQkFBa0IsRUFDbEJDLGdCQUFnQixFQUNoQkMscUJBQXFCLEVBQ3JCQyxvQkFBb0IsRUFDcEJDLHVCQUF1QixFQUN2QkMsZUFBZSxFQUNmQyxpQkFBaUIsRUFDakJDLDJCQUEyQixFQUMzQkMsa0JBQWtCLEVBQ2xCQyx1QkFBdUIsRUFDdkJDLDhCQUE4QixFQUM5QkMsNEJBQTRCLEVBQzVCQyxrQ0FBa0MsRUFDbENDLDBCQUEwQixFQUMxQkMscUJBQXFCLEVBQ3JCQywyQkFBMkIsRUFDM0JDLHNCQUFzQixFQUN0QkMsMEJBQTBCLEVBQzFCQyxzQkFBc0IsRUFDdEJDLG9CQUFvQixFQUNwQkMsd0JBQXdCLEVBQ3hCQyx1QkFBdUIsUUFDbEIsVUFBVTtBQUNqQixTQUFTQyxnQkFBZ0IsUUFBUSxpQ0FBaUM7QUFDbEUsU0FBU0MsY0FBYyxRQUFRLHdDQUF3QztBQUd2RSxTQUFTQyx3QkFBd0IsUUFBUSxzQ0FBc0M7QUFDL0UsU0FBU0MscUJBQXFCLFFBQVEsbUNBQW1DO0FBQ3pFLFNBQVNDLHdC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
235
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJ1c2VUIiwiU0NDQUlIb21lQ29udGFpbmVyIiwiU0NDQUlIb21lQ29udGVudCIsIlNDQ0FJSG9tZUNvbnRlbnRJbm5lciIsIlNDQ0FJSG9tZUdyYWRpZW50VG9wIiwiU0NDQUlIb21lR3JhZGllbnRCb3R0b20iLCJTQ0NBSUhvbWVIZWFkZXIiLCJTQ0NBSUhvbWVHcmVldGluZyIsIlNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lciIsIlNDQ0FJSG9tZUFnZW50SW5mbyIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50IiwiU0NDQUlIb21lUHJvamVjdFN1bW1hcnlUaXRsZSIsIlNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5RGVzY3JpcHRpb24iLCJTQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdCIsIlNDQ0FJSG9tZUludHJvZHVjdGlvbiIsIlNDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lciIsIlNDQ0FJSG9tZUNyZWF0ZWRCeVRleHQiLCJTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0TmFtZSIsIlNDQ0FJSG9tZUljb25Db250YWluZXIiLCJTQ0NBSUhvbWVMb2dvV3JhcHBlciIsIlNDQ0FJSG9tZU1haWFIZWFkZXJTdGFjayIsIlNDQ0FJSG9tZUR5bmFtaWNTZWN0aW9uIiwidXNlR2xvYmFsQ29udGV4dCIsInZhbGlkYXRlSXNNYWlhIiwiaXNNYWlha2VyQWdlbnQiLCJGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMiLCJGcmVxdWVudGx5VXNlZEFjdGlvbnMiLCJ1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMiLCJ1c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMiLCJNQUlBSXNvbG9nbyIsIlRlbXBsYXRlR3JhZGllbnRJY29uIiwiQ2hhdEFJSG9tZU1haWFrZXIiLCJqc3hzIiwiX2pzeHMiLCJqc3giLCJfanN4IiwiRnJlcXVlbnRRdWVzdGlvbnMiLCJDaGF0QUlIb21lIiwiX3JlZiIsImhhbmRsZXJzIiwib25TdGFydENoYXQiLCJleHBhbmRlZCIsImZsb2F0aW5nIiwiX3VzZVQiLCJ0IiwiaTE4biIsIl91c2VHbG9iYWxDb250ZXh0IiwiYWdlbnQiLCJzZWN0aW9uIiwiaXNNQUlBIiwiZmxvYXRpbmdDdXN0b21DZW50ZXIiLCJ0eXBlIiwibGFuZyIsImxhbmd1YWdlIiwic3VtbWFyeVByb2plY3RBY2Nlc3MiLCJ3aW5kb3ciLCJTdHJpbmciLCJNQUlBX1BST0pFQ1RfU1VNTUFSWV9GRUFUVVJFX0FDQ0VTUyIsInRvTG93ZXJDYXNlIiwibWFpYVByb2plY3RTdW1tYXJ5QWNjZXNzIiwiZmFxc0FjY2VzcyIsInNob3dQcm9qZWN0U3VtbWFyeSIsImlzTWFpYWtlciIsImhvbWVMaXN0c0FnZW50SWQiLCJpZCIsInVuZGVmaW5lZCIsIl91c2VGcmVxdWVudGx5VXNlZEFjdCIsImFnZW50RnVhcyIsImFjdGlvbnMiLCJmdWFzTG9hZGluZyIsImxvYWRpbmciLCJfdXNlRnJlcXVlbnRseUFza2VkUXUiLCJhZ2VudEZhcXMiLCJmYXFzIiwiZmFxc0xvYWRpbmciLCJoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMiLCJmYXFzRmV0Y2hSZWYiLCJjdXJyZW50S2V5IiwiY29uY2F0IiwibGFzdEtleSIsImN1cnJlbnQiLCJhZ2VudElkIiwic2hvdWxkU2hvd0ZhcXMiLCJsZW5ndGgiLCJzaG91bGRTaG93RnVhcyIsImhhc0FueUhvbWVMaXN0Q29udGVudCIsInNob3dQcm9qZWN0U3VtbWFyeUNhcmQiLCJlbnRpdHkiLCJzaG93RkFRcyIsImhvbWVTY3JvbGxhYmxlTGF5b3V0Iiwic2hvd0R5bmFtaWNTZWN0aW9uIiwiY29udGVudENvbnRhaW5lclJlZiIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInNob3dUb3BHcmFkaWVudCIsInNldFNob3dUb3BHcmFkaWVudCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2hvd0JvdHRvbUdyYWRpZW50Iiwic2V0U2hvd0JvdHRvbUdyYWRpZW50IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc1Njcm9sbGluZyIsInNldElzU2Nyb2xsaW5nIiwic2Nyb2xsVGltZW91dFJlZiIsImdyZWV0aW5nIiwiaW50cm8iLCJpbnRyb2R1Y3Rpb24iLCJBcnJheSIsImlzQXJyYXkiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJjaGVja1Njcm9sbCIsImNvbnRhaW5lciIsInNjcm9sbFRvcCIsInNjcm9sbEhlaWdodCIsImNsaWVudEhlaWdodCIsImlzU2Nyb2xsYWJsZSIsImlzQXRUb3AiLCJpc0F0Qm90dG9tIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsImFkZEV2ZW50TGlzdGVuZXIiLCJ0aW1lb3V0SWQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicmVuZGVySGVhZGVyQ29udGVudCIsIl9hZ2VudCRjcmVhdGVkX2J5IiwiX2FnZW50JGNyZWF0ZWRfYnkyIiwiY2hpbGRyZW4iLCJlbW9qaSIsIm5hbWUiLCJjcmVhdGVkX2J5IiwidGl0bGUiLCJpc19kZWxldGVkIiwiJG5vR2FwIiwiJHNob3ciLCJyZWYiLCIkaXNBZ2VudFZpZXciLCIkZmxvYXRpbmdDdXN0b21DZW50ZXIiLCIkZ2FwIiwiJG1heFdpZHRoIiwib25DbGljayIsInByb2plY3RTdW1tYXJ5IiwiaGVpZ2h0Iiwid2lkdGgiLCIkZ3JvdyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlIb21lL0NoYXRBSUhvbWUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2Z1bmN0aW9uLWNvbXBvbmVudC1kZWZpbml0aW9uICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9jbGljay1ldmVudHMtaGF2ZS1rZXktZXZlbnRzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9uby1zdGF0aWMtZWxlbWVudC1pbnRlcmFjdGlvbnMgKi9cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5cbmltcG9ydCB7IG9wdGlvbnMgfSBmcm9tICcuLi9DaGF0QUlNb2RhbC9jb25zdGFudHMnXG5cbmltcG9ydCB7XG4gIFNDQ0FJSG9tZUNvbnRhaW5lcixcbiAgU0NDQUlIb21lQ29udGVudCxcbiAgU0NDQUlIb21lQ29udGVudElubmVyLFxuICBTQ0NBSUhvbWVHcmFkaWVudFRvcCxcbiAgU0NDQUlIb21lR3JhZGllbnRCb3R0b20sXG4gIFNDQ0FJSG9tZUhlYWRlcixcbiAgU0NDQUlIb21lR3JlZXRpbmcsXG4gIFNDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lcixcbiAgU0NDQUlIb21lQWdlbnRJbmZvLFxuICBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeSxcbiAgU0NDQUlIb21lUHJvamVjdFN1bW1hcnlDb250ZW50LFxuICBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeVRpdGxlLFxuICBTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeURlc2NyaXB0aW9uLFxuICBTQ0NBSFdyYXBwZXJTdW1tYXJ5UHJvamVjdCxcbiAgU0NDQUlIb21lSW50cm9kdWN0aW9uLFxuICBTQ0NBSUhvbWVDcmVhdGVkQnlDb250YWluZXIsXG4gIFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHQsXG4gIFNDQ0FJSG9tZUNyZWF0ZWRCeVRleHROYW1lLFxuICBTQ0NBSUhvbWVJY29uQ29udGFpbmVyLFxuICBTQ0NBSUhvbWVMb2dvV3JhcHBlcixcbiAgU0NDQUlIb21lTWFpYUhlYWRlclN0YWNrLFxuICBTQ0NBSUhvbWVEeW5hbWljU2VjdGlvbixcbn0gZnJvbSAnLi9zdHlsZXMnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHZhbGlkYXRlSXNNYWlhIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvdmFsaWRhdGVJc01haWEnXG5pbXBvcnQgeyBpc01haWFrZXJBZ2VudCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2FnZW50RGlzcGxheU5hbWUnXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgQXR0YWNobWVudEZpbGUgfSBmcm9tICcuLi9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMgfSBmcm9tICcuLi8uLi9hdG9tcy9GcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMnXG5pbXBvcnQgeyBGcmVxdWVudGx5VXNlZEFjdGlvbnMgfSBmcm9tICcuLi8uLi9hdG9tcy9GcmVxdWVudGx5VXNlZEFjdGlvbnMnXG5pbXBvcnQgeyB1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMnXG5pbXBvcnQgeyB1c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMnXG5pbXBvcnQgeyBNQUlBSXNvbG9nbyB9IGZyb20gJy4uLy4uL2F0b21zL2ljb25zL01BSUFJc29sb2dvJ1xuaW1wb3J0IHsgVGVtcGxhdGVHcmFkaWVudEljb24gfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucy9UZW1wbGF0ZUdyYWRpZW50SWNvbidcbmltcG9ydCB7IENoYXRBSUhvbWVNYWlha2VyIH0gZnJvbSAnLi9DaGF0QUlIb21lTWFpYWtlcidcblxudHlwZSBDaGF0QUlIb21lUHJvcHMgPSB7XG4gIG9uU3RhcnRDaGF0OiAoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSB8IG51bGwsXG4gICAgZmFxSWQ/OiBzdHJpbmcsXG4gICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmcsXG4gICAgbWVudGlvbnM/OiBudWxsLFxuICAgIGZ1YUlkPzogc3RyaW5nXG4gICkgPT4gdm9pZFxuICBoYW5kbGVyczogUmVjb3JkPG9wdGlvbnMsICgpID0+IHZvaWQ+XG4gIGV4cGFuZGVkPzogYm9vbGVhblxuICBmbG9hdGluZz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGVudW0gRnJlcXVlbnRRdWVzdGlvbnMge1xuICByZW50YWJpbGlkYWRfcHJveWVjdG8gPSAncmVudGFiaWxpZGFkX3Byb3llY3RvJyxcbiAgYXZhbmNlX3Byb3llY3RvID0gJ2F2YW5jZV9wcm95ZWN0bycsXG59XG5cbmV4cG9ydCBjb25zdCBDaGF0QUlIb21lID0gKHsgaGFuZGxlcnMsIG9uU3RhcnRDaGF0LCBleHBhbmRlZCwgZmxvYXRpbmcgfTogQ2hhdEFJSG9tZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCwgaTE4biB9ID0gdXNlVCgpXG4gIGNvbnN0IHsgYWdlbnQsIHNlY3Rpb24gfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuXG4gIGNvbnN0IGlzTUFJQSA9IHZhbGlkYXRlSXNNYWlhKGFnZW50IGFzIEFnZW50KVxuICBjb25zdCBmbG9hdGluZ0N1c3RvbUNlbnRlciA9ICEhKGZsb2F0aW5nICYmIGFnZW50Py50eXBlID09PSAnY3VzdG9tJylcbiAgY29uc3QgbGFuZyA9IGkxOG4ubGFuZ3VhZ2UgPT09ICdicicgPyAncHQnIDogaTE4bi5sYW5ndWFnZVxuXG4gIGNvbnN0IHN1bW1hcnlQcm9qZWN0QWNjZXNzID1cbiAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgIChTdHJpbmcod2luZG93Lk1BSUFfUFJPSkVDVF9TVU1NQVJZX0ZFQVRVUkVfQUNDRVNTKS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScgfHxcbiAgICAgIFN0cmluZyh3aW5kb3cubWFpYVByb2plY3RTdW1tYXJ5QWNjZXNzKS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScpXG4gIGNvbnN0IGZhcXNBY2Nlc3MgPSB0cnVlXG4gIGNvbnN0IHNob3dQcm9qZWN0U3VtbWFyeSA9ICEhKGlzTUFJQSAmJiBzdW1tYXJ5UHJvamVjdEFjY2VzcylcbiAgY29uc3QgaXNNYWlha2VyID0gaXNNYWlha2VyQWdlbnQoYWdlbnQpXG4gIC8vIEZVQSB5IEZBUSBzb2xvIGFwbGljYW4gYSBhZ2VudGVzIGNsb25lIChsb3MgY3VzdG9tIG5vIGxhcyB0aWVuZW4gaGFiaWxpdGFkYXMgcG9yIGFob3JhKS5cbiAgLy8gTWFpYWtlciAoY2xvbmUgZ2xvYmFsKSBxdWVkYSBleGNsdWlkbyBjb21vIGFudGVzLlxuICBjb25zdCBob21lTGlzdHNBZ2VudElkID0gaXNNQUlBICYmICFpc01haWFrZXIgPyBhZ2VudD8uaWQgOiB1bmRlZmluZWRcbiAgY29uc3QgeyBhY3Rpb25zOiBhZ2VudEZ1YXMsIGxvYWRpbmc6IGZ1YXNMb2FkaW5nIH0gPSB1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMoaG9tZUxpc3RzQWdlbnRJZCwgc2VjdGlvbilcbiAgY29uc3Qge1xuICAgIGZhcXM6IGFnZW50RmFxcyxcbiAgICBsb2FkaW5nOiBmYXFzTG9hZGluZyxcbiAgICBoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMsXG4gIH0gPSB1c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMoaG9tZUxpc3RzQWdlbnRJZCwgbGFuZylcbiAgY29uc3QgZmFxc0ZldGNoUmVmID0gdXNlUmVmPHsgYWdlbnRJZDogc3RyaW5nOyBsYW5nOiBzdHJpbmcgfSB8IG51bGw+KG51bGwpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc01BSUEgfHwgaXNNYWlha2VyIHx8IHNlY3Rpb24gPT09ICd0YXNrJyB8fCAhYWdlbnQ/LmlkKSByZXR1cm5cbiAgICBjb25zdCBjdXJyZW50S2V5ID0gYCR7YWdlbnQuaWR9LSR7bGFuZ31gXG4gICAgY29uc3QgbGFzdEtleSA9IGZhcXNGZXRjaFJlZi5jdXJyZW50ID8gYCR7ZmFxc0ZldGNoUmVmLmN1cnJlbnQuYWdlbnRJZH0tJHtmYXFzRmV0Y2hSZWYuY3VycmVudC5sYW5nfWAgOiBudWxsXG4gICAgaWYgKGN1cnJlbnRLZXkgIT09IGxhc3RLZXkpIHtcbiAgICAgIGZhcXNGZXRjaFJlZi5jdXJyZW50ID0geyBhZ2VudElkOiBhZ2VudC5pZCwgbGFuZyB9XG4gICAgICBoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMoeyBhZ2VudElkOiBhZ2VudC5pZCwgbGFuZyB9KVxuICAgIH1cbiAgfSwgW2lzTWFpYWtlciwgc2VjdGlvbiwgYWdlbnQ/LmlkLCBsYW5nLCBoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNdKVxuXG4gIGNvbnN0IHNob3VsZFNob3dGYXFzID0gIWlzTWFpYWtlciAmJiBzZWN0aW9uICE9PSAndGFzaycgJiYgZmFxc0FjY2VzcyAmJiAoYWdlbnRGYXFzLmxlbmd0aCA+IDAgfHwgZmFxc0xvYWRpbmcpXG4gIGNvbnN0IHNob3VsZFNob3dGdWFzID0gIWlzTWFpYWtlciAmJiAoYWdlbnRGdWFzLmxlbmd0aCA+IDAgfHwgZnVhc0xvYWRpbmcpXG4gIGNvbnN0IGhhc0FueUhvbWVMaXN0Q29udGVudCA9XG4gICAgKCFpc01haWFrZXIgJiYgc2VjdGlvbiAhPT0gJ3Rhc2snICYmIGZhcXNBY2Nlc3MgJiYgYWdlbnRGYXFzLmxlbmd0aCA+IDApIHx8ICghaXNNYWlha2VyICYmIGFnZW50RnVhcy5sZW5ndGggPiAwKVxuXG4gIGNvbnN0IHNob3dQcm9qZWN0U3VtbWFyeUNhcmQgPSBzaG93UHJvamVjdFN1bW1hcnkgJiYgYWdlbnQ/LmVudGl0eSA9PT0gJ3Byb2plY3QnXG4gIGNvbnN0IHNob3dGQVFzID0gISEoaGFzQW55SG9tZUxpc3RDb250ZW50IHx8IHNob3dQcm9qZWN0U3VtbWFyeUNhcmQgfHwgaXNNYWlha2VyKVxuICBjb25zdCBob21lU2Nyb2xsYWJsZUxheW91dCA9IHNob3dGQVFzXG4gIGNvbnN0IHNob3dEeW5hbWljU2VjdGlvbiA9IGhhc0FueUhvbWVMaXN0Q29udGVudCB8fCBzaG91bGRTaG93RmFxcyB8fCBzaG91bGRTaG93RnVhcyB8fCBpc01haWFrZXJcblxuICAvLyBMw7NnaWNhIGRlbCBzY3JvbGwgY29uIGdyYWRpZW50ZXNcbiAgY29uc3QgY29udGVudENvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgW3Nob3dUb3BHcmFkaWVudCwgc2V0U2hvd1RvcEdyYWRpZW50XSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbc2hvd0JvdHRvbUdyYWRpZW50LCBzZXRTaG93Qm90dG9tR3JhZGllbnRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtpc1Njcm9sbGluZywgc2V0SXNTY3JvbGxpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHNjcm9sbFRpbWVvdXRSZWYgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsPihudWxsKVxuXG4gIC8vIFNhbHVkbyBhbGVhdG9yaW8gZGVzZGUgYWdlbnQuaW50cm9kdWN0aW9uIChhcnJheSBjb24gMyB2YXJpYW50ZXMgZGVsIGJhY2spLiBFbiB0YXNrLCBtZW5zYWplIGZpam8gaTE4bi4gTWFpYWtlciBzaW4gaW50cm8gZGVsIGFnZW50ZS5cbiAgY29uc3QgZ3JlZXRpbmcgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXNNYWlha2VyKSByZXR1cm4gJydcbiAgICBpZiAoc2VjdGlvbiA9PT0gJ3Rhc2snKSByZXR1cm4gdCgnaG9tZU1lbnUudGFza0dyZWV0aW5nJylcbiAgICBjb25zdCBpbnRybyA9IGFnZW50Py5pbnRyb2R1Y3Rpb25cbiAgICBpZiAoIWludHJvKSByZXR1cm4gJydcbiAgICBpZiAoQXJyYXkuaXNBcnJheShpbnRybykgJiYgaW50cm8ubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGludHJvW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGludHJvLmxlbmd0aCldXG4gICAgfVxuICAgIHJldHVybiB0eXBlb2YgaW50cm8gPT09ICdzdHJpbmcnID8gaW50cm8gOiAnJ1xuICB9LCBbYWdlbnQ/LmlkLCBhZ2VudD8uaW50cm9kdWN0aW9uLCBzZWN0aW9uLCBpc01haWFrZXIsIHRdKVxuXG4gIGNvbnN0IGNoZWNrU2Nyb2xsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRlbnRDb250YWluZXJSZWYuY3VycmVudFxuICAgIGlmICghY29udGFpbmVyIHx8ICFob21lU2Nyb2xsYWJsZUxheW91dCkgcmV0dXJuXG5cbiAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGNvbnRhaW5lclxuICAgIGNvbnN0IGlzU2Nyb2xsYWJsZSA9IHNjcm9sbEhlaWdodCA+IGNsaWVudEhlaWdodFxuICAgIGNvbnN0IGlzQXRUb3AgPSBzY3JvbGxUb3AgPT09IDBcbiAgICBjb25zdCBpc0F0Qm90dG9tID0gc2Nyb2xsVG9wICsgY2xpZW50SGVpZ2h0ID49IHNjcm9sbEhlaWdodCAtIDFcblxuICAgIHNldFNob3dUb3BHcmFkaWVudChpc1Njcm9sbGFibGUgJiYgIWlzQXRUb3ApXG4gICAgc2V0U2hvd0JvdHRvbUdyYWRpZW50KGlzU2Nyb2xsYWJsZSAmJiAhaXNBdEJvdHRvbSlcbiAgICBzZXRJc1Njcm9sbGluZyh0cnVlKVxuXG4gICAgaWYgKHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudClcbiAgICB9XG5cbiAgICBzY3JvbGxUaW1lb3V0UmVmLmN1cnJlbnQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHNldElzU2Nyb2xsaW5nKGZhbHNlKVxuICAgIH0sIDE1MClcbiAgfSwgW2hvbWVTY3JvbGxhYmxlTGF5b3V0XSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaG9tZVNjcm9sbGFibGVMYXlvdXQpIHtcbiAgICAgIHNldFNob3dUb3BHcmFkaWVudChmYWxzZSlcbiAgICAgIHNldFNob3dCb3R0b21HcmFkaWVudChmYWxzZSlcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBjb250YWluZXIgPSBjb250ZW50Q29udGFpbmVyUmVmLmN1cnJlbnRcbiAgICBpZiAoIWNvbnRhaW5lcikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNoZWNrU2Nyb2xsKClcbiAgICBjb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgY2hlY2tTY3JvbGwpXG5cbiAgICBjb25zdCB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KGNoZWNrU2Nyb2xsLCAxMDApXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGNoZWNrU2Nyb2xsKVxuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZClcbiAgICAgIGlmIChzY3JvbGxUaW1lb3V0UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtob21lU2Nyb2xsYWJsZUxheW91dCwgY2hlY2tTY3JvbGxdKVxuXG4gIGNvbnN0IHJlbmRlckhlYWRlckNvbnRlbnQgPSAoKSA9PiB7XG4gICAgaWYgKCFpc01BSUEpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTQ0NBSUhvbWVBZ2VudEluZm9Db250YWluZXI+XG4gICAgICAgICAgPFNDQ0FJSG9tZUFnZW50SW5mbz5cbiAgICAgICAgICAgIHthZ2VudD8uZW1vaml9IHthZ2VudD8ubmFtZX1cbiAgICAgICAgICA8L1NDQ0FJSG9tZUFnZW50SW5mbz5cbiAgICAgICAgICB7YWdlbnQ/LmNyZWF0ZWRfYnkgJiYgIWlzTUFJQSAmJiAoXG4gICAgICAgICAgICA8U0NDQUlIb21lQ3JlYXRlZEJ5Q29udGFpbmVyPlxuICAgICAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgICAgIHRpdGxlPXtcbiAgICAgICAgICAgICAgICAgIGFnZW50Py5jcmVhdGVkX2J5Py5pc19kZWxldGVkID8gdCgnaG9tZU1lbnUuY3JlYXRlZEJ5VG9vbHRpcERlbGV0ZWQnKSA6IHQoJ2hvbWVNZW51LmNyZWF0ZWRCeVRvb2x0aXAnKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTQ0NBSUhvbWVDcmVhdGVkQnlUZXh0PlxuICAgICAgICAgICAgICAgICAge3QoJ2hvbWVNZW51LmNyZWF0ZWRCeScpfXsnICd9XG4gICAgICAgICAgICAgICAgICA8U0NDQUlIb21lQ3JlYXRlZEJ5VGV4dE5hbWU+e2FnZW50Py5jcmVhdGVkX2J5Py5uYW1lfTwvU0NDQUlIb21lQ3JlYXRlZEJ5VGV4dE5hbWU+XG4gICAgICAgICAgICAgICAgPC9TQ0NBSUhvbWVDcmVhdGVkQnlUZXh0PlxuICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICA8L1NDQ0FJSG9tZUNyZWF0ZWRCeUNvbnRhaW5lcj5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NDQ0FJSG9tZUFnZW50SW5mb0NvbnRhaW5lcj5cbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNDQ0FJSG9tZU1haWFIZWFkZXJTdGFjayAkbm9HYXA9eyFncmVldGluZ30+XG4gICAgICAgIDxTQ0NBSUhvbWVJY29uQ29udGFpbmVyPlxuICAgICAgICAgIDxTQ0NBSUhvbWVMb2dvV3JhcHBlcj5cbiAgICAgICAgICAgIDxNQUlBSXNvbG9nbyAvPlxuICAgICAgICAgIDwvU0NDQUlIb21lTG9nb1dyYXBwZXI+XG4gICAgICAgIDwvU0NDQUlIb21lSWNvbkNvbnRhaW5lcj5cbiAgICAgICAge2dyZWV0aW5nID8gPFNDQ0FJSG9tZUdyZWV0aW5nPntncmVldGluZ308L1NDQ0FJSG9tZUdyZWV0aW5nPiA6IG51bGx9XG4gICAgICA8L1NDQ0FJSG9tZU1haWFIZWFkZXJTdGFjaz5cbiAgICApXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0NBSUhvbWVDb250YWluZXIgc2hvd0ZBUXM9e3Nob3dGQVFzfT5cbiAgICAgIHtob21lU2Nyb2xsYWJsZUxheW91dCAmJiA8U0NDQUlIb21lR3JhZGllbnRUb3AgJHNob3c9e3Nob3dUb3BHcmFkaWVudH0gLz59XG4gICAgICA8U0NDQUlIb21lQ29udGVudFxuICAgICAgICByZWY9e2NvbnRlbnRDb250YWluZXJSZWZ9XG4gICAgICAgIHNob3dGQVFzPXtob21lU2Nyb2xsYWJsZUxheW91dH1cbiAgICAgICAgJGlzQWdlbnRWaWV3PXshaXNNQUlBfVxuICAgICAgICAkZmxvYXRpbmdDdXN0b21DZW50ZXI9e2Zsb2F0aW5nQ3VzdG9tQ2VudGVyfVxuICAgICAgPlxuICAgICAgICA8U0NDQUlIb21lQ29udGVudElubmVyXG4gICAgICAgICAgc2hvd0ZBUXM9e2hvbWVTY3JvbGxhYmxlTGF5b3V0fVxuICAgICAgICAgICRpc0FnZW50Vmlldz17IWlzTUFJQX1cbiAgICAgICAgICAkZmxvYXRpbmdDdXN0b21DZW50ZXI9e2Zsb2F0aW5nQ3VzdG9tQ2VudGVyfVxuICAgICAgICA+XG4gICAgICAgICAgPFNDQ0FJSG9tZUhlYWRlclxuICAgICAgICAgICAgJGdhcD17aXNNQUlBICYmIHNlY3Rpb24gIT09ICdwcm9qZWN0JyA/ICc4cHgnIDogJzIwcHgnfVxuICAgICAgICAgICAgJG1heFdpZHRoPXtpc01BSUEgPyAnMTAwJScgOiAnMzgwcHgnfVxuICAgICAgICAgICAgJGlzQWdlbnRWaWV3PXshaXNNQUlBfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtyZW5kZXJIZWFkZXJDb250ZW50KCl9XG5cbiAgICAgICAgICAgIHtzZWN0aW9uICE9PSAncHJvamVjdCcgJiYgKFxuICAgICAgICAgICAgICA8U0NDQUlIb21lSW50cm9kdWN0aW9uIGV4cGFuZGVkPXtleHBhbmRlZH0+eyFpc01BSUEgJiYgYWdlbnQ/LmludHJvZHVjdGlvbn08L1NDQ0FJSG9tZUludHJvZHVjdGlvbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9TQ0NBSUhvbWVIZWFkZXI+XG4gICAgICAgICAge3Nob3dQcm9qZWN0U3VtbWFyeUNhcmQgJiYgKFxuICAgICAgICAgICAgPFNDQ0FIV3JhcHBlclN1bW1hcnlQcm9qZWN0IG9uQ2xpY2s9e2hhbmRsZXJzLnByb2plY3RTdW1tYXJ5fT5cbiAgICAgICAgICAgICAgPFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5PlxuICAgICAgICAgICAgICAgIDxUZW1wbGF0ZUdyYWRpZW50SWNvbiBoZWlnaHQ9ezI0fSB3aWR0aD17MjR9IC8+XG4gICAgICAgICAgICAgIDwvU0NDQUlIb21lUHJvamVjdFN1bW1hcnk+XG4gICAgICAgICAgICAgIDxTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPFNDQ0FJSG9tZVByb2plY3RTdW1tYXJ5VGl0bGU+e3QoJ2hvbWVNZW51LnByb2plY3RTdW1tYXJ5LnRpdGxlJyl9PC9TQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeVRpdGxlPlxuICAgICAgICAgICAgICAgIDxTQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeURlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAge3QoJ2hvbWVNZW51LnByb2plY3RTdW1tYXJ5LmRlc2NyaXB0aW9uJyl9XG4gICAgICAgICAgICAgICAgPC9TQ0NBSUhvbWVQcm9qZWN0U3VtbWFyeURlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICA8L1NDQ0FJSG9tZVByb2plY3RTdW1tYXJ5Q29udGVudD5cbiAgICAgICAgICAgIDwvU0NDQUhXcmFwcGVyU3VtbWFyeVByb2plY3Q+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7c2hvd0R5bmFtaWNTZWN0aW9uICYmIChcbiAgICAgICAgICAgIDxTQ0NBSUhvbWVEeW5hbWljU2VjdGlvbiAkZ3Jvdz17aXNNYWlha2VyfT5cbiAgICAgICAgICAgICAge3Nob3VsZFNob3dGYXFzICYmIChcbiAgICAgICAgICAgICAgICA8RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zXG4gICAgICAgICAgICAgICAgICBvblN0YXJ0Q2hhdD17b25TdGFydENoYXR9XG4gICAgICAgICAgICAgICAgICBzaG93RkFRcz17c2hvd0ZBUXN9XG4gICAgICAgICAgICAgICAgICBzaG93UHJvamVjdFN1bW1hcnk9e3Nob3dQcm9qZWN0U3VtbWFyeX1cbiAgICAgICAgICAgICAgICAgIGFnZW50SWQ9e2FnZW50Py5pZH1cbiAgICAgICAgICAgICAgICAgIGxhbmc9e2xhbmd9XG4gICAgICAgICAgICAgICAgICBpc1Njcm9sbGluZz17aXNTY3JvbGxpbmd9XG4gICAgICAgICAgICAgICAgICBmYXFzPXthZ2VudEZhcXN9XG4gICAgICAgICAgICAgICAgICBsb2FkaW5nPXtmYXFzTG9hZGluZ31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7c2hvdWxkU2hvd0Z1YXMgJiYgKFxuICAgICAgICAgICAgICAgIDxGcmVxdWVudGx5VXNlZEFjdGlvbnNcbiAgICAgICAgICAgICAgICAgIG9uU3RhcnRDaGF0PXtvblN0YXJ0Q2hhdH1cbiAgICAgICAgICAgICAgICAgIGFnZW50SWQ9e2FnZW50Py5pZH1cbiAgICAgICAgICAgICAgICAgIGlzU2Nyb2xsaW5nPXtpc1Njcm9sbGluZ31cbiAgICAgICAgICAgICAgICAgIGFjdGlvbnM9e2FnZW50RnVhc31cbiAgICAgICAgICAgICAgICAgIGxvYWRpbmc9e2Z1YXNMb2FkaW5nfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHtpc01haWFrZXIgPyA8Q2hhdEFJSG9tZU1haWFrZXIgb25TdGFydENoYXQ9e29uU3RhcnRDaGF0fSAvPiA6IG51bGx9XG4gICAgICAgICAgICA8L1NDQ0FJSG9tZUR5bmFtaWNTZWN0aW9uPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU0NDQUlIb21lQ29udGVudElubmVyPlxuICAgICAgPC9TQ0NBSUhvbWVDb250ZW50PlxuICAgICAge2hvbWVTY3JvbGxhYmxlTGF5b3V0ICYmIDxTQ0NBSUhvbWVHcmFkaWVudEJvdHRvbSAkc2hvdz17c2hvd0JvdHRvbUdyYWRpZW50fSAvPn1cbiAgICA8L1NDQ0FJSG9tZUNvbnRhaW5lcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLFFBQVEsT0FBTztBQUV6RSxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLElBQUksUUFBUSxxQkFBcUI7QUFJMUMsU0FDRUMsa0JBQWtCLEVBQ2xCQyxnQkFBZ0IsRUFDaEJDLHFCQUFxQixFQUNyQkMsb0JBQW9CLEVBQ3BCQyx1QkFBdUIsRUFDdkJDLGVBQWUsRUFDZkMsaUJBQWlCLEVBQ2pCQywyQkFBMkIsRUFDM0JDLGtCQUFrQixFQUNsQkMsdUJBQXVCLEVBQ3ZCQyw4QkFBOEIsRUFDOUJDLDRCQUE0QixFQUM1QkMsa0NBQWtDLEVBQ2xDQywwQkFBMEIsRUFDMUJDLHFCQUFxQixFQUNyQkMsMkJBQTJCLEVBQzNCQyxzQkFBc0IsRUFDdEJDLDBCQUEwQixFQUMxQkMsc0JBQXNCLEVBQ3RCQyxvQkFBb0IsRUFDcEJDLHdCQUF3QixFQUN4QkMsdUJBQXVCLFFBQ2xCLFVBQVU7QUFDakIsU0FBU0MsZ0JBQWdCLFFBQVEsaUNBQWlDO0FBQ2xFLFNBQVNDLGNBQWMsUUFBUSx3Q0FBd0M7QUFDdkUsU0FBU0MsY0FBYyxRQUFRLGlDQUFpQztBQUdoRSxTQUFTQyx3QkFBd0IsUUFBUSxzQ0FB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