decap-cms-widget-file 3.3.0 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/decap-cms-widget-file.js +2 -2
- package/dist/decap-cms-widget-file.js.LICENSE.txt +19 -0
- package/dist/decap-cms-widget-file.js.map +1 -1
- package/dist/esm/FilePreview.js +20 -16
- package/dist/esm/withFileControl.js +113 -84
- package/package.json +4 -4
- package/src/FilePreview.js +0 -1
- package/src/withFileControl.js +2 -3
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import _styled from "@emotion/styled/base";
|
|
2
|
-
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
3
2
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
4
3
|
import React, { useEffect, useState } from 'react';
|
|
5
4
|
import PropTypes from 'prop-types';
|
|
@@ -7,7 +6,6 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
|
|
|
7
6
|
import { css } from '@emotion/react';
|
|
8
7
|
import { Map, List } from 'immutable';
|
|
9
8
|
import once from 'lodash/once';
|
|
10
|
-
import { v4 as uuid } from 'uuid';
|
|
11
9
|
import { oneLine } from 'common-tags';
|
|
12
10
|
import { lengths, components, buttons, borders, effects, shadows, IconButton } from 'decap-cms-ui-default';
|
|
13
11
|
import { basename } from 'decap-cms-lib-util';
|
|
@@ -16,12 +14,12 @@ import { DndContext, MouseSensor, TouchSensor, closestCenter, useSensor, useSens
|
|
|
16
14
|
import { SortableContext, useSortable } from '@dnd-kit/sortable';
|
|
17
15
|
import { CSS } from '@dnd-kit/utilities';
|
|
18
16
|
import { restrictToParentElement } from '@dnd-kit/modifiers';
|
|
19
|
-
import { jsx as
|
|
17
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@emotion/react/jsx-runtime";
|
|
20
18
|
const MAX_DISPLAY_LENGTH = 50;
|
|
21
19
|
const ImageWrapper = /*#__PURE__*/_styled("div", {
|
|
22
20
|
target: "e1hax4ql7",
|
|
23
21
|
label: "ImageWrapper"
|
|
24
|
-
})("flex-basis:155px;width:155px;height:100px;margin-right:20px;margin-bottom:20px;border:", borders.textField, ";border-radius:", lengths.borderRadius, ";overflow:hidden;", effects.checkerboard, ";", shadows.inset, ";cursor:", props => props.sortable ? 'pointer' : 'auto', ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0MrQiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IE1hcCwgTGlzdCB9IGZyb20gJ2ltbXV0YWJsZSc7XG5pbXBvcnQgb25jZSBmcm9tICdsb2Rhc2gvb25jZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBvbmVMaW5lIH0gZnJvbSAnY29tbW9uLXRhZ3MnO1xuaW1wb3J0IHtcbiAgbGVuZ3RocyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgYm9yZGVycyxcbiAgZWZmZWN0cyxcbiAgc2hhZG93cyxcbiAgSWNvbkJ1dHRvbixcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYXJyYXlNb3ZlSW1tdXRhYmxlIGFzIGFycmF5TW92ZSB9IGZyb20gJ2FycmF5LW1vdmUnO1xuaW1wb3J0IHtcbiAgRG5kQ29udGV4dCxcbiAgTW91c2VTZW5zb3IsXG4gIFRvdWNoU2Vuc29yLFxuICBjbG9zZXN0Q2VudGVyLFxuICB1c2VTZW5zb3IsXG4gIHVzZVNlbnNvcnMsXG59IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHsgU29ydGFibGVDb250ZXh0LCB1c2VTb3J0YWJsZSB9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7IENTUyB9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgeyByZXN0cmljdFRvUGFyZW50RWxlbWVudCB9IGZyb20gJ0BkbmQta2l0L21vZGlmaWVycyc7XG5cbmNvbnN0IE1BWF9ESVNQTEFZX0xFTkdUSCA9IDUwO1xuXG5jb25zdCBJbWFnZVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBmbGV4LWJhc2lzOiAxNTVweDtcbiAgd2lkdGg6IDE1NXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAke2VmZmVjdHMuY2hlY2tlcmJvYXJkfTtcbiAgJHtzaGFkb3dzLmluc2V0fTtcbiAgY3Vyc29yOiAke3Byb3BzID0+IChwcm9wcy5zb3J0YWJsZSA/ICdwb2ludGVyJyA6ICdhdXRvJyl9O1xuYDtcblxuY29uc3QgU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRJbWFnZSA9IHN0eWxlZC5pbWdgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG5gO1xuXG5mdW5jdGlvbiBJbWFnZSh7IHZhbHVlLCBmaWVsZCwgZ2V0QXNzZXQgfSkge1xuICBjb25zdCBbYXNzZXQsIHNldEFzc2V0XSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBuZXdBc3NldCA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICBzZXRBc3NldChuZXdBc3NldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFzc2V0KG51bGwpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBmaWVsZCwgZ2V0QXNzZXRdKTtcblxuICByZXR1cm4gYXNzZXQgPyA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHNyYz17YXNzZXR9IC8+IDogbnVsbDtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2UgdmFsdWU9e2l0ZW1WYWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IHV1aWQoKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIHJldHVybiB2YWx1ZUFycmF5O1xufVxuXG5jb25zdCB3YXJuRGVwcmVjYXRlZE9wdGlvbnMgPSBvbmNlKGZpZWxkID0+XG4gIGNvbnNvbGUud2FybihvbmVMaW5lYFxuICBEZWNhcCBDTVMgY29uZmlnOiAke2ZpZWxkLmdldCgnbmFtZScpfSBmaWVsZDogcHJvcGVydHkgXCJvcHRpb25zXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlXG4gICR7ZmllbGQuZ2V0KCd3aWRnZXQnKX0gd2lkZ2V0IGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS4gUmF0aGVyIHRoYW5cbiAgXFxgZmllbGQub3B0aW9ucy5tZWRpYV9saWJyYXJ5XFxgLCBhcHBseSBtZWRpYSBsaWJyYXJ5IG9wdGlvbnMgZm9yIHRoaXMgd2lkZ2V0IHVuZGVyXG4gIFxcYGZpZWxkLm1lZGlhX2xpYnJhcnlcXGAuXG5gKSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHdpdGhGaWxlQ29udHJvbCh7IGZvckltYWdlIH0gPSB7fSkge1xuICByZXR1cm4gY2xhc3MgRmlsZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICBmaWVsZDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgZ2V0QXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgICBvbkFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbk9wZW5NZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNsZWFyTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBjbGFzc05hbWVXcmFwcGVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgICBJbW11dGFibGVQcm9wVHlwZXMubGlzdE9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgXSksXG4gICAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgdmFsdWU6ICcnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgdGhpcy5jb250cm9sSUQgPSB1dWlkKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAvLyBNYW51YWxseSB2YWxpZGF0ZSBQcm9wVHlwZXMgLSBSZWFjdCAxOSBicmVha2luZyBjaGFuZ2VcbiAgICAgIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyhGaWxlQ29udHJvbC5wcm9wVHlwZXMsIHRoaXMucHJvcHMsICdwcm9wJywgJ0ZpbGVDb250cm9sJyk7XG4gICAgfVxuXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgICAgLyoqXG4gICAgICAgKiBBbHdheXMgdXBkYXRlIGlmIHRoZSB2YWx1ZSBvciBnZXRBc3NldCBjaGFuZ2VzLlxuICAgICAgICovXG4gICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gbmV4dFByb3BzLnZhbHVlIHx8IHRoaXMucHJvcHMuZ2V0QXNzZXQgIT09IG5leHRQcm9wcy5nZXRBc3NldCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBJZiB0aGVyZSBpcyBhIG1lZGlhIHBhdGggZm9yIHRoaXMgY29udHJvbCBpbiB0aGUgc3RhdGUgb2JqZWN0LCBhbmQgdGhhdFxuICAgICAgICogcGF0aCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgdmFsdWUgaW4gYG5leHRQcm9wc2AsIHVwZGF0ZS5cbiAgICAgICAqL1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbmV4dFByb3BzLm1lZGlhUGF0aHMuZ2V0KHRoaXMuY29udHJvbElEKTtcbiAgICAgIGlmIChtZWRpYVBhdGggJiYgbmV4dFByb3BzLnZhbHVlICE9PSBtZWRpYVBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICBjb25zdCB7IG1lZGlhUGF0aHMsIHZhbHVlLCBvblJlbW92ZUluc2VydGVkTWVkaWEsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggIT09IHZhbHVlKSB7XG4gICAgICAgIG9uQ2hhbmdlKG1lZGlhUGF0aCk7XG4gICAgICB9IGVsc2UgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggPT09IHZhbHVlKSB7XG4gICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICB9XG5cbiAgICBoYW5kbGVDaGFuZ2UgPSBlID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIG9uT3Blbk1lZGlhTGlicmFyeSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gb25PcGVuTWVkaWFMaWJyYXJ5KHtcbiAgICAgICAgY29udHJvbElEOiB0aGlzLmNvbnRyb2xJRCxcbiAgICAgICAgZm9ySW1hZ2UsXG4gICAgICAgIHByaXZhdGVVcGxvYWQ6IGZpZWxkLmdldCgncHJpdmF0ZScpLFxuICAgICAgICB2YWx1ZTogdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSksXG4gICAgICAgIGFsbG93TXVsdGlwbGU6ICEhbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnYWxsb3dfbXVsdGlwbGUnLCB0cnVlKSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlVXJsID0gc3ViamVjdCA9PiBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgY29uc3QgdXJsID0gd2luZG93LnByb21wdCh0aGlzLnByb3BzLnQoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucHJvbXB0VXJsYCkpO1xuXG4gICAgICBpZiAodXJsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKHVybCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGhhbmRsZVJlbW92ZSA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5wcm9wcy5vbkNsZWFyTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKCcnKTtcbiAgICB9O1xuXG4gICAgb25SZW1vdmVPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlTGlzdFRvQXJyYXkodGhpcy5wcm9wcy52YWx1ZSk7XG4gICAgICB2YWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2Uoc2l6ZU9mVmFsdWUodmFsdWUpID4gMCA/IFsuLi52YWx1ZV0gOiBudWxsKTtcbiAgICB9O1xuXG4gICAgb25SZXBsYWNlT25lID0gaW5kZXggPT4gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgcmVwbGFjZUluZGV4OiBpbmRleCxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZzogbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJyksXG4gICAgICAgIGZpZWxkLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChmaWVsZC5oYXNJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddKSkge1xuICAgICAgICB3YXJuRGVwcmVjYXRlZE9wdGlvbnMoZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQuZ2V0SW4oWydvcHRpb25zJywgJ21lZGlhX2xpYnJhcnknXSwgTWFwKCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmllbGQuZ2V0KCdtZWRpYV9saWJyYXJ5JywgTWFwKCkpO1xuICAgIH07XG5cbiAgICBhbGxvd3NNdWx0aXBsZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnLCBmYWxzZSkgJiZcbiAgICAgICAgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJykuZ2V0KCdtdWx0aXBsZScsIGZhbHNlKVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgb25Tb3J0RW5kID0gKHsgb2xkSW5kZXgsIG5ld0luZGV4IH0pID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGFycmF5TW92ZSh2YWx1ZSwgb2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICB9O1xuXG4gICAgZ2V0VmFsaWRhdGVWYWx1ZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGlzTXVsdGlwbGUodmFsdWUpID8gdmFsdWUubWFwKHYgPT4gYmFzZW5hbWUodikpIDogYmFzZW5hbWUodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rID0gdmFsdWUgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IE1BWF9ESVNQTEFZX0xFTkdUSDtcbiAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoIDw9IHNpemUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgY29uc3QgdGV4dCA9IGAke3ZhbHVlLnNsaWNlKDAsIHNpemUgLyAyKX1cXHUyMDI2JHt2YWx1ZS5zbGljZSgtKHNpemUgLyAyKSArIDEpfWA7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RmlsZUxpbmsgaHJlZj17dmFsdWV9IHJlbD1cIm5vb3BlbmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAge3RleHR9XG4gICAgICAgIDwvRmlsZUxpbms+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJGaWxlTGlua3MgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8RmlsZUxpbmtzPlxuICAgICAgICAgICAgPEZpbGVMaW5rTGlzdD5cbiAgICAgICAgICAgICAge3ZhbHVlLm1hcCh2YWwgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e3ZhbH0+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsKX08L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRmlsZUxpbmtMaXN0PlxuICAgICAgICAgIDwvRmlsZUxpbmtzPlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDxGaWxlTGlua3M+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsdWUpfTwvRmlsZUxpbmtzPjtcbiAgICB9O1xuXG4gICAgcmVuZGVySW1hZ2VzID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBnZXRBc3NldCwgdmFsdWUsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgaXRlbXMgPSB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U29ydGFibGVNdWx0aUltYWdlV3JhcHBlclxuICAgICAgICAgICAgaXRlbXM9e2l0ZW1zfVxuICAgICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLm9uU29ydEVuZH1cbiAgICAgICAgICAgIG9uUmVtb3ZlT25lPXt0aGlzLm9uUmVtb3ZlT25lfVxuICAgICAgICAgICAgb25SZXBsYWNlT25lPXt0aGlzLm9uUmVwbGFjZU9uZX1cbiAgICAgICAgICAgIGRpc3RhbmNlPXs0fVxuICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgYXhpcz1cInh5XCJcbiAgICAgICAgICAgIGxvY2tUb0NvbnRhaW5lckVkZ2VzPXt0cnVlfVxuICAgICAgICAgID48L1NvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXI+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxJbWFnZVdyYXBwZXI+XG4gICAgICAgICAgPEltYWdlIHZhbHVlPXt2YWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgYWxsb3dzTXVsdGlwbGUgPSB0aGlzLmFsbG93c011bHRpcGxlKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtmb3JJbWFnZSA/IHRoaXMucmVuZGVySW1hZ2VzKCkgOiBudWxsfVxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7Zm9ySW1hZ2UgPyBudWxsIDogdGhpcy5yZW5kZXJGaWxlTGlua3MoKX1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgICAge3QoXG4gICAgICAgICAgICAgICAgYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uJHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdhZGRNb3JlJyA6ICdjaG9vc2VEaWZmZXJlbnQnXG4gICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgJiYgIXRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/IChcbiAgICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlcGxhY2VVcmxgKX1cbiAgICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvblJlbW92ZSBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbW92ZX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlbW92ZSR7YWxsb3dzTXVsdGlwbGUgPyAnQWxsJyA6ICcnfWApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlck5vU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZUNoYW5nZX0+XG4gICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2Uke3RoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdNdWx0aXBsZScgOiAnJ31gKX1cbiAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAge2ZpZWxkLmdldCgnY2hvb3NlX3VybCcsIHRydWUpID8gKFxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2VVcmxgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBjbGFzc05hbWVXcmFwcGVyIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc3ViamVjdCA9IGZvckltYWdlID8gJ2ltYWdlJyA6ICdmaWxlJztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZVdyYXBwZXJ9PlxuICAgICAgICAgIDxzcGFuPnt2YWx1ZSA/IHRoaXMucmVuZGVyU2VsZWN0aW9uKHN1YmplY3QpIDogdGhpcy5yZW5kZXJOb1NlbGVjdGlvbihzdWJqZWN0KX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG4iXX0= */"));
|
|
22
|
+
})("flex-basis:155px;width:155px;height:100px;margin-right:20px;margin-bottom:20px;border:", borders.textField, ";border-radius:", lengths.borderRadius, ";overflow:hidden;", effects.checkerboard, ";", shadows.inset, ";cursor:", props => props.sortable ? 'pointer' : 'auto', ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUMrQiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IE1hcCwgTGlzdCB9IGZyb20gJ2ltbXV0YWJsZSc7XG5pbXBvcnQgb25jZSBmcm9tICdsb2Rhc2gvb25jZSc7XG5pbXBvcnQgeyBvbmVMaW5lIH0gZnJvbSAnY29tbW9uLXRhZ3MnO1xuaW1wb3J0IHtcbiAgbGVuZ3RocyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgYm9yZGVycyxcbiAgZWZmZWN0cyxcbiAgc2hhZG93cyxcbiAgSWNvbkJ1dHRvbixcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYXJyYXlNb3ZlSW1tdXRhYmxlIGFzIGFycmF5TW92ZSB9IGZyb20gJ2FycmF5LW1vdmUnO1xuaW1wb3J0IHtcbiAgRG5kQ29udGV4dCxcbiAgTW91c2VTZW5zb3IsXG4gIFRvdWNoU2Vuc29yLFxuICBjbG9zZXN0Q2VudGVyLFxuICB1c2VTZW5zb3IsXG4gIHVzZVNlbnNvcnMsXG59IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHsgU29ydGFibGVDb250ZXh0LCB1c2VTb3J0YWJsZSB9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7IENTUyB9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgeyByZXN0cmljdFRvUGFyZW50RWxlbWVudCB9IGZyb20gJ0BkbmQta2l0L21vZGlmaWVycyc7XG5cbmNvbnN0IE1BWF9ESVNQTEFZX0xFTkdUSCA9IDUwO1xuXG5jb25zdCBJbWFnZVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBmbGV4LWJhc2lzOiAxNTVweDtcbiAgd2lkdGg6IDE1NXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAke2VmZmVjdHMuY2hlY2tlcmJvYXJkfTtcbiAgJHtzaGFkb3dzLmluc2V0fTtcbiAgY3Vyc29yOiAke3Byb3BzID0+IChwcm9wcy5zb3J0YWJsZSA/ICdwb2ludGVyJyA6ICdhdXRvJyl9O1xuYDtcblxuY29uc3QgU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRJbWFnZSA9IHN0eWxlZC5pbWdgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG5gO1xuXG5mdW5jdGlvbiBJbWFnZSh7IHZhbHVlLCBmaWVsZCwgZ2V0QXNzZXQgfSkge1xuICBjb25zdCBbYXNzZXQsIHNldEFzc2V0XSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBuZXdBc3NldCA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICBzZXRBc3NldChuZXdBc3NldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFzc2V0KG51bGwpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBmaWVsZCwgZ2V0QXNzZXRdKTtcblxuICByZXR1cm4gYXNzZXQgPyA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHNyYz17YXNzZXR9IC8+IDogbnVsbDtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2UgdmFsdWU9e2l0ZW1WYWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IGNyeXB0by5yYW5kb21VVUlEKCksXG4gICAgdmFsdWUsXG4gIH0pKTtcblxuICByZXR1cm4gdmFsdWVBcnJheTtcbn1cblxuY29uc3Qgd2FybkRlcHJlY2F0ZWRPcHRpb25zID0gb25jZShmaWVsZCA9PlxuICBjb25zb2xlLndhcm4ob25lTGluZWBcbiAgRGVjYXAgQ01TIGNvbmZpZzogJHtmaWVsZC5nZXQoJ25hbWUnKX0gZmllbGQ6IHByb3BlcnR5IFwib3B0aW9uc1wiIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZVxuICAke2ZpZWxkLmdldCgnd2lkZ2V0Jyl9IHdpZGdldCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuIFJhdGhlciB0aGFuXG4gIFxcYGZpZWxkLm9wdGlvbnMubWVkaWFfbGlicmFyeVxcYCwgYXBwbHkgbWVkaWEgbGlicmFyeSBvcHRpb25zIGZvciB0aGlzIHdpZGdldCB1bmRlclxuICBcXGBmaWVsZC5tZWRpYV9saWJyYXJ5XFxgLlxuYCksXG4pO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB3aXRoRmlsZUNvbnRyb2woeyBmb3JJbWFnZSB9ID0ge30pIHtcbiAgcmV0dXJuIGNsYXNzIEZpbGVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgZmllbGQ6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIGdldEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgbWVkaWFQYXRoczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgICAgb25BZGRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25PcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DbGVhck1lZGlhQ29udHJvbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgY2xhc3NOYW1lV3JhcHBlcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgdmFsdWU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICAgICAgSW1tdXRhYmxlUHJvcFR5cGVzLmxpc3RPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICAgIF0pLFxuICAgICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB9O1xuXG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgIHZhbHVlOiAnJyxcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgIHRoaXMuY29udHJvbElEID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIC8vIE1hbnVhbGx5IHZhbGlkYXRlIFByb3BUeXBlcyAtIFJlYWN0IDE5IGJyZWFraW5nIGNoYW5nZVxuICAgICAgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKEZpbGVDb250cm9sLnByb3BUeXBlcywgdGhpcy5wcm9wcywgJ3Byb3AnLCAnRmlsZUNvbnRyb2wnKTtcbiAgICB9XG5cbiAgICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICAvKipcbiAgICAgICAqIEFsd2F5cyB1cGRhdGUgaWYgdGhlIHZhbHVlIG9yIGdldEFzc2V0IGNoYW5nZXMuXG4gICAgICAgKi9cbiAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlICE9PSBuZXh0UHJvcHMudmFsdWUgfHwgdGhpcy5wcm9wcy5nZXRBc3NldCAhPT0gbmV4dFByb3BzLmdldEFzc2V0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGlzIGEgbWVkaWEgcGF0aCBmb3IgdGhpcyBjb250cm9sIGluIHRoZSBzdGF0ZSBvYmplY3QsIGFuZCB0aGF0XG4gICAgICAgKiBwYXRoIGlzIGRpZmZlcmVudCB0aGFuIHRoZSB2YWx1ZSBpbiBgbmV4dFByb3BzYCwgdXBkYXRlLlxuICAgICAgICovXG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBuZXh0UHJvcHMubWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBuZXh0UHJvcHMudmFsdWUgIT09IG1lZGlhUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IHsgbWVkaWFQYXRocywgdmFsdWUsIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBtZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCAhPT0gdmFsdWUpIHtcbiAgICAgICAgb25DaGFuZ2UobWVkaWFQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCA9PT0gdmFsdWUpIHtcbiAgICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhKHRoaXMuY29udHJvbElEKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMucHJvcHMub25SZW1vdmVNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZSA9IGUgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogISFtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdhbGxvd19tdWx0aXBsZScsIHRydWUpLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVVcmwgPSBzdWJqZWN0ID0+IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cucHJvbXB0KHRoaXMucHJvcHMudChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5wcm9tcHRVcmxgKSk7XG5cbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UodXJsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlUmVtb3ZlID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2xlYXJNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UoJycpO1xuICAgIH07XG5cbiAgICBvblJlbW92ZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVMaXN0VG9BcnJheSh0aGlzLnByb3BzLnZhbHVlKTtcbiAgICAgIHZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShzaXplT2ZWYWx1ZSh2YWx1ZSkgPiAwID8gWy4uLnZhbHVlXSA6IG51bGwpO1xuICAgIH07XG5cbiAgICBvblJlcGxhY2VPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICByZXBsYWNlSW5kZXg6IGluZGV4LFxuICAgICAgICBhbGxvd011bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGZpZWxkLmhhc0luKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10pKSB7XG4gICAgICAgIHdhcm5EZXByZWNhdGVkT3B0aW9ucyhmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZC5nZXRJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddLCBNYXAoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWVsZC5nZXQoJ21lZGlhX2xpYnJhcnknLCBNYXAoKSk7XG4gICAgfTtcblxuICAgIGFsbG93c011bHRpcGxlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycsIGZhbHNlKSAmJlxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKS5nZXQoJ211bHRpcGxlJywgZmFsc2UpXG4gICAgICApO1xuICAgIH07XG5cbiAgICBvblNvcnRFbmQgPSAoeyBvbGRJbmRleCwgbmV3SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYXJyYXlNb3ZlKHZhbHVlLCBvbGRJbmRleCwgbmV3SW5kZXgpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICBnZXRWYWxpZGF0ZVZhbHVlID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaXNNdWx0aXBsZSh2YWx1ZSkgPyB2YWx1ZS5tYXAodiA9PiBiYXNlbmFtZSh2KSkgOiBiYXNlbmFtZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmsgPSB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBzaXplID0gTUFYX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPD0gc2l6ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0ZXh0ID0gYCR7dmFsdWUuc2xpY2UoMCwgc2l6ZSAvIDIpfVxcdTIwMjYke3ZhbHVlLnNsaWNlKC0oc2l6ZSAvIDIpICsgMSl9YDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGaWxlTGluayBocmVmPXt2YWx1ZX0gcmVsPVwibm9vcGVuZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GaWxlTGluaz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGaWxlTGlua3M+XG4gICAgICAgICAgICA8RmlsZUxpbmtMaXN0PlxuICAgICAgICAgICAgICB7dmFsdWUubWFwKHZhbCA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17dmFsfT57dGhpcy5yZW5kZXJGaWxlTGluayh2YWwpfTwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9GaWxlTGlua0xpc3Q+XG4gICAgICAgICAgPC9GaWxlTGlua3M+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gPEZpbGVMaW5rcz57dGhpcy5yZW5kZXJGaWxlTGluayh2YWx1ZSl9PC9GaWxlTGlua3M+O1xuICAgIH07XG5cbiAgICByZW5kZXJJbWFnZXMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGdldEFzc2V0LCB2YWx1ZSwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBpdGVtcyA9IHZhbHVlTGlzdFRvU29ydGFibGVBcnJheSh2YWx1ZSk7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyXG4gICAgICAgICAgICBpdGVtcz17aXRlbXN9XG4gICAgICAgICAgICBvblNvcnRFbmQ9e3RoaXMub25Tb3J0RW5kfVxuICAgICAgICAgICAgb25SZW1vdmVPbmU9e3RoaXMub25SZW1vdmVPbmV9XG4gICAgICAgICAgICBvblJlcGxhY2VPbmU9e3RoaXMub25SZXBsYWNlT25lfVxuICAgICAgICAgICAgZGlzdGFuY2U9ezR9XG4gICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICBheGlzPVwieHlcIlxuICAgICAgICAgICAgbG9ja1RvQ29udGFpbmVyRWRnZXM9e3RydWV9XG4gICAgICAgICAgPjwvU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcj5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEltYWdlV3JhcHBlcj5cbiAgICAgICAgICA8SW1hZ2UgdmFsdWU9e3ZhbHVlfSBmaWVsZD17ZmllbGR9IGdldEFzc2V0PXtnZXRBc3NldH0gLz5cbiAgICAgICAgPC9JbWFnZVdyYXBwZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJTZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBhbGxvd3NNdWx0aXBsZSA9IHRoaXMuYWxsb3dzTXVsdGlwbGUoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2ZvckltYWdlID8gdGhpcy5yZW5kZXJJbWFnZXMoKSA6IG51bGx9XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtmb3JJbWFnZSA/IG51bGwgOiB0aGlzLnJlbmRlckZpbGVMaW5rcygpfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS4ke1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ2FkZE1vcmUnIDogJ2Nob29zZURpZmZlcmVudCdcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSAmJiAhdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gKFxuICAgICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVwbGFjZVVybGApfVxuICAgICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVtb3ZlfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVtb3ZlJHthbGxvd3NNdWx0aXBsZSA/ICdBbGwnIDogJyd9YCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b25SZW1vdmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyTm9TZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZSR7dGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ011bHRpcGxlJyA6ICcnfWApfVxuICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgPyAoXG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZVVybGApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIGNsYXNzTmFtZVdyYXBwZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gZm9ySW1hZ2UgPyAnaW1hZ2UnIDogJ2ZpbGUnO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lV3JhcHBlcn0+XG4gICAgICAgICAgPHNwYW4+e3ZhbHVlID8gdGhpcy5yZW5kZXJTZWxlY3Rpb24oc3ViamVjdCkgOiB0aGlzLnJlbmRlck5vU2VsZWN0aW9uKHN1YmplY3QpfTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ== */"));
|
|
25
23
|
const SortableImageButtonsWrapper = /*#__PURE__*/_styled("div", {
|
|
26
24
|
target: "e1hax4ql6",
|
|
27
25
|
label: "SortableImageButtonsWrapper"
|
|
@@ -30,7 +28,7 @@ const SortableImageButtonsWrapper = /*#__PURE__*/_styled("div", {
|
|
|
30
28
|
styles: "display:flex;justify-content:center;column-gap:10px;margin-right:20px;margin-top:-10px;margin-bottom:10px"
|
|
31
29
|
} : {
|
|
32
30
|
name: "1ekgmip",
|
|
33
|
-
styles: "display:flex;justify-content:center;column-gap:10px;margin-right:20px;margin-top:-10px;margin-bottom:10px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0Q4QyIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IE1hcCwgTGlzdCB9IGZyb20gJ2ltbXV0YWJsZSc7XG5pbXBvcnQgb25jZSBmcm9tICdsb2Rhc2gvb25jZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBvbmVMaW5lIH0gZnJvbSAnY29tbW9uLXRhZ3MnO1xuaW1wb3J0IHtcbiAgbGVuZ3RocyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgYm9yZGVycyxcbiAgZWZmZWN0cyxcbiAgc2hhZG93cyxcbiAgSWNvbkJ1dHRvbixcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYXJyYXlNb3ZlSW1tdXRhYmxlIGFzIGFycmF5TW92ZSB9IGZyb20gJ2FycmF5LW1vdmUnO1xuaW1wb3J0IHtcbiAgRG5kQ29udGV4dCxcbiAgTW91c2VTZW5zb3IsXG4gIFRvdWNoU2Vuc29yLFxuICBjbG9zZXN0Q2VudGVyLFxuICB1c2VTZW5zb3IsXG4gIHVzZVNlbnNvcnMsXG59IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHsgU29ydGFibGVDb250ZXh0LCB1c2VTb3J0YWJsZSB9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7IENTUyB9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgeyByZXN0cmljdFRvUGFyZW50RWxlbWVudCB9IGZyb20gJ0BkbmQta2l0L21vZGlmaWVycyc7XG5cbmNvbnN0IE1BWF9ESVNQTEFZX0xFTkdUSCA9IDUwO1xuXG5jb25zdCBJbWFnZVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBmbGV4LWJhc2lzOiAxNTVweDtcbiAgd2lkdGg6IDE1NXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAke2VmZmVjdHMuY2hlY2tlcmJvYXJkfTtcbiAgJHtzaGFkb3dzLmluc2V0fTtcbiAgY3Vyc29yOiAke3Byb3BzID0+IChwcm9wcy5zb3J0YWJsZSA/ICdwb2ludGVyJyA6ICdhdXRvJyl9O1xuYDtcblxuY29uc3QgU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRJbWFnZSA9IHN0eWxlZC5pbWdgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG5gO1xuXG5mdW5jdGlvbiBJbWFnZSh7IHZhbHVlLCBmaWVsZCwgZ2V0QXNzZXQgfSkge1xuICBjb25zdCBbYXNzZXQsIHNldEFzc2V0XSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBuZXdBc3NldCA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICBzZXRBc3NldChuZXdBc3NldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFzc2V0KG51bGwpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBmaWVsZCwgZ2V0QXNzZXRdKTtcblxuICByZXR1cm4gYXNzZXQgPyA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHNyYz17YXNzZXR9IC8+IDogbnVsbDtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2UgdmFsdWU9e2l0ZW1WYWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IHV1aWQoKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIHJldHVybiB2YWx1ZUFycmF5O1xufVxuXG5jb25zdCB3YXJuRGVwcmVjYXRlZE9wdGlvbnMgPSBvbmNlKGZpZWxkID0+XG4gIGNvbnNvbGUud2FybihvbmVMaW5lYFxuICBEZWNhcCBDTVMgY29uZmlnOiAke2ZpZWxkLmdldCgnbmFtZScpfSBmaWVsZDogcHJvcGVydHkgXCJvcHRpb25zXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlXG4gICR7ZmllbGQuZ2V0KCd3aWRnZXQnKX0gd2lkZ2V0IGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS4gUmF0aGVyIHRoYW5cbiAgXFxgZmllbGQub3B0aW9ucy5tZWRpYV9saWJyYXJ5XFxgLCBhcHBseSBtZWRpYSBsaWJyYXJ5IG9wdGlvbnMgZm9yIHRoaXMgd2lkZ2V0IHVuZGVyXG4gIFxcYGZpZWxkLm1lZGlhX2xpYnJhcnlcXGAuXG5gKSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHdpdGhGaWxlQ29udHJvbCh7IGZvckltYWdlIH0gPSB7fSkge1xuICByZXR1cm4gY2xhc3MgRmlsZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICBmaWVsZDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgZ2V0QXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgICBvbkFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbk9wZW5NZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNsZWFyTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBjbGFzc05hbWVXcmFwcGVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgICBJbW11dGFibGVQcm9wVHlwZXMubGlzdE9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgXSksXG4gICAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgdmFsdWU6ICcnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgdGhpcy5jb250cm9sSUQgPSB1dWlkKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAvLyBNYW51YWxseSB2YWxpZGF0ZSBQcm9wVHlwZXMgLSBSZWFjdCAxOSBicmVha2luZyBjaGFuZ2VcbiAgICAgIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyhGaWxlQ29udHJvbC5wcm9wVHlwZXMsIHRoaXMucHJvcHMsICdwcm9wJywgJ0ZpbGVDb250cm9sJyk7XG4gICAgfVxuXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgICAgLyoqXG4gICAgICAgKiBBbHdheXMgdXBkYXRlIGlmIHRoZSB2YWx1ZSBvciBnZXRBc3NldCBjaGFuZ2VzLlxuICAgICAgICovXG4gICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gbmV4dFByb3BzLnZhbHVlIHx8IHRoaXMucHJvcHMuZ2V0QXNzZXQgIT09IG5leHRQcm9wcy5nZXRBc3NldCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBJZiB0aGVyZSBpcyBhIG1lZGlhIHBhdGggZm9yIHRoaXMgY29udHJvbCBpbiB0aGUgc3RhdGUgb2JqZWN0LCBhbmQgdGhhdFxuICAgICAgICogcGF0aCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgdmFsdWUgaW4gYG5leHRQcm9wc2AsIHVwZGF0ZS5cbiAgICAgICAqL1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbmV4dFByb3BzLm1lZGlhUGF0aHMuZ2V0KHRoaXMuY29udHJvbElEKTtcbiAgICAgIGlmIChtZWRpYVBhdGggJiYgbmV4dFByb3BzLnZhbHVlICE9PSBtZWRpYVBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICBjb25zdCB7IG1lZGlhUGF0aHMsIHZhbHVlLCBvblJlbW92ZUluc2VydGVkTWVkaWEsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggIT09IHZhbHVlKSB7XG4gICAgICAgIG9uQ2hhbmdlKG1lZGlhUGF0aCk7XG4gICAgICB9IGVsc2UgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggPT09IHZhbHVlKSB7XG4gICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICB9XG5cbiAgICBoYW5kbGVDaGFuZ2UgPSBlID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIG9uT3Blbk1lZGlhTGlicmFyeSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gb25PcGVuTWVkaWFMaWJyYXJ5KHtcbiAgICAgICAgY29udHJvbElEOiB0aGlzLmNvbnRyb2xJRCxcbiAgICAgICAgZm9ySW1hZ2UsXG4gICAgICAgIHByaXZhdGVVcGxvYWQ6IGZpZWxkLmdldCgncHJpdmF0ZScpLFxuICAgICAgICB2YWx1ZTogdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSksXG4gICAgICAgIGFsbG93TXVsdGlwbGU6ICEhbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnYWxsb3dfbXVsdGlwbGUnLCB0cnVlKSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlVXJsID0gc3ViamVjdCA9PiBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgY29uc3QgdXJsID0gd2luZG93LnByb21wdCh0aGlzLnByb3BzLnQoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucHJvbXB0VXJsYCkpO1xuXG4gICAgICBpZiAodXJsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKHVybCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGhhbmRsZVJlbW92ZSA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5wcm9wcy5vbkNsZWFyTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKCcnKTtcbiAgICB9O1xuXG4gICAgb25SZW1vdmVPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlTGlzdFRvQXJyYXkodGhpcy5wcm9wcy52YWx1ZSk7XG4gICAgICB2YWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2Uoc2l6ZU9mVmFsdWUodmFsdWUpID4gMCA/IFsuLi52YWx1ZV0gOiBudWxsKTtcbiAgICB9O1xuXG4gICAgb25SZXBsYWNlT25lID0gaW5kZXggPT4gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgcmVwbGFjZUluZGV4OiBpbmRleCxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZzogbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJyksXG4gICAgICAgIGZpZWxkLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChmaWVsZC5oYXNJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddKSkge1xuICAgICAgICB3YXJuRGVwcmVjYXRlZE9wdGlvbnMoZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQuZ2V0SW4oWydvcHRpb25zJywgJ21lZGlhX2xpYnJhcnknXSwgTWFwKCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmllbGQuZ2V0KCdtZWRpYV9saWJyYXJ5JywgTWFwKCkpO1xuICAgIH07XG5cbiAgICBhbGxvd3NNdWx0aXBsZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnLCBmYWxzZSkgJiZcbiAgICAgICAgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJykuZ2V0KCdtdWx0aXBsZScsIGZhbHNlKVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgb25Tb3J0RW5kID0gKHsgb2xkSW5kZXgsIG5ld0luZGV4IH0pID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGFycmF5TW92ZSh2YWx1ZSwgb2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICB9O1xuXG4gICAgZ2V0VmFsaWRhdGVWYWx1ZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGlzTXVsdGlwbGUodmFsdWUpID8gdmFsdWUubWFwKHYgPT4gYmFzZW5hbWUodikpIDogYmFzZW5hbWUodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rID0gdmFsdWUgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IE1BWF9ESVNQTEFZX0xFTkdUSDtcbiAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoIDw9IHNpemUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgY29uc3QgdGV4dCA9IGAke3ZhbHVlLnNsaWNlKDAsIHNpemUgLyAyKX1cXHUyMDI2JHt2YWx1ZS5zbGljZSgtKHNpemUgLyAyKSArIDEpfWA7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RmlsZUxpbmsgaHJlZj17dmFsdWV9IHJlbD1cIm5vb3BlbmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAge3RleHR9XG4gICAgICAgIDwvRmlsZUxpbms+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJGaWxlTGlua3MgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8RmlsZUxpbmtzPlxuICAgICAgICAgICAgPEZpbGVMaW5rTGlzdD5cbiAgICAgICAgICAgICAge3ZhbHVlLm1hcCh2YWwgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e3ZhbH0+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsKX08L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRmlsZUxpbmtMaXN0PlxuICAgICAgICAgIDwvRmlsZUxpbmtzPlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDxGaWxlTGlua3M+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsdWUpfTwvRmlsZUxpbmtzPjtcbiAgICB9O1xuXG4gICAgcmVuZGVySW1hZ2VzID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBnZXRBc3NldCwgdmFsdWUsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgaXRlbXMgPSB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U29ydGFibGVNdWx0aUltYWdlV3JhcHBlclxuICAgICAgICAgICAgaXRlbXM9e2l0ZW1zfVxuICAgICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLm9uU29ydEVuZH1cbiAgICAgICAgICAgIG9uUmVtb3ZlT25lPXt0aGlzLm9uUmVtb3ZlT25lfVxuICAgICAgICAgICAgb25SZXBsYWNlT25lPXt0aGlzLm9uUmVwbGFjZU9uZX1cbiAgICAgICAgICAgIGRpc3RhbmNlPXs0fVxuICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgYXhpcz1cInh5XCJcbiAgICAgICAgICAgIGxvY2tUb0NvbnRhaW5lckVkZ2VzPXt0cnVlfVxuICAgICAgICAgID48L1NvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXI+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxJbWFnZVdyYXBwZXI+XG4gICAgICAgICAgPEltYWdlIHZhbHVlPXt2YWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgYWxsb3dzTXVsdGlwbGUgPSB0aGlzLmFsbG93c011bHRpcGxlKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtmb3JJbWFnZSA/IHRoaXMucmVuZGVySW1hZ2VzKCkgOiBudWxsfVxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7Zm9ySW1hZ2UgPyBudWxsIDogdGhpcy5yZW5kZXJGaWxlTGlua3MoKX1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgICAge3QoXG4gICAgICAgICAgICAgICAgYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uJHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdhZGRNb3JlJyA6ICdjaG9vc2VEaWZmZXJlbnQnXG4gICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgJiYgIXRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/IChcbiAgICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlcGxhY2VVcmxgKX1cbiAgICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvblJlbW92ZSBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbW92ZX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlbW92ZSR7YWxsb3dzTXVsdGlwbGUgPyAnQWxsJyA6ICcnfWApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlck5vU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZUNoYW5nZX0+XG4gICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2Uke3RoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdNdWx0aXBsZScgOiAnJ31gKX1cbiAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAge2ZpZWxkLmdldCgnY2hvb3NlX3VybCcsIHRydWUpID8gKFxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2VVcmxgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBjbGFzc05hbWVXcmFwcGVyIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc3ViamVjdCA9IGZvckltYWdlID8gJ2ltYWdlJyA6ICdmaWxlJztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZVdyYXBwZXJ9PlxuICAgICAgICAgIDxzcGFuPnt2YWx1ZSA/IHRoaXMucmVuZGVyU2VsZWN0aW9uKHN1YmplY3QpIDogdGhpcy5yZW5kZXJOb1NlbGVjdGlvbihzdWJqZWN0KX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG4iXX0= */",
|
|
31
|
+
styles: "display:flex;justify-content:center;column-gap:10px;margin-right:20px;margin-top:-10px;margin-bottom:10px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0M4QyIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IE1hcCwgTGlzdCB9IGZyb20gJ2ltbXV0YWJsZSc7XG5pbXBvcnQgb25jZSBmcm9tICdsb2Rhc2gvb25jZSc7XG5pbXBvcnQgeyBvbmVMaW5lIH0gZnJvbSAnY29tbW9uLXRhZ3MnO1xuaW1wb3J0IHtcbiAgbGVuZ3RocyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgYm9yZGVycyxcbiAgZWZmZWN0cyxcbiAgc2hhZG93cyxcbiAgSWNvbkJ1dHRvbixcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYXJyYXlNb3ZlSW1tdXRhYmxlIGFzIGFycmF5TW92ZSB9IGZyb20gJ2FycmF5LW1vdmUnO1xuaW1wb3J0IHtcbiAgRG5kQ29udGV4dCxcbiAgTW91c2VTZW5zb3IsXG4gIFRvdWNoU2Vuc29yLFxuICBjbG9zZXN0Q2VudGVyLFxuICB1c2VTZW5zb3IsXG4gIHVzZVNlbnNvcnMsXG59IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHsgU29ydGFibGVDb250ZXh0LCB1c2VTb3J0YWJsZSB9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7IENTUyB9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgeyByZXN0cmljdFRvUGFyZW50RWxlbWVudCB9IGZyb20gJ0BkbmQta2l0L21vZGlmaWVycyc7XG5cbmNvbnN0IE1BWF9ESVNQTEFZX0xFTkdUSCA9IDUwO1xuXG5jb25zdCBJbWFnZVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBmbGV4LWJhc2lzOiAxNTVweDtcbiAgd2lkdGg6IDE1NXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAke2VmZmVjdHMuY2hlY2tlcmJvYXJkfTtcbiAgJHtzaGFkb3dzLmluc2V0fTtcbiAgY3Vyc29yOiAke3Byb3BzID0+IChwcm9wcy5zb3J0YWJsZSA/ICdwb2ludGVyJyA6ICdhdXRvJyl9O1xuYDtcblxuY29uc3QgU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRJbWFnZSA9IHN0eWxlZC5pbWdgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG5gO1xuXG5mdW5jdGlvbiBJbWFnZSh7IHZhbHVlLCBmaWVsZCwgZ2V0QXNzZXQgfSkge1xuICBjb25zdCBbYXNzZXQsIHNldEFzc2V0XSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBuZXdBc3NldCA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICBzZXRBc3NldChuZXdBc3NldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFzc2V0KG51bGwpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBmaWVsZCwgZ2V0QXNzZXRdKTtcblxuICByZXR1cm4gYXNzZXQgPyA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHNyYz17YXNzZXR9IC8+IDogbnVsbDtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2UgdmFsdWU9e2l0ZW1WYWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IGNyeXB0by5yYW5kb21VVUlEKCksXG4gICAgdmFsdWUsXG4gIH0pKTtcblxuICByZXR1cm4gdmFsdWVBcnJheTtcbn1cblxuY29uc3Qgd2FybkRlcHJlY2F0ZWRPcHRpb25zID0gb25jZShmaWVsZCA9PlxuICBjb25zb2xlLndhcm4ob25lTGluZWBcbiAgRGVjYXAgQ01TIGNvbmZpZzogJHtmaWVsZC5nZXQoJ25hbWUnKX0gZmllbGQ6IHByb3BlcnR5IFwib3B0aW9uc1wiIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZVxuICAke2ZpZWxkLmdldCgnd2lkZ2V0Jyl9IHdpZGdldCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuIFJhdGhlciB0aGFuXG4gIFxcYGZpZWxkLm9wdGlvbnMubWVkaWFfbGlicmFyeVxcYCwgYXBwbHkgbWVkaWEgbGlicmFyeSBvcHRpb25zIGZvciB0aGlzIHdpZGdldCB1bmRlclxuICBcXGBmaWVsZC5tZWRpYV9saWJyYXJ5XFxgLlxuYCksXG4pO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB3aXRoRmlsZUNvbnRyb2woeyBmb3JJbWFnZSB9ID0ge30pIHtcbiAgcmV0dXJuIGNsYXNzIEZpbGVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgZmllbGQ6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIGdldEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgbWVkaWFQYXRoczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgICAgb25BZGRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25PcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DbGVhck1lZGlhQ29udHJvbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgY2xhc3NOYW1lV3JhcHBlcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgdmFsdWU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICAgICAgSW1tdXRhYmxlUHJvcFR5cGVzLmxpc3RPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICAgIF0pLFxuICAgICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB9O1xuXG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgIHZhbHVlOiAnJyxcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgIHRoaXMuY29udHJvbElEID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIC8vIE1hbnVhbGx5IHZhbGlkYXRlIFByb3BUeXBlcyAtIFJlYWN0IDE5IGJyZWFraW5nIGNoYW5nZVxuICAgICAgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKEZpbGVDb250cm9sLnByb3BUeXBlcywgdGhpcy5wcm9wcywgJ3Byb3AnLCAnRmlsZUNvbnRyb2wnKTtcbiAgICB9XG5cbiAgICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICAvKipcbiAgICAgICAqIEFsd2F5cyB1cGRhdGUgaWYgdGhlIHZhbHVlIG9yIGdldEFzc2V0IGNoYW5nZXMuXG4gICAgICAgKi9cbiAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlICE9PSBuZXh0UHJvcHMudmFsdWUgfHwgdGhpcy5wcm9wcy5nZXRBc3NldCAhPT0gbmV4dFByb3BzLmdldEFzc2V0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGlzIGEgbWVkaWEgcGF0aCBmb3IgdGhpcyBjb250cm9sIGluIHRoZSBzdGF0ZSBvYmplY3QsIGFuZCB0aGF0XG4gICAgICAgKiBwYXRoIGlzIGRpZmZlcmVudCB0aGFuIHRoZSB2YWx1ZSBpbiBgbmV4dFByb3BzYCwgdXBkYXRlLlxuICAgICAgICovXG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBuZXh0UHJvcHMubWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBuZXh0UHJvcHMudmFsdWUgIT09IG1lZGlhUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IHsgbWVkaWFQYXRocywgdmFsdWUsIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBtZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCAhPT0gdmFsdWUpIHtcbiAgICAgICAgb25DaGFuZ2UobWVkaWFQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCA9PT0gdmFsdWUpIHtcbiAgICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhKHRoaXMuY29udHJvbElEKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMucHJvcHMub25SZW1vdmVNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZSA9IGUgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogISFtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdhbGxvd19tdWx0aXBsZScsIHRydWUpLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVVcmwgPSBzdWJqZWN0ID0+IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cucHJvbXB0KHRoaXMucHJvcHMudChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5wcm9tcHRVcmxgKSk7XG5cbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UodXJsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlUmVtb3ZlID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2xlYXJNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UoJycpO1xuICAgIH07XG5cbiAgICBvblJlbW92ZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVMaXN0VG9BcnJheSh0aGlzLnByb3BzLnZhbHVlKTtcbiAgICAgIHZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShzaXplT2ZWYWx1ZSh2YWx1ZSkgPiAwID8gWy4uLnZhbHVlXSA6IG51bGwpO1xuICAgIH07XG5cbiAgICBvblJlcGxhY2VPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICByZXBsYWNlSW5kZXg6IGluZGV4LFxuICAgICAgICBhbGxvd011bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGZpZWxkLmhhc0luKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10pKSB7XG4gICAgICAgIHdhcm5EZXByZWNhdGVkT3B0aW9ucyhmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZC5nZXRJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddLCBNYXAoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWVsZC5nZXQoJ21lZGlhX2xpYnJhcnknLCBNYXAoKSk7XG4gICAgfTtcblxuICAgIGFsbG93c011bHRpcGxlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycsIGZhbHNlKSAmJlxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKS5nZXQoJ211bHRpcGxlJywgZmFsc2UpXG4gICAgICApO1xuICAgIH07XG5cbiAgICBvblNvcnRFbmQgPSAoeyBvbGRJbmRleCwgbmV3SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYXJyYXlNb3ZlKHZhbHVlLCBvbGRJbmRleCwgbmV3SW5kZXgpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICBnZXRWYWxpZGF0ZVZhbHVlID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaXNNdWx0aXBsZSh2YWx1ZSkgPyB2YWx1ZS5tYXAodiA9PiBiYXNlbmFtZSh2KSkgOiBiYXNlbmFtZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmsgPSB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBzaXplID0gTUFYX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPD0gc2l6ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0ZXh0ID0gYCR7dmFsdWUuc2xpY2UoMCwgc2l6ZSAvIDIpfVxcdTIwMjYke3ZhbHVlLnNsaWNlKC0oc2l6ZSAvIDIpICsgMSl9YDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGaWxlTGluayBocmVmPXt2YWx1ZX0gcmVsPVwibm9vcGVuZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GaWxlTGluaz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGaWxlTGlua3M+XG4gICAgICAgICAgICA8RmlsZUxpbmtMaXN0PlxuICAgICAgICAgICAgICB7dmFsdWUubWFwKHZhbCA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17dmFsfT57dGhpcy5yZW5kZXJGaWxlTGluayh2YWwpfTwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9GaWxlTGlua0xpc3Q+XG4gICAgICAgICAgPC9GaWxlTGlua3M+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gPEZpbGVMaW5rcz57dGhpcy5yZW5kZXJGaWxlTGluayh2YWx1ZSl9PC9GaWxlTGlua3M+O1xuICAgIH07XG5cbiAgICByZW5kZXJJbWFnZXMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGdldEFzc2V0LCB2YWx1ZSwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBpdGVtcyA9IHZhbHVlTGlzdFRvU29ydGFibGVBcnJheSh2YWx1ZSk7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyXG4gICAgICAgICAgICBpdGVtcz17aXRlbXN9XG4gICAgICAgICAgICBvblNvcnRFbmQ9e3RoaXMub25Tb3J0RW5kfVxuICAgICAgICAgICAgb25SZW1vdmVPbmU9e3RoaXMub25SZW1vdmVPbmV9XG4gICAgICAgICAgICBvblJlcGxhY2VPbmU9e3RoaXMub25SZXBsYWNlT25lfVxuICAgICAgICAgICAgZGlzdGFuY2U9ezR9XG4gICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICBheGlzPVwieHlcIlxuICAgICAgICAgICAgbG9ja1RvQ29udGFpbmVyRWRnZXM9e3RydWV9XG4gICAgICAgICAgPjwvU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcj5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEltYWdlV3JhcHBlcj5cbiAgICAgICAgICA8SW1hZ2UgdmFsdWU9e3ZhbHVlfSBmaWVsZD17ZmllbGR9IGdldEFzc2V0PXtnZXRBc3NldH0gLz5cbiAgICAgICAgPC9JbWFnZVdyYXBwZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJTZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBhbGxvd3NNdWx0aXBsZSA9IHRoaXMuYWxsb3dzTXVsdGlwbGUoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2ZvckltYWdlID8gdGhpcy5yZW5kZXJJbWFnZXMoKSA6IG51bGx9XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtmb3JJbWFnZSA/IG51bGwgOiB0aGlzLnJlbmRlckZpbGVMaW5rcygpfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS4ke1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ2FkZE1vcmUnIDogJ2Nob29zZURpZmZlcmVudCdcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSAmJiAhdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gKFxuICAgICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVwbGFjZVVybGApfVxuICAgICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVtb3ZlfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVtb3ZlJHthbGxvd3NNdWx0aXBsZSA/ICdBbGwnIDogJyd9YCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b25SZW1vdmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyTm9TZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZSR7dGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ011bHRpcGxlJyA6ICcnfWApfVxuICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgPyAoXG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZVVybGApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIGNsYXNzTmFtZVdyYXBwZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gZm9ySW1hZ2UgPyAnaW1hZ2UnIDogJ2ZpbGUnO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lV3JhcHBlcn0+XG4gICAgICAgICAgPHNwYW4+e3ZhbHVlID8gdGhpcy5yZW5kZXJTZWxlY3Rpb24oc3ViamVjdCkgOiB0aGlzLnJlbmRlck5vU2VsZWN0aW9uKHN1YmplY3QpfTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ== */",
|
|
34
32
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
35
33
|
});
|
|
36
34
|
const StyledImage = /*#__PURE__*/_styled("img", {
|
|
@@ -41,7 +39,7 @@ const StyledImage = /*#__PURE__*/_styled("img", {
|
|
|
41
39
|
styles: "width:100%;height:100%;object-fit:contain"
|
|
42
40
|
} : {
|
|
43
41
|
name: "ukfjzf",
|
|
44
|
-
styles: "width:100%;height:100%;object-fit:contain/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUQ4QiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IE1hcCwgTGlzdCB9IGZyb20gJ2ltbXV0YWJsZSc7XG5pbXBvcnQgb25jZSBmcm9tICdsb2Rhc2gvb25jZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBvbmVMaW5lIH0gZnJvbSAnY29tbW9uLXRhZ3MnO1xuaW1wb3J0IHtcbiAgbGVuZ3RocyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgYm9yZGVycyxcbiAgZWZmZWN0cyxcbiAgc2hhZG93cyxcbiAgSWNvbkJ1dHRvbixcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYXJyYXlNb3ZlSW1tdXRhYmxlIGFzIGFycmF5TW92ZSB9IGZyb20gJ2FycmF5LW1vdmUnO1xuaW1wb3J0IHtcbiAgRG5kQ29udGV4dCxcbiAgTW91c2VTZW5zb3IsXG4gIFRvdWNoU2Vuc29yLFxuICBjbG9zZXN0Q2VudGVyLFxuICB1c2VTZW5zb3IsXG4gIHVzZVNlbnNvcnMsXG59IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHsgU29ydGFibGVDb250ZXh0LCB1c2VTb3J0YWJsZSB9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7IENTUyB9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgeyByZXN0cmljdFRvUGFyZW50RWxlbWVudCB9IGZyb20gJ0BkbmQta2l0L21vZGlmaWVycyc7XG5cbmNvbnN0IE1BWF9ESVNQTEFZX0xFTkdUSCA9IDUwO1xuXG5jb25zdCBJbWFnZVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBmbGV4LWJhc2lzOiAxNTVweDtcbiAgd2lkdGg6IDE1NXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAke2VmZmVjdHMuY2hlY2tlcmJvYXJkfTtcbiAgJHtzaGFkb3dzLmluc2V0fTtcbiAgY3Vyc29yOiAke3Byb3BzID0+IChwcm9wcy5zb3J0YWJsZSA/ICdwb2ludGVyJyA6ICdhdXRvJyl9O1xuYDtcblxuY29uc3QgU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRJbWFnZSA9IHN0eWxlZC5pbWdgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG5gO1xuXG5mdW5jdGlvbiBJbWFnZSh7IHZhbHVlLCBmaWVsZCwgZ2V0QXNzZXQgfSkge1xuICBjb25zdCBbYXNzZXQsIHNldEFzc2V0XSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBuZXdBc3NldCA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICBzZXRBc3NldChuZXdBc3NldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFzc2V0KG51bGwpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBmaWVsZCwgZ2V0QXNzZXRdKTtcblxuICByZXR1cm4gYXNzZXQgPyA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHNyYz17YXNzZXR9IC8+IDogbnVsbDtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2UgdmFsdWU9e2l0ZW1WYWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IHV1aWQoKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIHJldHVybiB2YWx1ZUFycmF5O1xufVxuXG5jb25zdCB3YXJuRGVwcmVjYXRlZE9wdGlvbnMgPSBvbmNlKGZpZWxkID0+XG4gIGNvbnNvbGUud2FybihvbmVMaW5lYFxuICBEZWNhcCBDTVMgY29uZmlnOiAke2ZpZWxkLmdldCgnbmFtZScpfSBmaWVsZDogcHJvcGVydHkgXCJvcHRpb25zXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlXG4gICR7ZmllbGQuZ2V0KCd3aWRnZXQnKX0gd2lkZ2V0IGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS4gUmF0aGVyIHRoYW5cbiAgXFxgZmllbGQub3B0aW9ucy5tZWRpYV9saWJyYXJ5XFxgLCBhcHBseSBtZWRpYSBsaWJyYXJ5IG9wdGlvbnMgZm9yIHRoaXMgd2lkZ2V0IHVuZGVyXG4gIFxcYGZpZWxkLm1lZGlhX2xpYnJhcnlcXGAuXG5gKSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHdpdGhGaWxlQ29udHJvbCh7IGZvckltYWdlIH0gPSB7fSkge1xuICByZXR1cm4gY2xhc3MgRmlsZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICBmaWVsZDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgZ2V0QXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgICBvbkFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbk9wZW5NZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNsZWFyTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBjbGFzc05hbWVXcmFwcGVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgICBJbW11dGFibGVQcm9wVHlwZXMubGlzdE9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgXSksXG4gICAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgdmFsdWU6ICcnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgdGhpcy5jb250cm9sSUQgPSB1dWlkKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAvLyBNYW51YWxseSB2YWxpZGF0ZSBQcm9wVHlwZXMgLSBSZWFjdCAxOSBicmVha2luZyBjaGFuZ2VcbiAgICAgIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyhGaWxlQ29udHJvbC5wcm9wVHlwZXMsIHRoaXMucHJvcHMsICdwcm9wJywgJ0ZpbGVDb250cm9sJyk7XG4gICAgfVxuXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgICAgLyoqXG4gICAgICAgKiBBbHdheXMgdXBkYXRlIGlmIHRoZSB2YWx1ZSBvciBnZXRBc3NldCBjaGFuZ2VzLlxuICAgICAgICovXG4gICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gbmV4dFByb3BzLnZhbHVlIHx8IHRoaXMucHJvcHMuZ2V0QXNzZXQgIT09IG5leHRQcm9wcy5nZXRBc3NldCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBJZiB0aGVyZSBpcyBhIG1lZGlhIHBhdGggZm9yIHRoaXMgY29udHJvbCBpbiB0aGUgc3RhdGUgb2JqZWN0LCBhbmQgdGhhdFxuICAgICAgICogcGF0aCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgdmFsdWUgaW4gYG5leHRQcm9wc2AsIHVwZGF0ZS5cbiAgICAgICAqL1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbmV4dFByb3BzLm1lZGlhUGF0aHMuZ2V0KHRoaXMuY29udHJvbElEKTtcbiAgICAgIGlmIChtZWRpYVBhdGggJiYgbmV4dFByb3BzLnZhbHVlICE9PSBtZWRpYVBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICBjb25zdCB7IG1lZGlhUGF0aHMsIHZhbHVlLCBvblJlbW92ZUluc2VydGVkTWVkaWEsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggIT09IHZhbHVlKSB7XG4gICAgICAgIG9uQ2hhbmdlKG1lZGlhUGF0aCk7XG4gICAgICB9IGVsc2UgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggPT09IHZhbHVlKSB7XG4gICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICB9XG5cbiAgICBoYW5kbGVDaGFuZ2UgPSBlID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIG9uT3Blbk1lZGlhTGlicmFyeSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gb25PcGVuTWVkaWFMaWJyYXJ5KHtcbiAgICAgICAgY29udHJvbElEOiB0aGlzLmNvbnRyb2xJRCxcbiAgICAgICAgZm9ySW1hZ2UsXG4gICAgICAgIHByaXZhdGVVcGxvYWQ6IGZpZWxkLmdldCgncHJpdmF0ZScpLFxuICAgICAgICB2YWx1ZTogdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSksXG4gICAgICAgIGFsbG93TXVsdGlwbGU6ICEhbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnYWxsb3dfbXVsdGlwbGUnLCB0cnVlKSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlVXJsID0gc3ViamVjdCA9PiBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgY29uc3QgdXJsID0gd2luZG93LnByb21wdCh0aGlzLnByb3BzLnQoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucHJvbXB0VXJsYCkpO1xuXG4gICAgICBpZiAodXJsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKHVybCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGhhbmRsZVJlbW92ZSA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5wcm9wcy5vbkNsZWFyTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKCcnKTtcbiAgICB9O1xuXG4gICAgb25SZW1vdmVPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlTGlzdFRvQXJyYXkodGhpcy5wcm9wcy52YWx1ZSk7XG4gICAgICB2YWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2Uoc2l6ZU9mVmFsdWUodmFsdWUpID4gMCA/IFsuLi52YWx1ZV0gOiBudWxsKTtcbiAgICB9O1xuXG4gICAgb25SZXBsYWNlT25lID0gaW5kZXggPT4gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgcmVwbGFjZUluZGV4OiBpbmRleCxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZzogbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJyksXG4gICAgICAgIGZpZWxkLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChmaWVsZC5oYXNJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddKSkge1xuICAgICAgICB3YXJuRGVwcmVjYXRlZE9wdGlvbnMoZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQuZ2V0SW4oWydvcHRpb25zJywgJ21lZGlhX2xpYnJhcnknXSwgTWFwKCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmllbGQuZ2V0KCdtZWRpYV9saWJyYXJ5JywgTWFwKCkpO1xuICAgIH07XG5cbiAgICBhbGxvd3NNdWx0aXBsZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnLCBmYWxzZSkgJiZcbiAgICAgICAgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJykuZ2V0KCdtdWx0aXBsZScsIGZhbHNlKVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgb25Tb3J0RW5kID0gKHsgb2xkSW5kZXgsIG5ld0luZGV4IH0pID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGFycmF5TW92ZSh2YWx1ZSwgb2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICB9O1xuXG4gICAgZ2V0VmFsaWRhdGVWYWx1ZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGlzTXVsdGlwbGUodmFsdWUpID8gdmFsdWUubWFwKHYgPT4gYmFzZW5hbWUodikpIDogYmFzZW5hbWUodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rID0gdmFsdWUgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IE1BWF9ESVNQTEFZX0xFTkdUSDtcbiAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoIDw9IHNpemUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgY29uc3QgdGV4dCA9IGAke3ZhbHVlLnNsaWNlKDAsIHNpemUgLyAyKX1cXHUyMDI2JHt2YWx1ZS5zbGljZSgtKHNpemUgLyAyKSArIDEpfWA7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RmlsZUxpbmsgaHJlZj17dmFsdWV9IHJlbD1cIm5vb3BlbmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAge3RleHR9XG4gICAgICAgIDwvRmlsZUxpbms+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJGaWxlTGlua3MgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8RmlsZUxpbmtzPlxuICAgICAgICAgICAgPEZpbGVMaW5rTGlzdD5cbiAgICAgICAgICAgICAge3ZhbHVlLm1hcCh2YWwgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e3ZhbH0+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsKX08L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRmlsZUxpbmtMaXN0PlxuICAgICAgICAgIDwvRmlsZUxpbmtzPlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDxGaWxlTGlua3M+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsdWUpfTwvRmlsZUxpbmtzPjtcbiAgICB9O1xuXG4gICAgcmVuZGVySW1hZ2VzID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBnZXRBc3NldCwgdmFsdWUsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgaXRlbXMgPSB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U29ydGFibGVNdWx0aUltYWdlV3JhcHBlclxuICAgICAgICAgICAgaXRlbXM9e2l0ZW1zfVxuICAgICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLm9uU29ydEVuZH1cbiAgICAgICAgICAgIG9uUmVtb3ZlT25lPXt0aGlzLm9uUmVtb3ZlT25lfVxuICAgICAgICAgICAgb25SZXBsYWNlT25lPXt0aGlzLm9uUmVwbGFjZU9uZX1cbiAgICAgICAgICAgIGRpc3RhbmNlPXs0fVxuICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgYXhpcz1cInh5XCJcbiAgICAgICAgICAgIGxvY2tUb0NvbnRhaW5lckVkZ2VzPXt0cnVlfVxuICAgICAgICAgID48L1NvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXI+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxJbWFnZVdyYXBwZXI+XG4gICAgICAgICAgPEltYWdlIHZhbHVlPXt2YWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgYWxsb3dzTXVsdGlwbGUgPSB0aGlzLmFsbG93c011bHRpcGxlKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtmb3JJbWFnZSA/IHRoaXMucmVuZGVySW1hZ2VzKCkgOiBudWxsfVxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7Zm9ySW1hZ2UgPyBudWxsIDogdGhpcy5yZW5kZXJGaWxlTGlua3MoKX1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgICAge3QoXG4gICAgICAgICAgICAgICAgYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uJHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdhZGRNb3JlJyA6ICdjaG9vc2VEaWZmZXJlbnQnXG4gICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgJiYgIXRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/IChcbiAgICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlcGxhY2VVcmxgKX1cbiAgICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvblJlbW92ZSBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbW92ZX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlbW92ZSR7YWxsb3dzTXVsdGlwbGUgPyAnQWxsJyA6ICcnfWApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlck5vU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZUNoYW5nZX0+XG4gICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2Uke3RoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdNdWx0aXBsZScgOiAnJ31gKX1cbiAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAge2ZpZWxkLmdldCgnY2hvb3NlX3VybCcsIHRydWUpID8gKFxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2VVcmxgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBjbGFzc05hbWVXcmFwcGVyIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc3ViamVjdCA9IGZvckltYWdlID8gJ2ltYWdlJyA6ICdmaWxlJztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZVdyYXBwZXJ9PlxuICAgICAgICAgIDxzcGFuPnt2YWx1ZSA/IHRoaXMucmVuZGVyU2VsZWN0aW9uKHN1YmplY3QpIDogdGhpcy5yZW5kZXJOb1NlbGVjdGlvbihzdWJqZWN0KX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG4iXX0= */",
|
|
42
|
+
styles: "width:100%;height:100%;object-fit:contain/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0Q4QiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IE1hcCwgTGlzdCB9IGZyb20gJ2ltbXV0YWJsZSc7XG5pbXBvcnQgb25jZSBmcm9tICdsb2Rhc2gvb25jZSc7XG5pbXBvcnQgeyBvbmVMaW5lIH0gZnJvbSAnY29tbW9uLXRhZ3MnO1xuaW1wb3J0IHtcbiAgbGVuZ3RocyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgYm9yZGVycyxcbiAgZWZmZWN0cyxcbiAgc2hhZG93cyxcbiAgSWNvbkJ1dHRvbixcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYXJyYXlNb3ZlSW1tdXRhYmxlIGFzIGFycmF5TW92ZSB9IGZyb20gJ2FycmF5LW1vdmUnO1xuaW1wb3J0IHtcbiAgRG5kQ29udGV4dCxcbiAgTW91c2VTZW5zb3IsXG4gIFRvdWNoU2Vuc29yLFxuICBjbG9zZXN0Q2VudGVyLFxuICB1c2VTZW5zb3IsXG4gIHVzZVNlbnNvcnMsXG59IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHsgU29ydGFibGVDb250ZXh0LCB1c2VTb3J0YWJsZSB9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7IENTUyB9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgeyByZXN0cmljdFRvUGFyZW50RWxlbWVudCB9IGZyb20gJ0BkbmQta2l0L21vZGlmaWVycyc7XG5cbmNvbnN0IE1BWF9ESVNQTEFZX0xFTkdUSCA9IDUwO1xuXG5jb25zdCBJbWFnZVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBmbGV4LWJhc2lzOiAxNTVweDtcbiAgd2lkdGg6IDE1NXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAke2VmZmVjdHMuY2hlY2tlcmJvYXJkfTtcbiAgJHtzaGFkb3dzLmluc2V0fTtcbiAgY3Vyc29yOiAke3Byb3BzID0+IChwcm9wcy5zb3J0YWJsZSA/ICdwb2ludGVyJyA6ICdhdXRvJyl9O1xuYDtcblxuY29uc3QgU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRJbWFnZSA9IHN0eWxlZC5pbWdgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG5gO1xuXG5mdW5jdGlvbiBJbWFnZSh7IHZhbHVlLCBmaWVsZCwgZ2V0QXNzZXQgfSkge1xuICBjb25zdCBbYXNzZXQsIHNldEFzc2V0XSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBuZXdBc3NldCA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICBzZXRBc3NldChuZXdBc3NldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFzc2V0KG51bGwpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBmaWVsZCwgZ2V0QXNzZXRdKTtcblxuICByZXR1cm4gYXNzZXQgPyA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHNyYz17YXNzZXR9IC8+IDogbnVsbDtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2UgdmFsdWU9e2l0ZW1WYWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IGNyeXB0by5yYW5kb21VVUlEKCksXG4gICAgdmFsdWUsXG4gIH0pKTtcblxuICByZXR1cm4gdmFsdWVBcnJheTtcbn1cblxuY29uc3Qgd2FybkRlcHJlY2F0ZWRPcHRpb25zID0gb25jZShmaWVsZCA9PlxuICBjb25zb2xlLndhcm4ob25lTGluZWBcbiAgRGVjYXAgQ01TIGNvbmZpZzogJHtmaWVsZC5nZXQoJ25hbWUnKX0gZmllbGQ6IHByb3BlcnR5IFwib3B0aW9uc1wiIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZVxuICAke2ZpZWxkLmdldCgnd2lkZ2V0Jyl9IHdpZGdldCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuIFJhdGhlciB0aGFuXG4gIFxcYGZpZWxkLm9wdGlvbnMubWVkaWFfbGlicmFyeVxcYCwgYXBwbHkgbWVkaWEgbGlicmFyeSBvcHRpb25zIGZvciB0aGlzIHdpZGdldCB1bmRlclxuICBcXGBmaWVsZC5tZWRpYV9saWJyYXJ5XFxgLlxuYCksXG4pO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB3aXRoRmlsZUNvbnRyb2woeyBmb3JJbWFnZSB9ID0ge30pIHtcbiAgcmV0dXJuIGNsYXNzIEZpbGVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgZmllbGQ6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIGdldEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgbWVkaWFQYXRoczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgICAgb25BZGRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25PcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DbGVhck1lZGlhQ29udHJvbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgY2xhc3NOYW1lV3JhcHBlcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgdmFsdWU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICAgICAgSW1tdXRhYmxlUHJvcFR5cGVzLmxpc3RPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICAgIF0pLFxuICAgICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB9O1xuXG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgIHZhbHVlOiAnJyxcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgIHRoaXMuY29udHJvbElEID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIC8vIE1hbnVhbGx5IHZhbGlkYXRlIFByb3BUeXBlcyAtIFJlYWN0IDE5IGJyZWFraW5nIGNoYW5nZVxuICAgICAgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKEZpbGVDb250cm9sLnByb3BUeXBlcywgdGhpcy5wcm9wcywgJ3Byb3AnLCAnRmlsZUNvbnRyb2wnKTtcbiAgICB9XG5cbiAgICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICAvKipcbiAgICAgICAqIEFsd2F5cyB1cGRhdGUgaWYgdGhlIHZhbHVlIG9yIGdldEFzc2V0IGNoYW5nZXMuXG4gICAgICAgKi9cbiAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlICE9PSBuZXh0UHJvcHMudmFsdWUgfHwgdGhpcy5wcm9wcy5nZXRBc3NldCAhPT0gbmV4dFByb3BzLmdldEFzc2V0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGlzIGEgbWVkaWEgcGF0aCBmb3IgdGhpcyBjb250cm9sIGluIHRoZSBzdGF0ZSBvYmplY3QsIGFuZCB0aGF0XG4gICAgICAgKiBwYXRoIGlzIGRpZmZlcmVudCB0aGFuIHRoZSB2YWx1ZSBpbiBgbmV4dFByb3BzYCwgdXBkYXRlLlxuICAgICAgICovXG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBuZXh0UHJvcHMubWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBuZXh0UHJvcHMudmFsdWUgIT09IG1lZGlhUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IHsgbWVkaWFQYXRocywgdmFsdWUsIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBtZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCAhPT0gdmFsdWUpIHtcbiAgICAgICAgb25DaGFuZ2UobWVkaWFQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCA9PT0gdmFsdWUpIHtcbiAgICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhKHRoaXMuY29udHJvbElEKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMucHJvcHMub25SZW1vdmVNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZSA9IGUgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogISFtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdhbGxvd19tdWx0aXBsZScsIHRydWUpLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVVcmwgPSBzdWJqZWN0ID0+IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cucHJvbXB0KHRoaXMucHJvcHMudChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5wcm9tcHRVcmxgKSk7XG5cbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UodXJsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlUmVtb3ZlID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2xlYXJNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UoJycpO1xuICAgIH07XG5cbiAgICBvblJlbW92ZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVMaXN0VG9BcnJheSh0aGlzLnByb3BzLnZhbHVlKTtcbiAgICAgIHZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShzaXplT2ZWYWx1ZSh2YWx1ZSkgPiAwID8gWy4uLnZhbHVlXSA6IG51bGwpO1xuICAgIH07XG5cbiAgICBvblJlcGxhY2VPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICByZXBsYWNlSW5kZXg6IGluZGV4LFxuICAgICAgICBhbGxvd011bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGZpZWxkLmhhc0luKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10pKSB7XG4gICAgICAgIHdhcm5EZXByZWNhdGVkT3B0aW9ucyhmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZC5nZXRJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddLCBNYXAoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWVsZC5nZXQoJ21lZGlhX2xpYnJhcnknLCBNYXAoKSk7XG4gICAgfTtcblxuICAgIGFsbG93c011bHRpcGxlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycsIGZhbHNlKSAmJlxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKS5nZXQoJ211bHRpcGxlJywgZmFsc2UpXG4gICAgICApO1xuICAgIH07XG5cbiAgICBvblNvcnRFbmQgPSAoeyBvbGRJbmRleCwgbmV3SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYXJyYXlNb3ZlKHZhbHVlLCBvbGRJbmRleCwgbmV3SW5kZXgpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICBnZXRWYWxpZGF0ZVZhbHVlID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaXNNdWx0aXBsZSh2YWx1ZSkgPyB2YWx1ZS5tYXAodiA9PiBiYXNlbmFtZSh2KSkgOiBiYXNlbmFtZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmsgPSB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBzaXplID0gTUFYX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPD0gc2l6ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0ZXh0ID0gYCR7dmFsdWUuc2xpY2UoMCwgc2l6ZSAvIDIpfVxcdTIwMjYke3ZhbHVlLnNsaWNlKC0oc2l6ZSAvIDIpICsgMSl9YDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGaWxlTGluayBocmVmPXt2YWx1ZX0gcmVsPVwibm9vcGVuZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GaWxlTGluaz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGaWxlTGlua3M+XG4gICAgICAgICAgICA8RmlsZUxpbmtMaXN0PlxuICAgICAgICAgICAgICB7dmFsdWUubWFwKHZhbCA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17dmFsfT57dGhpcy5yZW5kZXJGaWxlTGluayh2YWwpfTwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9GaWxlTGlua0xpc3Q+XG4gICAgICAgICAgPC9GaWxlTGlua3M+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gPEZpbGVMaW5rcz57dGhpcy5yZW5kZXJGaWxlTGluayh2YWx1ZSl9PC9GaWxlTGlua3M+O1xuICAgIH07XG5cbiAgICByZW5kZXJJbWFnZXMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGdldEFzc2V0LCB2YWx1ZSwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBpdGVtcyA9IHZhbHVlTGlzdFRvU29ydGFibGVBcnJheSh2YWx1ZSk7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyXG4gICAgICAgICAgICBpdGVtcz17aXRlbXN9XG4gICAgICAgICAgICBvblNvcnRFbmQ9e3RoaXMub25Tb3J0RW5kfVxuICAgICAgICAgICAgb25SZW1vdmVPbmU9e3RoaXMub25SZW1vdmVPbmV9XG4gICAgICAgICAgICBvblJlcGxhY2VPbmU9e3RoaXMub25SZXBsYWNlT25lfVxuICAgICAgICAgICAgZGlzdGFuY2U9ezR9XG4gICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICBheGlzPVwieHlcIlxuICAgICAgICAgICAgbG9ja1RvQ29udGFpbmVyRWRnZXM9e3RydWV9XG4gICAgICAgICAgPjwvU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcj5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEltYWdlV3JhcHBlcj5cbiAgICAgICAgICA8SW1hZ2UgdmFsdWU9e3ZhbHVlfSBmaWVsZD17ZmllbGR9IGdldEFzc2V0PXtnZXRBc3NldH0gLz5cbiAgICAgICAgPC9JbWFnZVdyYXBwZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJTZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBhbGxvd3NNdWx0aXBsZSA9IHRoaXMuYWxsb3dzTXVsdGlwbGUoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2ZvckltYWdlID8gdGhpcy5yZW5kZXJJbWFnZXMoKSA6IG51bGx9XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtmb3JJbWFnZSA/IG51bGwgOiB0aGlzLnJlbmRlckZpbGVMaW5rcygpfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS4ke1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ2FkZE1vcmUnIDogJ2Nob29zZURpZmZlcmVudCdcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSAmJiAhdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gKFxuICAgICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVwbGFjZVVybGApfVxuICAgICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVtb3ZlfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVtb3ZlJHthbGxvd3NNdWx0aXBsZSA/ICdBbGwnIDogJyd9YCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b25SZW1vdmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyTm9TZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZSR7dGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ011bHRpcGxlJyA6ICcnfWApfVxuICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgPyAoXG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZVVybGApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIGNsYXNzTmFtZVdyYXBwZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gZm9ySW1hZ2UgPyAnaW1hZ2UnIDogJ2ZpbGUnO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lV3JhcHBlcn0+XG4gICAgICAgICAgPHNwYW4+e3ZhbHVlID8gdGhpcy5yZW5kZXJTZWxlY3Rpb24oc3ViamVjdCkgOiB0aGlzLnJlbmRlck5vU2VsZWN0aW9uKHN1YmplY3QpfTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ== */",
|
|
45
43
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
46
44
|
});
|
|
47
45
|
function Image({
|
|
@@ -58,7 +56,7 @@ function Image({
|
|
|
58
56
|
setAsset(null);
|
|
59
57
|
}
|
|
60
58
|
}, [value, field, getAsset]);
|
|
61
|
-
return asset ?
|
|
59
|
+
return asset ? _jsx(StyledImage, {
|
|
62
60
|
role: "presentation",
|
|
63
61
|
src: asset
|
|
64
62
|
}) : null;
|
|
@@ -67,15 +65,17 @@ function SortableImageButtons({
|
|
|
67
65
|
onRemove,
|
|
68
66
|
onReplace
|
|
69
67
|
}) {
|
|
70
|
-
return
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
68
|
+
return _jsxs(SortableImageButtonsWrapper, {
|
|
69
|
+
children: [_jsx(IconButton, {
|
|
70
|
+
size: "small",
|
|
71
|
+
type: "media",
|
|
72
|
+
onClick: onReplace
|
|
73
|
+
}), _jsx(IconButton, {
|
|
74
|
+
size: "small",
|
|
75
|
+
type: "close",
|
|
76
|
+
onClick: onRemove
|
|
77
|
+
})]
|
|
78
|
+
});
|
|
79
79
|
}
|
|
80
80
|
function SortableImage(props) {
|
|
81
81
|
const {
|
|
@@ -98,27 +98,31 @@ function SortableImage(props) {
|
|
|
98
98
|
onRemove,
|
|
99
99
|
onReplace
|
|
100
100
|
} = props;
|
|
101
|
-
return
|
|
101
|
+
return _jsxs("div", {
|
|
102
102
|
ref: setNodeRef,
|
|
103
|
-
style: style
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
103
|
+
style: style,
|
|
104
|
+
...attributes,
|
|
105
|
+
...listeners,
|
|
106
|
+
children: [_jsx(ImageWrapper, {
|
|
107
|
+
sortable: true,
|
|
108
|
+
children: _jsx(Image, {
|
|
109
|
+
value: itemValue,
|
|
110
|
+
field: field,
|
|
111
|
+
getAsset: getAsset
|
|
112
|
+
})
|
|
113
|
+
}), _jsx(SortableImageButtons, {
|
|
114
|
+
item: itemValue,
|
|
115
|
+
onRemove: onRemove,
|
|
116
|
+
onReplace: onReplace
|
|
117
|
+
})]
|
|
118
|
+
});
|
|
115
119
|
}
|
|
116
120
|
var _ref = process.env.NODE_ENV === "production" ? {
|
|
117
121
|
name: "a42x49-SortableMultiImageWrapper",
|
|
118
122
|
styles: "display:flex;flex-wrap:wrap;label:SortableMultiImageWrapper;"
|
|
119
123
|
} : {
|
|
120
124
|
name: "a42x49-SortableMultiImageWrapper",
|
|
121
|
-
styles: "display:flex;flex-wrap:wrap;label:SortableMultiImageWrapper;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUljIiwiZmlsZSI6Ii4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgTWFwLCBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCBvbmNlIGZyb20gJ2xvZGFzaC9vbmNlJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IG9uZUxpbmUgfSBmcm9tICdjb21tb24tdGFncyc7XG5pbXBvcnQge1xuICBsZW5ndGhzLFxuICBjb21wb25lbnRzLFxuICBidXR0b25zLFxuICBib3JkZXJzLFxuICBlZmZlY3RzLFxuICBzaGFkb3dzLFxuICBJY29uQnV0dG9uLFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgeyBiYXNlbmFtZSB9IGZyb20gJ2RlY2FwLWNtcy1saWItdXRpbCc7XG5pbXBvcnQgeyBhcnJheU1vdmVJbW11dGFibGUgYXMgYXJyYXlNb3ZlIH0gZnJvbSAnYXJyYXktbW92ZSc7XG5pbXBvcnQge1xuICBEbmRDb250ZXh0LFxuICBNb3VzZVNlbnNvcixcbiAgVG91Y2hTZW5zb3IsXG4gIGNsb3Nlc3RDZW50ZXIsXG4gIHVzZVNlbnNvcixcbiAgdXNlU2Vuc29ycyxcbn0gZnJvbSAnQGRuZC1raXQvY29yZSc7XG5pbXBvcnQgeyBTb3J0YWJsZUNvbnRleHQsIHVzZVNvcnRhYmxlIH0gZnJvbSAnQGRuZC1raXQvc29ydGFibGUnO1xuaW1wb3J0IHsgQ1NTIH0gZnJvbSAnQGRuZC1raXQvdXRpbGl0aWVzJztcbmltcG9ydCB7IHJlc3RyaWN0VG9QYXJlbnRFbGVtZW50IH0gZnJvbSAnQGRuZC1raXQvbW9kaWZpZXJzJztcblxuY29uc3QgTUFYX0RJU1BMQVlfTEVOR1RIID0gNTA7XG5cbmNvbnN0IEltYWdlV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGZsZXgtYmFzaXM6IDE1NXB4O1xuICB3aWR0aDogMTU1cHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAke2JvcmRlcnMudGV4dEZpZWxkfTtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICR7ZWZmZWN0cy5jaGVja2VyYm9hcmR9O1xuICAke3NoYWRvd3MuaW5zZXR9O1xuICBjdXJzb3I6ICR7cHJvcHMgPT4gKHByb3BzLnNvcnRhYmxlID8gJ3BvaW50ZXInIDogJ2F1dG8nKX07XG5gO1xuXG5jb25zdCBTb3J0YWJsZUltYWdlQnV0dG9uc1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sdW1uLWdhcDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbmA7XG5cbmNvbnN0IFN0eWxlZEltYWdlID0gc3R5bGVkLmltZ2BcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbmA7XG5cbmZ1bmN0aW9uIEltYWdlKHsgdmFsdWUsIGZpZWxkLCBnZXRBc3NldCB9KSB7XG4gIGNvbnN0IFthc3NldCwgc2V0QXNzZXRdID0gdXNlU3RhdGUobnVsbCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnN0IG5ld0Fzc2V0ID0gZ2V0QXNzZXQodmFsdWUsIGZpZWxkKTtcbiAgICAgIHNldEFzc2V0KG5ld0Fzc2V0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0QXNzZXQobnVsbCk7XG4gICAgfVxuICB9LCBbdmFsdWUsIGZpZWxkLCBnZXRBc3NldF0pO1xuXG4gIHJldHVybiBhc3NldCA/IDxTdHlsZWRJbWFnZSByb2xlPVwicHJlc2VudGF0aW9uXCIgc3JjPXthc3NldH0gLz4gOiBudWxsO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlQnV0dG9ucyh7IG9uUmVtb3ZlLCBvblJlcGxhY2UgfSkge1xuICByZXR1cm4gKFxuICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1dyYXBwZXI+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwibWVkaWFcIiBvbkNsaWNrPXtvblJlcGxhY2V9PjwvSWNvbkJ1dHRvbj5cbiAgICAgIDxJY29uQnV0dG9uIHNpemU9XCJzbWFsbFwiIHR5cGU9XCJjbG9zZVwiIG9uQ2xpY2s9e29uUmVtb3ZlfT48L0ljb25CdXR0b24+XG4gICAgPC9Tb3J0YWJsZUltYWdlQnV0dG9uc1dyYXBwZXI+XG4gICk7XG59XG5cbmZ1bmN0aW9uIFNvcnRhYmxlSW1hZ2UocHJvcHMpIHtcbiAgY29uc3QgeyBhdHRyaWJ1dGVzLCBsaXN0ZW5lcnMsIHNldE5vZGVSZWYsIHRyYW5zZm9ybSwgdHJhbnNpdGlvbiB9ID0gdXNlU29ydGFibGUoe1xuICAgIGlkOiBwcm9wcy5pZCxcbiAgfSk7XG5cbiAgY29uc3Qgc3R5bGUgPSB7XG4gICAgdHJhbnNmb3JtOiBDU1MuVHJhbnNmb3JtLnRvU3RyaW5nKHRyYW5zZm9ybSksXG4gICAgdHJhbnNpdGlvbixcbiAgfTtcblxuICBjb25zdCB7IGl0ZW1WYWx1ZSwgZ2V0QXNzZXQsIGZpZWxkLCBvblJlbW92ZSwgb25SZXBsYWNlIH0gPSBwcm9wcztcblxuICByZXR1cm4gKFxuICAgIDxkaXYgcmVmPXtzZXROb2RlUmVmfSBzdHlsZT17c3R5bGV9IHsuLi5hdHRyaWJ1dGVzfSB7Li4ubGlzdGVuZXJzfT5cbiAgICAgIDxJbWFnZVdyYXBwZXIgc29ydGFibGU+XG4gICAgICAgIDxJbWFnZSB2YWx1ZT17aXRlbVZhbHVlfSBmaWVsZD17ZmllbGR9IGdldEFzc2V0PXtnZXRBc3NldH0gLz5cbiAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgPFNvcnRhYmxlSW1hZ2VCdXR0b25zXG4gICAgICAgIGl0ZW09e2l0ZW1WYWx1ZX1cbiAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlfVxuICAgICAgICBvblJlcGxhY2U9e29uUmVwbGFjZX1cbiAgICAgID48L1NvcnRhYmxlSW1hZ2VCdXR0b25zPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyKHtcbiAgaXRlbXMsXG4gIGdldEFzc2V0LFxuICBmaWVsZCxcbiAgb25Tb3J0RW5kLFxuICBvblJlbW92ZU9uZSxcbiAgb25SZXBsYWNlT25lLFxufSkge1xuICBjb25zdCBhY3RpdmF0aW9uQ29uc3RyYWludCA9IHsgZGlzdGFuY2U6IDQgfTtcbiAgY29uc3Qgc2Vuc29ycyA9IHVzZVNlbnNvcnMoXG4gICAgdXNlU2Vuc29yKE1vdXNlU2Vuc29yLCB7IGFjdGl2YXRpb25Db25zdHJhaW50IH0pLFxuICAgIHVzZVNlbnNvcihUb3VjaFNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgKTtcblxuICBmdW5jdGlvbiBoYW5kbGVTb3J0RW5kKHsgYWN0aXZlLCBvdmVyIH0pIHtcbiAgICBvblNvcnRFbmQoe1xuICAgICAgb2xkSW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGFjdGl2ZS5pZCksXG4gICAgICBuZXdJbmRleDogaXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gb3Zlci5pZCksXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby11bmtub3duLXByb3BlcnR5XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8RG5kQ29udGV4dFxuICAgICAgICBtb2RpZmllcnM9e1tyZXN0cmljdFRvUGFyZW50RWxlbWVudF19XG4gICAgICAgIGNvbGxpc2lvbkRldGVjdGlvbj17Y2xvc2VzdENlbnRlcn1cbiAgICAgICAgc2Vuc29ycz17c2Vuc29yc31cbiAgICAgICAgb25EcmFnRW5kPXtoYW5kbGVTb3J0RW5kfVxuICAgICAgPlxuICAgICAgICA8U29ydGFibGVDb250ZXh0IGl0ZW1zPXtpdGVtc30+XG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxTb3J0YWJsZUltYWdlXG4gICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgICAgaWQ9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgaXRlbVZhbHVlPXtpdGVtLnZhbHVlfVxuICAgICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlT25lKGluZGV4KX1cbiAgICAgICAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2VPbmUoaW5kZXgpfVxuICAgICAgICAgICAgPjwvU29ydGFibGVJbWFnZT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9Tb3J0YWJsZUNvbnRleHQ+XG4gICAgICA8L0RuZENvbnRleHQ+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmNvbnN0IEZpbGVMaW5rID0gc3R5bGVkLmFgXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuYDtcblxuY29uc3QgRmlsZUxpbmtzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVMaW5rTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2V9O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvblJlbW92ZSA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2VEYW5nZXJ9O1xuYDtcblxuZnVuY3Rpb24gaXNNdWx0aXBsZSh2YWx1ZSkge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgTGlzdC5pc0xpc3QodmFsdWUpO1xufVxuXG5mdW5jdGlvbiBzaXplT2ZWYWx1ZSh2YWx1ZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUubGVuZ3RoO1xuICB9XG5cbiAgaWYgKExpc3QuaXNMaXN0KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5zaXplO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlID8gMSA6IDA7XG59XG5cbmZ1bmN0aW9uIHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpIHtcbiAgcmV0dXJuIExpc3QuaXNMaXN0KHZhbHVlKSA/IHZhbHVlLnRvQXJyYXkoKSA6IHZhbHVlID8/ICcnO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpIHtcbiAgaWYgKCFpc011bHRpcGxlKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGNvbnN0IHZhbHVlQXJyYXkgPSB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKS5tYXAodmFsdWUgPT4gKHtcbiAgICBpZDogdXVpZCgpLFxuICAgIHZhbHVlLFxuICB9KSk7XG5cbiAgcmV0dXJuIHZhbHVlQXJyYXk7XG59XG5cbmNvbnN0IHdhcm5EZXByZWNhdGVkT3B0aW9ucyA9IG9uY2UoZmllbGQgPT5cbiAgY29uc29sZS53YXJuKG9uZUxpbmVgXG4gIERlY2FwIENNUyBjb25maWc6ICR7ZmllbGQuZ2V0KCduYW1lJyl9IGZpZWxkOiBwcm9wZXJ0eSBcIm9wdGlvbnNcIiBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciB0aGVcbiAgJHtmaWVsZC5nZXQoJ3dpZGdldCcpfSB3aWRnZXQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLiBSYXRoZXIgdGhhblxuICBcXGBmaWVsZC5vcHRpb25zLm1lZGlhX2xpYnJhcnlcXGAsIGFwcGx5IG1lZGlhIGxpYnJhcnkgb3B0aW9ucyBmb3IgdGhpcyB3aWRnZXQgdW5kZXJcbiAgXFxgZmllbGQubWVkaWFfbGlicmFyeVxcYC5cbmApLFxuKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gd2l0aEZpbGVDb250cm9sKHsgZm9ySW1hZ2UgfSA9IHt9KSB7XG4gIHJldHVybiBjbGFzcyBGaWxlQ29udHJvbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAgIGZpZWxkOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgICBnZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG1lZGlhUGF0aHM6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICAgIG9uQWRkQXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uT3Blbk1lZGlhTGlicmFyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uQ2xlYXJNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZU1lZGlhQ29udHJvbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIGNsYXNzTmFtZVdyYXBwZXI6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgICAgUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICAgIEltbXV0YWJsZVByb3BUeXBlcy5saXN0T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgICBdKSxcbiAgICAgIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgfTtcblxuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICB2YWx1ZTogJycsXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgICBzdXBlcihwcm9wcyk7XG4gICAgICB0aGlzLmNvbnRyb2xJRCA9IHV1aWQoKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIC8vIE1hbnVhbGx5IHZhbGlkYXRlIFByb3BUeXBlcyAtIFJlYWN0IDE5IGJyZWFraW5nIGNoYW5nZVxuICAgICAgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKEZpbGVDb250cm9sLnByb3BUeXBlcywgdGhpcy5wcm9wcywgJ3Byb3AnLCAnRmlsZUNvbnRyb2wnKTtcbiAgICB9XG5cbiAgICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICAvKipcbiAgICAgICAqIEFsd2F5cyB1cGRhdGUgaWYgdGhlIHZhbHVlIG9yIGdldEFzc2V0IGNoYW5nZXMuXG4gICAgICAgKi9cbiAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlICE9PSBuZXh0UHJvcHMudmFsdWUgfHwgdGhpcy5wcm9wcy5nZXRBc3NldCAhPT0gbmV4dFByb3BzLmdldEFzc2V0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGlzIGEgbWVkaWEgcGF0aCBmb3IgdGhpcyBjb250cm9sIGluIHRoZSBzdGF0ZSBvYmplY3QsIGFuZCB0aGF0XG4gICAgICAgKiBwYXRoIGlzIGRpZmZlcmVudCB0aGFuIHRoZSB2YWx1ZSBpbiBgbmV4dFByb3BzYCwgdXBkYXRlLlxuICAgICAgICovXG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBuZXh0UHJvcHMubWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBuZXh0UHJvcHMudmFsdWUgIT09IG1lZGlhUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IHsgbWVkaWFQYXRocywgdmFsdWUsIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBtZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCAhPT0gdmFsdWUpIHtcbiAgICAgICAgb25DaGFuZ2UobWVkaWFQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCA9PT0gdmFsdWUpIHtcbiAgICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhKHRoaXMuY29udHJvbElEKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMucHJvcHMub25SZW1vdmVNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZSA9IGUgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogISFtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdhbGxvd19tdWx0aXBsZScsIHRydWUpLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVVcmwgPSBzdWJqZWN0ID0+IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cucHJvbXB0KHRoaXMucHJvcHMudChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5wcm9tcHRVcmxgKSk7XG5cbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UodXJsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlUmVtb3ZlID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2xlYXJNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UoJycpO1xuICAgIH07XG5cbiAgICBvblJlbW92ZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVMaXN0VG9BcnJheSh0aGlzLnByb3BzLnZhbHVlKTtcbiAgICAgIHZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShzaXplT2ZWYWx1ZSh2YWx1ZSkgPiAwID8gWy4uLnZhbHVlXSA6IG51bGwpO1xuICAgIH07XG5cbiAgICBvblJlcGxhY2VPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICByZXBsYWNlSW5kZXg6IGluZGV4LFxuICAgICAgICBhbGxvd011bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGZpZWxkLmhhc0luKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10pKSB7XG4gICAgICAgIHdhcm5EZXByZWNhdGVkT3B0aW9ucyhmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZC5nZXRJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddLCBNYXAoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWVsZC5nZXQoJ21lZGlhX2xpYnJhcnknLCBNYXAoKSk7XG4gICAgfTtcblxuICAgIGFsbG93c011bHRpcGxlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycsIGZhbHNlKSAmJlxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKS5nZXQoJ211bHRpcGxlJywgZmFsc2UpXG4gICAgICApO1xuICAgIH07XG5cbiAgICBvblNvcnRFbmQgPSAoeyBvbGRJbmRleCwgbmV3SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYXJyYXlNb3ZlKHZhbHVlLCBvbGRJbmRleCwgbmV3SW5kZXgpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICBnZXRWYWxpZGF0ZVZhbHVlID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaXNNdWx0aXBsZSh2YWx1ZSkgPyB2YWx1ZS5tYXAodiA9PiBiYXNlbmFtZSh2KSkgOiBiYXNlbmFtZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmsgPSB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBzaXplID0gTUFYX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPD0gc2l6ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0ZXh0ID0gYCR7dmFsdWUuc2xpY2UoMCwgc2l6ZSAvIDIpfVxcdTIwMjYke3ZhbHVlLnNsaWNlKC0oc2l6ZSAvIDIpICsgMSl9YDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGaWxlTGluayBocmVmPXt2YWx1ZX0gcmVsPVwibm9vcGVuZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GaWxlTGluaz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGaWxlTGlua3M+XG4gICAgICAgICAgICA8RmlsZUxpbmtMaXN0PlxuICAgICAgICAgICAgICB7dmFsdWUubWFwKHZhbCA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17dmFsfT57dGhpcy5yZW5kZXJGaWxlTGluayh2YWwpfTwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9GaWxlTGlua0xpc3Q+XG4gICAgICAgICAgPC9GaWxlTGlua3M+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gPEZpbGVMaW5rcz57dGhpcy5yZW5kZXJGaWxlTGluayh2YWx1ZSl9PC9GaWxlTGlua3M+O1xuICAgIH07XG5cbiAgICByZW5kZXJJbWFnZXMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGdldEFzc2V0LCB2YWx1ZSwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBpdGVtcyA9IHZhbHVlTGlzdFRvU29ydGFibGVBcnJheSh2YWx1ZSk7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyXG4gICAgICAgICAgICBpdGVtcz17aXRlbXN9XG4gICAgICAgICAgICBvblNvcnRFbmQ9e3RoaXMub25Tb3J0RW5kfVxuICAgICAgICAgICAgb25SZW1vdmVPbmU9e3RoaXMub25SZW1vdmVPbmV9XG4gICAgICAgICAgICBvblJlcGxhY2VPbmU9e3RoaXMub25SZXBsYWNlT25lfVxuICAgICAgICAgICAgZGlzdGFuY2U9ezR9XG4gICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICBheGlzPVwieHlcIlxuICAgICAgICAgICAgbG9ja1RvQ29udGFpbmVyRWRnZXM9e3RydWV9XG4gICAgICAgICAgPjwvU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcj5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEltYWdlV3JhcHBlcj5cbiAgICAgICAgICA8SW1hZ2UgdmFsdWU9e3ZhbHVlfSBmaWVsZD17ZmllbGR9IGdldEFzc2V0PXtnZXRBc3NldH0gLz5cbiAgICAgICAgPC9JbWFnZVdyYXBwZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJTZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBhbGxvd3NNdWx0aXBsZSA9IHRoaXMuYWxsb3dzTXVsdGlwbGUoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2ZvckltYWdlID8gdGhpcy5yZW5kZXJJbWFnZXMoKSA6IG51bGx9XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtmb3JJbWFnZSA/IG51bGwgOiB0aGlzLnJlbmRlckZpbGVMaW5rcygpfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS4ke1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ2FkZE1vcmUnIDogJ2Nob29zZURpZmZlcmVudCdcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSAmJiAhdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gKFxuICAgICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVwbGFjZVVybGApfVxuICAgICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVtb3ZlfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVtb3ZlJHthbGxvd3NNdWx0aXBsZSA/ICdBbGwnIDogJyd9YCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b25SZW1vdmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyTm9TZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZSR7dGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ011bHRpcGxlJyA6ICcnfWApfVxuICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgPyAoXG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZVVybGApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIGNsYXNzTmFtZVdyYXBwZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gZm9ySW1hZ2UgPyAnaW1hZ2UnIDogJ2ZpbGUnO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lV3JhcHBlcn0+XG4gICAgICAgICAgPHNwYW4+e3ZhbHVlID8gdGhpcy5yZW5kZXJTZWxlY3Rpb24oc3ViamVjdCkgOiB0aGlzLnJlbmRlck5vU2VsZWN0aW9uKHN1YmplY3QpfTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ== */",
|
|
125
|
+
styles: "display:flex;flex-wrap:wrap;label:SortableMultiImageWrapper;/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0ljIiwiZmlsZSI6Ii4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgTWFwLCBMaXN0IH0gZnJvbSAnaW1tdXRhYmxlJztcbmltcG9ydCBvbmNlIGZyb20gJ2xvZGFzaC9vbmNlJztcbmltcG9ydCB7IG9uZUxpbmUgfSBmcm9tICdjb21tb24tdGFncyc7XG5pbXBvcnQge1xuICBsZW5ndGhzLFxuICBjb21wb25lbnRzLFxuICBidXR0b25zLFxuICBib3JkZXJzLFxuICBlZmZlY3RzLFxuICBzaGFkb3dzLFxuICBJY29uQnV0dG9uLFxufSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgeyBiYXNlbmFtZSB9IGZyb20gJ2RlY2FwLWNtcy1saWItdXRpbCc7XG5pbXBvcnQgeyBhcnJheU1vdmVJbW11dGFibGUgYXMgYXJyYXlNb3ZlIH0gZnJvbSAnYXJyYXktbW92ZSc7XG5pbXBvcnQge1xuICBEbmRDb250ZXh0LFxuICBNb3VzZVNlbnNvcixcbiAgVG91Y2hTZW5zb3IsXG4gIGNsb3Nlc3RDZW50ZXIsXG4gIHVzZVNlbnNvcixcbiAgdXNlU2Vuc29ycyxcbn0gZnJvbSAnQGRuZC1raXQvY29yZSc7XG5pbXBvcnQgeyBTb3J0YWJsZUNvbnRleHQsIHVzZVNvcnRhYmxlIH0gZnJvbSAnQGRuZC1raXQvc29ydGFibGUnO1xuaW1wb3J0IHsgQ1NTIH0gZnJvbSAnQGRuZC1raXQvdXRpbGl0aWVzJztcbmltcG9ydCB7IHJlc3RyaWN0VG9QYXJlbnRFbGVtZW50IH0gZnJvbSAnQGRuZC1raXQvbW9kaWZpZXJzJztcblxuY29uc3QgTUFYX0RJU1BMQVlfTEVOR1RIID0gNTA7XG5cbmNvbnN0IEltYWdlV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGZsZXgtYmFzaXM6IDE1NXB4O1xuICB3aWR0aDogMTU1cHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAke2JvcmRlcnMudGV4dEZpZWxkfTtcbiAgYm9yZGVyLXJhZGl1czogJHtsZW5ndGhzLmJvcmRlclJhZGl1c307XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICR7ZWZmZWN0cy5jaGVja2VyYm9hcmR9O1xuICAke3NoYWRvd3MuaW5zZXR9O1xuICBjdXJzb3I6ICR7cHJvcHMgPT4gKHByb3BzLnNvcnRhYmxlID8gJ3BvaW50ZXInIDogJ2F1dG8nKX07XG5gO1xuXG5jb25zdCBTb3J0YWJsZUltYWdlQnV0dG9uc1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sdW1uLWdhcDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbmA7XG5cbmNvbnN0IFN0eWxlZEltYWdlID0gc3R5bGVkLmltZ2BcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbmA7XG5cbmZ1bmN0aW9uIEltYWdlKHsgdmFsdWUsIGZpZWxkLCBnZXRBc3NldCB9KSB7XG4gIGNvbnN0IFthc3NldCwgc2V0QXNzZXRdID0gdXNlU3RhdGUobnVsbCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnN0IG5ld0Fzc2V0ID0gZ2V0QXNzZXQodmFsdWUsIGZpZWxkKTtcbiAgICAgIHNldEFzc2V0KG5ld0Fzc2V0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0QXNzZXQobnVsbCk7XG4gICAgfVxuICB9LCBbdmFsdWUsIGZpZWxkLCBnZXRBc3NldF0pO1xuXG4gIHJldHVybiBhc3NldCA/IDxTdHlsZWRJbWFnZSByb2xlPVwicHJlc2VudGF0aW9uXCIgc3JjPXthc3NldH0gLz4gOiBudWxsO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlQnV0dG9ucyh7IG9uUmVtb3ZlLCBvblJlcGxhY2UgfSkge1xuICByZXR1cm4gKFxuICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1dyYXBwZXI+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwibWVkaWFcIiBvbkNsaWNrPXtvblJlcGxhY2V9PjwvSWNvbkJ1dHRvbj5cbiAgICAgIDxJY29uQnV0dG9uIHNpemU9XCJzbWFsbFwiIHR5cGU9XCJjbG9zZVwiIG9uQ2xpY2s9e29uUmVtb3ZlfT48L0ljb25CdXR0b24+XG4gICAgPC9Tb3J0YWJsZUltYWdlQnV0dG9uc1dyYXBwZXI+XG4gICk7XG59XG5cbmZ1bmN0aW9uIFNvcnRhYmxlSW1hZ2UocHJvcHMpIHtcbiAgY29uc3QgeyBhdHRyaWJ1dGVzLCBsaXN0ZW5lcnMsIHNldE5vZGVSZWYsIHRyYW5zZm9ybSwgdHJhbnNpdGlvbiB9ID0gdXNlU29ydGFibGUoe1xuICAgIGlkOiBwcm9wcy5pZCxcbiAgfSk7XG5cbiAgY29uc3Qgc3R5bGUgPSB7XG4gICAgdHJhbnNmb3JtOiBDU1MuVHJhbnNmb3JtLnRvU3RyaW5nKHRyYW5zZm9ybSksXG4gICAgdHJhbnNpdGlvbixcbiAgfTtcblxuICBjb25zdCB7IGl0ZW1WYWx1ZSwgZ2V0QXNzZXQsIGZpZWxkLCBvblJlbW92ZSwgb25SZXBsYWNlIH0gPSBwcm9wcztcblxuICByZXR1cm4gKFxuICAgIDxkaXYgcmVmPXtzZXROb2RlUmVmfSBzdHlsZT17c3R5bGV9IHsuLi5hdHRyaWJ1dGVzfSB7Li4ubGlzdGVuZXJzfT5cbiAgICAgIDxJbWFnZVdyYXBwZXIgc29ydGFibGU+XG4gICAgICAgIDxJbWFnZSB2YWx1ZT17aXRlbVZhbHVlfSBmaWVsZD17ZmllbGR9IGdldEFzc2V0PXtnZXRBc3NldH0gLz5cbiAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgPFNvcnRhYmxlSW1hZ2VCdXR0b25zXG4gICAgICAgIGl0ZW09e2l0ZW1WYWx1ZX1cbiAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlfVxuICAgICAgICBvblJlcGxhY2U9e29uUmVwbGFjZX1cbiAgICAgID48L1NvcnRhYmxlSW1hZ2VCdXR0b25zPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyKHtcbiAgaXRlbXMsXG4gIGdldEFzc2V0LFxuICBmaWVsZCxcbiAgb25Tb3J0RW5kLFxuICBvblJlbW92ZU9uZSxcbiAgb25SZXBsYWNlT25lLFxufSkge1xuICBjb25zdCBhY3RpdmF0aW9uQ29uc3RyYWludCA9IHsgZGlzdGFuY2U6IDQgfTtcbiAgY29uc3Qgc2Vuc29ycyA9IHVzZVNlbnNvcnMoXG4gICAgdXNlU2Vuc29yKE1vdXNlU2Vuc29yLCB7IGFjdGl2YXRpb25Db25zdHJhaW50IH0pLFxuICAgIHVzZVNlbnNvcihUb3VjaFNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgKTtcblxuICBmdW5jdGlvbiBoYW5kbGVTb3J0RW5kKHsgYWN0aXZlLCBvdmVyIH0pIHtcbiAgICBvblNvcnRFbmQoe1xuICAgICAgb2xkSW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGFjdGl2ZS5pZCksXG4gICAgICBuZXdJbmRleDogaXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gb3Zlci5pZCksXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby11bmtub3duLXByb3BlcnR5XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8RG5kQ29udGV4dFxuICAgICAgICBtb2RpZmllcnM9e1tyZXN0cmljdFRvUGFyZW50RWxlbWVudF19XG4gICAgICAgIGNvbGxpc2lvbkRldGVjdGlvbj17Y2xvc2VzdENlbnRlcn1cbiAgICAgICAgc2Vuc29ycz17c2Vuc29yc31cbiAgICAgICAgb25EcmFnRW5kPXtoYW5kbGVTb3J0RW5kfVxuICAgICAgPlxuICAgICAgICA8U29ydGFibGVDb250ZXh0IGl0ZW1zPXtpdGVtc30+XG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxTb3J0YWJsZUltYWdlXG4gICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgICAgaWQ9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgaXRlbVZhbHVlPXtpdGVtLnZhbHVlfVxuICAgICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgICAgb25SZW1vdmU9e29uUmVtb3ZlT25lKGluZGV4KX1cbiAgICAgICAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2VPbmUoaW5kZXgpfVxuICAgICAgICAgICAgPjwvU29ydGFibGVJbWFnZT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9Tb3J0YWJsZUNvbnRleHQ+XG4gICAgICA8L0RuZENvbnRleHQ+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmNvbnN0IEZpbGVMaW5rID0gc3R5bGVkLmFgXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuYDtcblxuY29uc3QgRmlsZUxpbmtzID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVMaW5rTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2V9O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuYDtcblxuY29uc3QgRmlsZVdpZGdldEJ1dHRvblJlbW92ZSA9IHN0eWxlZC5idXR0b25gXG4gICR7YnV0dG9ucy5idXR0b259O1xuICAke2NvbXBvbmVudHMuYmFkZ2VEYW5nZXJ9O1xuYDtcblxuZnVuY3Rpb24gaXNNdWx0aXBsZSh2YWx1ZSkge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgTGlzdC5pc0xpc3QodmFsdWUpO1xufVxuXG5mdW5jdGlvbiBzaXplT2ZWYWx1ZSh2YWx1ZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUubGVuZ3RoO1xuICB9XG5cbiAgaWYgKExpc3QuaXNMaXN0KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5zaXplO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlID8gMSA6IDA7XG59XG5cbmZ1bmN0aW9uIHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpIHtcbiAgcmV0dXJuIExpc3QuaXNMaXN0KHZhbHVlKSA/IHZhbHVlLnRvQXJyYXkoKSA6IHZhbHVlID8/ICcnO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpIHtcbiAgaWYgKCFpc011bHRpcGxlKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGNvbnN0IHZhbHVlQXJyYXkgPSB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKS5tYXAodmFsdWUgPT4gKHtcbiAgICBpZDogY3J5cHRvLnJhbmRvbVVVSUQoKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIHJldHVybiB2YWx1ZUFycmF5O1xufVxuXG5jb25zdCB3YXJuRGVwcmVjYXRlZE9wdGlvbnMgPSBvbmNlKGZpZWxkID0+XG4gIGNvbnNvbGUud2FybihvbmVMaW5lYFxuICBEZWNhcCBDTVMgY29uZmlnOiAke2ZpZWxkLmdldCgnbmFtZScpfSBmaWVsZDogcHJvcGVydHkgXCJvcHRpb25zXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlXG4gICR7ZmllbGQuZ2V0KCd3aWRnZXQnKX0gd2lkZ2V0IGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS4gUmF0aGVyIHRoYW5cbiAgXFxgZmllbGQub3B0aW9ucy5tZWRpYV9saWJyYXJ5XFxgLCBhcHBseSBtZWRpYSBsaWJyYXJ5IG9wdGlvbnMgZm9yIHRoaXMgd2lkZ2V0IHVuZGVyXG4gIFxcYGZpZWxkLm1lZGlhX2xpYnJhcnlcXGAuXG5gKSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHdpdGhGaWxlQ29udHJvbCh7IGZvckltYWdlIH0gPSB7fSkge1xuICByZXR1cm4gY2xhc3MgRmlsZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICBmaWVsZDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgZ2V0QXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgICBvbkFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbk9wZW5NZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNsZWFyTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBjbGFzc05hbWVXcmFwcGVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgICBJbW11dGFibGVQcm9wVHlwZXMubGlzdE9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgXSksXG4gICAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgdmFsdWU6ICcnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgdGhpcy5jb250cm9sSUQgPSBjcnlwdG8ucmFuZG9tVVVJRCgpO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgLy8gTWFudWFsbHkgdmFsaWRhdGUgUHJvcFR5cGVzIC0gUmVhY3QgMTkgYnJlYWtpbmcgY2hhbmdlXG4gICAgICBQcm9wVHlwZXMuY2hlY2tQcm9wVHlwZXMoRmlsZUNvbnRyb2wucHJvcFR5cGVzLCB0aGlzLnByb3BzLCAncHJvcCcsICdGaWxlQ29udHJvbCcpO1xuICAgIH1cblxuICAgIHNob3VsZENvbXBvbmVudFVwZGF0ZShuZXh0UHJvcHMpIHtcbiAgICAgIC8qKlxuICAgICAgICogQWx3YXlzIHVwZGF0ZSBpZiB0aGUgdmFsdWUgb3IgZ2V0QXNzZXQgY2hhbmdlcy5cbiAgICAgICAqL1xuICAgICAgaWYgKHRoaXMucHJvcHMudmFsdWUgIT09IG5leHRQcm9wcy52YWx1ZSB8fCB0aGlzLnByb3BzLmdldEFzc2V0ICE9PSBuZXh0UHJvcHMuZ2V0QXNzZXQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogSWYgdGhlcmUgaXMgYSBtZWRpYSBwYXRoIGZvciB0aGlzIGNvbnRyb2wgaW4gdGhlIHN0YXRlIG9iamVjdCwgYW5kIHRoYXRcbiAgICAgICAqIHBhdGggaXMgZGlmZmVyZW50IHRoYW4gdGhlIHZhbHVlIGluIGBuZXh0UHJvcHNgLCB1cGRhdGUuXG4gICAgICAgKi9cbiAgICAgIGNvbnN0IG1lZGlhUGF0aCA9IG5leHRQcm9wcy5tZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG5leHRQcm9wcy52YWx1ZSAhPT0gbWVkaWFQYXRoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgICAgY29uc3QgeyBtZWRpYVBhdGhzLCB2YWx1ZSwgb25SZW1vdmVJbnNlcnRlZE1lZGlhLCBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG1lZGlhUGF0aCA9IG1lZGlhUGF0aHMuZ2V0KHRoaXMuY29udHJvbElEKTtcbiAgICAgIGlmIChtZWRpYVBhdGggJiYgbWVkaWFQYXRoICE9PSB2YWx1ZSkge1xuICAgICAgICBvbkNoYW5nZShtZWRpYVBhdGgpO1xuICAgICAgfSBlbHNlIGlmIChtZWRpYVBhdGggJiYgbWVkaWFQYXRoID09PSB2YWx1ZSkge1xuICAgICAgICBvblJlbW92ZUluc2VydGVkTWVkaWEodGhpcy5jb250cm9sSUQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgdGhpcy5wcm9wcy5vblJlbW92ZU1lZGlhQ29udHJvbCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgfVxuXG4gICAgaGFuZGxlQ2hhbmdlID0gZSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICBhbGxvd011bHRpcGxlOiAhIW1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2FsbG93X211bHRpcGxlJywgdHJ1ZSksXG4gICAgICAgIGNvbmZpZzogbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJyksXG4gICAgICAgIGZpZWxkLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGhhbmRsZVVybCA9IHN1YmplY3QgPT4gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5wcm9tcHQodGhpcy5wcm9wcy50KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnByb21wdFVybGApKTtcblxuICAgICAgaWYgKHVybCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZSh1cmwpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBoYW5kbGVSZW1vdmUgPSBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMucHJvcHMub25DbGVhck1lZGlhQ29udHJvbCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZSgnJyk7XG4gICAgfTtcblxuICAgIG9uUmVtb3ZlT25lID0gaW5kZXggPT4gKCkgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZUxpc3RUb0FycmF5KHRoaXMucHJvcHMudmFsdWUpO1xuICAgICAgdmFsdWUuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKHNpemVPZlZhbHVlKHZhbHVlKSA+IDAgPyBbLi4udmFsdWVdIDogbnVsbCk7XG4gICAgfTtcblxuICAgIG9uUmVwbGFjZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIG9uT3Blbk1lZGlhTGlicmFyeSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gb25PcGVuTWVkaWFMaWJyYXJ5KHtcbiAgICAgICAgY29udHJvbElEOiB0aGlzLmNvbnRyb2xJRCxcbiAgICAgICAgZm9ySW1hZ2UsXG4gICAgICAgIHByaXZhdGVVcGxvYWQ6IGZpZWxkLmdldCgncHJpdmF0ZScpLFxuICAgICAgICB2YWx1ZTogdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSksXG4gICAgICAgIHJlcGxhY2VJbmRleDogaW5kZXgsXG4gICAgICAgIGFsbG93TXVsdGlwbGU6IGZhbHNlLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBnZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoZmllbGQuaGFzSW4oWydvcHRpb25zJywgJ21lZGlhX2xpYnJhcnknXSkpIHtcbiAgICAgICAgd2FybkRlcHJlY2F0ZWRPcHRpb25zKGZpZWxkKTtcbiAgICAgICAgcmV0dXJuIGZpZWxkLmdldEluKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10sIE1hcCgpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZpZWxkLmdldCgnbWVkaWFfbGlicmFyeScsIE1hcCgpKTtcbiAgICB9O1xuXG4gICAgYWxsb3dzTXVsdGlwbGUgPSAoKSA9PiB7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJywgZmFsc2UpICYmXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLmdldCgnbXVsdGlwbGUnLCBmYWxzZSlcbiAgICAgICk7XG4gICAgfTtcblxuICAgIG9uU29ydEVuZCA9ICh7IG9sZEluZGV4LCBuZXdJbmRleCB9KSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSBhcnJheU1vdmUodmFsdWUsIG9sZEluZGV4LCBuZXdJbmRleCk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShuZXdWYWx1ZSk7XG4gICAgfTtcblxuICAgIGdldFZhbGlkYXRlVmFsdWUgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHJldHVybiBpc011bHRpcGxlKHZhbHVlKSA/IHZhbHVlLm1hcCh2ID0+IGJhc2VuYW1lKHYpKSA6IGJhc2VuYW1lKHZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH07XG5cbiAgICByZW5kZXJGaWxlTGluayA9IHZhbHVlID0+IHtcbiAgICAgIGNvbnN0IHNpemUgPSBNQVhfRElTUExBWV9MRU5HVEg7XG4gICAgICBpZiAoIXZhbHVlIHx8IHZhbHVlLmxlbmd0aCA8PSBzaXplKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHRleHQgPSBgJHt2YWx1ZS5zbGljZSgwLCBzaXplIC8gMil9XFx1MjAyNiR7dmFsdWUuc2xpY2UoLShzaXplIC8gMikgKyAxKX1gO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEZpbGVMaW5rIGhyZWY9e3ZhbHVlfSByZWw9XCJub29wZW5lclwiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICAgIHt0ZXh0fVxuICAgICAgICA8L0ZpbGVMaW5rPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmtzID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGlzTXVsdGlwbGUodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPEZpbGVMaW5rcz5cbiAgICAgICAgICAgIDxGaWxlTGlua0xpc3Q+XG4gICAgICAgICAgICAgIHt2YWx1ZS5tYXAodmFsID0+IChcbiAgICAgICAgICAgICAgICA8bGkga2V5PXt2YWx9Pnt0aGlzLnJlbmRlckZpbGVMaW5rKHZhbCl9PC9saT5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L0ZpbGVMaW5rTGlzdD5cbiAgICAgICAgICA8L0ZpbGVMaW5rcz5cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiA8RmlsZUxpbmtzPnt0aGlzLnJlbmRlckZpbGVMaW5rKHZhbHVlKX08L0ZpbGVMaW5rcz47XG4gICAgfTtcblxuICAgIHJlbmRlckltYWdlcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZ2V0QXNzZXQsIHZhbHVlLCBmaWVsZCB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IGl0ZW1zID0gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKTtcblxuICAgICAgaWYgKGlzTXVsdGlwbGUodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFNvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXJcbiAgICAgICAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgICAgICAgIG9uU29ydEVuZD17dGhpcy5vblNvcnRFbmR9XG4gICAgICAgICAgICBvblJlbW92ZU9uZT17dGhpcy5vblJlbW92ZU9uZX1cbiAgICAgICAgICAgIG9uUmVwbGFjZU9uZT17dGhpcy5vblJlcGxhY2VPbmV9XG4gICAgICAgICAgICBkaXN0YW5jZT17NH1cbiAgICAgICAgICAgIGdldEFzc2V0PXtnZXRBc3NldH1cbiAgICAgICAgICAgIGZpZWxkPXtmaWVsZH1cbiAgICAgICAgICAgIGF4aXM9XCJ4eVwiXG4gICAgICAgICAgICBsb2NrVG9Db250YWluZXJFZGdlcz17dHJ1ZX1cbiAgICAgICAgICA+PC9Tb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyPlxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8SW1hZ2VXcmFwcGVyPlxuICAgICAgICAgIDxJbWFnZSB2YWx1ZT17dmFsdWV9IGZpZWxkPXtmaWVsZH0gZ2V0QXNzZXQ9e2dldEFzc2V0fSAvPlxuICAgICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlclNlbGVjdGlvbiA9IHN1YmplY3QgPT4ge1xuICAgICAgY29uc3QgeyB0LCBmaWVsZCB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IGFsbG93c011bHRpcGxlID0gdGhpcy5hbGxvd3NNdWx0aXBsZSgpO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7Zm9ySW1hZ2UgPyB0aGlzLnJlbmRlckltYWdlcygpIDogbnVsbH1cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAge2ZvckltYWdlID8gbnVsbCA6IHRoaXMucmVuZGVyRmlsZUxpbmtzKCl9XG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZUNoYW5nZX0+XG4gICAgICAgICAgICAgIHt0KFxuICAgICAgICAgICAgICAgIGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LiR7XG4gICAgICAgICAgICAgICAgICB0aGlzLmFsbG93c011bHRpcGxlKCkgPyAnYWRkTW9yZScgOiAnY2hvb3NlRGlmZmVyZW50J1xuICAgICAgICAgICAgICAgIH1gLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICAge2ZpZWxkLmdldCgnY2hvb3NlX3VybCcsIHRydWUpICYmICF0aGlzLmFsbG93c011bHRpcGxlKCkgPyAoXG4gICAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlVXJsKHN1YmplY3QpfT5cbiAgICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5yZXBsYWNlVXJsYCl9XG4gICAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgb25DbGljaz17dGhpcy5oYW5kbGVSZW1vdmV9PlxuICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5yZW1vdmUke2FsbG93c011bHRpcGxlID8gJ0FsbCcgOiAnJ31gKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvblJlbW92ZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJOb1NlbGVjdGlvbiA9IHN1YmplY3QgPT4ge1xuICAgICAgY29uc3QgeyB0LCBmaWVsZCB9ID0gdGhpcy5wcm9wcztcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uY2hvb3NlJHt0aGlzLmFsbG93c011bHRpcGxlKCkgPyAnTXVsdGlwbGUnIDogJyd9YCl9XG4gICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSA/IChcbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlVXJsKHN1YmplY3QpfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uY2hvb3NlVXJsYCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3QgeyB2YWx1ZSwgY2xhc3NOYW1lV3JhcHBlciB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHN1YmplY3QgPSBmb3JJbWFnZSA/ICdpbWFnZScgOiAnZmlsZSc7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVXcmFwcGVyfT5cbiAgICAgICAgICA8c3Bhbj57dmFsdWUgPyB0aGlzLnJlbmRlclNlbGVjdGlvbihzdWJqZWN0KSA6IHRoaXMucmVuZGVyTm9TZWxlY3Rpb24oc3ViamVjdCl9PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfVxuICB9O1xufVxuIl19 */",
|
|
122
126
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
123
127
|
};
|
|
124
128
|
function SortableMultiImageWrapper({
|
|
@@ -146,26 +150,28 @@ function SortableMultiImageWrapper({
|
|
|
146
150
|
newIndex: items.findIndex(item => item.id === over.id)
|
|
147
151
|
});
|
|
148
152
|
}
|
|
149
|
-
return
|
|
153
|
+
return _jsx("div", {
|
|
150
154
|
// eslint-disable-next-line react/no-unknown-property
|
|
151
|
-
css: _ref
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
155
|
+
css: _ref,
|
|
156
|
+
children: _jsx(DndContext, {
|
|
157
|
+
modifiers: [restrictToParentElement],
|
|
158
|
+
collisionDetection: closestCenter,
|
|
159
|
+
sensors: sensors,
|
|
160
|
+
onDragEnd: handleSortEnd,
|
|
161
|
+
children: _jsx(SortableContext, {
|
|
162
|
+
items: items,
|
|
163
|
+
children: items.map((item, index) => _jsx(SortableImage, {
|
|
164
|
+
id: item.id,
|
|
165
|
+
index: index,
|
|
166
|
+
itemValue: item.value,
|
|
167
|
+
getAsset: getAsset,
|
|
168
|
+
field: field,
|
|
169
|
+
onRemove: onRemoveOne(index),
|
|
170
|
+
onReplace: onReplaceOne(index)
|
|
171
|
+
}, item.id))
|
|
172
|
+
})
|
|
173
|
+
})
|
|
174
|
+
});
|
|
169
175
|
}
|
|
170
176
|
const FileLink = /*#__PURE__*/_styled("a", {
|
|
171
177
|
target: "e1hax4ql4",
|
|
@@ -175,7 +181,7 @@ const FileLink = /*#__PURE__*/_styled("a", {
|
|
|
175
181
|
styles: "margin-bottom:20px;font-weight:normal;color:inherit;&:hover,&:active,&:focus{text-decoration:underline;}"
|
|
176
182
|
} : {
|
|
177
183
|
name: "7mbjrw",
|
|
178
|
-
styles: "margin-bottom:20px;font-weight:normal;color:inherit;&:hover,&:active,&:focus{text-decoration:underline;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUt5QiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IE1hcCwgTGlzdCB9IGZyb20gJ2ltbXV0YWJsZSc7XG5pbXBvcnQgb25jZSBmcm9tICdsb2Rhc2gvb25jZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBvbmVMaW5lIH0gZnJvbSAnY29tbW9uLXRhZ3MnO1xuaW1wb3J0IHtcbiAgbGVuZ3RocyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgYm9yZGVycyxcbiAgZWZmZWN0cyxcbiAgc2hhZG93cyxcbiAgSWNvbkJ1dHRvbixcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYXJyYXlNb3ZlSW1tdXRhYmxlIGFzIGFycmF5TW92ZSB9IGZyb20gJ2FycmF5LW1vdmUnO1xuaW1wb3J0IHtcbiAgRG5kQ29udGV4dCxcbiAgTW91c2VTZW5zb3IsXG4gIFRvdWNoU2Vuc29yLFxuICBjbG9zZXN0Q2VudGVyLFxuICB1c2VTZW5zb3IsXG4gIHVzZVNlbnNvcnMsXG59IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHsgU29ydGFibGVDb250ZXh0LCB1c2VTb3J0YWJsZSB9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7IENTUyB9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgeyByZXN0cmljdFRvUGFyZW50RWxlbWVudCB9IGZyb20gJ0BkbmQta2l0L21vZGlmaWVycyc7XG5cbmNvbnN0IE1BWF9ESVNQTEFZX0xFTkdUSCA9IDUwO1xuXG5jb25zdCBJbWFnZVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBmbGV4LWJhc2lzOiAxNTVweDtcbiAgd2lkdGg6IDE1NXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAke2VmZmVjdHMuY2hlY2tlcmJvYXJkfTtcbiAgJHtzaGFkb3dzLmluc2V0fTtcbiAgY3Vyc29yOiAke3Byb3BzID0+IChwcm9wcy5zb3J0YWJsZSA/ICdwb2ludGVyJyA6ICdhdXRvJyl9O1xuYDtcblxuY29uc3QgU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRJbWFnZSA9IHN0eWxlZC5pbWdgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG5gO1xuXG5mdW5jdGlvbiBJbWFnZSh7IHZhbHVlLCBmaWVsZCwgZ2V0QXNzZXQgfSkge1xuICBjb25zdCBbYXNzZXQsIHNldEFzc2V0XSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBuZXdBc3NldCA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICBzZXRBc3NldChuZXdBc3NldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFzc2V0KG51bGwpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBmaWVsZCwgZ2V0QXNzZXRdKTtcblxuICByZXR1cm4gYXNzZXQgPyA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHNyYz17YXNzZXR9IC8+IDogbnVsbDtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2UgdmFsdWU9e2l0ZW1WYWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IHV1aWQoKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIHJldHVybiB2YWx1ZUFycmF5O1xufVxuXG5jb25zdCB3YXJuRGVwcmVjYXRlZE9wdGlvbnMgPSBvbmNlKGZpZWxkID0+XG4gIGNvbnNvbGUud2FybihvbmVMaW5lYFxuICBEZWNhcCBDTVMgY29uZmlnOiAke2ZpZWxkLmdldCgnbmFtZScpfSBmaWVsZDogcHJvcGVydHkgXCJvcHRpb25zXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlXG4gICR7ZmllbGQuZ2V0KCd3aWRnZXQnKX0gd2lkZ2V0IGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS4gUmF0aGVyIHRoYW5cbiAgXFxgZmllbGQub3B0aW9ucy5tZWRpYV9saWJyYXJ5XFxgLCBhcHBseSBtZWRpYSBsaWJyYXJ5IG9wdGlvbnMgZm9yIHRoaXMgd2lkZ2V0IHVuZGVyXG4gIFxcYGZpZWxkLm1lZGlhX2xpYnJhcnlcXGAuXG5gKSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHdpdGhGaWxlQ29udHJvbCh7IGZvckltYWdlIH0gPSB7fSkge1xuICByZXR1cm4gY2xhc3MgRmlsZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICBmaWVsZDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgZ2V0QXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgICBvbkFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbk9wZW5NZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNsZWFyTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBjbGFzc05hbWVXcmFwcGVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgICBJbW11dGFibGVQcm9wVHlwZXMubGlzdE9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgXSksXG4gICAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgdmFsdWU6ICcnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgdGhpcy5jb250cm9sSUQgPSB1dWlkKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAvLyBNYW51YWxseSB2YWxpZGF0ZSBQcm9wVHlwZXMgLSBSZWFjdCAxOSBicmVha2luZyBjaGFuZ2VcbiAgICAgIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyhGaWxlQ29udHJvbC5wcm9wVHlwZXMsIHRoaXMucHJvcHMsICdwcm9wJywgJ0ZpbGVDb250cm9sJyk7XG4gICAgfVxuXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgICAgLyoqXG4gICAgICAgKiBBbHdheXMgdXBkYXRlIGlmIHRoZSB2YWx1ZSBvciBnZXRBc3NldCBjaGFuZ2VzLlxuICAgICAgICovXG4gICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gbmV4dFByb3BzLnZhbHVlIHx8IHRoaXMucHJvcHMuZ2V0QXNzZXQgIT09IG5leHRQcm9wcy5nZXRBc3NldCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBJZiB0aGVyZSBpcyBhIG1lZGlhIHBhdGggZm9yIHRoaXMgY29udHJvbCBpbiB0aGUgc3RhdGUgb2JqZWN0LCBhbmQgdGhhdFxuICAgICAgICogcGF0aCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgdmFsdWUgaW4gYG5leHRQcm9wc2AsIHVwZGF0ZS5cbiAgICAgICAqL1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbmV4dFByb3BzLm1lZGlhUGF0aHMuZ2V0KHRoaXMuY29udHJvbElEKTtcbiAgICAgIGlmIChtZWRpYVBhdGggJiYgbmV4dFByb3BzLnZhbHVlICE9PSBtZWRpYVBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICBjb25zdCB7IG1lZGlhUGF0aHMsIHZhbHVlLCBvblJlbW92ZUluc2VydGVkTWVkaWEsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggIT09IHZhbHVlKSB7XG4gICAgICAgIG9uQ2hhbmdlKG1lZGlhUGF0aCk7XG4gICAgICB9IGVsc2UgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggPT09IHZhbHVlKSB7XG4gICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICB9XG5cbiAgICBoYW5kbGVDaGFuZ2UgPSBlID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIG9uT3Blbk1lZGlhTGlicmFyeSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gb25PcGVuTWVkaWFMaWJyYXJ5KHtcbiAgICAgICAgY29udHJvbElEOiB0aGlzLmNvbnRyb2xJRCxcbiAgICAgICAgZm9ySW1hZ2UsXG4gICAgICAgIHByaXZhdGVVcGxvYWQ6IGZpZWxkLmdldCgncHJpdmF0ZScpLFxuICAgICAgICB2YWx1ZTogdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSksXG4gICAgICAgIGFsbG93TXVsdGlwbGU6ICEhbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnYWxsb3dfbXVsdGlwbGUnLCB0cnVlKSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlVXJsID0gc3ViamVjdCA9PiBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgY29uc3QgdXJsID0gd2luZG93LnByb21wdCh0aGlzLnByb3BzLnQoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucHJvbXB0VXJsYCkpO1xuXG4gICAgICBpZiAodXJsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKHVybCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGhhbmRsZVJlbW92ZSA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5wcm9wcy5vbkNsZWFyTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKCcnKTtcbiAgICB9O1xuXG4gICAgb25SZW1vdmVPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlTGlzdFRvQXJyYXkodGhpcy5wcm9wcy52YWx1ZSk7XG4gICAgICB2YWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2Uoc2l6ZU9mVmFsdWUodmFsdWUpID4gMCA/IFsuLi52YWx1ZV0gOiBudWxsKTtcbiAgICB9O1xuXG4gICAgb25SZXBsYWNlT25lID0gaW5kZXggPT4gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgcmVwbGFjZUluZGV4OiBpbmRleCxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZzogbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJyksXG4gICAgICAgIGZpZWxkLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChmaWVsZC5oYXNJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddKSkge1xuICAgICAgICB3YXJuRGVwcmVjYXRlZE9wdGlvbnMoZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQuZ2V0SW4oWydvcHRpb25zJywgJ21lZGlhX2xpYnJhcnknXSwgTWFwKCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmllbGQuZ2V0KCdtZWRpYV9saWJyYXJ5JywgTWFwKCkpO1xuICAgIH07XG5cbiAgICBhbGxvd3NNdWx0aXBsZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnLCBmYWxzZSkgJiZcbiAgICAgICAgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJykuZ2V0KCdtdWx0aXBsZScsIGZhbHNlKVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgb25Tb3J0RW5kID0gKHsgb2xkSW5kZXgsIG5ld0luZGV4IH0pID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGFycmF5TW92ZSh2YWx1ZSwgb2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICB9O1xuXG4gICAgZ2V0VmFsaWRhdGVWYWx1ZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGlzTXVsdGlwbGUodmFsdWUpID8gdmFsdWUubWFwKHYgPT4gYmFzZW5hbWUodikpIDogYmFzZW5hbWUodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rID0gdmFsdWUgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IE1BWF9ESVNQTEFZX0xFTkdUSDtcbiAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoIDw9IHNpemUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgY29uc3QgdGV4dCA9IGAke3ZhbHVlLnNsaWNlKDAsIHNpemUgLyAyKX1cXHUyMDI2JHt2YWx1ZS5zbGljZSgtKHNpemUgLyAyKSArIDEpfWA7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RmlsZUxpbmsgaHJlZj17dmFsdWV9IHJlbD1cIm5vb3BlbmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAge3RleHR9XG4gICAgICAgIDwvRmlsZUxpbms+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJGaWxlTGlua3MgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8RmlsZUxpbmtzPlxuICAgICAgICAgICAgPEZpbGVMaW5rTGlzdD5cbiAgICAgICAgICAgICAge3ZhbHVlLm1hcCh2YWwgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e3ZhbH0+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsKX08L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRmlsZUxpbmtMaXN0PlxuICAgICAgICAgIDwvRmlsZUxpbmtzPlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDxGaWxlTGlua3M+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsdWUpfTwvRmlsZUxpbmtzPjtcbiAgICB9O1xuXG4gICAgcmVuZGVySW1hZ2VzID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBnZXRBc3NldCwgdmFsdWUsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgaXRlbXMgPSB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U29ydGFibGVNdWx0aUltYWdlV3JhcHBlclxuICAgICAgICAgICAgaXRlbXM9e2l0ZW1zfVxuICAgICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLm9uU29ydEVuZH1cbiAgICAgICAgICAgIG9uUmVtb3ZlT25lPXt0aGlzLm9uUmVtb3ZlT25lfVxuICAgICAgICAgICAgb25SZXBsYWNlT25lPXt0aGlzLm9uUmVwbGFjZU9uZX1cbiAgICAgICAgICAgIGRpc3RhbmNlPXs0fVxuICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgYXhpcz1cInh5XCJcbiAgICAgICAgICAgIGxvY2tUb0NvbnRhaW5lckVkZ2VzPXt0cnVlfVxuICAgICAgICAgID48L1NvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXI+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxJbWFnZVdyYXBwZXI+XG4gICAgICAgICAgPEltYWdlIHZhbHVlPXt2YWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgYWxsb3dzTXVsdGlwbGUgPSB0aGlzLmFsbG93c011bHRpcGxlKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtmb3JJbWFnZSA/IHRoaXMucmVuZGVySW1hZ2VzKCkgOiBudWxsfVxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7Zm9ySW1hZ2UgPyBudWxsIDogdGhpcy5yZW5kZXJGaWxlTGlua3MoKX1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgICAge3QoXG4gICAgICAgICAgICAgICAgYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uJHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdhZGRNb3JlJyA6ICdjaG9vc2VEaWZmZXJlbnQnXG4gICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgJiYgIXRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/IChcbiAgICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlcGxhY2VVcmxgKX1cbiAgICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvblJlbW92ZSBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbW92ZX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlbW92ZSR7YWxsb3dzTXVsdGlwbGUgPyAnQWxsJyA6ICcnfWApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlck5vU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZUNoYW5nZX0+XG4gICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2Uke3RoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdNdWx0aXBsZScgOiAnJ31gKX1cbiAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAge2ZpZWxkLmdldCgnY2hvb3NlX3VybCcsIHRydWUpID8gKFxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2VVcmxgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBjbGFzc05hbWVXcmFwcGVyIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc3ViamVjdCA9IGZvckltYWdlID8gJ2ltYWdlJyA6ICdmaWxlJztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZVdyYXBwZXJ9PlxuICAgICAgICAgIDxzcGFuPnt2YWx1ZSA/IHRoaXMucmVuZGVyU2VsZWN0aW9uKHN1YmplY3QpIDogdGhpcy5yZW5kZXJOb1NlbGVjdGlvbihzdWJqZWN0KX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG4iXX0= */",
|
|
184
|
+
styles: "margin-bottom:20px;font-weight:normal;color:inherit;&:hover,&:active,&:focus{text-decoration:underline;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0t5QiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IE1hcCwgTGlzdCB9IGZyb20gJ2ltbXV0YWJsZSc7XG5pbXBvcnQgb25jZSBmcm9tICdsb2Rhc2gvb25jZSc7XG5pbXBvcnQgeyBvbmVMaW5lIH0gZnJvbSAnY29tbW9uLXRhZ3MnO1xuaW1wb3J0IHtcbiAgbGVuZ3RocyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgYm9yZGVycyxcbiAgZWZmZWN0cyxcbiAgc2hhZG93cyxcbiAgSWNvbkJ1dHRvbixcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYXJyYXlNb3ZlSW1tdXRhYmxlIGFzIGFycmF5TW92ZSB9IGZyb20gJ2FycmF5LW1vdmUnO1xuaW1wb3J0IHtcbiAgRG5kQ29udGV4dCxcbiAgTW91c2VTZW5zb3IsXG4gIFRvdWNoU2Vuc29yLFxuICBjbG9zZXN0Q2VudGVyLFxuICB1c2VTZW5zb3IsXG4gIHVzZVNlbnNvcnMsXG59IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHsgU29ydGFibGVDb250ZXh0LCB1c2VTb3J0YWJsZSB9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7IENTUyB9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgeyByZXN0cmljdFRvUGFyZW50RWxlbWVudCB9IGZyb20gJ0BkbmQta2l0L21vZGlmaWVycyc7XG5cbmNvbnN0IE1BWF9ESVNQTEFZX0xFTkdUSCA9IDUwO1xuXG5jb25zdCBJbWFnZVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBmbGV4LWJhc2lzOiAxNTVweDtcbiAgd2lkdGg6IDE1NXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAke2VmZmVjdHMuY2hlY2tlcmJvYXJkfTtcbiAgJHtzaGFkb3dzLmluc2V0fTtcbiAgY3Vyc29yOiAke3Byb3BzID0+IChwcm9wcy5zb3J0YWJsZSA/ICdwb2ludGVyJyA6ICdhdXRvJyl9O1xuYDtcblxuY29uc3QgU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRJbWFnZSA9IHN0eWxlZC5pbWdgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG5gO1xuXG5mdW5jdGlvbiBJbWFnZSh7IHZhbHVlLCBmaWVsZCwgZ2V0QXNzZXQgfSkge1xuICBjb25zdCBbYXNzZXQsIHNldEFzc2V0XSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBuZXdBc3NldCA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICBzZXRBc3NldChuZXdBc3NldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFzc2V0KG51bGwpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBmaWVsZCwgZ2V0QXNzZXRdKTtcblxuICByZXR1cm4gYXNzZXQgPyA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHNyYz17YXNzZXR9IC8+IDogbnVsbDtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2UgdmFsdWU9e2l0ZW1WYWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IGNyeXB0by5yYW5kb21VVUlEKCksXG4gICAgdmFsdWUsXG4gIH0pKTtcblxuICByZXR1cm4gdmFsdWVBcnJheTtcbn1cblxuY29uc3Qgd2FybkRlcHJlY2F0ZWRPcHRpb25zID0gb25jZShmaWVsZCA9PlxuICBjb25zb2xlLndhcm4ob25lTGluZWBcbiAgRGVjYXAgQ01TIGNvbmZpZzogJHtmaWVsZC5nZXQoJ25hbWUnKX0gZmllbGQ6IHByb3BlcnR5IFwib3B0aW9uc1wiIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZVxuICAke2ZpZWxkLmdldCgnd2lkZ2V0Jyl9IHdpZGdldCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuIFJhdGhlciB0aGFuXG4gIFxcYGZpZWxkLm9wdGlvbnMubWVkaWFfbGlicmFyeVxcYCwgYXBwbHkgbWVkaWEgbGlicmFyeSBvcHRpb25zIGZvciB0aGlzIHdpZGdldCB1bmRlclxuICBcXGBmaWVsZC5tZWRpYV9saWJyYXJ5XFxgLlxuYCksXG4pO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB3aXRoRmlsZUNvbnRyb2woeyBmb3JJbWFnZSB9ID0ge30pIHtcbiAgcmV0dXJuIGNsYXNzIEZpbGVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgZmllbGQ6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIGdldEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgbWVkaWFQYXRoczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgICAgb25BZGRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25PcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DbGVhck1lZGlhQ29udHJvbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgY2xhc3NOYW1lV3JhcHBlcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgdmFsdWU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICAgICAgSW1tdXRhYmxlUHJvcFR5cGVzLmxpc3RPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICAgIF0pLFxuICAgICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB9O1xuXG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgIHZhbHVlOiAnJyxcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgIHRoaXMuY29udHJvbElEID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIC8vIE1hbnVhbGx5IHZhbGlkYXRlIFByb3BUeXBlcyAtIFJlYWN0IDE5IGJyZWFraW5nIGNoYW5nZVxuICAgICAgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKEZpbGVDb250cm9sLnByb3BUeXBlcywgdGhpcy5wcm9wcywgJ3Byb3AnLCAnRmlsZUNvbnRyb2wnKTtcbiAgICB9XG5cbiAgICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICAvKipcbiAgICAgICAqIEFsd2F5cyB1cGRhdGUgaWYgdGhlIHZhbHVlIG9yIGdldEFzc2V0IGNoYW5nZXMuXG4gICAgICAgKi9cbiAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlICE9PSBuZXh0UHJvcHMudmFsdWUgfHwgdGhpcy5wcm9wcy5nZXRBc3NldCAhPT0gbmV4dFByb3BzLmdldEFzc2V0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGlzIGEgbWVkaWEgcGF0aCBmb3IgdGhpcyBjb250cm9sIGluIHRoZSBzdGF0ZSBvYmplY3QsIGFuZCB0aGF0XG4gICAgICAgKiBwYXRoIGlzIGRpZmZlcmVudCB0aGFuIHRoZSB2YWx1ZSBpbiBgbmV4dFByb3BzYCwgdXBkYXRlLlxuICAgICAgICovXG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBuZXh0UHJvcHMubWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBuZXh0UHJvcHMudmFsdWUgIT09IG1lZGlhUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IHsgbWVkaWFQYXRocywgdmFsdWUsIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBtZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCAhPT0gdmFsdWUpIHtcbiAgICAgICAgb25DaGFuZ2UobWVkaWFQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCA9PT0gdmFsdWUpIHtcbiAgICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhKHRoaXMuY29udHJvbElEKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMucHJvcHMub25SZW1vdmVNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZSA9IGUgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogISFtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdhbGxvd19tdWx0aXBsZScsIHRydWUpLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVVcmwgPSBzdWJqZWN0ID0+IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cucHJvbXB0KHRoaXMucHJvcHMudChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5wcm9tcHRVcmxgKSk7XG5cbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UodXJsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlUmVtb3ZlID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2xlYXJNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UoJycpO1xuICAgIH07XG5cbiAgICBvblJlbW92ZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVMaXN0VG9BcnJheSh0aGlzLnByb3BzLnZhbHVlKTtcbiAgICAgIHZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShzaXplT2ZWYWx1ZSh2YWx1ZSkgPiAwID8gWy4uLnZhbHVlXSA6IG51bGwpO1xuICAgIH07XG5cbiAgICBvblJlcGxhY2VPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICByZXBsYWNlSW5kZXg6IGluZGV4LFxuICAgICAgICBhbGxvd011bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGZpZWxkLmhhc0luKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10pKSB7XG4gICAgICAgIHdhcm5EZXByZWNhdGVkT3B0aW9ucyhmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZC5nZXRJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddLCBNYXAoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWVsZC5nZXQoJ21lZGlhX2xpYnJhcnknLCBNYXAoKSk7XG4gICAgfTtcblxuICAgIGFsbG93c011bHRpcGxlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycsIGZhbHNlKSAmJlxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKS5nZXQoJ211bHRpcGxlJywgZmFsc2UpXG4gICAgICApO1xuICAgIH07XG5cbiAgICBvblNvcnRFbmQgPSAoeyBvbGRJbmRleCwgbmV3SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYXJyYXlNb3ZlKHZhbHVlLCBvbGRJbmRleCwgbmV3SW5kZXgpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICBnZXRWYWxpZGF0ZVZhbHVlID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaXNNdWx0aXBsZSh2YWx1ZSkgPyB2YWx1ZS5tYXAodiA9PiBiYXNlbmFtZSh2KSkgOiBiYXNlbmFtZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmsgPSB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBzaXplID0gTUFYX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPD0gc2l6ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0ZXh0ID0gYCR7dmFsdWUuc2xpY2UoMCwgc2l6ZSAvIDIpfVxcdTIwMjYke3ZhbHVlLnNsaWNlKC0oc2l6ZSAvIDIpICsgMSl9YDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGaWxlTGluayBocmVmPXt2YWx1ZX0gcmVsPVwibm9vcGVuZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GaWxlTGluaz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGaWxlTGlua3M+XG4gICAgICAgICAgICA8RmlsZUxpbmtMaXN0PlxuICAgICAgICAgICAgICB7dmFsdWUubWFwKHZhbCA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17dmFsfT57dGhpcy5yZW5kZXJGaWxlTGluayh2YWwpfTwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9GaWxlTGlua0xpc3Q+XG4gICAgICAgICAgPC9GaWxlTGlua3M+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gPEZpbGVMaW5rcz57dGhpcy5yZW5kZXJGaWxlTGluayh2YWx1ZSl9PC9GaWxlTGlua3M+O1xuICAgIH07XG5cbiAgICByZW5kZXJJbWFnZXMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGdldEFzc2V0LCB2YWx1ZSwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBpdGVtcyA9IHZhbHVlTGlzdFRvU29ydGFibGVBcnJheSh2YWx1ZSk7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyXG4gICAgICAgICAgICBpdGVtcz17aXRlbXN9XG4gICAgICAgICAgICBvblNvcnRFbmQ9e3RoaXMub25Tb3J0RW5kfVxuICAgICAgICAgICAgb25SZW1vdmVPbmU9e3RoaXMub25SZW1vdmVPbmV9XG4gICAgICAgICAgICBvblJlcGxhY2VPbmU9e3RoaXMub25SZXBsYWNlT25lfVxuICAgICAgICAgICAgZGlzdGFuY2U9ezR9XG4gICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICBheGlzPVwieHlcIlxuICAgICAgICAgICAgbG9ja1RvQ29udGFpbmVyRWRnZXM9e3RydWV9XG4gICAgICAgICAgPjwvU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcj5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEltYWdlV3JhcHBlcj5cbiAgICAgICAgICA8SW1hZ2UgdmFsdWU9e3ZhbHVlfSBmaWVsZD17ZmllbGR9IGdldEFzc2V0PXtnZXRBc3NldH0gLz5cbiAgICAgICAgPC9JbWFnZVdyYXBwZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJTZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBhbGxvd3NNdWx0aXBsZSA9IHRoaXMuYWxsb3dzTXVsdGlwbGUoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2ZvckltYWdlID8gdGhpcy5yZW5kZXJJbWFnZXMoKSA6IG51bGx9XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtmb3JJbWFnZSA/IG51bGwgOiB0aGlzLnJlbmRlckZpbGVMaW5rcygpfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS4ke1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ2FkZE1vcmUnIDogJ2Nob29zZURpZmZlcmVudCdcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSAmJiAhdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gKFxuICAgICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVwbGFjZVVybGApfVxuICAgICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVtb3ZlfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVtb3ZlJHthbGxvd3NNdWx0aXBsZSA/ICdBbGwnIDogJyd9YCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b25SZW1vdmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyTm9TZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZSR7dGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ011bHRpcGxlJyA6ICcnfWApfVxuICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgPyAoXG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZVVybGApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIGNsYXNzTmFtZVdyYXBwZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gZm9ySW1hZ2UgPyAnaW1hZ2UnIDogJ2ZpbGUnO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lV3JhcHBlcn0+XG4gICAgICAgICAgPHNwYW4+e3ZhbHVlID8gdGhpcy5yZW5kZXJTZWxlY3Rpb24oc3ViamVjdCkgOiB0aGlzLnJlbmRlck5vU2VsZWN0aW9uKHN1YmplY3QpfTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ== */",
|
|
179
185
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
180
186
|
});
|
|
181
187
|
const FileLinks = /*#__PURE__*/_styled("div", {
|
|
@@ -186,7 +192,7 @@ const FileLinks = /*#__PURE__*/_styled("div", {
|
|
|
186
192
|
styles: "margin-bottom:12px"
|
|
187
193
|
} : {
|
|
188
194
|
name: "cn3xcj",
|
|
189
|
-
styles: "margin-bottom:12px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUw0QiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IE1hcCwgTGlzdCB9IGZyb20gJ2ltbXV0YWJsZSc7XG5pbXBvcnQgb25jZSBmcm9tICdsb2Rhc2gvb25jZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBvbmVMaW5lIH0gZnJvbSAnY29tbW9uLXRhZ3MnO1xuaW1wb3J0IHtcbiAgbGVuZ3RocyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgYm9yZGVycyxcbiAgZWZmZWN0cyxcbiAgc2hhZG93cyxcbiAgSWNvbkJ1dHRvbixcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYXJyYXlNb3ZlSW1tdXRhYmxlIGFzIGFycmF5TW92ZSB9IGZyb20gJ2FycmF5LW1vdmUnO1xuaW1wb3J0IHtcbiAgRG5kQ29udGV4dCxcbiAgTW91c2VTZW5zb3IsXG4gIFRvdWNoU2Vuc29yLFxuICBjbG9zZXN0Q2VudGVyLFxuICB1c2VTZW5zb3IsXG4gIHVzZVNlbnNvcnMsXG59IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHsgU29ydGFibGVDb250ZXh0LCB1c2VTb3J0YWJsZSB9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7IENTUyB9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgeyByZXN0cmljdFRvUGFyZW50RWxlbWVudCB9IGZyb20gJ0BkbmQta2l0L21vZGlmaWVycyc7XG5cbmNvbnN0IE1BWF9ESVNQTEFZX0xFTkdUSCA9IDUwO1xuXG5jb25zdCBJbWFnZVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBmbGV4LWJhc2lzOiAxNTVweDtcbiAgd2lkdGg6IDE1NXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAke2VmZmVjdHMuY2hlY2tlcmJvYXJkfTtcbiAgJHtzaGFkb3dzLmluc2V0fTtcbiAgY3Vyc29yOiAke3Byb3BzID0+IChwcm9wcy5zb3J0YWJsZSA/ICdwb2ludGVyJyA6ICdhdXRvJyl9O1xuYDtcblxuY29uc3QgU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRJbWFnZSA9IHN0eWxlZC5pbWdgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG5gO1xuXG5mdW5jdGlvbiBJbWFnZSh7IHZhbHVlLCBmaWVsZCwgZ2V0QXNzZXQgfSkge1xuICBjb25zdCBbYXNzZXQsIHNldEFzc2V0XSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBuZXdBc3NldCA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICBzZXRBc3NldChuZXdBc3NldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFzc2V0KG51bGwpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBmaWVsZCwgZ2V0QXNzZXRdKTtcblxuICByZXR1cm4gYXNzZXQgPyA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHNyYz17YXNzZXR9IC8+IDogbnVsbDtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2UgdmFsdWU9e2l0ZW1WYWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IHV1aWQoKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIHJldHVybiB2YWx1ZUFycmF5O1xufVxuXG5jb25zdCB3YXJuRGVwcmVjYXRlZE9wdGlvbnMgPSBvbmNlKGZpZWxkID0+XG4gIGNvbnNvbGUud2FybihvbmVMaW5lYFxuICBEZWNhcCBDTVMgY29uZmlnOiAke2ZpZWxkLmdldCgnbmFtZScpfSBmaWVsZDogcHJvcGVydHkgXCJvcHRpb25zXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlXG4gICR7ZmllbGQuZ2V0KCd3aWRnZXQnKX0gd2lkZ2V0IGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS4gUmF0aGVyIHRoYW5cbiAgXFxgZmllbGQub3B0aW9ucy5tZWRpYV9saWJyYXJ5XFxgLCBhcHBseSBtZWRpYSBsaWJyYXJ5IG9wdGlvbnMgZm9yIHRoaXMgd2lkZ2V0IHVuZGVyXG4gIFxcYGZpZWxkLm1lZGlhX2xpYnJhcnlcXGAuXG5gKSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHdpdGhGaWxlQ29udHJvbCh7IGZvckltYWdlIH0gPSB7fSkge1xuICByZXR1cm4gY2xhc3MgRmlsZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICBmaWVsZDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgZ2V0QXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgICBvbkFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbk9wZW5NZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNsZWFyTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBjbGFzc05hbWVXcmFwcGVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgICBJbW11dGFibGVQcm9wVHlwZXMubGlzdE9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgXSksXG4gICAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgdmFsdWU6ICcnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgdGhpcy5jb250cm9sSUQgPSB1dWlkKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAvLyBNYW51YWxseSB2YWxpZGF0ZSBQcm9wVHlwZXMgLSBSZWFjdCAxOSBicmVha2luZyBjaGFuZ2VcbiAgICAgIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyhGaWxlQ29udHJvbC5wcm9wVHlwZXMsIHRoaXMucHJvcHMsICdwcm9wJywgJ0ZpbGVDb250cm9sJyk7XG4gICAgfVxuXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgICAgLyoqXG4gICAgICAgKiBBbHdheXMgdXBkYXRlIGlmIHRoZSB2YWx1ZSBvciBnZXRBc3NldCBjaGFuZ2VzLlxuICAgICAgICovXG4gICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gbmV4dFByb3BzLnZhbHVlIHx8IHRoaXMucHJvcHMuZ2V0QXNzZXQgIT09IG5leHRQcm9wcy5nZXRBc3NldCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBJZiB0aGVyZSBpcyBhIG1lZGlhIHBhdGggZm9yIHRoaXMgY29udHJvbCBpbiB0aGUgc3RhdGUgb2JqZWN0LCBhbmQgdGhhdFxuICAgICAgICogcGF0aCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgdmFsdWUgaW4gYG5leHRQcm9wc2AsIHVwZGF0ZS5cbiAgICAgICAqL1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbmV4dFByb3BzLm1lZGlhUGF0aHMuZ2V0KHRoaXMuY29udHJvbElEKTtcbiAgICAgIGlmIChtZWRpYVBhdGggJiYgbmV4dFByb3BzLnZhbHVlICE9PSBtZWRpYVBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICBjb25zdCB7IG1lZGlhUGF0aHMsIHZhbHVlLCBvblJlbW92ZUluc2VydGVkTWVkaWEsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggIT09IHZhbHVlKSB7XG4gICAgICAgIG9uQ2hhbmdlKG1lZGlhUGF0aCk7XG4gICAgICB9IGVsc2UgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggPT09IHZhbHVlKSB7XG4gICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICB9XG5cbiAgICBoYW5kbGVDaGFuZ2UgPSBlID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIG9uT3Blbk1lZGlhTGlicmFyeSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gb25PcGVuTWVkaWFMaWJyYXJ5KHtcbiAgICAgICAgY29udHJvbElEOiB0aGlzLmNvbnRyb2xJRCxcbiAgICAgICAgZm9ySW1hZ2UsXG4gICAgICAgIHByaXZhdGVVcGxvYWQ6IGZpZWxkLmdldCgncHJpdmF0ZScpLFxuICAgICAgICB2YWx1ZTogdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSksXG4gICAgICAgIGFsbG93TXVsdGlwbGU6ICEhbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnYWxsb3dfbXVsdGlwbGUnLCB0cnVlKSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlVXJsID0gc3ViamVjdCA9PiBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgY29uc3QgdXJsID0gd2luZG93LnByb21wdCh0aGlzLnByb3BzLnQoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucHJvbXB0VXJsYCkpO1xuXG4gICAgICBpZiAodXJsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKHVybCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGhhbmRsZVJlbW92ZSA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5wcm9wcy5vbkNsZWFyTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKCcnKTtcbiAgICB9O1xuXG4gICAgb25SZW1vdmVPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlTGlzdFRvQXJyYXkodGhpcy5wcm9wcy52YWx1ZSk7XG4gICAgICB2YWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2Uoc2l6ZU9mVmFsdWUodmFsdWUpID4gMCA/IFsuLi52YWx1ZV0gOiBudWxsKTtcbiAgICB9O1xuXG4gICAgb25SZXBsYWNlT25lID0gaW5kZXggPT4gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgcmVwbGFjZUluZGV4OiBpbmRleCxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZzogbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJyksXG4gICAgICAgIGZpZWxkLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChmaWVsZC5oYXNJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddKSkge1xuICAgICAgICB3YXJuRGVwcmVjYXRlZE9wdGlvbnMoZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQuZ2V0SW4oWydvcHRpb25zJywgJ21lZGlhX2xpYnJhcnknXSwgTWFwKCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmllbGQuZ2V0KCdtZWRpYV9saWJyYXJ5JywgTWFwKCkpO1xuICAgIH07XG5cbiAgICBhbGxvd3NNdWx0aXBsZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnLCBmYWxzZSkgJiZcbiAgICAgICAgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJykuZ2V0KCdtdWx0aXBsZScsIGZhbHNlKVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgb25Tb3J0RW5kID0gKHsgb2xkSW5kZXgsIG5ld0luZGV4IH0pID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGFycmF5TW92ZSh2YWx1ZSwgb2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICB9O1xuXG4gICAgZ2V0VmFsaWRhdGVWYWx1ZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGlzTXVsdGlwbGUodmFsdWUpID8gdmFsdWUubWFwKHYgPT4gYmFzZW5hbWUodikpIDogYmFzZW5hbWUodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rID0gdmFsdWUgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IE1BWF9ESVNQTEFZX0xFTkdUSDtcbiAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoIDw9IHNpemUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgY29uc3QgdGV4dCA9IGAke3ZhbHVlLnNsaWNlKDAsIHNpemUgLyAyKX1cXHUyMDI2JHt2YWx1ZS5zbGljZSgtKHNpemUgLyAyKSArIDEpfWA7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RmlsZUxpbmsgaHJlZj17dmFsdWV9IHJlbD1cIm5vb3BlbmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAge3RleHR9XG4gICAgICAgIDwvRmlsZUxpbms+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJGaWxlTGlua3MgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8RmlsZUxpbmtzPlxuICAgICAgICAgICAgPEZpbGVMaW5rTGlzdD5cbiAgICAgICAgICAgICAge3ZhbHVlLm1hcCh2YWwgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e3ZhbH0+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsKX08L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRmlsZUxpbmtMaXN0PlxuICAgICAgICAgIDwvRmlsZUxpbmtzPlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDxGaWxlTGlua3M+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsdWUpfTwvRmlsZUxpbmtzPjtcbiAgICB9O1xuXG4gICAgcmVuZGVySW1hZ2VzID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBnZXRBc3NldCwgdmFsdWUsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgaXRlbXMgPSB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U29ydGFibGVNdWx0aUltYWdlV3JhcHBlclxuICAgICAgICAgICAgaXRlbXM9e2l0ZW1zfVxuICAgICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLm9uU29ydEVuZH1cbiAgICAgICAgICAgIG9uUmVtb3ZlT25lPXt0aGlzLm9uUmVtb3ZlT25lfVxuICAgICAgICAgICAgb25SZXBsYWNlT25lPXt0aGlzLm9uUmVwbGFjZU9uZX1cbiAgICAgICAgICAgIGRpc3RhbmNlPXs0fVxuICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgYXhpcz1cInh5XCJcbiAgICAgICAgICAgIGxvY2tUb0NvbnRhaW5lckVkZ2VzPXt0cnVlfVxuICAgICAgICAgID48L1NvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXI+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxJbWFnZVdyYXBwZXI+XG4gICAgICAgICAgPEltYWdlIHZhbHVlPXt2YWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgYWxsb3dzTXVsdGlwbGUgPSB0aGlzLmFsbG93c011bHRpcGxlKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtmb3JJbWFnZSA/IHRoaXMucmVuZGVySW1hZ2VzKCkgOiBudWxsfVxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7Zm9ySW1hZ2UgPyBudWxsIDogdGhpcy5yZW5kZXJGaWxlTGlua3MoKX1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgICAge3QoXG4gICAgICAgICAgICAgICAgYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uJHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdhZGRNb3JlJyA6ICdjaG9vc2VEaWZmZXJlbnQnXG4gICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgJiYgIXRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/IChcbiAgICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlcGxhY2VVcmxgKX1cbiAgICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvblJlbW92ZSBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbW92ZX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlbW92ZSR7YWxsb3dzTXVsdGlwbGUgPyAnQWxsJyA6ICcnfWApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlck5vU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZUNoYW5nZX0+XG4gICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2Uke3RoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdNdWx0aXBsZScgOiAnJ31gKX1cbiAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAge2ZpZWxkLmdldCgnY2hvb3NlX3VybCcsIHRydWUpID8gKFxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2VVcmxgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBjbGFzc05hbWVXcmFwcGVyIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc3ViamVjdCA9IGZvckltYWdlID8gJ2ltYWdlJyA6ICdmaWxlJztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZVdyYXBwZXJ9PlxuICAgICAgICAgIDxzcGFuPnt2YWx1ZSA/IHRoaXMucmVuZGVyU2VsZWN0aW9uKHN1YmplY3QpIDogdGhpcy5yZW5kZXJOb1NlbGVjdGlvbihzdWJqZWN0KX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG4iXX0= */",
|
|
195
|
+
styles: "margin-bottom:12px/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0w0QiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IE1hcCwgTGlzdCB9IGZyb20gJ2ltbXV0YWJsZSc7XG5pbXBvcnQgb25jZSBmcm9tICdsb2Rhc2gvb25jZSc7XG5pbXBvcnQgeyBvbmVMaW5lIH0gZnJvbSAnY29tbW9uLXRhZ3MnO1xuaW1wb3J0IHtcbiAgbGVuZ3RocyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgYm9yZGVycyxcbiAgZWZmZWN0cyxcbiAgc2hhZG93cyxcbiAgSWNvbkJ1dHRvbixcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYXJyYXlNb3ZlSW1tdXRhYmxlIGFzIGFycmF5TW92ZSB9IGZyb20gJ2FycmF5LW1vdmUnO1xuaW1wb3J0IHtcbiAgRG5kQ29udGV4dCxcbiAgTW91c2VTZW5zb3IsXG4gIFRvdWNoU2Vuc29yLFxuICBjbG9zZXN0Q2VudGVyLFxuICB1c2VTZW5zb3IsXG4gIHVzZVNlbnNvcnMsXG59IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHsgU29ydGFibGVDb250ZXh0LCB1c2VTb3J0YWJsZSB9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7IENTUyB9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgeyByZXN0cmljdFRvUGFyZW50RWxlbWVudCB9IGZyb20gJ0BkbmQta2l0L21vZGlmaWVycyc7XG5cbmNvbnN0IE1BWF9ESVNQTEFZX0xFTkdUSCA9IDUwO1xuXG5jb25zdCBJbWFnZVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBmbGV4LWJhc2lzOiAxNTVweDtcbiAgd2lkdGg6IDE1NXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAke2VmZmVjdHMuY2hlY2tlcmJvYXJkfTtcbiAgJHtzaGFkb3dzLmluc2V0fTtcbiAgY3Vyc29yOiAke3Byb3BzID0+IChwcm9wcy5zb3J0YWJsZSA/ICdwb2ludGVyJyA6ICdhdXRvJyl9O1xuYDtcblxuY29uc3QgU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRJbWFnZSA9IHN0eWxlZC5pbWdgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG5gO1xuXG5mdW5jdGlvbiBJbWFnZSh7IHZhbHVlLCBmaWVsZCwgZ2V0QXNzZXQgfSkge1xuICBjb25zdCBbYXNzZXQsIHNldEFzc2V0XSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBuZXdBc3NldCA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICBzZXRBc3NldChuZXdBc3NldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFzc2V0KG51bGwpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBmaWVsZCwgZ2V0QXNzZXRdKTtcblxuICByZXR1cm4gYXNzZXQgPyA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHNyYz17YXNzZXR9IC8+IDogbnVsbDtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2UgdmFsdWU9e2l0ZW1WYWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IGNyeXB0by5yYW5kb21VVUlEKCksXG4gICAgdmFsdWUsXG4gIH0pKTtcblxuICByZXR1cm4gdmFsdWVBcnJheTtcbn1cblxuY29uc3Qgd2FybkRlcHJlY2F0ZWRPcHRpb25zID0gb25jZShmaWVsZCA9PlxuICBjb25zb2xlLndhcm4ob25lTGluZWBcbiAgRGVjYXAgQ01TIGNvbmZpZzogJHtmaWVsZC5nZXQoJ25hbWUnKX0gZmllbGQ6IHByb3BlcnR5IFwib3B0aW9uc1wiIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZVxuICAke2ZpZWxkLmdldCgnd2lkZ2V0Jyl9IHdpZGdldCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuIFJhdGhlciB0aGFuXG4gIFxcYGZpZWxkLm9wdGlvbnMubWVkaWFfbGlicmFyeVxcYCwgYXBwbHkgbWVkaWEgbGlicmFyeSBvcHRpb25zIGZvciB0aGlzIHdpZGdldCB1bmRlclxuICBcXGBmaWVsZC5tZWRpYV9saWJyYXJ5XFxgLlxuYCksXG4pO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB3aXRoRmlsZUNvbnRyb2woeyBmb3JJbWFnZSB9ID0ge30pIHtcbiAgcmV0dXJuIGNsYXNzIEZpbGVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgZmllbGQ6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIGdldEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgbWVkaWFQYXRoczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgICAgb25BZGRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25PcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DbGVhck1lZGlhQ29udHJvbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgY2xhc3NOYW1lV3JhcHBlcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgdmFsdWU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICAgICAgSW1tdXRhYmxlUHJvcFR5cGVzLmxpc3RPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICAgIF0pLFxuICAgICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB9O1xuXG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgIHZhbHVlOiAnJyxcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgIHRoaXMuY29udHJvbElEID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIC8vIE1hbnVhbGx5IHZhbGlkYXRlIFByb3BUeXBlcyAtIFJlYWN0IDE5IGJyZWFraW5nIGNoYW5nZVxuICAgICAgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKEZpbGVDb250cm9sLnByb3BUeXBlcywgdGhpcy5wcm9wcywgJ3Byb3AnLCAnRmlsZUNvbnRyb2wnKTtcbiAgICB9XG5cbiAgICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICAvKipcbiAgICAgICAqIEFsd2F5cyB1cGRhdGUgaWYgdGhlIHZhbHVlIG9yIGdldEFzc2V0IGNoYW5nZXMuXG4gICAgICAgKi9cbiAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlICE9PSBuZXh0UHJvcHMudmFsdWUgfHwgdGhpcy5wcm9wcy5nZXRBc3NldCAhPT0gbmV4dFByb3BzLmdldEFzc2V0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGlzIGEgbWVkaWEgcGF0aCBmb3IgdGhpcyBjb250cm9sIGluIHRoZSBzdGF0ZSBvYmplY3QsIGFuZCB0aGF0XG4gICAgICAgKiBwYXRoIGlzIGRpZmZlcmVudCB0aGFuIHRoZSB2YWx1ZSBpbiBgbmV4dFByb3BzYCwgdXBkYXRlLlxuICAgICAgICovXG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBuZXh0UHJvcHMubWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBuZXh0UHJvcHMudmFsdWUgIT09IG1lZGlhUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IHsgbWVkaWFQYXRocywgdmFsdWUsIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBtZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCAhPT0gdmFsdWUpIHtcbiAgICAgICAgb25DaGFuZ2UobWVkaWFQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCA9PT0gdmFsdWUpIHtcbiAgICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhKHRoaXMuY29udHJvbElEKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMucHJvcHMub25SZW1vdmVNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZSA9IGUgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogISFtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdhbGxvd19tdWx0aXBsZScsIHRydWUpLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVVcmwgPSBzdWJqZWN0ID0+IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cucHJvbXB0KHRoaXMucHJvcHMudChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5wcm9tcHRVcmxgKSk7XG5cbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UodXJsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlUmVtb3ZlID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2xlYXJNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UoJycpO1xuICAgIH07XG5cbiAgICBvblJlbW92ZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVMaXN0VG9BcnJheSh0aGlzLnByb3BzLnZhbHVlKTtcbiAgICAgIHZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShzaXplT2ZWYWx1ZSh2YWx1ZSkgPiAwID8gWy4uLnZhbHVlXSA6IG51bGwpO1xuICAgIH07XG5cbiAgICBvblJlcGxhY2VPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICByZXBsYWNlSW5kZXg6IGluZGV4LFxuICAgICAgICBhbGxvd011bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGZpZWxkLmhhc0luKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10pKSB7XG4gICAgICAgIHdhcm5EZXByZWNhdGVkT3B0aW9ucyhmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZC5nZXRJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddLCBNYXAoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWVsZC5nZXQoJ21lZGlhX2xpYnJhcnknLCBNYXAoKSk7XG4gICAgfTtcblxuICAgIGFsbG93c011bHRpcGxlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycsIGZhbHNlKSAmJlxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKS5nZXQoJ211bHRpcGxlJywgZmFsc2UpXG4gICAgICApO1xuICAgIH07XG5cbiAgICBvblNvcnRFbmQgPSAoeyBvbGRJbmRleCwgbmV3SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYXJyYXlNb3ZlKHZhbHVlLCBvbGRJbmRleCwgbmV3SW5kZXgpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICBnZXRWYWxpZGF0ZVZhbHVlID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaXNNdWx0aXBsZSh2YWx1ZSkgPyB2YWx1ZS5tYXAodiA9PiBiYXNlbmFtZSh2KSkgOiBiYXNlbmFtZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmsgPSB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBzaXplID0gTUFYX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPD0gc2l6ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0ZXh0ID0gYCR7dmFsdWUuc2xpY2UoMCwgc2l6ZSAvIDIpfVxcdTIwMjYke3ZhbHVlLnNsaWNlKC0oc2l6ZSAvIDIpICsgMSl9YDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGaWxlTGluayBocmVmPXt2YWx1ZX0gcmVsPVwibm9vcGVuZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GaWxlTGluaz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGaWxlTGlua3M+XG4gICAgICAgICAgICA8RmlsZUxpbmtMaXN0PlxuICAgICAgICAgICAgICB7dmFsdWUubWFwKHZhbCA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17dmFsfT57dGhpcy5yZW5kZXJGaWxlTGluayh2YWwpfTwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9GaWxlTGlua0xpc3Q+XG4gICAgICAgICAgPC9GaWxlTGlua3M+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gPEZpbGVMaW5rcz57dGhpcy5yZW5kZXJGaWxlTGluayh2YWx1ZSl9PC9GaWxlTGlua3M+O1xuICAgIH07XG5cbiAgICByZW5kZXJJbWFnZXMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGdldEFzc2V0LCB2YWx1ZSwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBpdGVtcyA9IHZhbHVlTGlzdFRvU29ydGFibGVBcnJheSh2YWx1ZSk7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyXG4gICAgICAgICAgICBpdGVtcz17aXRlbXN9XG4gICAgICAgICAgICBvblNvcnRFbmQ9e3RoaXMub25Tb3J0RW5kfVxuICAgICAgICAgICAgb25SZW1vdmVPbmU9e3RoaXMub25SZW1vdmVPbmV9XG4gICAgICAgICAgICBvblJlcGxhY2VPbmU9e3RoaXMub25SZXBsYWNlT25lfVxuICAgICAgICAgICAgZGlzdGFuY2U9ezR9XG4gICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICBheGlzPVwieHlcIlxuICAgICAgICAgICAgbG9ja1RvQ29udGFpbmVyRWRnZXM9e3RydWV9XG4gICAgICAgICAgPjwvU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcj5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEltYWdlV3JhcHBlcj5cbiAgICAgICAgICA8SW1hZ2UgdmFsdWU9e3ZhbHVlfSBmaWVsZD17ZmllbGR9IGdldEFzc2V0PXtnZXRBc3NldH0gLz5cbiAgICAgICAgPC9JbWFnZVdyYXBwZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJTZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBhbGxvd3NNdWx0aXBsZSA9IHRoaXMuYWxsb3dzTXVsdGlwbGUoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2ZvckltYWdlID8gdGhpcy5yZW5kZXJJbWFnZXMoKSA6IG51bGx9XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtmb3JJbWFnZSA/IG51bGwgOiB0aGlzLnJlbmRlckZpbGVMaW5rcygpfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS4ke1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ2FkZE1vcmUnIDogJ2Nob29zZURpZmZlcmVudCdcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSAmJiAhdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gKFxuICAgICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVwbGFjZVVybGApfVxuICAgICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVtb3ZlfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVtb3ZlJHthbGxvd3NNdWx0aXBsZSA/ICdBbGwnIDogJyd9YCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b25SZW1vdmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyTm9TZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZSR7dGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ011bHRpcGxlJyA6ICcnfWApfVxuICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgPyAoXG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZVVybGApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIGNsYXNzTmFtZVdyYXBwZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gZm9ySW1hZ2UgPyAnaW1hZ2UnIDogJ2ZpbGUnO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lV3JhcHBlcn0+XG4gICAgICAgICAgPHNwYW4+e3ZhbHVlID8gdGhpcy5yZW5kZXJTZWxlY3Rpb24oc3ViamVjdCkgOiB0aGlzLnJlbmRlck5vU2VsZWN0aW9uKHN1YmplY3QpfTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ== */",
|
|
190
196
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
191
197
|
});
|
|
192
198
|
const FileLinkList = /*#__PURE__*/_styled("ul", {
|
|
@@ -197,17 +203,17 @@ const FileLinkList = /*#__PURE__*/_styled("ul", {
|
|
|
197
203
|
styles: "list-style-type:none"
|
|
198
204
|
} : {
|
|
199
205
|
name: "ffhm6p",
|
|
200
|
-
styles: "list-style-type:none/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUw4QiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IE1hcCwgTGlzdCB9IGZyb20gJ2ltbXV0YWJsZSc7XG5pbXBvcnQgb25jZSBmcm9tICdsb2Rhc2gvb25jZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBvbmVMaW5lIH0gZnJvbSAnY29tbW9uLXRhZ3MnO1xuaW1wb3J0IHtcbiAgbGVuZ3RocyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgYm9yZGVycyxcbiAgZWZmZWN0cyxcbiAgc2hhZG93cyxcbiAgSWNvbkJ1dHRvbixcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYXJyYXlNb3ZlSW1tdXRhYmxlIGFzIGFycmF5TW92ZSB9IGZyb20gJ2FycmF5LW1vdmUnO1xuaW1wb3J0IHtcbiAgRG5kQ29udGV4dCxcbiAgTW91c2VTZW5zb3IsXG4gIFRvdWNoU2Vuc29yLFxuICBjbG9zZXN0Q2VudGVyLFxuICB1c2VTZW5zb3IsXG4gIHVzZVNlbnNvcnMsXG59IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHsgU29ydGFibGVDb250ZXh0LCB1c2VTb3J0YWJsZSB9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7IENTUyB9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgeyByZXN0cmljdFRvUGFyZW50RWxlbWVudCB9IGZyb20gJ0BkbmQta2l0L21vZGlmaWVycyc7XG5cbmNvbnN0IE1BWF9ESVNQTEFZX0xFTkdUSCA9IDUwO1xuXG5jb25zdCBJbWFnZVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBmbGV4LWJhc2lzOiAxNTVweDtcbiAgd2lkdGg6IDE1NXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAke2VmZmVjdHMuY2hlY2tlcmJvYXJkfTtcbiAgJHtzaGFkb3dzLmluc2V0fTtcbiAgY3Vyc29yOiAke3Byb3BzID0+IChwcm9wcy5zb3J0YWJsZSA/ICdwb2ludGVyJyA6ICdhdXRvJyl9O1xuYDtcblxuY29uc3QgU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRJbWFnZSA9IHN0eWxlZC5pbWdgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG5gO1xuXG5mdW5jdGlvbiBJbWFnZSh7IHZhbHVlLCBmaWVsZCwgZ2V0QXNzZXQgfSkge1xuICBjb25zdCBbYXNzZXQsIHNldEFzc2V0XSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBuZXdBc3NldCA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICBzZXRBc3NldChuZXdBc3NldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFzc2V0KG51bGwpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBmaWVsZCwgZ2V0QXNzZXRdKTtcblxuICByZXR1cm4gYXNzZXQgPyA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHNyYz17YXNzZXR9IC8+IDogbnVsbDtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2UgdmFsdWU9e2l0ZW1WYWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IHV1aWQoKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIHJldHVybiB2YWx1ZUFycmF5O1xufVxuXG5jb25zdCB3YXJuRGVwcmVjYXRlZE9wdGlvbnMgPSBvbmNlKGZpZWxkID0+XG4gIGNvbnNvbGUud2FybihvbmVMaW5lYFxuICBEZWNhcCBDTVMgY29uZmlnOiAke2ZpZWxkLmdldCgnbmFtZScpfSBmaWVsZDogcHJvcGVydHkgXCJvcHRpb25zXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlXG4gICR7ZmllbGQuZ2V0KCd3aWRnZXQnKX0gd2lkZ2V0IGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS4gUmF0aGVyIHRoYW5cbiAgXFxgZmllbGQub3B0aW9ucy5tZWRpYV9saWJyYXJ5XFxgLCBhcHBseSBtZWRpYSBsaWJyYXJ5IG9wdGlvbnMgZm9yIHRoaXMgd2lkZ2V0IHVuZGVyXG4gIFxcYGZpZWxkLm1lZGlhX2xpYnJhcnlcXGAuXG5gKSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHdpdGhGaWxlQ29udHJvbCh7IGZvckltYWdlIH0gPSB7fSkge1xuICByZXR1cm4gY2xhc3MgRmlsZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICBmaWVsZDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgZ2V0QXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgICBvbkFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbk9wZW5NZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNsZWFyTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBjbGFzc05hbWVXcmFwcGVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgICBJbW11dGFibGVQcm9wVHlwZXMubGlzdE9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgXSksXG4gICAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgdmFsdWU6ICcnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgdGhpcy5jb250cm9sSUQgPSB1dWlkKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAvLyBNYW51YWxseSB2YWxpZGF0ZSBQcm9wVHlwZXMgLSBSZWFjdCAxOSBicmVha2luZyBjaGFuZ2VcbiAgICAgIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyhGaWxlQ29udHJvbC5wcm9wVHlwZXMsIHRoaXMucHJvcHMsICdwcm9wJywgJ0ZpbGVDb250cm9sJyk7XG4gICAgfVxuXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgICAgLyoqXG4gICAgICAgKiBBbHdheXMgdXBkYXRlIGlmIHRoZSB2YWx1ZSBvciBnZXRBc3NldCBjaGFuZ2VzLlxuICAgICAgICovXG4gICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gbmV4dFByb3BzLnZhbHVlIHx8IHRoaXMucHJvcHMuZ2V0QXNzZXQgIT09IG5leHRQcm9wcy5nZXRBc3NldCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBJZiB0aGVyZSBpcyBhIG1lZGlhIHBhdGggZm9yIHRoaXMgY29udHJvbCBpbiB0aGUgc3RhdGUgb2JqZWN0LCBhbmQgdGhhdFxuICAgICAgICogcGF0aCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgdmFsdWUgaW4gYG5leHRQcm9wc2AsIHVwZGF0ZS5cbiAgICAgICAqL1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbmV4dFByb3BzLm1lZGlhUGF0aHMuZ2V0KHRoaXMuY29udHJvbElEKTtcbiAgICAgIGlmIChtZWRpYVBhdGggJiYgbmV4dFByb3BzLnZhbHVlICE9PSBtZWRpYVBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICBjb25zdCB7IG1lZGlhUGF0aHMsIHZhbHVlLCBvblJlbW92ZUluc2VydGVkTWVkaWEsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggIT09IHZhbHVlKSB7XG4gICAgICAgIG9uQ2hhbmdlKG1lZGlhUGF0aCk7XG4gICAgICB9IGVsc2UgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggPT09IHZhbHVlKSB7XG4gICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICB9XG5cbiAgICBoYW5kbGVDaGFuZ2UgPSBlID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIG9uT3Blbk1lZGlhTGlicmFyeSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gb25PcGVuTWVkaWFMaWJyYXJ5KHtcbiAgICAgICAgY29udHJvbElEOiB0aGlzLmNvbnRyb2xJRCxcbiAgICAgICAgZm9ySW1hZ2UsXG4gICAgICAgIHByaXZhdGVVcGxvYWQ6IGZpZWxkLmdldCgncHJpdmF0ZScpLFxuICAgICAgICB2YWx1ZTogdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSksXG4gICAgICAgIGFsbG93TXVsdGlwbGU6ICEhbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnYWxsb3dfbXVsdGlwbGUnLCB0cnVlKSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlVXJsID0gc3ViamVjdCA9PiBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgY29uc3QgdXJsID0gd2luZG93LnByb21wdCh0aGlzLnByb3BzLnQoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucHJvbXB0VXJsYCkpO1xuXG4gICAgICBpZiAodXJsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKHVybCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGhhbmRsZVJlbW92ZSA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5wcm9wcy5vbkNsZWFyTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKCcnKTtcbiAgICB9O1xuXG4gICAgb25SZW1vdmVPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlTGlzdFRvQXJyYXkodGhpcy5wcm9wcy52YWx1ZSk7XG4gICAgICB2YWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2Uoc2l6ZU9mVmFsdWUodmFsdWUpID4gMCA/IFsuLi52YWx1ZV0gOiBudWxsKTtcbiAgICB9O1xuXG4gICAgb25SZXBsYWNlT25lID0gaW5kZXggPT4gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgcmVwbGFjZUluZGV4OiBpbmRleCxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZzogbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJyksXG4gICAgICAgIGZpZWxkLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChmaWVsZC5oYXNJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddKSkge1xuICAgICAgICB3YXJuRGVwcmVjYXRlZE9wdGlvbnMoZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQuZ2V0SW4oWydvcHRpb25zJywgJ21lZGlhX2xpYnJhcnknXSwgTWFwKCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmllbGQuZ2V0KCdtZWRpYV9saWJyYXJ5JywgTWFwKCkpO1xuICAgIH07XG5cbiAgICBhbGxvd3NNdWx0aXBsZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnLCBmYWxzZSkgJiZcbiAgICAgICAgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJykuZ2V0KCdtdWx0aXBsZScsIGZhbHNlKVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgb25Tb3J0RW5kID0gKHsgb2xkSW5kZXgsIG5ld0luZGV4IH0pID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGFycmF5TW92ZSh2YWx1ZSwgb2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICB9O1xuXG4gICAgZ2V0VmFsaWRhdGVWYWx1ZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGlzTXVsdGlwbGUodmFsdWUpID8gdmFsdWUubWFwKHYgPT4gYmFzZW5hbWUodikpIDogYmFzZW5hbWUodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rID0gdmFsdWUgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IE1BWF9ESVNQTEFZX0xFTkdUSDtcbiAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoIDw9IHNpemUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgY29uc3QgdGV4dCA9IGAke3ZhbHVlLnNsaWNlKDAsIHNpemUgLyAyKX1cXHUyMDI2JHt2YWx1ZS5zbGljZSgtKHNpemUgLyAyKSArIDEpfWA7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RmlsZUxpbmsgaHJlZj17dmFsdWV9IHJlbD1cIm5vb3BlbmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAge3RleHR9XG4gICAgICAgIDwvRmlsZUxpbms+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJGaWxlTGlua3MgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8RmlsZUxpbmtzPlxuICAgICAgICAgICAgPEZpbGVMaW5rTGlzdD5cbiAgICAgICAgICAgICAge3ZhbHVlLm1hcCh2YWwgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e3ZhbH0+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsKX08L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRmlsZUxpbmtMaXN0PlxuICAgICAgICAgIDwvRmlsZUxpbmtzPlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDxGaWxlTGlua3M+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsdWUpfTwvRmlsZUxpbmtzPjtcbiAgICB9O1xuXG4gICAgcmVuZGVySW1hZ2VzID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBnZXRBc3NldCwgdmFsdWUsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgaXRlbXMgPSB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U29ydGFibGVNdWx0aUltYWdlV3JhcHBlclxuICAgICAgICAgICAgaXRlbXM9e2l0ZW1zfVxuICAgICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLm9uU29ydEVuZH1cbiAgICAgICAgICAgIG9uUmVtb3ZlT25lPXt0aGlzLm9uUmVtb3ZlT25lfVxuICAgICAgICAgICAgb25SZXBsYWNlT25lPXt0aGlzLm9uUmVwbGFjZU9uZX1cbiAgICAgICAgICAgIGRpc3RhbmNlPXs0fVxuICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgYXhpcz1cInh5XCJcbiAgICAgICAgICAgIGxvY2tUb0NvbnRhaW5lckVkZ2VzPXt0cnVlfVxuICAgICAgICAgID48L1NvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXI+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxJbWFnZVdyYXBwZXI+XG4gICAgICAgICAgPEltYWdlIHZhbHVlPXt2YWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgYWxsb3dzTXVsdGlwbGUgPSB0aGlzLmFsbG93c011bHRpcGxlKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtmb3JJbWFnZSA/IHRoaXMucmVuZGVySW1hZ2VzKCkgOiBudWxsfVxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7Zm9ySW1hZ2UgPyBudWxsIDogdGhpcy5yZW5kZXJGaWxlTGlua3MoKX1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgICAge3QoXG4gICAgICAgICAgICAgICAgYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uJHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdhZGRNb3JlJyA6ICdjaG9vc2VEaWZmZXJlbnQnXG4gICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgJiYgIXRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/IChcbiAgICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlcGxhY2VVcmxgKX1cbiAgICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvblJlbW92ZSBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbW92ZX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlbW92ZSR7YWxsb3dzTXVsdGlwbGUgPyAnQWxsJyA6ICcnfWApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlck5vU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZUNoYW5nZX0+XG4gICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2Uke3RoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdNdWx0aXBsZScgOiAnJ31gKX1cbiAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAge2ZpZWxkLmdldCgnY2hvb3NlX3VybCcsIHRydWUpID8gKFxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2VVcmxgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBjbGFzc05hbWVXcmFwcGVyIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc3ViamVjdCA9IGZvckltYWdlID8gJ2ltYWdlJyA6ICdmaWxlJztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZVdyYXBwZXJ9PlxuICAgICAgICAgIDxzcGFuPnt2YWx1ZSA/IHRoaXMucmVuZGVyU2VsZWN0aW9uKHN1YmplY3QpIDogdGhpcy5yZW5kZXJOb1NlbGVjdGlvbihzdWJqZWN0KX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG4iXX0= */",
|
|
206
|
+
styles: "list-style-type:none/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0w4QiIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IE1hcCwgTGlzdCB9IGZyb20gJ2ltbXV0YWJsZSc7XG5pbXBvcnQgb25jZSBmcm9tICdsb2Rhc2gvb25jZSc7XG5pbXBvcnQgeyBvbmVMaW5lIH0gZnJvbSAnY29tbW9uLXRhZ3MnO1xuaW1wb3J0IHtcbiAgbGVuZ3RocyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgYm9yZGVycyxcbiAgZWZmZWN0cyxcbiAgc2hhZG93cyxcbiAgSWNvbkJ1dHRvbixcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYXJyYXlNb3ZlSW1tdXRhYmxlIGFzIGFycmF5TW92ZSB9IGZyb20gJ2FycmF5LW1vdmUnO1xuaW1wb3J0IHtcbiAgRG5kQ29udGV4dCxcbiAgTW91c2VTZW5zb3IsXG4gIFRvdWNoU2Vuc29yLFxuICBjbG9zZXN0Q2VudGVyLFxuICB1c2VTZW5zb3IsXG4gIHVzZVNlbnNvcnMsXG59IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHsgU29ydGFibGVDb250ZXh0LCB1c2VTb3J0YWJsZSB9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7IENTUyB9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgeyByZXN0cmljdFRvUGFyZW50RWxlbWVudCB9IGZyb20gJ0BkbmQta2l0L21vZGlmaWVycyc7XG5cbmNvbnN0IE1BWF9ESVNQTEFZX0xFTkdUSCA9IDUwO1xuXG5jb25zdCBJbWFnZVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBmbGV4LWJhc2lzOiAxNTVweDtcbiAgd2lkdGg6IDE1NXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAke2VmZmVjdHMuY2hlY2tlcmJvYXJkfTtcbiAgJHtzaGFkb3dzLmluc2V0fTtcbiAgY3Vyc29yOiAke3Byb3BzID0+IChwcm9wcy5zb3J0YWJsZSA/ICdwb2ludGVyJyA6ICdhdXRvJyl9O1xuYDtcblxuY29uc3QgU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRJbWFnZSA9IHN0eWxlZC5pbWdgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG5gO1xuXG5mdW5jdGlvbiBJbWFnZSh7IHZhbHVlLCBmaWVsZCwgZ2V0QXNzZXQgfSkge1xuICBjb25zdCBbYXNzZXQsIHNldEFzc2V0XSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBuZXdBc3NldCA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICBzZXRBc3NldChuZXdBc3NldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFzc2V0KG51bGwpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBmaWVsZCwgZ2V0QXNzZXRdKTtcblxuICByZXR1cm4gYXNzZXQgPyA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHNyYz17YXNzZXR9IC8+IDogbnVsbDtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2UgdmFsdWU9e2l0ZW1WYWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IGNyeXB0by5yYW5kb21VVUlEKCksXG4gICAgdmFsdWUsXG4gIH0pKTtcblxuICByZXR1cm4gdmFsdWVBcnJheTtcbn1cblxuY29uc3Qgd2FybkRlcHJlY2F0ZWRPcHRpb25zID0gb25jZShmaWVsZCA9PlxuICBjb25zb2xlLndhcm4ob25lTGluZWBcbiAgRGVjYXAgQ01TIGNvbmZpZzogJHtmaWVsZC5nZXQoJ25hbWUnKX0gZmllbGQ6IHByb3BlcnR5IFwib3B0aW9uc1wiIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZVxuICAke2ZpZWxkLmdldCgnd2lkZ2V0Jyl9IHdpZGdldCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuIFJhdGhlciB0aGFuXG4gIFxcYGZpZWxkLm9wdGlvbnMubWVkaWFfbGlicmFyeVxcYCwgYXBwbHkgbWVkaWEgbGlicmFyeSBvcHRpb25zIGZvciB0aGlzIHdpZGdldCB1bmRlclxuICBcXGBmaWVsZC5tZWRpYV9saWJyYXJ5XFxgLlxuYCksXG4pO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB3aXRoRmlsZUNvbnRyb2woeyBmb3JJbWFnZSB9ID0ge30pIHtcbiAgcmV0dXJuIGNsYXNzIEZpbGVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgZmllbGQ6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIGdldEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgbWVkaWFQYXRoczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgICAgb25BZGRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25PcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DbGVhck1lZGlhQ29udHJvbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgY2xhc3NOYW1lV3JhcHBlcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgdmFsdWU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICAgICAgSW1tdXRhYmxlUHJvcFR5cGVzLmxpc3RPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICAgIF0pLFxuICAgICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB9O1xuXG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgIHZhbHVlOiAnJyxcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgIHRoaXMuY29udHJvbElEID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIC8vIE1hbnVhbGx5IHZhbGlkYXRlIFByb3BUeXBlcyAtIFJlYWN0IDE5IGJyZWFraW5nIGNoYW5nZVxuICAgICAgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKEZpbGVDb250cm9sLnByb3BUeXBlcywgdGhpcy5wcm9wcywgJ3Byb3AnLCAnRmlsZUNvbnRyb2wnKTtcbiAgICB9XG5cbiAgICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICAvKipcbiAgICAgICAqIEFsd2F5cyB1cGRhdGUgaWYgdGhlIHZhbHVlIG9yIGdldEFzc2V0IGNoYW5nZXMuXG4gICAgICAgKi9cbiAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlICE9PSBuZXh0UHJvcHMudmFsdWUgfHwgdGhpcy5wcm9wcy5nZXRBc3NldCAhPT0gbmV4dFByb3BzLmdldEFzc2V0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGlzIGEgbWVkaWEgcGF0aCBmb3IgdGhpcyBjb250cm9sIGluIHRoZSBzdGF0ZSBvYmplY3QsIGFuZCB0aGF0XG4gICAgICAgKiBwYXRoIGlzIGRpZmZlcmVudCB0aGFuIHRoZSB2YWx1ZSBpbiBgbmV4dFByb3BzYCwgdXBkYXRlLlxuICAgICAgICovXG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBuZXh0UHJvcHMubWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBuZXh0UHJvcHMudmFsdWUgIT09IG1lZGlhUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IHsgbWVkaWFQYXRocywgdmFsdWUsIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBtZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCAhPT0gdmFsdWUpIHtcbiAgICAgICAgb25DaGFuZ2UobWVkaWFQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCA9PT0gdmFsdWUpIHtcbiAgICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhKHRoaXMuY29udHJvbElEKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMucHJvcHMub25SZW1vdmVNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZSA9IGUgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogISFtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdhbGxvd19tdWx0aXBsZScsIHRydWUpLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVVcmwgPSBzdWJqZWN0ID0+IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cucHJvbXB0KHRoaXMucHJvcHMudChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5wcm9tcHRVcmxgKSk7XG5cbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UodXJsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlUmVtb3ZlID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2xlYXJNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UoJycpO1xuICAgIH07XG5cbiAgICBvblJlbW92ZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVMaXN0VG9BcnJheSh0aGlzLnByb3BzLnZhbHVlKTtcbiAgICAgIHZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShzaXplT2ZWYWx1ZSh2YWx1ZSkgPiAwID8gWy4uLnZhbHVlXSA6IG51bGwpO1xuICAgIH07XG5cbiAgICBvblJlcGxhY2VPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICByZXBsYWNlSW5kZXg6IGluZGV4LFxuICAgICAgICBhbGxvd011bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGZpZWxkLmhhc0luKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10pKSB7XG4gICAgICAgIHdhcm5EZXByZWNhdGVkT3B0aW9ucyhmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZC5nZXRJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddLCBNYXAoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWVsZC5nZXQoJ21lZGlhX2xpYnJhcnknLCBNYXAoKSk7XG4gICAgfTtcblxuICAgIGFsbG93c011bHRpcGxlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycsIGZhbHNlKSAmJlxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKS5nZXQoJ211bHRpcGxlJywgZmFsc2UpXG4gICAgICApO1xuICAgIH07XG5cbiAgICBvblNvcnRFbmQgPSAoeyBvbGRJbmRleCwgbmV3SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYXJyYXlNb3ZlKHZhbHVlLCBvbGRJbmRleCwgbmV3SW5kZXgpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICBnZXRWYWxpZGF0ZVZhbHVlID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaXNNdWx0aXBsZSh2YWx1ZSkgPyB2YWx1ZS5tYXAodiA9PiBiYXNlbmFtZSh2KSkgOiBiYXNlbmFtZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmsgPSB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBzaXplID0gTUFYX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPD0gc2l6ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0ZXh0ID0gYCR7dmFsdWUuc2xpY2UoMCwgc2l6ZSAvIDIpfVxcdTIwMjYke3ZhbHVlLnNsaWNlKC0oc2l6ZSAvIDIpICsgMSl9YDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGaWxlTGluayBocmVmPXt2YWx1ZX0gcmVsPVwibm9vcGVuZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GaWxlTGluaz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGaWxlTGlua3M+XG4gICAgICAgICAgICA8RmlsZUxpbmtMaXN0PlxuICAgICAgICAgICAgICB7dmFsdWUubWFwKHZhbCA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17dmFsfT57dGhpcy5yZW5kZXJGaWxlTGluayh2YWwpfTwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9GaWxlTGlua0xpc3Q+XG4gICAgICAgICAgPC9GaWxlTGlua3M+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gPEZpbGVMaW5rcz57dGhpcy5yZW5kZXJGaWxlTGluayh2YWx1ZSl9PC9GaWxlTGlua3M+O1xuICAgIH07XG5cbiAgICByZW5kZXJJbWFnZXMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGdldEFzc2V0LCB2YWx1ZSwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBpdGVtcyA9IHZhbHVlTGlzdFRvU29ydGFibGVBcnJheSh2YWx1ZSk7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyXG4gICAgICAgICAgICBpdGVtcz17aXRlbXN9XG4gICAgICAgICAgICBvblNvcnRFbmQ9e3RoaXMub25Tb3J0RW5kfVxuICAgICAgICAgICAgb25SZW1vdmVPbmU9e3RoaXMub25SZW1vdmVPbmV9XG4gICAgICAgICAgICBvblJlcGxhY2VPbmU9e3RoaXMub25SZXBsYWNlT25lfVxuICAgICAgICAgICAgZGlzdGFuY2U9ezR9XG4gICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICBheGlzPVwieHlcIlxuICAgICAgICAgICAgbG9ja1RvQ29udGFpbmVyRWRnZXM9e3RydWV9XG4gICAgICAgICAgPjwvU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcj5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEltYWdlV3JhcHBlcj5cbiAgICAgICAgICA8SW1hZ2UgdmFsdWU9e3ZhbHVlfSBmaWVsZD17ZmllbGR9IGdldEFzc2V0PXtnZXRBc3NldH0gLz5cbiAgICAgICAgPC9JbWFnZVdyYXBwZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJTZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBhbGxvd3NNdWx0aXBsZSA9IHRoaXMuYWxsb3dzTXVsdGlwbGUoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2ZvckltYWdlID8gdGhpcy5yZW5kZXJJbWFnZXMoKSA6IG51bGx9XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtmb3JJbWFnZSA/IG51bGwgOiB0aGlzLnJlbmRlckZpbGVMaW5rcygpfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS4ke1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ2FkZE1vcmUnIDogJ2Nob29zZURpZmZlcmVudCdcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSAmJiAhdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gKFxuICAgICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVwbGFjZVVybGApfVxuICAgICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVtb3ZlfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVtb3ZlJHthbGxvd3NNdWx0aXBsZSA/ICdBbGwnIDogJyd9YCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b25SZW1vdmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyTm9TZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZSR7dGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ011bHRpcGxlJyA6ICcnfWApfVxuICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgPyAoXG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZVVybGApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIGNsYXNzTmFtZVdyYXBwZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gZm9ySW1hZ2UgPyAnaW1hZ2UnIDogJ2ZpbGUnO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lV3JhcHBlcn0+XG4gICAgICAgICAgPHNwYW4+e3ZhbHVlID8gdGhpcy5yZW5kZXJTZWxlY3Rpb24oc3ViamVjdCkgOiB0aGlzLnJlbmRlck5vU2VsZWN0aW9uKHN1YmplY3QpfTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ== */",
|
|
201
207
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
202
208
|
});
|
|
203
209
|
const FileWidgetButton = /*#__PURE__*/_styled("button", {
|
|
204
210
|
target: "e1hax4ql1",
|
|
205
211
|
label: "FileWidgetButton"
|
|
206
|
-
})(buttons.button, ";", components.badge, ";margin-bottom:12px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMkxzQyIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IE1hcCwgTGlzdCB9IGZyb20gJ2ltbXV0YWJsZSc7XG5pbXBvcnQgb25jZSBmcm9tICdsb2Rhc2gvb25jZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBvbmVMaW5lIH0gZnJvbSAnY29tbW9uLXRhZ3MnO1xuaW1wb3J0IHtcbiAgbGVuZ3RocyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgYm9yZGVycyxcbiAgZWZmZWN0cyxcbiAgc2hhZG93cyxcbiAgSWNvbkJ1dHRvbixcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYXJyYXlNb3ZlSW1tdXRhYmxlIGFzIGFycmF5TW92ZSB9IGZyb20gJ2FycmF5LW1vdmUnO1xuaW1wb3J0IHtcbiAgRG5kQ29udGV4dCxcbiAgTW91c2VTZW5zb3IsXG4gIFRvdWNoU2Vuc29yLFxuICBjbG9zZXN0Q2VudGVyLFxuICB1c2VTZW5zb3IsXG4gIHVzZVNlbnNvcnMsXG59IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHsgU29ydGFibGVDb250ZXh0LCB1c2VTb3J0YWJsZSB9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7IENTUyB9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgeyByZXN0cmljdFRvUGFyZW50RWxlbWVudCB9IGZyb20gJ0BkbmQta2l0L21vZGlmaWVycyc7XG5cbmNvbnN0IE1BWF9ESVNQTEFZX0xFTkdUSCA9IDUwO1xuXG5jb25zdCBJbWFnZVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBmbGV4LWJhc2lzOiAxNTVweDtcbiAgd2lkdGg6IDE1NXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAke2VmZmVjdHMuY2hlY2tlcmJvYXJkfTtcbiAgJHtzaGFkb3dzLmluc2V0fTtcbiAgY3Vyc29yOiAke3Byb3BzID0+IChwcm9wcy5zb3J0YWJsZSA/ICdwb2ludGVyJyA6ICdhdXRvJyl9O1xuYDtcblxuY29uc3QgU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRJbWFnZSA9IHN0eWxlZC5pbWdgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG5gO1xuXG5mdW5jdGlvbiBJbWFnZSh7IHZhbHVlLCBmaWVsZCwgZ2V0QXNzZXQgfSkge1xuICBjb25zdCBbYXNzZXQsIHNldEFzc2V0XSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBuZXdBc3NldCA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICBzZXRBc3NldChuZXdBc3NldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFzc2V0KG51bGwpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBmaWVsZCwgZ2V0QXNzZXRdKTtcblxuICByZXR1cm4gYXNzZXQgPyA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHNyYz17YXNzZXR9IC8+IDogbnVsbDtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2UgdmFsdWU9e2l0ZW1WYWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IHV1aWQoKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIHJldHVybiB2YWx1ZUFycmF5O1xufVxuXG5jb25zdCB3YXJuRGVwcmVjYXRlZE9wdGlvbnMgPSBvbmNlKGZpZWxkID0+XG4gIGNvbnNvbGUud2FybihvbmVMaW5lYFxuICBEZWNhcCBDTVMgY29uZmlnOiAke2ZpZWxkLmdldCgnbmFtZScpfSBmaWVsZDogcHJvcGVydHkgXCJvcHRpb25zXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlXG4gICR7ZmllbGQuZ2V0KCd3aWRnZXQnKX0gd2lkZ2V0IGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS4gUmF0aGVyIHRoYW5cbiAgXFxgZmllbGQub3B0aW9ucy5tZWRpYV9saWJyYXJ5XFxgLCBhcHBseSBtZWRpYSBsaWJyYXJ5IG9wdGlvbnMgZm9yIHRoaXMgd2lkZ2V0IHVuZGVyXG4gIFxcYGZpZWxkLm1lZGlhX2xpYnJhcnlcXGAuXG5gKSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHdpdGhGaWxlQ29udHJvbCh7IGZvckltYWdlIH0gPSB7fSkge1xuICByZXR1cm4gY2xhc3MgRmlsZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICBmaWVsZDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgZ2V0QXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgICBvbkFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbk9wZW5NZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNsZWFyTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBjbGFzc05hbWVXcmFwcGVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgICBJbW11dGFibGVQcm9wVHlwZXMubGlzdE9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgXSksXG4gICAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgdmFsdWU6ICcnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgdGhpcy5jb250cm9sSUQgPSB1dWlkKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAvLyBNYW51YWxseSB2YWxpZGF0ZSBQcm9wVHlwZXMgLSBSZWFjdCAxOSBicmVha2luZyBjaGFuZ2VcbiAgICAgIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyhGaWxlQ29udHJvbC5wcm9wVHlwZXMsIHRoaXMucHJvcHMsICdwcm9wJywgJ0ZpbGVDb250cm9sJyk7XG4gICAgfVxuXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgICAgLyoqXG4gICAgICAgKiBBbHdheXMgdXBkYXRlIGlmIHRoZSB2YWx1ZSBvciBnZXRBc3NldCBjaGFuZ2VzLlxuICAgICAgICovXG4gICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gbmV4dFByb3BzLnZhbHVlIHx8IHRoaXMucHJvcHMuZ2V0QXNzZXQgIT09IG5leHRQcm9wcy5nZXRBc3NldCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBJZiB0aGVyZSBpcyBhIG1lZGlhIHBhdGggZm9yIHRoaXMgY29udHJvbCBpbiB0aGUgc3RhdGUgb2JqZWN0LCBhbmQgdGhhdFxuICAgICAgICogcGF0aCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgdmFsdWUgaW4gYG5leHRQcm9wc2AsIHVwZGF0ZS5cbiAgICAgICAqL1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbmV4dFByb3BzLm1lZGlhUGF0aHMuZ2V0KHRoaXMuY29udHJvbElEKTtcbiAgICAgIGlmIChtZWRpYVBhdGggJiYgbmV4dFByb3BzLnZhbHVlICE9PSBtZWRpYVBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICBjb25zdCB7IG1lZGlhUGF0aHMsIHZhbHVlLCBvblJlbW92ZUluc2VydGVkTWVkaWEsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggIT09IHZhbHVlKSB7XG4gICAgICAgIG9uQ2hhbmdlKG1lZGlhUGF0aCk7XG4gICAgICB9IGVsc2UgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggPT09IHZhbHVlKSB7XG4gICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICB9XG5cbiAgICBoYW5kbGVDaGFuZ2UgPSBlID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIG9uT3Blbk1lZGlhTGlicmFyeSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gb25PcGVuTWVkaWFMaWJyYXJ5KHtcbiAgICAgICAgY29udHJvbElEOiB0aGlzLmNvbnRyb2xJRCxcbiAgICAgICAgZm9ySW1hZ2UsXG4gICAgICAgIHByaXZhdGVVcGxvYWQ6IGZpZWxkLmdldCgncHJpdmF0ZScpLFxuICAgICAgICB2YWx1ZTogdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSksXG4gICAgICAgIGFsbG93TXVsdGlwbGU6ICEhbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnYWxsb3dfbXVsdGlwbGUnLCB0cnVlKSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlVXJsID0gc3ViamVjdCA9PiBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgY29uc3QgdXJsID0gd2luZG93LnByb21wdCh0aGlzLnByb3BzLnQoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucHJvbXB0VXJsYCkpO1xuXG4gICAgICBpZiAodXJsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKHVybCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGhhbmRsZVJlbW92ZSA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5wcm9wcy5vbkNsZWFyTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKCcnKTtcbiAgICB9O1xuXG4gICAgb25SZW1vdmVPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlTGlzdFRvQXJyYXkodGhpcy5wcm9wcy52YWx1ZSk7XG4gICAgICB2YWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2Uoc2l6ZU9mVmFsdWUodmFsdWUpID4gMCA/IFsuLi52YWx1ZV0gOiBudWxsKTtcbiAgICB9O1xuXG4gICAgb25SZXBsYWNlT25lID0gaW5kZXggPT4gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgcmVwbGFjZUluZGV4OiBpbmRleCxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZzogbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJyksXG4gICAgICAgIGZpZWxkLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChmaWVsZC5oYXNJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddKSkge1xuICAgICAgICB3YXJuRGVwcmVjYXRlZE9wdGlvbnMoZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQuZ2V0SW4oWydvcHRpb25zJywgJ21lZGlhX2xpYnJhcnknXSwgTWFwKCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmllbGQuZ2V0KCdtZWRpYV9saWJyYXJ5JywgTWFwKCkpO1xuICAgIH07XG5cbiAgICBhbGxvd3NNdWx0aXBsZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnLCBmYWxzZSkgJiZcbiAgICAgICAgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJykuZ2V0KCdtdWx0aXBsZScsIGZhbHNlKVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgb25Tb3J0RW5kID0gKHsgb2xkSW5kZXgsIG5ld0luZGV4IH0pID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGFycmF5TW92ZSh2YWx1ZSwgb2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICB9O1xuXG4gICAgZ2V0VmFsaWRhdGVWYWx1ZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGlzTXVsdGlwbGUodmFsdWUpID8gdmFsdWUubWFwKHYgPT4gYmFzZW5hbWUodikpIDogYmFzZW5hbWUodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rID0gdmFsdWUgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IE1BWF9ESVNQTEFZX0xFTkdUSDtcbiAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoIDw9IHNpemUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgY29uc3QgdGV4dCA9IGAke3ZhbHVlLnNsaWNlKDAsIHNpemUgLyAyKX1cXHUyMDI2JHt2YWx1ZS5zbGljZSgtKHNpemUgLyAyKSArIDEpfWA7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RmlsZUxpbmsgaHJlZj17dmFsdWV9IHJlbD1cIm5vb3BlbmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAge3RleHR9XG4gICAgICAgIDwvRmlsZUxpbms+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJGaWxlTGlua3MgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8RmlsZUxpbmtzPlxuICAgICAgICAgICAgPEZpbGVMaW5rTGlzdD5cbiAgICAgICAgICAgICAge3ZhbHVlLm1hcCh2YWwgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e3ZhbH0+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsKX08L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRmlsZUxpbmtMaXN0PlxuICAgICAgICAgIDwvRmlsZUxpbmtzPlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDxGaWxlTGlua3M+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsdWUpfTwvRmlsZUxpbmtzPjtcbiAgICB9O1xuXG4gICAgcmVuZGVySW1hZ2VzID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBnZXRBc3NldCwgdmFsdWUsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgaXRlbXMgPSB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U29ydGFibGVNdWx0aUltYWdlV3JhcHBlclxuICAgICAgICAgICAgaXRlbXM9e2l0ZW1zfVxuICAgICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLm9uU29ydEVuZH1cbiAgICAgICAgICAgIG9uUmVtb3ZlT25lPXt0aGlzLm9uUmVtb3ZlT25lfVxuICAgICAgICAgICAgb25SZXBsYWNlT25lPXt0aGlzLm9uUmVwbGFjZU9uZX1cbiAgICAgICAgICAgIGRpc3RhbmNlPXs0fVxuICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgYXhpcz1cInh5XCJcbiAgICAgICAgICAgIGxvY2tUb0NvbnRhaW5lckVkZ2VzPXt0cnVlfVxuICAgICAgICAgID48L1NvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXI+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxJbWFnZVdyYXBwZXI+XG4gICAgICAgICAgPEltYWdlIHZhbHVlPXt2YWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgYWxsb3dzTXVsdGlwbGUgPSB0aGlzLmFsbG93c011bHRpcGxlKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtmb3JJbWFnZSA/IHRoaXMucmVuZGVySW1hZ2VzKCkgOiBudWxsfVxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7Zm9ySW1hZ2UgPyBudWxsIDogdGhpcy5yZW5kZXJGaWxlTGlua3MoKX1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgICAge3QoXG4gICAgICAgICAgICAgICAgYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uJHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdhZGRNb3JlJyA6ICdjaG9vc2VEaWZmZXJlbnQnXG4gICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgJiYgIXRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/IChcbiAgICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlcGxhY2VVcmxgKX1cbiAgICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvblJlbW92ZSBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbW92ZX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlbW92ZSR7YWxsb3dzTXVsdGlwbGUgPyAnQWxsJyA6ICcnfWApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlck5vU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZUNoYW5nZX0+XG4gICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2Uke3RoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdNdWx0aXBsZScgOiAnJ31gKX1cbiAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAge2ZpZWxkLmdldCgnY2hvb3NlX3VybCcsIHRydWUpID8gKFxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2VVcmxgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBjbGFzc05hbWVXcmFwcGVyIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc3ViamVjdCA9IGZvckltYWdlID8gJ2ltYWdlJyA6ICdmaWxlJztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZVdyYXBwZXJ9PlxuICAgICAgICAgIDxzcGFuPnt2YWx1ZSA/IHRoaXMucmVuZGVyU2VsZWN0aW9uKHN1YmplY3QpIDogdGhpcy5yZW5kZXJOb1NlbGVjdGlvbihzdWJqZWN0KX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG4iXX0= */"));
|
|
212
|
+
})(buttons.button, ";", components.badge, ";margin-bottom:12px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMExzQyIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IE1hcCwgTGlzdCB9IGZyb20gJ2ltbXV0YWJsZSc7XG5pbXBvcnQgb25jZSBmcm9tICdsb2Rhc2gvb25jZSc7XG5pbXBvcnQgeyBvbmVMaW5lIH0gZnJvbSAnY29tbW9uLXRhZ3MnO1xuaW1wb3J0IHtcbiAgbGVuZ3RocyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgYm9yZGVycyxcbiAgZWZmZWN0cyxcbiAgc2hhZG93cyxcbiAgSWNvbkJ1dHRvbixcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYXJyYXlNb3ZlSW1tdXRhYmxlIGFzIGFycmF5TW92ZSB9IGZyb20gJ2FycmF5LW1vdmUnO1xuaW1wb3J0IHtcbiAgRG5kQ29udGV4dCxcbiAgTW91c2VTZW5zb3IsXG4gIFRvdWNoU2Vuc29yLFxuICBjbG9zZXN0Q2VudGVyLFxuICB1c2VTZW5zb3IsXG4gIHVzZVNlbnNvcnMsXG59IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHsgU29ydGFibGVDb250ZXh0LCB1c2VTb3J0YWJsZSB9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7IENTUyB9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgeyByZXN0cmljdFRvUGFyZW50RWxlbWVudCB9IGZyb20gJ0BkbmQta2l0L21vZGlmaWVycyc7XG5cbmNvbnN0IE1BWF9ESVNQTEFZX0xFTkdUSCA9IDUwO1xuXG5jb25zdCBJbWFnZVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBmbGV4LWJhc2lzOiAxNTVweDtcbiAgd2lkdGg6IDE1NXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAke2VmZmVjdHMuY2hlY2tlcmJvYXJkfTtcbiAgJHtzaGFkb3dzLmluc2V0fTtcbiAgY3Vyc29yOiAke3Byb3BzID0+IChwcm9wcy5zb3J0YWJsZSA/ICdwb2ludGVyJyA6ICdhdXRvJyl9O1xuYDtcblxuY29uc3QgU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRJbWFnZSA9IHN0eWxlZC5pbWdgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG5gO1xuXG5mdW5jdGlvbiBJbWFnZSh7IHZhbHVlLCBmaWVsZCwgZ2V0QXNzZXQgfSkge1xuICBjb25zdCBbYXNzZXQsIHNldEFzc2V0XSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBuZXdBc3NldCA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICBzZXRBc3NldChuZXdBc3NldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFzc2V0KG51bGwpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBmaWVsZCwgZ2V0QXNzZXRdKTtcblxuICByZXR1cm4gYXNzZXQgPyA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHNyYz17YXNzZXR9IC8+IDogbnVsbDtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2UgdmFsdWU9e2l0ZW1WYWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IGNyeXB0by5yYW5kb21VVUlEKCksXG4gICAgdmFsdWUsXG4gIH0pKTtcblxuICByZXR1cm4gdmFsdWVBcnJheTtcbn1cblxuY29uc3Qgd2FybkRlcHJlY2F0ZWRPcHRpb25zID0gb25jZShmaWVsZCA9PlxuICBjb25zb2xlLndhcm4ob25lTGluZWBcbiAgRGVjYXAgQ01TIGNvbmZpZzogJHtmaWVsZC5nZXQoJ25hbWUnKX0gZmllbGQ6IHByb3BlcnR5IFwib3B0aW9uc1wiIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZVxuICAke2ZpZWxkLmdldCgnd2lkZ2V0Jyl9IHdpZGdldCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuIFJhdGhlciB0aGFuXG4gIFxcYGZpZWxkLm9wdGlvbnMubWVkaWFfbGlicmFyeVxcYCwgYXBwbHkgbWVkaWEgbGlicmFyeSBvcHRpb25zIGZvciB0aGlzIHdpZGdldCB1bmRlclxuICBcXGBmaWVsZC5tZWRpYV9saWJyYXJ5XFxgLlxuYCksXG4pO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB3aXRoRmlsZUNvbnRyb2woeyBmb3JJbWFnZSB9ID0ge30pIHtcbiAgcmV0dXJuIGNsYXNzIEZpbGVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgZmllbGQ6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIGdldEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgbWVkaWFQYXRoczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgICAgb25BZGRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25PcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DbGVhck1lZGlhQ29udHJvbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgY2xhc3NOYW1lV3JhcHBlcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgdmFsdWU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICAgICAgSW1tdXRhYmxlUHJvcFR5cGVzLmxpc3RPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICAgIF0pLFxuICAgICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB9O1xuXG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgIHZhbHVlOiAnJyxcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgIHRoaXMuY29udHJvbElEID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIC8vIE1hbnVhbGx5IHZhbGlkYXRlIFByb3BUeXBlcyAtIFJlYWN0IDE5IGJyZWFraW5nIGNoYW5nZVxuICAgICAgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKEZpbGVDb250cm9sLnByb3BUeXBlcywgdGhpcy5wcm9wcywgJ3Byb3AnLCAnRmlsZUNvbnRyb2wnKTtcbiAgICB9XG5cbiAgICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICAvKipcbiAgICAgICAqIEFsd2F5cyB1cGRhdGUgaWYgdGhlIHZhbHVlIG9yIGdldEFzc2V0IGNoYW5nZXMuXG4gICAgICAgKi9cbiAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlICE9PSBuZXh0UHJvcHMudmFsdWUgfHwgdGhpcy5wcm9wcy5nZXRBc3NldCAhPT0gbmV4dFByb3BzLmdldEFzc2V0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGlzIGEgbWVkaWEgcGF0aCBmb3IgdGhpcyBjb250cm9sIGluIHRoZSBzdGF0ZSBvYmplY3QsIGFuZCB0aGF0XG4gICAgICAgKiBwYXRoIGlzIGRpZmZlcmVudCB0aGFuIHRoZSB2YWx1ZSBpbiBgbmV4dFByb3BzYCwgdXBkYXRlLlxuICAgICAgICovXG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBuZXh0UHJvcHMubWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBuZXh0UHJvcHMudmFsdWUgIT09IG1lZGlhUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IHsgbWVkaWFQYXRocywgdmFsdWUsIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBtZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCAhPT0gdmFsdWUpIHtcbiAgICAgICAgb25DaGFuZ2UobWVkaWFQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCA9PT0gdmFsdWUpIHtcbiAgICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhKHRoaXMuY29udHJvbElEKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMucHJvcHMub25SZW1vdmVNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZSA9IGUgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogISFtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdhbGxvd19tdWx0aXBsZScsIHRydWUpLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVVcmwgPSBzdWJqZWN0ID0+IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cucHJvbXB0KHRoaXMucHJvcHMudChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5wcm9tcHRVcmxgKSk7XG5cbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UodXJsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlUmVtb3ZlID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2xlYXJNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UoJycpO1xuICAgIH07XG5cbiAgICBvblJlbW92ZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVMaXN0VG9BcnJheSh0aGlzLnByb3BzLnZhbHVlKTtcbiAgICAgIHZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShzaXplT2ZWYWx1ZSh2YWx1ZSkgPiAwID8gWy4uLnZhbHVlXSA6IG51bGwpO1xuICAgIH07XG5cbiAgICBvblJlcGxhY2VPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICByZXBsYWNlSW5kZXg6IGluZGV4LFxuICAgICAgICBhbGxvd011bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGZpZWxkLmhhc0luKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10pKSB7XG4gICAgICAgIHdhcm5EZXByZWNhdGVkT3B0aW9ucyhmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZC5nZXRJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddLCBNYXAoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWVsZC5nZXQoJ21lZGlhX2xpYnJhcnknLCBNYXAoKSk7XG4gICAgfTtcblxuICAgIGFsbG93c011bHRpcGxlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycsIGZhbHNlKSAmJlxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKS5nZXQoJ211bHRpcGxlJywgZmFsc2UpXG4gICAgICApO1xuICAgIH07XG5cbiAgICBvblNvcnRFbmQgPSAoeyBvbGRJbmRleCwgbmV3SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYXJyYXlNb3ZlKHZhbHVlLCBvbGRJbmRleCwgbmV3SW5kZXgpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICBnZXRWYWxpZGF0ZVZhbHVlID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaXNNdWx0aXBsZSh2YWx1ZSkgPyB2YWx1ZS5tYXAodiA9PiBiYXNlbmFtZSh2KSkgOiBiYXNlbmFtZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmsgPSB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBzaXplID0gTUFYX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPD0gc2l6ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0ZXh0ID0gYCR7dmFsdWUuc2xpY2UoMCwgc2l6ZSAvIDIpfVxcdTIwMjYke3ZhbHVlLnNsaWNlKC0oc2l6ZSAvIDIpICsgMSl9YDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGaWxlTGluayBocmVmPXt2YWx1ZX0gcmVsPVwibm9vcGVuZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GaWxlTGluaz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGaWxlTGlua3M+XG4gICAgICAgICAgICA8RmlsZUxpbmtMaXN0PlxuICAgICAgICAgICAgICB7dmFsdWUubWFwKHZhbCA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17dmFsfT57dGhpcy5yZW5kZXJGaWxlTGluayh2YWwpfTwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9GaWxlTGlua0xpc3Q+XG4gICAgICAgICAgPC9GaWxlTGlua3M+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gPEZpbGVMaW5rcz57dGhpcy5yZW5kZXJGaWxlTGluayh2YWx1ZSl9PC9GaWxlTGlua3M+O1xuICAgIH07XG5cbiAgICByZW5kZXJJbWFnZXMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGdldEFzc2V0LCB2YWx1ZSwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBpdGVtcyA9IHZhbHVlTGlzdFRvU29ydGFibGVBcnJheSh2YWx1ZSk7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyXG4gICAgICAgICAgICBpdGVtcz17aXRlbXN9XG4gICAgICAgICAgICBvblNvcnRFbmQ9e3RoaXMub25Tb3J0RW5kfVxuICAgICAgICAgICAgb25SZW1vdmVPbmU9e3RoaXMub25SZW1vdmVPbmV9XG4gICAgICAgICAgICBvblJlcGxhY2VPbmU9e3RoaXMub25SZXBsYWNlT25lfVxuICAgICAgICAgICAgZGlzdGFuY2U9ezR9XG4gICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICBheGlzPVwieHlcIlxuICAgICAgICAgICAgbG9ja1RvQ29udGFpbmVyRWRnZXM9e3RydWV9XG4gICAgICAgICAgPjwvU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcj5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEltYWdlV3JhcHBlcj5cbiAgICAgICAgICA8SW1hZ2UgdmFsdWU9e3ZhbHVlfSBmaWVsZD17ZmllbGR9IGdldEFzc2V0PXtnZXRBc3NldH0gLz5cbiAgICAgICAgPC9JbWFnZVdyYXBwZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJTZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBhbGxvd3NNdWx0aXBsZSA9IHRoaXMuYWxsb3dzTXVsdGlwbGUoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2ZvckltYWdlID8gdGhpcy5yZW5kZXJJbWFnZXMoKSA6IG51bGx9XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtmb3JJbWFnZSA/IG51bGwgOiB0aGlzLnJlbmRlckZpbGVMaW5rcygpfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS4ke1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ2FkZE1vcmUnIDogJ2Nob29zZURpZmZlcmVudCdcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSAmJiAhdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gKFxuICAgICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVwbGFjZVVybGApfVxuICAgICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVtb3ZlfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVtb3ZlJHthbGxvd3NNdWx0aXBsZSA/ICdBbGwnIDogJyd9YCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b25SZW1vdmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyTm9TZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZSR7dGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ011bHRpcGxlJyA6ICcnfWApfVxuICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgPyAoXG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZVVybGApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIGNsYXNzTmFtZVdyYXBwZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gZm9ySW1hZ2UgPyAnaW1hZ2UnIDogJ2ZpbGUnO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lV3JhcHBlcn0+XG4gICAgICAgICAgPHNwYW4+e3ZhbHVlID8gdGhpcy5yZW5kZXJTZWxlY3Rpb24oc3ViamVjdCkgOiB0aGlzLnJlbmRlck5vU2VsZWN0aW9uKHN1YmplY3QpfTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ== */"));
|
|
207
213
|
const FileWidgetButtonRemove = /*#__PURE__*/_styled("button", {
|
|
208
214
|
target: "e1hax4ql0",
|
|
209
215
|
label: "FileWidgetButtonRemove"
|
|
210
|
-
})(buttons.button, ";", components.badgeDanger, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaU00QyIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IE1hcCwgTGlzdCB9IGZyb20gJ2ltbXV0YWJsZSc7XG5pbXBvcnQgb25jZSBmcm9tICdsb2Rhc2gvb25jZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBvbmVMaW5lIH0gZnJvbSAnY29tbW9uLXRhZ3MnO1xuaW1wb3J0IHtcbiAgbGVuZ3RocyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgYm9yZGVycyxcbiAgZWZmZWN0cyxcbiAgc2hhZG93cyxcbiAgSWNvbkJ1dHRvbixcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYXJyYXlNb3ZlSW1tdXRhYmxlIGFzIGFycmF5TW92ZSB9IGZyb20gJ2FycmF5LW1vdmUnO1xuaW1wb3J0IHtcbiAgRG5kQ29udGV4dCxcbiAgTW91c2VTZW5zb3IsXG4gIFRvdWNoU2Vuc29yLFxuICBjbG9zZXN0Q2VudGVyLFxuICB1c2VTZW5zb3IsXG4gIHVzZVNlbnNvcnMsXG59IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHsgU29ydGFibGVDb250ZXh0LCB1c2VTb3J0YWJsZSB9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7IENTUyB9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgeyByZXN0cmljdFRvUGFyZW50RWxlbWVudCB9IGZyb20gJ0BkbmQta2l0L21vZGlmaWVycyc7XG5cbmNvbnN0IE1BWF9ESVNQTEFZX0xFTkdUSCA9IDUwO1xuXG5jb25zdCBJbWFnZVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBmbGV4LWJhc2lzOiAxNTVweDtcbiAgd2lkdGg6IDE1NXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAke2VmZmVjdHMuY2hlY2tlcmJvYXJkfTtcbiAgJHtzaGFkb3dzLmluc2V0fTtcbiAgY3Vyc29yOiAke3Byb3BzID0+IChwcm9wcy5zb3J0YWJsZSA/ICdwb2ludGVyJyA6ICdhdXRvJyl9O1xuYDtcblxuY29uc3QgU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRJbWFnZSA9IHN0eWxlZC5pbWdgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG5gO1xuXG5mdW5jdGlvbiBJbWFnZSh7IHZhbHVlLCBmaWVsZCwgZ2V0QXNzZXQgfSkge1xuICBjb25zdCBbYXNzZXQsIHNldEFzc2V0XSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBuZXdBc3NldCA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICBzZXRBc3NldChuZXdBc3NldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFzc2V0KG51bGwpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBmaWVsZCwgZ2V0QXNzZXRdKTtcblxuICByZXR1cm4gYXNzZXQgPyA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHNyYz17YXNzZXR9IC8+IDogbnVsbDtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2UgdmFsdWU9e2l0ZW1WYWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IHV1aWQoKSxcbiAgICB2YWx1ZSxcbiAgfSkpO1xuXG4gIHJldHVybiB2YWx1ZUFycmF5O1xufVxuXG5jb25zdCB3YXJuRGVwcmVjYXRlZE9wdGlvbnMgPSBvbmNlKGZpZWxkID0+XG4gIGNvbnNvbGUud2FybihvbmVMaW5lYFxuICBEZWNhcCBDTVMgY29uZmlnOiAke2ZpZWxkLmdldCgnbmFtZScpfSBmaWVsZDogcHJvcGVydHkgXCJvcHRpb25zXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgdGhlXG4gICR7ZmllbGQuZ2V0KCd3aWRnZXQnKX0gd2lkZ2V0IGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS4gUmF0aGVyIHRoYW5cbiAgXFxgZmllbGQub3B0aW9ucy5tZWRpYV9saWJyYXJ5XFxgLCBhcHBseSBtZWRpYSBsaWJyYXJ5IG9wdGlvbnMgZm9yIHRoaXMgd2lkZ2V0IHVuZGVyXG4gIFxcYGZpZWxkLm1lZGlhX2xpYnJhcnlcXGAuXG5gKSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHdpdGhGaWxlQ29udHJvbCh7IGZvckltYWdlIH0gPSB7fSkge1xuICByZXR1cm4gY2xhc3MgRmlsZUNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgICBmaWVsZDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgICAgZ2V0QXNzZXQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgICBvbkFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvblJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbk9wZW5NZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBvbkNsZWFyTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVNZWRpYUNvbnRyb2w6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBjbGFzc05hbWVXcmFwcGVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICB2YWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgICBJbW11dGFibGVQcm9wVHlwZXMubGlzdE9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgXSksXG4gICAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgdmFsdWU6ICcnLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgdGhpcy5jb250cm9sSUQgPSB1dWlkKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAvLyBNYW51YWxseSB2YWxpZGF0ZSBQcm9wVHlwZXMgLSBSZWFjdCAxOSBicmVha2luZyBjaGFuZ2VcbiAgICAgIFByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyhGaWxlQ29udHJvbC5wcm9wVHlwZXMsIHRoaXMucHJvcHMsICdwcm9wJywgJ0ZpbGVDb250cm9sJyk7XG4gICAgfVxuXG4gICAgc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5leHRQcm9wcykge1xuICAgICAgLyoqXG4gICAgICAgKiBBbHdheXMgdXBkYXRlIGlmIHRoZSB2YWx1ZSBvciBnZXRBc3NldCBjaGFuZ2VzLlxuICAgICAgICovXG4gICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSAhPT0gbmV4dFByb3BzLnZhbHVlIHx8IHRoaXMucHJvcHMuZ2V0QXNzZXQgIT09IG5leHRQcm9wcy5nZXRBc3NldCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBJZiB0aGVyZSBpcyBhIG1lZGlhIHBhdGggZm9yIHRoaXMgY29udHJvbCBpbiB0aGUgc3RhdGUgb2JqZWN0LCBhbmQgdGhhdFxuICAgICAgICogcGF0aCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgdmFsdWUgaW4gYG5leHRQcm9wc2AsIHVwZGF0ZS5cbiAgICAgICAqL1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbmV4dFByb3BzLm1lZGlhUGF0aHMuZ2V0KHRoaXMuY29udHJvbElEKTtcbiAgICAgIGlmIChtZWRpYVBhdGggJiYgbmV4dFByb3BzLnZhbHVlICE9PSBtZWRpYVBhdGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICBjb25zdCB7IG1lZGlhUGF0aHMsIHZhbHVlLCBvblJlbW92ZUluc2VydGVkTWVkaWEsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFQYXRoID0gbWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggIT09IHZhbHVlKSB7XG4gICAgICAgIG9uQ2hhbmdlKG1lZGlhUGF0aCk7XG4gICAgICB9IGVsc2UgaWYgKG1lZGlhUGF0aCAmJiBtZWRpYVBhdGggPT09IHZhbHVlKSB7XG4gICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICB9XG5cbiAgICBoYW5kbGVDaGFuZ2UgPSBlID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIG9uT3Blbk1lZGlhTGlicmFyeSwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMgPSB0aGlzLmdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucygpO1xuXG4gICAgICByZXR1cm4gb25PcGVuTWVkaWFMaWJyYXJ5KHtcbiAgICAgICAgY29udHJvbElEOiB0aGlzLmNvbnRyb2xJRCxcbiAgICAgICAgZm9ySW1hZ2UsXG4gICAgICAgIHByaXZhdGVVcGxvYWQ6IGZpZWxkLmdldCgncHJpdmF0ZScpLFxuICAgICAgICB2YWx1ZTogdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSksXG4gICAgICAgIGFsbG93TXVsdGlwbGU6ICEhbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnYWxsb3dfbXVsdGlwbGUnLCB0cnVlKSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlVXJsID0gc3ViamVjdCA9PiBlID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgY29uc3QgdXJsID0gd2luZG93LnByb21wdCh0aGlzLnByb3BzLnQoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucHJvbXB0VXJsYCkpO1xuXG4gICAgICBpZiAodXJsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKHVybCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGhhbmRsZVJlbW92ZSA9IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5wcm9wcy5vbkNsZWFyTWVkaWFDb250cm9sKHRoaXMuY29udHJvbElEKTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKCcnKTtcbiAgICB9O1xuXG4gICAgb25SZW1vdmVPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlTGlzdFRvQXJyYXkodGhpcy5wcm9wcy52YWx1ZSk7XG4gICAgICB2YWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2Uoc2l6ZU9mVmFsdWUodmFsdWUpID4gMCA/IFsuLi52YWx1ZV0gOiBudWxsKTtcbiAgICB9O1xuXG4gICAgb25SZXBsYWNlT25lID0gaW5kZXggPT4gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgcmVwbGFjZUluZGV4OiBpbmRleCxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZzogbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJyksXG4gICAgICAgIGZpZWxkLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGdldE1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgZmllbGQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChmaWVsZC5oYXNJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddKSkge1xuICAgICAgICB3YXJuRGVwcmVjYXRlZE9wdGlvbnMoZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQuZ2V0SW4oWydvcHRpb25zJywgJ21lZGlhX2xpYnJhcnknXSwgTWFwKCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmllbGQuZ2V0KCdtZWRpYV9saWJyYXJ5JywgTWFwKCkpO1xuICAgIH07XG5cbiAgICBhbGxvd3NNdWx0aXBsZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnLCBmYWxzZSkgJiZcbiAgICAgICAgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zLmdldCgnY29uZmlnJykuZ2V0KCdtdWx0aXBsZScsIGZhbHNlKVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgb25Tb3J0RW5kID0gKHsgb2xkSW5kZXgsIG5ld0luZGV4IH0pID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGFycmF5TW92ZSh2YWx1ZSwgb2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLm9uQ2hhbmdlKG5ld1ZhbHVlKTtcbiAgICB9O1xuXG4gICAgZ2V0VmFsaWRhdGVWYWx1ZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGlzTXVsdGlwbGUodmFsdWUpID8gdmFsdWUubWFwKHYgPT4gYmFzZW5hbWUodikpIDogYmFzZW5hbWUodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rID0gdmFsdWUgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IE1BWF9ESVNQTEFZX0xFTkdUSDtcbiAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoIDw9IHNpemUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgY29uc3QgdGV4dCA9IGAke3ZhbHVlLnNsaWNlKDAsIHNpemUgLyAyKX1cXHUyMDI2JHt2YWx1ZS5zbGljZSgtKHNpemUgLyAyKSArIDEpfWA7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RmlsZUxpbmsgaHJlZj17dmFsdWV9IHJlbD1cIm5vb3BlbmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAge3RleHR9XG4gICAgICAgIDwvRmlsZUxpbms+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJGaWxlTGlua3MgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8RmlsZUxpbmtzPlxuICAgICAgICAgICAgPEZpbGVMaW5rTGlzdD5cbiAgICAgICAgICAgICAge3ZhbHVlLm1hcCh2YWwgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e3ZhbH0+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsKX08L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvRmlsZUxpbmtMaXN0PlxuICAgICAgICAgIDwvRmlsZUxpbmtzPlxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDxGaWxlTGlua3M+e3RoaXMucmVuZGVyRmlsZUxpbmsodmFsdWUpfTwvRmlsZUxpbmtzPjtcbiAgICB9O1xuXG4gICAgcmVuZGVySW1hZ2VzID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBnZXRBc3NldCwgdmFsdWUsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgaXRlbXMgPSB2YWx1ZUxpc3RUb1NvcnRhYmxlQXJyYXkodmFsdWUpO1xuXG4gICAgICBpZiAoaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8U29ydGFibGVNdWx0aUltYWdlV3JhcHBlclxuICAgICAgICAgICAgaXRlbXM9e2l0ZW1zfVxuICAgICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLm9uU29ydEVuZH1cbiAgICAgICAgICAgIG9uUmVtb3ZlT25lPXt0aGlzLm9uUmVtb3ZlT25lfVxuICAgICAgICAgICAgb25SZXBsYWNlT25lPXt0aGlzLm9uUmVwbGFjZU9uZX1cbiAgICAgICAgICAgIGRpc3RhbmNlPXs0fVxuICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgYXhpcz1cInh5XCJcbiAgICAgICAgICAgIGxvY2tUb0NvbnRhaW5lckVkZ2VzPXt0cnVlfVxuICAgICAgICAgID48L1NvcnRhYmxlTXVsdGlJbWFnZVdyYXBwZXI+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxJbWFnZVdyYXBwZXI+XG4gICAgICAgICAgPEltYWdlIHZhbHVlPXt2YWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICAgIDwvSW1hZ2VXcmFwcGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgYWxsb3dzTXVsdGlwbGUgPSB0aGlzLmFsbG93c011bHRpcGxlKCk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtmb3JJbWFnZSA/IHRoaXMucmVuZGVySW1hZ2VzKCkgOiBudWxsfVxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7Zm9ySW1hZ2UgPyBudWxsIDogdGhpcy5yZW5kZXJGaWxlTGlua3MoKX1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgICAge3QoXG4gICAgICAgICAgICAgICAgYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0uJHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdhZGRNb3JlJyA6ICdjaG9vc2VEaWZmZXJlbnQnXG4gICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgJiYgIXRoaXMuYWxsb3dzTXVsdGlwbGUoKSA/IChcbiAgICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlcGxhY2VVcmxgKX1cbiAgICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvblJlbW92ZSBvbkNsaWNrPXt0aGlzLmhhbmRsZVJlbW92ZX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LnJlbW92ZSR7YWxsb3dzTXVsdGlwbGUgPyAnQWxsJyA6ICcnfWApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlck5vU2VsZWN0aW9uID0gc3ViamVjdCA9PiB7XG4gICAgICBjb25zdCB7IHQsIGZpZWxkIH0gPSB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZUNoYW5nZX0+XG4gICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2Uke3RoaXMuYWxsb3dzTXVsdGlwbGUoKSA/ICdNdWx0aXBsZScgOiAnJ31gKX1cbiAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAge2ZpZWxkLmdldCgnY2hvb3NlX3VybCcsIHRydWUpID8gKFxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVVcmwoc3ViamVjdCl9PlxuICAgICAgICAgICAgICB7dChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5jaG9vc2VVcmxgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBjbGFzc05hbWVXcmFwcGVyIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qgc3ViamVjdCA9IGZvckltYWdlID8gJ2ltYWdlJyA6ICdmaWxlJztcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZVdyYXBwZXJ9PlxuICAgICAgICAgIDxzcGFuPnt2YWx1ZSA/IHRoaXMucmVuZGVyU2VsZWN0aW9uKHN1YmplY3QpIDogdGhpcy5yZW5kZXJOb1NlbGVjdGlvbihzdWJqZWN0KX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG4iXX0= */"));
|
|
216
|
+
})(buttons.button, ";", components.badgeDanger, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aXRoRmlsZUNvbnRyb2wuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ000QyIsImZpbGUiOiIuLi8uLi9zcmMvd2l0aEZpbGVDb250cm9sLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEltbXV0YWJsZVByb3BUeXBlcyBmcm9tICdyZWFjdC1pbW11dGFibGUtcHJvcHR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IE1hcCwgTGlzdCB9IGZyb20gJ2ltbXV0YWJsZSc7XG5pbXBvcnQgb25jZSBmcm9tICdsb2Rhc2gvb25jZSc7XG5pbXBvcnQgeyBvbmVMaW5lIH0gZnJvbSAnY29tbW9uLXRhZ3MnO1xuaW1wb3J0IHtcbiAgbGVuZ3RocyxcbiAgY29tcG9uZW50cyxcbiAgYnV0dG9ucyxcbiAgYm9yZGVycyxcbiAgZWZmZWN0cyxcbiAgc2hhZG93cyxcbiAgSWNvbkJ1dHRvbixcbn0gZnJvbSAnZGVjYXAtY21zLXVpLWRlZmF1bHQnO1xuaW1wb3J0IHsgYmFzZW5hbWUgfSBmcm9tICdkZWNhcC1jbXMtbGliLXV0aWwnO1xuaW1wb3J0IHsgYXJyYXlNb3ZlSW1tdXRhYmxlIGFzIGFycmF5TW92ZSB9IGZyb20gJ2FycmF5LW1vdmUnO1xuaW1wb3J0IHtcbiAgRG5kQ29udGV4dCxcbiAgTW91c2VTZW5zb3IsXG4gIFRvdWNoU2Vuc29yLFxuICBjbG9zZXN0Q2VudGVyLFxuICB1c2VTZW5zb3IsXG4gIHVzZVNlbnNvcnMsXG59IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHsgU29ydGFibGVDb250ZXh0LCB1c2VTb3J0YWJsZSB9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7IENTUyB9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgeyByZXN0cmljdFRvUGFyZW50RWxlbWVudCB9IGZyb20gJ0BkbmQta2l0L21vZGlmaWVycyc7XG5cbmNvbnN0IE1BWF9ESVNQTEFZX0xFTkdUSCA9IDUwO1xuXG5jb25zdCBJbWFnZVdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBmbGV4LWJhc2lzOiAxNTVweDtcbiAgd2lkdGg6IDE1NXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogJHtib3JkZXJzLnRleHRGaWVsZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAke2VmZmVjdHMuY2hlY2tlcmJvYXJkfTtcbiAgJHtzaGFkb3dzLmluc2V0fTtcbiAgY3Vyc29yOiAke3Byb3BzID0+IChwcm9wcy5zb3J0YWJsZSA/ICdwb2ludGVyJyA6ICdhdXRvJyl9O1xuYDtcblxuY29uc3QgU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5gO1xuXG5jb25zdCBTdHlsZWRJbWFnZSA9IHN0eWxlZC5pbWdgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG5gO1xuXG5mdW5jdGlvbiBJbWFnZSh7IHZhbHVlLCBmaWVsZCwgZ2V0QXNzZXQgfSkge1xuICBjb25zdCBbYXNzZXQsIHNldEFzc2V0XSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBjb25zdCBuZXdBc3NldCA9IGdldEFzc2V0KHZhbHVlLCBmaWVsZCk7XG4gICAgICBzZXRBc3NldChuZXdBc3NldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFzc2V0KG51bGwpO1xuICAgIH1cbiAgfSwgW3ZhbHVlLCBmaWVsZCwgZ2V0QXNzZXRdKTtcblxuICByZXR1cm4gYXNzZXQgPyA8U3R5bGVkSW1hZ2Ugcm9sZT1cInByZXNlbnRhdGlvblwiIHNyYz17YXNzZXR9IC8+IDogbnVsbDtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVJbWFnZUJ1dHRvbnMoeyBvblJlbW92ZSwgb25SZXBsYWNlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICAgICAgPEljb25CdXR0b24gc2l6ZT1cInNtYWxsXCIgdHlwZT1cIm1lZGlhXCIgb25DbGljaz17b25SZXBsYWNlfT48L0ljb25CdXR0b24+XG4gICAgICA8SWNvbkJ1dHRvbiBzaXplPVwic21hbGxcIiB0eXBlPVwiY2xvc2VcIiBvbkNsaWNrPXtvblJlbW92ZX0+PC9JY29uQnV0dG9uPlxuICAgIDwvU29ydGFibGVJbWFnZUJ1dHRvbnNXcmFwcGVyPlxuICApO1xufVxuXG5mdW5jdGlvbiBTb3J0YWJsZUltYWdlKHByb3BzKSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb24gfSA9IHVzZVNvcnRhYmxlKHtcbiAgICBpZDogcHJvcHMuaWQsXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgIHRyYW5zaXRpb24sXG4gIH07XG5cbiAgY29uc3QgeyBpdGVtVmFsdWUsIGdldEFzc2V0LCBmaWVsZCwgb25SZW1vdmUsIG9uUmVwbGFjZSB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfSB7Li4uYXR0cmlidXRlc30gey4uLmxpc3RlbmVyc30+XG4gICAgICA8SW1hZ2VXcmFwcGVyIHNvcnRhYmxlPlxuICAgICAgICA8SW1hZ2UgdmFsdWU9e2l0ZW1WYWx1ZX0gZmllbGQ9e2ZpZWxkfSBnZXRBc3NldD17Z2V0QXNzZXR9IC8+XG4gICAgICA8L0ltYWdlV3JhcHBlcj5cbiAgICAgIDxTb3J0YWJsZUltYWdlQnV0dG9uc1xuICAgICAgICBpdGVtPXtpdGVtVmFsdWV9XG4gICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZX1cbiAgICAgICAgb25SZXBsYWNlPXtvblJlcGxhY2V9XG4gICAgICA+PC9Tb3J0YWJsZUltYWdlQnV0dG9ucz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcih7XG4gIGl0ZW1zLFxuICBnZXRBc3NldCxcbiAgZmllbGQsXG4gIG9uU29ydEVuZCxcbiAgb25SZW1vdmVPbmUsXG4gIG9uUmVwbGFjZU9uZSxcbn0pIHtcbiAgY29uc3QgYWN0aXZhdGlvbkNvbnN0cmFpbnQgPSB7IGRpc3RhbmNlOiA0IH07XG4gIGNvbnN0IHNlbnNvcnMgPSB1c2VTZW5zb3JzKFxuICAgIHVzZVNlbnNvcihNb3VzZVNlbnNvciwgeyBhY3RpdmF0aW9uQ29uc3RyYWludCB9KSxcbiAgICB1c2VTZW5zb3IoVG91Y2hTZW5zb3IsIHsgYWN0aXZhdGlvbkNvbnN0cmFpbnQgfSksXG4gICk7XG5cbiAgZnVuY3Rpb24gaGFuZGxlU29ydEVuZCh7IGFjdGl2ZSwgb3ZlciB9KSB7XG4gICAgb25Tb3J0RW5kKHtcbiAgICAgIG9sZEluZGV4OiBpdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBhY3RpdmUuaWQpLFxuICAgICAgbmV3SW5kZXg6IGl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IG92ZXIuaWQpLFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tdW5rbm93bi1wcm9wZXJ0eVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1BhcmVudEVsZW1lbnRdfVxuICAgICAgICBjb2xsaXNpb25EZXRlY3Rpb249e2Nsb3Nlc3RDZW50ZXJ9XG4gICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlU29ydEVuZH1cbiAgICAgID5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dCBpdGVtcz17aXRlbXN9PlxuICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJbWFnZVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIGlkPXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGl0ZW1WYWx1ZT17aXRlbS52YWx1ZX1cbiAgICAgICAgICAgICAgZ2V0QXNzZXQ9e2dldEFzc2V0fVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlPXtvblJlbW92ZU9uZShpbmRleCl9XG4gICAgICAgICAgICAgIG9uUmVwbGFjZT17b25SZXBsYWNlT25lKGluZGV4KX1cbiAgICAgICAgICAgID48L1NvcnRhYmxlSW1hZ2U+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9EbmRDb250ZXh0PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZC5hYFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmNvbnN0IEZpbGVMaW5rcyA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5gO1xuXG5jb25zdCBGaWxlTGlua0xpc3QgPSBzdHlsZWQudWxgXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlfTtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IEZpbGVXaWRnZXRCdXR0b25SZW1vdmUgPSBzdHlsZWQuYnV0dG9uYFxuICAke2J1dHRvbnMuYnV0dG9ufTtcbiAgJHtjb21wb25lbnRzLmJhZGdlRGFuZ2VyfTtcbmA7XG5cbmZ1bmN0aW9uIGlzTXVsdGlwbGUodmFsdWUpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpIHx8IExpc3QuaXNMaXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gc2l6ZU9mVmFsdWUodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aDtcbiAgfVxuXG4gIGlmIChMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUuc2l6ZTtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xufVxuXG5mdW5jdGlvbiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBMaXN0LmlzTGlzdCh2YWx1ZSkgPyB2YWx1ZS50b0FycmF5KCkgOiB2YWx1ZSA/PyAnJztcbn1cblxuZnVuY3Rpb24gdmFsdWVMaXN0VG9Tb3J0YWJsZUFycmF5KHZhbHVlKSB7XG4gIGlmICghaXNNdWx0aXBsZSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBjb25zdCB2YWx1ZUFycmF5ID0gdmFsdWVMaXN0VG9BcnJheSh2YWx1ZSkubWFwKHZhbHVlID0+ICh7XG4gICAgaWQ6IGNyeXB0by5yYW5kb21VVUlEKCksXG4gICAgdmFsdWUsXG4gIH0pKTtcblxuICByZXR1cm4gdmFsdWVBcnJheTtcbn1cblxuY29uc3Qgd2FybkRlcHJlY2F0ZWRPcHRpb25zID0gb25jZShmaWVsZCA9PlxuICBjb25zb2xlLndhcm4ob25lTGluZWBcbiAgRGVjYXAgQ01TIGNvbmZpZzogJHtmaWVsZC5nZXQoJ25hbWUnKX0gZmllbGQ6IHByb3BlcnR5IFwib3B0aW9uc1wiIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIHRoZVxuICAke2ZpZWxkLmdldCgnd2lkZ2V0Jyl9IHdpZGdldCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuIFJhdGhlciB0aGFuXG4gIFxcYGZpZWxkLm9wdGlvbnMubWVkaWFfbGlicmFyeVxcYCwgYXBwbHkgbWVkaWEgbGlicmFyeSBvcHRpb25zIGZvciB0aGlzIHdpZGdldCB1bmRlclxuICBcXGBmaWVsZC5tZWRpYV9saWJyYXJ5XFxgLlxuYCksXG4pO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB3aXRoRmlsZUNvbnRyb2woeyBmb3JJbWFnZSB9ID0ge30pIHtcbiAgcmV0dXJuIGNsYXNzIEZpbGVDb250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgZmllbGQ6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICAgIGdldEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgbWVkaWFQYXRoczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgICAgb25BZGRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25PcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgb25DbGVhck1lZGlhQ29udHJvbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgY2xhc3NOYW1lV3JhcHBlcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgdmFsdWU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAgICAgICBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICAgICAgSW1tdXRhYmxlUHJvcFR5cGVzLmxpc3RPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICAgIF0pLFxuICAgICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB9O1xuXG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgIHZhbHVlOiAnJyxcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgIHRoaXMuY29udHJvbElEID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIC8vIE1hbnVhbGx5IHZhbGlkYXRlIFByb3BUeXBlcyAtIFJlYWN0IDE5IGJyZWFraW5nIGNoYW5nZVxuICAgICAgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKEZpbGVDb250cm9sLnByb3BUeXBlcywgdGhpcy5wcm9wcywgJ3Byb3AnLCAnRmlsZUNvbnRyb2wnKTtcbiAgICB9XG5cbiAgICBzaG91bGRDb21wb25lbnRVcGRhdGUobmV4dFByb3BzKSB7XG4gICAgICAvKipcbiAgICAgICAqIEFsd2F5cyB1cGRhdGUgaWYgdGhlIHZhbHVlIG9yIGdldEFzc2V0IGNoYW5nZXMuXG4gICAgICAgKi9cbiAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlICE9PSBuZXh0UHJvcHMudmFsdWUgfHwgdGhpcy5wcm9wcy5nZXRBc3NldCAhPT0gbmV4dFByb3BzLmdldEFzc2V0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGlzIGEgbWVkaWEgcGF0aCBmb3IgdGhpcyBjb250cm9sIGluIHRoZSBzdGF0ZSBvYmplY3QsIGFuZCB0aGF0XG4gICAgICAgKiBwYXRoIGlzIGRpZmZlcmVudCB0aGFuIHRoZSB2YWx1ZSBpbiBgbmV4dFByb3BzYCwgdXBkYXRlLlxuICAgICAgICovXG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBuZXh0UHJvcHMubWVkaWFQYXRocy5nZXQodGhpcy5jb250cm9sSUQpO1xuICAgICAgaWYgKG1lZGlhUGF0aCAmJiBuZXh0UHJvcHMudmFsdWUgIT09IG1lZGlhUGF0aCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcbiAgICAgIGNvbnN0IHsgbWVkaWFQYXRocywgdmFsdWUsIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBtZWRpYVBhdGggPSBtZWRpYVBhdGhzLmdldCh0aGlzLmNvbnRyb2xJRCk7XG4gICAgICBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCAhPT0gdmFsdWUpIHtcbiAgICAgICAgb25DaGFuZ2UobWVkaWFQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAobWVkaWFQYXRoICYmIG1lZGlhUGF0aCA9PT0gdmFsdWUpIHtcbiAgICAgICAgb25SZW1vdmVJbnNlcnRlZE1lZGlhKHRoaXMuY29udHJvbElEKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIHRoaXMucHJvcHMub25SZW1vdmVNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgIH1cblxuICAgIGhhbmRsZUNoYW5nZSA9IGUgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCwgb25PcGVuTWVkaWFMaWJyYXJ5LCB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucyA9IHRoaXMuZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zKCk7XG5cbiAgICAgIHJldHVybiBvbk9wZW5NZWRpYUxpYnJhcnkoe1xuICAgICAgICBjb250cm9sSUQ6IHRoaXMuY29udHJvbElELFxuICAgICAgICBmb3JJbWFnZSxcbiAgICAgICAgcHJpdmF0ZVVwbG9hZDogZmllbGQuZ2V0KCdwcml2YXRlJyksXG4gICAgICAgIHZhbHVlOiB2YWx1ZUxpc3RUb0FycmF5KHZhbHVlKSxcbiAgICAgICAgYWxsb3dNdWx0aXBsZTogISFtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdhbGxvd19tdWx0aXBsZScsIHRydWUpLFxuICAgICAgICBjb25maWc6IG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycpLFxuICAgICAgICBmaWVsZCxcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBoYW5kbGVVcmwgPSBzdWJqZWN0ID0+IGUgPT4ge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cucHJvbXB0KHRoaXMucHJvcHMudChgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS5wcm9tcHRVcmxgKSk7XG5cbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UodXJsKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaGFuZGxlUmVtb3ZlID0gZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2xlYXJNZWRpYUNvbnRyb2wodGhpcy5jb250cm9sSUQpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UoJycpO1xuICAgIH07XG5cbiAgICBvblJlbW92ZU9uZSA9IGluZGV4ID0+ICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVMaXN0VG9BcnJheSh0aGlzLnByb3BzLnZhbHVlKTtcbiAgICAgIHZhbHVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICByZXR1cm4gdGhpcy5wcm9wcy5vbkNoYW5nZShzaXplT2ZWYWx1ZSh2YWx1ZSkgPiAwID8gWy4uLnZhbHVlXSA6IG51bGwpO1xuICAgIH07XG5cbiAgICBvblJlcGxhY2VPbmUgPSBpbmRleCA9PiAoKSA9PiB7XG4gICAgICBjb25zdCB7IGZpZWxkLCBvbk9wZW5NZWRpYUxpYnJhcnksIHZhbHVlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcblxuICAgICAgcmV0dXJuIG9uT3Blbk1lZGlhTGlicmFyeSh7XG4gICAgICAgIGNvbnRyb2xJRDogdGhpcy5jb250cm9sSUQsXG4gICAgICAgIGZvckltYWdlLFxuICAgICAgICBwcml2YXRlVXBsb2FkOiBmaWVsZC5nZXQoJ3ByaXZhdGUnKSxcbiAgICAgICAgdmFsdWU6IHZhbHVlTGlzdFRvQXJyYXkodmFsdWUpLFxuICAgICAgICByZXBsYWNlSW5kZXg6IGluZGV4LFxuICAgICAgICBhbGxvd011bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlnOiBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKSxcbiAgICAgICAgZmllbGQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0TWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBmaWVsZCB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKGZpZWxkLmhhc0luKFsnb3B0aW9ucycsICdtZWRpYV9saWJyYXJ5J10pKSB7XG4gICAgICAgIHdhcm5EZXByZWNhdGVkT3B0aW9ucyhmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZC5nZXRJbihbJ29wdGlvbnMnLCAnbWVkaWFfbGlicmFyeSddLCBNYXAoKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWVsZC5nZXQoJ21lZGlhX2xpYnJhcnknLCBNYXAoKSk7XG4gICAgfTtcblxuICAgIGFsbG93c011bHRpcGxlID0gKCkgPT4ge1xuICAgICAgY29uc3QgbWVkaWFMaWJyYXJ5RmllbGRPcHRpb25zID0gdGhpcy5nZXRNZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG1lZGlhTGlicmFyeUZpZWxkT3B0aW9ucy5nZXQoJ2NvbmZpZycsIGZhbHNlKSAmJlxuICAgICAgICBtZWRpYUxpYnJhcnlGaWVsZE9wdGlvbnMuZ2V0KCdjb25maWcnKS5nZXQoJ211bHRpcGxlJywgZmFsc2UpXG4gICAgICApO1xuICAgIH07XG5cbiAgICBvblNvcnRFbmQgPSAoeyBvbGRJbmRleCwgbmV3SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYXJyYXlNb3ZlKHZhbHVlLCBvbGRJbmRleCwgbmV3SW5kZXgpO1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICBnZXRWYWxpZGF0ZVZhbHVlID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaXNNdWx0aXBsZSh2YWx1ZSkgPyB2YWx1ZS5tYXAodiA9PiBiYXNlbmFtZSh2KSkgOiBiYXNlbmFtZSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuXG4gICAgcmVuZGVyRmlsZUxpbmsgPSB2YWx1ZSA9PiB7XG4gICAgICBjb25zdCBzaXplID0gTUFYX0RJU1BMQVlfTEVOR1RIO1xuICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPD0gc2l6ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBjb25zdCB0ZXh0ID0gYCR7dmFsdWUuc2xpY2UoMCwgc2l6ZSAvIDIpfVxcdTIwMjYke3ZhbHVlLnNsaWNlKC0oc2l6ZSAvIDIpICsgMSl9YDtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxGaWxlTGluayBocmVmPXt2YWx1ZX0gcmVsPVwibm9vcGVuZXJcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9GaWxlTGluaz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlckZpbGVMaW5rcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGaWxlTGlua3M+XG4gICAgICAgICAgICA8RmlsZUxpbmtMaXN0PlxuICAgICAgICAgICAgICB7dmFsdWUubWFwKHZhbCA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17dmFsfT57dGhpcy5yZW5kZXJGaWxlTGluayh2YWwpfTwvbGk+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9GaWxlTGlua0xpc3Q+XG4gICAgICAgICAgPC9GaWxlTGlua3M+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gPEZpbGVMaW5rcz57dGhpcy5yZW5kZXJGaWxlTGluayh2YWx1ZSl9PC9GaWxlTGlua3M+O1xuICAgIH07XG5cbiAgICByZW5kZXJJbWFnZXMgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7IGdldEFzc2V0LCB2YWx1ZSwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBpdGVtcyA9IHZhbHVlTGlzdFRvU29ydGFibGVBcnJheSh2YWx1ZSk7XG5cbiAgICAgIGlmIChpc011bHRpcGxlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTb3J0YWJsZU11bHRpSW1hZ2VXcmFwcGVyXG4gICAgICAgICAgICBpdGVtcz17aXRlbXN9XG4gICAgICAgICAgICBvblNvcnRFbmQ9e3RoaXMub25Tb3J0RW5kfVxuICAgICAgICAgICAgb25SZW1vdmVPbmU9e3RoaXMub25SZW1vdmVPbmV9XG4gICAgICAgICAgICBvblJlcGxhY2VPbmU9e3RoaXMub25SZXBsYWNlT25lfVxuICAgICAgICAgICAgZGlzdGFuY2U9ezR9XG4gICAgICAgICAgICBnZXRBc3NldD17Z2V0QXNzZXR9XG4gICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICBheGlzPVwieHlcIlxuICAgICAgICAgICAgbG9ja1RvQ29udGFpbmVyRWRnZXM9e3RydWV9XG4gICAgICAgICAgPjwvU29ydGFibGVNdWx0aUltYWdlV3JhcHBlcj5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEltYWdlV3JhcHBlcj5cbiAgICAgICAgICA8SW1hZ2UgdmFsdWU9e3ZhbHVlfSBmaWVsZD17ZmllbGR9IGdldEFzc2V0PXtnZXRBc3NldH0gLz5cbiAgICAgICAgPC9JbWFnZVdyYXBwZXI+XG4gICAgICApO1xuICAgIH07XG5cbiAgICByZW5kZXJTZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBhbGxvd3NNdWx0aXBsZSA9IHRoaXMuYWxsb3dzTXVsdGlwbGUoKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2ZvckltYWdlID8gdGhpcy5yZW5kZXJJbWFnZXMoKSA6IG51bGx9XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIHtmb3JJbWFnZSA/IG51bGwgOiB0aGlzLnJlbmRlckZpbGVMaW5rcygpfVxuICAgICAgICAgICAgPEZpbGVXaWRnZXRCdXR0b24gb25DbGljaz17dGhpcy5oYW5kbGVDaGFuZ2V9PlxuICAgICAgICAgICAgICB7dChcbiAgICAgICAgICAgICAgICBgZWRpdG9yLmVkaXRvcldpZGdldHMuJHtzdWJqZWN0fS4ke1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ2FkZE1vcmUnIDogJ2Nob29zZURpZmZlcmVudCdcbiAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICAgIHtmaWVsZC5nZXQoJ2Nob29zZV91cmwnLCB0cnVlKSAmJiAhdGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gKFxuICAgICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVwbGFjZVVybGApfVxuICAgICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uUmVtb3ZlIG9uQ2xpY2s9e3RoaXMuaGFuZGxlUmVtb3ZlfT5cbiAgICAgICAgICAgICAge3QoYGVkaXRvci5lZGl0b3JXaWRnZXRzLiR7c3ViamVjdH0ucmVtb3ZlJHthbGxvd3NNdWx0aXBsZSA/ICdBbGwnIDogJyd9YCl9XG4gICAgICAgICAgICA8L0ZpbGVXaWRnZXRCdXR0b25SZW1vdmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgcmVuZGVyTm9TZWxlY3Rpb24gPSBzdWJqZWN0ID0+IHtcbiAgICAgIGNvbnN0IHsgdCwgZmllbGQgfSA9IHRoaXMucHJvcHM7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxGaWxlV2lkZ2V0QnV0dG9uIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2hhbmdlfT5cbiAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZSR7dGhpcy5hbGxvd3NNdWx0aXBsZSgpID8gJ011bHRpcGxlJyA6ICcnfWApfVxuICAgICAgICAgIDwvRmlsZVdpZGdldEJ1dHRvbj5cbiAgICAgICAgICB7ZmllbGQuZ2V0KCdjaG9vc2VfdXJsJywgdHJ1ZSkgPyAoXG4gICAgICAgICAgICA8RmlsZVdpZGdldEJ1dHRvbiBvbkNsaWNrPXt0aGlzLmhhbmRsZVVybChzdWJqZWN0KX0+XG4gICAgICAgICAgICAgIHt0KGBlZGl0b3IuZWRpdG9yV2lkZ2V0cy4ke3N1YmplY3R9LmNob29zZVVybGApfVxuICAgICAgICAgICAgPC9GaWxlV2lkZ2V0QnV0dG9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgdmFsdWUsIGNsYXNzTmFtZVdyYXBwZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gZm9ySW1hZ2UgPyAnaW1hZ2UnIDogJ2ZpbGUnO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lV3JhcHBlcn0+XG4gICAgICAgICAgPHNwYW4+e3ZhbHVlID8gdGhpcy5yZW5kZXJTZWxlY3Rpb24oc3ViamVjdCkgOiB0aGlzLnJlbmRlck5vU2VsZWN0aW9uKHN1YmplY3QpfTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ== */"));
|
|
211
217
|
function isMultiple(value) {
|
|
212
218
|
return Array.isArray(value) || List.isList(value);
|
|
213
219
|
}
|
|
@@ -228,7 +234,7 @@ function valueListToSortableArray(value) {
|
|
|
228
234
|
return value;
|
|
229
235
|
}
|
|
230
236
|
const valueArray = valueListToArray(value).map(value => ({
|
|
231
|
-
id:
|
|
237
|
+
id: crypto.randomUUID(),
|
|
232
238
|
value
|
|
233
239
|
}));
|
|
234
240
|
return valueArray;
|
|
@@ -262,7 +268,7 @@ export default function withFileControl({
|
|
|
262
268
|
};
|
|
263
269
|
constructor(props) {
|
|
264
270
|
super(props);
|
|
265
|
-
this.controlID =
|
|
271
|
+
this.controlID = crypto.randomUUID();
|
|
266
272
|
}
|
|
267
273
|
componentDidMount() {
|
|
268
274
|
// Manually validate PropTypes - React 19 breaking change
|
|
@@ -395,22 +401,29 @@ export default function withFileControl({
|
|
|
395
401
|
return value;
|
|
396
402
|
}
|
|
397
403
|
const text = `${value.slice(0, size / 2)}\u2026${value.slice(-(size / 2) + 1)}`;
|
|
398
|
-
return
|
|
404
|
+
return _jsx(FileLink, {
|
|
399
405
|
href: value,
|
|
400
406
|
rel: "noopener",
|
|
401
|
-
target: "_blank"
|
|
402
|
-
|
|
407
|
+
target: "_blank",
|
|
408
|
+
children: text
|
|
409
|
+
});
|
|
403
410
|
};
|
|
404
411
|
renderFileLinks = () => {
|
|
405
412
|
const {
|
|
406
413
|
value
|
|
407
414
|
} = this.props;
|
|
408
415
|
if (isMultiple(value)) {
|
|
409
|
-
return
|
|
410
|
-
|
|
411
|
-
|
|
416
|
+
return _jsx(FileLinks, {
|
|
417
|
+
children: _jsx(FileLinkList, {
|
|
418
|
+
children: value.map(val => _jsx("li", {
|
|
419
|
+
children: this.renderFileLink(val)
|
|
420
|
+
}, val))
|
|
421
|
+
})
|
|
422
|
+
});
|
|
412
423
|
}
|
|
413
|
-
return
|
|
424
|
+
return _jsx(FileLinks, {
|
|
425
|
+
children: this.renderFileLink(value)
|
|
426
|
+
});
|
|
414
427
|
};
|
|
415
428
|
renderImages = () => {
|
|
416
429
|
const {
|
|
@@ -420,7 +433,7 @@ export default function withFileControl({
|
|
|
420
433
|
} = this.props;
|
|
421
434
|
const items = valueListToSortableArray(value);
|
|
422
435
|
if (isMultiple(value)) {
|
|
423
|
-
return
|
|
436
|
+
return _jsx(SortableMultiImageWrapper, {
|
|
424
437
|
items: items,
|
|
425
438
|
onSortEnd: this.onSortEnd,
|
|
426
439
|
onRemoveOne: this.onRemoveOne,
|
|
@@ -432,11 +445,13 @@ export default function withFileControl({
|
|
|
432
445
|
lockToContainerEdges: true
|
|
433
446
|
});
|
|
434
447
|
}
|
|
435
|
-
return
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
448
|
+
return _jsx(ImageWrapper, {
|
|
449
|
+
children: _jsx(Image, {
|
|
450
|
+
value: value,
|
|
451
|
+
field: field,
|
|
452
|
+
getAsset: getAsset
|
|
453
|
+
})
|
|
454
|
+
});
|
|
440
455
|
};
|
|
441
456
|
renderSelection = subject => {
|
|
442
457
|
const {
|
|
@@ -444,24 +459,35 @@ export default function withFileControl({
|
|
|
444
459
|
field
|
|
445
460
|
} = this.props;
|
|
446
461
|
const allowsMultiple = this.allowsMultiple();
|
|
447
|
-
return
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
462
|
+
return _jsxs("div", {
|
|
463
|
+
children: [forImage ? this.renderImages() : null, _jsxs("div", {
|
|
464
|
+
children: [forImage ? null : this.renderFileLinks(), _jsx(FileWidgetButton, {
|
|
465
|
+
onClick: this.handleChange,
|
|
466
|
+
children: t(`editor.editorWidgets.${subject}.${this.allowsMultiple() ? 'addMore' : 'chooseDifferent'}`)
|
|
467
|
+
}), field.get('choose_url', true) && !this.allowsMultiple() ? _jsx(FileWidgetButton, {
|
|
468
|
+
onClick: this.handleUrl(subject),
|
|
469
|
+
children: t(`editor.editorWidgets.${subject}.replaceUrl`)
|
|
470
|
+
}) : null, _jsx(FileWidgetButtonRemove, {
|
|
471
|
+
onClick: this.handleRemove,
|
|
472
|
+
children: t(`editor.editorWidgets.${subject}.remove${allowsMultiple ? 'All' : ''}`)
|
|
473
|
+
})]
|
|
474
|
+
})]
|
|
475
|
+
});
|
|
454
476
|
};
|
|
455
477
|
renderNoSelection = subject => {
|
|
456
478
|
const {
|
|
457
479
|
t,
|
|
458
480
|
field
|
|
459
481
|
} = this.props;
|
|
460
|
-
return
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
482
|
+
return _jsxs(_Fragment, {
|
|
483
|
+
children: [_jsx(FileWidgetButton, {
|
|
484
|
+
onClick: this.handleChange,
|
|
485
|
+
children: t(`editor.editorWidgets.${subject}.choose${this.allowsMultiple() ? 'Multiple' : ''}`)
|
|
486
|
+
}), field.get('choose_url', true) ? _jsx(FileWidgetButton, {
|
|
487
|
+
onClick: this.handleUrl(subject),
|
|
488
|
+
children: t(`editor.editorWidgets.${subject}.chooseUrl`)
|
|
489
|
+
}) : null]
|
|
490
|
+
});
|
|
465
491
|
};
|
|
466
492
|
render() {
|
|
467
493
|
const {
|
|
@@ -469,9 +495,12 @@ export default function withFileControl({
|
|
|
469
495
|
classNameWrapper
|
|
470
496
|
} = this.props;
|
|
471
497
|
const subject = forImage ? 'image' : 'file';
|
|
472
|
-
return
|
|
473
|
-
className: classNameWrapper
|
|
474
|
-
|
|
498
|
+
return _jsx("div", {
|
|
499
|
+
className: classNameWrapper,
|
|
500
|
+
children: _jsx("span", {
|
|
501
|
+
children: value ? this.renderSelection(subject) : this.renderNoSelection(subject)
|
|
502
|
+
})
|
|
503
|
+
});
|
|
475
504
|
}
|
|
476
505
|
};
|
|
477
506
|
}
|