@dfds-ui/storybook-design 1.1.11 → 1.1.12

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.
@@ -9,7 +9,7 @@ var _base = _interopRequireDefault(require("@emotion/styled/base"));
9
9
 
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
 
12
- const ExampleContainer = (0, _base.default)("div", process.env.NODE_ENV === "production" ? {
12
+ const ExampleContainer = /*#__PURE__*/(0, _base.default)("div", process.env.NODE_ENV === "production" ? {
13
13
  target: "e111yhd70"
14
14
  } : {
15
15
  target: "e111yhd70",
@@ -9,7 +9,7 @@ var _base = _interopRequireDefault(require("@emotion/styled/base"));
9
9
 
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
 
12
- const Paper = (0, _base.default)("div", process.env.NODE_ENV === "production" ? {
12
+ const Paper = /*#__PURE__*/(0, _base.default)("div", process.env.NODE_ENV === "production" ? {
13
13
  target: "ebnm1b20"
14
14
  } : {
15
15
  target: "ebnm1b20",
@@ -13,7 +13,7 @@ const _excluded = ["width", "height"];
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
16
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
17
 
18
18
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
19
19
 
@@ -11,7 +11,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
11
11
 
12
12
  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)."; }
13
13
 
14
- const StoryPage = (0, _base.default)("div", process.env.NODE_ENV === "production" ? {
14
+ const StoryPage = /*#__PURE__*/(0, _base.default)("div", process.env.NODE_ENV === "production" ? {
15
15
  target: "e1rpk2m0"
16
16
  } : {
17
17
  target: "e1rpk2m0",
@@ -33,7 +33,7 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
33
33
 
34
34
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
35
35
 
36
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
36
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
37
37
 
38
38
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
39
39
 
@@ -79,7 +79,7 @@ const Canvas = _ref9 => {
79
79
  rest = _objectWithoutProperties(_ref9, _excluded);
80
80
 
81
81
  return (0, _react2.jsx)(_addonDocs.Canvas, _extends({
82
- css: /*#__PURE__*/(0, _react2.css)("border:20px solid #eee;border-radius:12px;box-shadow:none;&>div:first-of-type{height:", height && height, ";}&>div:nth-of-type(2){border-radius:0;box-shadow:none;}", overflowVisibleInPreview, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:Canvas;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oZWxwZXJzL2NvbXBvbmVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtEYyIsImZpbGUiOiIuLi8uLi8uLi9zcmMvaGVscGVycy9jb21wb25lbnRzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIENhbnZhcyBhcyBTYkNhbnZhcyxcbiAgTWV0YSBhcyBTYk1ldGEsXG4gIEFyZ3NUYWJsZSBhcyBTYkFyZ3NUYWJsZSxcbiAgRG9jc0NvbnRhaW5lciBhcyBTYkRvY3NDb250YWluZXIsXG4gIFN0b3J5IGFzIFNiU3RvcnksXG4gIERlc2NyaXB0aW9uIGFzIFNiRGVzY3JpcHRpb24sXG4gIFNvdXJjZSBhcyBTYlNvdXJjZSxcbn0gZnJvbSAnQHN0b3J5Ym9vay9hZGRvbi1kb2NzJ1xuXG5pbXBvcnQgeyBocmVmVG8gfSBmcm9tICdAc3Rvcnlib29rL2FkZG9uLWxpbmtzJ1xuaW1wb3J0IHsgY3NzLCBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IEV4dGVybmFsTGluaywgQXJyb3dCYWNrLCBTdGF0dXNXYXJuaW5nLCBEb3dubG9hZCB9IGZyb20gJ0BkZmRzLXVpL2ljb25zL3N5c3RlbSdcblxuY29uc3Qgb3ZlcmZsb3dWaXNpYmxlSW5QcmV2aWV3ID0gY3NzYFxuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgJiA+IGRpdiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuYFxuXG5leHBvcnQgdHlwZSBQcmV2aWV3UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgZ3JheT86IGJvb2xlYW5cbiAgaGVpZ2h0Pzogc3RyaW5nXG4gIHdpZHRoPzogc3RyaW5nXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBtZHhTb3VyY2U/OiBzdHJpbmdcbiAgc291cmNlUGF0aD86IHN0cmluZ1xufVxuXG5mdW5jdGlvbiBjb21wb25lbnRUYWdzKGNvbXBvbmVudDogYW55KSB7XG4gIGlmIChjb21wb25lbnQgJiYgY29tcG9uZW50Py5fX2RvY2dlbkluZm8/LnRhZ3MpIHtcbiAgICByZXR1cm4gY29tcG9uZW50Ll9fZG9jZ2VuSW5mby50YWdzXG4gIH1cbiAgcmV0dXJuIHt9XG59XG5cbmZ1bmN0aW9uIGZpbmREZXByZWNhdGVkVGFnKGNvbXBvbmVudDogYW55KSB7XG4gIGNvbnN0IHRhZ3MgPSBjb21wb25lbnRUYWdzKGNvbXBvbmVudClcbiAgaWYgKCdkZXByZWNhdGVkJyBpbiB0YWdzKSB7XG4gICAgcmV0dXJuIHRhZ3NbJ2RlcHJlY2F0ZWQnXSB8fCB0cnVlXG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGNvbnN0IENhbnZhcyA9ICh7IGdyYXkgPSBmYWxzZSwgaGVpZ2h0LCB3aWR0aCwgLi4ucmVzdCB9OiBQcmV2aWV3UHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U2JDYW52YXNcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBib3JkZXI6IDIwcHggc29saWQgI2VlZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgLyogUHJldmlldyBkaXYgKi9cbiAgICAgICAgJiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBoZWlnaHQ6ICR7aGVpZ2h0ICYmIGhlaWdodH07XG4gICAgICAgICAgJiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7Z3JheSAmJiAnI2ZjZmNmZCd9O1xuICAgICAgICAgICAgJHt3aWR0aCAmJlxuICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICBtYXgtd2lkdGg6ICR7d2lkdGh9O1xuICAgICAgICAgICAgICAvKiBUT0RPOiBGaWd1cmUgb3V0IHdoeSB0aGlzIHdhcyBuZWVkZWQgKi9cbiAgICAgICAgICAgICAgLyogYm94LXNpemluZzogJHt3aWR0aCAmJiAnY29udGVudC1ib3gnfTsgKi9cbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgJiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgLyogdGhpcyBlbnN1cmVzIHRoYXQgZWxlbWVudHMgaW4gdGhlIHN0b3J5IHdpbGwgYmUgZGlzcGxheSBvbiB0b3Agb2YgdGhlIFwic2hvdyBjb2RlXCIgYnV0dG9uICovXG4gICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8qIFNvdXJjZSBjb2RlIGRpdiAqL1xuICAgICAgICAmID4gZGl2Om50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJHtvdmVyZmxvd1Zpc2libGVJblByZXZpZXd9XG4gICAgICBgfVxuICAgICAgey4uLnJlc3R9XG4gICAgLz5cbiAgKVxufVxuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIENhbnZhcyAqL1xuZXhwb3J0IGNvbnN0IFByZXZpZXcgPSBDYW52YXNcblxuZXhwb3J0IGNvbnN0IFNvdXJjZSA9IChwcm9wczogYW55KSA9PiB7XG4gIHJldHVybiA8U2JTb3VyY2Ugey4uLnByb3BzfSAvPlxufVxuXG5jb25zdCBkb2NCbG9ja092ZXJyaWRlcyA9IGNzc2BcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgLnNiZG9jcy1oMSB7XG4gICAgZm9udC1mYW1pbHk6IERGRFMgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMmI0NSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogNTZweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc2Jkb2NzLWgyIHtcbiAgICBmb250LWZhbWlseTogREZEUyAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAyYjQ1ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zYmRvY3MtaDMge1xuICAgIGZvbnQtZmFtaWx5OiBERkRTICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDJiNDUgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDI0cHggIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNiZG9jcy1oNCB7XG4gICAgZm9udC1mYW1pbHk6IERGRFMgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMmI0NSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZG9jYmxvY2stYXJnc3RhYmxlLWJvZHksXG4gIC5kb2NibG9jay1zb3VyY2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmRvY2Jsb2NrLWFyZ3N0YWJsZSxcbiAgLmRvY2Jsb2NrLXByb3BzdGFibGUge1xuICAgIG1hcmdpbjogMTZweCAwICFpbXBvcnRhbnQ7XG4gICAgdGgge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlZWFmNyAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogI2Y2ZjlmYztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogIzNjM2MzYyAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogNnB4IDEycHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAvKiB0cjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZkICFpbXBvcnRhbnQ7XG4gICAgfSAqL1xuICAgIHRib2R5IHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDE0cHggMTJweCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlZWFmNyAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgLyogYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50OyAqL1xuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWluLXdpZHRoOiAxNjVweDtcbiAgICAgICAgc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIC8qXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBtYXJnaW46IDJweCAwOyAqL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgJiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOTMyOTgxOyAvKiMwMDAwY2M7Ki9cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgIHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIFt0aXRsZT0nUmVxdWlyZWQnXSB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBjb250ZW50OiAncmVxdWlyZWQnO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5gXG5cbmNvbnN0IEdsb2JhbFN0b3J5Ym9va1N0eWxlcyA9ICgpID0+IHtcbiAgY29uc3Qgc3R5bGVzID0gY3NzYFxuICAgIGh0bWwsXG4gICAgYm9keSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZkO1xuICAgIH1cbiAgICAke2RvY0Jsb2NrT3ZlcnJpZGVzfVxuICAgIC50YWJidXR0b24ge1xuICAgICAgJiYge1xuICAgICAgICBmb250LWZhbWlseTogJ051bml0byBTYW5zJywgLWFwcGxlLXN5c3RlbSwgJy5TRk5TVGV4dC1SZWd1bGFyJywgJ1NhbiBGcmFuY2lzY28nLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsXG4gICAgICAgICAgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAubWFya2Rvd24tdGFibGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2IwYWZhZjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgdGhlYWQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIH1cblxuICAgICAgdHI6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgICAgfVxuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2IwYWZhZjtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgY29kZSB7XG4gICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAgICAgICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5hcmdzLXRhYmxlLXByb3AtbmFtZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIC5hcmdzLXRhYmxlLWJhZGdlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICAgICAgcGFkZGluZzogMnB4IDRweDtcbiAgICAgIGNvbG9yOiAjNDQ0NDQ0O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW46IDRweCA2cHggNHB4IDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwMDg7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgfVxuXG4gICAgLmFyZ3MtdGFibGUtYmFkZ2UtcmVxdWlyZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZjdlYjtcbiAgICB9XG5cbiAgICAuYXJncy10YWJsZS1iYWRnZS1kZXByZWNhdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWRjZGM7XG4gICAgfVxuICBgXG4gIHJldHVybiA8R2xvYmFsIHN0eWxlcz17c3R5bGVzfSAvPlxufVxuXG5mdW5jdGlvbiBpc0luTGFiU2VjdGlvbih0aXRsZTogc3RyaW5nKSB7XG4gIHJldHVybiB0aXRsZT8udG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCdsYWInKVxufVxuXG5leHBvcnQgY29uc3QgTGFiV2FybmluZ0Jhbm5lciA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmY5OTJjO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8U3RhdHVzV2FybmluZ1xuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICBjb2xvcjogI2ZmOTkyYztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgIG1pbi13aWR0aDogMzJweDtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxkaXY+XG4gICAgICAgIFRoaXMgY29tcG9uZW50IGJlbG9uZ3MgdG8gdGhlIDxzdHJvbmc+TGFiPC9zdHJvbmc+IHNlY3Rpb24gYW5kIGlzIFwid29yayBpbiBwcm9ncmVzc1wiLiBFeHBlY3QgYnJlYWtpbmcgY2hhbmdlcyBpZlxuICAgICAgICB5b3UgY29uc3VtZSBpdCBpbiB5b3VyIGFwcGxpY2F0aW9uLlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IERlcHJlY2F0ZWRCYW5uZXIgPSAoeyBoZWFkbGluZSwgY2hpbGRyZW4gfTogeyBoZWFkbGluZTogc3RyaW5nOyBjaGlsZHJlbjogUmVhY3ROb2RlIH0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU3MDAwMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgJiBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAuMjVyZW0gMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiBwIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiBhIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAgPHNwYW5cbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgYH1cbiAgICAgID5cbiAgICAgICAg8J+ap1xuICAgICAgPC9zcGFuPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGgxPntoZWFkbGluZX08L2gxPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgTWV0YSA9ICh7IHRpdGxlLCAuLi5yZXN0IH06IGFueSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsU3Rvcnlib29rU3R5bGVzIC8+XG4gICAgICB7aXNJbkxhYlNlY3Rpb24odGl0bGUpICYmIDxMYWJXYXJuaW5nQmFubmVyIC8+fVxuICAgICAgPFNiTWV0YSB0aXRsZT17dGl0bGV9IHsuLi5yZXN0fSAvPlxuICAgIDwvPlxuICApXG59XG5cbmZ1bmN0aW9uIGlzSW5GcmFtZSgpIHtcbiAgcmV0dXJuIHdpbmRvdyAmJiB3aW5kb3cuc2VsZiAhPT0gd2luZG93LnRvcFxufVxuXG5jb25zdCBTaG93RG9jc0Z1bGxTY3JlZW4gPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGFcbiAgICAgIGhyZWY9XCIjXCJcbiAgICAgIHRpdGxlPVwiU2hvdyBEb2NzIGluIGZ1bGwgc2NyZWVuXCJcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBvcGFjaXR5OiAke2lzSW5GcmFtZSgpID8gMSA6IDB9O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAgPEV4dGVybmFsTGluayAvPlxuICAgIDwvYT5cbiAgKVxufVxuXG5mdW5jdGlvbiBwYXJzZVF1ZXJ5KHF1ZXJ5U3RyaW5nOiBzdHJpbmcpIHtcbiAgY29uc3QgcXVlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fVxuICBjb25zdCBwYWlycyA9IChxdWVyeVN0cmluZy5zdGFydHNXaXRoKCc/JykgPyBxdWVyeVN0cmluZy5zdWJzdHIoMSkgOiBxdWVyeVN0cmluZykuc3BsaXQoJyYnKVxuICBmb3IgKGxldCBpID0gMDsgaSA8IHBhaXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgcGFpciA9IHBhaXJzW2ldLnNwbGl0KCc9JylcbiAgICBxdWVyeVtkZWNvZGVVUklDb21wb25lbnQocGFpclswXSldID0gZGVjb2RlVVJJQ29tcG9uZW50KHBhaXJbMV0gfHwgJycpXG4gIH1cbiAgcmV0dXJuIHF1ZXJ5XG59XG5cbmNvbnN0IEJhY2tUb1N0b3J5Ym9vayA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8YVxuICAgICAgaHJlZj17d2luZG93LmxvY2F0aW9uLm9yaWdpbiArICc/cGF0aD0vZG9jcy8nICsgcGFyc2VRdWVyeSh3aW5kb3cubG9jYXRpb24uc2VhcmNoKVsnaWQnXX1cbiAgICAgIHRpdGxlPVwiQmFjayB0byBTdG9yeWJvb2tcIlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6ICR7aXNJbkZyYW1lKCkgPyAnbm9uZScgOiAnZmxleCd9O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAgPEFycm93QmFjayAvPlxuICAgIDwvYT5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgRG9jc0NvbnRhaW5lciA9ICh7IGNoaWxkcmVuLCAuLi5yZXN0IH06IGFueSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxTaG93RG9jc0Z1bGxTY3JlZW4gLz5cbiAgICAgICAgPEJhY2tUb1N0b3J5Ym9vayAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8U2JEb2NzQ29udGFpbmVyIHsuLi5yZXN0fT57Y2hpbGRyZW59PC9TYkRvY3NDb250YWluZXI+XG4gICAgPC8+XG4gIClcbn1cblxudHlwZSBDb21wb25lbnRNYXAgPSBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PlxuXG5jb25zdCBhcHBseUFyZ3NUYWJsZURlc2lnbiA9IChjdXI6IHN0cmluZywgbWFwOiBDb21wb25lbnRNYXApID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBkb2NUYWJsZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZG9jYmxvY2stYXJnc3RhYmxlLWJvZHknKVxuICAgIGRvY1RhYmxlcy5mb3JFYWNoKCh0YWJsZSkgPT4ge1xuICAgICAgY29uc3QgcHJvcE5hbWVUZHMgPSB0YWJsZS5xdWVyeVNlbGVjdG9yQWxsKCd0ZDpmaXJzdC1vZi10eXBlJylcbiAgICAgIHByb3BOYW1lVGRzLmZvckVhY2goKHRkKSA9PiB7XG4gICAgICAgIC8vIEhhbmRsZSBwcm9wIG5hbWVcbiAgICAgICAgY29uc3QgbmFtZVNwYW4gPSB0ZC5xdWVyeVNlbGVjdG9yQWxsKCdzcGFuJylbMF1cblxuICAgICAgICBpZiAoIW5hbWVTcGFuKSByZXR1cm4gLy8gYmFpbCAoY2FuIGhhcHBlbiB3aGVuIGRlc2lnbiBhbHJlYWR5IGFwcGxpZWQgKEhNUikpXG4gICAgICAgIGNvbnN0IHByb3BOYW1lID0gbmFtZVNwYW4uaW5uZXJUZXh0XG4gICAgICAgIG5hbWVTcGFuLnJlbW92ZSgpXG4gICAgICAgIHRkLmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJywgJzxkaXYgY2xhc3M9XCJhcmdzLXRhYmxlLXByb3AtbmFtZVwiPicgKyBwcm9wTmFtZSArICc8L2Rpdj4nKVxuXG4gICAgICAgIC8vIEhhbmRsZSAgcmVxdWlyZWQgc3BhblxuICAgICAgICBjb25zdCByZXF1aXJlZFNwYW4gPSB0ZC5xdWVyeVNlbGVjdG9yKCdbdGl0bGU9XCJSZXF1aXJlZFwiXScpXG4gICAgICAgIGNvbnN0IGlzUmVxdWlyZWQgPSAhIXJlcXVpcmVkU3BhblxuICAgICAgICByZXF1aXJlZFNwYW4gJiYgcmVxdWlyZWRTcGFuLnJlbW92ZSgpXG4gICAgICAgIGlzUmVxdWlyZWQgJiZcbiAgICAgICAgICB0ZC5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZWVuZCcsICc8ZGl2IGNsYXNzPVwiYXJncy10YWJsZS1iYWRnZSBhcmdzLXRhYmxlLWJhZGdlLXJlcXVpcmVkXCI+cmVxdWlyZWQ8L2Rpdj4nKVxuXG4gICAgICAgIC8vIEhhbmRsZSBkZXByZWNhdGVkXG4gICAgICAgIGlmIChjdXIgaW4gbWFwKSB7XG4gICAgICAgICAgY29uc3QgZGVwID0gbWFwW2N1cl1cbiAgICAgICAgICBpZiAocHJvcE5hbWUgaW4gZGVwKSB7XG4gICAgICAgICAgICB0ZC5pbnNlcnRBZGphY2VudEhUTUwoXG4gICAgICAgICAgICAgICdiZWZvcmVlbmQnLFxuICAgICAgICAgICAgICAnPGRpdiB0aXRsZT1cIicgKyBkZXBbcHJvcE5hbWVdICsgJ1wiIGNsYXNzPVwiYXJncy10YWJsZS1iYWRnZSBhcmdzLXRhYmxlLWJhZGdlLWRlcHJlY2F0ZWRcIj5kZXByZWNhdGVkPC9kaXY+J1xuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICBjb25zb2xlLmVycm9yKCdDb3VsZCBub3QgYXBwbHkgQXJnc1RhYmxlIHJ1bnRpbWUgZGVzaWduJywgZSlcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQXJnc1RhYmxlID0gKHByb3BzOiBhbnkpID0+IHtcbiAgY29uc3Qgb2ZQcm9wID0gcHJvcHM/Lm9mPy5fX2RvY2dlbkluZm9cbiAgY29uc3QgY29tcG9uZW50c1Byb3AgPSBwcm9wcz8uY29tcG9uZW50c1xuXG4gIGNvbnN0IGluaXRpYWxDb21wb25lbnQgPSBvZlByb3AgPyBvZlByb3AuZGlzcGxheU5hbWUgOiBjb21wb25lbnRzUHJvcCA/IE9iamVjdC5rZXlzKGNvbXBvbmVudHNQcm9wKVswXSA6ICcnXG4gIGNvbnN0IFtjdXJyZW50Q29tcG9uZW50LCBzZXRDdXJyZW50Q29tcG9uZW50XSA9IFJlYWN0LnVzZVN0YXRlPHN0cmluZz4oaW5pdGlhbENvbXBvbmVudClcblxuICBSZWFjdC51c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4gPSB7fVxuXG4gICAgaWYgKG9mUHJvcCkge1xuICAgICAgY29uc3QgYyA9IG9mUHJvcC5kaXNwbGF5TmFtZVxuICAgICAgY29uc3QgY29tcG9uZW50UHJvcHMgPSBvZlByb3AucHJvcHMgfHwge31cbiAgICAgIHJlc3VsdFtjXSA9IHt9XG4gICAgICBmb3IgKGNvbnN0IHByb3Agb2YgT2JqZWN0LmtleXMoY29tcG9uZW50UHJvcHMpKSB7XG4gICAgICAgIGlmIChjb21wb25lbnRQcm9wc1twcm9wXS50YWdzICYmICdkZXByZWNhdGVkJyBpbiBjb21wb25lbnRQcm9wc1twcm9wXS50YWdzKSB7XG4gICAgICAgICAgcmVzdWx0W2NdW3Byb3BdID0gY29tcG9uZW50UHJvcHNbcHJvcF0udGFnc1snZGVwcmVjYXRlZCddXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY29tcG9uZW50c1Byb3ApIHtcbiAgICAgIGZvciAoY29uc3QgbmFtZSBvZiBPYmplY3Qua2V5cyhjb21wb25lbnRzUHJvcCkpIHtcbiAgICAgICAgcmVzdWx0W25hbWVdID0ge31cbiAgICAgICAgY29uc3QgY29tcG9uZW50UHJvcHMgPSBjb21wb25lbnRzUHJvcFtuYW1lXT8uX19kb2NnZW5JbmZvPy5wcm9wcyB8fCB7fVxuICAgICAgICBmb3IgKGNvbnN0IHByb3Agb2YgT2JqZWN0LmtleXMoY29tcG9uZW50UHJvcHMpKSB7XG4gICAgICAgICAgaWYgKGNvbXBvbmVudFByb3BzW3Byb3BdLnRhZ3MgJiYgJ2RlcHJlY2F0ZWQnIGluIGNvbXBvbmVudFByb3BzW3Byb3BdLnRhZ3MpIHtcbiAgICAgICAgICAgIHJlc3VsdFtuYW1lXVtwcm9wXSA9IGNvbXBvbmVudFByb3BzW3Byb3BdLnRhZ3NbJ2RlcHJlY2F0ZWQnXVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBhcHBseUFyZ3NUYWJsZURlc2lnbihjdXJyZW50Q29tcG9uZW50LCByZXN1bHQpXG4gIH0sIFtjb21wb25lbnRzUHJvcCwgY3VycmVudENvbXBvbmVudCwgb2ZQcm9wXSlcblxuICBjb25zdCBoYW5kbGVUYWJCdXR0b25DbGllbnQgPSAoZTogYW55KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChlLnRhcmdldC5jbGFzc05hbWUuaW5jbHVkZXMoJ3RhYmJ1dHRvbicpKSB7XG4gICAgICAgIHNldEN1cnJlbnRDb21wb25lbnQoZS50YXJnZXQuaW5uZXJUZXh0KVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmVycm9yKCdDb3VsZCBub3QgYXBwbHkgQXJnc1RhYmxlIHJ1bnRpbWUgZGVzaWduIHdoaWxlIGNsaWNraW5nIG9uIHRhYmJ1dHRvbicsIGUpXG4gICAgfVxuICB9XG5cbiAgUmVhY3QudXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZVRhYkJ1dHRvbkNsaWVudClcbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVUYWJCdXR0b25DbGllbnQpXG4gIH0sIFtdKVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWxTdG9yeWJvb2tTdHlsZXMgLz5cbiAgICAgIDxkaXZcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxTYkFyZ3NUYWJsZSB7Li4ucHJvcHN9IC8+XG4gICAgICA8L2Rpdj5cbiAgICA8Lz5cbiAgKVxufVxuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIEFyZ3NUYWJsZSAqL1xuZXhwb3J0IGNvbnN0IFByb3BzID0gQXJnc1RhYmxlXG5cbmV4cG9ydCBjb25zdCBTdG9yeSA9IChwcm9wczogYW55KSA9PiB7XG4gIHJldHVybiA8U2JTdG9yeSB7Li4ucHJvcHN9IC8+XG59XG5cbmV4cG9ydCBjb25zdCBEZXNjcmlwdGlvbiA9IChwcm9wczogYW55KSA9PiB7XG4gIGNvbnN0IGRlcFRhZyA9IHByb3BzLm9mID8gZmluZERlcHJlY2F0ZWRUYWcocHJvcHMub2YpIDogbnVsbFxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7ZGVwVGFnICYmIDxkaXYgY2xhc3NOYW1lPVwiYXJncy10YWJsZS1iYWRnZSBhcmdzLXRhYmxlLWJhZGdlLWRlcHJlY2F0ZWRcIj5ERVBSRUNBVEVEPC9kaXY+fVxuICAgICAgPFNiRGVzY3JpcHRpb24gey4uLnByb3BzfSAvPlxuICAgIDwvPlxuICApXG59XG5cbnR5cGUgU3RvcnlMaW5rUHJvcHMgPSB7XG4gIGtpbmQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgbW9kZT86ICdkb2NzJyB8ICdjYW52YXMnXG4gIHRhcmdldD86ICdfc2VsZicgfCAnX2JsYW5rJ1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG5leHBvcnQgY29uc3QgU3RvcnlMaW5rID0gKHsga2luZCwgbmFtZSwgbW9kZSA9ICdkb2NzJywgdGFyZ2V0ID0gJ19zZWxmJywgY2hpbGRyZW4gfTogU3RvcnlMaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgW2xpbmssIHNldExpbmtdID0gUmVhY3QudXNlU3RhdGUoKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlID0gKGw6IGFueSkgPT4ge1xuICAgICAgLy9yZW1vdmUgZXhpc3Rpbmcgdmlld01vZGVcbiAgICAgIGwgPSBsLnJlcGxhY2UoLyZ2aWV3TW9kZT0oZG9jc3xjYW52YXMpLywgJycpXG4gICAgICBsICs9IGAmdmlld01vZGU9JHttb2RlfWBcbiAgICAgIHNldExpbmsobClcbiAgICB9XG4gICAgdm9pZCBocmVmVG8oa2luZCwgbmFtZSkudGhlbigobCkgPT4ge1xuICAgICAgaGFuZGxlKGwpXG4gICAgfSlcbiAgfSwgW2tpbmQsIG1vZGUsIG5hbWVdKVxuXG4gIHJldHVybiBsaW5rID8gKFxuICAgIDxhIGhyZWY9e2xpbmt9IHRhcmdldD17dGFyZ2V0fT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2E+XG4gICkgOiBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBEb3dubG9hZEJ1dHRvbiA9ICh7XG4gIGNoaWxkcmVuLFxuICBocmVmLFxuICBjbGFzc05hbWUsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgaHJlZjogc3RyaW5nXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxhXG4gICAgICBocmVmPXtocmVmfVxuICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgIHJlbD1cIm5vcmVmZXJyZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMi43NXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBERkRTLCBWZXJkYW5hLCBzeXN0ZW0tdWksIEFyaWFsLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiA0cmVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2UsIGNvbG9yIDEyMG1zIGVhc2U7XG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbSAwIDAuNzVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMWVhN2ZkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8c3BhblxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IERGRFMsIFZlcmRhbmEsIHN5c3RlbS11aSwgQXJpYWwsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zMzQ7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxEb3dubG9hZCAvPlxuICAgICAgPC9zcGFuPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvYT5cbiAgKVxufVxuIl19 */")
82
+ css: /*#__PURE__*/(0, _react2.css)("border:20px solid #eee;border-radius:12px;box-shadow:none;&>div:first-of-type{height:", height && height, ";&>div:first-of-type{height:100%;background-color:", gray && '#fcfcfd', ";", width && /*#__PURE__*/(0, _react2.css)("max-width:", width, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:Canvas;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oZWxwZXJzL2NvbXBvbmVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZEZSIsImZpbGUiOiIuLi8uLi8uLi9zcmMvaGVscGVycy9jb21wb25lbnRzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIENhbnZhcyBhcyBTYkNhbnZhcyxcbiAgTWV0YSBhcyBTYk1ldGEsXG4gIEFyZ3NUYWJsZSBhcyBTYkFyZ3NUYWJsZSxcbiAgRG9jc0NvbnRhaW5lciBhcyBTYkRvY3NDb250YWluZXIsXG4gIFN0b3J5IGFzIFNiU3RvcnksXG4gIERlc2NyaXB0aW9uIGFzIFNiRGVzY3JpcHRpb24sXG4gIFNvdXJjZSBhcyBTYlNvdXJjZSxcbn0gZnJvbSAnQHN0b3J5Ym9vay9hZGRvbi1kb2NzJ1xuXG5pbXBvcnQgeyBocmVmVG8gfSBmcm9tICdAc3Rvcnlib29rL2FkZG9uLWxpbmtzJ1xuaW1wb3J0IHsgY3NzLCBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IEV4dGVybmFsTGluaywgQXJyb3dCYWNrLCBTdGF0dXNXYXJuaW5nLCBEb3dubG9hZCB9IGZyb20gJ0BkZmRzLXVpL2ljb25zL3N5c3RlbSdcblxuY29uc3Qgb3ZlcmZsb3dWaXNpYmxlSW5QcmV2aWV3ID0gY3NzYFxuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgJiA+IGRpdiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuYFxuXG5leHBvcnQgdHlwZSBQcmV2aWV3UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgZ3JheT86IGJvb2xlYW5cbiAgaGVpZ2h0Pzogc3RyaW5nXG4gIHdpZHRoPzogc3RyaW5nXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBtZHhTb3VyY2U/OiBzdHJpbmdcbiAgc291cmNlUGF0aD86IHN0cmluZ1xufVxuXG5mdW5jdGlvbiBjb21wb25lbnRUYWdzKGNvbXBvbmVudDogYW55KSB7XG4gIGlmIChjb21wb25lbnQgJiYgY29tcG9uZW50Py5fX2RvY2dlbkluZm8/LnRhZ3MpIHtcbiAgICByZXR1cm4gY29tcG9uZW50Ll9fZG9jZ2VuSW5mby50YWdzXG4gIH1cbiAgcmV0dXJuIHt9XG59XG5cbmZ1bmN0aW9uIGZpbmREZXByZWNhdGVkVGFnKGNvbXBvbmVudDogYW55KSB7XG4gIGNvbnN0IHRhZ3MgPSBjb21wb25lbnRUYWdzKGNvbXBvbmVudClcbiAgaWYgKCdkZXByZWNhdGVkJyBpbiB0YWdzKSB7XG4gICAgcmV0dXJuIHRhZ3NbJ2RlcHJlY2F0ZWQnXSB8fCB0cnVlXG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGNvbnN0IENhbnZhcyA9ICh7IGdyYXkgPSBmYWxzZSwgaGVpZ2h0LCB3aWR0aCwgLi4ucmVzdCB9OiBQcmV2aWV3UHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U2JDYW52YXNcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBib3JkZXI6IDIwcHggc29saWQgI2VlZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgLyogUHJldmlldyBkaXYgKi9cbiAgICAgICAgJiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBoZWlnaHQ6ICR7aGVpZ2h0ICYmIGhlaWdodH07XG4gICAgICAgICAgJiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7Z3JheSAmJiAnI2ZjZmNmZCd9O1xuICAgICAgICAgICAgJHt3aWR0aCAmJlxuICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICBtYXgtd2lkdGg6ICR7d2lkdGh9O1xuICAgICAgICAgICAgICAvKiBUT0RPOiBGaWd1cmUgb3V0IHdoeSB0aGlzIHdhcyBuZWVkZWQgKi9cbiAgICAgICAgICAgICAgLyogYm94LXNpemluZzogJHt3aWR0aCAmJiAnY29udGVudC1ib3gnfTsgKi9cbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgJiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgLyogdGhpcyBlbnN1cmVzIHRoYXQgZWxlbWVudHMgaW4gdGhlIHN0b3J5IHdpbGwgYmUgZGlzcGxheSBvbiB0b3Agb2YgdGhlIFwic2hvdyBjb2RlXCIgYnV0dG9uICovXG4gICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8qIFNvdXJjZSBjb2RlIGRpdiAqL1xuICAgICAgICAmID4gZGl2Om50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJHtvdmVyZmxvd1Zpc2libGVJblByZXZpZXd9XG4gICAgICBgfVxuICAgICAgey4uLnJlc3R9XG4gICAgLz5cbiAgKVxufVxuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIENhbnZhcyAqL1xuZXhwb3J0IGNvbnN0IFByZXZpZXcgPSBDYW52YXNcblxuZXhwb3J0IGNvbnN0IFNvdXJjZSA9IChwcm9wczogYW55KSA9PiB7XG4gIHJldHVybiA8U2JTb3VyY2Ugey4uLnByb3BzfSAvPlxufVxuXG5jb25zdCBkb2NCbG9ja092ZXJyaWRlcyA9IGNzc2BcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgLnNiZG9jcy1oMSB7XG4gICAgZm9udC1mYW1pbHk6IERGRFMgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMmI0NSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogNTZweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc2Jkb2NzLWgyIHtcbiAgICBmb250LWZhbWlseTogREZEUyAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAyYjQ1ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zYmRvY3MtaDMge1xuICAgIGZvbnQtZmFtaWx5OiBERkRTICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDJiNDUgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDI0cHggIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNiZG9jcy1oNCB7XG4gICAgZm9udC1mYW1pbHk6IERGRFMgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMmI0NSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZG9jYmxvY2stYXJnc3RhYmxlLWJvZHksXG4gIC5kb2NibG9jay1zb3VyY2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmRvY2Jsb2NrLWFyZ3N0YWJsZSxcbiAgLmRvY2Jsb2NrLXByb3BzdGFibGUge1xuICAgIG1hcmdpbjogMTZweCAwICFpbXBvcnRhbnQ7XG4gICAgdGgge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlZWFmNyAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogI2Y2ZjlmYztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogIzNjM2MzYyAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogNnB4IDEycHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAvKiB0cjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZkICFpbXBvcnRhbnQ7XG4gICAgfSAqL1xuICAgIHRib2R5IHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDE0cHggMTJweCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlZWFmNyAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgLyogYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50OyAqL1xuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWluLXdpZHRoOiAxNjVweDtcbiAgICAgICAgc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIC8qXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBtYXJnaW46IDJweCAwOyAqL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgJiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOTMyOTgxOyAvKiMwMDAwY2M7Ki9cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgIHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIFt0aXRsZT0nUmVxdWlyZWQnXSB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBjb250ZW50OiAncmVxdWlyZWQnO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5gXG5cbmNvbnN0IEdsb2JhbFN0b3J5Ym9va1N0eWxlcyA9ICgpID0+IHtcbiAgY29uc3Qgc3R5bGVzID0gY3NzYFxuICAgIGh0bWwsXG4gICAgYm9keSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZkO1xuICAgIH1cbiAgICAke2RvY0Jsb2NrT3ZlcnJpZGVzfVxuICAgIC50YWJidXR0b24ge1xuICAgICAgJiYge1xuICAgICAgICBmb250LWZhbWlseTogJ051bml0byBTYW5zJywgLWFwcGxlLXN5c3RlbSwgJy5TRk5TVGV4dC1SZWd1bGFyJywgJ1NhbiBGcmFuY2lzY28nLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsXG4gICAgICAgICAgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAubWFya2Rvd24tdGFibGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2IwYWZhZjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgdGhlYWQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIH1cblxuICAgICAgdHI6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgICAgfVxuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2IwYWZhZjtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgY29kZSB7XG4gICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAgICAgICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5hcmdzLXRhYmxlLXByb3AtbmFtZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIC5hcmdzLXRhYmxlLWJhZGdlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICAgICAgcGFkZGluZzogMnB4IDRweDtcbiAgICAgIGNvbG9yOiAjNDQ0NDQ0O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW46IDRweCA2cHggNHB4IDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwMDg7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgfVxuXG4gICAgLmFyZ3MtdGFibGUtYmFkZ2UtcmVxdWlyZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZjdlYjtcbiAgICB9XG5cbiAgICAuYXJncy10YWJsZS1iYWRnZS1kZXByZWNhdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWRjZGM7XG4gICAgfVxuICBgXG4gIHJldHVybiA8R2xvYmFsIHN0eWxlcz17c3R5bGVzfSAvPlxufVxuXG5mdW5jdGlvbiBpc0luTGFiU2VjdGlvbih0aXRsZTogc3RyaW5nKSB7XG4gIHJldHVybiB0aXRsZT8udG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCdsYWInKVxufVxuXG5leHBvcnQgY29uc3QgTGFiV2FybmluZ0Jhbm5lciA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmY5OTJjO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8U3RhdHVzV2FybmluZ1xuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICBjb2xvcjogI2ZmOTkyYztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgIG1pbi13aWR0aDogMzJweDtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxkaXY+XG4gICAgICAgIFRoaXMgY29tcG9uZW50IGJlbG9uZ3MgdG8gdGhlIDxzdHJvbmc+TGFiPC9zdHJvbmc+IHNlY3Rpb24gYW5kIGlzIFwid29yayBpbiBwcm9ncmVzc1wiLiBFeHBlY3QgYnJlYWtpbmcgY2hhbmdlcyBpZlxuICAgICAgICB5b3UgY29uc3VtZSBpdCBpbiB5b3VyIGFwcGxpY2F0aW9uLlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IERlcHJlY2F0ZWRCYW5uZXIgPSAoeyBoZWFkbGluZSwgY2hpbGRyZW4gfTogeyBoZWFkbGluZTogc3RyaW5nOyBjaGlsZHJlbjogUmVhY3ROb2RlIH0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU3MDAwMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgJiBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAuMjVyZW0gMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiBwIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiBhIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAgPHNwYW5cbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgYH1cbiAgICAgID5cbiAgICAgICAg8J+ap1xuICAgICAgPC9zcGFuPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGgxPntoZWFkbGluZX08L2gxPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgTWV0YSA9ICh7IHRpdGxlLCAuLi5yZXN0IH06IGFueSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsU3Rvcnlib29rU3R5bGVzIC8+XG4gICAgICB7aXNJbkxhYlNlY3Rpb24odGl0bGUpICYmIDxMYWJXYXJuaW5nQmFubmVyIC8+fVxuICAgICAgPFNiTWV0YSB0aXRsZT17dGl0bGV9IHsuLi5yZXN0fSAvPlxuICAgIDwvPlxuICApXG59XG5cbmZ1bmN0aW9uIGlzSW5GcmFtZSgpIHtcbiAgcmV0dXJuIHdpbmRvdyAmJiB3aW5kb3cuc2VsZiAhPT0gd2luZG93LnRvcFxufVxuXG5jb25zdCBTaG93RG9jc0Z1bGxTY3JlZW4gPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGFcbiAgICAgIGhyZWY9XCIjXCJcbiAgICAgIHRpdGxlPVwiU2hvdyBEb2NzIGluIGZ1bGwgc2NyZWVuXCJcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBvcGFjaXR5OiAke2lzSW5GcmFtZSgpID8gMSA6IDB9O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAgPEV4dGVybmFsTGluayAvPlxuICAgIDwvYT5cbiAgKVxufVxuXG5mdW5jdGlvbiBwYXJzZVF1ZXJ5KHF1ZXJ5U3RyaW5nOiBzdHJpbmcpIHtcbiAgY29uc3QgcXVlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fVxuICBjb25zdCBwYWlycyA9IChxdWVyeVN0cmluZy5zdGFydHNXaXRoKCc/JykgPyBxdWVyeVN0cmluZy5zdWJzdHIoMSkgOiBxdWVyeVN0cmluZykuc3BsaXQoJyYnKVxuICBmb3IgKGxldCBpID0gMDsgaSA8IHBhaXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgcGFpciA9IHBhaXJzW2ldLnNwbGl0KCc9JylcbiAgICBxdWVyeVtkZWNvZGVVUklDb21wb25lbnQocGFpclswXSldID0gZGVjb2RlVVJJQ29tcG9uZW50KHBhaXJbMV0gfHwgJycpXG4gIH1cbiAgcmV0dXJuIHF1ZXJ5XG59XG5cbmNvbnN0IEJhY2tUb1N0b3J5Ym9vayA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8YVxuICAgICAgaHJlZj17d2luZG93LmxvY2F0aW9uLm9yaWdpbiArICc/cGF0aD0vZG9jcy8nICsgcGFyc2VRdWVyeSh3aW5kb3cubG9jYXRpb24uc2VhcmNoKVsnaWQnXX1cbiAgICAgIHRpdGxlPVwiQmFjayB0byBTdG9yeWJvb2tcIlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6ICR7aXNJbkZyYW1lKCkgPyAnbm9uZScgOiAnZmxleCd9O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAgPEFycm93QmFjayAvPlxuICAgIDwvYT5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgRG9jc0NvbnRhaW5lciA9ICh7IGNoaWxkcmVuLCAuLi5yZXN0IH06IGFueSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxTaG93RG9jc0Z1bGxTY3JlZW4gLz5cbiAgICAgICAgPEJhY2tUb1N0b3J5Ym9vayAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8U2JEb2NzQ29udGFpbmVyIHsuLi5yZXN0fT57Y2hpbGRyZW59PC9TYkRvY3NDb250YWluZXI+XG4gICAgPC8+XG4gIClcbn1cblxudHlwZSBDb21wb25lbnRNYXAgPSBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PlxuXG5jb25zdCBhcHBseUFyZ3NUYWJsZURlc2lnbiA9IChjdXI6IHN0cmluZywgbWFwOiBDb21wb25lbnRNYXApID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBkb2NUYWJsZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZG9jYmxvY2stYXJnc3RhYmxlLWJvZHknKVxuICAgIGRvY1RhYmxlcy5mb3JFYWNoKCh0YWJsZSkgPT4ge1xuICAgICAgY29uc3QgcHJvcE5hbWVUZHMgPSB0YWJsZS5xdWVyeVNlbGVjdG9yQWxsKCd0ZDpmaXJzdC1vZi10eXBlJylcbiAgICAgIHByb3BOYW1lVGRzLmZvckVhY2goKHRkKSA9PiB7XG4gICAgICAgIC8vIEhhbmRsZSBwcm9wIG5hbWVcbiAgICAgICAgY29uc3QgbmFtZVNwYW4gPSB0ZC5xdWVyeVNlbGVjdG9yQWxsKCdzcGFuJylbMF1cblxuICAgICAgICBpZiAoIW5hbWVTcGFuKSByZXR1cm4gLy8gYmFpbCAoY2FuIGhhcHBlbiB3aGVuIGRlc2lnbiBhbHJlYWR5IGFwcGxpZWQgKEhNUikpXG4gICAgICAgIGNvbnN0IHByb3BOYW1lID0gbmFtZVNwYW4uaW5uZXJUZXh0XG4gICAgICAgIG5hbWVTcGFuLnJlbW92ZSgpXG4gICAgICAgIHRkLmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJywgJzxkaXYgY2xhc3M9XCJhcmdzLXRhYmxlLXByb3AtbmFtZVwiPicgKyBwcm9wTmFtZSArICc8L2Rpdj4nKVxuXG4gICAgICAgIC8vIEhhbmRsZSAgcmVxdWlyZWQgc3BhblxuICAgICAgICBjb25zdCByZXF1aXJlZFNwYW4gPSB0ZC5xdWVyeVNlbGVjdG9yKCdbdGl0bGU9XCJSZXF1aXJlZFwiXScpXG4gICAgICAgIGNvbnN0IGlzUmVxdWlyZWQgPSAhIXJlcXVpcmVkU3BhblxuICAgICAgICByZXF1aXJlZFNwYW4gJiYgcmVxdWlyZWRTcGFuLnJlbW92ZSgpXG4gICAgICAgIGlzUmVxdWlyZWQgJiZcbiAgICAgICAgICB0ZC5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZWVuZCcsICc8ZGl2IGNsYXNzPVwiYXJncy10YWJsZS1iYWRnZSBhcmdzLXRhYmxlLWJhZGdlLXJlcXVpcmVkXCI+cmVxdWlyZWQ8L2Rpdj4nKVxuXG4gICAgICAgIC8vIEhhbmRsZSBkZXByZWNhdGVkXG4gICAgICAgIGlmIChjdXIgaW4gbWFwKSB7XG4gICAgICAgICAgY29uc3QgZGVwID0gbWFwW2N1cl1cbiAgICAgICAgICBpZiAocHJvcE5hbWUgaW4gZGVwKSB7XG4gICAgICAgICAgICB0ZC5pbnNlcnRBZGphY2VudEhUTUwoXG4gICAgICAgICAgICAgICdiZWZvcmVlbmQnLFxuICAgICAgICAgICAgICAnPGRpdiB0aXRsZT1cIicgKyBkZXBbcHJvcE5hbWVdICsgJ1wiIGNsYXNzPVwiYXJncy10YWJsZS1iYWRnZSBhcmdzLXRhYmxlLWJhZGdlLWRlcHJlY2F0ZWRcIj5kZXByZWNhdGVkPC9kaXY+J1xuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICBjb25zb2xlLmVycm9yKCdDb3VsZCBub3QgYXBwbHkgQXJnc1RhYmxlIHJ1bnRpbWUgZGVzaWduJywgZSlcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQXJnc1RhYmxlID0gKHByb3BzOiBhbnkpID0+IHtcbiAgY29uc3Qgb2ZQcm9wID0gcHJvcHM/Lm9mPy5fX2RvY2dlbkluZm9cbiAgY29uc3QgY29tcG9uZW50c1Byb3AgPSBwcm9wcz8uY29tcG9uZW50c1xuXG4gIGNvbnN0IGluaXRpYWxDb21wb25lbnQgPSBvZlByb3AgPyBvZlByb3AuZGlzcGxheU5hbWUgOiBjb21wb25lbnRzUHJvcCA/IE9iamVjdC5rZXlzKGNvbXBvbmVudHNQcm9wKVswXSA6ICcnXG4gIGNvbnN0IFtjdXJyZW50Q29tcG9uZW50LCBzZXRDdXJyZW50Q29tcG9uZW50XSA9IFJlYWN0LnVzZVN0YXRlPHN0cmluZz4oaW5pdGlhbENvbXBvbmVudClcblxuICBSZWFjdC51c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4gPSB7fVxuXG4gICAgaWYgKG9mUHJvcCkge1xuICAgICAgY29uc3QgYyA9IG9mUHJvcC5kaXNwbGF5TmFtZVxuICAgICAgY29uc3QgY29tcG9uZW50UHJvcHMgPSBvZlByb3AucHJvcHMgfHwge31cbiAgICAgIHJlc3VsdFtjXSA9IHt9XG4gICAgICBmb3IgKGNvbnN0IHByb3Agb2YgT2JqZWN0LmtleXMoY29tcG9uZW50UHJvcHMpKSB7XG4gICAgICAgIGlmIChjb21wb25lbnRQcm9wc1twcm9wXS50YWdzICYmICdkZXByZWNhdGVkJyBpbiBjb21wb25lbnRQcm9wc1twcm9wXS50YWdzKSB7XG4gICAgICAgICAgcmVzdWx0W2NdW3Byb3BdID0gY29tcG9uZW50UHJvcHNbcHJvcF0udGFnc1snZGVwcmVjYXRlZCddXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY29tcG9uZW50c1Byb3ApIHtcbiAgICAgIGZvciAoY29uc3QgbmFtZSBvZiBPYmplY3Qua2V5cyhjb21wb25lbnRzUHJvcCkpIHtcbiAgICAgICAgcmVzdWx0W25hbWVdID0ge31cbiAgICAgICAgY29uc3QgY29tcG9uZW50UHJvcHMgPSBjb21wb25lbnRzUHJvcFtuYW1lXT8uX19kb2NnZW5JbmZvPy5wcm9wcyB8fCB7fVxuICAgICAgICBmb3IgKGNvbnN0IHByb3Agb2YgT2JqZWN0LmtleXMoY29tcG9uZW50UHJvcHMpKSB7XG4gICAgICAgICAgaWYgKGNvbXBvbmVudFByb3BzW3Byb3BdLnRhZ3MgJiYgJ2RlcHJlY2F0ZWQnIGluIGNvbXBvbmVudFByb3BzW3Byb3BdLnRhZ3MpIHtcbiAgICAgICAgICAgIHJlc3VsdFtuYW1lXVtwcm9wXSA9IGNvbXBvbmVudFByb3BzW3Byb3BdLnRhZ3NbJ2RlcHJlY2F0ZWQnXVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBhcHBseUFyZ3NUYWJsZURlc2lnbihjdXJyZW50Q29tcG9uZW50LCByZXN1bHQpXG4gIH0sIFtjb21wb25lbnRzUHJvcCwgY3VycmVudENvbXBvbmVudCwgb2ZQcm9wXSlcblxuICBjb25zdCBoYW5kbGVUYWJCdXR0b25DbGllbnQgPSAoZTogYW55KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChlLnRhcmdldC5jbGFzc05hbWUuaW5jbHVkZXMoJ3RhYmJ1dHRvbicpKSB7XG4gICAgICAgIHNldEN1cnJlbnRDb21wb25lbnQoZS50YXJnZXQuaW5uZXJUZXh0KVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmVycm9yKCdDb3VsZCBub3QgYXBwbHkgQXJnc1RhYmxlIHJ1bnRpbWUgZGVzaWduIHdoaWxlIGNsaWNraW5nIG9uIHRhYmJ1dHRvbicsIGUpXG4gICAgfVxuICB9XG5cbiAgUmVhY3QudXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZVRhYkJ1dHRvbkNsaWVudClcbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVUYWJCdXR0b25DbGllbnQpXG4gIH0sIFtdKVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWxTdG9yeWJvb2tTdHlsZXMgLz5cbiAgICAgIDxkaXZcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxTYkFyZ3NUYWJsZSB7Li4ucHJvcHN9IC8+XG4gICAgICA8L2Rpdj5cbiAgICA8Lz5cbiAgKVxufVxuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIEFyZ3NUYWJsZSAqL1xuZXhwb3J0IGNvbnN0IFByb3BzID0gQXJnc1RhYmxlXG5cbmV4cG9ydCBjb25zdCBTdG9yeSA9IChwcm9wczogYW55KSA9PiB7XG4gIHJldHVybiA8U2JTdG9yeSB7Li4ucHJvcHN9IC8+XG59XG5cbmV4cG9ydCBjb25zdCBEZXNjcmlwdGlvbiA9IChwcm9wczogYW55KSA9PiB7XG4gIGNvbnN0IGRlcFRhZyA9IHByb3BzLm9mID8gZmluZERlcHJlY2F0ZWRUYWcocHJvcHMub2YpIDogbnVsbFxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7ZGVwVGFnICYmIDxkaXYgY2xhc3NOYW1lPVwiYXJncy10YWJsZS1iYWRnZSBhcmdzLXRhYmxlLWJhZGdlLWRlcHJlY2F0ZWRcIj5ERVBSRUNBVEVEPC9kaXY+fVxuICAgICAgPFNiRGVzY3JpcHRpb24gey4uLnByb3BzfSAvPlxuICAgIDwvPlxuICApXG59XG5cbnR5cGUgU3RvcnlMaW5rUHJvcHMgPSB7XG4gIGtpbmQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgbW9kZT86ICdkb2NzJyB8ICdjYW52YXMnXG4gIHRhcmdldD86ICdfc2VsZicgfCAnX2JsYW5rJ1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG5leHBvcnQgY29uc3QgU3RvcnlMaW5rID0gKHsga2luZCwgbmFtZSwgbW9kZSA9ICdkb2NzJywgdGFyZ2V0ID0gJ19zZWxmJywgY2hpbGRyZW4gfTogU3RvcnlMaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgW2xpbmssIHNldExpbmtdID0gUmVhY3QudXNlU3RhdGUoKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlID0gKGw6IGFueSkgPT4ge1xuICAgICAgLy9yZW1vdmUgZXhpc3Rpbmcgdmlld01vZGVcbiAgICAgIGwgPSBsLnJlcGxhY2UoLyZ2aWV3TW9kZT0oZG9jc3xjYW52YXMpLywgJycpXG4gICAgICBsICs9IGAmdmlld01vZGU9JHttb2RlfWBcbiAgICAgIHNldExpbmsobClcbiAgICB9XG4gICAgdm9pZCBocmVmVG8oa2luZCwgbmFtZSkudGhlbigobCkgPT4ge1xuICAgICAgaGFuZGxlKGwpXG4gICAgfSlcbiAgfSwgW2tpbmQsIG1vZGUsIG5hbWVdKVxuXG4gIHJldHVybiBsaW5rID8gKFxuICAgIDxhIGhyZWY9e2xpbmt9IHRhcmdldD17dGFyZ2V0fT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2E+XG4gICkgOiBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBEb3dubG9hZEJ1dHRvbiA9ICh7XG4gIGNoaWxkcmVuLFxuICBocmVmLFxuICBjbGFzc05hbWUsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgaHJlZjogc3RyaW5nXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxhXG4gICAgICBocmVmPXtocmVmfVxuICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgIHJlbD1cIm5vcmVmZXJyZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMi43NXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBERkRTLCBWZXJkYW5hLCBzeXN0ZW0tdWksIEFyaWFsLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiA0cmVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2UsIGNvbG9yIDEyMG1zIGVhc2U7XG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbSAwIDAuNzVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMWVhN2ZkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8c3BhblxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IERGRFMsIFZlcmRhbmEsIHN5c3RlbS11aSwgQXJpYWwsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zMzQ7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxEb3dubG9hZCAvPlxuICAgICAgPC9zcGFuPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvYT5cbiAgKVxufVxuIl19 */"), " position:static;&>div:first-of-type{z-index:2;}}}&>div:nth-of-type(2){border-radius:0;box-shadow:none;}", overflowVisibleInPreview, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:Canvas;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oZWxwZXJzL2NvbXBvbmVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtEYyIsImZpbGUiOiIuLi8uLi8uLi9zcmMvaGVscGVycy9jb21wb25lbnRzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIENhbnZhcyBhcyBTYkNhbnZhcyxcbiAgTWV0YSBhcyBTYk1ldGEsXG4gIEFyZ3NUYWJsZSBhcyBTYkFyZ3NUYWJsZSxcbiAgRG9jc0NvbnRhaW5lciBhcyBTYkRvY3NDb250YWluZXIsXG4gIFN0b3J5IGFzIFNiU3RvcnksXG4gIERlc2NyaXB0aW9uIGFzIFNiRGVzY3JpcHRpb24sXG4gIFNvdXJjZSBhcyBTYlNvdXJjZSxcbn0gZnJvbSAnQHN0b3J5Ym9vay9hZGRvbi1kb2NzJ1xuXG5pbXBvcnQgeyBocmVmVG8gfSBmcm9tICdAc3Rvcnlib29rL2FkZG9uLWxpbmtzJ1xuaW1wb3J0IHsgY3NzLCBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IEV4dGVybmFsTGluaywgQXJyb3dCYWNrLCBTdGF0dXNXYXJuaW5nLCBEb3dubG9hZCB9IGZyb20gJ0BkZmRzLXVpL2ljb25zL3N5c3RlbSdcblxuY29uc3Qgb3ZlcmZsb3dWaXNpYmxlSW5QcmV2aWV3ID0gY3NzYFxuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgJiA+IGRpdiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuYFxuXG5leHBvcnQgdHlwZSBQcmV2aWV3UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgZ3JheT86IGJvb2xlYW5cbiAgaGVpZ2h0Pzogc3RyaW5nXG4gIHdpZHRoPzogc3RyaW5nXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBtZHhTb3VyY2U/OiBzdHJpbmdcbiAgc291cmNlUGF0aD86IHN0cmluZ1xufVxuXG5mdW5jdGlvbiBjb21wb25lbnRUYWdzKGNvbXBvbmVudDogYW55KSB7XG4gIGlmIChjb21wb25lbnQgJiYgY29tcG9uZW50Py5fX2RvY2dlbkluZm8/LnRhZ3MpIHtcbiAgICByZXR1cm4gY29tcG9uZW50Ll9fZG9jZ2VuSW5mby50YWdzXG4gIH1cbiAgcmV0dXJuIHt9XG59XG5cbmZ1bmN0aW9uIGZpbmREZXByZWNhdGVkVGFnKGNvbXBvbmVudDogYW55KSB7XG4gIGNvbnN0IHRhZ3MgPSBjb21wb25lbnRUYWdzKGNvbXBvbmVudClcbiAgaWYgKCdkZXByZWNhdGVkJyBpbiB0YWdzKSB7XG4gICAgcmV0dXJuIHRhZ3NbJ2RlcHJlY2F0ZWQnXSB8fCB0cnVlXG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGNvbnN0IENhbnZhcyA9ICh7IGdyYXkgPSBmYWxzZSwgaGVpZ2h0LCB3aWR0aCwgLi4ucmVzdCB9OiBQcmV2aWV3UHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U2JDYW52YXNcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBib3JkZXI6IDIwcHggc29saWQgI2VlZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgLyogUHJldmlldyBkaXYgKi9cbiAgICAgICAgJiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBoZWlnaHQ6ICR7aGVpZ2h0ICYmIGhlaWdodH07XG4gICAgICAgICAgJiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7Z3JheSAmJiAnI2ZjZmNmZCd9O1xuICAgICAgICAgICAgJHt3aWR0aCAmJlxuICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICBtYXgtd2lkdGg6ICR7d2lkdGh9O1xuICAgICAgICAgICAgICAvKiBUT0RPOiBGaWd1cmUgb3V0IHdoeSB0aGlzIHdhcyBuZWVkZWQgKi9cbiAgICAgICAgICAgICAgLyogYm94LXNpemluZzogJHt3aWR0aCAmJiAnY29udGVudC1ib3gnfTsgKi9cbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgJiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgLyogdGhpcyBlbnN1cmVzIHRoYXQgZWxlbWVudHMgaW4gdGhlIHN0b3J5IHdpbGwgYmUgZGlzcGxheSBvbiB0b3Agb2YgdGhlIFwic2hvdyBjb2RlXCIgYnV0dG9uICovXG4gICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8qIFNvdXJjZSBjb2RlIGRpdiAqL1xuICAgICAgICAmID4gZGl2Om50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJHtvdmVyZmxvd1Zpc2libGVJblByZXZpZXd9XG4gICAgICBgfVxuICAgICAgey4uLnJlc3R9XG4gICAgLz5cbiAgKVxufVxuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIENhbnZhcyAqL1xuZXhwb3J0IGNvbnN0IFByZXZpZXcgPSBDYW52YXNcblxuZXhwb3J0IGNvbnN0IFNvdXJjZSA9IChwcm9wczogYW55KSA9PiB7XG4gIHJldHVybiA8U2JTb3VyY2Ugey4uLnByb3BzfSAvPlxufVxuXG5jb25zdCBkb2NCbG9ja092ZXJyaWRlcyA9IGNzc2BcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgLnNiZG9jcy1oMSB7XG4gICAgZm9udC1mYW1pbHk6IERGRFMgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMmI0NSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogNTZweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc2Jkb2NzLWgyIHtcbiAgICBmb250LWZhbWlseTogREZEUyAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAyYjQ1ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zYmRvY3MtaDMge1xuICAgIGZvbnQtZmFtaWx5OiBERkRTICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDJiNDUgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDI0cHggIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNiZG9jcy1oNCB7XG4gICAgZm9udC1mYW1pbHk6IERGRFMgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMmI0NSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZG9jYmxvY2stYXJnc3RhYmxlLWJvZHksXG4gIC5kb2NibG9jay1zb3VyY2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmRvY2Jsb2NrLWFyZ3N0YWJsZSxcbiAgLmRvY2Jsb2NrLXByb3BzdGFibGUge1xuICAgIG1hcmdpbjogMTZweCAwICFpbXBvcnRhbnQ7XG4gICAgdGgge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlZWFmNyAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogI2Y2ZjlmYztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogIzNjM2MzYyAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogNnB4IDEycHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAvKiB0cjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZkICFpbXBvcnRhbnQ7XG4gICAgfSAqL1xuICAgIHRib2R5IHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDE0cHggMTJweCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlZWFmNyAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgLyogYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50OyAqL1xuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWluLXdpZHRoOiAxNjVweDtcbiAgICAgICAgc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIC8qXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBtYXJnaW46IDJweCAwOyAqL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgJiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOTMyOTgxOyAvKiMwMDAwY2M7Ki9cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgIHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIFt0aXRsZT0nUmVxdWlyZWQnXSB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBjb250ZW50OiAncmVxdWlyZWQnO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5gXG5cbmNvbnN0IEdsb2JhbFN0b3J5Ym9va1N0eWxlcyA9ICgpID0+IHtcbiAgY29uc3Qgc3R5bGVzID0gY3NzYFxuICAgIGh0bWwsXG4gICAgYm9keSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZkO1xuICAgIH1cbiAgICAke2RvY0Jsb2NrT3ZlcnJpZGVzfVxuICAgIC50YWJidXR0b24ge1xuICAgICAgJiYge1xuICAgICAgICBmb250LWZhbWlseTogJ051bml0byBTYW5zJywgLWFwcGxlLXN5c3RlbSwgJy5TRk5TVGV4dC1SZWd1bGFyJywgJ1NhbiBGcmFuY2lzY28nLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsXG4gICAgICAgICAgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAubWFya2Rvd24tdGFibGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2IwYWZhZjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgdGhlYWQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIH1cblxuICAgICAgdHI6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgICAgfVxuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2IwYWZhZjtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgY29kZSB7XG4gICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAgICAgICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5hcmdzLXRhYmxlLXByb3AtbmFtZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIC5hcmdzLXRhYmxlLWJhZGdlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICAgICAgcGFkZGluZzogMnB4IDRweDtcbiAgICAgIGNvbG9yOiAjNDQ0NDQ0O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW46IDRweCA2cHggNHB4IDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwMDg7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgfVxuXG4gICAgLmFyZ3MtdGFibGUtYmFkZ2UtcmVxdWlyZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZjdlYjtcbiAgICB9XG5cbiAgICAuYXJncy10YWJsZS1iYWRnZS1kZXByZWNhdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWRjZGM7XG4gICAgfVxuICBgXG4gIHJldHVybiA8R2xvYmFsIHN0eWxlcz17c3R5bGVzfSAvPlxufVxuXG5mdW5jdGlvbiBpc0luTGFiU2VjdGlvbih0aXRsZTogc3RyaW5nKSB7XG4gIHJldHVybiB0aXRsZT8udG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCdsYWInKVxufVxuXG5leHBvcnQgY29uc3QgTGFiV2FybmluZ0Jhbm5lciA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmY5OTJjO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8U3RhdHVzV2FybmluZ1xuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICBjb2xvcjogI2ZmOTkyYztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgIG1pbi13aWR0aDogMzJweDtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxkaXY+XG4gICAgICAgIFRoaXMgY29tcG9uZW50IGJlbG9uZ3MgdG8gdGhlIDxzdHJvbmc+TGFiPC9zdHJvbmc+IHNlY3Rpb24gYW5kIGlzIFwid29yayBpbiBwcm9ncmVzc1wiLiBFeHBlY3QgYnJlYWtpbmcgY2hhbmdlcyBpZlxuICAgICAgICB5b3UgY29uc3VtZSBpdCBpbiB5b3VyIGFwcGxpY2F0aW9uLlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IERlcHJlY2F0ZWRCYW5uZXIgPSAoeyBoZWFkbGluZSwgY2hpbGRyZW4gfTogeyBoZWFkbGluZTogc3RyaW5nOyBjaGlsZHJlbjogUmVhY3ROb2RlIH0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU3MDAwMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgJiBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAuMjVyZW0gMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiBwIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiBhIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAgPHNwYW5cbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgYH1cbiAgICAgID5cbiAgICAgICAg8J+ap1xuICAgICAgPC9zcGFuPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGgxPntoZWFkbGluZX08L2gxPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgTWV0YSA9ICh7IHRpdGxlLCAuLi5yZXN0IH06IGFueSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsU3Rvcnlib29rU3R5bGVzIC8+XG4gICAgICB7aXNJbkxhYlNlY3Rpb24odGl0bGUpICYmIDxMYWJXYXJuaW5nQmFubmVyIC8+fVxuICAgICAgPFNiTWV0YSB0aXRsZT17dGl0bGV9IHsuLi5yZXN0fSAvPlxuICAgIDwvPlxuICApXG59XG5cbmZ1bmN0aW9uIGlzSW5GcmFtZSgpIHtcbiAgcmV0dXJuIHdpbmRvdyAmJiB3aW5kb3cuc2VsZiAhPT0gd2luZG93LnRvcFxufVxuXG5jb25zdCBTaG93RG9jc0Z1bGxTY3JlZW4gPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGFcbiAgICAgIGhyZWY9XCIjXCJcbiAgICAgIHRpdGxlPVwiU2hvdyBEb2NzIGluIGZ1bGwgc2NyZWVuXCJcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBvcGFjaXR5OiAke2lzSW5GcmFtZSgpID8gMSA6IDB9O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAgPEV4dGVybmFsTGluayAvPlxuICAgIDwvYT5cbiAgKVxufVxuXG5mdW5jdGlvbiBwYXJzZVF1ZXJ5KHF1ZXJ5U3RyaW5nOiBzdHJpbmcpIHtcbiAgY29uc3QgcXVlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fVxuICBjb25zdCBwYWlycyA9IChxdWVyeVN0cmluZy5zdGFydHNXaXRoKCc/JykgPyBxdWVyeVN0cmluZy5zdWJzdHIoMSkgOiBxdWVyeVN0cmluZykuc3BsaXQoJyYnKVxuICBmb3IgKGxldCBpID0gMDsgaSA8IHBhaXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgcGFpciA9IHBhaXJzW2ldLnNwbGl0KCc9JylcbiAgICBxdWVyeVtkZWNvZGVVUklDb21wb25lbnQocGFpclswXSldID0gZGVjb2RlVVJJQ29tcG9uZW50KHBhaXJbMV0gfHwgJycpXG4gIH1cbiAgcmV0dXJuIHF1ZXJ5XG59XG5cbmNvbnN0IEJhY2tUb1N0b3J5Ym9vayA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8YVxuICAgICAgaHJlZj17d2luZG93LmxvY2F0aW9uLm9yaWdpbiArICc/cGF0aD0vZG9jcy8nICsgcGFyc2VRdWVyeSh3aW5kb3cubG9jYXRpb24uc2VhcmNoKVsnaWQnXX1cbiAgICAgIHRpdGxlPVwiQmFjayB0byBTdG9yeWJvb2tcIlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6ICR7aXNJbkZyYW1lKCkgPyAnbm9uZScgOiAnZmxleCd9O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAgPEFycm93QmFjayAvPlxuICAgIDwvYT5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgRG9jc0NvbnRhaW5lciA9ICh7IGNoaWxkcmVuLCAuLi5yZXN0IH06IGFueSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxTaG93RG9jc0Z1bGxTY3JlZW4gLz5cbiAgICAgICAgPEJhY2tUb1N0b3J5Ym9vayAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8U2JEb2NzQ29udGFpbmVyIHsuLi5yZXN0fT57Y2hpbGRyZW59PC9TYkRvY3NDb250YWluZXI+XG4gICAgPC8+XG4gIClcbn1cblxudHlwZSBDb21wb25lbnRNYXAgPSBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PlxuXG5jb25zdCBhcHBseUFyZ3NUYWJsZURlc2lnbiA9IChjdXI6IHN0cmluZywgbWFwOiBDb21wb25lbnRNYXApID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBkb2NUYWJsZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZG9jYmxvY2stYXJnc3RhYmxlLWJvZHknKVxuICAgIGRvY1RhYmxlcy5mb3JFYWNoKCh0YWJsZSkgPT4ge1xuICAgICAgY29uc3QgcHJvcE5hbWVUZHMgPSB0YWJsZS5xdWVyeVNlbGVjdG9yQWxsKCd0ZDpmaXJzdC1vZi10eXBlJylcbiAgICAgIHByb3BOYW1lVGRzLmZvckVhY2goKHRkKSA9PiB7XG4gICAgICAgIC8vIEhhbmRsZSBwcm9wIG5hbWVcbiAgICAgICAgY29uc3QgbmFtZVNwYW4gPSB0ZC5xdWVyeVNlbGVjdG9yQWxsKCdzcGFuJylbMF1cblxuICAgICAgICBpZiAoIW5hbWVTcGFuKSByZXR1cm4gLy8gYmFpbCAoY2FuIGhhcHBlbiB3aGVuIGRlc2lnbiBhbHJlYWR5IGFwcGxpZWQgKEhNUikpXG4gICAgICAgIGNvbnN0IHByb3BOYW1lID0gbmFtZVNwYW4uaW5uZXJUZXh0XG4gICAgICAgIG5hbWVTcGFuLnJlbW92ZSgpXG4gICAgICAgIHRkLmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJywgJzxkaXYgY2xhc3M9XCJhcmdzLXRhYmxlLXByb3AtbmFtZVwiPicgKyBwcm9wTmFtZSArICc8L2Rpdj4nKVxuXG4gICAgICAgIC8vIEhhbmRsZSAgcmVxdWlyZWQgc3BhblxuICAgICAgICBjb25zdCByZXF1aXJlZFNwYW4gPSB0ZC5xdWVyeVNlbGVjdG9yKCdbdGl0bGU9XCJSZXF1aXJlZFwiXScpXG4gICAgICAgIGNvbnN0IGlzUmVxdWlyZWQgPSAhIXJlcXVpcmVkU3BhblxuICAgICAgICByZXF1aXJlZFNwYW4gJiYgcmVxdWlyZWRTcGFuLnJlbW92ZSgpXG4gICAgICAgIGlzUmVxdWlyZWQgJiZcbiAgICAgICAgICB0ZC5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZWVuZCcsICc8ZGl2IGNsYXNzPVwiYXJncy10YWJsZS1iYWRnZSBhcmdzLXRhYmxlLWJhZGdlLXJlcXVpcmVkXCI+cmVxdWlyZWQ8L2Rpdj4nKVxuXG4gICAgICAgIC8vIEhhbmRsZSBkZXByZWNhdGVkXG4gICAgICAgIGlmIChjdXIgaW4gbWFwKSB7XG4gICAgICAgICAgY29uc3QgZGVwID0gbWFwW2N1cl1cbiAgICAgICAgICBpZiAocHJvcE5hbWUgaW4gZGVwKSB7XG4gICAgICAgICAgICB0ZC5pbnNlcnRBZGphY2VudEhUTUwoXG4gICAgICAgICAgICAgICdiZWZvcmVlbmQnLFxuICAgICAgICAgICAgICAnPGRpdiB0aXRsZT1cIicgKyBkZXBbcHJvcE5hbWVdICsgJ1wiIGNsYXNzPVwiYXJncy10YWJsZS1iYWRnZSBhcmdzLXRhYmxlLWJhZGdlLWRlcHJlY2F0ZWRcIj5kZXByZWNhdGVkPC9kaXY+J1xuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICBjb25zb2xlLmVycm9yKCdDb3VsZCBub3QgYXBwbHkgQXJnc1RhYmxlIHJ1bnRpbWUgZGVzaWduJywgZSlcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQXJnc1RhYmxlID0gKHByb3BzOiBhbnkpID0+IHtcbiAgY29uc3Qgb2ZQcm9wID0gcHJvcHM/Lm9mPy5fX2RvY2dlbkluZm9cbiAgY29uc3QgY29tcG9uZW50c1Byb3AgPSBwcm9wcz8uY29tcG9uZW50c1xuXG4gIGNvbnN0IGluaXRpYWxDb21wb25lbnQgPSBvZlByb3AgPyBvZlByb3AuZGlzcGxheU5hbWUgOiBjb21wb25lbnRzUHJvcCA/IE9iamVjdC5rZXlzKGNvbXBvbmVudHNQcm9wKVswXSA6ICcnXG4gIGNvbnN0IFtjdXJyZW50Q29tcG9uZW50LCBzZXRDdXJyZW50Q29tcG9uZW50XSA9IFJlYWN0LnVzZVN0YXRlPHN0cmluZz4oaW5pdGlhbENvbXBvbmVudClcblxuICBSZWFjdC51c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4gPSB7fVxuXG4gICAgaWYgKG9mUHJvcCkge1xuICAgICAgY29uc3QgYyA9IG9mUHJvcC5kaXNwbGF5TmFtZVxuICAgICAgY29uc3QgY29tcG9uZW50UHJvcHMgPSBvZlByb3AucHJvcHMgfHwge31cbiAgICAgIHJlc3VsdFtjXSA9IHt9XG4gICAgICBmb3IgKGNvbnN0IHByb3Agb2YgT2JqZWN0LmtleXMoY29tcG9uZW50UHJvcHMpKSB7XG4gICAgICAgIGlmIChjb21wb25lbnRQcm9wc1twcm9wXS50YWdzICYmICdkZXByZWNhdGVkJyBpbiBjb21wb25lbnRQcm9wc1twcm9wXS50YWdzKSB7XG4gICAgICAgICAgcmVzdWx0W2NdW3Byb3BdID0gY29tcG9uZW50UHJvcHNbcHJvcF0udGFnc1snZGVwcmVjYXRlZCddXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY29tcG9uZW50c1Byb3ApIHtcbiAgICAgIGZvciAoY29uc3QgbmFtZSBvZiBPYmplY3Qua2V5cyhjb21wb25lbnRzUHJvcCkpIHtcbiAgICAgICAgcmVzdWx0W25hbWVdID0ge31cbiAgICAgICAgY29uc3QgY29tcG9uZW50UHJvcHMgPSBjb21wb25lbnRzUHJvcFtuYW1lXT8uX19kb2NnZW5JbmZvPy5wcm9wcyB8fCB7fVxuICAgICAgICBmb3IgKGNvbnN0IHByb3Agb2YgT2JqZWN0LmtleXMoY29tcG9uZW50UHJvcHMpKSB7XG4gICAgICAgICAgaWYgKGNvbXBvbmVudFByb3BzW3Byb3BdLnRhZ3MgJiYgJ2RlcHJlY2F0ZWQnIGluIGNvbXBvbmVudFByb3BzW3Byb3BdLnRhZ3MpIHtcbiAgICAgICAgICAgIHJlc3VsdFtuYW1lXVtwcm9wXSA9IGNvbXBvbmVudFByb3BzW3Byb3BdLnRhZ3NbJ2RlcHJlY2F0ZWQnXVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBhcHBseUFyZ3NUYWJsZURlc2lnbihjdXJyZW50Q29tcG9uZW50LCByZXN1bHQpXG4gIH0sIFtjb21wb25lbnRzUHJvcCwgY3VycmVudENvbXBvbmVudCwgb2ZQcm9wXSlcblxuICBjb25zdCBoYW5kbGVUYWJCdXR0b25DbGllbnQgPSAoZTogYW55KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChlLnRhcmdldC5jbGFzc05hbWUuaW5jbHVkZXMoJ3RhYmJ1dHRvbicpKSB7XG4gICAgICAgIHNldEN1cnJlbnRDb21wb25lbnQoZS50YXJnZXQuaW5uZXJUZXh0KVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmVycm9yKCdDb3VsZCBub3QgYXBwbHkgQXJnc1RhYmxlIHJ1bnRpbWUgZGVzaWduIHdoaWxlIGNsaWNraW5nIG9uIHRhYmJ1dHRvbicsIGUpXG4gICAgfVxuICB9XG5cbiAgUmVhY3QudXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZVRhYkJ1dHRvbkNsaWVudClcbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVUYWJCdXR0b25DbGllbnQpXG4gIH0sIFtdKVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWxTdG9yeWJvb2tTdHlsZXMgLz5cbiAgICAgIDxkaXZcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxTYkFyZ3NUYWJsZSB7Li4ucHJvcHN9IC8+XG4gICAgICA8L2Rpdj5cbiAgICA8Lz5cbiAgKVxufVxuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIEFyZ3NUYWJsZSAqL1xuZXhwb3J0IGNvbnN0IFByb3BzID0gQXJnc1RhYmxlXG5cbmV4cG9ydCBjb25zdCBTdG9yeSA9IChwcm9wczogYW55KSA9PiB7XG4gIHJldHVybiA8U2JTdG9yeSB7Li4ucHJvcHN9IC8+XG59XG5cbmV4cG9ydCBjb25zdCBEZXNjcmlwdGlvbiA9IChwcm9wczogYW55KSA9PiB7XG4gIGNvbnN0IGRlcFRhZyA9IHByb3BzLm9mID8gZmluZERlcHJlY2F0ZWRUYWcocHJvcHMub2YpIDogbnVsbFxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7ZGVwVGFnICYmIDxkaXYgY2xhc3NOYW1lPVwiYXJncy10YWJsZS1iYWRnZSBhcmdzLXRhYmxlLWJhZGdlLWRlcHJlY2F0ZWRcIj5ERVBSRUNBVEVEPC9kaXY+fVxuICAgICAgPFNiRGVzY3JpcHRpb24gey4uLnByb3BzfSAvPlxuICAgIDwvPlxuICApXG59XG5cbnR5cGUgU3RvcnlMaW5rUHJvcHMgPSB7XG4gIGtpbmQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgbW9kZT86ICdkb2NzJyB8ICdjYW52YXMnXG4gIHRhcmdldD86ICdfc2VsZicgfCAnX2JsYW5rJ1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG5leHBvcnQgY29uc3QgU3RvcnlMaW5rID0gKHsga2luZCwgbmFtZSwgbW9kZSA9ICdkb2NzJywgdGFyZ2V0ID0gJ19zZWxmJywgY2hpbGRyZW4gfTogU3RvcnlMaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgW2xpbmssIHNldExpbmtdID0gUmVhY3QudXNlU3RhdGUoKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlID0gKGw6IGFueSkgPT4ge1xuICAgICAgLy9yZW1vdmUgZXhpc3Rpbmcgdmlld01vZGVcbiAgICAgIGwgPSBsLnJlcGxhY2UoLyZ2aWV3TW9kZT0oZG9jc3xjYW52YXMpLywgJycpXG4gICAgICBsICs9IGAmdmlld01vZGU9JHttb2RlfWBcbiAgICAgIHNldExpbmsobClcbiAgICB9XG4gICAgdm9pZCBocmVmVG8oa2luZCwgbmFtZSkudGhlbigobCkgPT4ge1xuICAgICAgaGFuZGxlKGwpXG4gICAgfSlcbiAgfSwgW2tpbmQsIG1vZGUsIG5hbWVdKVxuXG4gIHJldHVybiBsaW5rID8gKFxuICAgIDxhIGhyZWY9e2xpbmt9IHRhcmdldD17dGFyZ2V0fT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2E+XG4gICkgOiBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBEb3dubG9hZEJ1dHRvbiA9ICh7XG4gIGNoaWxkcmVuLFxuICBocmVmLFxuICBjbGFzc05hbWUsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgaHJlZjogc3RyaW5nXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxhXG4gICAgICBocmVmPXtocmVmfVxuICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgIHJlbD1cIm5vcmVmZXJyZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMi43NXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBERkRTLCBWZXJkYW5hLCBzeXN0ZW0tdWksIEFyaWFsLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiA0cmVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2UsIGNvbG9yIDEyMG1zIGVhc2U7XG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbSAwIDAuNzVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMWVhN2ZkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8c3BhblxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IERGRFMsIFZlcmRhbmEsIHN5c3RlbS11aSwgQXJpYWwsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zMzQ7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxEb3dubG9hZCAvPlxuICAgICAgPC9zcGFuPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvYT5cbiAgKVxufVxuIl19 */")
83
83
  }, rest));
84
84
  };
85
85
  /** @deprecated use Canvas */
@@ -17,15 +17,15 @@ const _excluded = ["children"];
17
17
 
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
 
20
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
20
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
21
 
22
22
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
23
23
 
24
24
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
25
25
 
26
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
26
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
27
 
28
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
28
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29
29
 
30
30
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
31
31
 
@@ -1,6 +1,6 @@
1
1
  import _styled from "@emotion/styled/base";
2
2
 
3
- var ExampleContainer = _styled("div", process.env.NODE_ENV === "production" ? {
3
+ var ExampleContainer = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
4
4
  target: "e111yhd70"
5
5
  } : {
6
6
  target: "e111yhd70",
@@ -1,6 +1,6 @@
1
1
  import _styled from "@emotion/styled/base";
2
2
 
3
- var Paper = _styled("div", process.env.NODE_ENV === "production" ? {
3
+ var Paper = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
4
4
  target: "ebnm1b20"
5
5
  } : {
6
6
  target: "ebnm1b20",
@@ -1,6 +1,6 @@
1
1
  var _excluded = ["width", "height"];
2
2
 
3
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
4
 
5
5
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
6
6
 
@@ -2,7 +2,7 @@ import _styled from "@emotion/styled/base";
2
2
 
3
3
  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
4
 
5
- var StoryPage = _styled("div", process.env.NODE_ENV === "production" ? {
5
+ var StoryPage = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
6
6
  target: "e1rpk2m0"
7
7
  } : {
8
8
  target: "e1rpk2m0",
@@ -14,7 +14,7 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
14
14
 
15
15
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
16
 
17
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
18
18
 
19
19
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
20
20
 
@@ -66,7 +66,7 @@ export var Canvas = function Canvas(_ref9) {
66
66
  rest = _objectWithoutProperties(_ref9, _excluded);
67
67
 
68
68
  return ___EmotionJSX(SbCanvas, _extends({
69
- css: /*#__PURE__*/css("border:20px solid #eee;border-radius:12px;box-shadow:none;&>div:first-of-type{height:", height && height, ";}&>div:nth-of-type(2){border-radius:0;box-shadow:none;}", overflowVisibleInPreview, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:Canvas;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL2NvbXBvbmVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtEYyIsImZpbGUiOiIuLi8uLi9zcmMvaGVscGVycy9jb21wb25lbnRzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIENhbnZhcyBhcyBTYkNhbnZhcyxcbiAgTWV0YSBhcyBTYk1ldGEsXG4gIEFyZ3NUYWJsZSBhcyBTYkFyZ3NUYWJsZSxcbiAgRG9jc0NvbnRhaW5lciBhcyBTYkRvY3NDb250YWluZXIsXG4gIFN0b3J5IGFzIFNiU3RvcnksXG4gIERlc2NyaXB0aW9uIGFzIFNiRGVzY3JpcHRpb24sXG4gIFNvdXJjZSBhcyBTYlNvdXJjZSxcbn0gZnJvbSAnQHN0b3J5Ym9vay9hZGRvbi1kb2NzJ1xuXG5pbXBvcnQgeyBocmVmVG8gfSBmcm9tICdAc3Rvcnlib29rL2FkZG9uLWxpbmtzJ1xuaW1wb3J0IHsgY3NzLCBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IEV4dGVybmFsTGluaywgQXJyb3dCYWNrLCBTdGF0dXNXYXJuaW5nLCBEb3dubG9hZCB9IGZyb20gJ0BkZmRzLXVpL2ljb25zL3N5c3RlbSdcblxuY29uc3Qgb3ZlcmZsb3dWaXNpYmxlSW5QcmV2aWV3ID0gY3NzYFxuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgJiA+IGRpdiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuYFxuXG5leHBvcnQgdHlwZSBQcmV2aWV3UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgZ3JheT86IGJvb2xlYW5cbiAgaGVpZ2h0Pzogc3RyaW5nXG4gIHdpZHRoPzogc3RyaW5nXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBtZHhTb3VyY2U/OiBzdHJpbmdcbiAgc291cmNlUGF0aD86IHN0cmluZ1xufVxuXG5mdW5jdGlvbiBjb21wb25lbnRUYWdzKGNvbXBvbmVudDogYW55KSB7XG4gIGlmIChjb21wb25lbnQgJiYgY29tcG9uZW50Py5fX2RvY2dlbkluZm8/LnRhZ3MpIHtcbiAgICByZXR1cm4gY29tcG9uZW50Ll9fZG9jZ2VuSW5mby50YWdzXG4gIH1cbiAgcmV0dXJuIHt9XG59XG5cbmZ1bmN0aW9uIGZpbmREZXByZWNhdGVkVGFnKGNvbXBvbmVudDogYW55KSB7XG4gIGNvbnN0IHRhZ3MgPSBjb21wb25lbnRUYWdzKGNvbXBvbmVudClcbiAgaWYgKCdkZXByZWNhdGVkJyBpbiB0YWdzKSB7XG4gICAgcmV0dXJuIHRhZ3NbJ2RlcHJlY2F0ZWQnXSB8fCB0cnVlXG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGNvbnN0IENhbnZhcyA9ICh7IGdyYXkgPSBmYWxzZSwgaGVpZ2h0LCB3aWR0aCwgLi4ucmVzdCB9OiBQcmV2aWV3UHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U2JDYW52YXNcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBib3JkZXI6IDIwcHggc29saWQgI2VlZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgLyogUHJldmlldyBkaXYgKi9cbiAgICAgICAgJiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBoZWlnaHQ6ICR7aGVpZ2h0ICYmIGhlaWdodH07XG4gICAgICAgICAgJiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7Z3JheSAmJiAnI2ZjZmNmZCd9O1xuICAgICAgICAgICAgJHt3aWR0aCAmJlxuICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICBtYXgtd2lkdGg6ICR7d2lkdGh9O1xuICAgICAgICAgICAgICAvKiBUT0RPOiBGaWd1cmUgb3V0IHdoeSB0aGlzIHdhcyBuZWVkZWQgKi9cbiAgICAgICAgICAgICAgLyogYm94LXNpemluZzogJHt3aWR0aCAmJiAnY29udGVudC1ib3gnfTsgKi9cbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgJiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgLyogdGhpcyBlbnN1cmVzIHRoYXQgZWxlbWVudHMgaW4gdGhlIHN0b3J5IHdpbGwgYmUgZGlzcGxheSBvbiB0b3Agb2YgdGhlIFwic2hvdyBjb2RlXCIgYnV0dG9uICovXG4gICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8qIFNvdXJjZSBjb2RlIGRpdiAqL1xuICAgICAgICAmID4gZGl2Om50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJHtvdmVyZmxvd1Zpc2libGVJblByZXZpZXd9XG4gICAgICBgfVxuICAgICAgey4uLnJlc3R9XG4gICAgLz5cbiAgKVxufVxuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIENhbnZhcyAqL1xuZXhwb3J0IGNvbnN0IFByZXZpZXcgPSBDYW52YXNcblxuZXhwb3J0IGNvbnN0IFNvdXJjZSA9IChwcm9wczogYW55KSA9PiB7XG4gIHJldHVybiA8U2JTb3VyY2Ugey4uLnByb3BzfSAvPlxufVxuXG5jb25zdCBkb2NCbG9ja092ZXJyaWRlcyA9IGNzc2BcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgLnNiZG9jcy1oMSB7XG4gICAgZm9udC1mYW1pbHk6IERGRFMgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMmI0NSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogNTZweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc2Jkb2NzLWgyIHtcbiAgICBmb250LWZhbWlseTogREZEUyAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAyYjQ1ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zYmRvY3MtaDMge1xuICAgIGZvbnQtZmFtaWx5OiBERkRTICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDJiNDUgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDI0cHggIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNiZG9jcy1oNCB7XG4gICAgZm9udC1mYW1pbHk6IERGRFMgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMmI0NSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZG9jYmxvY2stYXJnc3RhYmxlLWJvZHksXG4gIC5kb2NibG9jay1zb3VyY2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmRvY2Jsb2NrLWFyZ3N0YWJsZSxcbiAgLmRvY2Jsb2NrLXByb3BzdGFibGUge1xuICAgIG1hcmdpbjogMTZweCAwICFpbXBvcnRhbnQ7XG4gICAgdGgge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlZWFmNyAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogI2Y2ZjlmYztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogIzNjM2MzYyAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogNnB4IDEycHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAvKiB0cjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZkICFpbXBvcnRhbnQ7XG4gICAgfSAqL1xuICAgIHRib2R5IHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDE0cHggMTJweCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlZWFmNyAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgLyogYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50OyAqL1xuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWluLXdpZHRoOiAxNjVweDtcbiAgICAgICAgc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIC8qXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBtYXJnaW46IDJweCAwOyAqL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgJiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOTMyOTgxOyAvKiMwMDAwY2M7Ki9cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgIHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIFt0aXRsZT0nUmVxdWlyZWQnXSB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBjb250ZW50OiAncmVxdWlyZWQnO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5gXG5cbmNvbnN0IEdsb2JhbFN0b3J5Ym9va1N0eWxlcyA9ICgpID0+IHtcbiAgY29uc3Qgc3R5bGVzID0gY3NzYFxuICAgIGh0bWwsXG4gICAgYm9keSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZkO1xuICAgIH1cbiAgICAke2RvY0Jsb2NrT3ZlcnJpZGVzfVxuICAgIC50YWJidXR0b24ge1xuICAgICAgJiYge1xuICAgICAgICBmb250LWZhbWlseTogJ051bml0byBTYW5zJywgLWFwcGxlLXN5c3RlbSwgJy5TRk5TVGV4dC1SZWd1bGFyJywgJ1NhbiBGcmFuY2lzY28nLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsXG4gICAgICAgICAgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAubWFya2Rvd24tdGFibGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2IwYWZhZjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgdGhlYWQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIH1cblxuICAgICAgdHI6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgICAgfVxuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2IwYWZhZjtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgY29kZSB7XG4gICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAgICAgICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5hcmdzLXRhYmxlLXByb3AtbmFtZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIC5hcmdzLXRhYmxlLWJhZGdlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICAgICAgcGFkZGluZzogMnB4IDRweDtcbiAgICAgIGNvbG9yOiAjNDQ0NDQ0O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW46IDRweCA2cHggNHB4IDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwMDg7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgfVxuXG4gICAgLmFyZ3MtdGFibGUtYmFkZ2UtcmVxdWlyZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZjdlYjtcbiAgICB9XG5cbiAgICAuYXJncy10YWJsZS1iYWRnZS1kZXByZWNhdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWRjZGM7XG4gICAgfVxuICBgXG4gIHJldHVybiA8R2xvYmFsIHN0eWxlcz17c3R5bGVzfSAvPlxufVxuXG5mdW5jdGlvbiBpc0luTGFiU2VjdGlvbih0aXRsZTogc3RyaW5nKSB7XG4gIHJldHVybiB0aXRsZT8udG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCdsYWInKVxufVxuXG5leHBvcnQgY29uc3QgTGFiV2FybmluZ0Jhbm5lciA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmY5OTJjO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8U3RhdHVzV2FybmluZ1xuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICBjb2xvcjogI2ZmOTkyYztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgIG1pbi13aWR0aDogMzJweDtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxkaXY+XG4gICAgICAgIFRoaXMgY29tcG9uZW50IGJlbG9uZ3MgdG8gdGhlIDxzdHJvbmc+TGFiPC9zdHJvbmc+IHNlY3Rpb24gYW5kIGlzIFwid29yayBpbiBwcm9ncmVzc1wiLiBFeHBlY3QgYnJlYWtpbmcgY2hhbmdlcyBpZlxuICAgICAgICB5b3UgY29uc3VtZSBpdCBpbiB5b3VyIGFwcGxpY2F0aW9uLlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IERlcHJlY2F0ZWRCYW5uZXIgPSAoeyBoZWFkbGluZSwgY2hpbGRyZW4gfTogeyBoZWFkbGluZTogc3RyaW5nOyBjaGlsZHJlbjogUmVhY3ROb2RlIH0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU3MDAwMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgJiBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAuMjVyZW0gMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiBwIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiBhIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAgPHNwYW5cbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgYH1cbiAgICAgID5cbiAgICAgICAg8J+ap1xuICAgICAgPC9zcGFuPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGgxPntoZWFkbGluZX08L2gxPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgTWV0YSA9ICh7IHRpdGxlLCAuLi5yZXN0IH06IGFueSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsU3Rvcnlib29rU3R5bGVzIC8+XG4gICAgICB7aXNJbkxhYlNlY3Rpb24odGl0bGUpICYmIDxMYWJXYXJuaW5nQmFubmVyIC8+fVxuICAgICAgPFNiTWV0YSB0aXRsZT17dGl0bGV9IHsuLi5yZXN0fSAvPlxuICAgIDwvPlxuICApXG59XG5cbmZ1bmN0aW9uIGlzSW5GcmFtZSgpIHtcbiAgcmV0dXJuIHdpbmRvdyAmJiB3aW5kb3cuc2VsZiAhPT0gd2luZG93LnRvcFxufVxuXG5jb25zdCBTaG93RG9jc0Z1bGxTY3JlZW4gPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGFcbiAgICAgIGhyZWY9XCIjXCJcbiAgICAgIHRpdGxlPVwiU2hvdyBEb2NzIGluIGZ1bGwgc2NyZWVuXCJcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBvcGFjaXR5OiAke2lzSW5GcmFtZSgpID8gMSA6IDB9O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAgPEV4dGVybmFsTGluayAvPlxuICAgIDwvYT5cbiAgKVxufVxuXG5mdW5jdGlvbiBwYXJzZVF1ZXJ5KHF1ZXJ5U3RyaW5nOiBzdHJpbmcpIHtcbiAgY29uc3QgcXVlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fVxuICBjb25zdCBwYWlycyA9IChxdWVyeVN0cmluZy5zdGFydHNXaXRoKCc/JykgPyBxdWVyeVN0cmluZy5zdWJzdHIoMSkgOiBxdWVyeVN0cmluZykuc3BsaXQoJyYnKVxuICBmb3IgKGxldCBpID0gMDsgaSA8IHBhaXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgcGFpciA9IHBhaXJzW2ldLnNwbGl0KCc9JylcbiAgICBxdWVyeVtkZWNvZGVVUklDb21wb25lbnQocGFpclswXSldID0gZGVjb2RlVVJJQ29tcG9uZW50KHBhaXJbMV0gfHwgJycpXG4gIH1cbiAgcmV0dXJuIHF1ZXJ5XG59XG5cbmNvbnN0IEJhY2tUb1N0b3J5Ym9vayA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8YVxuICAgICAgaHJlZj17d2luZG93LmxvY2F0aW9uLm9yaWdpbiArICc/cGF0aD0vZG9jcy8nICsgcGFyc2VRdWVyeSh3aW5kb3cubG9jYXRpb24uc2VhcmNoKVsnaWQnXX1cbiAgICAgIHRpdGxlPVwiQmFjayB0byBTdG9yeWJvb2tcIlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6ICR7aXNJbkZyYW1lKCkgPyAnbm9uZScgOiAnZmxleCd9O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAgPEFycm93QmFjayAvPlxuICAgIDwvYT5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgRG9jc0NvbnRhaW5lciA9ICh7IGNoaWxkcmVuLCAuLi5yZXN0IH06IGFueSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxTaG93RG9jc0Z1bGxTY3JlZW4gLz5cbiAgICAgICAgPEJhY2tUb1N0b3J5Ym9vayAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8U2JEb2NzQ29udGFpbmVyIHsuLi5yZXN0fT57Y2hpbGRyZW59PC9TYkRvY3NDb250YWluZXI+XG4gICAgPC8+XG4gIClcbn1cblxudHlwZSBDb21wb25lbnRNYXAgPSBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PlxuXG5jb25zdCBhcHBseUFyZ3NUYWJsZURlc2lnbiA9IChjdXI6IHN0cmluZywgbWFwOiBDb21wb25lbnRNYXApID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBkb2NUYWJsZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZG9jYmxvY2stYXJnc3RhYmxlLWJvZHknKVxuICAgIGRvY1RhYmxlcy5mb3JFYWNoKCh0YWJsZSkgPT4ge1xuICAgICAgY29uc3QgcHJvcE5hbWVUZHMgPSB0YWJsZS5xdWVyeVNlbGVjdG9yQWxsKCd0ZDpmaXJzdC1vZi10eXBlJylcbiAgICAgIHByb3BOYW1lVGRzLmZvckVhY2goKHRkKSA9PiB7XG4gICAgICAgIC8vIEhhbmRsZSBwcm9wIG5hbWVcbiAgICAgICAgY29uc3QgbmFtZVNwYW4gPSB0ZC5xdWVyeVNlbGVjdG9yQWxsKCdzcGFuJylbMF1cblxuICAgICAgICBpZiAoIW5hbWVTcGFuKSByZXR1cm4gLy8gYmFpbCAoY2FuIGhhcHBlbiB3aGVuIGRlc2lnbiBhbHJlYWR5IGFwcGxpZWQgKEhNUikpXG4gICAgICAgIGNvbnN0IHByb3BOYW1lID0gbmFtZVNwYW4uaW5uZXJUZXh0XG4gICAgICAgIG5hbWVTcGFuLnJlbW92ZSgpXG4gICAgICAgIHRkLmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJywgJzxkaXYgY2xhc3M9XCJhcmdzLXRhYmxlLXByb3AtbmFtZVwiPicgKyBwcm9wTmFtZSArICc8L2Rpdj4nKVxuXG4gICAgICAgIC8vIEhhbmRsZSAgcmVxdWlyZWQgc3BhblxuICAgICAgICBjb25zdCByZXF1aXJlZFNwYW4gPSB0ZC5xdWVyeVNlbGVjdG9yKCdbdGl0bGU9XCJSZXF1aXJlZFwiXScpXG4gICAgICAgIGNvbnN0IGlzUmVxdWlyZWQgPSAhIXJlcXVpcmVkU3BhblxuICAgICAgICByZXF1aXJlZFNwYW4gJiYgcmVxdWlyZWRTcGFuLnJlbW92ZSgpXG4gICAgICAgIGlzUmVxdWlyZWQgJiZcbiAgICAgICAgICB0ZC5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZWVuZCcsICc8ZGl2IGNsYXNzPVwiYXJncy10YWJsZS1iYWRnZSBhcmdzLXRhYmxlLWJhZGdlLXJlcXVpcmVkXCI+cmVxdWlyZWQ8L2Rpdj4nKVxuXG4gICAgICAgIC8vIEhhbmRsZSBkZXByZWNhdGVkXG4gICAgICAgIGlmIChjdXIgaW4gbWFwKSB7XG4gICAgICAgICAgY29uc3QgZGVwID0gbWFwW2N1cl1cbiAgICAgICAgICBpZiAocHJvcE5hbWUgaW4gZGVwKSB7XG4gICAgICAgICAgICB0ZC5pbnNlcnRBZGphY2VudEhUTUwoXG4gICAgICAgICAgICAgICdiZWZvcmVlbmQnLFxuICAgICAgICAgICAgICAnPGRpdiB0aXRsZT1cIicgKyBkZXBbcHJvcE5hbWVdICsgJ1wiIGNsYXNzPVwiYXJncy10YWJsZS1iYWRnZSBhcmdzLXRhYmxlLWJhZGdlLWRlcHJlY2F0ZWRcIj5kZXByZWNhdGVkPC9kaXY+J1xuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICBjb25zb2xlLmVycm9yKCdDb3VsZCBub3QgYXBwbHkgQXJnc1RhYmxlIHJ1bnRpbWUgZGVzaWduJywgZSlcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQXJnc1RhYmxlID0gKHByb3BzOiBhbnkpID0+IHtcbiAgY29uc3Qgb2ZQcm9wID0gcHJvcHM/Lm9mPy5fX2RvY2dlbkluZm9cbiAgY29uc3QgY29tcG9uZW50c1Byb3AgPSBwcm9wcz8uY29tcG9uZW50c1xuXG4gIGNvbnN0IGluaXRpYWxDb21wb25lbnQgPSBvZlByb3AgPyBvZlByb3AuZGlzcGxheU5hbWUgOiBjb21wb25lbnRzUHJvcCA/IE9iamVjdC5rZXlzKGNvbXBvbmVudHNQcm9wKVswXSA6ICcnXG4gIGNvbnN0IFtjdXJyZW50Q29tcG9uZW50LCBzZXRDdXJyZW50Q29tcG9uZW50XSA9IFJlYWN0LnVzZVN0YXRlPHN0cmluZz4oaW5pdGlhbENvbXBvbmVudClcblxuICBSZWFjdC51c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4gPSB7fVxuXG4gICAgaWYgKG9mUHJvcCkge1xuICAgICAgY29uc3QgYyA9IG9mUHJvcC5kaXNwbGF5TmFtZVxuICAgICAgY29uc3QgY29tcG9uZW50UHJvcHMgPSBvZlByb3AucHJvcHMgfHwge31cbiAgICAgIHJlc3VsdFtjXSA9IHt9XG4gICAgICBmb3IgKGNvbnN0IHByb3Agb2YgT2JqZWN0LmtleXMoY29tcG9uZW50UHJvcHMpKSB7XG4gICAgICAgIGlmIChjb21wb25lbnRQcm9wc1twcm9wXS50YWdzICYmICdkZXByZWNhdGVkJyBpbiBjb21wb25lbnRQcm9wc1twcm9wXS50YWdzKSB7XG4gICAgICAgICAgcmVzdWx0W2NdW3Byb3BdID0gY29tcG9uZW50UHJvcHNbcHJvcF0udGFnc1snZGVwcmVjYXRlZCddXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY29tcG9uZW50c1Byb3ApIHtcbiAgICAgIGZvciAoY29uc3QgbmFtZSBvZiBPYmplY3Qua2V5cyhjb21wb25lbnRzUHJvcCkpIHtcbiAgICAgICAgcmVzdWx0W25hbWVdID0ge31cbiAgICAgICAgY29uc3QgY29tcG9uZW50UHJvcHMgPSBjb21wb25lbnRzUHJvcFtuYW1lXT8uX19kb2NnZW5JbmZvPy5wcm9wcyB8fCB7fVxuICAgICAgICBmb3IgKGNvbnN0IHByb3Agb2YgT2JqZWN0LmtleXMoY29tcG9uZW50UHJvcHMpKSB7XG4gICAgICAgICAgaWYgKGNvbXBvbmVudFByb3BzW3Byb3BdLnRhZ3MgJiYgJ2RlcHJlY2F0ZWQnIGluIGNvbXBvbmVudFByb3BzW3Byb3BdLnRhZ3MpIHtcbiAgICAgICAgICAgIHJlc3VsdFtuYW1lXVtwcm9wXSA9IGNvbXBvbmVudFByb3BzW3Byb3BdLnRhZ3NbJ2RlcHJlY2F0ZWQnXVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBhcHBseUFyZ3NUYWJsZURlc2lnbihjdXJyZW50Q29tcG9uZW50LCByZXN1bHQpXG4gIH0sIFtjb21wb25lbnRzUHJvcCwgY3VycmVudENvbXBvbmVudCwgb2ZQcm9wXSlcblxuICBjb25zdCBoYW5kbGVUYWJCdXR0b25DbGllbnQgPSAoZTogYW55KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChlLnRhcmdldC5jbGFzc05hbWUuaW5jbHVkZXMoJ3RhYmJ1dHRvbicpKSB7XG4gICAgICAgIHNldEN1cnJlbnRDb21wb25lbnQoZS50YXJnZXQuaW5uZXJUZXh0KVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmVycm9yKCdDb3VsZCBub3QgYXBwbHkgQXJnc1RhYmxlIHJ1bnRpbWUgZGVzaWduIHdoaWxlIGNsaWNraW5nIG9uIHRhYmJ1dHRvbicsIGUpXG4gICAgfVxuICB9XG5cbiAgUmVhY3QudXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZVRhYkJ1dHRvbkNsaWVudClcbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVUYWJCdXR0b25DbGllbnQpXG4gIH0sIFtdKVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWxTdG9yeWJvb2tTdHlsZXMgLz5cbiAgICAgIDxkaXZcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxTYkFyZ3NUYWJsZSB7Li4ucHJvcHN9IC8+XG4gICAgICA8L2Rpdj5cbiAgICA8Lz5cbiAgKVxufVxuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIEFyZ3NUYWJsZSAqL1xuZXhwb3J0IGNvbnN0IFByb3BzID0gQXJnc1RhYmxlXG5cbmV4cG9ydCBjb25zdCBTdG9yeSA9IChwcm9wczogYW55KSA9PiB7XG4gIHJldHVybiA8U2JTdG9yeSB7Li4ucHJvcHN9IC8+XG59XG5cbmV4cG9ydCBjb25zdCBEZXNjcmlwdGlvbiA9IChwcm9wczogYW55KSA9PiB7XG4gIGNvbnN0IGRlcFRhZyA9IHByb3BzLm9mID8gZmluZERlcHJlY2F0ZWRUYWcocHJvcHMub2YpIDogbnVsbFxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7ZGVwVGFnICYmIDxkaXYgY2xhc3NOYW1lPVwiYXJncy10YWJsZS1iYWRnZSBhcmdzLXRhYmxlLWJhZGdlLWRlcHJlY2F0ZWRcIj5ERVBSRUNBVEVEPC9kaXY+fVxuICAgICAgPFNiRGVzY3JpcHRpb24gey4uLnByb3BzfSAvPlxuICAgIDwvPlxuICApXG59XG5cbnR5cGUgU3RvcnlMaW5rUHJvcHMgPSB7XG4gIGtpbmQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgbW9kZT86ICdkb2NzJyB8ICdjYW52YXMnXG4gIHRhcmdldD86ICdfc2VsZicgfCAnX2JsYW5rJ1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG5leHBvcnQgY29uc3QgU3RvcnlMaW5rID0gKHsga2luZCwgbmFtZSwgbW9kZSA9ICdkb2NzJywgdGFyZ2V0ID0gJ19zZWxmJywgY2hpbGRyZW4gfTogU3RvcnlMaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgW2xpbmssIHNldExpbmtdID0gUmVhY3QudXNlU3RhdGUoKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlID0gKGw6IGFueSkgPT4ge1xuICAgICAgLy9yZW1vdmUgZXhpc3Rpbmcgdmlld01vZGVcbiAgICAgIGwgPSBsLnJlcGxhY2UoLyZ2aWV3TW9kZT0oZG9jc3xjYW52YXMpLywgJycpXG4gICAgICBsICs9IGAmdmlld01vZGU9JHttb2RlfWBcbiAgICAgIHNldExpbmsobClcbiAgICB9XG4gICAgdm9pZCBocmVmVG8oa2luZCwgbmFtZSkudGhlbigobCkgPT4ge1xuICAgICAgaGFuZGxlKGwpXG4gICAgfSlcbiAgfSwgW2tpbmQsIG1vZGUsIG5hbWVdKVxuXG4gIHJldHVybiBsaW5rID8gKFxuICAgIDxhIGhyZWY9e2xpbmt9IHRhcmdldD17dGFyZ2V0fT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2E+XG4gICkgOiBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBEb3dubG9hZEJ1dHRvbiA9ICh7XG4gIGNoaWxkcmVuLFxuICBocmVmLFxuICBjbGFzc05hbWUsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgaHJlZjogc3RyaW5nXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxhXG4gICAgICBocmVmPXtocmVmfVxuICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgIHJlbD1cIm5vcmVmZXJyZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMi43NXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBERkRTLCBWZXJkYW5hLCBzeXN0ZW0tdWksIEFyaWFsLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiA0cmVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2UsIGNvbG9yIDEyMG1zIGVhc2U7XG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbSAwIDAuNzVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMWVhN2ZkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8c3BhblxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IERGRFMsIFZlcmRhbmEsIHN5c3RlbS11aSwgQXJpYWwsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zMzQ7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxEb3dubG9hZCAvPlxuICAgICAgPC9zcGFuPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvYT5cbiAgKVxufVxuIl19 */")
69
+ css: /*#__PURE__*/css("border:20px solid #eee;border-radius:12px;box-shadow:none;&>div:first-of-type{height:", height && height, ";&>div:first-of-type{height:100%;background-color:", gray && '#fcfcfd', ";", width && /*#__PURE__*/css("max-width:", width, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:Canvas;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL2NvbXBvbmVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZEZSIsImZpbGUiOiIuLi8uLi9zcmMvaGVscGVycy9jb21wb25lbnRzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIENhbnZhcyBhcyBTYkNhbnZhcyxcbiAgTWV0YSBhcyBTYk1ldGEsXG4gIEFyZ3NUYWJsZSBhcyBTYkFyZ3NUYWJsZSxcbiAgRG9jc0NvbnRhaW5lciBhcyBTYkRvY3NDb250YWluZXIsXG4gIFN0b3J5IGFzIFNiU3RvcnksXG4gIERlc2NyaXB0aW9uIGFzIFNiRGVzY3JpcHRpb24sXG4gIFNvdXJjZSBhcyBTYlNvdXJjZSxcbn0gZnJvbSAnQHN0b3J5Ym9vay9hZGRvbi1kb2NzJ1xuXG5pbXBvcnQgeyBocmVmVG8gfSBmcm9tICdAc3Rvcnlib29rL2FkZG9uLWxpbmtzJ1xuaW1wb3J0IHsgY3NzLCBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IEV4dGVybmFsTGluaywgQXJyb3dCYWNrLCBTdGF0dXNXYXJuaW5nLCBEb3dubG9hZCB9IGZyb20gJ0BkZmRzLXVpL2ljb25zL3N5c3RlbSdcblxuY29uc3Qgb3ZlcmZsb3dWaXNpYmxlSW5QcmV2aWV3ID0gY3NzYFxuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgJiA+IGRpdiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuYFxuXG5leHBvcnQgdHlwZSBQcmV2aWV3UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgZ3JheT86IGJvb2xlYW5cbiAgaGVpZ2h0Pzogc3RyaW5nXG4gIHdpZHRoPzogc3RyaW5nXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBtZHhTb3VyY2U/OiBzdHJpbmdcbiAgc291cmNlUGF0aD86IHN0cmluZ1xufVxuXG5mdW5jdGlvbiBjb21wb25lbnRUYWdzKGNvbXBvbmVudDogYW55KSB7XG4gIGlmIChjb21wb25lbnQgJiYgY29tcG9uZW50Py5fX2RvY2dlbkluZm8/LnRhZ3MpIHtcbiAgICByZXR1cm4gY29tcG9uZW50Ll9fZG9jZ2VuSW5mby50YWdzXG4gIH1cbiAgcmV0dXJuIHt9XG59XG5cbmZ1bmN0aW9uIGZpbmREZXByZWNhdGVkVGFnKGNvbXBvbmVudDogYW55KSB7XG4gIGNvbnN0IHRhZ3MgPSBjb21wb25lbnRUYWdzKGNvbXBvbmVudClcbiAgaWYgKCdkZXByZWNhdGVkJyBpbiB0YWdzKSB7XG4gICAgcmV0dXJuIHRhZ3NbJ2RlcHJlY2F0ZWQnXSB8fCB0cnVlXG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGNvbnN0IENhbnZhcyA9ICh7IGdyYXkgPSBmYWxzZSwgaGVpZ2h0LCB3aWR0aCwgLi4ucmVzdCB9OiBQcmV2aWV3UHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U2JDYW52YXNcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBib3JkZXI6IDIwcHggc29saWQgI2VlZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgLyogUHJldmlldyBkaXYgKi9cbiAgICAgICAgJiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBoZWlnaHQ6ICR7aGVpZ2h0ICYmIGhlaWdodH07XG4gICAgICAgICAgJiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7Z3JheSAmJiAnI2ZjZmNmZCd9O1xuICAgICAgICAgICAgJHt3aWR0aCAmJlxuICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICBtYXgtd2lkdGg6ICR7d2lkdGh9O1xuICAgICAgICAgICAgICAvKiBUT0RPOiBGaWd1cmUgb3V0IHdoeSB0aGlzIHdhcyBuZWVkZWQgKi9cbiAgICAgICAgICAgICAgLyogYm94LXNpemluZzogJHt3aWR0aCAmJiAnY29udGVudC1ib3gnfTsgKi9cbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgJiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgLyogdGhpcyBlbnN1cmVzIHRoYXQgZWxlbWVudHMgaW4gdGhlIHN0b3J5IHdpbGwgYmUgZGlzcGxheSBvbiB0b3Agb2YgdGhlIFwic2hvdyBjb2RlXCIgYnV0dG9uICovXG4gICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8qIFNvdXJjZSBjb2RlIGRpdiAqL1xuICAgICAgICAmID4gZGl2Om50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJHtvdmVyZmxvd1Zpc2libGVJblByZXZpZXd9XG4gICAgICBgfVxuICAgICAgey4uLnJlc3R9XG4gICAgLz5cbiAgKVxufVxuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIENhbnZhcyAqL1xuZXhwb3J0IGNvbnN0IFByZXZpZXcgPSBDYW52YXNcblxuZXhwb3J0IGNvbnN0IFNvdXJjZSA9IChwcm9wczogYW55KSA9PiB7XG4gIHJldHVybiA8U2JTb3VyY2Ugey4uLnByb3BzfSAvPlxufVxuXG5jb25zdCBkb2NCbG9ja092ZXJyaWRlcyA9IGNzc2BcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgLnNiZG9jcy1oMSB7XG4gICAgZm9udC1mYW1pbHk6IERGRFMgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMmI0NSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogNTZweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc2Jkb2NzLWgyIHtcbiAgICBmb250LWZhbWlseTogREZEUyAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAyYjQ1ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zYmRvY3MtaDMge1xuICAgIGZvbnQtZmFtaWx5OiBERkRTICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDJiNDUgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDI0cHggIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNiZG9jcy1oNCB7XG4gICAgZm9udC1mYW1pbHk6IERGRFMgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMmI0NSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZG9jYmxvY2stYXJnc3RhYmxlLWJvZHksXG4gIC5kb2NibG9jay1zb3VyY2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmRvY2Jsb2NrLWFyZ3N0YWJsZSxcbiAgLmRvY2Jsb2NrLXByb3BzdGFibGUge1xuICAgIG1hcmdpbjogMTZweCAwICFpbXBvcnRhbnQ7XG4gICAgdGgge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlZWFmNyAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogI2Y2ZjlmYztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogIzNjM2MzYyAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogNnB4IDEycHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAvKiB0cjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZkICFpbXBvcnRhbnQ7XG4gICAgfSAqL1xuICAgIHRib2R5IHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDE0cHggMTJweCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlZWFmNyAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgLyogYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50OyAqL1xuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWluLXdpZHRoOiAxNjVweDtcbiAgICAgICAgc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIC8qXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBtYXJnaW46IDJweCAwOyAqL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgJiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOTMyOTgxOyAvKiMwMDAwY2M7Ki9cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgIHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIFt0aXRsZT0nUmVxdWlyZWQnXSB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBjb250ZW50OiAncmVxdWlyZWQnO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5gXG5cbmNvbnN0IEdsb2JhbFN0b3J5Ym9va1N0eWxlcyA9ICgpID0+IHtcbiAgY29uc3Qgc3R5bGVzID0gY3NzYFxuICAgIGh0bWwsXG4gICAgYm9keSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZkO1xuICAgIH1cbiAgICAke2RvY0Jsb2NrT3ZlcnJpZGVzfVxuICAgIC50YWJidXR0b24ge1xuICAgICAgJiYge1xuICAgICAgICBmb250LWZhbWlseTogJ051bml0byBTYW5zJywgLWFwcGxlLXN5c3RlbSwgJy5TRk5TVGV4dC1SZWd1bGFyJywgJ1NhbiBGcmFuY2lzY28nLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsXG4gICAgICAgICAgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAubWFya2Rvd24tdGFibGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2IwYWZhZjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgdGhlYWQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIH1cblxuICAgICAgdHI6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgICAgfVxuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2IwYWZhZjtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgY29kZSB7XG4gICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAgICAgICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5hcmdzLXRhYmxlLXByb3AtbmFtZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIC5hcmdzLXRhYmxlLWJhZGdlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICAgICAgcGFkZGluZzogMnB4IDRweDtcbiAgICAgIGNvbG9yOiAjNDQ0NDQ0O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW46IDRweCA2cHggNHB4IDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwMDg7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgfVxuXG4gICAgLmFyZ3MtdGFibGUtYmFkZ2UtcmVxdWlyZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZjdlYjtcbiAgICB9XG5cbiAgICAuYXJncy10YWJsZS1iYWRnZS1kZXByZWNhdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWRjZGM7XG4gICAgfVxuICBgXG4gIHJldHVybiA8R2xvYmFsIHN0eWxlcz17c3R5bGVzfSAvPlxufVxuXG5mdW5jdGlvbiBpc0luTGFiU2VjdGlvbih0aXRsZTogc3RyaW5nKSB7XG4gIHJldHVybiB0aXRsZT8udG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCdsYWInKVxufVxuXG5leHBvcnQgY29uc3QgTGFiV2FybmluZ0Jhbm5lciA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmY5OTJjO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8U3RhdHVzV2FybmluZ1xuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICBjb2xvcjogI2ZmOTkyYztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgIG1pbi13aWR0aDogMzJweDtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxkaXY+XG4gICAgICAgIFRoaXMgY29tcG9uZW50IGJlbG9uZ3MgdG8gdGhlIDxzdHJvbmc+TGFiPC9zdHJvbmc+IHNlY3Rpb24gYW5kIGlzIFwid29yayBpbiBwcm9ncmVzc1wiLiBFeHBlY3QgYnJlYWtpbmcgY2hhbmdlcyBpZlxuICAgICAgICB5b3UgY29uc3VtZSBpdCBpbiB5b3VyIGFwcGxpY2F0aW9uLlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IERlcHJlY2F0ZWRCYW5uZXIgPSAoeyBoZWFkbGluZSwgY2hpbGRyZW4gfTogeyBoZWFkbGluZTogc3RyaW5nOyBjaGlsZHJlbjogUmVhY3ROb2RlIH0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU3MDAwMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgJiBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAuMjVyZW0gMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiBwIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiBhIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAgPHNwYW5cbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgYH1cbiAgICAgID5cbiAgICAgICAg8J+ap1xuICAgICAgPC9zcGFuPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGgxPntoZWFkbGluZX08L2gxPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgTWV0YSA9ICh7IHRpdGxlLCAuLi5yZXN0IH06IGFueSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsU3Rvcnlib29rU3R5bGVzIC8+XG4gICAgICB7aXNJbkxhYlNlY3Rpb24odGl0bGUpICYmIDxMYWJXYXJuaW5nQmFubmVyIC8+fVxuICAgICAgPFNiTWV0YSB0aXRsZT17dGl0bGV9IHsuLi5yZXN0fSAvPlxuICAgIDwvPlxuICApXG59XG5cbmZ1bmN0aW9uIGlzSW5GcmFtZSgpIHtcbiAgcmV0dXJuIHdpbmRvdyAmJiB3aW5kb3cuc2VsZiAhPT0gd2luZG93LnRvcFxufVxuXG5jb25zdCBTaG93RG9jc0Z1bGxTY3JlZW4gPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGFcbiAgICAgIGhyZWY9XCIjXCJcbiAgICAgIHRpdGxlPVwiU2hvdyBEb2NzIGluIGZ1bGwgc2NyZWVuXCJcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBvcGFjaXR5OiAke2lzSW5GcmFtZSgpID8gMSA6IDB9O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAgPEV4dGVybmFsTGluayAvPlxuICAgIDwvYT5cbiAgKVxufVxuXG5mdW5jdGlvbiBwYXJzZVF1ZXJ5KHF1ZXJ5U3RyaW5nOiBzdHJpbmcpIHtcbiAgY29uc3QgcXVlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fVxuICBjb25zdCBwYWlycyA9IChxdWVyeVN0cmluZy5zdGFydHNXaXRoKCc/JykgPyBxdWVyeVN0cmluZy5zdWJzdHIoMSkgOiBxdWVyeVN0cmluZykuc3BsaXQoJyYnKVxuICBmb3IgKGxldCBpID0gMDsgaSA8IHBhaXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgcGFpciA9IHBhaXJzW2ldLnNwbGl0KCc9JylcbiAgICBxdWVyeVtkZWNvZGVVUklDb21wb25lbnQocGFpclswXSldID0gZGVjb2RlVVJJQ29tcG9uZW50KHBhaXJbMV0gfHwgJycpXG4gIH1cbiAgcmV0dXJuIHF1ZXJ5XG59XG5cbmNvbnN0IEJhY2tUb1N0b3J5Ym9vayA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8YVxuICAgICAgaHJlZj17d2luZG93LmxvY2F0aW9uLm9yaWdpbiArICc/cGF0aD0vZG9jcy8nICsgcGFyc2VRdWVyeSh3aW5kb3cubG9jYXRpb24uc2VhcmNoKVsnaWQnXX1cbiAgICAgIHRpdGxlPVwiQmFjayB0byBTdG9yeWJvb2tcIlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6ICR7aXNJbkZyYW1lKCkgPyAnbm9uZScgOiAnZmxleCd9O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAgPEFycm93QmFjayAvPlxuICAgIDwvYT5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgRG9jc0NvbnRhaW5lciA9ICh7IGNoaWxkcmVuLCAuLi5yZXN0IH06IGFueSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxTaG93RG9jc0Z1bGxTY3JlZW4gLz5cbiAgICAgICAgPEJhY2tUb1N0b3J5Ym9vayAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8U2JEb2NzQ29udGFpbmVyIHsuLi5yZXN0fT57Y2hpbGRyZW59PC9TYkRvY3NDb250YWluZXI+XG4gICAgPC8+XG4gIClcbn1cblxudHlwZSBDb21wb25lbnRNYXAgPSBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PlxuXG5jb25zdCBhcHBseUFyZ3NUYWJsZURlc2lnbiA9IChjdXI6IHN0cmluZywgbWFwOiBDb21wb25lbnRNYXApID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBkb2NUYWJsZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZG9jYmxvY2stYXJnc3RhYmxlLWJvZHknKVxuICAgIGRvY1RhYmxlcy5mb3JFYWNoKCh0YWJsZSkgPT4ge1xuICAgICAgY29uc3QgcHJvcE5hbWVUZHMgPSB0YWJsZS5xdWVyeVNlbGVjdG9yQWxsKCd0ZDpmaXJzdC1vZi10eXBlJylcbiAgICAgIHByb3BOYW1lVGRzLmZvckVhY2goKHRkKSA9PiB7XG4gICAgICAgIC8vIEhhbmRsZSBwcm9wIG5hbWVcbiAgICAgICAgY29uc3QgbmFtZVNwYW4gPSB0ZC5xdWVyeVNlbGVjdG9yQWxsKCdzcGFuJylbMF1cblxuICAgICAgICBpZiAoIW5hbWVTcGFuKSByZXR1cm4gLy8gYmFpbCAoY2FuIGhhcHBlbiB3aGVuIGRlc2lnbiBhbHJlYWR5IGFwcGxpZWQgKEhNUikpXG4gICAgICAgIGNvbnN0IHByb3BOYW1lID0gbmFtZVNwYW4uaW5uZXJUZXh0XG4gICAgICAgIG5hbWVTcGFuLnJlbW92ZSgpXG4gICAgICAgIHRkLmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJywgJzxkaXYgY2xhc3M9XCJhcmdzLXRhYmxlLXByb3AtbmFtZVwiPicgKyBwcm9wTmFtZSArICc8L2Rpdj4nKVxuXG4gICAgICAgIC8vIEhhbmRsZSAgcmVxdWlyZWQgc3BhblxuICAgICAgICBjb25zdCByZXF1aXJlZFNwYW4gPSB0ZC5xdWVyeVNlbGVjdG9yKCdbdGl0bGU9XCJSZXF1aXJlZFwiXScpXG4gICAgICAgIGNvbnN0IGlzUmVxdWlyZWQgPSAhIXJlcXVpcmVkU3BhblxuICAgICAgICByZXF1aXJlZFNwYW4gJiYgcmVxdWlyZWRTcGFuLnJlbW92ZSgpXG4gICAgICAgIGlzUmVxdWlyZWQgJiZcbiAgICAgICAgICB0ZC5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZWVuZCcsICc8ZGl2IGNsYXNzPVwiYXJncy10YWJsZS1iYWRnZSBhcmdzLXRhYmxlLWJhZGdlLXJlcXVpcmVkXCI+cmVxdWlyZWQ8L2Rpdj4nKVxuXG4gICAgICAgIC8vIEhhbmRsZSBkZXByZWNhdGVkXG4gICAgICAgIGlmIChjdXIgaW4gbWFwKSB7XG4gICAgICAgICAgY29uc3QgZGVwID0gbWFwW2N1cl1cbiAgICAgICAgICBpZiAocHJvcE5hbWUgaW4gZGVwKSB7XG4gICAgICAgICAgICB0ZC5pbnNlcnRBZGphY2VudEhUTUwoXG4gICAgICAgICAgICAgICdiZWZvcmVlbmQnLFxuICAgICAgICAgICAgICAnPGRpdiB0aXRsZT1cIicgKyBkZXBbcHJvcE5hbWVdICsgJ1wiIGNsYXNzPVwiYXJncy10YWJsZS1iYWRnZSBhcmdzLXRhYmxlLWJhZGdlLWRlcHJlY2F0ZWRcIj5kZXByZWNhdGVkPC9kaXY+J1xuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICBjb25zb2xlLmVycm9yKCdDb3VsZCBub3QgYXBwbHkgQXJnc1RhYmxlIHJ1bnRpbWUgZGVzaWduJywgZSlcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQXJnc1RhYmxlID0gKHByb3BzOiBhbnkpID0+IHtcbiAgY29uc3Qgb2ZQcm9wID0gcHJvcHM/Lm9mPy5fX2RvY2dlbkluZm9cbiAgY29uc3QgY29tcG9uZW50c1Byb3AgPSBwcm9wcz8uY29tcG9uZW50c1xuXG4gIGNvbnN0IGluaXRpYWxDb21wb25lbnQgPSBvZlByb3AgPyBvZlByb3AuZGlzcGxheU5hbWUgOiBjb21wb25lbnRzUHJvcCA/IE9iamVjdC5rZXlzKGNvbXBvbmVudHNQcm9wKVswXSA6ICcnXG4gIGNvbnN0IFtjdXJyZW50Q29tcG9uZW50LCBzZXRDdXJyZW50Q29tcG9uZW50XSA9IFJlYWN0LnVzZVN0YXRlPHN0cmluZz4oaW5pdGlhbENvbXBvbmVudClcblxuICBSZWFjdC51c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4gPSB7fVxuXG4gICAgaWYgKG9mUHJvcCkge1xuICAgICAgY29uc3QgYyA9IG9mUHJvcC5kaXNwbGF5TmFtZVxuICAgICAgY29uc3QgY29tcG9uZW50UHJvcHMgPSBvZlByb3AucHJvcHMgfHwge31cbiAgICAgIHJlc3VsdFtjXSA9IHt9XG4gICAgICBmb3IgKGNvbnN0IHByb3Agb2YgT2JqZWN0LmtleXMoY29tcG9uZW50UHJvcHMpKSB7XG4gICAgICAgIGlmIChjb21wb25lbnRQcm9wc1twcm9wXS50YWdzICYmICdkZXByZWNhdGVkJyBpbiBjb21wb25lbnRQcm9wc1twcm9wXS50YWdzKSB7XG4gICAgICAgICAgcmVzdWx0W2NdW3Byb3BdID0gY29tcG9uZW50UHJvcHNbcHJvcF0udGFnc1snZGVwcmVjYXRlZCddXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY29tcG9uZW50c1Byb3ApIHtcbiAgICAgIGZvciAoY29uc3QgbmFtZSBvZiBPYmplY3Qua2V5cyhjb21wb25lbnRzUHJvcCkpIHtcbiAgICAgICAgcmVzdWx0W25hbWVdID0ge31cbiAgICAgICAgY29uc3QgY29tcG9uZW50UHJvcHMgPSBjb21wb25lbnRzUHJvcFtuYW1lXT8uX19kb2NnZW5JbmZvPy5wcm9wcyB8fCB7fVxuICAgICAgICBmb3IgKGNvbnN0IHByb3Agb2YgT2JqZWN0LmtleXMoY29tcG9uZW50UHJvcHMpKSB7XG4gICAgICAgICAgaWYgKGNvbXBvbmVudFByb3BzW3Byb3BdLnRhZ3MgJiYgJ2RlcHJlY2F0ZWQnIGluIGNvbXBvbmVudFByb3BzW3Byb3BdLnRhZ3MpIHtcbiAgICAgICAgICAgIHJlc3VsdFtuYW1lXVtwcm9wXSA9IGNvbXBvbmVudFByb3BzW3Byb3BdLnRhZ3NbJ2RlcHJlY2F0ZWQnXVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBhcHBseUFyZ3NUYWJsZURlc2lnbihjdXJyZW50Q29tcG9uZW50LCByZXN1bHQpXG4gIH0sIFtjb21wb25lbnRzUHJvcCwgY3VycmVudENvbXBvbmVudCwgb2ZQcm9wXSlcblxuICBjb25zdCBoYW5kbGVUYWJCdXR0b25DbGllbnQgPSAoZTogYW55KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChlLnRhcmdldC5jbGFzc05hbWUuaW5jbHVkZXMoJ3RhYmJ1dHRvbicpKSB7XG4gICAgICAgIHNldEN1cnJlbnRDb21wb25lbnQoZS50YXJnZXQuaW5uZXJUZXh0KVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmVycm9yKCdDb3VsZCBub3QgYXBwbHkgQXJnc1RhYmxlIHJ1bnRpbWUgZGVzaWduIHdoaWxlIGNsaWNraW5nIG9uIHRhYmJ1dHRvbicsIGUpXG4gICAgfVxuICB9XG5cbiAgUmVhY3QudXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZVRhYkJ1dHRvbkNsaWVudClcbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVUYWJCdXR0b25DbGllbnQpXG4gIH0sIFtdKVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWxTdG9yeWJvb2tTdHlsZXMgLz5cbiAgICAgIDxkaXZcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxTYkFyZ3NUYWJsZSB7Li4ucHJvcHN9IC8+XG4gICAgICA8L2Rpdj5cbiAgICA8Lz5cbiAgKVxufVxuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIEFyZ3NUYWJsZSAqL1xuZXhwb3J0IGNvbnN0IFByb3BzID0gQXJnc1RhYmxlXG5cbmV4cG9ydCBjb25zdCBTdG9yeSA9IChwcm9wczogYW55KSA9PiB7XG4gIHJldHVybiA8U2JTdG9yeSB7Li4ucHJvcHN9IC8+XG59XG5cbmV4cG9ydCBjb25zdCBEZXNjcmlwdGlvbiA9IChwcm9wczogYW55KSA9PiB7XG4gIGNvbnN0IGRlcFRhZyA9IHByb3BzLm9mID8gZmluZERlcHJlY2F0ZWRUYWcocHJvcHMub2YpIDogbnVsbFxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7ZGVwVGFnICYmIDxkaXYgY2xhc3NOYW1lPVwiYXJncy10YWJsZS1iYWRnZSBhcmdzLXRhYmxlLWJhZGdlLWRlcHJlY2F0ZWRcIj5ERVBSRUNBVEVEPC9kaXY+fVxuICAgICAgPFNiRGVzY3JpcHRpb24gey4uLnByb3BzfSAvPlxuICAgIDwvPlxuICApXG59XG5cbnR5cGUgU3RvcnlMaW5rUHJvcHMgPSB7XG4gIGtpbmQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgbW9kZT86ICdkb2NzJyB8ICdjYW52YXMnXG4gIHRhcmdldD86ICdfc2VsZicgfCAnX2JsYW5rJ1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG5leHBvcnQgY29uc3QgU3RvcnlMaW5rID0gKHsga2luZCwgbmFtZSwgbW9kZSA9ICdkb2NzJywgdGFyZ2V0ID0gJ19zZWxmJywgY2hpbGRyZW4gfTogU3RvcnlMaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgW2xpbmssIHNldExpbmtdID0gUmVhY3QudXNlU3RhdGUoKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlID0gKGw6IGFueSkgPT4ge1xuICAgICAgLy9yZW1vdmUgZXhpc3Rpbmcgdmlld01vZGVcbiAgICAgIGwgPSBsLnJlcGxhY2UoLyZ2aWV3TW9kZT0oZG9jc3xjYW52YXMpLywgJycpXG4gICAgICBsICs9IGAmdmlld01vZGU9JHttb2RlfWBcbiAgICAgIHNldExpbmsobClcbiAgICB9XG4gICAgdm9pZCBocmVmVG8oa2luZCwgbmFtZSkudGhlbigobCkgPT4ge1xuICAgICAgaGFuZGxlKGwpXG4gICAgfSlcbiAgfSwgW2tpbmQsIG1vZGUsIG5hbWVdKVxuXG4gIHJldHVybiBsaW5rID8gKFxuICAgIDxhIGhyZWY9e2xpbmt9IHRhcmdldD17dGFyZ2V0fT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2E+XG4gICkgOiBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBEb3dubG9hZEJ1dHRvbiA9ICh7XG4gIGNoaWxkcmVuLFxuICBocmVmLFxuICBjbGFzc05hbWUsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgaHJlZjogc3RyaW5nXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxhXG4gICAgICBocmVmPXtocmVmfVxuICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgIHJlbD1cIm5vcmVmZXJyZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMi43NXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBERkRTLCBWZXJkYW5hLCBzeXN0ZW0tdWksIEFyaWFsLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiA0cmVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2UsIGNvbG9yIDEyMG1zIGVhc2U7XG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbSAwIDAuNzVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMWVhN2ZkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8c3BhblxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IERGRFMsIFZlcmRhbmEsIHN5c3RlbS11aSwgQXJpYWwsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zMzQ7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxEb3dubG9hZCAvPlxuICAgICAgPC9zcGFuPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvYT5cbiAgKVxufVxuIl19 */"), " position:static;&>div:first-of-type{z-index:2;}}}&>div:nth-of-type(2){border-radius:0;box-shadow:none;}", overflowVisibleInPreview, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:Canvas;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL2NvbXBvbmVudHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtEYyIsImZpbGUiOiIuLi8uLi9zcmMvaGVscGVycy9jb21wb25lbnRzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIENhbnZhcyBhcyBTYkNhbnZhcyxcbiAgTWV0YSBhcyBTYk1ldGEsXG4gIEFyZ3NUYWJsZSBhcyBTYkFyZ3NUYWJsZSxcbiAgRG9jc0NvbnRhaW5lciBhcyBTYkRvY3NDb250YWluZXIsXG4gIFN0b3J5IGFzIFNiU3RvcnksXG4gIERlc2NyaXB0aW9uIGFzIFNiRGVzY3JpcHRpb24sXG4gIFNvdXJjZSBhcyBTYlNvdXJjZSxcbn0gZnJvbSAnQHN0b3J5Ym9vay9hZGRvbi1kb2NzJ1xuXG5pbXBvcnQgeyBocmVmVG8gfSBmcm9tICdAc3Rvcnlib29rL2FkZG9uLWxpbmtzJ1xuaW1wb3J0IHsgY3NzLCBHbG9iYWwgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IEV4dGVybmFsTGluaywgQXJyb3dCYWNrLCBTdGF0dXNXYXJuaW5nLCBEb3dubG9hZCB9IGZyb20gJ0BkZmRzLXVpL2ljb25zL3N5c3RlbSdcblxuY29uc3Qgb3ZlcmZsb3dWaXNpYmxlSW5QcmV2aWV3ID0gY3NzYFxuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgJiA+IGRpdiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuYFxuXG5leHBvcnQgdHlwZSBQcmV2aWV3UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgZ3JheT86IGJvb2xlYW5cbiAgaGVpZ2h0Pzogc3RyaW5nXG4gIHdpZHRoPzogc3RyaW5nXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBtZHhTb3VyY2U/OiBzdHJpbmdcbiAgc291cmNlUGF0aD86IHN0cmluZ1xufVxuXG5mdW5jdGlvbiBjb21wb25lbnRUYWdzKGNvbXBvbmVudDogYW55KSB7XG4gIGlmIChjb21wb25lbnQgJiYgY29tcG9uZW50Py5fX2RvY2dlbkluZm8/LnRhZ3MpIHtcbiAgICByZXR1cm4gY29tcG9uZW50Ll9fZG9jZ2VuSW5mby50YWdzXG4gIH1cbiAgcmV0dXJuIHt9XG59XG5cbmZ1bmN0aW9uIGZpbmREZXByZWNhdGVkVGFnKGNvbXBvbmVudDogYW55KSB7XG4gIGNvbnN0IHRhZ3MgPSBjb21wb25lbnRUYWdzKGNvbXBvbmVudClcbiAgaWYgKCdkZXByZWNhdGVkJyBpbiB0YWdzKSB7XG4gICAgcmV0dXJuIHRhZ3NbJ2RlcHJlY2F0ZWQnXSB8fCB0cnVlXG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGNvbnN0IENhbnZhcyA9ICh7IGdyYXkgPSBmYWxzZSwgaGVpZ2h0LCB3aWR0aCwgLi4ucmVzdCB9OiBQcmV2aWV3UHJvcHMpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U2JDYW52YXNcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBib3JkZXI6IDIwcHggc29saWQgI2VlZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgLyogUHJldmlldyBkaXYgKi9cbiAgICAgICAgJiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBoZWlnaHQ6ICR7aGVpZ2h0ICYmIGhlaWdodH07XG4gICAgICAgICAgJiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7Z3JheSAmJiAnI2ZjZmNmZCd9O1xuICAgICAgICAgICAgJHt3aWR0aCAmJlxuICAgICAgICAgICAgY3NzYFxuICAgICAgICAgICAgICBtYXgtd2lkdGg6ICR7d2lkdGh9O1xuICAgICAgICAgICAgICAvKiBUT0RPOiBGaWd1cmUgb3V0IHdoeSB0aGlzIHdhcyBuZWVkZWQgKi9cbiAgICAgICAgICAgICAgLyogYm94LXNpemluZzogJHt3aWR0aCAmJiAnY29udGVudC1ib3gnfTsgKi9cbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgJiA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgLyogdGhpcyBlbnN1cmVzIHRoYXQgZWxlbWVudHMgaW4gdGhlIHN0b3J5IHdpbGwgYmUgZGlzcGxheSBvbiB0b3Agb2YgdGhlIFwic2hvdyBjb2RlXCIgYnV0dG9uICovXG4gICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8qIFNvdXJjZSBjb2RlIGRpdiAqL1xuICAgICAgICAmID4gZGl2Om50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJHtvdmVyZmxvd1Zpc2libGVJblByZXZpZXd9XG4gICAgICBgfVxuICAgICAgey4uLnJlc3R9XG4gICAgLz5cbiAgKVxufVxuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIENhbnZhcyAqL1xuZXhwb3J0IGNvbnN0IFByZXZpZXcgPSBDYW52YXNcblxuZXhwb3J0IGNvbnN0IFNvdXJjZSA9IChwcm9wczogYW55KSA9PiB7XG4gIHJldHVybiA8U2JTb3VyY2Ugey4uLnByb3BzfSAvPlxufVxuXG5jb25zdCBkb2NCbG9ja092ZXJyaWRlcyA9IGNzc2BcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgLnNiZG9jcy1oMSB7XG4gICAgZm9udC1mYW1pbHk6IERGRFMgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMmI0NSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogNTZweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc2Jkb2NzLWgyIHtcbiAgICBmb250LWZhbWlseTogREZEUyAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAyYjQ1ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zYmRvY3MtaDMge1xuICAgIGZvbnQtZmFtaWx5OiBERkRTICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDJiNDUgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDI0cHggIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNiZG9jcy1oNCB7XG4gICAgZm9udC1mYW1pbHk6IERGRFMgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMmI0NSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZG9jYmxvY2stYXJnc3RhYmxlLWJvZHksXG4gIC5kb2NibG9jay1zb3VyY2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmRvY2Jsb2NrLWFyZ3N0YWJsZSxcbiAgLmRvY2Jsb2NrLXByb3BzdGFibGUge1xuICAgIG1hcmdpbjogMTZweCAwICFpbXBvcnRhbnQ7XG4gICAgdGgge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlZWFmNyAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogI2Y2ZjlmYztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogIzNjM2MzYyAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogNnB4IDEycHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAvKiB0cjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZkICFpbXBvcnRhbnQ7XG4gICAgfSAqL1xuICAgIHRib2R5IHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDE0cHggMTJweCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlZWFmNyAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgLyogYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50OyAqL1xuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWluLXdpZHRoOiAxNjVweDtcbiAgICAgICAgc3BhbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIC8qXG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBtYXJnaW46IDJweCAwOyAqL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgJiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOTMyOTgxOyAvKiMwMDAwY2M7Ki9cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgIHNwYW46Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIFt0aXRsZT0nUmVxdWlyZWQnXSB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBjb250ZW50OiAncmVxdWlyZWQnO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5gXG5cbmNvbnN0IEdsb2JhbFN0b3J5Ym9va1N0eWxlcyA9ICgpID0+IHtcbiAgY29uc3Qgc3R5bGVzID0gY3NzYFxuICAgIGh0bWwsXG4gICAgYm9keSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZkO1xuICAgIH1cbiAgICAke2RvY0Jsb2NrT3ZlcnJpZGVzfVxuICAgIC50YWJidXR0b24ge1xuICAgICAgJiYge1xuICAgICAgICBmb250LWZhbWlseTogJ051bml0byBTYW5zJywgLWFwcGxlLXN5c3RlbSwgJy5TRk5TVGV4dC1SZWd1bGFyJywgJ1NhbiBGcmFuY2lzY28nLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsXG4gICAgICAgICAgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAubWFya2Rvd24tdGFibGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2IwYWZhZjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgdGhlYWQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIH1cblxuICAgICAgdHI6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgICAgfVxuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2IwYWZhZjtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgY29kZSB7XG4gICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAgICAgICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5hcmdzLXRhYmxlLXByb3AtbmFtZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIC5hcmdzLXRhYmxlLWJhZGdlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICAgICAgcGFkZGluZzogMnB4IDRweDtcbiAgICAgIGNvbG9yOiAjNDQ0NDQ0O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW46IDRweCA2cHggNHB4IDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwMDg7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgfVxuXG4gICAgLmFyZ3MtdGFibGUtYmFkZ2UtcmVxdWlyZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZjdlYjtcbiAgICB9XG5cbiAgICAuYXJncy10YWJsZS1iYWRnZS1kZXByZWNhdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWRjZGM7XG4gICAgfVxuICBgXG4gIHJldHVybiA8R2xvYmFsIHN0eWxlcz17c3R5bGVzfSAvPlxufVxuXG5mdW5jdGlvbiBpc0luTGFiU2VjdGlvbih0aXRsZTogc3RyaW5nKSB7XG4gIHJldHVybiB0aXRsZT8udG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCdsYWInKVxufVxuXG5leHBvcnQgY29uc3QgTGFiV2FybmluZ0Jhbm5lciA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmY5OTJjO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8U3RhdHVzV2FybmluZ1xuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICBjb2xvcjogI2ZmOTkyYztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICAgIG1pbi13aWR0aDogMzJweDtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICBgfVxuICAgICAgLz5cbiAgICAgIDxkaXY+XG4gICAgICAgIFRoaXMgY29tcG9uZW50IGJlbG9uZ3MgdG8gdGhlIDxzdHJvbmc+TGFiPC9zdHJvbmc+IHNlY3Rpb24gYW5kIGlzIFwid29yayBpbiBwcm9ncmVzc1wiLiBFeHBlY3QgYnJlYWtpbmcgY2hhbmdlcyBpZlxuICAgICAgICB5b3UgY29uc3VtZSBpdCBpbiB5b3VyIGFwcGxpY2F0aW9uLlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IERlcHJlY2F0ZWRCYW5uZXIgPSAoeyBoZWFkbGluZSwgY2hpbGRyZW4gfTogeyBoZWFkbGluZTogc3RyaW5nOyBjaGlsZHJlbjogUmVhY3ROb2RlIH0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU3MDAwMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgJiBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAuMjVyZW0gMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiBwIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiBhIHtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAgPHNwYW5cbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgYH1cbiAgICAgID5cbiAgICAgICAg8J+ap1xuICAgICAgPC9zcGFuPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGgxPntoZWFkbGluZX08L2gxPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgTWV0YSA9ICh7IHRpdGxlLCAuLi5yZXN0IH06IGFueSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8R2xvYmFsU3Rvcnlib29rU3R5bGVzIC8+XG4gICAgICB7aXNJbkxhYlNlY3Rpb24odGl0bGUpICYmIDxMYWJXYXJuaW5nQmFubmVyIC8+fVxuICAgICAgPFNiTWV0YSB0aXRsZT17dGl0bGV9IHsuLi5yZXN0fSAvPlxuICAgIDwvPlxuICApXG59XG5cbmZ1bmN0aW9uIGlzSW5GcmFtZSgpIHtcbiAgcmV0dXJuIHdpbmRvdyAmJiB3aW5kb3cuc2VsZiAhPT0gd2luZG93LnRvcFxufVxuXG5jb25zdCBTaG93RG9jc0Z1bGxTY3JlZW4gPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGFcbiAgICAgIGhyZWY9XCIjXCJcbiAgICAgIHRpdGxlPVwiU2hvdyBEb2NzIGluIGZ1bGwgc2NyZWVuXCJcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBvcGFjaXR5OiAke2lzSW5GcmFtZSgpID8gMSA6IDB9O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAgPEV4dGVybmFsTGluayAvPlxuICAgIDwvYT5cbiAgKVxufVxuXG5mdW5jdGlvbiBwYXJzZVF1ZXJ5KHF1ZXJ5U3RyaW5nOiBzdHJpbmcpIHtcbiAgY29uc3QgcXVlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fVxuICBjb25zdCBwYWlycyA9IChxdWVyeVN0cmluZy5zdGFydHNXaXRoKCc/JykgPyBxdWVyeVN0cmluZy5zdWJzdHIoMSkgOiBxdWVyeVN0cmluZykuc3BsaXQoJyYnKVxuICBmb3IgKGxldCBpID0gMDsgaSA8IHBhaXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgcGFpciA9IHBhaXJzW2ldLnNwbGl0KCc9JylcbiAgICBxdWVyeVtkZWNvZGVVUklDb21wb25lbnQocGFpclswXSldID0gZGVjb2RlVVJJQ29tcG9uZW50KHBhaXJbMV0gfHwgJycpXG4gIH1cbiAgcmV0dXJuIHF1ZXJ5XG59XG5cbmNvbnN0IEJhY2tUb1N0b3J5Ym9vayA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8YVxuICAgICAgaHJlZj17d2luZG93LmxvY2F0aW9uLm9yaWdpbiArICc/cGF0aD0vZG9jcy8nICsgcGFyc2VRdWVyeSh3aW5kb3cubG9jYXRpb24uc2VhcmNoKVsnaWQnXX1cbiAgICAgIHRpdGxlPVwiQmFjayB0byBTdG9yeWJvb2tcIlxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIGRpc3BsYXk6ICR7aXNJbkZyYW1lKCkgPyAnbm9uZScgOiAnZmxleCd9O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgPlxuICAgICAgPEFycm93QmFjayAvPlxuICAgIDwvYT5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgRG9jc0NvbnRhaW5lciA9ICh7IGNoaWxkcmVuLCAuLi5yZXN0IH06IGFueSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17Y3NzYFxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxTaG93RG9jc0Z1bGxTY3JlZW4gLz5cbiAgICAgICAgPEJhY2tUb1N0b3J5Ym9vayAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8U2JEb2NzQ29udGFpbmVyIHsuLi5yZXN0fT57Y2hpbGRyZW59PC9TYkRvY3NDb250YWluZXI+XG4gICAgPC8+XG4gIClcbn1cblxudHlwZSBDb21wb25lbnRNYXAgPSBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PlxuXG5jb25zdCBhcHBseUFyZ3NUYWJsZURlc2lnbiA9IChjdXI6IHN0cmluZywgbWFwOiBDb21wb25lbnRNYXApID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBkb2NUYWJsZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZG9jYmxvY2stYXJnc3RhYmxlLWJvZHknKVxuICAgIGRvY1RhYmxlcy5mb3JFYWNoKCh0YWJsZSkgPT4ge1xuICAgICAgY29uc3QgcHJvcE5hbWVUZHMgPSB0YWJsZS5xdWVyeVNlbGVjdG9yQWxsKCd0ZDpmaXJzdC1vZi10eXBlJylcbiAgICAgIHByb3BOYW1lVGRzLmZvckVhY2goKHRkKSA9PiB7XG4gICAgICAgIC8vIEhhbmRsZSBwcm9wIG5hbWVcbiAgICAgICAgY29uc3QgbmFtZVNwYW4gPSB0ZC5xdWVyeVNlbGVjdG9yQWxsKCdzcGFuJylbMF1cblxuICAgICAgICBpZiAoIW5hbWVTcGFuKSByZXR1cm4gLy8gYmFpbCAoY2FuIGhhcHBlbiB3aGVuIGRlc2lnbiBhbHJlYWR5IGFwcGxpZWQgKEhNUikpXG4gICAgICAgIGNvbnN0IHByb3BOYW1lID0gbmFtZVNwYW4uaW5uZXJUZXh0XG4gICAgICAgIG5hbWVTcGFuLnJlbW92ZSgpXG4gICAgICAgIHRkLmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJywgJzxkaXYgY2xhc3M9XCJhcmdzLXRhYmxlLXByb3AtbmFtZVwiPicgKyBwcm9wTmFtZSArICc8L2Rpdj4nKVxuXG4gICAgICAgIC8vIEhhbmRsZSAgcmVxdWlyZWQgc3BhblxuICAgICAgICBjb25zdCByZXF1aXJlZFNwYW4gPSB0ZC5xdWVyeVNlbGVjdG9yKCdbdGl0bGU9XCJSZXF1aXJlZFwiXScpXG4gICAgICAgIGNvbnN0IGlzUmVxdWlyZWQgPSAhIXJlcXVpcmVkU3BhblxuICAgICAgICByZXF1aXJlZFNwYW4gJiYgcmVxdWlyZWRTcGFuLnJlbW92ZSgpXG4gICAgICAgIGlzUmVxdWlyZWQgJiZcbiAgICAgICAgICB0ZC5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZWVuZCcsICc8ZGl2IGNsYXNzPVwiYXJncy10YWJsZS1iYWRnZSBhcmdzLXRhYmxlLWJhZGdlLXJlcXVpcmVkXCI+cmVxdWlyZWQ8L2Rpdj4nKVxuXG4gICAgICAgIC8vIEhhbmRsZSBkZXByZWNhdGVkXG4gICAgICAgIGlmIChjdXIgaW4gbWFwKSB7XG4gICAgICAgICAgY29uc3QgZGVwID0gbWFwW2N1cl1cbiAgICAgICAgICBpZiAocHJvcE5hbWUgaW4gZGVwKSB7XG4gICAgICAgICAgICB0ZC5pbnNlcnRBZGphY2VudEhUTUwoXG4gICAgICAgICAgICAgICdiZWZvcmVlbmQnLFxuICAgICAgICAgICAgICAnPGRpdiB0aXRsZT1cIicgKyBkZXBbcHJvcE5hbWVdICsgJ1wiIGNsYXNzPVwiYXJncy10YWJsZS1iYWRnZSBhcmdzLXRhYmxlLWJhZGdlLWRlcHJlY2F0ZWRcIj5kZXByZWNhdGVkPC9kaXY+J1xuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9KVxuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICBjb25zb2xlLmVycm9yKCdDb3VsZCBub3QgYXBwbHkgQXJnc1RhYmxlIHJ1bnRpbWUgZGVzaWduJywgZSlcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQXJnc1RhYmxlID0gKHByb3BzOiBhbnkpID0+IHtcbiAgY29uc3Qgb2ZQcm9wID0gcHJvcHM/Lm9mPy5fX2RvY2dlbkluZm9cbiAgY29uc3QgY29tcG9uZW50c1Byb3AgPSBwcm9wcz8uY29tcG9uZW50c1xuXG4gIGNvbnN0IGluaXRpYWxDb21wb25lbnQgPSBvZlByb3AgPyBvZlByb3AuZGlzcGxheU5hbWUgOiBjb21wb25lbnRzUHJvcCA/IE9iamVjdC5rZXlzKGNvbXBvbmVudHNQcm9wKVswXSA6ICcnXG4gIGNvbnN0IFtjdXJyZW50Q29tcG9uZW50LCBzZXRDdXJyZW50Q29tcG9uZW50XSA9IFJlYWN0LnVzZVN0YXRlPHN0cmluZz4oaW5pdGlhbENvbXBvbmVudClcblxuICBSZWFjdC51c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4gPSB7fVxuXG4gICAgaWYgKG9mUHJvcCkge1xuICAgICAgY29uc3QgYyA9IG9mUHJvcC5kaXNwbGF5TmFtZVxuICAgICAgY29uc3QgY29tcG9uZW50UHJvcHMgPSBvZlByb3AucHJvcHMgfHwge31cbiAgICAgIHJlc3VsdFtjXSA9IHt9XG4gICAgICBmb3IgKGNvbnN0IHByb3Agb2YgT2JqZWN0LmtleXMoY29tcG9uZW50UHJvcHMpKSB7XG4gICAgICAgIGlmIChjb21wb25lbnRQcm9wc1twcm9wXS50YWdzICYmICdkZXByZWNhdGVkJyBpbiBjb21wb25lbnRQcm9wc1twcm9wXS50YWdzKSB7XG4gICAgICAgICAgcmVzdWx0W2NdW3Byb3BdID0gY29tcG9uZW50UHJvcHNbcHJvcF0udGFnc1snZGVwcmVjYXRlZCddXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY29tcG9uZW50c1Byb3ApIHtcbiAgICAgIGZvciAoY29uc3QgbmFtZSBvZiBPYmplY3Qua2V5cyhjb21wb25lbnRzUHJvcCkpIHtcbiAgICAgICAgcmVzdWx0W25hbWVdID0ge31cbiAgICAgICAgY29uc3QgY29tcG9uZW50UHJvcHMgPSBjb21wb25lbnRzUHJvcFtuYW1lXT8uX19kb2NnZW5JbmZvPy5wcm9wcyB8fCB7fVxuICAgICAgICBmb3IgKGNvbnN0IHByb3Agb2YgT2JqZWN0LmtleXMoY29tcG9uZW50UHJvcHMpKSB7XG4gICAgICAgICAgaWYgKGNvbXBvbmVudFByb3BzW3Byb3BdLnRhZ3MgJiYgJ2RlcHJlY2F0ZWQnIGluIGNvbXBvbmVudFByb3BzW3Byb3BdLnRhZ3MpIHtcbiAgICAgICAgICAgIHJlc3VsdFtuYW1lXVtwcm9wXSA9IGNvbXBvbmVudFByb3BzW3Byb3BdLnRhZ3NbJ2RlcHJlY2F0ZWQnXVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBhcHBseUFyZ3NUYWJsZURlc2lnbihjdXJyZW50Q29tcG9uZW50LCByZXN1bHQpXG4gIH0sIFtjb21wb25lbnRzUHJvcCwgY3VycmVudENvbXBvbmVudCwgb2ZQcm9wXSlcblxuICBjb25zdCBoYW5kbGVUYWJCdXR0b25DbGllbnQgPSAoZTogYW55KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChlLnRhcmdldC5jbGFzc05hbWUuaW5jbHVkZXMoJ3RhYmJ1dHRvbicpKSB7XG4gICAgICAgIHNldEN1cnJlbnRDb21wb25lbnQoZS50YXJnZXQuaW5uZXJUZXh0KVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLmVycm9yKCdDb3VsZCBub3QgYXBwbHkgQXJnc1RhYmxlIHJ1bnRpbWUgZGVzaWduIHdoaWxlIGNsaWNraW5nIG9uIHRhYmJ1dHRvbicsIGUpXG4gICAgfVxuICB9XG5cbiAgUmVhY3QudXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZVRhYkJ1dHRvbkNsaWVudClcbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVUYWJCdXR0b25DbGllbnQpXG4gIH0sIFtdKVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWxTdG9yeWJvb2tTdHlsZXMgLz5cbiAgICAgIDxkaXZcbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxTYkFyZ3NUYWJsZSB7Li4ucHJvcHN9IC8+XG4gICAgICA8L2Rpdj5cbiAgICA8Lz5cbiAgKVxufVxuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIEFyZ3NUYWJsZSAqL1xuZXhwb3J0IGNvbnN0IFByb3BzID0gQXJnc1RhYmxlXG5cbmV4cG9ydCBjb25zdCBTdG9yeSA9IChwcm9wczogYW55KSA9PiB7XG4gIHJldHVybiA8U2JTdG9yeSB7Li4ucHJvcHN9IC8+XG59XG5cbmV4cG9ydCBjb25zdCBEZXNjcmlwdGlvbiA9IChwcm9wczogYW55KSA9PiB7XG4gIGNvbnN0IGRlcFRhZyA9IHByb3BzLm9mID8gZmluZERlcHJlY2F0ZWRUYWcocHJvcHMub2YpIDogbnVsbFxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7ZGVwVGFnICYmIDxkaXYgY2xhc3NOYW1lPVwiYXJncy10YWJsZS1iYWRnZSBhcmdzLXRhYmxlLWJhZGdlLWRlcHJlY2F0ZWRcIj5ERVBSRUNBVEVEPC9kaXY+fVxuICAgICAgPFNiRGVzY3JpcHRpb24gey4uLnByb3BzfSAvPlxuICAgIDwvPlxuICApXG59XG5cbnR5cGUgU3RvcnlMaW5rUHJvcHMgPSB7XG4gIGtpbmQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgbW9kZT86ICdkb2NzJyB8ICdjYW52YXMnXG4gIHRhcmdldD86ICdfc2VsZicgfCAnX2JsYW5rJ1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG5leHBvcnQgY29uc3QgU3RvcnlMaW5rID0gKHsga2luZCwgbmFtZSwgbW9kZSA9ICdkb2NzJywgdGFyZ2V0ID0gJ19zZWxmJywgY2hpbGRyZW4gfTogU3RvcnlMaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgW2xpbmssIHNldExpbmtdID0gUmVhY3QudXNlU3RhdGUoKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlID0gKGw6IGFueSkgPT4ge1xuICAgICAgLy9yZW1vdmUgZXhpc3Rpbmcgdmlld01vZGVcbiAgICAgIGwgPSBsLnJlcGxhY2UoLyZ2aWV3TW9kZT0oZG9jc3xjYW52YXMpLywgJycpXG4gICAgICBsICs9IGAmdmlld01vZGU9JHttb2RlfWBcbiAgICAgIHNldExpbmsobClcbiAgICB9XG4gICAgdm9pZCBocmVmVG8oa2luZCwgbmFtZSkudGhlbigobCkgPT4ge1xuICAgICAgaGFuZGxlKGwpXG4gICAgfSlcbiAgfSwgW2tpbmQsIG1vZGUsIG5hbWVdKVxuXG4gIHJldHVybiBsaW5rID8gKFxuICAgIDxhIGhyZWY9e2xpbmt9IHRhcmdldD17dGFyZ2V0fT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2E+XG4gICkgOiBudWxsXG59XG5cbmV4cG9ydCBjb25zdCBEb3dubG9hZEJ1dHRvbiA9ICh7XG4gIGNoaWxkcmVuLFxuICBocmVmLFxuICBjbGFzc05hbWUsXG59OiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbiAgaHJlZjogc3RyaW5nXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxhXG4gICAgICBocmVmPXtocmVmfVxuICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgIHJlbD1cIm5vcmVmZXJyZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMi43NXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBERkRTLCBWZXJkYW5hLCBzeXN0ZW0tdWksIEFyaWFsLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiA0cmVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2UsIGNvbG9yIDEyMG1zIGVhc2U7XG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbSAwIDAuNzVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMWVhN2ZkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8c3BhblxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IERGRFMsIFZlcmRhbmEsIHN5c3RlbS11aSwgQXJpYWwsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zMzQ7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxEb3dubG9hZCAvPlxuICAgICAgPC9zcGFuPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvYT5cbiAgKVxufVxuIl19 */")
70
70
  }, rest));
71
71
  };
72
72
  /** @deprecated use Canvas */
@@ -1,14 +1,14 @@
1
1
  var _excluded = ["children"];
2
2
 
3
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
4
 
5
5
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
6
6
 
7
7
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
8
8
 
9
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
9
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
10
10
 
11
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
11
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12
12
 
13
13
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
14
 
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Components and utils for use with Storybook within DFDS",
4
4
  "license": "MIT",
5
5
  "private": false,
6
- "version": "1.1.11",
6
+ "version": "1.1.12",
7
7
  "sideEffects": false,
8
8
  "main": "./cjs/index.js",
9
9
  "module": "./index.js",
@@ -14,11 +14,11 @@
14
14
  "@emotion/styled": "^11.0.0"
15
15
  },
16
16
  "dependencies": {
17
- "@dfds-ui/icons": "1.1.11",
17
+ "@dfds-ui/icons": "1.1.12",
18
18
  "react-markdown": "^4.0.6",
19
19
  "react-markdown-github-renderers": "^1.0.3"
20
20
  },
21
- "gitHead": "0207e89a623e35d48eb9f7c8db9bfb5794bfd9ef",
21
+ "gitHead": "a72caa70aea83464fdfed72ad834a3ae6b58026f",
22
22
  "publishConfig": {
23
23
  "access": "public"
24
24
  }